blob: 88d122faccb876eebca2d8ad124d23f7f7ccf5ea [file] [view]
# ELF Test Runner
Reviewed on: 2020-12-21
ELF Test Runner is a [test runner][test-runner] that launches an ELF binary as
a component, waits for it to exit, and translates its process return code as
test status (passed for zero, failed for non-zero).
This test runner is useful for tests that don't rely on a particular test
framework, or for tests that rely on an unsupported framework. Because the
contract with the test is very simple, this test runner is very flexible and
can be used in many circumstances, but it offers the bare minimum features.
For instance tests that use this runner can't enumerate test cases, instead
they only have one synthetic test case named "main".
## Building
```bash
fx set core.x64 --with //src/sys/test_runners/elf
fx build
```
## Arguments
Test authors can specify command line arguments to their tests in their
component manifest file. These will be passed to the test when it is run.
## Testing
Run:
```bash
fx run-test elf_runner_tests
```
## Source layout
The entrypoint is located in `src/main.rs`, the FIDL service implementation and
all the test logic exists in `src/test_server.rs`. Unit tests are co-located
with the implementation.
[test-runner]: ../README.md