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:
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.
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.
Execute the enumerated tests, in the correct backend; wait for them to complete, and collect and summarize their results.
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