message: Add section about tests to contribution guidelines
diff: @@ -6,3 +6,45 @@ a maintainer replies `bors delegate+`, then you have been granted the authority
  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
  +```
  