From 17846e821f3c979189003d8af6fdfc5301b94b85 Mon Sep 17 00:00:00 2001
From: Dridi Boukelmoune <dridi.boukelmoune@gmail.com>
Date: Fri, 10 Dec 2021 09:03:29 +0100
Subject: [PATCH 1/2] dist: Include invalid.txt needed by the test suite
---
MANIFEST.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/MANIFEST.in b/MANIFEST.in
index 2cdf3636..b6467b11 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -5,6 +5,6 @@ include blockdiag.1
include tox.ini
include src/blockdiag/tests/VLGothic/*
recursive-include examples blockdiagrc *.diag *.png *.svg
-recursive-include src README *.py *.diag *.gif *.png
+recursive-include src README *.py *.diag *.gif *.png invalid.txt
exclude examples/update.sh
From 7a4ffa77789a0b3c202c78e5cf198bcf32754c15 Mon Sep 17 00:00:00 2001
From: Dridi Boukelmoune <dridi.boukelmoune@gmail.com>
Date: Fri, 10 Dec 2021 09:04:27 +0100
Subject: [PATCH 2/2] test: Skip tests requiring an internet access
Some build systems like Fedora's build packages in offline environments,
and trying to fetch remote resources results in test failures.
---
src/blockdiag/tests/test_command.py | 7 ++++++-
src/blockdiag/tests/test_generate_diagram.py | 4 ++++
tox.ini | 2 +-
3 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/src/blockdiag/tests/test_command.py b/src/blockdiag/tests/test_command.py
index f5e8e569..d4bbb4e0 100644
--- a/src/blockdiag/tests/test_command.py
+++ b/src/blockdiag/tests/test_command.py
@@ -14,12 +14,14 @@
# limitations under the License.
import os
+import sys
import unittest
from blockdiag.command import BlockdiagApp
-from blockdiag.tests.utils import TemporaryDirectory
+from blockdiag.tests.utils import TemporaryDirectory, capture_stderr
+@capture_stderr
class TestBlockdiagApp(unittest.TestCase):
def test_app_cleans_up_images(self):
testdir = os.path.dirname(__file__)
@@ -42,6 +44,9 @@ def cleanup():
app.register_cleanup_handler(cleanup) # to get internal state
app.run(args)
+ if 'Could not retrieve:' in sys.stderr.getvalue():
+ raise unittest.SkipTest("No internet access")
+
self.assertTrue(urlopen_cache) # check images were cached
for path in urlopen_cache.values():
self.assertFalse(os.path.exists(path)) # and removed finally
diff --git a/src/blockdiag/tests/test_generate_diagram.py b/src/blockdiag/tests/test_generate_diagram.py
index a212d89f..37620e03 100644
--- a/src/blockdiag/tests/test_generate_diagram.py
+++ b/src/blockdiag/tests/test_generate_diagram.py
@@ -104,6 +104,8 @@ def generate(mainfunc, filetype, source, options):
mainfunc(['--debug', '-T', filetype, '-o', tmpfile, source] +
list(options))
+ if 'Could not retrieve:' in sys.stderr.getvalue():
+ raise unittest.SkipTest("No internet access")
finally:
tmpdir.clean()
@@ -150,6 +152,8 @@ def ghostscript_not_found_test():
args = ['-T', 'SVG', '-o', tmpfile, diagpath]
ret = blockdiag.command.main(args)
+ if 'Could not retrieve:' in sys.stderr.getvalue():
+ raise unittest.SkipTest("No internet access")
assert 'Could not convert image:' in sys.stderr.getvalue()
assert ret == 0
finally:
diff --git a/tox.ini b/tox.ini
index 0aafed88..e58c9977 100644
--- a/tox.ini
+++ b/tox.ini
@@ -26,4 +26,4 @@ description =
extras =
testing
commands =
- flake8 src
+ flake8 --show-source src