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" 16BUG_TEMPLATE = { 17 'cc': ['chromeos-installer-alerts@google.com'], 18 'components': ['Internals>Installer'], 19} 20 21DOC = """ 22This is a test to verify that update_engine correctly checks 23signatures in the metadata hash and the update payload itself. This is 24achieved by feeding updates to update_engine where the private key 25used to make the signature, intentionally does not match with the 26public key used for verification. 27 28To run locally, you must set up the file 29 30 src/third_party/autotest/files/shadow_config.ini 31 32with the following content 33 34 [CROS] 35 devserver_dir = <full chroot path>/src/platform/dev 36 dev_server = http://<hostname>:8080 37 38and then start devserver inside the chroot: 39 40 $ cd ~/trunk/src/scripts 41 $ ./start_devserver 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