summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Heimes <christian@cheimes.de>2007-11-01 19:48:10 (GMT)
committerChristian Heimes <christian@cheimes.de>2007-11-01 19:48:10 (GMT)
commite18f21c7d423e2f25bf87d3aedc330901c3f1c60 (patch)
tree73edc31ab5388c7b0a3d96d9da5394db84b50f2d
parent03b15c67ff115048125e44ad41ba5e747a7c6187 (diff)
downloadcpython-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.py45
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()