firmware_test_handler: Fix cleanup on NewFirmwareTest failure

NewFirmwareTest function (from fingerprint package) connects to servo
and stops biod and powerd daemons. When this function finishes without
error, Close() method from FirmwareTest is responsible for restoring
daemon states and closing connection. If NewFirmwareTest fails then it
is expected that DUT state will remain unchanged, so we need to revert
actions performed by the function.

BUG=b:233276848
TEST=tast run <IP> firmware.Fp{AddEntropy,BioWash,CheckWriteProtect, \
     RDP0,RDP1,ROOnlyBootsValidRW,RWNoUpdateRO,ReadFlash,RebootToRO, \
     SoftwareWriteProtect,SystemIsLocked,TpmSeed,Updater}

Change-Id: I8ae047b3f3d3435a919c2cff61efe8acbd1ae366
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/tast-tests/+/3714930
Commit-Queue: Patryk Duda <patrykd@google.com>
Tested-by: Patryk Duda <patrykd@google.com>
Reviewed-by: Hidehiko Abe <hidehiko@chromium.org>
Reviewed-by: Tom Hughes <tomhughes@chromium.org>
1 file changed
tree: 9a089398515a3f16c6c37b774baedb43e6df2afb
  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
  12. unblocked_terms.txt
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 ChromeOS 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 ChromeOS 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