File: CONTRIBUTING.md

package info (click to toggle)
libspng 0.7.4-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,532 kB
  • sloc: ansic: 7,896; sh: 39; makefile: 22; cpp: 14
file content (55 lines) | stat: -rw-r--r-- 1,126 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# Contributing

If you intend to make major changes you should let others know by creating a
[new issue](https://github.com/randy408/libspng/issues).

# Fork

Fork this project on GitHub and clone your repository.

```
git clone https://github.com/username/libspng.git
cd libspng
git remote add upstream https://github.com/randy408/libspng.git
```

Create a debug build

```
meson -Ddev_build=true --buildtype=debug build
cd build
```

Enable ASan/UBSan

```
meson configure -Db_sanitize=address,undefined
```

# Code

* Coding style should be consistent with the existing style.

* Use C99 standard code.

* Code must be free of undefined behavior

* Code must conform to the rules of the [CERT C Coding Standard](https://wiki.sei.cmu.edu/confluence/display/c/SEI+CERT+C+Coding+Standard).


# Test

Start with running Clang Static Analyzer

`ninja scan-build`

Run the testuite

`ninja test`

All tests should pass, some runtime errors reported by ASan/UBSan do not fail
a test but are considered bugs, check build/meson-logs/testlog.txt for any errors.

# Push

Create a merge request once you've pushed your local commits.