Add section about tests to contribution guidelines
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index bbad037..aa9d1fb 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md
@@ -6,3 +6,45 @@ to merge your own PR (usually this will happen if there are some trivial changes required). For a full list of bors commands, [see the bors documentation](https://bors.tech/documentation/). + +# Tests + +Our aim is to provide a number of tests to be safe from regression. Currently, +the unit tests and the linting is automated, however, the integration tests +have to be run manually. + +## Compilation + +`libtock-rs` currently has two compilation targets: `riscv32imac-unknown-none-elf` +and `thumbv7em-none-eabi`. You can build the library and the examples +using the script `build_examples.sh`. + +## Unit Testing and Linting + +There a a number of tests which run in our travis-ci environment. You can run them +using `cargo test --workspace`. + +## Integration tests + +If you have a `nRF52-dk` you can run the integration tests as follows. +The pins P0.03 and P0.04 need to be connected (on a nRF52-DK). Then do the following: + +- connect your device to your computer +- open a console, e.g. `tockloader listen` +- run the tests `./run_hardware_test.sh + +The desired test output is: + +The expected output on the UART console will be as follows. + +``` +[test-results] +heap_test = "Heap works." +formatting = works +should_be_one = 1 +gpio_works = true +trait_obj_value_usize = 1 +trait_obj_value_string = string +callbacks_work = true +all_tests_run = true +```