/usr/share/doc/python3-pycurl/tests
NameSizeModeActions
certs/-0755rm
ext/-0755rm
fake-curl/-0755rm
fixtures/-0755rm
matrix/-0755rm
tmp/-0755rm
__pycache__/-0755rm
app.py40880644editdlrm
appmanager.py13800644editdlrm
cadata_test.py14520644editdlrm
certinfo_test.py34680644editdlrm
close_socket_cb_test.py21680644editdlrm
curl_object_test.py48830644editdlrm
debug_test.py22750644editdlrm
default_write_cb_test.py30390644editdlrm
error_constants_test.py6620644editdlrm
error_test.py29010644editdlrm
failonerror_test.py35090644editdlrm
ftp_test.py15370644editdlrm
global_init_test.py10630644editdlrm
header_cb_test.py15600644editdlrm
header_test.py18480644editdlrm
high_level_curl_test.py6320644editdlrm
info_constants_test.py3870644editdlrm
internals_test.py66740644editdlrm
matrix.py68160644editdlrm
multi_option_constants_test.py25030644editdlrm
multi_socket_test.py30490644editdlrm
multi_test.py123130644editdlrm
multi_timer_test.py26950644editdlrm
open_socket_cb_test.py47610644editdlrm
option_constants_test.py163710644editdlrm
perform_test.py21790644editdlrm
procmgr.py27310644editdlrm
protocol_constants_test.py16790644editdlrm
readdata_test.py96230644editdlrm
read_cb_test.py43400644editdlrm
relative_url_test.py5510644editdlrm
reload_test.py4300644editdlrm
reset_test.py26990644editdlrm
resolve_test.py7800644editdlrm
run-quickstart.sh7680755editdlrm
run.sh6900755editdlrm
runwsgi.py37330644editdlrm
seek_cb_constants_test.py8330644editdlrm
setopt_lifecycle_test.py17970644editdlrm
setopt_string_test.py8160644editdlrm
setopt_test.py37730644editdlrm
setopt_unicode_test.py10920644editdlrm
setup_test.py100350644editdlrm
share_test.py17260644editdlrm
sockopt_cb_test.py24530644editdlrm
unset_range_test.py14820644editdlrm
user_agent_string_test.py8200644editdlrm
util.py82910644editdlrm
version_comparison_test.py5140644editdlrm
version_constants_test.py20560644editdlrm
version_test.py3130644editdlrm
vsftpd.conf2940644editdlrm
weakref_test.py4430644editdlrm
write_abort_test.py11940644editdlrm
write_cb_bogus_test.py13810644editdlrm
write_test.py100480644editdlrm
write_to_stringio_test.py12280644editdlrm
xferinfo_cb_test.py21470644editdlrm
__init__.py5350644editdlrm
Edit: /usr/share/doc/python3-pycurl/tests/setup_test.py (10035B)
#! /usr/bin/env python # -*- coding: utf-8 -*- # vi:ts=4:et from . import util import setup as pycurl_setup import unittest import os, os.path, sys import nose.plugins.skip import functools try: # Python 2 from StringIO import StringIO except ImportError: # Python 3 from io import StringIO def set_env(key, new_value): old_value = os.environ.get(key) if new_value is not None: os.environ[key] = new_value elif old_value is not None: del os.environ[key] else: # new and old values are None which mean the variable is not set pass return old_value def reset_env(key, old_value): # empty string means environment variable was empty # None means it was not set if old_value is not None: os.environ[key] = old_value elif key in os.environ: del os.environ[key] def using_curl_config(path, ssl_library=None): path = os.path.join(os.path.dirname(__file__), 'fake-curl', path) def decorator(fn): @functools.wraps(fn) def decorated(*args, **kwargs): old_path = set_env('PYCURL_CURL_CONFIG', path) old_ssl_library = set_env('PYCURL_SSL_LIBRARY', ssl_library) try: return fn(*args, **kwargs) finally: reset_env('PYCURL_CURL_CONFIG', old_path) reset_env('PYCURL_SSL_LIBRARY', old_ssl_library) return decorated return decorator def min_python_version(*spec): def decorator(fn): @functools.wraps(fn) def decorated(*args, **kwargs): if sys.version_info < spec: raise nose.plugins.skip.SkipTest('Minimum Python version %s required' % spec.join('.')) return fn(*args, **kwargs) return decorated return decorator class SetupTest(unittest.TestCase): @util.only_unix def test_sanity_check(self): config = pycurl_setup.ExtensionConfiguration() # we should link against libcurl, one would expect assert 'curl' in config.libraries @util.only_unix @using_curl_config('curl-config-empty') def test_no_ssl(self): config = pycurl_setup.ExtensionConfiguration() # do not expect anything to do with ssl assert 'crypto' not in config.libraries @util.only_unix @using_curl_config('curl-config-libs-and-static-libs') def test_does_not_use_static_libs(self): config = pycurl_setup.ExtensionConfiguration() # should not link against any libraries from --static-libs if # --libs succeeded assert 'flurby' in config.libraries assert 'kzzert' not in config.libraries @util.only_unix @using_curl_config('curl-config-ssl-in-libs') def test_ssl_in_libs(self): config = pycurl_setup.ExtensionConfiguration() # should link against openssl assert 'crypto' in config.libraries @util.only_unix @using_curl_config('curl-config-ssl-in-static-libs') def test_ssl_in_static_libs(self): config = pycurl_setup.ExtensionConfiguration() # should link against openssl assert 'crypto' in config.libraries @util.only_unix @using_curl_config('curl-config-empty') def test_no_ssl_define(self): config = pycurl_setup.ExtensionConfiguration() # ssl define should be off assert 'HAVE_CURL_SSL' not in config.define_symbols @util.only_unix @using_curl_config('curl-config-ssl-in-libs') def test_ssl_in_libs_sets_ssl_define(self): config = pycurl_setup.ExtensionConfiguration() # ssl define should be on assert 'HAVE_CURL_SSL' in config.define_symbols @util.only_unix @using_curl_config('curl-config-ssl-in-static-libs') def test_ssl_in_static_libs_sets_ssl_define(self): config = pycurl_setup.ExtensionConfiguration() # ssl define should be on assert 'HAVE_CURL_SSL' in config.define_symbols @util.only_unix @using_curl_config('curl-config-ssl-in-libs') def test_ssl_feature_sets_ssl_define(self): config = pycurl_setup.ExtensionConfiguration() # ssl define should be on assert 'HAVE_CURL_SSL' in config.define_symbols @util.only_unix @using_curl_config('curl-config-ssl-feature-only') def test_ssl_feature_only(self): try: pycurl_setup.ExtensionConfiguration() except pycurl_setup.ConfigurationError as e: self.assertEqual('''\ Curl is configured to use SSL, but we have not been able to determine \ which SSL backend it is using. Please see PycURL documentation for how to \ specify the SSL backend manually.''', str(e)) else: self.fail('Should have raised') @util.only_unix @using_curl_config('curl-config-ssl-feature-only') def test_libcurl_ssl_openssl(self): config = pycurl_setup.ExtensionConfiguration(['', '--libcurl-dll=tests/fake-curl/libcurl/with_openssl.so']) # openssl should be detected assert 'HAVE_CURL_SSL' in config.define_symbols assert 'HAVE_CURL_OPENSSL' in config.define_symbols assert 'crypto' in config.libraries assert 'HAVE_CURL_GNUTLS' not in config.define_symbols assert 'HAVE_CURL_NSS' not in config.define_symbols @util.only_unix @using_curl_config('curl-config-ssl-feature-only') def test_libcurl_ssl_gnutls(self): config = pycurl_setup.ExtensionConfiguration(['', '--libcurl-dll=tests/fake-curl/libcurl/with_gnutls.so']) # gnutls should be detected assert 'HAVE_CURL_SSL' in config.define_symbols assert 'HAVE_CURL_GNUTLS' in config.define_symbols assert 'gnutls' in config.libraries assert 'HAVE_CURL_OPENSSL' not in config.define_symbols assert 'HAVE_CURL_NSS' not in config.define_symbols @util.only_unix @using_curl_config('curl-config-ssl-feature-only') def test_libcurl_ssl_nss(self): config = pycurl_setup.ExtensionConfiguration(['', '--libcurl-dll=tests/fake-curl/libcurl/with_nss.so']) # nss should be detected assert 'HAVE_CURL_SSL' in config.define_symbols assert 'HAVE_CURL_NSS' in config.define_symbols assert 'ssl3' in config.libraries assert 'HAVE_CURL_OPENSSL' not in config.define_symbols assert 'HAVE_CURL_GNUTLS' not in config.define_symbols @util.only_unix @using_curl_config('curl-config-empty') def test_libcurl_ssl_unrecognized(self): config = pycurl_setup.ExtensionConfiguration(['', '--libcurl-dll=tests/fake-curl/libcurl/with_unknown_ssl.so']) assert 'HAVE_CURL_SSL' not in config.define_symbols assert 'HAVE_CURL_OPENSSL' not in config.define_symbols assert 'HAVE_CURL_GNUTLS' not in config.define_symbols assert 'HAVE_CURL_NSS' not in config.define_symbols @util.only_unix @using_curl_config('curl-config-ssl-feature-only') def test_with_ssl_library(self): config = pycurl_setup.ExtensionConfiguration(['', '--with-ssl']) assert 'HAVE_CURL_SSL' in config.define_symbols assert 'HAVE_CURL_OPENSSL' in config.define_symbols assert 'crypto' in config.libraries assert 'HAVE_CURL_GNUTLS' not in config.define_symbols assert 'HAVE_CURL_NSS' not in config.define_symbols @util.only_unix @using_curl_config('curl-config-ssl-feature-only') def test_with_openssl_library(self): config = pycurl_setup.ExtensionConfiguration(['', '--with-openssl']) assert 'HAVE_CURL_SSL' in config.define_symbols assert 'HAVE_CURL_OPENSSL' in config.define_symbols assert 'crypto' in config.libraries assert 'HAVE_CURL_GNUTLS' not in config.define_symbols assert 'HAVE_CURL_NSS' not in config.define_symbols @util.only_unix @using_curl_config('curl-config-ssl-feature-only') def test_with_gnutls_library(self): config = pycurl_setup.ExtensionConfiguration(['', '--with-gnutls']) assert 'HAVE_CURL_SSL' in config.define_symbols assert 'HAVE_CURL_GNUTLS' in config.define_symbols assert 'gnutls' in config.libraries assert 'HAVE_CURL_OPENSSL' not in config.define_symbols assert 'HAVE_CURL_NSS' not in config.define_symbols @util.only_unix @using_curl_config('curl-config-ssl-feature-only') def test_with_nss_library(self): config = pycurl_setup.ExtensionConfiguration(['', '--with-nss']) assert 'HAVE_CURL_SSL' in config.define_symbols assert 'HAVE_CURL_NSS' in config.define_symbols assert 'ssl3' in config.libraries assert 'HAVE_CURL_OPENSSL' not in config.define_symbols assert 'HAVE_CURL_GNUTLS' not in config.define_symbols @util.only_unix @using_curl_config('curl-config-empty') def test_no_ssl_feature_with_libcurl_dll(self): config = pycurl_setup.ExtensionConfiguration(['', '--libcurl-dll=tests/fake-curl/libcurl/with_openssl.so']) # openssl should not be detected assert 'HAVE_CURL_SSL' not in config.define_symbols assert 'HAVE_CURL_OPENSSL' not in config.define_symbols assert 'crypto' not in config.libraries @util.only_unix @using_curl_config('curl-config-empty') def test_no_ssl_feature_with_ssl(self): old_stderr = sys.stderr sys.stderr = captured_stderr = StringIO() try: config = pycurl_setup.ExtensionConfiguration(['', '--with-ssl']) # openssl should not be detected assert 'HAVE_CURL_SSL' not in config.define_symbols assert 'HAVE_CURL_OPENSSL' not in config.define_symbols assert 'crypto' not in config.libraries finally: sys.stderr = old_stderr self.assertEqual("Warning: SSL backend specified manually but libcurl does not use SSL", captured_stderr.getvalue().strip())