| Index: autotest/client/hardware_TPMCheck/hardware_TPMCheck.py
|
| diff --git a/autotest/client/hardware_TPMCheck/hardware_TPMCheck.py b/autotest/client/hardware_TPMCheck/hardware_TPMCheck.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..f2fae7e968789a41f5a106013ade96d6aee5dcec
|
| --- /dev/null
|
| +++ b/autotest/client/hardware_TPMCheck/hardware_TPMCheck.py
|
| @@ -0,0 +1,47 @@
|
| +# Copyright (c) 2010 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 os, re
|
| +from autotest_lib.client.bin import test, utils
|
| +from autotest_lib.client.common_lib import error
|
| +
|
| +def dict_from_command(command):
|
| + dict = {}
|
| + out = os.popen(command)
|
| + for linecr in out.readlines():
|
| + line = linecr.strip()
|
| + match = re.match("([^ ]+) (.*)", line)
|
| + k = match.group(1)
|
| + v = match.group(2)
|
| + dict[k] = v
|
| + return dict
|
| +
|
| +def expect(d, key, value):
|
| + if (d[key] != value):
|
| + utils.system("start tcsd", ignore_status=True)
|
| + raise error.TestError("expecting %s = %s, receiving %s = %s" %
|
| + (key, value, key, d[key]))
|
| +
|
| +class hardware_TPMCheck(test.test):
|
| + version = 1
|
| +
|
| + def run_once(self):
|
| + utils.system("stop tcsd", ignore_status=True)
|
| +
|
| + d = dict_from_command("tpmc getvf");
|
| + expect(d, "deactivated", "0")
|
| + expect(d, "physicalPresence", "0")
|
| + expect(d, "physicalPresenceLock", "1")
|
| + expect(d, "bGlobalLock", "1")
|
| +
|
| + d = dict_from_command("tpmc getpf");
|
| + expect(d, "disable", "0")
|
| + expect(d, "ownership", "1")
|
| + expect(d, "deactivated", "0")
|
| + expect(d, "physicalPresenceHWEnable", "0")
|
| + expect(d, "physicalPresenceCMDEnable", "1")
|
| + expect(d, "physicalPresenceLifetimeLock", "1")
|
| + expect(d, "nvLocked", "1")
|
| +
|
| + utils.system("start tcsd", ignore_status=True)
|
|
|