From 0af3cece1b1d9ff2e2fefdb5bb0c9b6bcc606056 Mon Sep 17 00:00:00 2001 From: Bastian Kleineidam Date: Tue, 9 Mar 2010 07:49:43 +0100 Subject: [PATCH] Added check for pyftpdlib when running FTP test. --- tests/__init__.py | 15 +++++++++++++-- tests/checker/ftpserver.py | 2 +- tests/checker/test_ftp.py | 2 ++ 3 files changed, 16 insertions(+), 3 deletions(-) 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