Encourage "python -m tornado.test.runtests" as the way to run the tests.

Remove execute bit from tornado/test/runtests.py, which would unexpectedly
run the tests from a globally-installed version of tornado when run directly.
Add a new runtests.sh to make the recommended behavior more discoverable.
Remove run_pyversion_tests.py, which has been superceded by tox.
Update docs.

Closes #545.
This commit is contained in:
Ben Darnell 2012-06-24 18:41:11 -07:00
parent d37ac92456
commit ef9df4d014
5 changed files with 13 additions and 42 deletions

View File

@ -9,4 +9,5 @@ include tornado/test/gettext_translations/fr_FR/LC_MESSAGES/tornado_test.mo
include tornado/test/gettext_translations/fr_FR/LC_MESSAGES/tornado_test.po
include tornado/test/static/robots.txt
include tornado/test/templates/utf8.html
include runtests.sh
global-exclude _auto2to3*

10
runtests.sh Executable file
View File

@ -0,0 +1,10 @@
#!/bin/sh
cd $(dirname $0)
# "python -m" differs from "python tornado/test/runtests.py" in how it sets
# up the default python path. "python -m" uses the current directory,
# while "python file.py" uses the directory containing "file.py" (which is
# not what you want if file.py appears within a package you want to import
# from)
python -m tornado.test.runtests "$@"

View File

@ -1,40 +0,0 @@
#!/usr/bin/env python
"""Runs the tornado test suite with all supported python interpreters."""
from __future__ import absolute_import, division, with_statement
import os
import subprocess
import sys
INTERPRETERS = [
"python2.5",
"python2.6",
"python2.7",
"auto2to3",
"pypy",
]
def exists_on_path(filename):
for dir in os.environ["PATH"].split(":"):
if os.path.exists(os.path.join(dir, filename)):
return True
return False
def main():
for interpreter in INTERPRETERS:
print "=================== %s =======================" % interpreter
if not exists_on_path(interpreter):
print "Interpreter not found, skipping..."
continue
args = [interpreter, "-m", "tornado.test.runtests"] + sys.argv[1:]
ret = subprocess.call(args)
if ret != 0:
print "Tests on %s failed with exit code %d" % (interpreter, ret)
sys.exit(ret)
print "All tests passed"
if __name__ == "__main__":
main()

0
tornado/test/runtests.py Executable file → Normal file
View File

View File

@ -388,9 +388,9 @@ def main():
be overridden by naming a single test on the command line::
# Runs all tests
tornado/test/runtests.py
python -m tornado.test.runtests
# Runs one test
tornado/test/runtests.py tornado.test.stack_context_test
python -m tornado.test.runtests tornado.test.stack_context_test
"""
from tornado.options import define, options, parse_command_line