run: Introduce an environment variable to use the new driver

Switching the test driver is a very risky move since it changes the
code path within Tast CLI drastically. This patch introduces an
environment variable TAST_EXP_NEW_DRIVER which selects a driver to
use. This way, we can let users revert back to the old driver if we
encounter any fatal bugs.

BUG=b:187793617 -T

Change-Id: I1e146db25e38b68c62391ba656d4c98acee0c27e
Tested-by: Shuhei Takahashi <>
Commit-Queue: Shuhei Takahashi <>
Reviewed-by: Keigo Oka <>
1 file changed
tree: a46ab5d7234592652282eb67d880902fbcce9032
  1. .gitignore
  4. PRESUBMIT.cfg
  7. docs/
  10. proto/
  11. src/
  12. tools/
  13. unblocked_terms.txt

Tast (go/tast)

Tast logo with Go gopher with green rubber PASS stamp

Tast is an integration-testing system for Chrome OS. Its focus is on maintainability, speed, and ease of interpreting and reproducing test results. It supports building, deploying, and running tests. It doesn't implement other functionality like managing labs of devices used for testing, scheduling tests, or storing test results.

For more information, see the list of documentation.

Directory structure

This repository is organized in accordance with the Go in Chromium OS suggestions.

  • src/chromiumos/
    • cmd/local_test_runner/ - main package for the local_test_runner executable used to execute local test bundles on-device.
    • cmd/remote_test_runner/ - main package for the remote_test_runner executable used to execute remote test bundles on the host system.
    • cmd/tast/ - main package for the tast executable used to build and run tests.
      • ... - Packages used only by the tast executable.
    • tast/... - Common packages shared by multiple executables.

Tests are located in the tast-tests repository.

Notes about the logo

The Go gopher concept and design was originally created by Renee French and is covered by the Creative Commons Attribution 3.0 license. The Tast logo above is also covered by the Creative Commons Attribution 3.0 license.