New issue
Advanced search Search tips

Issue 809185 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

Permit both tast-local-tests-cros and tast-remote-tests-cros to be installed simultaneously

Project Member Reported by derat@chromium.org, Feb 5 2018

Issue description

Per discussion on https://crrev.com/c/900425, it sounds like it's expected that moblab will have both the tast-remote-tests-cros (by virtue of installing autotest-server) and tast-local-tests-cros (by virtue of installing target-chromium-os-test, maybe?) packages installed. I didn't realize that we'd ever need to do this, and right now, this doesn't work since both packages install a "cros" test bundle in /usr/libexec/tast/bundles. It should be possible to avoid the file collisions by using /usr/libexec/tast/bundles/{local,remote} instead.

Test data is currently installed to /usr/share/tast/data. I should probably add local and remote subdirectories there too, since there's nothing preventing local and remote test bundles from declaring data files with conflicting names.

There's some mechanism that I don't understand by which files installed by packages that are pulled in by target-chromium-os-test end up under /usr/local rather than /usr. This probably means that in actual moblab images, tast-remote-tests-cros's files will end up under /usr, while tast-local-tests-cros's files end up under /usr/local.
 

Comment 1 by ihf@chromium.org, Feb 5 2018

Cc: haddowk@chromium.org
+moblab expert

Comment 2 by ihf@chromium.org, Feb 5 2018

Cc: pprabhu@chromium.org
s

Comment 3 by derat@chromium.org, Feb 5 2018

Description: Show this description

Comment 4 by derat@chromium.org, Feb 5 2018

Status: Started (was: Assigned)
Project Member

Comment 5 by bugdroid1@chromium.org, Feb 6 2018

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

commit ee29b2a75777917495d6a05669256c194891b544
Author: Daniel Erat <derat@chromium.org>
Date: Tue Feb 06 12:55:29 2018

chromiumos-overlay: Use type subdir in tast-bundle.eclass.

Make tast-bundle.eclass install test bundles to
/usr/libexec/tast/bundles/{local,remote} and test data to
/usr/share/tast/data/{local,remote}.

Without trailing "local" and "remote" subdirectories, we'll
encounter file collisions when installing both
tast-local-tests-cros and tast-remote-tests-cros in the same
buildroot (which we apparently do for moblab).

BUG= chromium:809185 , chromium:782515 
TEST=checked that tast-local-tests-cros and
     tast-remote-tests-cros can be installed simultaneously
     without conflicting and that they put files into the
     expected locations
CQ-DEPEND=Icfeab74776792c2ebd49733815c023c3ada4f459

Change-Id: I7163393d5141fc30f9d407d730ab3fb2b0f68229
Reviewed-on: https://chromium-review.googlesource.com/902961
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/ee29b2a75777917495d6a05669256c194891b544/eclass/tast-bundle.eclass

Project Member

Comment 6 by bugdroid1@chromium.org, Feb 6 2018

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

commit 138d77d0758ebc3399548096ecb7707c26705898
Author: Daniel Erat <derat@chromium.org>
Date: Tue Feb 06 12:55:27 2018

tast: Use local/remote subdirs for test bundles and data.

Make the tast command, local_test_runner,
remote_test_runner, and local bundles append "local" or
"remote" subdirectories to the paths used for locating test
bundles and test data.

Bundles and test data used to go in
/usr/libexec/tast/bundles and /usr/share/tast/data,
respectively, but that can result in file collisions when
installing local and remote bundles on the same system.

To support existing test images, this change
retains support for bundles and test data installed to the
old locations (at the expense of a "test -d" command over
SSH at the beginning of each test run).

BUG= chromium:782515 , chromium:809185 
TEST=updated unit tests; also manually verified that "tast
     run" works with builtin local tests installed to either
     /usr/local/libexec/tast/bundles/local (new) or
     /usr/local/libexec/tast/bundles (old)
CQ-DEPEND=I7163393d5141fc30f9d407d730ab3fb2b0f68229

Change-Id: Icfeab74776792c2ebd49733815c023c3ada4f459
Reviewed-on: https://chromium-review.googlesource.com/903046
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/138d77d0758ebc3399548096ecb7707c26705898/src/chromiumos/tast/bundle/local.go
[modify] https://crrev.com/138d77d0758ebc3399548096ecb7707c26705898/src/chromiumos/cmd/tast/run/local.go
[modify] https://crrev.com/138d77d0758ebc3399548096ecb7707c26705898/src/chromiumos/cmd/tast/run/local_test.go
[modify] https://crrev.com/138d77d0758ebc3399548096ecb7707c26705898/src/chromiumos/cmd/tast/run/config.go
[modify] https://crrev.com/138d77d0758ebc3399548096ecb7707c26705898/src/chromiumos/cmd/local_test_runner/main.go
[modify] https://crrev.com/138d77d0758ebc3399548096ecb7707c26705898/src/chromiumos/cmd/remote_test_runner/main.go

Comment 7 by derat@chromium.org, Feb 6 2018

Status: Fixed (was: Started)
Project Member

Comment 8 by bugdroid1@chromium.org, Feb 14 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/autotest/+/79171ba5e752e3ba40e341b5d29c6d91cb27cef6

commit 79171ba5e752e3ba40e341b5d29c6d91cb27cef6
Author: Daniel Erat <derat@chromium.org>
Date: Wed Feb 14 12:07:19 2018

autotest: Update tast_Runner remote test paths.

Update the tast_Runner test's paths for remote test bundles
and data to include the "remote" subdirectory that was added
by https://crrev.com/c/902961 to support installing local
and remote test bundles on the same system.

BUG= chromium:782515 , chromium:809185 
TEST=ran remote tests successfully when started by test_that

Change-Id: I115325bdc53a40320778104b83491fe5f277b281
Reviewed-on: https://chromium-review.googlesource.com/918022
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Ilja H. Friedel <ihf@chromium.org>

[modify] https://crrev.com/79171ba5e752e3ba40e341b5d29c6d91cb27cef6/server/site_tests/tast_Runner/tast_Runner.py

Project Member

Comment 9 by bugdroid1@chromium.org, Jun 28 2018

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

commit d4a96d0acd452a5232edc522e13274935f4fe244
Author: Daniel Erat <derat@chromium.org>
Date: Thu Jun 28 14:06:52 2018

tast: Remove code to support local bundle and data paths.

Remove legacy code that supported old locations for test
bundles and test data files.

BUG= chromium:809185 
TEST=unit tests pass; also used "tast run -build ..."

Change-Id: I33c0fdd858bead572b31759d26988e5f79e50883
Reviewed-on: https://chromium-review.googlesource.com/1117933
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Shuhei Takahashi <nya@chromium.org>

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

Project Member

Comment 10 by bugdroid1@chromium.org, Jun 30 2018

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

commit 36a65938ef2efd4292c11f074764d037e08777e5
Author: Daniel Erat <derat@chromium.org>
Date: Sat Jun 30 05:00:47 2018

tast-bundle: Install test data to /usr/share/tast/data.

Make tast-bundle.eclass install Tast test data to
/usr/share/tast/data/<path> rather than
/usr/share/tast/data/{local,remote}/<path>. The
{local,remote} component is unnecessary since <path> starts
with "chromiumos/tast/{local,remote}".

BUG= chromium:857485 , chromium:809185 
TEST=see change to tast repository
CQ-DEPEND=I46c2109e9683dd074ea8b0a123dfbd7704c80afc
CQ-DEPEND=I252517e17c1ea0cd23aa7022e9c2a64c160d2a89

Change-Id: I4a699c07e259ad38c075e05751129be9877a7ed7
Reviewed-on: https://chromium-review.googlesource.com/1119420
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/36a65938ef2efd4292c11f074764d037e08777e5/eclass/tast-bundle.eclass

Project Member

Comment 11 by bugdroid1@chromium.org, Jun 30 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/autotest/+/059df7bb1dc341740c40fdcf388a5a3d93fd8f37

commit 059df7bb1dc341740c40fdcf388a5a3d93fd8f37
Author: Daniel Erat <derat@chromium.org>
Date: Sat Jun 30 05:00:46 2018

autotest: Remove 'remote' dir from Tast data paths.

Make the tast.py server test stop appending a 'remote'
directory to paths passed to the tast executable's
-remotedatadir flag.

BUG= chromium:857485 , chromium:809185 
TEST=see change to tast repository
CQ-DEPEND=I46c2109e9683dd074ea8b0a123dfbd7704c80afc
CQ-DEPEND=I4a699c07e259ad38c075e05751129be9877a7ed7

Change-Id: I252517e17c1ea0cd23aa7022e9c2a64c160d2a89
Reviewed-on: https://chromium-review.googlesource.com/1119421
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/059df7bb1dc341740c40fdcf388a5a3d93fd8f37/server/site_tests/tast/tast.py

Project Member

Comment 12 by bugdroid1@chromium.org, Jun 30 2018

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

commit 330b522e2f1d5414aef5b4436c500dd233f296e4
Author: Daniel Erat <derat@chromium.org>
Date: Sat Jun 30 05:00:47 2018

tast: Remove local/remote components from builtin data dir.

Update the tast executable, test runners, and test bundles
to get test data from /usr/share/tast/data/<path> rather
than /usr/share/tast/data/{local,remote}/<path> (or
/usr/local/share/... in the case of files installed on
DUTs).

Data files for local tests are also pushed to
/usr/local/share/tast/data_pushed rather than
/usr/local/share/tast/data/local_pushed.

The tast executable supports falling back to using
/usr/local/share/tast/data/local for backwards compatibility
with older system images.

BUG= chromium:857485 , chromium:809185 
TEST=unit tests pass; also ran tryjobs; also verified:
     - data files in built-in remote test
     - data files in pushed remote test
     - data files in pushed local test
     - data files in old location in pushed local test
     - data files in new location in pushed local test
CQ-DEPEND=I4a699c07e259ad38c075e05751129be9877a7ed7
CQ-DEPEND=I252517e17c1ea0cd23aa7022e9c2a64c160d2a89

Change-Id: I46c2109e9683dd074ea8b0a123dfbd7704c80afc
Reviewed-on: https://chromium-review.googlesource.com/1119422
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/330b522e2f1d5414aef5b4436c500dd233f296e4/src/chromiumos/tast/bundle/local.go
[modify] https://crrev.com/330b522e2f1d5414aef5b4436c500dd233f296e4/src/chromiumos/cmd/tast/run/local.go
[modify] https://crrev.com/330b522e2f1d5414aef5b4436c500dd233f296e4/src/chromiumos/cmd/tast/run/local_test.go
[modify] https://crrev.com/330b522e2f1d5414aef5b4436c500dd233f296e4/src/chromiumos/cmd/tast/run/config.go
[modify] https://crrev.com/330b522e2f1d5414aef5b4436c500dd233f296e4/src/chromiumos/cmd/local_test_runner/main.go
[modify] https://crrev.com/330b522e2f1d5414aef5b4436c500dd233f296e4/src/chromiumos/cmd/remote_test_runner/main.go

Sign in to add a comment