[py-svn] r9649 - in py/branch/py-collect: c-extension misc/testing test test/report test/report/text test/testing test/tool test2

hpk at codespeak.net hpk at codespeak.net
Fri Mar 4 20:28:06 CET 2005


Author: hpk
Date: Fri Mar  4 20:28:06 2005
New Revision: 9649

Added:
   py/branch/py-collect/test/
      - copied from r9616, py/branch/py-collect/test2/
   py/branch/py-collect/test/__init__.py
      - copied unchanged from r9648, py/branch/py-collect/test2/__init__.py
   py/branch/py-collect/test/cmdline.py
      - copied unchanged from r9648, py/branch/py-collect/test2/cmdline.py
   py/branch/py-collect/test/collect.py
      - copied unchanged from r9648, py/branch/py-collect/test2/collect.py
   py/branch/py-collect/test/config.py
      - copied unchanged from r9648, py/branch/py-collect/test2/config.py
   py/branch/py-collect/test/defaultconfig.py
      - copied, changed from r9648, py/branch/py-collect/test2/defaultconfig.py
   py/branch/py-collect/test/drive.py
      - copied unchanged from r9648, py/branch/py-collect/test2/drive.py
   py/branch/py-collect/test/item.py
      - copied unchanged from r9648, py/branch/py-collect/test2/item.py
   py/branch/py-collect/test/raises.py
      - copied unchanged from r9648, py/branch/py-collect/test2/raises.py
   py/branch/py-collect/test/report/
      - copied from r9648, py/branch/py-collect/test2/report/
   py/branch/py-collect/test/run.py
      - copied unchanged from r9648, py/branch/py-collect/test2/run.py
   py/branch/py-collect/test/terminal.py
      - copied, changed from r9648, py/branch/py-collect/test2/terminal.py
   py/branch/py-collect/test/testing/
      - copied from r9648, py/branch/py-collect/test2/testing/
   py/branch/py-collect/test/tool/
      - copied from r9648, py/branch/py-collect/test2/tool/
Removed:
   py/branch/py-collect/test/report/text/reporter.py
   py/branch/py-collect/test/report/text/summary.py
   py/branch/py-collect/test2/
Modified:
   py/branch/py-collect/c-extension/conftest.py
   py/branch/py-collect/misc/testing/test_initpkg.py
Log:
move new stuff to py.test 


Modified: py/branch/py-collect/c-extension/conftest.py
==============================================================================
--- py/branch/py-collect/c-extension/conftest.py	(original)
+++ py/branch/py-collect/c-extension/conftest.py	Fri Mar  4 20:28:06 2005
@@ -1,8 +1,8 @@
 import py
 
-class Directory(py.test.collect.Directory):
-    def rec(self, path):
+class Directory(py.test.Directory):
+    def recfilter(self, path):
         if py.std.sys.platform == 'linux2': 
             if path.basename == 'greenlet':
                 return False
-        return super(Directory, self).rec(path)
+        return super(Directory, self).recfilter(path)

Modified: py/branch/py-collect/misc/testing/test_initpkg.py
==============================================================================
--- py/branch/py-collect/misc/testing/test_initpkg.py	(original)
+++ py/branch/py-collect/misc/testing/test_initpkg.py	Fri Mar  4 20:28:06 2005
@@ -29,7 +29,7 @@
 def test_importall():
     base = py.path.local(py.__file__).dirpath()
     nodirs = (
-        base.join('test', 'testing', 'test'),
+        base.join('test', 'testing', 'data'),
         base.join('path', 'extpy', 'testing', 'test_data'),
         base.join('path', 'gateway',),
         base.join('documentation',),

Copied: py/branch/py-collect/test/defaultconfig.py (from r9648, py/branch/py-collect/test2/defaultconfig.py)
==============================================================================
--- py/branch/py-collect/test2/defaultconfig.py	(original)
+++ py/branch/py-collect/test/defaultconfig.py	Fri Mar  4 20:28:06 2005
@@ -8,9 +8,6 @@
 Function = py.test.Function 
 Instance = py.test.Instance 
 
-def getreporter():
-    return py.test.TextReporter()
-
 additionalinfo = None
 
 options = ('py.test standard options', [

Deleted: /py/branch/py-collect/test2/report/text/reporter.py
==============================================================================
--- /py/branch/py-collect/test2/report/text/reporter.py	Fri Mar  4 20:28:06 2005
+++ (empty file)
@@ -1,202 +0,0 @@
-from __future__ import generators
-import py
-Item = py.test.Item
-Collector = py.test.collect.Collector
-
-from time import time as now
-# lazy relative Implementation imports
-from summary import Summary
-from out import getout
-
-class TextReporter(object):
-    Summary = Summary
-    typemap = {
-        Item.Passed: '.',
-        Item.Skipped: 's',
-        Item.Failed: 'F',
-        Collector.Error: 'C',
-    }
-    namemap = {
-        Item.Passed: 'ok',
-        Item.Skipped: 'SKIP',
-        Item.Failed: 'FAIL',
-        Collector.Error: 'COLLECT ERROR',
-    }
-
-    def __init__(self, f=None):
-        if f is None:
-            f = py.std.sys.stdout
-        self.out = getout(f)
-        self._started = {}
-        self.summary = self.Summary(self.out)
-        self.summary.option = self.option = py.test.config.option
-
-    def start(self):
-        self.out.sep("=", "test process starts")
-        option = py.test.config.option
-        if option.session:
-            mode = 'session/child process'
-        elif option.executable:
-            mode = 'child process'
-        else:
-            mode = 'inprocess'
-        self.out.line("testing-mode: %s" % mode)
-        self.out.line("executable  : %s  (%s)" %
-                          (py.std.sys.executable, repr_pythonversion()))
-
-        rev = py.__package__.getrev()
-        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):
-            self.out.line("initial testconfig %d: %s" %(i, x))
-        additional = py.test.config.getfirst('additionalinfo')
-        if additional:
-            for key, descr in additional():
-                self.out.line("%s: %s" %(key, descr))
-        self.out.sep("=")
-        if not self.option.nomagic:
-            py.magic.invoke(assertion=1)
-        self.summary.starttime = now()
-
-    def end(self):
-        if not self.option.nomagic:
-            py.magic.revoke(assertion=1)
-        self.summary.endtime = now()
-        self.summary.render()
-
-    def open(self, collector):
-        if self.option.collectonly:
-            cols = self.__dict__.setdefault('_opencollectors', [])
-            print '    ' * len(cols), repr(collector)
-            cols.append(collector)
-            return cols.pop
-
-        cls = getattr(collector, '__class__', None)
-        if cls is None:
-            return
-        for typ in py.std.inspect.getmro(cls):
-            meth = getattr(self, 'open_%s' % typ.__name__, None)
-            if meth:
-                return meth(collector)
-
-    def open_Module(self, collector):
-        verbose = self.option.verbose
-        numunits = len(list(collector.iterunits()))
-        if numunits > 0:
-            fspath = collector.extpy.root 
-            if verbose == 0: 
-                parts = fspath.parts() 
-                basename = parts.pop().basename
-                while parts and parts[-1].basename in ('testing', 'test'): 
-                    parts.pop() 
-                base = parts[-1].basename
-                if len(base) < 13: 
-                    base = base + "_" * (13-len(base))
-                abbrev_fn = base + "_" + basename 
-                self.out.write('%s[%d] ' % (abbrev_fn, numunits))
-                return self.out.line
-            elif verbose > 0: 
-                #curdir = py.path.local()
-                #if fspath.check(local=True, relto=curdir): 
-                #    fspath = fspath.relto(curdir) 
-                self.out.line()
-                self.out.line("+ testmodule: %s" % fspath) 
-
-    def open_Directory(self, collector):
-        return 
-
-    def startitem(self, item):
-        if self.option.collectonly:
-            cols = self._opencollectors
-            if len(cols):
-                print '    ' * len(cols),
-            print "Item", item.extpy.modpath
-            return
-        if not self.option.nocapture:
-            from py.__impl__.test.tool.outerrcapture import SimpleOutErrCapture
-            item.iocapture = SimpleOutErrCapture()
-        if self.out.tty:
-            realpath, lineno = item.extpy.getfilelineno()
-            location = "running %s:%d %s" % (realpath.basename, lineno, str(item.extpy.modpath))
-            self.out.rewrite(location)
-        self._started[item] = now()
-
-    def enditem(self, result):
-        if self.option.collectonly:
-            return
-        endtime = now()
-        item = result.item
-        starttime = self._started[item]
-        del self._started[item]
-        elapsed = endtime - starttime
-        item.elapsed = elapsed
-
-        if not self.option.nocapture:
-            result.out, result.err = item.iocapture.reset()
-
-        restype, c = self.processresult(result)
-        writeinfo = None
-        if self.out.tty:
-            if not isinstance(result, py.test.Item.Passed) or self.option.verbose >=1:
-                writeinfo = '\n'
-            elif isinstance(result, py.test.Item.Passed):
-                writeinfo = ''
-        elif self.option.verbose >= 1:
-            writeinfo = '\n'
-        else:
-            self.out.write(c)
-
-        if writeinfo is not None:
-            realpath, lineno = item.extpy.getfilelineno()
-            location = "%s:%d" % (realpath.basename, lineno+1)
-            resultstring = self.namemap.get(restype, result.__class__.__name__)
-            self.out.rewrite("%.3f %-2s %-20s %s%s" % (
-                elapsed, resultstring, location, item.reprcall(), writeinfo
-                ))
-        if self.option.usepdb:
-            if (issubclass(restype, Collector.Error) or
-                issubclass(restype, Item.Failed)):
-                self.summary.repr_failure(result.excinfo)
-                import pdb
-                self.out.rewrite(
-                    '\n%s: %s\n'
-                    % (result.excinfo.type.__name__,
-                       result.excinfo.value))
-                pdb.post_mortem(result.excinfo._excinfo[2])
-
-    def report_collect_error(self, error):
-        restype, c = self.processresult(error)
-        writeinfo = None
-        if self.out.tty:
-            if not isinstance(result, Item.Passed) or self.option.verbose >=1:
-                writeinfo = '\n'
-            elif isinstance(result, Item.Passed):
-                writeinfo = ''
-        elif self.option.verbose >= 1:
-            writeinfo = '\n'
-        else:
-            self.out.write(c)
-
-        if writeinfo is not None:
-            #exc, frame, filename,lineno = self.summary.getexinfo(error)
-            tbentries = error.excinfo.traceback 
-            filename = tbentries[-1].frame.code.path
-            lineno = tbentries[-1].lineno
-            self.out.line('CollectError: %s:%d' % (filename, lineno) )
-
-    def processresult(self, testresult):
-        for restype, c in self.typemap.items():
-            if isinstance(testresult, restype):
-                self.summary.append(restype, testresult)
-                return restype, c
-        else:
-            raise TypeError, "not a result instance: %r" % testresult
-
-def repr_pythonversion():
-    v = py.std.sys.version_info
-    try:
-        return "%s.%s.%s-%s-%s" % v
-    except ValueError:
-        return str(v)
-

Deleted: /py/branch/py-collect/test2/report/text/summary.py
==============================================================================
--- /py/branch/py-collect/test2/report/text/summary.py	Fri Mar  4 20:28:06 2005
+++ (empty file)
@@ -1,80 +0,0 @@
-from __future__ import generators
-import py
-Item = py.test.Item
-from py.__impl__.magic import exprinfo, assertion
-
-class Summary(object):
-    def __init__(self, out):
-        self.out = out
-
-    def append(self, restype, testresult):
-        self.getlist(restype).append(testresult)
-
-    def getlist(self, restype):
-        name = restype.__name__.lower()
-        return self.__dict__.setdefault(name, [])
-
-    def repr_collect_error(self, error):
-        self.out.line()
-        self.out.sep("_")
-        self.out.sep("_", "Collect Error")
-        self.out.line()
-        if isinstance(error.excinfo.value, SyntaxError): 
-            self.repr_syntaxerror(error.excinfo) 
-        else:     
-            self.repr_failure(error.excinfo) 
-
-    def repr_syntaxerror(self, excinfo): 
-        err = excinfo.value 
-        self.out.line(err.text) 
-        self.out.line("SyntaxError: %s" %(err.msg))
-        self.out.line("[%s:%d]" % (err.filename, err.lineno))
-
-    def summary_collect_errors(self):
-        for error in self.getlist(py.test.collect.Error):
-            self.repr_collect_error(error)
-
-    def render(self):
-        self.out.write('\n')
-        self.skippedreasons()
-        self.failures()
-        self.summary_collect_errors()
-        outlist = []
-        sum = 0
-        for typ in Item.Passed, Item.Failed, Item.Skipped:
-            l = self.getlist(typ)
-            if l:
-                outlist.append('%d %s' % (len(l), typ.__name__.lower()))
-            sum += len(l)
-        elapsed = self.endtime-self.starttime
-        status = "%s" % ", ".join(outlist)
-        self.out.sep('=', 'tests finished: %s in %4.2f seconds' %
-                         (status, elapsed))
-
-
-    def Xrepr_traceback_raw(self, traceback): 
-        recursioncache = {}
-        for tb in tbentries:
-            if first:
-                first = False
-            else:
-                self.out.sep('-')
-                    #self.out.line("%-10s = %r" %(name, value))
-            key = (path, lineno)
-            if key not in recursioncache:
-                recursioncache.setdefault(key, []).append(tb.frame.f_locals)
-            else:
-                f = tb.frame
-                loc = f.f_locals
-                for x in recursioncache[key]:
-                    if f.is_true(f.eval(co_equal, __recursioncache_locals_1=loc,
-                                                  __recursioncache_locals_2=x)):
-                        self.out.line("Recursion detected (same locals & position)")
-                        break
-                else:
-                    #self.out.sep('-')
-                    continue
-                break
-
-co_equal = compile('__recursioncache_locals_1 == __recursioncache_locals_2',
-                   '?', 'eval')

Copied: py/branch/py-collect/test/terminal.py (from r9648, py/branch/py-collect/test2/terminal.py)
==============================================================================
--- py/branch/py-collect/test2/terminal.py	(original)
+++ py/branch/py-collect/test/terminal.py	Fri Mar  4 20:28:06 2005
@@ -315,13 +315,42 @@
         if self.option.showlocals:
             self.out.sep('- ', 'locals')
             for name, value in entry.frame.f_locals.items():
-                if len(repr(value)) < 70 or not isinstance(value,
+                if name == '__builtins__': 
+                    self.out.line("__builtins__ = <builtins>")
+                elif len(repr(value)) < 70 or not isinstance(value,
                                                 (list, tuple, dict)):
                     self.out.line("%-10s = %r" %(name, value))
                 else:
                     self.out.line("%-10s =\\" % (name,))
                     py.std.pprint.pprint(value, stream=self.out)
 
+    def Xrepr_traceback_raw(self, traceback): 
+        recursioncache = {}
+        for tb in tbentries:
+            if first:
+                first = False
+            else:
+                self.out.sep('-')
+                    #self.out.line("%-10s = %r" %(name, value))
+            key = (path, lineno)
+            if key not in recursioncache:
+                recursioncache.setdefault(key, []).append(tb.frame.f_locals)
+            else:
+                f = tb.frame
+                loc = f.f_locals
+                for x in recursioncache[key]:
+                    if f.is_true(f.eval(co_equal, __recursioncache_locals_1=loc,
+                                                  __recursioncache_locals_2=x)):
+                        self.out.line("Recursion detected (same locals & position)")
+                        break
+                else:
+                    #self.out.sep('-')
+                    continue
+                break
+
+co_equal = compile('__recursioncache_locals_1 == __recursioncache_locals_2',
+                   '?', 'eval')
+
 def repr_pythonversion():
     v = py.std.sys.version_info
     try:



More information about the pytest-commit mailing list