• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5from autotest_lib.client.common_lib import utils
6
7AUTHOR = "Chromium OS"
8NAME = "autoupdate_CatchBadSignatures"
9TIME = "MEDIUM"
10TEST_CATEGORY = "Functional"
11TEST_CLASS = "platform"
12TEST_TYPE = "server"
13JOB_RETRIES = 2
14# TODO(jorgelo): move this to bvt-cq after crbug.com/427384 is fixed.
15ATTRIBUTES = "suite:bvt-perbuild"
16SUITE = "bvt-perbuild"
17BUG_TEMPLATE = {
18    'cc': ['chromeos-installer-alerts@google.com'],
19    'labels': ['Cr-Internals-Installer'],
20}
21
22DOC = """
23This is a test to verify that update_engine correctly checks
24signatures in the metadata hash and the update payload itself. This is
25achieved by feeding updates to update_engine where the private key
26used to make the signature, intentionally does not match with the
27public key used for verification.
28
29To run locally, you must set up the file
30
31  src/third_party/autotest/files/shadow_config.ini
32
33with the following content
34
35  [CROS]
36  devserver_dir = <full repo path>/src/platform/dev
37  dev_server = http://<hostname>:8080
38
39and then start devserver.py outside the chroot:
40
41  $ src/platform/dev/devserver.py
42
43With this in place, you can now run the test:
44
45  $ test_that --fast -b ${BOARD} <DUT_IP>    \
46                autoupdate_CatchBadSignatures
47
48"""
49
50def run_test(machine):
51    """Execute a test configuration on a given machine."""
52    host = hosts.create_host(machine)
53    job.run_test("autoupdate_CatchBadSignatures", host=host)
54
55# Invoke parallel tests.
56parallel_simple(run_test, machines)
57