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

Side by Side Diff: build/android/pylib/host_driven/python_test_sharder.py

Issue 11649008: Reorganize Android's test scripts into packages. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 11 months 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) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 The Chromium 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 """Takes care of sharding the python-drive tests in multiple devices.""" 5 """Takes care of sharding the python-drive tests in multiple devices."""
6 6
7 import copy 7 import copy
8 import logging 8 import logging
9 import multiprocessing 9 import multiprocessing
10 10
11 from pylib import sharded_tests_queue
12 from pylib.instrumentation.run_java_tests import FatalTestException
13 from pylib.test_result import TestResults
14
11 from python_test_caller import CallPythonTest 15 from python_test_caller import CallPythonTest
12 from run_java_tests import FatalTestException
13 import sharded_tests_queue
14 from test_result import TestResults
15 16
16 17
17 def SetTestsContainer(tests_container): 18 def SetTestsContainer(tests_container):
18 """Sets PythonTestSharder as a top-level field. 19 """Sets PythonTestSharder as a top-level field.
19 20
20 PythonTestSharder uses multiprocessing.Pool, which creates a pool of 21 PythonTestSharder uses multiprocessing.Pool, which creates a pool of
21 processes. This is used to initialize each worker in the pool, ensuring that 22 processes. This is used to initialize each worker in the pool, ensuring that
22 each worker has access to this shared pool of tests. 23 each worker has access to this shared pool of tests.
23 24
24 The multiprocessing module requires that this be a top-level method. 25 The multiprocessing module requires that this be a top-level method.
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 failed_tests: a list of SingleTestResults representing failed tests. 195 failed_tests: a list of SingleTestResults representing failed tests.
195 196
196 Returns: 197 Returns:
197 A list of test objects which correspond to test names found in 198 A list of test objects which correspond to test names found in
198 failed_tests, or an empty list if there is no correspondence. 199 failed_tests, or an empty list if there is no correspondence.
199 """ 200 """
200 failed_test_names = map(lambda t: t.test_name, failed_tests) 201 failed_test_names = map(lambda t: t.test_name, failed_tests)
201 tests_to_retry = [t for t in available_tests 202 tests_to_retry = [t for t in available_tests
202 if t.qualified_name in failed_test_names] 203 if t.qualified_name in failed_test_names]
203 return tests_to_retry 204 return tests_to_retry
OLDNEW
« no previous file with comments | « build/android/pylib/host_driven/python_test_caller.py ('k') | build/android/pylib/host_driven/run_python_tests.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698