Exemple #1
0
 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
Exemple #2
0
 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
Exemple #3
0
    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
Exemple #4
0
    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
Exemple #5
0
    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')
Exemple #6
0
    def test_ssl_feature_only(self):
        saved_stderr = sys.stderr
        sys.stderr = captured_stderr = StringIO()
        try:
            config = pycurl_setup.ExtensionConfiguration()
        finally:
            sys.stderr = saved_stderr
        # ssl define should be on
        assert 'HAVE_CURL_SSL' in config.define_symbols
        # and a warning message
        assert 'Warning: libcurl is configured to use SSL, but we have \
not been able to determine which SSL backend it is using.' in captured_stderr.getvalue()
Exemple #7
0
 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())
Exemple #8
0
 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
Exemple #9
0
 def test_no_ssl_define(self):
     config = pycurl_setup.ExtensionConfiguration()
     # ssl define should be off
     assert 'HAVE_CURL_SSL' not in config.define_symbols
Exemple #10
0
 def test_ssl_in_static_libs(self):
     config = pycurl_setup.ExtensionConfiguration()
     # should link against openssl
     assert 'crypto' in config.libraries
Exemple #11
0
 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
Exemple #12
0
 def test_no_ssl(self):
     config = pycurl_setup.ExtensionConfiguration()
     # do not expect anything to do with ssl
     assert 'crypto' not in config.libraries
Exemple #13
0
 def test_sanity_check(self):
     config = pycurl_setup.ExtensionConfiguration()
     # we should link against libcurl, one would expect
     assert 'curl' in config.libraries
Exemple #14
0
 def test_invalid_option_suffix_not_consumed(self):
     argv = ['', '--with-nss-bogus']
     pycurl_setup.ExtensionConfiguration(argv)
     self.assertEqual(['', '--with-nss-bogus'], argv)
Exemple #15
0
 def test_valid_option_consumes_argv(self):
     argv = ['', '--with-nss']
     pycurl_setup.ExtensionConfiguration(argv)
     self.assertEqual([''], argv)