New issue
Advanced search Search tips

Issue 784944 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Feature

Blocked on:
issue 791878
issue 796837

Blocking:
issue 793124



Sign in to add a comment

tast: Support test bundles instead of single monolithic test executables

Project Member Reported by derat@chromium.org, Nov 14 2017

Issue description

All of tast's local tests currently get compiled into a single local_tests executable, with remote tests going into a single remote_tests executable.

We could have tests that are only relevant for a specific Chrome-OS-derived project, or that exercise not-yet-public features, and we might want them to live somewhere outside the public tast-tests repository and not get built into the tast-local-tests or tast-remote-tests packages.

I wrote a doc exploring this at http://doc/1yDKFq9ec7myS3X1CkWxqLDB5h564DhC6SohG7ClH0Fc/edit#heading=h.8g692re4e6re.

I'm using  issue 793124  to track the related-but-distinct task of running both local and remote tests in a single run.
 

Comment 1 by derat@chromium.org, Dec 5 2017

Blockedon: 791878

Comment 2 by derat@chromium.org, Dec 7 2017

Blocking: 793124

Comment 3 by derat@chromium.org, Dec 7 2017

Status: Started (was: Assigned)
Summary: tast: Support test bundles instead of single monolithic test executables (was: tast: Support running tests from multiple test executables)

Comment 4 by derat@chromium.org, Dec 7 2017

Description: Show this description

Comment 5 by derat@chromium.org, Dec 21 2017

Blockedon: 796837
Project Member

Comment 6 by bugdroid1@chromium.org, Dec 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast-tests/+/5e290cfb7c01f28cf88cceb66bee61c41ee664ce

commit 5e290cfb7c01f28cf88cceb66bee61c41ee664ce
Author: Daniel Erat <derat@chromium.org>
Date: Mon Dec 25 15:57:03 2017

tast-tests: Make test executables use "oldrunner" package.

Update the local_tests and remote_tests packages to support
the "runner" package being renamed to "oldrunner".

BUG= chromium:784944 
TEST=unit tests pass, packages build, tests run
CQ-DEPEND=Id7d29492b36ad435bc6ff4c001bd792e7b46863b

Change-Id: I9709227782f466098e5fc2e16e8cfdfcdb9e51a8
Reviewed-on: https://chromium-review.googlesource.com/843448
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Jason Clinton <jclinton@chromium.org>

[modify] https://crrev.com/5e290cfb7c01f28cf88cceb66bee61c41ee664ce/src/chromiumos/cmd/remote_tests/main.go
[modify] https://crrev.com/5e290cfb7c01f28cf88cceb66bee61c41ee664ce/src/chromiumos/cmd/local_tests/main.go

Project Member

Comment 7 by bugdroid1@chromium.org, Dec 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast-tests/+/5929973b70fc2a1b0efd6cd742b1fbf44cabe47b

commit 5929973b70fc2a1b0efd6cd742b1fbf44cabe47b
Author: Daniel Erat <derat@chromium.org>
Date: Mon Dec 25 15:57:04 2017

tast-tests: Remove local/crash, local/logs, and remote/dut.

I'm moving these to the main tast repository, as they need
to be packaged in the tast-common package so they can be
used by the (upcoming) local_test_runner and
remote_test_runner executables.

BUG= chromium:784944 
TEST=code builds and unit tests pass
CQ-DEPEND=I0e35d2bc60018ac9e7be80a082337d8ab37c04ee

Change-Id: If12a409fb7c48982125fab8bcd70e81cd2dae420

[delete] https://crrev.com/5e290cfb7c01f28cf88cceb66bee61c41ee664ce/src/chromiumos/tast/local/logs/logs_test.go
[delete] https://crrev.com/5e290cfb7c01f28cf88cceb66bee61c41ee664ce/src/chromiumos/tast/local/crash/crash.go
[modify] https://crrev.com/5929973b70fc2a1b0efd6cd742b1fbf44cabe47b/src/chromiumos/cmd/remote_tests/main.go
[delete] https://crrev.com/5e290cfb7c01f28cf88cceb66bee61c41ee664ce/src/chromiumos/tast/remote/dut/dut.go
[modify] https://crrev.com/5929973b70fc2a1b0efd6cd742b1fbf44cabe47b/src/chromiumos/tast/local/chrome/chrome.go
[modify] https://crrev.com/5929973b70fc2a1b0efd6cd742b1fbf44cabe47b/src/chromiumos/tast/local/tests/ui/chromecrash/crash.go
[delete] https://crrev.com/5e290cfb7c01f28cf88cceb66bee61c41ee664ce/src/chromiumos/tast/local/crash/crash_test.go
[modify] https://crrev.com/5929973b70fc2a1b0efd6cd742b1fbf44cabe47b/src/chromiumos/tast/remote/tests/power/reboot.go
[modify] https://crrev.com/5929973b70fc2a1b0efd6cd742b1fbf44cabe47b/src/chromiumos/tast/local/tests/ui/chrome_crash_logged_in.go
[delete] https://crrev.com/5e290cfb7c01f28cf88cceb66bee61c41ee664ce/src/chromiumos/tast/local/logs/logs.go
[modify] https://crrev.com/5929973b70fc2a1b0efd6cd742b1fbf44cabe47b/src/chromiumos/cmd/local_tests/main.go

Project Member

Comment 8 by bugdroid1@chromium.org, Dec 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast/+/231fd6fbfd19843f9fb7d8e094cb6d8b3369ca5f

commit 231fd6fbfd19843f9fb7d8e094cb6d8b3369ca5f
Author: Daniel Erat <derat@chromium.org>
Date: Mon Dec 25 15:57:03 2017

tast: Rename "runner" package to "oldrunner".

The "runner" package is used by test executables. Rename it
to "oldrunner" so that separate "runner" and "bundle"
packages can be introduced with common code for test runners
and test bundles, respectively.

BUG= chromium:784944 
TEST=unit tests pass, packages build, tests run
CQ-DEPEND=I9709227782f466098e5fc2e16e8cfdfcdb9e51a8

Change-Id: Id7d29492b36ad435bc6ff4c001bd792e7b46863b
Reviewed-on: https://chromium-review.googlesource.com/843449
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Jason Clinton <jclinton@chromium.org>

[rename] https://crrev.com/231fd6fbfd19843f9fb7d8e094cb6d8b3369ca5f/src/chromiumos/tast/oldrunner/runner.go
[rename] https://crrev.com/231fd6fbfd19843f9fb7d8e094cb6d8b3369ca5f/src/chromiumos/tast/oldrunner/runner_test.go

Project Member

Comment 9 by bugdroid1@chromium.org, Dec 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast/+/1dab7ca9404d209f21171a0cb482739fc9451ed0

commit 1dab7ca9404d209f21171a0cb482739fc9451ed0
Author: Daniel Erat <derat@chromium.org>
Date: Mon Dec 25 15:57:04 2017

tast: Add crash, dut, and logs packages.

Move the local/crash, local/logs, and remote/dut Go packages
from the tast-tests repository into this repository so
they'll be included in the tast-common Portage package.

BUG= chromium:784944 
TEST=code builds and unit tests pass
CQ-DEPEND=If12a409fb7c48982125fab8bcd70e81cd2dae420

Change-Id: I0e35d2bc60018ac9e7be80a082337d8ab37c04ee

[add] https://crrev.com/1dab7ca9404d209f21171a0cb482739fc9451ed0/src/chromiumos/tast/crash/crash_test.go
[add] https://crrev.com/1dab7ca9404d209f21171a0cb482739fc9451ed0/src/chromiumos/tast/dut/dut.go
[add] https://crrev.com/1dab7ca9404d209f21171a0cb482739fc9451ed0/src/chromiumos/tast/logs/logs_test.go
[add] https://crrev.com/1dab7ca9404d209f21171a0cb482739fc9451ed0/src/chromiumos/tast/crash/crash.go
[add] https://crrev.com/1dab7ca9404d209f21171a0cb482739fc9451ed0/src/chromiumos/tast/logs/logs.go

Project Member

Comment 10 by bugdroid1@chromium.org, Dec 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast-tests/+/79bffba38e75aebd4463e590d0788ba24cc072e0

commit 79bffba38e75aebd4463e590d0788ba24cc072e0
Author: Daniel Erat <derat@chromium.org>
Date: Tue Dec 26 01:17:26 2017

tast-tests: Move tests to {local,remote}/bundles/cros/.

Move local and remote tests from tast/{local,remote}/tests/
to tast/{local,remote}/bundles/cros. This prepares them for
later changes that will put them into "cros" test bundles
rather than the current local_tests and remote_tests
executables.

BUG= chromium:784944 
TEST=tast-{local,remote}-tests packages build and tests pass
CQ-DEPEND=Ib59982512536cb4c56c679b2bf7ee42fc9f4d9a7

Change-Id: I585ee9d99e70e422024ac3719ba1cc597abf00bd

[rename] https://crrev.com/79bffba38e75aebd4463e590d0788ba24cc072e0/src/chromiumos/tast/local/bundles/cros/ui/chrome_sanity.go
[rename] https://crrev.com/79bffba38e75aebd4463e590d0788ba24cc072e0/src/chromiumos/tast/local/bundles/cros/ui/arc_sanity.go
[rename] https://crrev.com/79bffba38e75aebd4463e590d0788ba24cc072e0/src/chromiumos/tast/local/bundles/cros/security/log_perms.go
[rename] https://crrev.com/79bffba38e75aebd4463e590d0788ba24cc072e0/src/chromiumos/tast/local/bundles/cros/example/data/data_files_data1.txt
[modify] https://crrev.com/79bffba38e75aebd4463e590d0788ba24cc072e0/src/chromiumos/cmd/remote_tests/main.go
[rename] https://crrev.com/79bffba38e75aebd4463e590d0788ba24cc072e0/src/chromiumos/tast/local/bundles/cros/ui/chromecrash/crash.go
[rename] https://crrev.com/79bffba38e75aebd4463e590d0788ba24cc072e0/src/chromiumos/tast/local/bundles/cros/example/dbus.go
[rename] https://crrev.com/79bffba38e75aebd4463e590d0788ba24cc072e0/src/chromiumos/tast/local/bundles/cros/power/check_status.go
[rename] https://crrev.com/79bffba38e75aebd4463e590d0788ba24cc072e0/src/chromiumos/tast/local/bundles/cros/ui/chrome_crash_not_logged_in.go
[rename] https://crrev.com/79bffba38e75aebd4463e590d0788ba24cc072e0/src/chromiumos/tast/local/bundles/cros/example/pass.go
[rename] https://crrev.com/79bffba38e75aebd4463e590d0788ba24cc072e0/src/chromiumos/tast/local/bundles/cros/ui/chrome_crash_logged_in.go
[rename] https://crrev.com/79bffba38e75aebd4463e590d0788ba24cc072e0/src/chromiumos/tast/local/bundles/cros/example/fail.go
[rename] https://crrev.com/79bffba38e75aebd4463e590d0788ba24cc072e0/src/chromiumos/tast/local/bundles/cros/example/data_files.go
[rename] https://crrev.com/79bffba38e75aebd4463e590d0788ba24cc072e0/src/chromiumos/tast/local/bundles/cros/ui/mash_login.go
[rename] https://crrev.com/79bffba38e75aebd4463e590d0788ba24cc072e0/src/chromiumos/tast/remote/bundles/cros/power/reboot.go
[modify] https://crrev.com/79bffba38e75aebd4463e590d0788ba24cc072e0/src/chromiumos/cmd/local_tests/main.go

Project Member

Comment 11 by bugdroid1@chromium.org, Dec 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/ed6db5011263c9fba090971834916994d7ae2ec2

commit ed6db5011263c9fba090971834916994d7ae2ec2
Author: Daniel Erat <derat@chromium.org>
Date: Tue Dec 26 01:17:27 2017

tast-local-tests: Install data from local/bundles/cros/.

Update the tast-local-tests package to install local tests'
data files from their new location.

BUG= chromium:784944 
TEST=emerged package
CQ-DEPEND=I585ee9d99e70e422024ac3719ba1cc597abf00bd

Change-Id: Ib59982512536cb4c56c679b2bf7ee42fc9f4d9a7

[modify] https://crrev.com/ed6db5011263c9fba090971834916994d7ae2ec2/chromeos-base/tast-local-tests/tast-local-tests-9999.ebuild

Project Member

Comment 12 by bugdroid1@chromium.org, Dec 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast/+/d97da41d56e409e6e41bc07a3cdad80b04840476

commit d97da41d56e409e6e41bc07a3cdad80b04840476
Author: Daniel Erat <derat@chromium.org>
Date: Tue Dec 26 01:17:27 2017

tast: Make bundle-related changes to testing package.

Make a few small changes to the tast/testing package to
support test bundles:

- TestsForPatterns and TestsForAttrExpr return empty slices
  rather than errors if no tests are matched. It's expected
  that some bundles may not contain any matching tests.
- The Test struct exports its Data and Pkg fields. These
  both need to be marshaled to JSON so that they'll be
  passed back from test bundles to test runners.
- A new WriteTestsAsJSON function is added. Both test
  bundles and test runners need to serialize Test structs,
  so it's convenient to put this in a shared location.

BUG= chromium:784944 
TEST=unit tests pass and tests are still matched and run

Change-Id: Id855847d4d67c18deaf7e94d45052a8f934ff655

[modify] https://crrev.com/d97da41d56e409e6e41bc07a3cdad80b04840476/src/chromiumos/tast/testing/test.go
[modify] https://crrev.com/d97da41d56e409e6e41bc07a3cdad80b04840476/src/chromiumos/tast/testing/registry.go
[modify] https://crrev.com/d97da41d56e409e6e41bc07a3cdad80b04840476/src/chromiumos/tast/testing/registry_test.go
[modify] https://crrev.com/d97da41d56e409e6e41bc07a3cdad80b04840476/src/chromiumos/tast/testing/test_test.go
[modify] https://crrev.com/d97da41d56e409e6e41bc07a3cdad80b04840476/src/chromiumos/tast/oldrunner/runner.go
[modify] https://crrev.com/d97da41d56e409e6e41bc07a3cdad80b04840476/src/chromiumos/tast/oldrunner/runner_test.go

Project Member

Comment 13 by bugdroid1@chromium.org, Dec 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast/+/50dd521b8acc01d12ed18e27e6597463f147c20b

commit 50dd521b8acc01d12ed18e27e6597463f147c20b
Author: Daniel Erat <derat@chromium.org>
Date: Wed Dec 27 10:52:45 2017

tast: Add MustGenerateKeys and TestData to host/test.

Move some common code into the chromiumos/tast/host/test
package so it doesn't need to be duplicated across tests
that run SSH servers.

BUG= chromium:784944 
TEST=built with FEATURES=test

Change-Id: Ie9a8fc20f47736d1996868c98e97e432a6b1555b
Reviewed-on: https://chromium-review.googlesource.com/844334
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Jason Clinton <jclinton@chromium.org>

[add] https://crrev.com/50dd521b8acc01d12ed18e27e6597463f147c20b/src/chromiumos/tast/host/test/default.go
[modify] https://crrev.com/50dd521b8acc01d12ed18e27e6597463f147c20b/src/chromiumos/tast/host/ssh_test.go
[modify] https://crrev.com/50dd521b8acc01d12ed18e27e6597463f147c20b/src/chromiumos/cmd/tast/run/local_test.go

Project Member

Comment 15 by bugdroid1@chromium.org, Dec 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast-tests/+/0b7c305365b2882bddcd874e2c43e25c3a4c15d1

commit 0b7c305365b2882bddcd874e2c43e25c3a4c15d1
Author: Daniel Erat <derat@chromium.org>
Date: Fri Dec 29 19:58:43 2017

tast-tests: Add "cros" test bundles.

Add main functions for new "cros" local and remote test
bundles. These bundles will be executed by the
local_test_runner and remote_test_runner executables, which
will live inside of the main tast repository.

The new test locations are a bit cumbersome, so also add
symlinks from the top of the repository to them.

BUG= chromium:784944 
TEST=used them in conjunction with test runners and updated
     tast comand

Change-Id: Icf9eacf00ee25520d8b56df721434bd2a640d776
Reviewed-on: https://chromium-review.googlesource.com/843662
Commit-Ready: Jason Clinton <jclinton@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Jason Clinton <jclinton@chromium.org>

[add] https://crrev.com/0b7c305365b2882bddcd874e2c43e25c3a4c15d1/local_tests
[add] https://crrev.com/0b7c305365b2882bddcd874e2c43e25c3a4c15d1/remote_tests
[add] https://crrev.com/0b7c305365b2882bddcd874e2c43e25c3a4c15d1/src/chromiumos/tast/local/bundles/cros/main.go
[add] https://crrev.com/0b7c305365b2882bddcd874e2c43e25c3a4c15d1/src/chromiumos/tast/remote/bundles/cros/main.go

Project Member

Comment 16 by bugdroid1@chromium.org, Dec 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast/+/0569cbd0c9a36ce361fa58150fe7c35cc63e52da

commit 0569cbd0c9a36ce361fa58150fe7c35cc63e52da
Author: Daniel Erat <derat@chromium.org>
Date: Fri Dec 29 19:58:43 2017

tast: Fix comments for bundle's Local and Remote functions.

Update the docs for the chromiumos/tast/bundle package's
Local and Remote functions to specify that os.Args[1:]
should be passed (rather than os.Args).

BUG= chromium:784944 
TEST=none

Change-Id: Ifb96ccb5996ee0638beebf4decbd6b91546e46ac
Reviewed-on: https://chromium-review.googlesource.com/846105
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Jason Clinton <jclinton@chromium.org>

[modify] https://crrev.com/0569cbd0c9a36ce361fa58150fe7c35cc63e52da/src/chromiumos/tast/bundle/local.go
[modify] https://crrev.com/0569cbd0c9a36ce361fa58150fe7c35cc63e52da/src/chromiumos/tast/bundle/remote.go

Project Member

Comment 17 by bugdroid1@chromium.org, Dec 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast/+/17d6aacfcb683d78419bfd9b16a6eaa3962d0e7e

commit 17d6aacfcb683d78419bfd9b16a6eaa3962d0e7e
Author: Daniel Erat <derat@chromium.org>
Date: Sat Dec 30 02:10:21 2017

tast: Add runner package.

Add a chromiumos/tast/runner package that contains logic
that will be shared by local_test_runner and
remote_test_runner. Some of this code comes from the
existing local_tests and remote_tests executables.

BUG= chromium:784944 
TEST=unit tests pass; also verified in conjunction with
     following changes

Change-Id: Ib7f6bfeb29aa474e9d2499bc4977181c1546ed79
Reviewed-on: https://chromium-review.googlesource.com/846819
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Dan Erat <derat@chromium.org>

[add] https://crrev.com/17d6aacfcb683d78419bfd9b16a6eaa3962d0e7e/src/chromiumos/tast/runner/runner_test.go
[add] https://crrev.com/17d6aacfcb683d78419bfd9b16a6eaa3962d0e7e/src/chromiumos/tast/runner/doc.go
[add] https://crrev.com/17d6aacfcb683d78419bfd9b16a6eaa3962d0e7e/src/chromiumos/tast/runner/data_files_test.go
[add] https://crrev.com/17d6aacfcb683d78419bfd9b16a6eaa3962d0e7e/src/chromiumos/tast/runner/runner.go
[add] https://crrev.com/17d6aacfcb683d78419bfd9b16a6eaa3962d0e7e/src/chromiumos/tast/runner/data_files.go

Project Member

Comment 18 by bugdroid1@chromium.org, Dec 31 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast/+/fa7114d9b384e5c80f8627d946977d20ca249237

commit fa7114d9b384e5c80f8627d946977d20ca249237
Author: Daniel Erat <derat@chromium.org>
Date: Sun Dec 31 03:15:56 2017

tast: Clean up logging in tast/run package's local.go.

Minor refactoring of logging for local test runs:

- Move logging out of buildAndPushTests and into the helper
  functions that it calls.
- Make argument order more consistent across functions.
- Switch some logging between normal and debug levels.

BUG= chromium:784944 
TEST=code builds; logging looks reasonable both with and
     without -verbose

Change-Id: I75f423781d5efb426ff0dbb906952d471b9ddb48
Reviewed-on: https://chromium-review.googlesource.com/846506
Commit-Ready: Jason Clinton <jclinton@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Jason Clinton <jclinton@chromium.org>

[modify] https://crrev.com/fa7114d9b384e5c80f8627d946977d20ca249237/src/chromiumos/cmd/tast/run/local.go

Project Member

Comment 19 by bugdroid1@chromium.org, Jan 1 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast/+/d21e0212477364e8c2d72cbe8b5cc16098d72770

commit d21e0212477364e8c2d72cbe8b5cc16098d72770
Author: Daniel Erat <derat@chromium.org>
Date: Mon Jan 01 16:37:34 2018

tast: Fix a few test bundle output-related bugs.

- Make bundles include the executable name, rather than the
  first arg, in usage messages.
- Make bundles log to stdout rather than stderr when run
  without -report; otherwise, the test runner fails to copy
  test output when run manually.
- For consistency, make runners also log to stdout when run
  without -report.
- Make runners print usage from the correct flag.FlagSet
  struct instead of from the (unused) global flag set.
- Make runners avoid logging errors returned by
  flag.FlagSet.Parse, since the flag package already writes
  errors to stderr.
- Make runners exit with success after writing a TestError
  control message when running with -report. Otherwise, the
  tast command just prints a generic error message about the
  runner exiting with a nonzero status code.
- Make the tast command just print basenames of source
  files responsible for RunError control messages.

Also add more documentation about bundle and runner logging
and status codes.

BUG= chromium:784944 
TEST=added some tests and tested manually in conjunction
     with not-yet-reviewed change to make tast command
     support test bundles

Change-Id: I57f62224e8245fe7e0d0be3ac84afe746934d1b6
Reviewed-on: https://chromium-review.googlesource.com/846899
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Jason Clinton <jclinton@chromium.org>
Reviewed-by: Dan Erat <derat@chromium.org>

[modify] https://crrev.com/d21e0212477364e8c2d72cbe8b5cc16098d72770/src/chromiumos/tast/bundle/doc.go
[modify] https://crrev.com/d21e0212477364e8c2d72cbe8b5cc16098d72770/src/chromiumos/tast/runner/runner_test.go
[modify] https://crrev.com/d21e0212477364e8c2d72cbe8b5cc16098d72770/src/chromiumos/tast/runner/doc.go
[modify] https://crrev.com/d21e0212477364e8c2d72cbe8b5cc16098d72770/src/chromiumos/tast/runner/runner.go
[modify] https://crrev.com/d21e0212477364e8c2d72cbe8b5cc16098d72770/src/chromiumos/cmd/tast/run/results.go
[modify] https://crrev.com/d21e0212477364e8c2d72cbe8b5cc16098d72770/src/chromiumos/tast/bundle/bundle.go

Project Member

Comment 20 by bugdroid1@chromium.org, Jan 1 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast/+/235d6bcd40f173eedeeebf4ee2b9e343f55e163a

commit 235d6bcd40f173eedeeebf4ee2b9e343f55e163a
Author: Daniel Erat <derat@chromium.org>
Date: Mon Jan 01 16:37:34 2018

tast: Skip running test bundles without matching tests.

Make the runner package omit bundles that didn't report any
tests matching the supplied pattern, and make bundles report
an error when asked to run using a pattern that didn't match
any tests.

BUG= chromium:784944 
TEST=added tests

Change-Id: I8a5a3424d30da47131e7c339a86ff4fce9390117

[modify] https://crrev.com/235d6bcd40f173eedeeebf4ee2b9e343f55e163a/src/chromiumos/tast/runner/runner_test.go
[modify] https://crrev.com/235d6bcd40f173eedeeebf4ee2b9e343f55e163a/src/chromiumos/tast/bundle/bundle_test.go
[modify] https://crrev.com/235d6bcd40f173eedeeebf4ee2b9e343f55e163a/src/chromiumos/tast/runner/runner.go
[modify] https://crrev.com/235d6bcd40f173eedeeebf4ee2b9e343f55e163a/src/chromiumos/tast/bundle/bundle.go
[modify] https://crrev.com/235d6bcd40f173eedeeebf4ee2b9e343f55e163a/src/chromiumos/tast/bundle/remote.go

Project Member

Comment 21 by bugdroid1@chromium.org, Jan 10 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/c8327d25c6accd6094abb2e6a3fd0a9fc4e4a5a7

commit c8327d25c6accd6094abb2e6a3fd0a9fc4e4a5a7
Author: Daniel Erat <derat@chromium.org>
Date: Wed Jan 10 23:44:53 2018

tast-local-tests: Stop installing data files.

Make the tast-local-tests stop installing data files to
/usr/share/tast/data (or /usr/local/share/tast/data in
reality, since this is a test package).

In a followup change, these files will be installed by a new
tast-local-tests-cros package, and I want to avoid the
possibility of conflicts.

BUG= chromium:784944 
TEST=ran "emerge-lumpy tast-local-tests" and checked that
     /build/lumpy/usr/share/tast/data doesn't exist

Change-Id: I94c533a444cc32a3f11b74d1a3be80273651a1af
Reviewed-on: https://chromium-review.googlesource.com/860237
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Jason Clinton <jclinton@chromium.org>

[modify] https://crrev.com/c8327d25c6accd6094abb2e6a3fd0a9fc4e4a5a7/chromeos-base/tast-local-tests/tast-local-tests-9999.ebuild

Project Member

Comment 22 by bugdroid1@chromium.org, Jan 11 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/062d6849fc92a081b627bb71617bae057860d474

commit 062d6849fc92a081b627bb71617bae057860d474
Author: Daniel Erat <derat@chromium.org>
Date: Thu Jan 11 08:20:38 2018

tast: Add test runner and bundle packages.

Add packages containing local and remote test runners and
"cros" test bundles and install these as part of
target-chromium-os-sdk and target-chromium-os-test as
appropriate:

chromeos-base/tast-local-test-runner (test)
chromeos-base/tast-local-tests-cros  (test)
chromeos-base/tast-remote-tests-cros (sdk)

These packages obsolete the existing tast-local-tests and
tast-remote-tests packages, which I'm removing from sdk and
test.

BUG= chromium:784944 
TEST=emerged new packages; also built a betty test image and
     verified that expected files are present at
     /usr/local/libexec/tast/bundles/cros and
     /usr/local/share/tast/data
CQ-DEPEND=I923baa6c04a034ed7453c303a94f9265d27653b6

Change-Id: If3674b14f4a77480056e4f12e255e8ce602ced2b
Reviewed-on: https://chromium-review.googlesource.com/861055
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Dan Erat <derat@chromium.org>

[rename] https://crrev.com/062d6849fc92a081b627bb71617bae057860d474/virtual/target-chromium-os-test/target-chromium-os-test-1-r59.ebuild
[modify] https://crrev.com/062d6849fc92a081b627bb71617bae057860d474/virtual/target-chromium-os-test/target-chromium-os-test-1.ebuild
[rename] https://crrev.com/062d6849fc92a081b627bb71617bae057860d474/virtual/target-chromium-os-sdk/target-chromium-os-sdk-1-r96.ebuild
[add] https://crrev.com/062d6849fc92a081b627bb71617bae057860d474/chromeos-base/tast-remote-tests-cros/tast-remote-tests-cros-9999.ebuild
[modify] https://crrev.com/062d6849fc92a081b627bb71617bae057860d474/virtual/target-chromium-os-sdk/target-chromium-os-sdk-1.ebuild
[add] https://crrev.com/062d6849fc92a081b627bb71617bae057860d474/chromeos-base/tast-local-tests-cros/tast-local-tests-cros-9999.ebuild
[add] https://crrev.com/062d6849fc92a081b627bb71617bae057860d474/chromeos-base/tast-local-test-runner/tast-local-test-runner-9999.ebuild
[modify] https://crrev.com/062d6849fc92a081b627bb71617bae057860d474/chromeos-base/tast-cmd/tast-cmd-9999.ebuild

Project Member

Comment 23 by bugdroid1@chromium.org, Jan 11 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast/+/2924802d69608c34e8c97d568a9fdc8fa2062158

commit 2924802d69608c34e8c97d568a9fdc8fa2062158
Author: Daniel Erat <derat@chromium.org>
Date: Thu Jan 11 08:20:38 2018

tast: Update tast command for test bundles.

Update the tast command to build test bundles and to execute
local_test_runner and remote_test_runner rather than the
monolithic local_tests and remote_test binaries.

BUG= chromium:784944 
TEST=updated unit tests pass; also manually tested with
     various configurations (-build=false, -build=true but
     without local_test_runner on device, etc.)
CQ-DEPEND=If3674b14f4a77480056e4f12e255e8ce602ced2b

Change-Id: I923baa6c04a034ed7453c303a94f9265d27653b6
Reviewed-on: https://chromium-review.googlesource.com/846371
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Jason Clinton <jclinton@chromium.org>

[modify] https://crrev.com/2924802d69608c34e8c97d568a9fdc8fa2062158/src/chromiumos/cmd/tast/run/remote.go
[modify] https://crrev.com/2924802d69608c34e8c97d568a9fdc8fa2062158/src/chromiumos/cmd/tast/run_cmd.go
[modify] https://crrev.com/2924802d69608c34e8c97d568a9fdc8fa2062158/src/chromiumos/cmd/tast/run/local.go
[modify] https://crrev.com/2924802d69608c34e8c97d568a9fdc8fa2062158/src/chromiumos/cmd/tast/build_cmd.go
[modify] https://crrev.com/2924802d69608c34e8c97d568a9fdc8fa2062158/src/chromiumos/cmd/tast/build/config.go
[modify] https://crrev.com/2924802d69608c34e8c97d568a9fdc8fa2062158/src/chromiumos/cmd/tast/run/results.go
[modify] https://crrev.com/2924802d69608c34e8c97d568a9fdc8fa2062158/src/chromiumos/cmd/tast/build/build_test.go
[modify] https://crrev.com/2924802d69608c34e8c97d568a9fdc8fa2062158/src/chromiumos/cmd/tast/run/config.go
[modify] https://crrev.com/2924802d69608c34e8c97d568a9fdc8fa2062158/src/chromiumos/cmd/local_test_runner/main.go
[modify] https://crrev.com/2924802d69608c34e8c97d568a9fdc8fa2062158/src/chromiumos/cmd/tast/run/local_test.go
[modify] https://crrev.com/2924802d69608c34e8c97d568a9fdc8fa2062158/src/chromiumos/cmd/tast/build/build.go
[modify] https://crrev.com/2924802d69608c34e8c97d568a9fdc8fa2062158/src/chromiumos/cmd/remote_test_runner/main.go
[modify] https://crrev.com/2924802d69608c34e8c97d568a9fdc8fa2062158/src/chromiumos/tast/host/ssh.go

Project Member

Comment 24 by bugdroid1@chromium.org, Jan 11 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast/+/d77730020a1667160d8ca0248f6a4d1c5c1162e9

commit d77730020a1667160d8ca0248f6a4d1c5c1162e9
Author: Daniel Erat <derat@chromium.org>
Date: Thu Jan 11 14:35:16 2018

tast: Update docs for test bundles.

Update existing documentation to describe the new
arrangement with test bundles and test runners rather than
the old arrangement with monolithic local_tests and
remote_tests executables.

Also fix broken relative links that attempted to point at
the tast-test repository (which worked when tested locally
with md_browser.py, but fail when rendered by gitiles).

BUG= chromium:784944 
TEST=none

Change-Id: Ib11bcd083002627ca3009ecf46b4ae7b133801d5
Reviewed-on: https://chromium-review.googlesource.com/851255
Reviewed-by: Dan Erat <derat@chromium.org>
Reviewed-by: Jason Clinton <jclinton@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>

[modify] https://crrev.com/d77730020a1667160d8ca0248f6a4d1c5c1162e9/docs/overview.md
[modify] https://crrev.com/d77730020a1667160d8ca0248f6a4d1c5c1162e9/src/chromiumos/tast/bundle/doc.go
[modify] https://crrev.com/d77730020a1667160d8ca0248f6a4d1c5c1162e9/docs/quickstart.md
[modify] https://crrev.com/d77730020a1667160d8ca0248f6a4d1c5c1162e9/docs/writing_tests.md
[modify] https://crrev.com/d77730020a1667160d8ca0248f6a4d1c5c1162e9/docs/running_tests.md
[modify] https://crrev.com/d77730020a1667160d8ca0248f6a4d1c5c1162e9/README.md

Project Member

Comment 26 by bugdroid1@chromium.org, Jan 11 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast-tests/+/7b020451bef3b5018cae7605a2546b42e23321de

commit 7b020451bef3b5018cae7605a2546b42e23321de
Author: Daniel Erat <derat@chromium.org>
Date: Thu Jan 11 17:42:38 2018

tast-tests: Update docs for test bundles.

BUG= chromium:784944 
TEST=none

Change-Id: I6e4a5dea04dffa695ad82611745ccf3716df725a
Reviewed-on: https://chromium-review.googlesource.com/861215
Reviewed-by: Jason Clinton <jclinton@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>

[modify] https://crrev.com/7b020451bef3b5018cae7605a2546b42e23321de/README.md

Project Member

Comment 27 by bugdroid1@chromium.org, Jan 11 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/c597ac127f114e056fe81e251fa5fc02a2643c56

commit c597ac127f114e056fe81e251fa5fc02a2643c56
Author: Daniel Erat <derat@chromium.org>
Date: Thu Jan 11 19:33:19 2018

tast-local-tests-cros: Add blocker against tast-local-tests.

Make tast-local-tests get unmerged to avoid a file conflict
on files in /usr/share/tast/data.

BUG= chromium:784944 
TEST=emerged tast-local-tests-cros and saw tast-local-tests
     get uninstalled

Change-Id: I2d875d97ca74098cde6b2f46ba8285d6d4ed56f8
Reviewed-on: https://chromium-review.googlesource.com/862283
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>

[modify] https://crrev.com/c597ac127f114e056fe81e251fa5fc02a2643c56/chromeos-base/tast-local-tests-cros/tast-local-tests-cros-9999.ebuild

Project Member

Comment 29 by bugdroid1@chromium.org, Jan 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast/+/bec9c26c95c5d18a3695feead68af8fcabf1c400

commit bec9c26c95c5d18a3695feead68af8fcabf1c400
Author: Daniel Erat <derat@chromium.org>
Date: Fri Jan 12 06:22:32 2018

tast: Delete oldrunner package.

This is no longer needed now that test bundles are used.

BUG= chromium:784944 
TEST=emerged packages
CQ-DEPEND=I0cc292c1bbc5152be6bec154c0cede65d5cc450a

Change-Id: I2ebb929e73ad0a3cf0b53e3c5932558292e38336
Reviewed-on: https://chromium-review.googlesource.com/861744
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Jason Clinton <jclinton@chromium.org>

[delete] https://crrev.com/d77730020a1667160d8ca0248f6a4d1c5c1162e9/src/chromiumos/tast/oldrunner/runner.go
[delete] https://crrev.com/d77730020a1667160d8ca0248f6a4d1c5c1162e9/src/chromiumos/tast/oldrunner/runner_test.go

Project Member

Comment 31 by bugdroid1@chromium.org, Jan 19 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/7d02ac91ae0b37c5b4f2aee2d430505980073a6e

commit 7d02ac91ae0b37c5b4f2aee2d430505980073a6e
Author: Daniel Erat <derat@chromium.org>
Date: Fri Jan 19 17:14:16 2018

Add tast-bundle.eclass.

Add an eclass to simplify building Tast test bundles, and
update the tast-local-tests-cros and tast-remote-tests-cros
packages to use it.

This also results in tast-remote-tests-cros's data files
being packaged. Well, it would if it had any data files.
Remote tests originally just used data files directly from
the chroot, but that won't work when running on shards in
the lab.

BUG= chromium:784944 , chromium:782515 
TEST=emerged tast-local-tests-cros and
     tast-remote-tests-cros with FEATURES=test

Change-Id: I4bf25e435abbc0c2584c9f8cb3f29975891bedca
Reviewed-on: https://chromium-review.googlesource.com/872457
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Dan Erat <derat@chromium.org>

[modify] https://crrev.com/7d02ac91ae0b37c5b4f2aee2d430505980073a6e/chromeos-base/tast-local-tests-cros/tast-local-tests-cros-9999.ebuild
[modify] https://crrev.com/7d02ac91ae0b37c5b4f2aee2d430505980073a6e/chromeos-base/tast-remote-tests-cros/tast-remote-tests-cros-9999.ebuild
[add] https://crrev.com/7d02ac91ae0b37c5b4f2aee2d430505980073a6e/eclass/tast-bundle.eclass

Comment 32 by derat@chromium.org, Jan 23 2018

Components: Tests>Tast

Comment 33 by derat@chromium.org, Jan 23 2018

Status: Fixed (was: Started)
Project Member

Comment 34 by bugdroid1@chromium.org, Jan 26 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast/+/ec86bac4623e8aaac1c6de284b76a8c23b346a94

commit ec86bac4623e8aaac1c6de284b76a8c23b346a94
Author: Daniel Erat <derat@chromium.org>
Date: Fri Jan 26 03:23:46 2018

tast: Make remote tests use data from /usr/share/tast/data.

Update the tast command to instruct remote_test_runner to
use test data located under /usr/share/tast/data (when not
building tests) and data from the source tree (when
building).

I think that test data was completely unimplemented for
remote tests. There aren't any remote tests that use it yet.

Add several related flags to the run subcommand:

  -remoterunner
  -remotebundledir
  -remotedatadir

These will likely be needed when running on lab shards,
where the files from the tast-cmd and tast-remote-tests-cros
CIPD packages will be installed to non-standard locations.

Also add some unit tests for run.Remote (which didn't have
any) and improve logging when remote_test_runner fails
(run.Local previously got the same treatment).

BUG= chromium:784944 , chromium:782515 
TEST=new unit tests pass; also hacked a remote test to use a
     data file and checked that it passes with -build=true
     and -build=false

Change-Id: I1822d4752882ca87808e077a7556224a3646fdb7
Reviewed-on: https://chromium-review.googlesource.com/885441
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Jason Clinton <jclinton@chromium.org>

[modify] https://crrev.com/ec86bac4623e8aaac1c6de284b76a8c23b346a94/src/chromiumos/cmd/tast/run/config.go
[modify] https://crrev.com/ec86bac4623e8aaac1c6de284b76a8c23b346a94/src/chromiumos/cmd/tast/run/remote.go
[modify] https://crrev.com/ec86bac4623e8aaac1c6de284b76a8c23b346a94/src/chromiumos/cmd/remote_test_runner/main.go
[add] https://crrev.com/ec86bac4623e8aaac1c6de284b76a8c23b346a94/src/chromiumos/cmd/tast/run/remote_test.go

Sign in to add a comment