rdobuilder efbb4d
From 2dc654a20c4f1908d587060809a9d67b31352497 Mon Sep 17 00:00:00 2001
rdobuilder efbb4d
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
rdobuilder efbb4d
Date: Thu, 16 Apr 2020 09:46:39 +0200
rdobuilder efbb4d
Subject: [PATCH] Skip tests requiring invoke if it's not installed
rdobuilder efbb4d
rdobuilder efbb4d
Since invoke is an optional dependency and only one group of tests
rdobuilder efbb4d
require it, skip them gracefully rather than failing if it's not
rdobuilder efbb4d
present.
rdobuilder efbb4d
---
rdobuilder efbb4d
 tests/test_config.py | 7 ++++++-
rdobuilder efbb4d
 1 file changed, 6 insertions(+), 1 deletion(-)
rdobuilder efbb4d
rdobuilder efbb4d
diff --git a/tests/test_config.py b/tests/test_config.py
rdobuilder efbb4d
index 5e9aa0592..2095061f2 100644
rdobuilder efbb4d
--- a/tests/test_config.py
rdobuilder efbb4d
+++ b/tests/test_config.py
rdobuilder efbb4d
@@ -6,7 +6,11 @@
rdobuilder efbb4d
 
rdobuilder efbb4d
 from paramiko.py3compat import string_types
rdobuilder efbb4d
 
rdobuilder efbb4d
-from invoke import Result
rdobuilder efbb4d
+try:
rdobuilder efbb4d
+    from invoke import Result
rdobuilder efbb4d
+except ImportError:
rdobuilder efbb4d
+    Result = None
rdobuilder efbb4d
+
rdobuilder efbb4d
 from mock import patch
rdobuilder efbb4d
 from pytest import raises, mark, fixture
rdobuilder efbb4d
 
rdobuilder efbb4d
@@ -742,6 +746,7 @@ def inner(command, *args, **kwargs):
rdobuilder efbb4d
     return inner
rdobuilder efbb4d
 
rdobuilder efbb4d
 
rdobuilder efbb4d
+@mark.skipif(Result is None, reason="requires invoke package")
rdobuilder efbb4d
 class TestMatchExec(object):
rdobuilder efbb4d
     @patch("paramiko.config.invoke", new=None)
rdobuilder efbb4d
     @patch("paramiko.config.invoke_import_error", new=ImportError("meh"))