77 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Python
		
	
	
	
import py
 | 
						|
 | 
						|
class TestGeneralUsage:
 | 
						|
    def test_config_error(self, testdir):
 | 
						|
        testdir.makeconftest("""
 | 
						|
            def pytest_configure(config):
 | 
						|
                raise config.Error("hello")
 | 
						|
        """)
 | 
						|
        result = testdir.runpytest(testdir.tmpdir)
 | 
						|
        assert result.ret != 0
 | 
						|
        assert result.stderr.fnmatch_lines([
 | 
						|
            '*ERROR: hello'
 | 
						|
        ])
 | 
						|
 | 
						|
    def test_config_preparse_plugin_option(self, testdir):
 | 
						|
        testdir.makepyfile(pytest_xyz="""
 | 
						|
            def pytest_addoption(parser):
 | 
						|
                parser.addoption("--xyz", dest="xyz", action="store")
 | 
						|
        """)
 | 
						|
        testdir.makepyfile(test_one="""
 | 
						|
            import py
 | 
						|
            def test_option():
 | 
						|
                assert py.test.config.option.xyz == "123"
 | 
						|
        """)
 | 
						|
        result = testdir.runpytest("-p", "xyz", "--xyz=123")
 | 
						|
        assert result.ret == 0
 | 
						|
        assert result.stdout.fnmatch_lines([
 | 
						|
            '*1 passed*',
 | 
						|
        ])
 | 
						|
 | 
						|
    def test_basetemp(self, testdir):
 | 
						|
        mytemp = testdir.tmpdir.mkdir("mytemp")
 | 
						|
        p = testdir.makepyfile("""
 | 
						|
            import py
 | 
						|
            def test_1(): 
 | 
						|
                py.test.ensuretemp('xyz')
 | 
						|
        """)
 | 
						|
        result = testdir.runpytest(p, '--basetemp=%s' %mytemp)
 | 
						|
        assert result.ret == 0
 | 
						|
        assert mytemp.join('xyz').check(dir=1)
 | 
						|
                
 | 
						|
    def test_assertion_magic(self, testdir):
 | 
						|
        p = testdir.makepyfile("""
 | 
						|
            def test_this():
 | 
						|
                x = 0
 | 
						|
                assert x
 | 
						|
        """)
 | 
						|
        result = testdir.runpytest(p)
 | 
						|
        extra = result.stdout.fnmatch_lines([
 | 
						|
            ">       assert x", 
 | 
						|
            "E       assert 0",
 | 
						|
        ])
 | 
						|
        assert result.ret == 1
 | 
						|
 | 
						|
    def test_nested_import_error(self, testdir):
 | 
						|
        p = testdir.makepyfile("""
 | 
						|
                import import_fails
 | 
						|
                def test_this():
 | 
						|
                    assert import_fails.a == 1
 | 
						|
        """)
 | 
						|
        testdir.makepyfile(import_fails="import does_not_work")
 | 
						|
        result = testdir.runpytest(p)
 | 
						|
        extra = result.stdout.fnmatch_lines([
 | 
						|
            ">   import import_fails",
 | 
						|
            "E   ImportError: No module named does_not_work",
 | 
						|
        ])
 | 
						|
        assert result.ret == 1
 | 
						|
 | 
						|
    def test_not_collectable_arguments(self, testdir):
 | 
						|
        p1 = testdir.makepyfile("")
 | 
						|
        p2 = testdir.makefile(".pyc", "123")
 | 
						|
        result = testdir.runpytest(p1, p2)
 | 
						|
        assert result.ret != 0
 | 
						|
        assert result.stderr.fnmatch_lines([
 | 
						|
            "*ERROR: can't collect: %s" %(p2,)
 | 
						|
        ])
 |