diff --git a/tests/__init__.py b/tests/__init__.py index 40a8580e..e85e0848 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -131,12 +131,23 @@ def has_proxy (): s.close() return True except StandardError: - pass - return False + return False need_proxy = _need_func(has_proxy, "proxy") +@memoized +def has_pyftpdlib (): + """Test if pyftpdlib is available.""" + try: + import pyftpdlib + return True + except ImportError: + return False + +need_pyftpdlib = _need_func(has_pyftpdlib, "pyftpdlib") + + @memoized def has_newsserver (server): try: diff --git a/tests/checker/ftpserver.py b/tests/checker/ftpserver.py index e7c3c552..fec24600 100644 --- a/tests/checker/ftpserver.py +++ b/tests/checker/ftpserver.py @@ -20,7 +20,6 @@ Define http test support classes for LinkChecker tests. import sys import os import time -from pyftpdlib import ftpserver from . import LinkCheckTest @@ -62,6 +61,7 @@ def start_server (host, port): if "kill" in msg: sys.exit(0) + from pyftpdlib import ftpserver authorizer = ftpserver.DummyAuthorizer() datadir = os.path.join(os.path.dirname(__file__), 'data') authorizer.add_anonymous(datadir) diff --git a/tests/checker/test_ftp.py b/tests/checker/test_ftp.py index 3b0704ac..fceb1003 100644 --- a/tests/checker/test_ftp.py +++ b/tests/checker/test_ftp.py @@ -17,12 +17,14 @@ """ FTP checking. """ +from .. import need_pyftpdlib from .ftpserver import FtpServerTest class TestFtp (FtpServerTest): """Test ftp: link checking.""" + @need_pyftpdlib def test_ftp (self): try: # ftp two slashes