summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_coding.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_coding.py')
-rw-r--r--Lib/test/test_coding.py31
1 files changed, 14 insertions, 17 deletions
diff --git a/Lib/test/test_coding.py b/Lib/test/test_coding.py
index 9d368c5..f9db0b4 100644
--- a/Lib/test/test_coding.py
+++ b/Lib/test/test_coding.py
@@ -1,6 +1,6 @@
import test.support, unittest
-from test.support import TESTFN, unlink
+from test.support import TESTFN, unlink, unload
import os, sys
class CodingTest(unittest.TestCase):
@@ -17,9 +17,8 @@ class CodingTest(unittest.TestCase):
path = os.path.dirname(__file__)
filename = os.path.join(path, module_name + '.py')
- fp = open(filename, "rb")
- bytes = fp.read()
- fp.close()
+ with open(filename, "rb") as fp:
+ bytes = fp.read()
self.assertRaises(SyntaxError, compile, bytes, filename, 'exec')
def test_exec_valid_coding(self):
@@ -30,9 +29,8 @@ class CodingTest(unittest.TestCase):
def test_file_parse(self):
# issue1134: all encodings outside latin-1 and utf-8 fail on
# multiline strings and long lines (>512 columns)
- if TESTFN in sys.modules:
- del sys.modules[TESTFN]
- sys.path.insert(0, ".")
+ unload(TESTFN)
+ sys.path.insert(0, os.curdir)
filename = TESTFN + ".py"
f = open(filename, "w")
try:
@@ -45,21 +43,20 @@ class CodingTest(unittest.TestCase):
__import__(TESTFN)
finally:
f.close()
- unlink(TESTFN+".py")
- unlink(TESTFN+".pyc")
- sys.path.pop(0)
+ unlink(filename)
+ unlink(filename + "c")
+ unload(TESTFN)
+ del sys.path[0]
def test_error_from_string(self):
# See http://bugs.python.org/issue6289
input = "# coding: ascii\n\N{SNOWMAN}".encode('utf-8')
- try:
+ with self.assertRaises(SyntaxError) as c:
compile(input, "<string>", "exec")
- except SyntaxError as e:
- expected = "'ascii' codec can't decode byte 0xe2 in position 16: " \
- "ordinal not in range(128)"
- self.assertTrue(str(e).startswith(expected))
- else:
- self.fail("didn't raise")
+ expected = "'ascii' codec can't decode byte 0xe2 in position 16: " \
+ "ordinal not in range(128)"
+ self.assertTrue(c.exception.args[0].startswith(expected))
+
def test_main():
test.support.run_unittest(CodingTest)