示例#1
0
def test_config_init_direct():
    tmp = py.test.ensuretemp("_initdirect")
    tmp.ensure("__init__.py")
    tmp.ensure("conftest.py").write("x=1 ; y=2")
    hello = tmp.ensure("test_hello.py")
    config = py.test.config._reparse([hello])
    repr = config._makerepr(conftestnames=['x', 'y'])
    config2 = py.test.config._reparse([tmp.dirpath()])
    config2._initialized = False # we have to do that from tests
    config2._initdirect(topdir=tmp.dirpath(), repr=repr)
    for col1, col2 in zip(config.getcolitems(), config2.getcolitems()):
        assert col1.fspath == col2.fspath
    py.test.raises(AssertionError, "config2._initdirect(None, None)")
    from py.__.test.config import Config
    config3 = Config()
    config3._initdirect(topdir=tmp.dirpath(), repr=repr,
        coltrails=[(tmp.basename, (hello.basename,))])
    assert config3.getvalue('x') == 1
    assert config3.getvalue('y') == 2
    cols = config.getcolitems()
    assert len(cols) == 1
    col = cols[0]
    assert col.name == 'test_hello.py'
    assert col.parent.name == tmp.basename 
    assert col.parent.parent is None 
 def test_setsessionclass_and_initsession(self, testdir):
     from py.__.test.config import Config 
     config = Config()
     class Session1: 
         def __init__(self, config):
             self.config = config 
     config.setsessionclass(Session1)
     session = config.initsession()
     assert isinstance(session, Session1)
     assert session.config is config
     py.test.raises(ValueError, "config.setsessionclass(Session1)")
示例#3
0
 def test_do_option_conftestplugin(self, testdir):
     from py.__.test.config import Config 
     p = testdir.makepyfile("""
         def pytest_addoption(parser):
             parser.addoption('--test123', action="store_true")
     """)
     config = Config() 
     config._conftest.importconftest(p)
     print config.pluginmanager.getplugins()
     config.parse([])
     assert not config.option.test123
示例#4
0
 def test_do_option_conftestplugin(self, testdir):
     from py.__.test.config import Config
     p = testdir.makepyfile("""
         def pytest_addoption(parser):
             parser.addoption('--test123', action="store_true")
     """)
     config = Config()
     config._conftest.importconftest(p)
     print config.pluginmanager.getplugins()
     config.parse([])
     assert not config.option.test123
示例#5
0
 def test_do_option_postinitialize(self, testdir):
     from py.__.test.config import Config 
     config = Config() 
     config.parse([])
     config.pluginmanager.do_configure(config=config)
     assert not hasattr(config.option, 'test123')
     p = testdir.makepyfile("""
         def pytest_addoption(parser):
             parser.addoption('--test123', action="store_true", 
                 default=True)
     """)
     config._conftest.importconftest(p)
     assert config.option.test123
示例#6
0
 def test_do_option_postinitialize(self, testdir):
     from py.__.test.config import Config
     config = Config()
     config.parse([])
     config.pluginmanager.do_configure(config=config)
     assert not hasattr(config.option, 'test123')
     p = testdir.makepyfile("""
         def pytest_addoption(parser):
             parser.addoption('--test123', action="store_true", 
                 default=True)
     """)
     config._conftest.importconftest(p)
     assert config.option.test123
示例#7
0
    def test_config_getstate_setstate(self, testdir):
        from py.__.test.config import Config
        testdir.makepyfile(__init__="", conftest="x=1; y=2")
        hello = testdir.makepyfile(hello="")
        tmp = testdir.tmpdir
        testdir.chdir()
        config1 = testdir.parseconfig(hello)
        config2 = Config()
        config2.__setstate__(config1.__getstate__())
        assert config2.topdir == py.path.local()
        config2_relpaths = [x.relto(config2.topdir) for x in config2.args]
        config1_relpaths = [x.relto(config1.topdir) for x in config1.args]

        assert config2_relpaths == config1_relpaths
        for name, value in config1.option.__dict__.items():
            assert getattr(config2.option, name) == value
        assert config2.getvalue("x") == 1
示例#8
0
    def test_config_getstate_setstate(self, testdir):
        from py.__.test.config import Config
        testdir.makepyfile(__init__="", conftest="x=1; y=2")
        hello = testdir.makepyfile(hello="")
        tmp = testdir.tmpdir
        testdir.chdir()
        config1 = testdir.parseconfig(hello)
        config2 = Config()
        config2.__setstate__(config1.__getstate__())
        assert config2.topdir == py.path.local()
        config2_relpaths = [x.relto(config2.topdir) for x in config2.args]
        config1_relpaths = [x.relto(config1.topdir) for x in config1.args]

        assert config2_relpaths == config1_relpaths
        for name, value in config1.option.__dict__.items():
            assert getattr(config2.option, name) == value
        assert config2.getvalue("x") == 1