allow to run py.test.cmdline.main() multiple times.
--HG-- branch : trunk
This commit is contained in:
parent
0f5ed3abc7
commit
8ba2a98e11
|
@ -1,7 +1,14 @@
|
||||||
Changes between 1.3.0 and 1.3.1
|
Changes between 1.3.0 and 1.3.1
|
||||||
==================================================
|
==================================================
|
||||||
|
|
||||||
- improve tracebacks showing:
|
- make py.test.cmdline.main() return the exitstatus
|
||||||
|
instead of raising (which is still done by py.cmdline.pytest())
|
||||||
|
and make it so that py.test.cmdline.main() can be called
|
||||||
|
multiple times, at least as far as py.test's internal
|
||||||
|
state is concerned - previously it would raise an exception
|
||||||
|
on the second time.
|
||||||
|
|
||||||
|
- improve tracebacks presentation:
|
||||||
- raises shows shorter more relevant tracebacks
|
- raises shows shorter more relevant tracebacks
|
||||||
|
|
||||||
Changes between 1.2.1 and 1.3.0
|
Changes between 1.2.1 and 1.3.0
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
"""
|
"""
|
||||||
this little helper allows to run tests multiple times
|
this little helper allows to run tests multiple times
|
||||||
in the same process. useful for running tests from
|
in the same process. useful for running tests from
|
||||||
a console.
|
a console.
|
||||||
|
|
||||||
|
NOTE: since 1.3.1 you can just call py.test.cmdline.main()
|
||||||
|
multiple times - no special logic needed.
|
||||||
"""
|
"""
|
||||||
import py, sys
|
import py, sys
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,6 @@ py.apipkg.initpkg(__name__, dict(
|
||||||
'pytest': '._cmdline.pytest:main',
|
'pytest': '._cmdline.pytest:main',
|
||||||
'pylookup': '._cmdline.pylookup:main',
|
'pylookup': '._cmdline.pylookup:main',
|
||||||
'pycountloc': '._cmdline.pycountlog:main',
|
'pycountloc': '._cmdline.pycountlog:main',
|
||||||
'pytest': '._test.cmdline:main',
|
|
||||||
'pylookup': '._cmdline.pylookup:main',
|
'pylookup': '._cmdline.pylookup:main',
|
||||||
'pycountloc': '._cmdline.pycountloc:main',
|
'pycountloc': '._cmdline.pycountloc:main',
|
||||||
'pycleanup': '._cmdline.pycleanup:main',
|
'pycleanup': '._cmdline.pycleanup:main',
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
import py
|
import py
|
||||||
|
|
||||||
def main(args):
|
def main(args=None):
|
||||||
py.test.cmdline.main(args)
|
raise SystemExit(py.test.cmdline.main(args))
|
||||||
|
|
|
@ -16,8 +16,9 @@ def main(args=None):
|
||||||
colitems = config.getinitialnodes()
|
colitems = config.getinitialnodes()
|
||||||
exitstatus = session.main(colitems)
|
exitstatus = session.main(colitems)
|
||||||
config.pluginmanager.do_unconfigure(config)
|
config.pluginmanager.do_unconfigure(config)
|
||||||
raise SystemExit(exitstatus)
|
|
||||||
except config.Error:
|
except config.Error:
|
||||||
e = sys.exc_info()[1]
|
e = sys.exc_info()[1]
|
||||||
sys.stderr.write("ERROR: %s\n" %(e.args[0],))
|
sys.stderr.write("ERROR: %s\n" %(e.args[0],))
|
||||||
raise SystemExit(3)
|
exitstatus = 3
|
||||||
|
py.test.config = py.test.config.__class__()
|
||||||
|
return exitstatus
|
||||||
|
|
|
@ -89,3 +89,19 @@ class TestGeneralUsage:
|
||||||
assert result.ret == 0
|
assert result.ret == 0
|
||||||
s = result.stdout.str()
|
s = result.stdout.str()
|
||||||
assert 'MarkGenerator' in s
|
assert 'MarkGenerator' in s
|
||||||
|
|
||||||
|
def test_double_pytestcmdline(self, testdir):
|
||||||
|
p = testdir.makepyfile(run="""
|
||||||
|
import py
|
||||||
|
py.test.cmdline.main()
|
||||||
|
py.test.cmdline.main()
|
||||||
|
""")
|
||||||
|
testdir.makepyfile("""
|
||||||
|
def test_hello():
|
||||||
|
pass
|
||||||
|
""")
|
||||||
|
result = testdir.runpython(p)
|
||||||
|
result.stdout.fnmatch_lines([
|
||||||
|
"*1 passed*",
|
||||||
|
"*1 passed*",
|
||||||
|
])
|
||||||
|
|
Loading…
Reference in New Issue