summaryrefslogtreecommitdiffstats
path: root/Lib/test
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test')
-rw-r--r--Lib/test/test_import.py85
1 files changed, 46 insertions, 39 deletions
diff --git a/Lib/test/test_import.py b/Lib/test/test_import.py
index d053609..b2e3fb6 100644
--- a/Lib/test/test_import.py
+++ b/Lib/test/test_import.py
@@ -16,49 +16,56 @@ else:
# Another brief digression to test the accuracy of manifest float constants.
import double_const # don't blink -- that *was* the test
-sys.path.insert(0, os.curdir)
-
-source = TESTFN + ".py"
-pyo = TESTFN + ".pyo"
-if sys.platform.startswith('java'):
- pyc = TESTFN + "$py.class"
-else:
- pyc = TESTFN + ".pyc"
+def test_with_extension(ext): # ext normally ".py"; perhaps ".pyw"
+ source = TESTFN + ext
+ pyo = TESTFN + ".pyo"
+ if sys.platform.startswith('java'):
+ pyc = TESTFN + "$py.class"
+ else:
+ pyc = TESTFN + ".pyc"
-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()
+ f = open(source, "w")
+ print >> f, "# This tests Python's ability to import a", ext, "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
+ try:
+ mod = __import__(TESTFN)
+ except ImportError, err:
+ raise ValueError("import from %s failed: %s" % (ext, 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)
+ 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
+ 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.modules[TESTFN]
-del sys.path[0]
+sys.path.insert(0, os.curdir)
+try:
+ test_with_extension(".py")
+ if sys.platform.startswith("win"):
+ for ext in ".PY", ".Py", ".pY", ".pyw", ".PYW", ".pYw":
+ test_with_extension(ext)
+finally:
+ del sys.path[0]