Files
OpenCellular/autotest/client/hardware_TPMCheck/hardware_TPMCheck.py
Luigi Semenzato 2845b97df6 Autotest that the TPM is in a sane state.
Change-Id: I2b0a692e9b6a6ef4df59f3555fc20f3abef28cd8

BUG=6061
TEST=ran on latest dogfood

Review URL: http://codereview.chromium.org/3530018
2010-10-08 11:33:07 -07:00

48 lines
1.5 KiB
Python

# 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)