From 0a9d6469f0eadbb6e74dca8d8a7167f20074f24f Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sat, 12 Jul 2014 10:01:59 +0200 Subject: [PATCH] Make dependency on python-mock optional. --- requirements.txt | 1 + setup.py | 4 ---- test/test_yn.py | 13 ++++++++++++- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/requirements.txt b/requirements.txt index 35b7e8be8..a23bd4938 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,3 +5,4 @@ python-gnupg feedparser sqlalchemy SocksiPy-branch +mock diff --git a/setup.py b/setup.py index 06702744a..320aab27c 100644 --- a/setup.py +++ b/setup.py @@ -281,10 +281,6 @@ setup( 'python-dateutil <2.0,>=1.3', 'feedparser', ], - - tests_require=[ - 'mock', - ] ) diff --git a/test/test_yn.py b/test/test_yn.py index 92340c340..cc8ec9d58 100644 --- a/test/test_yn.py +++ b/test/test_yn.py @@ -27,10 +27,20 @@ # POSSIBILITY OF SUCH DAMAGE. ### +import sys +import unittest from supybot import questions from supybot.test import SupyTestCase -import mock +if sys.version_info >= (2, 7, 0): + skipif = unittest.skipIf +else: + skipif = lambda x, y: None + +try: + import mock +except ImportError: + mock=None # so complicated construction because I want to # gain the string 'y' instead of the character 'y' @@ -39,6 +49,7 @@ import mock # better solution is usage of '==' operator ;) _yes_answer = ''.join(['', 'y']) +@skipif(mock is None, 'python-mock is not installed.') class TestYn(SupyTestCase): def test_default_yes_selected(self): questions.expect = mock.Mock(return_value=_yes_answer)