# PR Workflow

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](https://bors.tech/documentation/).

# PR Workflow

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](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
```

Add section about tests to contribution guidelines
Add section about tests to contribution guidelines
