111 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			111 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Python
		
	
	
	
| import py
 | |
| 
 | |
| def setup_module(mod):
 | |
|     mod.datadir = setupdatadir()
 | |
|     mod.tmpdir = py.test.ensuretemp(mod.__name__) 
 | |
| 
 | |
| def setupdatadir():
 | |
|     datadir = py.test.ensuretemp("datadir")
 | |
|     names = [x.basename for x in datadir.listdir()]
 | |
|     for name, content in namecontent:
 | |
|         if name not in names:
 | |
|             datadir.join(name).write(content)
 | |
|     return datadir
 | |
| 
 | |
| namecontent = [
 | |
| ('syntax_error.py', "this is really not python\n"),
 | |
| 
 | |
| ('disabled_module.py', py.code.Source('''
 | |
|         disabled = True
 | |
| 
 | |
|         def setup_module(mod):
 | |
|             raise ValueError
 | |
| 
 | |
|         class TestClassOne:
 | |
|             def test_func(self):
 | |
|                 raise ValueError
 | |
| 
 | |
|         class TestClassTwo:
 | |
|             def setup_class(cls):
 | |
|                 raise ValueError
 | |
|             def test_func(self):
 | |
|                 raise ValueError
 | |
| ''')),
 | |
| 
 | |
| ('brokenrepr.py', py.code.Source('''
 | |
| 
 | |
|     import py
 | |
| 
 | |
|     class BrokenRepr1:
 | |
|         """A broken class with lots of broken methods. Let's try to make the test framework 
 | |
|         immune to these."""
 | |
|         foo=0
 | |
|         def __repr__(self):
 | |
|             raise Exception("Ha Ha fooled you, I'm a broken repr().")
 | |
| 
 | |
|     class BrokenRepr2:
 | |
|         """A broken class with lots of broken methods. Let's try to make the test framework 
 | |
|         immune to these."""
 | |
|         foo=0
 | |
|         def __repr__(self):
 | |
|             raise "Ha Ha fooled you, I'm a broken repr()."
 | |
| 
 | |
|         
 | |
|     class TestBrokenClass:
 | |
| 
 | |
|         def test_explicit_bad_repr(self):
 | |
|             t = BrokenRepr1()
 | |
|             py.test.raises(Exception, 'repr(t)')
 | |
|             
 | |
|         def test_implicit_bad_repr1(self):
 | |
|             t = BrokenRepr1()
 | |
|             assert t.foo == 1
 | |
| 
 | |
|         def test_implicit_bad_repr2(self):
 | |
|             t = BrokenRepr2()
 | |
|             assert t.foo == 1
 | |
|     ''')),
 | |
| 
 | |
|     ('failingimport.py', py.code.Source('''
 | |
| 
 | |
|      import gruetzelmuetzel
 | |
| 
 | |
|     ''')),
 | |
| 
 | |
|     ('filetest.py', py.code.Source('''
 | |
|         def test_one(): 
 | |
|             assert 42 == 43
 | |
| 
 | |
|         class TestClass(object): 
 | |
|             def test_method_one(self): 
 | |
|                 assert 42 == 43 
 | |
| 
 | |
|     ''')),
 | |
|     ('testmore.py', py.code.Source('''
 | |
|         def test_one():
 | |
|             assert 1
 | |
| 
 | |
|         def test_two():
 | |
|             assert 1
 | |
| 
 | |
|         def test_three():
 | |
|             assert 1
 | |
|     ''')),
 | |
| 
 | |
|     ('testspecial_importerror.py', py.code.Source('''
 | |
| 
 | |
|         import asdasd
 | |
| 
 | |
|     ''')),
 | |
| 
 | |
|     ('disabled.py', py.code.Source('''
 | |
|         class TestDisabled:
 | |
|             disabled = True
 | |
|             def test_method(self): 
 | |
|                 pass
 | |
|     ''')),
 | |
| ]    
 | |
|    
 | |
| 
 | |
|  
 |