| # Copyright 2021 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 logging |
| |
| from autotest_lib.client.common_lib import error |
| from autotest_lib.server import test |
| |
| |
| class firmware_FingerprintCrosConfig(test.test): |
| """Test Chrome OS config behavior for http://b/160271883.""" |
| version = 1 |
| |
| def initialize(self, host): |
| self.host = host |
| |
| def run_cmd(self, command, timeout=300): |
| """Runs command on the DUT; return result with output and exit code.""" |
| logging.debug('DUT Execute: %s', command) |
| result = self.host.run(command, timeout=timeout, ignore_status=True) |
| logging.info('exit_code: %d', result.exit_status) |
| logging.info('stdout:\n%s', result.stdout) |
| logging.info('stderr:\n%s', result.stderr) |
| return result |
| |
| def _run_cros_config_cmd_cat(self, command): |
| """Runs cat /run/chromeos-config/v1 on DUT; return result.""" |
| cmd = "cat /run/chromeos-config/v1/{}".format(command) |
| return self.run_cmd(cmd) |
| |
| def run_once(self): |
| """Run the test.""" |
| result = self._run_cros_config_cmd_cat('fingerprint/board') |
| if result.exit_status != 0: |
| raise error.TestFail( |
| 'Unable to get fingerprint board with cros_config') |
| logging.info('fingerprint board: %s\n', result.stdout.rstrip()) |