[py-svn] r10580 - in py/branch/py-collect/test: . terminal testing
hpk at codespeak.net
hpk at codespeak.net
Wed Apr 13 15:57:20 CEST 2005
Author: hpk
Date: Wed Apr 13 15:57:20 2005
New Revision: 10580
Modified:
py/branch/py-collect/test/session.py
py/branch/py-collect/test/terminal/out.py
py/branch/py-collect/test/terminal/remote.py
py/branch/py-collect/test/terminal/terminal.py
py/branch/py-collect/test/testing/test_session.py
Log:
unifying Session.main() signature & invocation
making getout() a bit smarter
Modified: py/branch/py-collect/test/session.py
==============================================================================
--- py/branch/py-collect/test/session.py (original)
+++ py/branch/py-collect/test/session.py Wed Apr 13 15:57:20 2005
@@ -36,9 +36,9 @@
def warning(self, msg):
raise Warning(msg)
- def main(self, *args):
+ def main(self, args):
""" main loop for running tests. """
- colitems = map2colitems(args)
+ colitems = self._map2colitems(args)
try:
self.header(colitems)
try:
@@ -52,7 +52,6 @@
return [(str(item.listchain()[0].fspath), item.listnames())
for item, res in self.getresults(py.test.Item.Failed)]
-
def runtraced(self, colitem):
if self.shouldclose():
raise SystemExit, "received external close signal"
@@ -105,18 +104,19 @@
self.runtraced(obj)
return res
-def map2colitems(items):
- # first convert all path objects into collectors
- from py.__impl__.test.collect import getfscollector
- colitems = []
- for item in items:
- if isinstance(item, (list, tuple)):
- colitems.extend(map2colitems(item))
- elif not isinstance(item, py.test.collect.Collector):
- colitems.append(getfscollector(item))
- else:
- colitems.append(item)
- return colitems
+ def _map2colitems(items):
+ # first convert all path objects into collectors
+ from py.__impl__.test.collect import getfscollector
+ colitems = []
+ for item in items:
+ if isinstance(item, (list, tuple)):
+ colitems.extend(Session._map2colitems(item))
+ elif not isinstance(item, py.test.collect.Collector):
+ colitems.append(getfscollector(item))
+ else:
+ colitems.append(item)
+ return colitems
+ _map2colitems = staticmethod(_map2colitems)
class Exit(Exception):
""" for immediate program exits without tracebacks and reporter/summary. """
Modified: py/branch/py-collect/test/terminal/out.py
==============================================================================
--- py/branch/py-collect/test/terminal/out.py (original)
+++ py/branch/py-collect/test/terminal/out.py Wed Apr 13 15:57:20 2005
@@ -1,6 +1,9 @@
from __future__ import generators
import sys
import os
+import py
+
+from py.__impl__.execnet.channel import Channel
class Out(object):
tty = False
@@ -67,7 +70,18 @@
def getout(file):
# XXX investigate further into terminal output, this is not enough
#
- if False and file.isatty():
+ if file is None:
+ file = py.std.sys.stdout
+ elif hasattr(file, 'send'):
+ file = WriteFile(file)
+ if hasattr(file, 'isatty') and file.isatty():
return TerminalOut(file)
else:
return FileOut(file)
+
+class WriteFile(object):
+ def __init__(self, writemethod):
+ self.write = writemethod
+ def flush(self):
+ return
+
Modified: py/branch/py-collect/test/terminal/remote.py
==============================================================================
--- py/branch/py-collect/test/terminal/remote.py (original)
+++ py/branch/py-collect/test/terminal/remote.py Wed Apr 13 15:57:20 2005
@@ -3,7 +3,6 @@
from py.__impl__.execnet.channel import ChannelFile, receive2file
from py.__impl__.test.config import configbasename
from py.__impl__.test.collect import getfscollector
-from py.__impl__.test.session import map2colitems
import sys
def checkpyfilechange(rootdir, statcache={}):
Modified: py/branch/py-collect/test/terminal/terminal.py
==============================================================================
--- py/branch/py-collect/test/terminal/terminal.py (original)
+++ py/branch/py-collect/test/terminal/terminal.py Wed Apr 13 15:57:20 2005
@@ -1,14 +1,12 @@
import py
-from py.__impl__.test.terminal.out import getout
from time import time as now
Item = py.test.Item
+from py.__impl__.test.terminal.out import getout
class TerminalSession(py.test.Session):
def __init__(self, config, file=None):
super(TerminalSession, self).__init__(config)
- if file is None:
- file = py.std.sys.stdout
self.out = getout(file)
self._started = {}
self._opencollectors = []
Modified: py/branch/py-collect/test/testing/test_session.py
==============================================================================
--- py/branch/py-collect/test/testing/test_session.py (original)
+++ py/branch/py-collect/test/testing/test_session.py Wed Apr 13 15:57:20 2005
@@ -7,8 +7,8 @@
class TestDefaultSession:
def test_simple(self):
config, args = py.test.Config.parse([])
- session = config.getsessionclass()(config)
- session.main(datadir / 'filetest.py')
+ session = config.getsessionclass()(config, py.std.sys.stdout)
+ session.main([datadir / 'filetest.py'])
l = session.getresults(py.test.Item.Failed)
assert len(l) == 2
l = session.getresults(py.test.Item.Passed)
@@ -38,7 +38,7 @@
#f.flush()
def test_terminal(self):
- self.session.main(datadir / 'filetest.py')
+ self.session.main([datadir / 'filetest.py'])
out = self.file.getvalue()
#print "memo"
#print self.session._memo
@@ -51,7 +51,7 @@
def test_exit_first_problem(self):
session = self.session
session.config.option.exitfirstproblem = True
- session.main(str(datadir / 'filetest.py'))
+ session.main([str(datadir / 'filetest.py')])
l = session.getresults(py.test.Item.Failed)
assert len(l) == 1
l = session.getresults(py.test.Item.Passed)
@@ -60,7 +60,7 @@
def test_collectonly(self):
session = self.session
session.config.option.collectonly = True
- session.main(str(datadir / 'filetest.py'))
+ session.main([str(datadir / 'filetest.py')])
out = self.file.getvalue()
#print out
l = session.getresults(py.test.Item.Failed)
@@ -88,7 +88,7 @@
session = self.session
#session.config.option.nocapture = True
print "calling main", o
- session.main(str(o))
+ session.main([str(o)])
print "back from main", o
out = self.file.getvalue()
#print out
@@ -103,7 +103,7 @@
yield None
"""))
session = self.session
- session.main(o)
+ session.main([o])
out = self.file.getvalue()
#print out
i = out.find('TypeError')
More information about the pytest-commit
mailing list