Mercurial > hg
comparison tests/run-tests.py @ 21515:9978ff48b1e8
run-tests: move extra config options to Test.__init__
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Tue, 22 Apr 2014 12:13:40 -0700 |
parents | 59fe123dbb00 |
children | 1e275c09242e |
comparison
equal
deleted
inserted
replaced
21514:59fe123dbb00 | 21515:9978ff48b1e8 |
---|---|
339 SKIPPED_STATUS = 80 | 339 SKIPPED_STATUS = 80 |
340 | 340 |
341 def __init__(self, options, path, tmpdir, abort, keeptmpdir=False, | 341 def __init__(self, options, path, tmpdir, abort, keeptmpdir=False, |
342 debug=False, nodiff=False, diffviewer=None, | 342 debug=False, nodiff=False, diffviewer=None, |
343 interactive=False, timeout=defaults['timeout'], | 343 interactive=False, timeout=defaults['timeout'], |
344 startport=defaults['port']): | 344 startport=defaults['port'], extraconfigopts=None): |
345 """Create a test from parameters. | 345 """Create a test from parameters. |
346 | 346 |
347 options are parsed command line options that control test execution. | 347 options are parsed command line options that control test execution. |
348 | 348 |
349 path is the full path to the file defining the test. | 349 path is the full path to the file defining the test. |
371 | 371 |
372 startport controls the starting port number to use for this test. Each | 372 startport controls the starting port number to use for this test. Each |
373 test will reserve 3 port numbers for execution. It is the caller's | 373 test will reserve 3 port numbers for execution. It is the caller's |
374 responsibility to allocate a non-overlapping port range to Test | 374 responsibility to allocate a non-overlapping port range to Test |
375 instances. | 375 instances. |
376 | |
377 extraconfigopts is an iterable of extra hgrc config options. Values | |
378 must have the form "key=value" (something understood by hgrc). Values | |
379 of the form "foo.key=value" will result in "[foo] key=value". | |
376 """ | 380 """ |
377 | 381 |
378 self.path = path | 382 self.path = path |
379 self.name = os.path.basename(path) | 383 self.name = os.path.basename(path) |
380 self._testdir = os.path.dirname(path) | 384 self._testdir = os.path.dirname(path) |
388 self._nodiff = nodiff | 392 self._nodiff = nodiff |
389 self._diffviewer = diffviewer | 393 self._diffviewer = diffviewer |
390 self._interactive = interactive | 394 self._interactive = interactive |
391 self._timeout = timeout | 395 self._timeout = timeout |
392 self._startport = startport | 396 self._startport = startport |
397 self._extraconfigopts = extraconfigopts or [] | |
393 self._daemonpids = [] | 398 self._daemonpids = [] |
394 | 399 |
395 self._finished = None | 400 self._finished = None |
396 self._ret = None | 401 self._ret = None |
397 self._out = None | 402 self._out = None |
641 hgrc.write('[defaults]\n') | 646 hgrc.write('[defaults]\n') |
642 hgrc.write('backout = -d "0 0"\n') | 647 hgrc.write('backout = -d "0 0"\n') |
643 hgrc.write('commit = -d "0 0"\n') | 648 hgrc.write('commit = -d "0 0"\n') |
644 hgrc.write('shelve = --date "0 0"\n') | 649 hgrc.write('shelve = --date "0 0"\n') |
645 hgrc.write('tag = -d "0 0"\n') | 650 hgrc.write('tag = -d "0 0"\n') |
646 if self._options.extra_config_opt: | 651 for opt in self._extraconfigopts: |
647 for opt in self._options.extra_config_opt: | 652 section, key = opt.split('.', 1) |
648 section, key = opt.split('.', 1) | 653 assert '=' in key, ('extra config opt %s must ' |
649 assert '=' in key, ('extra config opt %s must ' | 654 'have an = for assignment' % opt) |
650 'have an = for assignment' % opt) | 655 hgrc.write('[%s]\n%s\n' % (section, key)) |
651 hgrc.write('[%s]\n%s\n' % (section, key)) | |
652 hgrc.close() | 656 hgrc.close() |
653 | 657 |
654 def fail(self, msg, ret): | 658 def fail(self, msg, ret): |
655 warned = ret is False | 659 warned = ret is False |
656 if not self._nodiff: | 660 if not self._nodiff: |
1515 debug=self.options.debug, | 1519 debug=self.options.debug, |
1516 nodiff = self.options.nodiff, | 1520 nodiff = self.options.nodiff, |
1517 diffviewer=self.options.view, | 1521 diffviewer=self.options.view, |
1518 interactive=self.options.interactive, | 1522 interactive=self.options.interactive, |
1519 timeout=self.options.timeout, | 1523 timeout=self.options.timeout, |
1520 startport=self.options.port + count * 3) | 1524 startport=self.options.port + count * 3, |
1525 extraconfigopts=self.options.extra_config_opt) | |
1521 | 1526 |
1522 def _cleanup(self): | 1527 def _cleanup(self): |
1523 """Clean up state from this test invocation.""" | 1528 """Clean up state from this test invocation.""" |
1524 | 1529 |
1525 if self.options.keep_tmpdir: | 1530 if self.options.keep_tmpdir: |