tree: 40b9459c095d2308e139229319eef7a4c04838f4 [path history] [tgz]
  1. meta/
  2. src/
  3. test_data/
  4. tests/
  5. BUILD.gn
  6. default.shard.cml
  7. README.md
src/sys/test_runners/gotests/README.md

Golang Test Runner

Reviewed on: 2020-08-11

Golang test runner is a test runner that launches a golang test binary as a component, parses its output, and translates it to the fuchsia.test.Suite protocol on behalf of the test.

Building

fx set core.x64 --with //src/sys/test_runners/gotests
fx build

Examples

Examples to demonstrate how to write v2 test:

To run this example:

fx test go-test-runner-example

Concurrency

Test cases are executed concurrently (max 10 test cases at a time by default). Instruction to override.

Arguments

See passing arguments to learn more.

Limitations

Test Enumeration

Only top level tests can be enumerated. Golang doesn't give us a way to enumerate sub-tests.

Disabled Tests

There is no way in golang to enumerate or force-run disabled tests, so all the tests will be marked as enabled when enumerated.

Testing

Run:

fx test go-test-runner-unit-test
fx test go_runner_integration_test

Source layout

The entry-point 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.