summaryrefslogtreecommitdiff
path: root/dev-python/sybil/files/sybil-3.0.0-test-order.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/sybil/files/sybil-3.0.0-test-order.patch')
-rw-r--r--dev-python/sybil/files/sybil-3.0.0-test-order.patch45
1 files changed, 45 insertions, 0 deletions
diff --git a/dev-python/sybil/files/sybil-3.0.0-test-order.patch b/dev-python/sybil/files/sybil-3.0.0-test-order.patch
new file mode 100644
index 000000000000..1badf5b06a19
--- /dev/null
+++ b/dev-python/sybil/files/sybil-3.0.0-test-order.patch
@@ -0,0 +1,45 @@
+From 4d1e1c891bd619a0dec0a265a930bf49050833d1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+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: