Mercurial > hg-stable
comparison tests/run-tests.py @ 33565:0982d900dccb
run-tests: pass color option via test case object , not global var
At first I updated the color field of the 'options' object (from the
CLI parser), but then I decided to put it directly on the test case
object itself to avoid mutating the shared object (even though all
tests would have the same value).
Differential Revision: https://phab.mercurial-scm.org/D114
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Mon, 17 Jul 2017 16:15:15 -0700 |
parents | 2893face0af5 |
children | 97070cbf0813 |
comparison
equal
deleted
inserted
replaced
33564:91e3dcefc9b7 | 33565:0982d900dccb |
---|---|
1562 self._firststarttime = None | 1562 self._firststarttime = None |
1563 # Data stored for the benefit of generating xunit reports. | 1563 # Data stored for the benefit of generating xunit reports. |
1564 self.successes = [] | 1564 self.successes = [] |
1565 self.faildata = {} | 1565 self.faildata = {} |
1566 | 1566 |
1567 global with_color | 1567 if options.color == 'auto': |
1568 if not self.stream.isatty(): # check if the terminal is capable | 1568 self.color = with_color and self.stream.isatty() |
1569 with_color = False | 1569 elif options.color == 'never': |
1570 | 1570 self.color = False |
1571 if options.color != 'auto': | 1571 else: # 'always', for testing purposes |
1572 if options.color == 'never': | 1572 self.color = pygmentspresent |
1573 with_color = False | |
1574 else: # 'always', for testing purposes | |
1575 if pygmentspresent: | |
1576 with_color = True | |
1577 | 1573 |
1578 def addFailure(self, test, reason): | 1574 def addFailure(self, test, reason): |
1579 self.failures.append((test, reason)) | 1575 self.failures.append((test, reason)) |
1580 | 1576 |
1581 if self._options.first: | 1577 if self._options.first: |
1650 raise test.failureException( | 1646 raise test.failureException( |
1651 'server failed to start (HGPORT=%s)' % test._startport) | 1647 'server failed to start (HGPORT=%s)' % test._startport) |
1652 else: | 1648 else: |
1653 self.stream.write('\n') | 1649 self.stream.write('\n') |
1654 for line in lines: | 1650 for line in lines: |
1655 if with_color and pygmentspresent: | 1651 if self.color and pygmentspresent: |
1656 line = pygments.highlight( | 1652 line = pygments.highlight( |
1657 line, | 1653 line, |
1658 lexers.DiffLexer(), | 1654 lexers.DiffLexer(), |
1659 formatters.Terminal256Formatter()) | 1655 formatters.Terminal256Formatter()) |
1660 if PYTHON3: | 1656 if PYTHON3: |