Show More
@@ -170,6 +170,8 b' def getparser():' | |||||
170 | help="shortcut for --with-hg=<testdir>/../hg") |
|
170 | help="shortcut for --with-hg=<testdir>/../hg") | |
171 | parser.add_option("--loop", action="store_true", |
|
171 | parser.add_option("--loop", action="store_true", | |
172 | help="loop tests repeatedly") |
|
172 | help="loop tests repeatedly") | |
|
173 | parser.add_option("--runs-per-test", type="int", dest="runs_per_test", | |||
|
174 | help="run each test N times (default=1)", default=1) | |||
173 | parser.add_option("-n", "--nodiff", action="store_true", |
|
175 | parser.add_option("-n", "--nodiff", action="store_true", | |
174 | help="skip showing test changes") |
|
176 | help="skip showing test changes") | |
175 | parser.add_option("-p", "--port", type="int", |
|
177 | parser.add_option("-p", "--port", type="int", | |
@@ -1288,7 +1290,7 b' class TestSuite(unittest.TestSuite):' | |||||
1288 | """Custom unittest TestSuite that knows how to execute Mercurial tests.""" |
|
1290 | """Custom unittest TestSuite that knows how to execute Mercurial tests.""" | |
1289 |
|
1291 | |||
1290 | def __init__(self, testdir, jobs=1, whitelist=None, blacklist=None, |
|
1292 | def __init__(self, testdir, jobs=1, whitelist=None, blacklist=None, | |
1291 | retest=False, keywords=None, loop=False, |
|
1293 | retest=False, keywords=None, loop=False, runs_per_test=1, | |
1292 | *args, **kwargs): |
|
1294 | *args, **kwargs): | |
1293 | """Create a new instance that can run tests with a configuration. |
|
1295 | """Create a new instance that can run tests with a configuration. | |
1294 |
|
1296 | |||
@@ -1323,6 +1325,7 b' class TestSuite(unittest.TestSuite):' | |||||
1323 | self._retest = retest |
|
1325 | self._retest = retest | |
1324 | self._keywords = keywords |
|
1326 | self._keywords = keywords | |
1325 | self._loop = loop |
|
1327 | self._loop = loop | |
|
1328 | self._runs_per_test = runs_per_test | |||
1326 |
|
1329 | |||
1327 | def run(self, result): |
|
1330 | def run(self, result): | |
1328 | # We have a number of filters that need to be applied. We do this |
|
1331 | # We have a number of filters that need to be applied. We do this | |
@@ -1356,7 +1359,7 b' class TestSuite(unittest.TestSuite):' | |||||
1356 |
|
1359 | |||
1357 | if ignored: |
|
1360 | if ignored: | |
1358 | continue |
|
1361 | continue | |
1359 |
|
1362 | for _ in xrange(self._runs_per_test): | ||
1360 | tests.append(test) |
|
1363 | tests.append(test) | |
1361 |
|
1364 | |||
1362 | runtests = list(tests) |
|
1365 | runtests = list(tests) | |
@@ -1729,6 +1732,7 b' class TestRunner(object):' | |||||
1729 | retest=self.options.retest, |
|
1732 | retest=self.options.retest, | |
1730 | keywords=self.options.keywords, |
|
1733 | keywords=self.options.keywords, | |
1731 | loop=self.options.loop, |
|
1734 | loop=self.options.loop, | |
|
1735 | runs_per_test=self.options.runs_per_test, | |||
1732 | tests=tests) |
|
1736 | tests=tests) | |
1733 | verbosity = 1 |
|
1737 | verbosity = 1 | |
1734 | if self.options.verbose: |
|
1738 | if self.options.verbose: |
General Comments 0
You need to be logged in to leave comments.
Login now