blob: 120397338e1e04e5e7b1e75130a490b5e765c017 [file] [log] [blame]
# Copyright (c) 2013 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
from autotest_lib.server import test
from autotest_lib.server.cros import goofy_client
class factory_Basic(test.test):
"""Basic factory wrapper."""
version = 1
REMOTE_TEST_LIST_DIR = '/usr/local/factory/test_lists'
def initialize(self, host, test_list_path, test_list_name):
"""Initialize a goofy proxy and copy over the test lists.
@param host: The host to run this test on.
@param test_list_path: The local path of the test_list to copy
over to the DUT.
@param test_list_name: The name of the test list.
"""
self._goofy_client = goofy_client.GoofyProxy(host)
if test_list_path:
host.send_file(test_list_path,
os.path.join(self.REMOTE_TEST_LIST_DIR,
'test_list.%s' % test_list_name))
# For goofy to load any new tests lists we need a factory restart.
host.run('factory_restart -a')
def run_once(self, host, test_list_name):
"""Wait on all the tests in a test_list to finish.
@param test_list_name: The name of the tests list to wait on.
"""
self._goofy_client.monitor_tests(test_list_name)
self._goofy_client.get_results(self.resultsdir)