[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