cros_test_platform

command
v0.0.0-...-e560ebb Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 13, 2021 License: BSD-3-Clause Imports: 9 Imported by: 0

README

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

Documentation

Overview

Command cros_test_platform implements the cros_test_platform recipe's steps.

Directories

Path Synopsis
internal
autotest/artifacts
Package artifacts contains utility functions to download and unarchive Autotest build artifacts.
Package artifacts contains utility functions to download and unarchive Autotest build artifacts.
autotest/testspec
Package testspec contains functions to compute Build API test specification from Autotest control files.
Package testspec contains functions to compute Build API test specification from Autotest control files.
cmd
enumeration
Package enumeration contains functions to enumerate tests and associated metadata matching test plan requirements.
Package enumeration contains functions to enumerate tests and associated metadata matching test plan requirements.
execution
Package execution provides end-to-end execution of pre-enumerated cros_test_platform requests via the Skylab task running infrastructure.
Package execution provides end-to-end execution of pre-enumerated cros_test_platform requests via the Skylab task running infrastructure.
execution/args
Package args contains the logic for assembling all data required for creating an individual task request.
Package args contains the logic for assembling all data required for creating an individual task request.
execution/build
Package build provides a way to update the buildbucket Build proto during execution.
Package build provides a way to update the buildbucket Build proto during execution.
execution/response
Package response provides a way to accumulate and summarize the response for a request.
Package response provides a way to accumulate and summarize the response for a request.
execution/retry
Package retry provides a way to determine when a task should be retried.
Package retry provides a way to determine when a task should be retried.
execution/testrunner
Package testrunner exposes a way to interact with test_runner builds.
Package testrunner exposes a way to interact with test_runner builds.
execution/testrunner/service
Package service implements a skylab.Client using calls to BuildBucket.
Package service implements a skylab.Client using calls to BuildBucket.
execution/types
Package types contains types common to execution sub-packages.
Package types contains types common to execution sub-packages.
site
Package site contains functions and constants related to execution of this tool in specific environments (e.g., developer workstation vs buildbucket build)
Package site contains functions and constants related to execution of this tool in specific environments (e.g., developer workstation vs buildbucket build)
testutils
Package testutils contains utility functions for unit and integration tests.
Package testutils contains utility functions for unit and integration tests.
Command luciexe implements the cros_test_platform build logic.
Command luciexe implements the cros_test_platform build logic.
common
Package common houses common logic for all "steps" in this luciexe.
Package common houses common logic for all "steps" in this luciexe.
execute
Package execute houses the top-level logic for the execute step.
Package execute houses the top-level logic for the execute step.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL