mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 07:31:38 +00:00 
			
		
		
		
	at the end. This fixes a problem where python Lib/test/test_import.py failed while "make test" succeeded.
		
			
				
	
	
		
			49 lines
		
	
	
	
		
			990 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
	
		
			990 B
		
	
	
	
		
			Python
		
	
	
	
	
	
from test_support import TESTFN
 | 
						|
 | 
						|
import os
 | 
						|
import random
 | 
						|
import sys
 | 
						|
 | 
						|
sys.path.insert(0, os.curdir)
 | 
						|
 | 
						|
source = TESTFN + ".py"
 | 
						|
pyc = TESTFN + ".pyc"
 | 
						|
pyo = TESTFN + ".pyo"
 | 
						|
 | 
						|
f = open(source, "w")
 | 
						|
print >> f, "# This will test Python's ability to import a .py file"
 | 
						|
a = random.randrange(1000)
 | 
						|
b = random.randrange(1000)
 | 
						|
print >> f, "a =", a
 | 
						|
print >> f, "b =", b
 | 
						|
f.close()
 | 
						|
 | 
						|
try:
 | 
						|
    try:
 | 
						|
        mod = __import__(TESTFN)
 | 
						|
    except ImportError, err:
 | 
						|
        raise ValueError, "import from .py failed: %s" % err
 | 
						|
 | 
						|
    if mod.a != a or mod.b != b:
 | 
						|
        print a, "!=", mod.a
 | 
						|
        print b, "!=", mod.b
 | 
						|
        raise ValueError, "module loaded (%s) but contents invalid" % mod
 | 
						|
finally:
 | 
						|
    os.unlink(source)
 | 
						|
 | 
						|
try:
 | 
						|
    try:
 | 
						|
        reload(mod)
 | 
						|
    except ImportError, err:
 | 
						|
        raise ValueError, "import from .pyc/.pyo failed: %s" % err
 | 
						|
finally:
 | 
						|
    try:
 | 
						|
        os.unlink(pyc)
 | 
						|
    except os.error:
 | 
						|
        pass
 | 
						|
    try:
 | 
						|
        os.unlink(pyo)
 | 
						|
    except os.error:
 | 
						|
        pass
 | 
						|
 | 
						|
del sys.path[0]
 |