Bumps [log](https://github.com/rust-lang/log) from 0.4.14 to 0.4.17. - [Release notes](https://github.com/rust-lang/log/releases) - [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/log/compare/0.4.14...0.4.17) --- updated-dependencies: - dependency-name: log dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> |
||
|---|---|---|
| .. | ||
| src | ||
| tests | ||
| .gitignore | ||
| build.rs | ||
| Cargo.toml | ||
| README.md | ||
Integration Tests for Taskchampion
"Regular" Tests
Some of the tests in tests/ are just regular integration tests.
Nothing exciting to see.
Bindings Tests
The bindings tests are a bit more interesting, since they are written in C.
They are composed of a collection of "suites", each in one C file in integration-tests/src/bindings_tests/.
Each suite contains a number of tests (using Unity) and an exported function named after the suite that returns an exit status (1 = failure).
The build script (integration-tests/build.rs) builds these files into a library that is linked with the integration_tests library crate.
This crate contains a bindings_tests module with a pub function for each suite.
Finally, the integration-tests/tests/bindings.rs test file calls each of those functions in a separate test case.
Adding Tests
To add a test, select a suite and add a new test-case function.
Add a RUN_TEST invocation for your new function to the .._tests function at the bottom.
Keep the RUN_TESTs in the same order as the functions they call.
Adding Suites
To add a suite,
- Add a new C file in
integration-tests/src/bindings_tests/, based off of one of the others. - Add a the suite name to
suitesinintegration-tests/build.rs.