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

Unified Diff: install_test/run_install_tests.py

Issue 11553041: Remove pyautolib dependency (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/chrome/test/
Patch Set: Created 8 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 side-by-side diff with in-line comments
Download patch
Index: install_test/run_install_tests.py
===================================================================
--- install_test/run_install_tests.py (revision 172669)
+++ install_test/run_install_tests.py (working copy)
@@ -19,7 +19,6 @@
--install-build=24.0.1290.0 --update-builds=24.0.1289.0,24.0.1290.0
"""
-import fnmatch
import logging
import optparse
import os
@@ -30,11 +29,9 @@
import chrome_installer_win
from install_test import InstallTest
-_DIRECTORY = os.path.dirname(os.path.abspath(__file__))
-sys.path.append(os.path.join(os.path.dirname(_DIRECTORY), 'pyautolib'))
+from common import unittest_util
+from common import util
-import pyauto_utils
-
# To run tests from a module, append the module name to this list.
_TEST_MODULES = ['sample_updater']
@@ -96,7 +93,7 @@
for build in builds:
if not re.match('\d+\.\d+\.\d+\.\d+', build):
raise RuntimeError('Invalid build number: %s' % build)
- if not pyauto_utils.DoesUrlExist('%s/%s/' % (self._opts.url, build)):
+ if not util.DoesUrlExist('%s/%s/' % (self._opts.url, build)):
raise RuntimeError('Could not locate build no. %s' % build)
def _SetLoggingConfiguration(self):
@@ -104,100 +101,18 @@
log_format = '%(asctime)s %(levelname)-8s %(message)s'
logging.basicConfig(level=logging.INFO, format=log_format)
- def _GetTestsFromSuite(self, suite):
- """Returns all the tests from a given test suite.
-
- Args:
- suite: A unittest.TestSuite object.
-
- Returns:
- A list that contains all the tests found in the suite.
- """
- tests = []
- for test in suite:
- if isinstance(test, unittest.TestSuite):
- tests += self._GetTestsFromSuite(test)
- else:
- tests += [test]
- return tests
-
- def _GetTestName(self, test):
- """Gets the test name of the given unittest test.
-
- Args:
- test: A unittest test.
-
- Returns:
- A string representing the full test name.
- """
- return '.'.join([test.__module__, test.__class__.__name__,
- test._testMethodName])
-
- def _FilterTestSuite(self, suite, gtest_filter):
- """Returns a new filtered test suite based on the given gtest filter.
-
- See http://code.google.com/p/googletest/wiki/AdvancedGuide for
- gtest_filter specification.
-
- Args:
- suite: A unittest.TestSuite object, which can be obtained by calling
- |unittest.defaultTestLoader.loadTestsFromName|.
- gtest_filter: The gtest filter to use. Filter can be passed as follows:
- --filter=*className* or --filter=*testcaseName.
-
- Returns:
- A unittest.TestSuite object that contains tests that match the gtest
- filter.
- """
- return unittest.TestSuite(
- self._FilterTests(self._GetTestsFromSuite(suite), gtest_filter))
-
- def _FilterTests(self, all_tests, gtest_filter):
- """Returns a filtered list of tests based on the given gtest filter.
-
- Args:
- all_tests: A list that contains all unittests in a given suite. This
- list must be obtained by calling |_GetTestsFromSuite|.
- gtest_filter: The gtest filter to use. Filter can be passed as follows:
- *className* or *testcaseName.
-
- Returns:
- A list that contains all tests that match the given gtest filter.
- """
- pattern_groups = gtest_filter.split('-')
- positive_patterns = pattern_groups[0].split(':')
- negative_patterns = None
- if len(pattern_groups) > 1:
- negative_patterns = pattern_groups[1].split(':')
- tests = []
- for test in all_tests:
- test_name = self._GetTestName(test)
- # Test name must by matched by one positive pattern.
- for pattern in positive_patterns:
- if fnmatch.fnmatch(test_name, pattern):
- break
- else:
- continue
- # Test name must not be matched by any negative patterns.
- for pattern in negative_patterns or []:
- if fnmatch.fnmatch(test_name, pattern):
- break
- else:
- tests += [test]
- return tests
-
def _Run(self):
"""Runs the unit tests."""
all_tests = unittest.defaultTestLoader.loadTestsFromNames(_TEST_MODULES)
- tests = self._FilterTestSuite(all_tests, self._opts.filter)
- result = pyauto_utils.GTestTextTestRunner(verbosity=1).run(tests)
+ tests = unittest_util.FilterTestSuite(all_tests, self._opts.filter)
+ result = unittest_util.TextTestRunner(verbosity=1).run(tests)
# Run tests again if installation type is 'both'(i.e., user and system).
if self._opts.install_type == 'both':
# Load the tests again so test parameters can be reinitialized.
all_tests = unittest.defaultTestLoader.loadTestsFromNames(_TEST_MODULES)
- tests = self._FilterTestSuite(all_tests, self._opts.filter)
+ tests = unittest_util.FilterTestSuite(all_tests, self._opts.filter)
InstallTest.SetInstallType(chrome_installer_win.InstallationType.SYSTEM)
- result = pyauto_utils.GTestTextTestRunner(verbosity=1).run(tests)
+ result = unittest_util.TextTestRunner(verbosity=1).run(tests)
del(tests)
if not result.wasSuccessful():
print >>sys.stderr, ('Not all tests were successful.')

Powered by Google App Engine
This is Rietveld 408576698