Created by request from:

Clone this repo:
  1. 5c30194 tast: Remove DisableValidationForTesting. by Shuhei Takahashi · 9 hours ago master
  2. 33a1e7c tast: Check data files are declared. by Shuhei Takahashi · 9 hours ago
  3. 68154b5 tast: Add testing.Meta. by Daniel Erat · 2 days ago
  4. e2feb63 tast: Update testing.NewState to take Test arg. by Daniel Erat · 3 days ago
  5. 082c75e tast: Rename "local" data to "internal" in by Daniel Erat · 4 days ago


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.

To try it out, see the quickstart document. The overview is a good starting point for learning more about how the system is structured.

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.


For more details, see the docs subdirectory.