1# Copyright (c) 2013 The Chromium OS Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5import os 6from autotest_lib.client.bin import test 7from autotest_lib.client.common_lib import error 8from telemetry.testing import run_chromeos_tests 9 10 11class telemetry_UnitTests(test.test): 12 """This is a client side wrapper for the Telemetry unit tests.""" 13 version = 1 14 15 16 def run_once(self, browser_type, unit_tests, perf_tests): 17 """Runs telemetry/perf unit tests. 18 19 @param browser_type: The string type of browser to use, e.g., 'system'. 20 @param unit_tests: list of unit tests to run, [''] is all tests, 21 [] is no tests. 22 @param perf_tests: list of perf unit tests to run, [''] is all tests, 23 [] is no tests. 24 """ 25 tests_to_run = [] 26 tools_dir = '/usr/local/telemetry/src/tools/' 27 if unit_tests: 28 tests_to_run.append((os.path.join(tools_dir, 'telemetry'), 29 unit_tests)) 30 if perf_tests: 31 tests_to_run.append((os.path.join(tools_dir, 'perf'), 32 perf_tests)) 33 error_str = run_chromeos_tests.RunChromeOSTests(browser_type, 34 tests_to_run) 35 if error_str: 36 raise error.TestFail(error_str) 37