Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/certbot/certbot.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorohemorange <ebportnoy@gmail.com>2020-04-15 21:54:44 +0300
committerGitHub <noreply@github.com>2020-04-15 21:54:44 +0300
commit9c345ac301287fe8f3222a1084aa79a0dbca13e3 (patch)
treef48e7c479b53146c5a1c58b28ab2b2f70c90328a /certbot-dns-cloudxns
parentaf21d1d56ece276e4a259ceba894e4d008446827 (diff)
Do not require mock in Python 3 in certbot-dns modules (#7900)
Part of #7886. This PR conditionally installs `mock` in `certbot-dns-*/setup.py` based on setuptools version and python version, when possible. It then updates the tests to use `unittest.mock` when `mock` isn't available. * Do not require mock in Python 3 in certbot-dns modules * update changelog * error when trying to build wheels with old setuptools * add type: ignores
Diffstat (limited to 'certbot-dns-cloudxns')
-rw-r--r--certbot-dns-cloudxns/setup.py12
-rw-r--r--certbot-dns-cloudxns/tests/dns_cloudxns_test.py5
2 files changed, 15 insertions, 2 deletions
diff --git a/certbot-dns-cloudxns/setup.py b/certbot-dns-cloudxns/setup.py
index 6c653967d..f998027f9 100644
--- a/certbot-dns-cloudxns/setup.py
+++ b/certbot-dns-cloudxns/setup.py
@@ -1,5 +1,7 @@
+from distutils.version import StrictVersion
import sys
+from setuptools import __version__ as setuptools_version
from setuptools import find_packages
from setuptools import setup
from setuptools.command.test import test as TestCommand
@@ -12,11 +14,19 @@ install_requires = [
'acme>=0.31.0',
'certbot>=1.1.0',
'dns-lexicon>=2.2.1', # Support for >1 TXT record per name
- 'mock',
'setuptools',
'zope.interface',
]
+setuptools_known_environment_markers = (StrictVersion(setuptools_version) >= StrictVersion('36.2'))
+if setuptools_known_environment_markers:
+ install_requires.append('mock ; python_version < "3.3"')
+elif 'bdist_wheel' in sys.argv[1:]:
+ raise RuntimeError('Error, you are trying to build certbot wheels using an old version '
+ 'of setuptools. Version 36.2+ of setuptools is required.')
+elif sys.version_info < (3,3):
+ install_requires.append('mock')
+
docs_extras = [
'Sphinx>=1.0', # autodoc_member_order = 'bysource', autodoc_default_flags
'sphinx_rtd_theme',
diff --git a/certbot-dns-cloudxns/tests/dns_cloudxns_test.py b/certbot-dns-cloudxns/tests/dns_cloudxns_test.py
index a1e3cde89..43c69790f 100644
--- a/certbot-dns-cloudxns/tests/dns_cloudxns_test.py
+++ b/certbot-dns-cloudxns/tests/dns_cloudxns_test.py
@@ -2,7 +2,10 @@
import unittest
-import mock
+try:
+ import mock
+except ImportError: # pragma: no cover
+ from unittest import mock # type: ignore
from requests.exceptions import HTTPError
from requests.exceptions import RequestException