Mercurial > hg
changeset 9028:bea567ae3ff6
tests: add -3 switch to run-tests.py
author | Alejandro Santos <alejolp@alejolp.com> |
---|---|
date | Sun, 05 Jul 2009 10:59:54 +0200 |
parents | 8c441691d414 |
children | 0001e49f1c11 |
files | tests/run-tests.py |
diffstat | 1 files changed, 19 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/run-tests.py Sat Jul 04 15:26:14 2009 +0200 +++ b/tests/run-tests.py Sun Jul 05 10:59:54 2009 +0200 @@ -119,6 +119,8 @@ help="shortcut for --with-hg=<testdir>/../hg") parser.add_option("--pure", action="store_true", help="use pure Python code instead of C extensions") + parser.add_option("-3", "--py3k-warnings", action="store_true", + help="enable Py3k warnings on Python 2.6+") for option, default in defaults.items(): defaults[option] = int(os.environ.get(*default)) @@ -171,6 +173,10 @@ if options.interactive and options.jobs > 1: print '(--interactive overrides --jobs)' options.jobs = 1 + if options.py3k_warnings: + if sys.version_info[:2] < (2, 6) or sys.version_info[:2] >= (3, 0): + print 'ERROR: Py3k warnings switch can only be used on Python 2.6+' + sys.exit(1) return (options, args) @@ -299,6 +305,17 @@ f.close() os.chmod(os.path.join(BINDIR, 'diffstat'), 0700) + if options.py3k_warnings and not options.anycoverage: + vlog("# Updating hg command to enable Py3k Warnings switch") + f = open(os.path.join(BINDIR, 'hg'), 'r') + lines = [line.rstrip() for line in f] + lines[0] += ' -3' + f.close() + f = open(os.path.join(BINDIR, 'hg'), 'w') + for line in lines: + f.write(line + '\n') + f.close() + if options.anycoverage: vlog("# Installing coverage wrapper") os.environ['COVERAGE_FILE'] = COVERAGE_FILE @@ -432,7 +449,8 @@ lctest = test.lower() if lctest.endswith('.py') or firstline == '#!/usr/bin/env python': - cmd = '%s "%s"' % (PYTHON, testpath) + py3kswitch = options.py3k_warnings and ' -3' or '' + cmd = '%s%s "%s"' % (PYTHON, py3kswitch, testpath) elif lctest.endswith('.bat'): # do not run batch scripts on non-windows if os.name != 'nt':