diff options
Diffstat (limited to 'Lib/test')
-rw-r--r-- | Lib/test/test_import.py | 34 | ||||
-rw-r--r-- | Lib/test/test_os.py | 22 |
2 files changed, 48 insertions, 8 deletions
diff --git a/Lib/test/test_import.py b/Lib/test/test_import.py index 3203904..7bb122d 100644 --- a/Lib/test/test_import.py +++ b/Lib/test/test_import.py @@ -3,10 +3,11 @@ 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 +from test.test_support import unlink, TESTFN, unload def remove_files(name): @@ -157,8 +158,37 @@ 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(path, file=sys.stderr) + raise + self.assertEqual(mod.testdata, 'unicode path %i' % i) + unload("testimport%i" % i) + def test_main(verbose=None): - run_unittest(ImportTest) + run_unittest(ImportTest, UnicodePathsTests) if __name__ == '__main__': test_main() diff --git a/Lib/test/test_os.py b/Lib/test/test_os.py index 0fe7382..088101f 100644 --- a/Lib/test/test_os.py +++ b/Lib/test/test_os.py @@ -191,20 +191,26 @@ from test import mapping_tests class EnvironTests(mapping_tests.BasicTestMappingProtocol): """check that os.environ object conform to mapping protocol""" type2test = None - def _reference(self): - return {"KEY1":"VALUE1", "KEY2":"VALUE2", "KEY3":"VALUE3"} - def _empty_mapping(self): - os.environ.clear() - return os.environ + def setUp(self): self.__save = dict(os.environ) - os.environ.clear() + for key, value in self._reference().items(): + os.environ[key] = value + def tearDown(self): os.environ.clear() os.environ.update(self.__save) + def _reference(self): + return {"KEY1":"VALUE1", "KEY2":"VALUE2", "KEY3":"VALUE3"} + + def _empty_mapping(self): + os.environ.clear() + return os.environ + # Bug 1110478 def test_update2(self): + os.environ.clear() if os.path.exists("/bin/sh"): os.environ.update(HELLO="World") value = os.popen("/bin/sh -c 'echo $HELLO'").read().strip() @@ -217,6 +223,10 @@ class EnvironTests(mapping_tests.BasicTestMappingProtocol): self.assertEquals(type(key), str) self.assertEquals(type(val), str) + def test_items(self): + for key, value in self._reference().items(): + self.assertEqual(os.environ.get(key), value) + class WalkTests(unittest.TestCase): """Tests for os.walk().""" |