tast: Enforce timeouts when reading control messages.

Make the tast executable enforce timeouts when reading
control messages sent by the local_tests (or remote_tests,
although it runs on the same machine) executable.

By default, a one-minute timeout is used, but this is
lengthened based on per-test timeouts while tests are
running.

BUG=chromium:778389
TEST=added unit tests; also pulled the plug on a device
     mid-test and checked that the tast command timed out
     after two minutes

Change-Id: Ia60c06d408692e3d5f9bfabec7059002d581fdfd
Reviewed-on: https://chromium-review.googlesource.com/757163
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Jason Clinton <jclinton@chromium.org>
3 files changed
tree: be6afb856b4ba79b829fef11593b77973946bb76
  1. docs/
  2. src/
  3. README.md
README.md

Tast

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/tast/
    • cmd/ - main package for the tast executable used to build and run tests.
      • ... - Packages used only by the tast executable.
    • common/ - Packages shared between some combination of tast/ and local/ and remote/ from the tast-tests repository.

Tests are located in the tast-tests repository.

Documentation

For more details, see the docs subdirectory.

Package documentation is available at godoc.org.