Skip to content

Commit 9145bec

Browse files
committed
Switch to native subtest implementation
1 parent 0c00d15 commit 9145bec

File tree

1 file changed

+22
-28
lines changed

1 file changed

+22
-28
lines changed

Diff for: benchmarks/tests.py

+22-28
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,18 @@
1111

1212
class CompressionTests(TestCase):
1313
def test_roundtrip(self):
14-
failures = []
1514
for compressor in compressors():
16-
expected = b'test content'
17-
path = self.given_tempfile(compressor)
15+
with self.subTest(compressor=compressor):
16+
expected = b'test content'
17+
path = self.given_tempfile(compressor)
1818

19-
with compressor.open_write(path) as compressed:
20-
compressed.write(expected)
19+
with compressor.open_write(path) as compressed:
20+
compressed.write(expected)
2121

22-
with compressor.open_read(path) as decompressed:
23-
actual = decompressed.read()
22+
with compressor.open_read(path) as decompressed:
23+
actual = decompressed.read()
2424

25-
failed = actual != expected
26-
if failed:
27-
failures.append(compressor.extension)
28-
29-
if failures:
30-
self.fail(', '.join(failures))
25+
self.assertEqual(actual, expected)
3126

3227
def setUp(self):
3328
self.temp_paths = []
@@ -45,22 +40,21 @@ def given_tempfile(self, compressor):
4540

4641
class SerializationTests(TestCase):
4742
def test_roundtrip(self):
48-
failures = []
4943
for serializer in serializers():
50-
expected = [{'to': ['foo@bar'], 'subject': 'baz', 'attachments': [
51-
{'filename': 'attachment.txt',
52-
'content': b64encode(b'foo').decode('ascii')}
53-
]}]
54-
fobj = BytesIO()
55-
serializer.serialize(expected, fobj)
56-
fobj.seek(0)
57-
actual = list(serializer.deserialize(fobj))
58-
failed = len(actual) != 1 or expected[0] != actual[0]
59-
if failed:
60-
failures.append(serializer.extension)
61-
62-
if failures:
63-
self.fail(', '.join(failures))
44+
with self.subTest(serializer=serializer):
45+
expected = [{
46+
'to': ['foo@bar'],
47+
'subject': 'baz',
48+
'attachments': [{
49+
'filename': 'attachment.txt',
50+
'content': b64encode(b'foo').decode('ascii')
51+
}],
52+
}]
53+
fobj = BytesIO()
54+
serializer.serialize(expected, fobj)
55+
fobj.seek(0)
56+
actual = list(serializer.deserialize(fobj))
57+
self.assertListEqual(actual, expected)
6458

6559

6660
if __name__ == '__main__':

0 commit comments

Comments
 (0)