crash: Use 'preserve' to persist across reboots.

Remote tests have had major stability issues due to test config files in
/var/spool/crash/ going missing after reboots. We have yet to identify
exactly why this is happening, though we have two theories:
1) Something is causing the stateful partition to be clobbered. This is
   backed up by occasionally seeing the powerwash_count increment.
2) crash_sender sees the files, notes that they're invalid crashes, and
   deletes them. (We don't have particular evidence that this is
   happening, but it is possible.)

Work around the issue by using the unencrypted/preserve partition, which
is stable across powerwash and outside of what crash_sender would
inspect, for these test config files.

BUG=chromium:1114878
TEST=tast run $DUT crash.EarlyCrash.mock_consent; verify that\
     /run/crash-reporter-early-init.log mentions new location.

Cq-Depend: chromium:2418619
Change-Id: I10af3d1e87c243b3aa791f0dacd32d95b5ae0f48
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/tast-tests/+/2419169
Tested-by: Miriam Zimmerman <mutexlox@chromium.org>
Reviewed-by: Brendan Hansknecht <bhansknecht@chromium.org>
Reviewed-by: Joon Ahn <joonbug@chromium.org>
Commit-Queue: Miriam Zimmerman <mutexlox@chromium.org>
1 file changed
tree: ccd98801d6c11ef51003ce2090f8920a8ad808ba
  1. android/
  2. helpers/
  3. src/
  4. tools/
  5. vars/
  6. .gitignore
  7. LICENSE
  8. OWNERS
  9. PRESUBMIT.cfg
  10. PRESUBMIT.py
  11. README.md
README.md

Tast (tests)

This repository contains integration tests that are run by Tast.

Directory structure

  • helpers/ - Source code for binaries executed by tests.
    • local/ - Helpers for local tests that are compiled and installed to /usr/local/libexec/tast/helpers/local/cros by the tast-local-helpers-cros package.
  • src/chromiumos/tast/
    • local/ - Code related to local (i.e. on-device or “client”) tests.
      • bundles/ - Local test bundles.
        • cros/ - The “cros” local test bundle, containing standard Chrome OS tests. Tests are packaged by category.
      • ... - Packages used only by local tests.
    • remote/ - Code related to remote (i.e. off-device or “server”) tests.
      • bundles/ - Remote test bundles.
        • cros/ - The “cros” remote test bundle, containing standard Chrome OS tests. Tests are packaged by category.
      • ... - Packages used only by remote tests.

Shared code, the main tast executable, the local_test_runner and remote_test_runner executables responsible for running bundles, and documentation are located in the tast repository.

GoDoc