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