commit | c11c6d7b577938818813d9b509e8a06f6ee96f29 | [log] [tgz] |
---|---|---|
author | Daniel Erat <derat@chromium.org> | Wed Sep 13 01:00:21 2017 |
committer | chrome-bot <chrome-bot@chromium.org> | Fri Sep 15 05:25:01 2017 |
tree | 33ae402739a2938568837774c5ac6b114ef82078 | |
parent | 9ee669d95d3cd27ea0ee2b5bea7c00c481cb241e [diff] |
tast: Check dependencies before building tests. When run with -build (currently the default), "tast run ..." rebuilds the test executable. To do this, it relies on the executable's dependencies' source code having already been checked out as a side effect of the dependencies having previously been built by Portage. (/usr/lib/gopath is used by default, although this change adds a -sysgopath flag that can be used to specify a different workspace.) This change makes tast use Portage's equery command to check that the test package's dependencies are installed before performing the build. If they aren't, a command that can be used to install them is printed. Checking dependencies can take close to a second; -checkdeps=false can be passed to skip the check. BUG=chromium:737628 TEST=unit tests pass; also manually verified that for both local and remote tests, an error is printed if dependencies are missing and that the check is skipped when -checkdeps=false is passed Change-Id: I532821307e638f27b7dfe013e840b371c63b7547 Reviewed-on: https://chromium-review.googlesource.com/664379 Commit-Ready: Dan Erat <derat@chromium.org> Tested-by: Dan Erat <derat@chromium.org> Reviewed-by: Jason Clinton <jclinton@chromium.org>
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.
The overview is a good starting point.
This repository is organized in accordance with the Go in Chromium OS suggestions.
src/chromiumos/tast/
common/
- Packages shared between two or more of local/
, remote/
, and tast/
.local/
- main
package for the local_tests
executable containing “local” tests, i.e. ones that run on-device.tests/
- Local tests, packaged by category....
- Packages used only by local tests.remote/
- main
package for the remote_tests
executable containing “remote” tests, i.e. ones that run off-device.tests/
- Remote tests, packaged by category....
- Packages used only by remote tests.tast/
- main
package for the tast
executable used to build and run tests....
- Packages used only by the tast
executable.For more details, see the docs subdirectory.