1660 def _run(self, tests): |
1660 def _run(self, tests): |
1661 if self.options.random: |
1661 if self.options.random: |
1662 random.shuffle(tests) |
1662 random.shuffle(tests) |
1663 else: |
1663 else: |
1664 # keywords for slow tests |
1664 # keywords for slow tests |
1665 slow = b'svn gendoc check-code-hg'.split() |
1665 slow = {b'svn': 10, |
|
1666 b'gendoc': 10, |
|
1667 b'check-code-hg': 10, |
|
1668 } |
1666 def sortkey(f): |
1669 def sortkey(f): |
1667 # run largest tests first, as they tend to take the longest |
1670 # run largest tests first, as they tend to take the longest |
1668 try: |
1671 try: |
1669 val = -os.stat(f).st_size |
1672 val = -os.stat(f).st_size |
1670 except OSError as e: |
1673 except OSError as e: |
1671 if e.errno != errno.ENOENT: |
1674 if e.errno != errno.ENOENT: |
1672 raise |
1675 raise |
1673 return -1e9 # file does not exist, tell early |
1676 return -1e9 # file does not exist, tell early |
1674 for kw in slow: |
1677 for kw, mul in slow.iteritems(): |
1675 if kw in f: |
1678 if kw in f: |
1676 val *= 10 |
1679 val *= mul |
1677 return val |
1680 return val |
1678 tests.sort(key=sortkey) |
1681 tests.sort(key=sortkey) |
1679 |
1682 |
1680 self._testdir = osenvironb[b'TESTDIR'] = getattr( |
1683 self._testdir = osenvironb[b'TESTDIR'] = getattr( |
1681 os, 'getcwdb', os.getcwd)() |
1684 os, 'getcwdb', os.getcwd)() |