blob: e65fccd331afd3734fca11ffea763f2ce5d51764 [file] [log] [blame]
# Copyright (c) 2012 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, os, time
from autotest_lib.client.bin import utils
from autotest_lib.client.common_lib import error
from autotest_lib.client.cros import cros_ui_test, pkcs11
class platform_Pkcs11Persistence(cros_ui_test.UITest):
version = 1
def initialize(self, creds='$default'):
super(platform_Pkcs11Persistence, self).initialize(creds)
def run_once(self):
if not pkcs11.is_chaps_enabled():
return
if not pkcs11.wait_for_pkcs11_token():
raise error.TestFail('The PKCS #11 token is not available.')
result = utils.system('p11_replay --generate --replay_wifi',
ignore_status = True)
if result != 0:
raise error.TestFail('Failed to setup PKCS #11 object.')
self.logout()
self.login()
if not pkcs11.wait_for_pkcs11_token():
raise error.TestFail('The PKCS #11 token is no longer available.')
result = utils.system('p11_replay --replay_wifi --cleanup',
ignore_status = True)
if result != 0:
raise error.TestFail('PKCS #11 object is no longer valid.')