26 lines
		
	
	
		
			675 B
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			675 B
		
	
	
	
		
			Python
		
	
	
	
import py
 | 
						|
import subprocess
 | 
						|
import sys
 | 
						|
import pytest
 | 
						|
import _pytest
 | 
						|
 | 
						|
MODSET = [
 | 
						|
    x for x in py.path.local(_pytest.__file__).dirpath().visit('*.py')
 | 
						|
    if x.purebasename != '__init__'
 | 
						|
]
 | 
						|
 | 
						|
 | 
						|
@pytest.mark.parametrize('modfile', MODSET, ids=lambda x: x.purebasename)
 | 
						|
def test_fileimport(modfile):
 | 
						|
    # this test ensures all internal packages can import
 | 
						|
    # without needing the pytest namespace being set
 | 
						|
    # this is critical for the initialization of xdist
 | 
						|
 | 
						|
    res = subprocess.call([
 | 
						|
        sys.executable,
 | 
						|
        '-c', 'import sys, py; py.path.local(sys.argv[1]).pyimport()',
 | 
						|
        modfile.strpath,
 | 
						|
    ])
 | 
						|
    if res:
 | 
						|
        pytest.fail("command result %s" % res)
 |