|
1 |
| -Contributing |
2 |
| -== |
| 1 | +# Contributing |
| 2 | + |
3 | 3 | Glad to see you're interested in contributing to Reko. Being a small team, all help is appreciated.
|
4 | 4 |
|
5 |
| -What can you do? |
6 |
| --- |
7 |
| -* If you have an exciting idea for a feature, a question about how Reko works, or have found a bug in Reko, |
| 5 | +## What can you do? |
| 6 | + |
| 7 | +* If you have an exciting idea for a feature, a question about how Reko works, or have found a bug in Reko, |
8 | 8 | please open an [issue](http://github.com/uxmal/reko/issues) so we know about it.
|
9 | 9 | * If you feel an urge to code, submit a pull request. Please make an effort to provide one or more unit tests
|
10 | 10 | along with your code.
|
11 | 11 |
|
12 |
| -Unit tests |
13 |
| --- |
14 |
| -When contributing code we request that you submit one or more unit tests that exercise |
| 12 | +## Unit tests |
| 13 | + |
| 14 | +When contributing code we request that you submit one or more unit tests that exercise |
15 | 15 | the code you added or modified. Because of the size and complexity of the Reko project, it is critical that
|
16 |
| -we manage changes with proper tests to ensure that no existing code is being broken. |
| 16 | +we manage changes with proper tests to ensure that no existing code is being broken. |
17 | 17 |
|
18 | 18 | We use [NUnit 2.6](http://www.nunit.org/) as our test framework.
|
19 | 19 |
|
20 | 20 | To make the unit tests suite run as fast as possible (at the time of writing, there are 3462 unit tests)
|
21 | 21 | they should avoid reading or writing large amounts of data from disk. A unit test should be as "quiet"
|
22 |
| -as possible. Avoid output to stdout/stderr, and avoid using `Debug.Write` and friends **if the |
| 22 | +as possible. Avoid output to stdout/stderr, and avoid using `Debug.Write` and friends **if the |
23 | 23 | unit test passes**. If the unit test **fails**, diagnostic output to stdout or using `Debug.Write` is
|
24 | 24 | encourage to aid in diagnosis.
|
25 | 25 |
|
26 |
| -Submitting a pull request (PR) |
27 |
| --- |
28 |
| -Once the unit tests pass, there is a final step: run all the regression tests on the test subjects. |
29 |
| -The test subjects are executable files, located in the `./subjects` folder of the Reko project tree. |
| 26 | +## Submitting a pull request (PR) |
| 27 | + |
| 28 | +Once the unit tests pass, there is a final step: run all the regression tests on the test subjects. |
| 29 | +The test subjects are executable files, located in the `./subjects` folder of the Reko project tree. |
30 | 30 | Run the Python script `./subjects/regressionTests.py` to exercise all the test programs. The script will
|
31 | 31 | run the command-line version of Reko on the subjects, which generates output files for each subject.
|
32 | 32 |
|
33 |
| -If your code changes resulted in the outputs also changing, you will need to review them to make sure that |
| 33 | +If your code changes resulted in the outputs also changing, you will need to review them to make sure that |
34 | 34 | all differences make sense, and that no regressions have occurred.
|
35 | 35 |
|
36 | 36 | Once you've reviewed any changes in the `./subjects` tree and have committed any differences, you can
|
37 |
| -submit the PR. |
38 |
| - |
39 |
| - |
| 37 | +submit the PR. |
0 commit comments