diff options
author | Christian Heimes <christian@cheimes.de> | 2007-11-01 19:48:10 (GMT) |
---|---|---|
committer | Christian Heimes <christian@cheimes.de> | 2007-11-01 19:48:10 (GMT) |
commit | e18f21c7d423e2f25bf87d3aedc330901c3f1c60 (patch) | |
tree | 73edc31ab5388c7b0a3d96d9da5394db84b50f2d | |
parent | 03b15c67ff115048125e44ad41ba5e747a7c6187 (diff) | |
download | cpython-e18f21c7d423e2f25bf87d3aedc330901c3f1c60.zip cpython-e18f21c7d423e2f25bf87d3aedc330901c3f1c60.tar.gz cpython-e18f21c7d423e2f25bf87d3aedc330901c3f1c60.tar.bz2 |
Backport of import tests for bug http://bugs.python.org/issue1293 and bug http://bugs.python.org/issue1342
-rw-r--r-- | Lib/test/test_import.py | 45 |
1 files changed, 43 insertions, 2 deletions
diff --git a/Lib/test/test_import.py b/Lib/test/test_import.py index a805534..71f5976 100644 --- a/Lib/test/test_import.py +++ b/Lib/test/test_import.py @@ -1,11 +1,13 @@ -from test.test_support import TESTFN, run_unittest, catch_warning +from test.test_support import TESTFN, run_unittest, catch_warning import unittest import os import random +import shutil import sys import py_compile import warnings +from test.test_support import unlink, TESTFN, unload def remove_files(name): @@ -221,8 +223,47 @@ class ImportTest(unittest.TestCase): warnings.simplefilter('error', ImportWarning) self.assertRaises(ImportWarning, __import__, "site-packages") +class UnicodePathsTests(unittest.TestCase): + SAMPLES = ('test', 'testäöüß', 'testéè', 'test°³²') + path = TESTFN + + def setUp(self): + os.mkdir(self.path) + self.syspath = sys.path[:] + + def tearDown(self): + shutil.rmtree(self.path) + sys.path = self.syspath + + def test_sys_path(self): + for i, subpath in enumerate(self.SAMPLES): + path = os.path.join(self.path, subpath) + os.mkdir(path) + self.failUnless(os.path.exists(path), os.listdir(self.path)) + f = open(os.path.join(path, 'testimport%i.py' % i), 'w') + f.write("testdata = 'unicode path %i'\n" % i) + f.close() + sys.path.append(path) + try: + mod = __import__("testimport%i" % i) + except ImportError: + print >>sys.stderr, path + raise + self.assertEqual(mod.testdata, 'unicode path %i' % i) + unload("testimport%i" % i) + + # http://bugs.python.org/issue1293 + def test_trailing_slash(self): + f = open(os.path.join(self.path, 'test_trailing_slash.py'), 'w') + f.write("testdata = 'test_trailing_slash'") + f.close() + sys.path.append(self.path+'/') + mod = __import__("test_trailing_slash") + self.assertEqual(mod.testdata, 'test_trailing_slash') + unload("test_trailing_slash") + def test_main(verbose=None): - run_unittest(ImportTest) + run_unittest(ImportTest, UnicodePathsTests) if __name__ == '__main__': test_main() |