We use the bors-ng bot to merge PRs. In short, when someone replies bors r+, your PR has been scheduled for final tests and will be automatically merged. If 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.
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.
libtock-rs currently has the following compilation targets
riscv32imac-unknown-none-elfriscv32imc-unknown-none-elfthumbv7em-none-eabiYou can trigger a test build of the library and the examples using make test.
There a a number of tests which run in our travis-ci environment. You can run them using make test.
If you have an nRF52 DK you can run the integration tests as follows. The pins P0.03 and P0.04 need to be connected (on an nRF52 DK). Then do the following:
tockloader listenmake flash-nrf52 EXAMPLE=libtock_test FEATURES=allocThe expected output on the UART console will be as follows.
[ OK ] Console [ OK ] static mut [ OK ] Dynamic dispatch [ OK ] Formatting [ OK ] Heap [ OK ] Drivers only instantiable once [ OK ] Callbacks [ OK ] GPIO initialization [ OK ] GPIO activation [ OK ] GPIO read/write [ OK ] Test suite finished with state SUCCESS