This commit was manufactured by cvs2svn to create tag 'r211c1'.
[python/dscho.git] / Lib / test / test_import.py
bloba151defa21ca8c93b1df6884eea814aae189e3c7
1 from test_support import TESTFN, TestFailed
3 import os
4 import random
5 import sys
7 # Brief digression to test that import is case-sensitive: if we got this
8 # far, we know for sure that "random" exists.
9 try:
10 import RAnDoM
11 except ImportError:
12 pass
13 else:
14 raise TestFailed("import of RAnDoM should have failed (case mismatch)")
16 sys.path.insert(0, os.curdir)
18 source = TESTFN + ".py"
19 pyc = TESTFN + ".pyc"
20 pyo = TESTFN + ".pyo"
22 f = open(source, "w")
23 print >> f, "# This will test Python's ability to import a .py file"
24 a = random.randrange(1000)
25 b = random.randrange(1000)
26 print >> f, "a =", a
27 print >> f, "b =", b
28 f.close()
30 try:
31 try:
32 mod = __import__(TESTFN)
33 except ImportError, err:
34 raise ValueError, "import from .py failed: %s" % err
36 if mod.a != a or mod.b != b:
37 print a, "!=", mod.a
38 print b, "!=", mod.b
39 raise ValueError, "module loaded (%s) but contents invalid" % mod
40 finally:
41 os.unlink(source)
43 try:
44 try:
45 reload(mod)
46 except ImportError, err:
47 raise ValueError, "import from .pyc/.pyo failed: %s" % err
48 finally:
49 try:
50 os.unlink(pyc)
51 except os.error:
52 pass
53 try:
54 os.unlink(pyo)
55 except os.error:
56 pass
58 del sys.path[0]