summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/test_import.py34
-rw-r--r--Lib/test/test_os.py22
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()."""