# # A less memory-exploding version of regrtester.py. # It runs only a fraction of the tests. # import sys, re, psyco assert len(sys.argv) >= 2 match = re.match(r"(\d+)[/](\d+)", sys.argv[1]) assert match, "syntax: regrtester2.py n/m [-nodump] [seed]" n = int(match.group(1)) m = int(match.group(2)) assert 0 <= n < m import test.regrtest import regrtester def confirm_still_in_psyco(): return __in_psyco__ tests = [s for s in test.regrtest.findtests() if hash(s) % m == n and s not in test.regrtest.NOTTESTS] if __name__ == '__main__': if len(sys.argv) > 2 and sys.argv[2] == '-nodump': dump = 0 del sys.argv[2] else: dump = 1 import random, time seed = time.ctime() if len(sys.argv) > 2: seed = sys.argv[2] del sys.argv[2] print 'Random seed is %r' % seed random.seed(seed) random.shuffle(tests) fully_in_psyco = confirm_still_in_psyco() try: test.regrtest.main(tests) #, verbose=1) finally: if dump: psyco.dumpcodebuf() if fully_in_psyco: assert confirm_still_in_psyco()