make genscript provide information as to compatibility

(now that argparse is a dependency on python2.6)
This commit is contained in:
holger krekel
2013-07-26 08:59:31 +02:00
parent 7a8134660f
commit 2a7c79dbf5
7 changed files with 51 additions and 11 deletions

View File

@@ -1,5 +1,6 @@
""" generate a single-file self-contained version of py.test """
import py
import sys
def find_toplevel(name):
for syspath in py.std.sys.path:
@@ -59,11 +60,21 @@ def pytest_addoption(parser):
def pytest_cmdline_main(config):
genscript = config.getvalue("genscript")
if genscript:
tw = py.io.TerminalWriter()
deps = ['py', '_pytest', 'pytest']
if sys.version_info < (2,7):
deps.append("argparse")
tw.line("generated script will run on python2.5-python3.3++")
else:
tw.line("WARNING: generated script will not run on python2.6 "
"or below due to 'argparse' dependency. Use python2.6 "
"to generate a python2.5/6 compatible script", red=True)
script = generate_script(
'import py; raise SystemExit(py.test.cmdline.main())',
['py', '_pytest', 'pytest'],
deps,
)
genscript = py.path.local(genscript)
genscript.write(script)
tw.line("generated pytest standalone script: %s" % genscript,
bold=True)
return 0