From 4d1e1c891bd619a0dec0a265a930bf49050833d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Wed, 27 Oct 2021 13:07:01 +0200 Subject: [PATCH] Restore sorting of test paths to make tests reliable again 11496eb5761761b687ad4889b4173d3124caa844 has replaced the all_documents method with a direct call to glob. This has implicitly resulted in removal of path sorting that in turn means that the test output depends on filesystem order now and is no longer reliable. In particular, the tests can now fail randomly depending on the underlying filesystem, unpack/checkout order, etc. Restore explicit sorting to make test order predictable again. Fixes #34 --- sybil/integration/unittest.py | 2 +- tests/test_sybil.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sybil/integration/unittest.py b/sybil/integration/unittest.py index 7129ddf..ce34caf 100644 --- a/sybil/integration/unittest.py +++ b/sybil/integration/unittest.py @@ -38,7 +38,7 @@ def unittest_integration(sybil: 'Sybil'): def load_tests(loader=None, tests=None, pattern=None): suite = TestSuite() - for path in sybil.path.glob('**/*'): + for path in sorted(sybil.path.glob('**/*')): if path.is_file() and sybil.should_parse(path): document = sybil.parse(path) diff --git a/tests/test_sybil.py b/tests/test_sybil.py index 74a04ea..72a5aea 100644 --- a/tests/test_sybil.py +++ b/tests/test_sybil.py @@ -243,7 +243,7 @@ def parse(document): def test_namespace(capsys): sybil = Sybil([parse], path='./samples') - documents = [sybil.parse(p) for p in sybil.path.glob('sample*.txt')] + documents = [sybil.parse(p) for p in sorted(sybil.path.glob('sample*.txt'))] actual = [] for document in documents: for example in document: