Fixed unit tests for os.environ. Some of the tests didn't test at all because os.environ was empty.

Added import test for sys.path entries with non ASCII characters. The tests are passing on my Ubuntu box with utf-8 locales but they aren't passing on Windows XP.
This commit is contained in:
Christian Heimes 2007-11-01 19:08:42 +00:00
parent e02647a669
commit 9033339673
2 changed files with 48 additions and 8 deletions

View file

@ -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()