From e52e3d10c409219479ccfd371f24e3b6d53b73b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jelmer=20Vernoo=C4=B3?= Date: Wed, 16 Nov 2022 21:25:23 +0000 Subject: Fix reading of test lists. --- python/subunit/__init__.py | 8 +++----- python/subunit/tests/test_filters.py | 11 +++++++++++ 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/python/subunit/__init__.py b/python/subunit/__init__.py index 55b0e43..7318a29 100644 --- a/python/subunit/__init__.py +++ b/python/subunit/__init__.py @@ -1252,11 +1252,9 @@ def read_test_list(path): :param path: Path to the file :return: Sequence of test ids """ - f = open(path, 'rb') - try: - return [l.rstrip("\n") for l in f.readlines()] - finally: - f.close() + with open(path, 'r') as f: + return [line.split('#')[0].rstrip() for line in f.readlines() + if line.split('#')[0]] def make_stream_binary(stream): diff --git a/python/subunit/tests/test_filters.py b/python/subunit/tests/test_filters.py index 0a5e7c7..bc797da 100644 --- a/python/subunit/tests/test_filters.py +++ b/python/subunit/tests/test_filters.py @@ -21,6 +21,17 @@ from testtools import TestCase from subunit.filters import find_stream +from subunit import read_test_list + + +class TestReadTestList(TestCase): + + def test_read_list(self): + with NamedTemporaryFile() as f: + f.write(b'foo\nbar\n# comment\nother # comment\n') + f.flush() + self.assertEqual(read_test_list(f.name), ['foo', 'bar', 'other']) + class TestFindStream(TestCase): -- cgit v1.2.1