[py-svn] r9623 - in py/branch/py-collect/test2: . report/testing report/text testing testing/data tool tool/testing
hpk at codespeak.net
hpk at codespeak.net
Fri Mar 4 13:27:08 CET 2005
Author: hpk
Date: Fri Mar 4 13:27:07 2005
New Revision: 9623
Modified:
py/branch/py-collect/test2/cmdline.py
py/branch/py-collect/test2/collect.py
py/branch/py-collect/test2/config.py
py/branch/py-collect/test2/defaultconfig.py
py/branch/py-collect/test2/drive.py
py/branch/py-collect/test2/item.py
py/branch/py-collect/test2/report/testing/test_memo.py
py/branch/py-collect/test2/report/text/reporter.py
py/branch/py-collect/test2/report/text/summary.py
py/branch/py-collect/test2/run.py
py/branch/py-collect/test2/terminal.py
py/branch/py-collect/test2/testing/data/filetest.py
py/branch/py-collect/test2/testing/test_api.py
py/branch/py-collect/test2/testing/test_collect.py
py/branch/py-collect/test2/testing/test_config.py
py/branch/py-collect/test2/testing/test_drive.py
py/branch/py-collect/test2/testing/test_setup_nested.py
py/branch/py-collect/test2/tool/optparse.py
py/branch/py-collect/test2/tool/outerrcapture.py
py/branch/py-collect/test2/tool/testing/test_outerrcapture.py
Log:
intermediate checkin (test2 begins to do its work ...)
Modified: py/branch/py-collect/test2/cmdline.py
==============================================================================
--- py/branch/py-collect/test2/cmdline.py (original)
+++ py/branch/py-collect/test2/cmdline.py Fri Mar 4 13:27:07 2005
@@ -1,30 +1,20 @@
from __future__ import generators
import py
import sys
-from py.__impl__.test import run
+from py.__impl__.test2 import run
#
# main entry point
#
-def _old(argv):
- if argv is None:
- argv = py.std.sys.argv
- frame = py.std.sys._getframe(1)
- name = frame.f_locals.get('__name__')
- if name != '__main__':
- return # called from an imported test file
- import __main__
- return [py.test.collect.Module(py.std.sys.argv[0])]
-
def main():
args = py.std.sys.argv[1:]
- py.test.config.readconfiguration(*run.getanchors(args))
+ py.test2.config.readconfiguration(*run.getanchors(args))
- filenames = py.test.config.parseargs(args)
+ filenames = py.test2.config.parseargs(args)
if not filenames:
filenames.append(str(py.path.local()))
- option = py.test.config.option
+ option = py.test2.config.option
try:
if option.session or option.executable:
run.session(args, filenames)
Modified: py/branch/py-collect/test2/collect.py
==============================================================================
--- py/branch/py-collect/test2/collect.py (original)
+++ py/branch/py-collect/test2/collect.py Fri Mar 4 13:27:07 2005
@@ -234,12 +234,12 @@
obj = property(obj, None, None, "module object")
def setup(self):
- if hasattr(self, 'setup_module'):
- self.setup_module(self.obj)
+ if hasattr(self.obj, 'setup_module'):
+ self.obj.setup_module(self.obj)
def teardown(self):
- if hasattr(self, 'teardown_module'):
- self.teardown_module(self.obj)
+ if hasattr(self.obj, 'teardown_module'):
+ self.obj.teardown_module(self.obj)
class Class(PyCollectorMixin, Collector):
def run(self):
@@ -252,13 +252,15 @@
return self.Instance(name, self)
def setup(self):
- setup_class = self.obj.__dict__.get('setup_class', None)
+ setup_class = getattr(self.obj, 'setup_class', None)
if setup_class is not None:
+ setup_class = getattr(setup_class, 'im_func', setup_class)
setup_class(self.obj)
def teardown(self):
- teardown_class = self.obj.__dict__.get('teardown_class', None)
+ teardown_class = getattr(self.obj, 'teardown_class', None)
if teardown_class is not None:
+ teardown_class = getattr(teardown_class, 'im_func', teardown_class)
teardown_class(self.obj)
class Instance(PyCollectorMixin, Collector):
Modified: py/branch/py-collect/test2/config.py
==============================================================================
--- py/branch/py-collect/test2/config.py (original)
+++ py/branch/py-collect/test2/config.py Fri Mar 4 13:27:07 2005
@@ -1,7 +1,7 @@
from __future__ import generators
import py
-from py.__impl__.test.tool import optparse
+from py.__impl__.test2.tool import optparse
defaultconfig = py.magic.autopath().dirpath('defaultconfig.py')
defaultconfig = py.path.extpy(defaultconfig)
@@ -71,7 +71,7 @@
def parseargs(self, args):
# first a small fight with optparse to merge the
- # pytest.py file options correctly
+ # conftest.py file options correctly
parser = optparse.OptionParser()
for config in self.configpaths:
meth = config.join('options')
@@ -87,11 +87,10 @@
value = self.getfirst(option.dest, option.default)
#print "setting %r to %r" %(option.dest, value)
setattr(self.option, option.dest, value)
- option.default = 'NODEFAULT'
+ #option.default = 'NODEFAULT'
# parse cmdline args
cmdlineoption, remaining = parser.parse_args(args, self.option)
-
self.fixoptions()
# override previously computed defaults
#for name in cmdlineoption.__dict__:
Modified: py/branch/py-collect/test2/defaultconfig.py
==============================================================================
--- py/branch/py-collect/test2/defaultconfig.py (original)
+++ py/branch/py-collect/test2/defaultconfig.py Fri Mar 4 13:27:07 2005
@@ -1,5 +1,5 @@
import py
-Option = py.test.Option
+Option = py.test2.Option
Module = py.test2.Module
Directory = py.test2.Directory
@@ -9,7 +9,7 @@
Instance = py.test2.Instance
def getreporter():
- return py.test.TextReporter()
+ return py.test2.TextReporter()
additionalinfo = None
Modified: py/branch/py-collect/test2/drive.py
==============================================================================
--- py/branch/py-collect/test2/drive.py (original)
+++ py/branch/py-collect/test2/drive.py Fri Mar 4 13:27:07 2005
@@ -1,5 +1,5 @@
import py
-from py.__impl__.test.tool.outerrcapture import SimpleOutErrCapture
+from py.__impl__.test2.tool.outerrcapture import SimpleOutErrCapture
class ShadowOptions(object):
def __init__(self, obj):
@@ -41,9 +41,6 @@
except AttributeError:
pass
self._memo.append((colitem, res))
- if isinstance(res, (colitem.Failed,)):
- if self.option.exitfirstproblem:
- exit("exit on first problem configured.", item=colitem)
def getresults(self, cls):
return [x for x in self._memo if isinstance(x[1], cls)]
Modified: py/branch/py-collect/test2/item.py
==============================================================================
--- py/branch/py-collect/test2/item.py (original)
+++ py/branch/py-collect/test2/item.py Fri Mar 4 13:27:07 2005
@@ -9,7 +9,7 @@
def teardown_all(self):
while self.stack:
- col, item = self.stack.pop()
+ col = self.stack.pop()
col.teardown()
def prepare(self, colitem):
@@ -18,16 +18,14 @@
"""
needed_collectors = colitem.listchain()
while self.stack:
+ if self.stack == needed_collectors[:len(self.stack)]:
+ break
col = self.stack.pop()
- try:
- i = needed_collectors.index(col)
- except ValueError:
- col.teardown()
- continue
- else:
- for col in needed_collectors[i+1:]:
- col.setup()
- self.stack.append(col)
+ col.teardown()
+ for col in needed_collectors[len(self.stack):]:
+ print "setting up", col
+ col.setup()
+ self.stack.append(col)
class Item(py.test2.Collector):
state = SetupState()
@@ -70,12 +68,15 @@
return "%s%r" % (self.extpy.modpath, self.args)
def setup(self):
- if hasattr(self.obj, 'setup_function'):
- return self.parent.setup_function(self.obj)
+ #print "checking setup_function", self, "parent=", self.parent
+ obj = self.parent.obj
+ if hasattr(obj, 'setup_function'):
+ return obj.setup_function(self.obj)
def teardown(self):
- if hasattr(self.obj, 'teardown_function'):
- return self.parent.teardown_function(self.obj)
+ obj = self.parent.obj
+ if hasattr(obj, 'teardown_function'):
+ return obj.teardown_function(self.obj)
#
# triggering specific outcomes while executing Items
Modified: py/branch/py-collect/test2/report/testing/test_memo.py
==============================================================================
--- py/branch/py-collect/test2/report/testing/test_memo.py (original)
+++ py/branch/py-collect/test2/report/testing/test_memo.py Fri Mar 4 13:27:07 2005
@@ -13,11 +13,11 @@
# def execute(self, runner):
# try:
#
-def test_memoreporter():
- reporter = py.test.MemoReporter()
+def XXtest_memoreporter():
+ reporter = py.test2.MemoReporter()
p = tmpdir.join('memoimport.py')
p.write('raise IOError')
- collector = py.test.collect.Module(p)
+ collector = py.test2.collect.Module(p)
#main(collector=collector, reporter=reporter)
#collect_errors = reporter.getlist(collect.Error)
#assert len(collect_errors) == 1
Modified: py/branch/py-collect/test2/report/text/reporter.py
==============================================================================
--- py/branch/py-collect/test2/report/text/reporter.py (original)
+++ py/branch/py-collect/test2/report/text/reporter.py Fri Mar 4 13:27:07 2005
@@ -1,7 +1,7 @@
from __future__ import generators
import py
-Item = py.test.Item
-Collector = py.test.collect.Collector
+Item = py.test2.Item
+Collector = py.test2.collect.Collector
from time import time as now
# lazy relative Implementation imports
@@ -29,11 +29,11 @@
self.out = getout(f)
self._started = {}
self.summary = self.Summary(self.out)
- self.summary.option = self.option = py.test.config.option
+ self.summary.option = self.option = py.test2.config.option
def start(self):
self.out.sep("=", "test process starts")
- option = py.test.config.option
+ option = py.test2.config.option
if option.session:
mode = 'session/child process'
elif option.executable:
@@ -48,9 +48,9 @@
self.out.line("using py lib: %s <rev %s>" % (
py.path.local(py.__file__).dirpath(), rev))
- for i, x in py.builtin.enumerate(py.test.config.configpaths):
+ for i, x in py.builtin.enumerate(py.test2.config.configpaths):
self.out.line("initial testconfig %d: %s" %(i, x))
- additional = py.test.config.getfirst('additionalinfo')
+ additional = py.test2.config.getfirst('additionalinfo')
if additional:
for key, descr in additional():
self.out.line("%s: %s" %(key, descr))
@@ -114,7 +114,7 @@
print "Item", item.extpy.modpath
return
if not self.option.nocapture:
- from py.__impl__.test.tool.outerrcapture import SimpleOutErrCapture
+ from py.__impl__.test2.tool.outerrcapture import SimpleOutErrCapture
item.iocapture = SimpleOutErrCapture()
if self.out.tty:
realpath, lineno = item.extpy.getfilelineno()
@@ -138,9 +138,9 @@
restype, c = self.processresult(result)
writeinfo = None
if self.out.tty:
- if not isinstance(result, py.test.Item.Passed) or self.option.verbose >=1:
+ if not isinstance(result, py.test2.Item.Passed) or self.option.verbose >=1:
writeinfo = '\n'
- elif isinstance(result, py.test.Item.Passed):
+ elif isinstance(result, py.test2.Item.Passed):
writeinfo = ''
elif self.option.verbose >= 1:
writeinfo = '\n'
Modified: py/branch/py-collect/test2/report/text/summary.py
==============================================================================
--- py/branch/py-collect/test2/report/text/summary.py (original)
+++ py/branch/py-collect/test2/report/text/summary.py Fri Mar 4 13:27:07 2005
@@ -1,6 +1,6 @@
from __future__ import generators
import py
-Item = py.test.Item
+Item = py.test2.Item
from py.__impl__.magic import exprinfo, assertion
class Summary(object):
@@ -31,7 +31,7 @@
self.out.line("[%s:%d]" % (err.filename, err.lineno))
def summary_collect_errors(self):
- for error in self.getlist(py.test.collect.Error):
+ for error in self.getlist(py.test2.collect.Error):
self.repr_collect_error(error)
def render(self):
Modified: py/branch/py-collect/test2/run.py
==============================================================================
--- py/branch/py-collect/test2/run.py (original)
+++ py/branch/py-collect/test2/run.py Fri Mar 4 13:27:07 2005
@@ -1,8 +1,8 @@
from __future__ import generators
import py
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__.test2.config import configbasename
+from py.__impl__.test2.collect import getfscollector
import sys
def checkpyfilechange(rootdir, statcache):
@@ -28,7 +28,7 @@
changed = True
return changed
-class FailingCollector(py.test.collect.Collector):
+class FailingCollector(py.test2.Collector):
def __init__(self, faileditems):
self._faileditems = faileditems
@@ -76,13 +76,13 @@
channel.gateway.exit()
def failure_master(args, filenames, failures):
- exe = py.test.config.option.executable
+ exe = py.test2.config.option.executable
gw = py.execnet.PopenGateway(python=exe or sys.executable)
outproxy = StdouterrProxy(gw)
outproxy.setup()
try:
channel = gw.remote_exec("""
- from py.__impl__.test.run import failure_slave
+ from py.__impl__.test2.run import failure_slave
failure_slave(channel)
""")
channel.send((args, filenames, failures))
@@ -94,18 +94,18 @@
""" we run this on the other side. """
args, filenames, failures = channel.receive()
filenames = map(py.path.local, filenames)
- py.test.config.readconfiguration(*filenames)
- py.test.config.parseargs(args)
+ py.test2.config.readconfiguration(*filenames)
+ py.test2.config.parseargs(args)
if failures:
col = FailureCollector(failures)
else:
col = list(getcollectors(filenames))
- driver = py.test.Driver(channel)
+ driver = py.test2.Driver(channel)
failures = driver.run(col)
channel.send(failures)
-class FailureCollector(py.test.collect.Collector):
+class FailureCollector(py.test2.Collector):
def __init__(self, failures):
self.failures = failures
def __iter__(self):
@@ -136,23 +136,24 @@
#
def inprocess(args, filenames):
""" we run this on the other side. """
+ print "inprocess"
fncollectors = list(getcollectors(filenames))
- driver = py.test.Driver(None)
- driver.run(fncollectors)
+ driver = py.test2.TerminalDriver()
+ driver.run(*fncollectors)
def session(args, filenames):
statcache = {}
# XXX find out rootdir automatically with
# something like py.magic.autopath() ?
- rootdir = py.path.local(py.test.config.getfirst('rootdir', py.path.local()))
+ rootdir = py.path.local(py.test2.config.getfirst('rootdir', py.path.local()))
l = len(str(rootdir))
failures = []
while 1:
- if py.test.config.option.session:
+ if py.test2.config.option.session:
while not checkpyfilechange(rootdir, statcache):
py.std.time.sleep(0.4)
failures = failure_master(args, filenames, failures)
- if not py.test.config.option.session:
+ if not py.test2.config.option.session:
break
print "#" * 60
print "# session mode: %d failures remaining" % len(failures)
Modified: py/branch/py-collect/test2/terminal.py
==============================================================================
--- py/branch/py-collect/test2/terminal.py (original)
+++ py/branch/py-collect/test2/terminal.py Fri Mar 4 13:27:07 2005
@@ -32,7 +32,23 @@
cols = self._opencollectors
last = cols.pop()
#assert last == colitem, "expected %r, got %r" %(last, colitem)
-
+ return
+ if isinstance(res, (colitem.Failed,)):
+ print "checking", res
+ if self.option.exitfirstproblem:
+ py.test2.exit("exit on first problem configured.", item=colitem)
+ if self.option.usepdb:
+ if isinstance(res, Item.Failed):
+ print "dispatching to ppdb", colitem
+ self.repr_failure(colitem, res)
+ import pdb
+ self.out.rewrite(
+ '\n%s: %s\n'
+ % (res.excinfo.type.__name__,
+ res.excinfo.value))
+ pdb.post_mortem(res.excinfo._excinfo[2])
+ else:
+ self.repr_result(colitem, res)
# -------------------
# HEADER information
@@ -40,7 +56,7 @@
def header(self):
super(TerminalDriver, self).header()
self.out.sep("=", "test process starts")
- option = py.test.config.option
+ option = py.test2.config.option
if option.session:
mode = 'session/child process'
elif option.executable:
@@ -55,9 +71,9 @@
self.out.line("using py lib: %s <rev %s>" % (
py.path.local(py.__file__).dirpath(), rev))
- for i, x in py.builtin.enumerate(py.test.config.configpaths):
+ for i, x in py.builtin.enumerate(py.test2.config.configpaths):
self.out.line("initial testconfig %d: %s" %(i, x))
- additional = py.test.config.getfirst('additionalinfo')
+ additional = py.test2.config.getfirst('additionalinfo')
if additional:
for key, descr in additional():
self.out.line("%s: %s" %(key, descr))
@@ -76,6 +92,37 @@
self.failures()
self.summaryline()
+ # --------------------
+ # progress information
+ # --------------------
+ typemap = {
+ Item.Passed: '.',
+ Item.Skipped: 's',
+ Item.Failed: 'F',
+ }
+ def _processresult(self, testresult):
+ for restype, char in self.typemap.items():
+ if isinstance(testresult, restype):
+ return restype, char
+ else:
+ raise TypeError, "not a result instance: %r" % testresult
+
+ def repr_result(self, colitem, result):
+ if result is None or not isinstance(colitem, py.test2.Item):
+ #print "colitem not represented", colitem
+ return
+ restype, c = self._processresult(result)
+ writeinfo = None
+ if self.out.tty:
+ if not isinstance(result, py.test2.Item.Passed) or self.option.verbose >=1:
+ writeinfo = '\n'
+ elif isinstance(result, py.test2.Item.Passed):
+ writeinfo = ''
+ elif self.option.verbose >= 1:
+ writeinfo = '\n'
+ else:
+ self.out.write(c)
+
def summaryline(self):
outlist = []
sum = 0
Modified: py/branch/py-collect/test2/testing/data/filetest.py
==============================================================================
--- py/branch/py-collect/test2/testing/data/filetest.py (original)
+++ py/branch/py-collect/test2/testing/data/filetest.py Fri Mar 4 13:27:07 2005
@@ -2,6 +2,6 @@
def test_one():
assert 42 == 43
-class TestClass:
+class TestClass(object):
def test_method_one(self):
assert 42 == 43
Modified: py/branch/py-collect/test2/testing/test_api.py
==============================================================================
--- py/branch/py-collect/test2/testing/test_api.py (original)
+++ py/branch/py-collect/test2/testing/test_api.py Fri Mar 4 13:27:07 2005
@@ -13,4 +13,4 @@
def test_skip_on_error_with_no_failure():
def f():
return 42
- assert py.test.skip_on_error(f) == 42
+ assert py.test2.skip_on_error(f) == 42
Modified: py/branch/py-collect/test2/testing/test_collect.py
==============================================================================
--- py/branch/py-collect/test2/testing/test_collect.py (original)
+++ py/branch/py-collect/test2/testing/test_collect.py Fri Mar 4 13:27:07 2005
@@ -40,7 +40,7 @@
l = MyDirectory(datadir).run()
assert len(l) == 1
assert isinstance(l[0], py.test2.Module)
- py.test.raises(ImportError, l[0].run)
+ py.test2.raises(ImportError, l[0].run)
def test_module_file_not_found():
fn = datadir.join('nada','no')
@@ -50,7 +50,7 @@
def test_syntax_error_in_module():
modpath = py.path.extpy(datadir.join('syntax_error.py'))
col = py.test2.Module(modpath)
- py.test.raises(SyntaxError, col.run)
+ py.test2.raises(SyntaxError, col.run)
def test_disabled_class():
col = py.test2.Module(datadir.join('disabled.py'))
Modified: py/branch/py-collect/test2/testing/test_config.py
==============================================================================
--- py/branch/py-collect/test2/testing/test_config.py (original)
+++ py/branch/py-collect/test2/testing/test_config.py Fri Mar 4 13:27:07 2005
@@ -1,6 +1,6 @@
from __future__ import generators
import py
-config = py.test.config
+config = py.test2.config
class MyClass:
def getoptions(self):
@@ -28,8 +28,8 @@
assert d1 == d2
def test_config_order():
- from py.__impl__.test import config
- o = py.test.config.tmpdir.ensure('configorder', dir=1)
+ from py.__impl__.test2 import config
+ o = py.test2.config.tmpdir.ensure('configorder', dir=1)
o.ensure('conftest.py').write('x=1 ; import py ; py._x = [x]')
o.ensure('a/conftest.py').write('x=2 ; import py ; py._x.append(x)')
o.ensure('a/b/c/conftest.py').write('x=3 ; import py ; py._x.append(x)')
@@ -44,9 +44,9 @@
assert py._x == [1,2,3]
def test_getconfigvalue():
- from py.__impl__.test import config
+ from py.__impl__.test2 import config
cfg = config.Config()
- o = py.test.config.tmpdir.ensure('configtest', dir=1)
+ o = py.test2.config.tmpdir.ensure('configtest', dir=1)
o.ensure('conftest.py').write('x=1')
assert cfg.getconfigvalue(o, 'x') == 1
- py.test.raises(ValueError, "cfg.getconfigvalue(o, 'y')")
+ py.test2.raises(ValueError, "cfg.getconfigvalue(o, 'y')")
Modified: py/branch/py-collect/test2/testing/test_drive.py
==============================================================================
--- py/branch/py-collect/test2/testing/test_drive.py (original)
+++ py/branch/py-collect/test2/testing/test_drive.py Fri Mar 4 13:27:07 2005
@@ -12,15 +12,6 @@
l = drive.getresults(py.test2.Item.Passed)
assert not l
- def test_exit_first_problem(self):
- drive = py.test2.Driver()
- drive.option.exitfirstproblem = True
- drive.runpath(str(datadir / 'filetest.py'))
- l = drive.getresults(py.test2.Item.Failed)
- assert len(l) == 1
- l = drive.getresults(py.test2.Item.Passed)
- assert not l
-
class TestTerminalDriver:
def test_terminal(self):
c = StringIO()
@@ -35,6 +26,16 @@
assert len(l) == 2
assert out.find('2 failed') != -1
+ def test_exit_first_problem(self):
+ drive = py.test2.TerminalDriver()
+ drive.option.exitfirstproblem = True
+ drive.runpath(str(datadir / 'filetest.py'))
+ l = drive.getresults(py.test2.Item.Failed)
+ assert len(l) == 1
+ l = drive.getresults(py.test2.Item.Passed)
+ assert not l
+
+
def test_collectonly(self):
c = StringIO()
drive = py.test2.TerminalDriver(file=c)
Modified: py/branch/py-collect/test2/testing/test_setup_nested.py
==============================================================================
--- py/branch/py-collect/test2/testing/test_setup_nested.py (original)
+++ py/branch/py-collect/test2/testing/test_setup_nested.py Fri Mar 4 13:27:07 2005
@@ -5,6 +5,7 @@
modlevel = []
def setup_module(module):
+ assert not modlevel
module.modlevel.append(42)
def teardown_module(module):
@@ -32,6 +33,7 @@
assert self.clslevel[0] == 23
def test_modulelevel(self):
+ print modlevel
assert modlevel == [42]
class TestInheritedClassSetupStillWorks(TestSimpleClassSetup):
Modified: py/branch/py-collect/test2/tool/optparse.py
==============================================================================
--- py/branch/py-collect/test2/tool/optparse.py (original)
+++ py/branch/py-collect/test2/tool/optparse.py Fri Mar 4 13:27:07 2005
@@ -69,7 +69,7 @@
import sys, os
import types
-from py.__impl__.test.tool import textwrap
+from py.__impl__.test2.tool import textwrap
class OptParseError (Exception):
def __init__ (self, msg):
Modified: py/branch/py-collect/test2/tool/outerrcapture.py
==============================================================================
--- py/branch/py-collect/test2/tool/outerrcapture.py (original)
+++ py/branch/py-collect/test2/tool/outerrcapture.py Fri Mar 4 13:27:07 2005
@@ -28,6 +28,7 @@
o,e = sys.stdout, sys.stderr
sys.stdout, sys.stderr = self.oldout, self.olderr
del self.oldout, self.olderr
+ o, e = self.newout, self.newerr
o.seek(0)
e.seek(0)
return o,e
Modified: py/branch/py-collect/test2/tool/testing/test_outerrcapture.py
==============================================================================
--- py/branch/py-collect/test2/tool/testing/test_outerrcapture.py (original)
+++ py/branch/py-collect/test2/tool/testing/test_outerrcapture.py Fri Mar 4 13:27:07 2005
@@ -1,6 +1,6 @@
import sys
import py
-from py.__impl__.test.tool.outerrcapture import SimpleOutErrCapture
+from py.__impl__.test2.tool.outerrcapture import SimpleOutErrCapture
def test_capturing_simple():
cap = SimpleOutErrCapture()
@@ -14,7 +14,7 @@
cap = SimpleOutErrCapture()
print "hello"
cap.reset()
- py.test.raises(AttributeError, "cap.reset()")
+ py.test2.raises(AttributeError, "cap.reset()")
def test_capturing_modify_sysouterr_in_between():
oldout = sys.stdout
@@ -37,4 +37,4 @@
cap2 = SimpleOutErrCapture()
print "hello"
cap2.reset()
- py.test.raises(AttributeError, "cap2.reset()")
+ py.test2.raises(AttributeError, "cap2.reset()")
More information about the pytest-commit
mailing list