striking config from Node signature
--HG-- branch : trunk
This commit is contained in:
		
							parent
							
								
									6956d1a7e4
								
							
						
					
					
						commit
						3f50470c6a
					
				| 
						 | 
					@ -25,15 +25,12 @@ class Node(object):
 | 
				
			||||||
        - configuration/options for setup/teardown 
 | 
					        - configuration/options for setup/teardown 
 | 
				
			||||||
          stdout/stderr capturing and execution of test items 
 | 
					          stdout/stderr capturing and execution of test items 
 | 
				
			||||||
    """
 | 
					    """
 | 
				
			||||||
    def __init__(self, name, parent=None, config=None):
 | 
					    def __init__(self, name, parent=None):
 | 
				
			||||||
        self.name = name 
 | 
					        self.name = name 
 | 
				
			||||||
        self.parent = parent
 | 
					        self.parent = parent
 | 
				
			||||||
        if config is None:
 | 
					        self.config = getattr(parent, 'config', None)
 | 
				
			||||||
            config = parent.config
 | 
					 | 
				
			||||||
        self.config = config 
 | 
					 | 
				
			||||||
        self.fspath = getattr(parent, 'fspath', None) 
 | 
					        self.fspath = getattr(parent, 'fspath', None) 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
    # 
 | 
					    # 
 | 
				
			||||||
    # note to myself: Pickling is uh.
 | 
					    # note to myself: Pickling is uh.
 | 
				
			||||||
    # 
 | 
					    # 
 | 
				
			||||||
| 
						 | 
					@ -281,7 +278,6 @@ class Collector(Node):
 | 
				
			||||||
    """
 | 
					    """
 | 
				
			||||||
    Directory = configproperty('Directory')
 | 
					    Directory = configproperty('Directory')
 | 
				
			||||||
    Module = configproperty('Module')
 | 
					    Module = configproperty('Module')
 | 
				
			||||||
    #DoctestFile = configproperty('DoctestFile')
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def collect(self):
 | 
					    def collect(self):
 | 
				
			||||||
        """ returns a list of children (items and collectors) 
 | 
					        """ returns a list of children (items and collectors) 
 | 
				
			||||||
| 
						 | 
					@ -335,9 +331,9 @@ class Collector(Node):
 | 
				
			||||||
        return self.collect_by_name(name)
 | 
					        return self.collect_by_name(name)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class FSCollector(Collector): 
 | 
					class FSCollector(Collector): 
 | 
				
			||||||
    def __init__(self, fspath, parent=None, config=None): 
 | 
					    def __init__(self, fspath, parent=None):
 | 
				
			||||||
        fspath = py.path.local(fspath) 
 | 
					        fspath = py.path.local(fspath) 
 | 
				
			||||||
        super(FSCollector, self).__init__(fspath.basename, parent, config=config) 
 | 
					        super(FSCollector, self).__init__(fspath.basename, parent)
 | 
				
			||||||
        self.fspath = fspath 
 | 
					        self.fspath = fspath 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def __getstate__(self):
 | 
					    def __getstate__(self):
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -155,7 +155,8 @@ class Config(object):
 | 
				
			||||||
        if pkgpath is None:
 | 
					        if pkgpath is None:
 | 
				
			||||||
            pkgpath = path.check(file=1) and path.dirpath() or path
 | 
					            pkgpath = path.check(file=1) and path.dirpath() or path
 | 
				
			||||||
        Dir = self._conftest.rget("Directory", pkgpath)
 | 
					        Dir = self._conftest.rget("Directory", pkgpath)
 | 
				
			||||||
        col = Dir(pkgpath, config=self)
 | 
					        col = Dir(pkgpath)
 | 
				
			||||||
 | 
					        col.config = self 
 | 
				
			||||||
        return col._getfsnode(path)
 | 
					        return col._getfsnode(path)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def getconftest_pathlist(self, name, path=None):
 | 
					    def getconftest_pathlist(self, name, path=None):
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -94,7 +94,7 @@ import os, StringIO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def test_generic_path():
 | 
					def test_generic_path():
 | 
				
			||||||
    from py.__.test.collect import Node, Item, FSCollector
 | 
					    from py.__.test.collect import Node, Item, FSCollector
 | 
				
			||||||
    p1 = Node('a', config='dummy')
 | 
					    p1 = Node('a')
 | 
				
			||||||
    assert p1.fspath is None
 | 
					    assert p1.fspath is None
 | 
				
			||||||
    p2 = Node('B', parent=p1)
 | 
					    p2 = Node('B', parent=p1)
 | 
				
			||||||
    p3 = Node('()', parent = p2)
 | 
					    p3 = Node('()', parent = p2)
 | 
				
			||||||
| 
						 | 
					@ -103,7 +103,7 @@ def test_generic_path():
 | 
				
			||||||
    res = generic_path(item)
 | 
					    res = generic_path(item)
 | 
				
			||||||
    assert res == 'a.B().c'
 | 
					    assert res == 'a.B().c'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    p0 = FSCollector('proj/test', config='dummy')
 | 
					    p0 = FSCollector('proj/test')
 | 
				
			||||||
    p1 = FSCollector('proj/test/a', parent=p0)
 | 
					    p1 = FSCollector('proj/test/a', parent=p0)
 | 
				
			||||||
    p2 = Node('B', parent=p1)
 | 
					    p2 = Node('B', parent=p1)
 | 
				
			||||||
    p3 = Node('()', parent = p2)
 | 
					    p3 = Node('()', parent = p2)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -314,9 +314,9 @@ class Function(FunctionMixin, py.test.collect.Item):
 | 
				
			||||||
        and executing a Python callable test object.
 | 
					        and executing a Python callable test object.
 | 
				
			||||||
    """
 | 
					    """
 | 
				
			||||||
    _genid = None
 | 
					    _genid = None
 | 
				
			||||||
    def __init__(self, name, parent=None, config=None, args=(), 
 | 
					    def __init__(self, name, parent=None, args=(), 
 | 
				
			||||||
                 callspec=None, callobj=_dummy):
 | 
					                 callspec=None, callobj=_dummy):
 | 
				
			||||||
        super(Function, self).__init__(name, parent, config=config) 
 | 
					        super(Function, self).__init__(name, parent)
 | 
				
			||||||
        self._args = args 
 | 
					        self._args = args 
 | 
				
			||||||
        if args:
 | 
					        if args:
 | 
				
			||||||
            assert not callspec, "yielded functions (deprecated) cannot have funcargs" 
 | 
					            assert not callspec, "yielded functions (deprecated) cannot have funcargs" 
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -6,7 +6,8 @@ class TestModule:
 | 
				
			||||||
    def test_module_file_not_found(self, testdir):
 | 
					    def test_module_file_not_found(self, testdir):
 | 
				
			||||||
        tmpdir = testdir.tmpdir
 | 
					        tmpdir = testdir.tmpdir
 | 
				
			||||||
        fn = tmpdir.join('nada','no')
 | 
					        fn = tmpdir.join('nada','no')
 | 
				
			||||||
        col = py.test.collect.Module(fn, config=testdir.parseconfig(tmpdir))
 | 
					        col = py.test.collect.Module(fn)
 | 
				
			||||||
 | 
					        col.config = testdir.parseconfig(tmpdir)
 | 
				
			||||||
        py.test.raises(py.error.ENOENT, col.collect) 
 | 
					        py.test.raises(py.error.ENOENT, col.collect) 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def test_failing_import(self, testdir):
 | 
					    def test_failing_import(self, testdir):
 | 
				
			||||||
| 
						 | 
					@ -223,13 +224,13 @@ class TestFunction:
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
    def test_function_equality(self, tmpdir):
 | 
					    def test_function_equality(self, tmpdir):
 | 
				
			||||||
        config = py.test.config._reparse([tmpdir])
 | 
					        config = py.test.config._reparse([tmpdir])
 | 
				
			||||||
        f1 = py.test.collect.Function(name="name", config=config, 
 | 
					        f1 = py.test.collect.Function(name="name", 
 | 
				
			||||||
                                      args=(1,), callobj=isinstance)
 | 
					                                      args=(1,), callobj=isinstance)
 | 
				
			||||||
        f2 = py.test.collect.Function(name="name", config=config, 
 | 
					        f2 = py.test.collect.Function(name="name",
 | 
				
			||||||
                                      args=(1,), callobj=callable)
 | 
					                                      args=(1,), callobj=callable)
 | 
				
			||||||
        assert not f1 == f2
 | 
					        assert not f1 == f2
 | 
				
			||||||
        assert f1 != f2
 | 
					        assert f1 != f2
 | 
				
			||||||
        f3 = py.test.collect.Function(name="name", config=config, 
 | 
					        f3 = py.test.collect.Function(name="name", 
 | 
				
			||||||
                                      args=(1,2), callobj=callable)
 | 
					                                      args=(1,2), callobj=callable)
 | 
				
			||||||
        assert not f3 == f2
 | 
					        assert not f3 == f2
 | 
				
			||||||
        assert f3 != f2
 | 
					        assert f3 != f2
 | 
				
			||||||
| 
						 | 
					@ -237,7 +238,7 @@ class TestFunction:
 | 
				
			||||||
        assert not f3 == f1
 | 
					        assert not f3 == f1
 | 
				
			||||||
        assert f3 != f1
 | 
					        assert f3 != f1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        f1_b = py.test.collect.Function(name="name", config=config, 
 | 
					        f1_b = py.test.collect.Function(name="name", 
 | 
				
			||||||
                                      args=(1,), callobj=isinstance)
 | 
					                                      args=(1,), callobj=isinstance)
 | 
				
			||||||
        assert f1 == f1_b
 | 
					        assert f1 == f1_b
 | 
				
			||||||
        assert not f1 != f1_b
 | 
					        assert not f1 != f1_b
 | 
				
			||||||
| 
						 | 
					@ -252,9 +253,9 @@ class TestFunction:
 | 
				
			||||||
            param = 1
 | 
					            param = 1
 | 
				
			||||||
            funcargs = {}
 | 
					            funcargs = {}
 | 
				
			||||||
            id = "world"
 | 
					            id = "world"
 | 
				
			||||||
        f5 = py.test.collect.Function(name="name", config=config, 
 | 
					        f5 = py.test.collect.Function(name="name", 
 | 
				
			||||||
                                      callspec=callspec1, callobj=isinstance)
 | 
					                                      callspec=callspec1, callobj=isinstance)
 | 
				
			||||||
        f5b = py.test.collect.Function(name="name", config=config, 
 | 
					        f5b = py.test.collect.Function(name="name", 
 | 
				
			||||||
                                      callspec=callspec2, callobj=isinstance)
 | 
					                                      callspec=callspec2, callobj=isinstance)
 | 
				
			||||||
        assert f5 != f5b
 | 
					        assert f5 != f5b
 | 
				
			||||||
        assert not (f5 == f5b)
 | 
					        assert not (f5 == f5b)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue