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 the script build_examples.sh.
There a a number of tests which run in our travis-ci environment. You can run them using cargo test --workspace.
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 listenPLATFORM=nrf52 cargo rtv7em 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