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-elf
riscv32imc-unknown-none-elf
thumbv7em-none-eabi
You 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 listen
make flash-nrf52 EXAMPLE=libtock_test FEATURES=alloc
The 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