summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/coveragetest.py6
-rw-r--r--test/osinfo.py6
-rw-r--r--test/test_execfile.py6
-rw-r--r--test/test_parser.py7
4 files changed, 19 insertions, 6 deletions
diff --git a/test/coveragetest.py b/test/coveragetest.py
index 1e2c2431..6eb34bff 100644
--- a/test/coveragetest.py
+++ b/test/coveragetest.py
@@ -146,8 +146,10 @@ class CoverageTest(TestCase):
# Create the file.
f = open(filename, 'w')
- f.write(text)
- f.close()
+ try:
+ f.write(text)
+ finally:
+ f.close()
return filename
diff --git a/test/osinfo.py b/test/osinfo.py
index 04855fe6..25c3a7c6 100644
--- a/test/osinfo.py
+++ b/test/osinfo.py
@@ -45,8 +45,10 @@ elif sys.platform == 'linux2':
try:
# get pseudo file /proc/<pid>/status
t = open('/proc/%d/status' % os.getpid())
- v = t.read()
- t.close()
+ try:
+ v = t.read()
+ finally:
+ t.close()
except IOError:
return 0 # non-Linux?
# get VmKey line e.g. 'VmRSS: 9999 kB\n ...'
diff --git a/test/test_execfile.py b/test/test_execfile.py
index 2f28a069..f6e4dd7f 100644
--- a/test/test_execfile.py
+++ b/test/test_execfile.py
@@ -55,8 +55,10 @@ class RunTest(CoverageTest):
pylines = """# try newlines|print('Hello, world!')|""".split('|')
for nl in ('\n', '\r\n', '\r'):
fpy = open('nl.py', 'wb')
- fpy.write(nl.join(pylines).encode('utf-8'))
- fpy.close()
+ try:
+ fpy.write(nl.join(pylines).encode('utf-8'))
+ finally:
+ fpy.close()
run_python_file('nl.py', ['nl.py'])
self.assertEqual(self.stdout(), "Hello, world!\n"*3)
diff --git a/test/test_parser.py b/test/test_parser.py
index c25611cf..220db17e 100644
--- a/test/test_parser.py
+++ b/test/test_parser.py
@@ -125,3 +125,10 @@ class ParserFileTest(CoverageTest):
self.make_file(fname, text, newline=newline)
cp = self.parse_file(fname)
self.assertEqual(cp.exit_counts(), counts)
+
+ def test_encoding(self):
+ self.make_file("encoded.py", """\
+ coverage = "\xe7\xf6v\xear\xe3g\xe9"
+ """)
+ cp = self.parse_file("encoded.py")
+ cp.exit_counts()