# Copyright 2016 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. import common from autotest_lib.client.common_lib import error from autotest_lib.server import test class brillo_NVRAM(test.test): """Test Access-Controlled NVRAM HAL functionality.""" version = 1 TEST_EXECUTABLE = '/data/nativetest/nvram_hal_test/nvram_hal_test' def _get_prop(self, host, property_name): """Returns the value of a system property. @param host: A host object representing the DUT. @param property_name: A string holding the property name. @return: A string holding the property value. """ return host.run_output('getprop %s' % property_name).strip() def run_once(self, host=None): """Runs the test. @param host: A host object representing the DUT. @raise TestFail: The test executable returned an error. """ try: if self._get_prop(host, 'ro.hardware.nvram') == 'testing': raise error.TestFail('NVRAM HAL is not hardware-backed') host.run(self.TEST_EXECUTABLE) except error.GenericHostRunError as run_error: raise error.TestFail(run_error)