Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/exercism/rust-test-runner
https://github.com/exercism/rust-test-runner
community-contributions-paused exercism-test-runner exercism-tooling
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/exercism/rust-test-runner
- Owner: exercism
- License: agpl-3.0
- Created: 2019-08-28T16:32:08.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2024-05-21T15:50:53.000Z (7 months ago)
- Last Synced: 2024-05-22T19:00:29.595Z (7 months ago)
- Topics: community-contributions-paused, exercism-test-runner, exercism-tooling
- Language: Rust
- Homepage:
- Size: 268 KB
- Stars: 3
- Watchers: 5
- Forks: 15
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Rust Test Runner
Run unit tests for the Rust track of Exercism.
See:
- [`docker.md`](https://exercism.org/docs/building/tooling/test-runners/docker)
- [`interface.md`](https://exercism.org/docs/building/tooling/test-runners/interface)## General Architecture
- The test runner itself is a simple shell script: `run.sh`
- The rust project in this repo is a filter which transforms Cargo's native testing output to the format expected by Exercism
- The dockerfile contains a multi-stage build: the first stage builds the test script, and the second stage uses it to run the student's solution and test suite and transform the output appropriately## Run the test runner on an exercise using Docker
_This script is provided for testing purposes, as it mimics how test runners run in Exercism's production environment._
To run the tests of an arbitrary exercise using the Docker image, do the following:
1. Open a terminal in the project's root
2. Run `./bin/run-in-docker.sh `Once the test runner has finished, its results will be written to `/results.json`.
## Run the tests
To run the tests to verify the behavior of the test runner, do the following:
1. Open a terminal in the project's root
2. Run `./bin/run-tests.sh`These are [golden tests][golden] that compare the `results.json` generated by running the current state of the code against the "known good" `tests//results.json`. All files created during the test run itself are discarded.
When you've made modifications to the code that will result in a new "golden" state, you'll need to generate and commit a new `tests//results.json` file.
## Run the tests using Docker
_This script is provided for testing purposes, as it mimics how test runners run in Exercism's production environment._
To run the tests to verify the behavior of the test runner using the Docker image, do the following:
1. Open a terminal in the project's root
2. Run `./bin/run-tests-in-docker.sh`These are [golden tests][golden] that compare the `results.json` generated by running the current state of the code against the "known good" `tests//results.json`. All files created during the test run itself are discarded.
When you've made modifications to the code that will result in a new "golden" state, you'll need to generate and commit a new `tests//results.json` file.
[test-runners]: https://github.com/exercism/docs/tree/main/building/tooling/test-runners
[golden]: https://ro-che.info/articles/2017-12-04-golden-tests
[exercism]: https://exercism.io