17 lines
		
	
	
		
			550 B
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			17 lines
		
	
	
		
			550 B
		
	
	
	
		
			Python
		
	
	
	
| 
 | |
| import new
 | |
| 
 | |
| def test_new_code_object_carries_filename_through():
 | |
|     class mystr(str):
 | |
|         pass
 | |
|     filename = mystr("dummy")
 | |
|     co = compile("hello\n", filename, 'exec')
 | |
|     assert not isinstance(co.co_filename, mystr)
 | |
|     c2 = new.code(co.co_argcount, co.co_nlocals, co.co_stacksize,
 | |
|              co.co_flags, co.co_code, co.co_consts,
 | |
|              co.co_names, co.co_varnames,
 | |
|              filename,
 | |
|              co.co_name, co.co_firstlineno, co.co_lnotab,
 | |
|              co.co_freevars, co.co_cellvars)
 | |
|     assert c2.co_filename is filename
 |