Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6)

Side by Side Diff: client/cros/chrome_test.py

Issue 5740004: Move site_chrome_test, site_logging, site_log_reader, site_crash_test into cros dir. (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/autotest.git@master
Patch Set: patch Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. 1 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import logging, os, re, shutil, subprocess, tempfile, utils 5 import logging, os, re, shutil, subprocess, tempfile, utils
6 import common
kmixter1 2010/12/16 03:12:57 style is to put these all on one line. Should you
ericli 2010/12/17 21:48:39 common is a very special hack by autotest design,
7 import ui
6 from autotest_lib.client.bin import test 8 from autotest_lib.client.bin import test
7 from autotest_lib.client.common_lib import error, global_config, site_ui 9 from autotest_lib.client.common_lib import error, global_config
8 10
9 class ChromeTestBase(test.test): 11 class ChromeTestBase(test.test):
10 home_dir = None 12 home_dir = None
11 13
12 def setup(self): 14 def setup(self):
13 self.job.setup_dep(['chrome_test']) 15 self.job.setup_dep(['chrome_test'])
14 # create a empty srcdir to prevent the error that checks .version file 16 # create a empty srcdir to prevent the error that checks .version file
15 if not os.path.exists(self.srcdir): 17 if not os.path.exists(self.srcdir):
16 os.mkdir(self.srcdir) 18 os.mkdir(self.srcdir)
17 19
(...skipping 23 matching lines...) Expand all
41 return filter(lambda(x): not matcher.match(x), tests) 43 return filter(lambda(x): not matcher.match(x), tests)
42 44
43 45
44 def list_chrome_tests(self, test_binary): 46 def list_chrome_tests(self, test_binary):
45 all_tests = [] 47 all_tests = []
46 try: 48 try:
47 cmd = '%s/%s --gtest_list_tests' % (self.test_binary_dir, 49 cmd = '%s/%s --gtest_list_tests' % (self.test_binary_dir,
48 test_binary) 50 test_binary)
49 cmd = 'HOME=%s CR_SOURCE_ROOT=%s %s' % (self.home_dir, 51 cmd = 'HOME=%s CR_SOURCE_ROOT=%s %s' % (self.home_dir,
50 self.cr_source_dir, 52 self.cr_source_dir,
51 site_ui.xcommand(cmd)) 53 ui.xcommand(cmd))
52 logging.debug("Running %s" % cmd) 54 logging.debug("Running %s" % cmd)
53 test_proc = subprocess.Popen(cmd, 55 test_proc = subprocess.Popen(cmd,
54 shell=True, 56 shell=True,
55 stdout=subprocess.PIPE) 57 stdout=subprocess.PIPE)
56 last_suite = None 58 last_suite = None
57 skipper = re.compile('YOU HAVE') 59 skipper = re.compile('YOU HAVE')
58 for line in test_proc.stdout: 60 for line in test_proc.stdout:
59 stripped = line.lstrip() 61 stripped = line.lstrip()
60 if stripped == '' or skipper.match(stripped): 62 if stripped == '' or skipper.match(stripped):
61 continue 63 continue
62 elif (stripped == line): 64 elif (stripped == line):
63 last_suite = stripped.rstrip() 65 last_suite = stripped.rstrip()
64 else: 66 else:
65 all_tests.append(last_suite+stripped.rstrip()) 67 all_tests.append(last_suite+stripped.rstrip())
66 except OSError, e: 68 except OSError, e:
67 logging.debug(e) 69 logging.debug(e)
68 raise error.TestFail('Failed to list tests in %s!' % test_binary) 70 raise error.TestFail('Failed to list tests in %s!' % test_binary)
69 return all_tests 71 return all_tests
70 72
71 73
72 def run_chrome_test(self, test_to_run, extra_params=''): 74 def run_chrome_test(self, test_to_run, extra_params=''):
73 try: 75 try:
74 cmd = '%s/%s %s' % (self.test_binary_dir, test_to_run, extra_params) 76 cmd = '%s/%s %s' % (self.test_binary_dir, test_to_run, extra_params)
75 cmd = 'HOME=%s CR_SOURCE_ROOT=%s %s' % (self.home_dir, 77 cmd = 'HOME=%s CR_SOURCE_ROOT=%s %s' % (self.home_dir,
76 self.cr_source_dir, 78 self.cr_source_dir,
77 site_ui.xcommand(cmd)) 79 ui.xcommand(cmd))
78 utils.system(cmd) 80 utils.system(cmd)
79 except error.CmdError, e: 81 except error.CmdError, e:
80 logging.debug(e) 82 logging.debug(e)
81 raise error.TestFail('%s failed!' % test_to_run) 83 raise error.TestFail('%s failed!' % test_to_run)
82 84
83 85
84 def generate_test_list(self, binary, group, total_groups): 86 def generate_test_list(self, binary, group, total_groups):
85 all_tests = self.list_chrome_tests(self.binary_to_run) 87 all_tests = self.list_chrome_tests(self.binary_to_run)
86 group_size = len(all_tests)/total_groups + 1 # to be safe 88 group_size = len(all_tests)/total_groups + 1 # to be safe
87 return all_tests[group*group_size:group*group_size+group_size] 89 return all_tests[group*group_size:group*group_size+group_size]
88 90
89 91
90 def cleanup(self): 92 def cleanup(self):
91 if self.home_dir: 93 if self.home_dir:
92 shutil.rmtree(self.home_dir, ignore_errors=True) 94 shutil.rmtree(self.home_dir, ignore_errors=True)
93 test.test.cleanup(self) 95 test.test.cleanup(self)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698