| # Copyright (c) 2013 The Chromium OS Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| from autotest_lib.client.common_lib import utils |
| |
| AUTHOR = "Chromium OS" |
| NAME = "autoupdate_CatchBadSignatures" |
| TIME = "MEDIUM" |
| TEST_CATEGORY = "Functional" |
| TEST_CLASS = "platform" |
| TEST_TYPE = "server" |
| JOB_RETRIES = 2 |
| # TODO(jorgelo): move this to bvt-cq after crbug.com/427384 is fixed. |
| SUITE = "bvt-perbuild" |
| BUG_TEMPLATE = { |
| 'cc': ['chromeos-installer-alerts@google.com'], |
| 'labels': ['Cr-Internals-Installer'], |
| } |
| |
| DOC = """ |
| This is a test to verify that update_engine correctly checks |
| signatures in the metadata hash and the update payload itself. This is |
| achieved by feeding updates to update_engine where the private key |
| used to make the signature, intentionally does not match with the |
| public key used for verification. |
| |
| To run locally, you must set up the file |
| |
| src/third_party/autotest/files/shadow_config.ini |
| |
| with the following content |
| |
| [CROS] |
| devserver_dir = <full repo path>/src/platform/dev |
| dev_server = http://<hostname>:8080 |
| |
| and then start devserver.py outside the chroot: |
| |
| $ src/platform/dev/devserver.py |
| |
| With this in place, you can now run the test: |
| |
| $ ./run_remote_tests.sh --fast \ |
| --board=${BOARD} \ |
| --remote=<DUT_IP> \ |
| autoupdate_CatchBadSignatures |
| |
| """ |
| |
| def run_test(machine): |
| """Execute a test configuration on a given machine.""" |
| host = hosts.create_host(machine) |
| job.run_test("autoupdate_CatchBadSignatures", host=host) |
| |
| # Invoke parallel tests. |
| parallel_simple(run_test, machines) |