tree: 8134d3c542c514097c3171104d12215484998ebf [path history] [tgz]
  1. .gitignore
  2. OWNERS
  3. README.md
  4. internal/
  5. luciexe/
  6. main.go
go/src/infra/cmd/cros_test_platform/README.md

ChromeOS Test Platform recipe step implementations.

This binary's subcommands implement the various phases of the the cros_test_platform recipe, which handles cros_test_platform requests.

A cros_test_platform execution runs through these steps and subcommands, in this order:

scheduler-traffic-split

Inspect the parameters of the request, and the current traffic split configuration, to determine which scheduling backend (autotest or skylab) this request should be routed to. Also, do any necessary request munging (such as remapping of capacity pools or accounts) such that clients can be insulated from backend migrations.

enumerate

Inspect the request's test plan, and the test artifacts that were created for the build-under-test, to determine which tests to run, with what arguments.

autotest-execute or skylab-execute

Execute the enumerated tests, in the correct backend; wait for them to complete, and collect and summarize their results.

How to run unittests

Make sure you run set up the environment properly first by running eval step in the setup guide first. Note that the eval command setup temporary environment for the shell, so it need to be run every time a new terminal spawned.

After that, invoke go test from the go/src/infra folder, e.g: $ go test infra/cmd/cros_test_platform/internal/execution