diff options
author | Matěj Cepl <mcepl@cepl.eu> | 2024-06-02 21:56:50 +0200 |
---|---|---|
committer | Bryan Gardiner <bog@khumba.net> | 2024-07-19 20:30:21 -0700 |
commit | 42c55b72d7796c58a5fd13517429e6587c0d9c66 (patch) | |
tree | 1b3d83d034ea657065f42682cfcbf8febe405e8e /tests | |
parent | 424f8f66d0b93946a4bd215727e722173d2263f3 (diff) | |
download | lazygl2srht-42c55b72d7796c58a5fd13517429e6587c0d9c66.tar.gz |
feat: add split_long_str() splitting strings keeping lines intact
todo.sr.ht has limited size of comments to 16k characters. When
splitting a string to multiple ones, we don't want to split lines
in the middle.
Also, start at least some unit tests.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/209_description.txt | 786 | ||||
-rw-r--r-- | tests/__init__.py | 0 | ||||
-rw-r--r-- | tests/test_import_issues.py | 52 |
3 files changed, 838 insertions, 0 deletions
diff --git a/tests/209_description.txt b/tests/209_description.txt new file mode 100644 index 0000000..79de873 --- /dev/null +++ b/tests/209_description.txt @@ -0,0 +1,786 @@ +**https://pastebin.com/FDcfSU2z More readable here** (doesn't have to be) + +``` +sudo pip install m2crypto==0.24.0 +Collecting m2crypto==0.24.0 +Downloading https://files.pythonhosted.org/packages/58/75/362faac80a1bc2742b4b696dc350518312043d568bfd2687a9270f18da88/M2Crypto-0.24.0.tar.gz (184kB) +100% |████████████████████████████████| 194kB 234kB/s +Building wheels for collected packages: m2crypto +Running setup.py bdist_wheel for m2crypto ... error +Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-build-cIFksT/m2crypto/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" bdist_wheel -d /tmp/tmpfQntJipip-wheel- --python-tag cp27: +running bdist_wheel +running build +running build_py +copying M2Crypto/RSA.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/threading.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/ftpslib.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/EC.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/Rand.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/m2xmlrpclib.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/m2urllib2.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/ASN1.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/SMIME.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/init.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/EVP.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/X509.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/util.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/BN.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/callback.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/BIO.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/Engine.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/DH.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/Err.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/httpslib.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/RC4.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/DSA.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/m2.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/AuthCookie.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/m2urllib.py -> build/lib.linux-x86_64-2.7/M2Crypto +creating build/lib.linux-x86_64-2.7/M2Crypto/SSL +copying M2Crypto/SSL/Connection.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL +copying M2Crypto/SSL/TwistedProtocolWrapper.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL +copying M2Crypto/SSL/Context.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL +copying M2Crypto/SSL/Session.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL +copying M2Crypto/SSL/Checker.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL +copying M2Crypto/SSL/init.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL +copying M2Crypto/SSL/SSLServer.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL +copying M2Crypto/SSL/cb.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL +copying M2Crypto/SSL/Cipher.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL +copying M2Crypto/SSL/ssl_dispatcher.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL +copying M2Crypto/SSL/timeout.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL +creating build/lib.linux-x86_64-2.7/M2Crypto/PGP +copying M2Crypto/PGP/RSA.py -> build/lib.linux-x86_64-2.7/M2Crypto/PGP +copying M2Crypto/PGP/PublicKeyRing.py -> build/lib.linux-x86_64-2.7/M2Crypto/PGP +copying M2Crypto/PGP/constants.py -> build/lib.linux-x86_64-2.7/M2Crypto/PGP +copying M2Crypto/PGP/PublicKey.py -> build/lib.linux-x86_64-2.7/M2Crypto/PGP +copying M2Crypto/PGP/init.py -> build/lib.linux-x86_64-2.7/M2Crypto/PGP +copying M2Crypto/PGP/packet.py -> build/lib.linux-x86_64-2.7/M2Crypto/PGP +running build_ext +building 'M2Crypto.__m2crypto' extension +swigging SWIG/m2crypto.i to SWIG/m2crypto_wrap.c +swig -python -D__x86_64 -I/usr/include/python2.7 -I/usr/include -I/usr/include/x86_64-linux-gnu -includeall -modern -builtin -outdir build/lib.linux-x86_64-2.7/M2Crypto -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i +/usr/include/x86_64-linux-gnu/sys/cdefs.h:152: Warning 305: Bad constant value (ignored). +/usr/include/x86_64-linux-gnu/bits/wchar.h:38: Warning 490: Fragment 'SWIG_From_wchar_t' not found. +/usr/include/stdint.h:250: Warning 490: Fragment 'SWIG_From_wchar_t' not found. +SWIG/_bio.i:64: Warning 454: Setting a pointer/reference variable may leak memory. +SWIG/_rand.i:21: Warning 454: Setting a pointer/reference variable may leak memory. +SWIG/_evp.i:169: Warning 454: Setting a pointer/reference variable may leak memory. +SWIG/_dh.i:36: Warning 454: Setting a pointer/reference variable may leak memory. +SWIG/_rsa.i:43: Warning 454: Setting a pointer/reference variable may leak memory. +SWIG/_dsa.i:31: Warning 454: Setting a pointer/reference variable may leak memory. +SWIG/_ssl.i:241: Warning 454: Setting a pointer/reference variable may leak memory. +SWIG/_ssl.i:242: Warning 454: Setting a pointer/reference variable may leak memory. +SWIG/_x509.i:323: Warning 454: Setting a pointer/reference variable may leak memory. +SWIG/_pkcs7.i:44: Warning 454: Setting a pointer/reference variable may leak memory. +SWIG/_pkcs7.i:44: Warning 454: Setting a pointer/reference variable may leak memory. +SWIG/_util.i:11: Warning 454: Setting a pointer/reference variable may leak memory. +SWIG/_ec.i:111: Warning 454: Setting a pointer/reference variable may leak memory. +SWIG/_engine.i:168: Warning 454: Setting a pointer/reference variable may leak memory. +creating build/temp.linux-x86_64-2.7 +creating build/temp.linux-x86_64-2.7/SWIG +x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-DmWv1o/python2.7-2.7.14=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -I/usr/include -I/usr/include/x86_64-linux-gnu -I/tmp/pip-build-cIFksT/m2crypto/SWIG -c SWIG/_m2crypto_wrap.c -o build/temp.linux-x86_64-2.7/SWIG/_m2crypto_wrap.o -DTHREADING +SWIG/_m2crypto_wrap.c:4186:35: error: ‘CRYPTO_NUM_LOCKS’ undeclared here (not in a function); did you mean ‘CRYPTO_UNLOCK’? +static PyThread_type_lock lock_cs[CRYPTO_NUM_LOCKS]; +^~~~~~~~~~~~~~~~ +CRYPTO_UNLOCK +SWIG/_m2crypto_wrap.c: In function ‘lib_init’: +SWIG/_m2crypto_wrap.c:4567:5: warning: implicit declaration of function ‘SSLeay_add_all_algorithms’; did you mean ‘SSLeay_add_ssl_algorithms’? [-Wimplicit-function-declaration] +SSLeay_add_all_algorithms(); +^~~~~~~~~~~~~~~~~~~~~~~~~ +SSLeay_add_ssl_algorithms +SWIG/_m2crypto_wrap.c: In function ‘bn_rand’: +SWIG/_m2crypto_wrap.c:4971:12: error: storage size of ‘rnd’ isn’t known +BIGNUM rnd; +^~~ +SWIG/_m2crypto_wrap.c:4975:5: warning: implicit declaration of function ‘BN_init’; did you mean ‘bio_init’? [-Wimplicit-function-declaration] +BN_init(&rnd); +^~~~~~~ +bio_init +SWIG/_m2crypto_wrap.c:4971:12: warning: unused variable ‘rnd’ [-Wunused-variable] +BIGNUM rnd; +^~~ +SWIG/_m2crypto_wrap.c: In function ‘bn_rand_range’: +SWIG/_m2crypto_wrap.c:5000:12: error: storage size of ‘rnd’ isn’t known +BIGNUM rnd; +^~~ +SWIG/_m2crypto_wrap.c:5000:12: warning: unused variable ‘rnd’ [-Wunused-variable] +SWIG/_m2crypto_wrap.c: In function ‘rand_pseudo_bytes’: +SWIG/_m2crypto_wrap.c:5131:5: warning: ‘RAND_pseudo_bytes’ is deprecated [-Wdeprecated-declarations] +ret = RAND_pseudo_bytes(blob, n); +^~~ +In file included from /usr/include/openssl/crypto.h:32:0, +from /usr/include/openssl/bio.h:20, +from /usr/include/openssl/err.h:21, +from SWIG/_m2crypto_wrap.c:3829: +/usr/include/openssl/rand.h:47:1: note: declared here +DEPRECATEDIN_1_1_0(int RAND_pseudo_bytes(unsigned char *buf, int num)) +^ +SWIG/_m2crypto_wrap.c: In function ‘digest_final’: +SWIG/_m2crypto_wrap.c:5249:34: error: dereferencing pointer to incomplete type ‘EVP_MD_CTX {aka struct evp_md_ctx_st}’ +if (!(blob = PyMem_Malloc(ctx->digest->md_size))) { +^~ +SWIG/_m2crypto_wrap.c: In function ‘hmac_ctx_new’: +SWIG/_m2crypto_wrap.c:5266:49: error: invalid application of ‘sizeof’ to incomplete type ‘HMAC_CTX {aka struct hmac_ctx_st}’ +if (!(ctx = (HMAC_CTX *)PyMem_Malloc(sizeof(HMAC_CTX)))) { +^~~~~~~~ +SWIG/_m2crypto_wrap.c:5270:5: warning: implicit declaration of function ‘HMAC_CTX_init’; did you mean ‘HMAC_CTX_new’? [-Wimplicit-function-declaration] +HMAC_CTX_init(ctx); +^~~~~~~~~~~~~ +HMAC_CTX_new +SWIG/_m2crypto_wrap.c: In function ‘hmac_ctx_free’: +SWIG/_m2crypto_wrap.c:5275:5: warning: implicit declaration of function ‘HMAC_CTX_cleanup’; did you mean ‘HMAC_CTX_get_md’? [-Wimplicit-function-declaration] +HMAC_CTX_cleanup(ctx); +^~~~~~~~~~~~~~~~ +HMAC_CTX_get_md +SWIG/_m2crypto_wrap.c: In function ‘hmac_init’: +SWIG/_m2crypto_wrap.c:5286:5: warning: ‘HMAC_Init’ is deprecated [-Wdeprecated-declarations] +if (!HMAC_Init(ctx, kbuf, klen, md)) { +^~ +In file included from /usr/include/openssl/hmac.h:13:0, +from /usr/include/openssl/ssl.h:56, +from SWIG/_m2crypto_wrap.c:4247: +/usr/include/openssl/hmac.h:28:1: note: declared here +DEPRECATEDIN_1_1_0(__owur int HMAC_Init(HMAC_CTX *ctx, const void *key, int len, +^ +SWIG/_m2crypto_wrap.c: In function ‘hmac_final’: +SWIG/_m2crypto_wrap.c:5314:34: error: dereferencing pointer to incomplete type ‘HMAC_CTX {aka struct hmac_ctx_st}’ +if (!(blob = PyMem_Malloc(ctx->md->md_size))) { +^~ +SWIG/_m2crypto_wrap.c: In function ‘cipher_ctx_new’: +SWIG/_m2crypto_wrap.c:5353:55: error: invalid application of ‘sizeof’ to incomplete type ‘EVP_CIPHER_CTX {aka struct evp_cipher_ctx_st}’ +if (!(ctx = (EVP_CIPHER_CTX *)PyMem_Malloc(sizeof(EVP_CIPHER_CTX)))) { +^~~~~~~~~~~~~~ +SWIG/_m2crypto_wrap.c: In function ‘cipher_final’: +SWIG/_m2crypto_wrap.c:5434:34: error: dereferencing pointer to incomplete type ‘EVP_CIPHER_CTX {aka struct evp_cipher_ctx_st}’ +if (!(obuf = PyMem_Malloc(ctx->cipher->block_size))) { +^~ +SWIG/_m2crypto_wrap.c: In function ‘pkey_get_modulus’: +SWIG/_m2crypto_wrap.c:5582:17: error: dereferencing pointer to incomplete type ‘EVP_PKEY {aka struct evp_pkey_st}’ +switch (pkey->type) { +^~ +SWIG/_m2crypto_wrap.c:5593:35: error: dereferencing pointer to incomplete type ‘RSA {aka struct rsa_st}’ +if (!BN_print(bio, rsa->n)) { +^~ +SWIG/_m2crypto_wrap.c:5618:35: error: dereferencing pointer to incomplete type ‘DSA {aka struct dsa_st}’ +if (!BN_print(bio, dsa->pub_key)) { +^~ +SWIG/_m2crypto_wrap.c: In function ‘dh_generate_parameters’: +SWIG/_m2crypto_wrap.c:5815:5: warning: ‘DH_generate_parameters’ is deprecated [-Wdeprecated-declarations] +dh = DH_generate_parameters(plen, g, gendh_callback, (void *)pyfunc); +^~ +In file included from /usr/include/openssl/bn.h:31:0, +from /usr/include/openssl/asn1.h:24, +from /usr/include/openssl/dh.h:18, +from SWIG/_m2crypto_wrap.c:4243: +/usr/include/openssl/dh.h:135:1: note: declared here +DEPRECATEDIN_0_9_8(DH *DH_generate_parameters(int prime_len, int generator, +^ +SWIG/_m2crypto_wrap.c: In function ‘dh_get_p’: +SWIG/_m2crypto_wrap.c:5861:12: error: dereferencing pointer to incomplete type ‘DH {aka struct dh_st}’ +if (!dh->p) { +^~ +SWIG/_m2crypto_wrap.c: In function ‘rsa_generate_key’: +SWIG/_m2crypto_wrap.c:6319:5: warning: ‘RSA_generate_key’ is deprecated [-Wdeprecated-declarations] +rsa = RSA_generate_key(bits, e, genrsa_callback, (void *)pyfunc); +^~~ +In file included from /usr/include/openssl/rsa.h:13:0, +from SWIG/_m2crypto_wrap.c:4246: +/usr/include/openssl/rsa.h:193:1: note: declared here +DEPRECATEDIN_0_9_8(RSA *RSA_generate_key(int bits, unsigned long e, void +^ +SWIG/_m2crypto_wrap.c: In function ‘dsa_sig_get_r’: +SWIG/_m2crypto_wrap.c:6348:29: error: dereferencing pointer to incomplete type ‘DSA_SIG {aka struct DSA_SIG_st}’ +return bn_to_mpi(dsa_sig->r); +^~ +SWIG/_m2crypto_wrap.c: In function ‘dsa_generate_parameters’: +SWIG/_m2crypto_wrap.c:6378:5: warning: ‘DSA_generate_parameters’ is deprecated [-Wdeprecated-declarations] +dsa = DSA_generate_parameters(bits, NULL, 0, NULL, NULL, genparam_callback, (void *)pyfunc); +^~~ +In file included from /usr/include/openssl/dsa.h:28:0, +from /usr/include/openssl/x509.h:32, +from /usr/include/openssl/ssl.h:50, +from SWIG/_m2crypto_wrap.c:4247: +/usr/include/openssl/dsa.h:122:1: note: declared here +DEPRECATEDIN_0_9_8(DSA *DSA_generate_parameters(int bits, +^ +SWIG/_m2crypto_wrap.c: In function ‘sk_ssl_cipher_value’: +SWIG/_m2crypto_wrap.c:7284:12: warning: return discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] +return sk_SSL_CIPHER_value(stack, idx); +^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +SWIG/_m2crypto_wrap.c: In function ‘x509_name_get_der’: +SWIG/_m2crypto_wrap.c:7463:43: error: dereferencing pointer to incomplete type ‘X509_NAME {aka struct X509_name_st}’ +return PyString_FromStringAndSize(name->bytes->data, name->bytes->length); +^~ +SWIG/_m2crypto_wrap.c: At top level: +SWIG/_m2crypto_wrap.c:7523:2: warning: function declaration isn’t a prototype [-Wstrict-prototypes] +x509v3_lhash() { +^~~~~~~~~~~~ +SWIG/_m2crypto_wrap.c: In function ‘x509v3_lhash’: +SWIG/_m2crypto_wrap.c:7524:12: warning: return from incompatible pointer type [-Wincompatible-pointer-types] +return lh_new(NULL, NULL); / Should probably be lh_CONF_VALUE_new but won't compile. */ +^~~~~~ +SWIG/_m2crypto_wrap.c: In function ‘make_stack_from_der_sequence’: +SWIG/_m2crypto_wrap.c:7640:13: warning: implicit declaration of function ‘ASN1_seq_unpack_X509’; did you mean ‘ASN1_item_unpack’? [-Wimplicit-function-declaration] +certs = ASN1_seq_unpack_X509((unsigned char *)encoded_string, encoded_string_len, d2i_X509, X509_free ); +^~~~~~~~~~~~~~~~~~~~ +ASN1_item_unpack +SWIG/_m2crypto_wrap.c:7640:11: warning: assignment makes pointer from integer without a cast [-Wint-conversion] +certs = ASN1_seq_unpack_X509((unsigned char *)encoded_string, encoded_string_len, d2i_X509, X509_free ); +^ +SWIG/_m2crypto_wrap.c: In function ‘get_der_encoding_stack’: +SWIG/_m2crypto_wrap.c:7656:16: warning: implicit declaration of function ‘ASN1_seq_pack_X509’; did you mean ‘ASN1_item_pack’? [-Wimplicit-function-declaration] +encoding = ASN1_seq_pack_X509(stack, i2d_X509, NULL, &len); +^~~~~~~~~~~~~~~~~~ +ASN1_item_pack +SWIG/_m2crypto_wrap.c:7656:14: warning: assignment makes pointer from integer without a cast [-Wint-conversion] +encoding = ASN1_seq_pack_X509(stack, i2d_X509, NULL, &len); +^ +SWIG/_m2crypto_wrap.c: In function ‘ecdsa_sig_get_r’: +SWIG/_m2crypto_wrap.c:8186:31: error: dereferencing pointer to incomplete type ‘ECDSA_SIG {aka struct ECDSA_SIG_st}’ +return bn_to_mpi(ecdsa_sig->r); +^~ +SWIG/_m2crypto_wrap.c: In function ‘_wrap_sslv2_method’: +SWIG/_m2crypto_wrap.c:18315:26: warning: implicit declaration of function ‘SSLv2_method’; did you mean ‘SSLv23_method’? [-Wimplicit-function-declaration] +result = (SSL_METHOD *)SSLv2_method(); +^~~~~~~~~~~~ +SSLv23_method +SWIG/_m2crypto_wrap.c:18315:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] +result = (SSL_METHOD *)SSLv2_method(); +^ +SWIG/_m2crypto_wrap.c: In function ‘_wrap_tlsv1_method’: +SWIG/_m2crypto_wrap.c:18341:3: warning: ‘TLSv1_method’ is deprecated [-Wdeprecated-declarations] +result = (SSL_METHOD *)TLSv1_method(); +^~~~~~ +In file included from /usr/include/openssl/ct.h:13:0, +from /usr/include/openssl/ssl.h:61, +from SWIG/_m2crypto_wrap.c:4247: +/usr/include/openssl/ssl.h:1627:1: note: declared here +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD TLSv1_method(void)) / TLSv1.0 */ +^ +SWIG/_m2crypto_wrap.c: In function ‘_wrap_c2i_asn1_object’: +SWIG/_m2crypto_wrap.c:25775:27: warning: implicit declaration of function ‘c2i_ASN1_OBJECT’; did you mean ‘d2i_ASN1_OBJECT’? [-Wimplicit-function-declaration] +result = (ASN1_OBJECT *)c2i_ASN1_OBJECT(arg1,(unsigned char const **)arg2,arg3); +^~~~~~~~~~~~~~~ +d2i_ASN1_OBJECT +SWIG/_m2crypto_wrap.c:25775:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] +result = (ASN1_OBJECT *)c2i_ASN1_OBJECT(arg1,(unsigned char const **)arg2,arg3); +^ +SWIG/_m2crypto_wrap.c: In function ‘init__m2crypto’: +SWIG/_m2crypto_wrap.c:31639:79: warning: implicit declaration of function ‘SWIG_From_wchar_t’; did you mean ‘SWIG_FromCharPtr’? [-Wimplicit-function-declaration] +SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "__WCHAR_MAX",SWIG_From_wchar_t((wchar_t)((0x7fffffff+L'\0')))); +^~~~~~~~~~~~~~~~~ +SWIG_FromCharPtr +SWIG/_m2crypto_wrap.c:31639:120: error: stray ‘\’ in program +SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "__WCHAR_MAX",SWIG_From_wchar_t((wchar_t)((0x7fffffff+L'\0')))); +^ +SWIG/_m2crypto_wrap.c:31639:121: warning: missing terminating ' character +SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "__WCHAR_MAX",SWIG_From_wchar_t((wchar_t)((0x7fffffff+L'\0')))); +^ +SWIG/_m2crypto_wrap.c:31639:121: error: missing terminating ' character +SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "__WCHAR_MAX",SWIG_From_wchar_t((wchar_t)((0x7fffffff+L'\0')))); +^~~~~~~~~~~ +SWIG/_m2crypto_wrap.c:31639:119: error: ‘L’ undeclared (first use in this function) +SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "__WCHAR_MAX",SWIG_From_wchar_t((wchar_t)((0x7fffffff+L'\0')))); +^ +SWIG/_m2crypto_wrap.c:31639:119: note: each undeclared identifier is reported only once for each function it appears in +SWIG/_m2crypto_wrap.c:31640:3: error: expected ‘)’ before ‘SWIG_Python_SetConstant’ +SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "__WCHAR_MIN",SWIG_From_int((int)((-(0x7fffffff+L'\0') -1)))); +^~~~~~~~~~~~~~~~~~~~~~~ +SWIG/_m2crypto_wrap.c:31691:118: error: stray ‘\’ in program +SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "WCHAR_MAX",SWIG_From_wchar_t((wchar_t)((0x7fffffff+L'\0')))); +^ +SWIG/_m2crypto_wrap.c:31691:119: warning: missing terminating ' character +SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "WCHAR_MAX",SWIG_From_wchar_t((wchar_t)((0x7fffffff+L'\0')))); +^ +SWIG/_m2crypto_wrap.c:31691:119: error: missing terminating ' character +SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "WCHAR_MAX",SWIG_From_wchar_t((wchar_t)((0x7fffffff+L'\0')))); +^~~~~~~~~~~ +SWIG/_m2crypto_wrap.c:31996:1: error: expected declaration or statement at end of input +} +^ +SWIG/_m2crypto_wrap.c: In function ‘dh_get_p’: +SWIG/_m2crypto_wrap.c:5866:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘dh_get_g’: +SWIG/_m2crypto_wrap.c:5874:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘dh_get_pub’: +SWIG/_m2crypto_wrap.c:5882:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘dh_get_priv’: +SWIG/_m2crypto_wrap.c:5890:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘rsa_get_e’: +SWIG/_m2crypto_wrap.c:5999:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘rsa_get_n’: +SWIG/_m2crypto_wrap.c:6007:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘rsa_check_pub_key’: +SWIG/_m2crypto_wrap.c:6334:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘dsa_sig_get_r’: +SWIG/_m2crypto_wrap.c:6349:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘dsa_sig_get_s’: +SWIG/_m2crypto_wrap.c:6353:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘dsa_get_p’: +SWIG/_m2crypto_wrap.c:6391:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘dsa_get_q’: +SWIG/_m2crypto_wrap.c:6399:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘dsa_get_g’: +SWIG/_m2crypto_wrap.c:6407:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘dsa_get_pub’: +SWIG/_m2crypto_wrap.c:6415:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘dsa_get_priv’: +SWIG/_m2crypto_wrap.c:6423:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘dsa_check_key’: +SWIG/_m2crypto_wrap.c:6670:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘dsa_check_pub_key’: +SWIG/_m2crypto_wrap.c:6674:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘dsa_keylen’: +SWIG/_m2crypto_wrap.c:6678:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘x509_name_get_der’: +SWIG/_m2crypto_wrap.c:7464:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘ecdsa_sig_get_r’: +SWIG/_m2crypto_wrap.c:8187:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘ecdsa_sig_get_s’: +SWIG/_m2crypto_wrap.c:8191:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +At top level: +SWIG/_m2crypto_wrap.c:4187:13: warning: ‘lock_count’ defined but not used [-Wunused-variable] +static long lock_count[CRYPTO_NUM_LOCKS]; +^~~~~~~~~~ +SWIG/_m2crypto_wrap.c:4186:27: warning: ‘lock_cs’ defined but not used [-Wunused-variable] +static PyThread_type_lock lock_cs[CRYPTO_NUM_LOCKS]; +^~~~~~~ +error: command 'x86_64-linux-gnu-gcc' failed with exit status 1 + +Failed building wheel for m2crypto +Running setup.py clean for m2crypto +Failed to build m2crypto +Installing collected packages: m2crypto +Found existing installation: M2Crypto 0.26.2 +Uninstalling M2Crypto-0.26.2: +Successfully uninstalled M2Crypto-0.26.2 +Running setup.py install for m2crypto ... error +Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-build-cIFksT/m2crypto/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-cWZrMo-record/install-record.txt --single-version-externally-managed --compile: +running install +running build +running build_py +creating build +creating build/lib.linux-x86_64-2.7 +creating build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/RSA.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/threading.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/ftpslib.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/EC.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/Rand.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/m2xmlrpclib.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/m2urllib2.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/ASN1.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/SMIME.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/init.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/EVP.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/X509.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/util.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/BN.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/callback.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/BIO.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/Engine.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/DH.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/Err.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/httpslib.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/RC4.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/DSA.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/m2.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/AuthCookie.py -> build/lib.linux-x86_64-2.7/M2Crypto +copying M2Crypto/m2urllib.py -> build/lib.linux-x86_64-2.7/M2Crypto +creating build/lib.linux-x86_64-2.7/M2Crypto/SSL +copying M2Crypto/SSL/Connection.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL +copying M2Crypto/SSL/TwistedProtocolWrapper.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL +copying M2Crypto/SSL/Context.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL +copying M2Crypto/SSL/Session.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL +copying M2Crypto/SSL/Checker.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL +copying M2Crypto/SSL/init.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL +copying M2Crypto/SSL/SSLServer.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL +copying M2Crypto/SSL/cb.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL +copying M2Crypto/SSL/Cipher.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL +copying M2Crypto/SSL/ssl_dispatcher.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL +copying M2Crypto/SSL/timeout.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL +creating build/lib.linux-x86_64-2.7/M2Crypto/PGP +copying M2Crypto/PGP/RSA.py -> build/lib.linux-x86_64-2.7/M2Crypto/PGP +copying M2Crypto/PGP/PublicKeyRing.py -> build/lib.linux-x86_64-2.7/M2Crypto/PGP +copying M2Crypto/PGP/constants.py -> build/lib.linux-x86_64-2.7/M2Crypto/PGP +copying M2Crypto/PGP/PublicKey.py -> build/lib.linux-x86_64-2.7/M2Crypto/PGP +copying M2Crypto/PGP/init.py -> build/lib.linux-x86_64-2.7/M2Crypto/PGP +copying M2Crypto/PGP/packet.py -> build/lib.linux-x86_64-2.7/M2Crypto/PGP +running build_ext +building 'M2Crypto.__m2crypto' extension +swigging SWIG/m2crypto.i to SWIG/m2crypto_wrap.c +swig -python -D__x86_64 -I/usr/include/python2.7 -I/usr/include -I/usr/include/x86_64-linux-gnu -includeall -modern -builtin -outdir build/lib.linux-x86_64-2.7/M2Crypto -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i +/usr/include/x86_64-linux-gnu/sys/cdefs.h:152: Warning 305: Bad constant value (ignored). +/usr/include/x86_64-linux-gnu/bits/wchar.h:38: Warning 490: Fragment 'SWIG_From_wchar_t' not found. +/usr/include/stdint.h:250: Warning 490: Fragment 'SWIG_From_wchar_t' not found. +SWIG/_bio.i:64: Warning 454: Setting a pointer/reference variable may leak memory. +SWIG/_rand.i:21: Warning 454: Setting a pointer/reference variable may leak memory. +SWIG/_evp.i:169: Warning 454: Setting a pointer/reference variable may leak memory. +SWIG/_dh.i:36: Warning 454: Setting a pointer/reference variable may leak memory. +SWIG/_rsa.i:43: Warning 454: Setting a pointer/reference variable may leak memory. +SWIG/_dsa.i:31: Warning 454: Setting a pointer/reference variable may leak memory. +SWIG/_ssl.i:241: Warning 454: Setting a pointer/reference variable may leak memory. +SWIG/_ssl.i:242: Warning 454: Setting a pointer/reference variable may leak memory. +SWIG/_x509.i:323: Warning 454: Setting a pointer/reference variable may leak memory. +SWIG/_pkcs7.i:44: Warning 454: Setting a pointer/reference variable may leak memory. +SWIG/_pkcs7.i:44: Warning 454: Setting a pointer/reference variable may leak memory. +SWIG/_util.i:11: Warning 454: Setting a pointer/reference variable may leak memory. +SWIG/_ec.i:111: Warning 454: Setting a pointer/reference variable may leak memory. +SWIG/_engine.i:168: Warning 454: Setting a pointer/reference variable may leak memory. +creating build/temp.linux-x86_64-2.7 +creating build/temp.linux-x86_64-2.7/SWIG +x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-DmWv1o/python2.7-2.7.14=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -I/usr/include -I/usr/include/x86_64-linux-gnu -I/tmp/pip-build-cIFksT/m2crypto/SWIG -c SWIG/_m2crypto_wrap.c -o build/temp.linux-x86_64-2.7/SWIG/_m2crypto_wrap.o -DTHREADING +SWIG/_m2crypto_wrap.c:4186:35: error: ‘CRYPTO_NUM_LOCKS’ undeclared here (not in a function); did you mean ‘CRYPTO_UNLOCK’? +static PyThread_type_lock lock_cs[CRYPTO_NUM_LOCKS]; +^~~~~~~~~~~~~~~~ +CRYPTO_UNLOCK +SWIG/_m2crypto_wrap.c: In function ‘lib_init’: +SWIG/_m2crypto_wrap.c:4567:5: warning: implicit declaration of function ‘SSLeay_add_all_algorithms’; did you mean ‘SSLeay_add_ssl_algorithms’? [-Wimplicit-function-declaration] +SSLeay_add_all_algorithms(); +^~~~~~~~~~~~~~~~~~~~~~~~~ +SSLeay_add_ssl_algorithms +SWIG/_m2crypto_wrap.c: In function ‘bn_rand’: +SWIG/_m2crypto_wrap.c:4971:12: error: storage size of ‘rnd’ isn’t known +BIGNUM rnd; +^~~ +SWIG/_m2crypto_wrap.c:4975:5: warning: implicit declaration of function ‘BN_init’; did you mean ‘bio_init’? [-Wimplicit-function-declaration] +BN_init(&rnd); +^~~~~~~ +bio_init +SWIG/_m2crypto_wrap.c:4971:12: warning: unused variable ‘rnd’ [-Wunused-variable] +BIGNUM rnd; +^~~ +SWIG/_m2crypto_wrap.c: In function ‘bn_rand_range’: +SWIG/_m2crypto_wrap.c:5000:12: error: storage size of ‘rnd’ isn’t known +BIGNUM rnd; +^~~ +SWIG/_m2crypto_wrap.c:5000:12: warning: unused variable ‘rnd’ [-Wunused-variable] +SWIG/_m2crypto_wrap.c: In function ‘rand_pseudo_bytes’: +SWIG/_m2crypto_wrap.c:5131:5: warning: ‘RAND_pseudo_bytes’ is deprecated [-Wdeprecated-declarations] +ret = RAND_pseudo_bytes(blob, n); +^~~ +In file included from /usr/include/openssl/crypto.h:32:0, +from /usr/include/openssl/bio.h:20, +from /usr/include/openssl/err.h:21, +from SWIG/_m2crypto_wrap.c:3829: +/usr/include/openssl/rand.h:47:1: note: declared here +DEPRECATEDIN_1_1_0(int RAND_pseudo_bytes(unsigned char *buf, int num)) +^ +SWIG/_m2crypto_wrap.c: In function ‘digest_final’: +SWIG/_m2crypto_wrap.c:5249:34: error: dereferencing pointer to incomplete type ‘EVP_MD_CTX {aka struct evp_md_ctx_st}’ +if (!(blob = PyMem_Malloc(ctx->digest->md_size))) { +^~ +SWIG/_m2crypto_wrap.c: In function ‘hmac_ctx_new’: +SWIG/_m2crypto_wrap.c:5266:49: error: invalid application of ‘sizeof’ to incomplete type ‘HMAC_CTX {aka struct hmac_ctx_st}’ +if (!(ctx = (HMAC_CTX *)PyMem_Malloc(sizeof(HMAC_CTX)))) { +^~~~~~~~ +SWIG/_m2crypto_wrap.c:5270:5: warning: implicit declaration of function ‘HMAC_CTX_init’; did you mean ‘HMAC_CTX_new’? [-Wimplicit-function-declaration] +HMAC_CTX_init(ctx); +^~~~~~~~~~~~~ +HMAC_CTX_new +SWIG/_m2crypto_wrap.c: In function ‘hmac_ctx_free’: +SWIG/_m2crypto_wrap.c:5275:5: warning: implicit declaration of function ‘HMAC_CTX_cleanup’; did you mean ‘HMAC_CTX_get_md’? [-Wimplicit-function-declaration] +HMAC_CTX_cleanup(ctx); +^~~~~~~~~~~~~~~~ +HMAC_CTX_get_md +SWIG/_m2crypto_wrap.c: In function ‘hmac_init’: +SWIG/_m2crypto_wrap.c:5286:5: warning: ‘HMAC_Init’ is deprecated [-Wdeprecated-declarations] +if (!HMAC_Init(ctx, kbuf, klen, md)) { +^~ +In file included from /usr/include/openssl/hmac.h:13:0, +from /usr/include/openssl/ssl.h:56, +from SWIG/_m2crypto_wrap.c:4247: +/usr/include/openssl/hmac.h:28:1: note: declared here +DEPRECATEDIN_1_1_0(__owur int HMAC_Init(HMAC_CTX *ctx, const void *key, int len, +^ +SWIG/_m2crypto_wrap.c: In function ‘hmac_final’: +SWIG/_m2crypto_wrap.c:5314:34: error: dereferencing pointer to incomplete type ‘HMAC_CTX {aka struct hmac_ctx_st}’ +if (!(blob = PyMem_Malloc(ctx->md->md_size))) { +^~ +SWIG/_m2crypto_wrap.c: In function ‘cipher_ctx_new’: +SWIG/_m2crypto_wrap.c:5353:55: error: invalid application of ‘sizeof’ to incomplete type ‘EVP_CIPHER_CTX {aka struct evp_cipher_ctx_st}’ +if (!(ctx = (EVP_CIPHER_CTX *)PyMem_Malloc(sizeof(EVP_CIPHER_CTX)))) { +^~~~~~~~~~~~~~ +SWIG/_m2crypto_wrap.c: In function ‘cipher_final’: +SWIG/_m2crypto_wrap.c:5434:34: error: dereferencing pointer to incomplete type ‘EVP_CIPHER_CTX {aka struct evp_cipher_ctx_st}’ +if (!(obuf = PyMem_Malloc(ctx->cipher->block_size))) { +^~ +SWIG/_m2crypto_wrap.c: In function ‘pkey_get_modulus’: +SWIG/_m2crypto_wrap.c:5582:17: error: dereferencing pointer to incomplete type ‘EVP_PKEY {aka struct evp_pkey_st}’ +switch (pkey->type) { +^~ +SWIG/_m2crypto_wrap.c:5593:35: error: dereferencing pointer to incomplete type ‘RSA {aka struct rsa_st}’ +if (!BN_print(bio, rsa->n)) { +^~ +SWIG/_m2crypto_wrap.c:5618:35: error: dereferencing pointer to incomplete type ‘DSA {aka struct dsa_st}’ +if (!BN_print(bio, dsa->pub_key)) { +^~ +SWIG/_m2crypto_wrap.c: In function ‘dh_generate_parameters’: +SWIG/_m2crypto_wrap.c:5815:5: warning: ‘DH_generate_parameters’ is deprecated [-Wdeprecated-declarations] +dh = DH_generate_parameters(plen, g, gendh_callback, (void *)pyfunc); +^~ +In file included from /usr/include/openssl/bn.h:31:0, +from /usr/include/openssl/asn1.h:24, +from /usr/include/openssl/dh.h:18, +from SWIG/_m2crypto_wrap.c:4243: +/usr/include/openssl/dh.h:135:1: note: declared here +DEPRECATEDIN_0_9_8(DH *DH_generate_parameters(int prime_len, int generator, +^ +SWIG/_m2crypto_wrap.c: In function ‘dh_get_p’: +SWIG/_m2crypto_wrap.c:5861:12: error: dereferencing pointer to incomplete type ‘DH {aka struct dh_st}’ +if (!dh->p) { +^~ +SWIG/_m2crypto_wrap.c: In function ‘rsa_generate_key’: +SWIG/_m2crypto_wrap.c:6319:5: warning: ‘RSA_generate_key’ is deprecated [-Wdeprecated-declarations] +rsa = RSA_generate_key(bits, e, genrsa_callback, (void *)pyfunc); +^~~ +In file included from /usr/include/openssl/rsa.h:13:0, +from SWIG/_m2crypto_wrap.c:4246: +/usr/include/openssl/rsa.h:193:1: note: declared here +DEPRECATEDIN_0_9_8(RSA *RSA_generate_key(int bits, unsigned long e, void +^ +SWIG/_m2crypto_wrap.c: In function ‘dsa_sig_get_r’: +SWIG/_m2crypto_wrap.c:6348:29: error: dereferencing pointer to incomplete type ‘DSA_SIG {aka struct DSA_SIG_st}’ +return bn_to_mpi(dsa_sig->r); +^~ +SWIG/_m2crypto_wrap.c: In function ‘dsa_generate_parameters’: +SWIG/_m2crypto_wrap.c:6378:5: warning: ‘DSA_generate_parameters’ is deprecated [-Wdeprecated-declarations] +dsa = DSA_generate_parameters(bits, NULL, 0, NULL, NULL, genparam_callback, (void *)pyfunc); +^~~ +In file included from /usr/include/openssl/dsa.h:28:0, +from /usr/include/openssl/x509.h:32, +from /usr/include/openssl/ssl.h:50, +from SWIG/_m2crypto_wrap.c:4247: +/usr/include/openssl/dsa.h:122:1: note: declared here +DEPRECATEDIN_0_9_8(DSA *DSA_generate_parameters(int bits, +^ +SWIG/_m2crypto_wrap.c: In function ‘sk_ssl_cipher_value’: +SWIG/_m2crypto_wrap.c:7284:12: warning: return discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] +return sk_SSL_CIPHER_value(stack, idx); +^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +SWIG/_m2crypto_wrap.c: In function ‘x509_name_get_der’: +SWIG/_m2crypto_wrap.c:7463:43: error: dereferencing pointer to incomplete type ‘X509_NAME {aka struct X509_name_st}’ +return PyString_FromStringAndSize(name->bytes->data, name->bytes->length); +^~ +SWIG/_m2crypto_wrap.c: At top level: +SWIG/_m2crypto_wrap.c:7523:2: warning: function declaration isn’t a prototype [-Wstrict-prototypes] +x509v3_lhash() { +^~~~~~~~~~~~ +SWIG/_m2crypto_wrap.c: In function ‘x509v3_lhash’: +SWIG/_m2crypto_wrap.c:7524:12: warning: return from incompatible pointer type [-Wincompatible-pointer-types] +return lh_new(NULL, NULL); / Should probably be lh_CONF_VALUE_new but won't compile. */ +^~~~~~ +SWIG/_m2crypto_wrap.c: In function ‘make_stack_from_der_sequence’: +SWIG/_m2crypto_wrap.c:7640:13: warning: implicit declaration of function ‘ASN1_seq_unpack_X509’; did you mean ‘ASN1_item_unpack’? [-Wimplicit-function-declaration] +certs = ASN1_seq_unpack_X509((unsigned char *)encoded_string, encoded_string_len, d2i_X509, X509_free ); +^~~~~~~~~~~~~~~~~~~~ +ASN1_item_unpack +SWIG/_m2crypto_wrap.c:7640:11: warning: assignment makes pointer from integer without a cast [-Wint-conversion] +certs = ASN1_seq_unpack_X509((unsigned char *)encoded_string, encoded_string_len, d2i_X509, X509_free ); +^ +SWIG/_m2crypto_wrap.c: In function ‘get_der_encoding_stack’: +SWIG/_m2crypto_wrap.c:7656:16: warning: implicit declaration of function ‘ASN1_seq_pack_X509’; did you mean ‘ASN1_item_pack’? [-Wimplicit-function-declaration] +encoding = ASN1_seq_pack_X509(stack, i2d_X509, NULL, &len); +^~~~~~~~~~~~~~~~~~ +ASN1_item_pack +SWIG/_m2crypto_wrap.c:7656:14: warning: assignment makes pointer from integer without a cast [-Wint-conversion] +encoding = ASN1_seq_pack_X509(stack, i2d_X509, NULL, &len); +^ +SWIG/_m2crypto_wrap.c: In function ‘ecdsa_sig_get_r’: +SWIG/_m2crypto_wrap.c:8186:31: error: dereferencing pointer to incomplete type ‘ECDSA_SIG {aka struct ECDSA_SIG_st}’ +return bn_to_mpi(ecdsa_sig->r); +^~ +SWIG/_m2crypto_wrap.c: In function ‘_wrap_sslv2_method’: +SWIG/_m2crypto_wrap.c:18315:26: warning: implicit declaration of function ‘SSLv2_method’; did you mean ‘SSLv23_method’? [-Wimplicit-function-declaration] +result = (SSL_METHOD *)SSLv2_method(); +^~~~~~~~~~~~ +SSLv23_method +SWIG/_m2crypto_wrap.c:18315:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] +result = (SSL_METHOD *)SSLv2_method(); +^ +SWIG/_m2crypto_wrap.c: In function ‘_wrap_tlsv1_method’: +SWIG/_m2crypto_wrap.c:18341:3: warning: ‘TLSv1_method’ is deprecated [-Wdeprecated-declarations] +result = (SSL_METHOD *)TLSv1_method(); +^~~~~~ +In file included from /usr/include/openssl/ct.h:13:0, +from /usr/include/openssl/ssl.h:61, +from SWIG/_m2crypto_wrap.c:4247: +/usr/include/openssl/ssl.h:1627:1: note: declared here +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD TLSv1_method(void)) / TLSv1.0 */ +^ +SWIG/_m2crypto_wrap.c: In function ‘_wrap_c2i_asn1_object’: +SWIG/_m2crypto_wrap.c:25775:27: warning: implicit declaration of function ‘c2i_ASN1_OBJECT’; did you mean ‘d2i_ASN1_OBJECT’? [-Wimplicit-function-declaration] +result = (ASN1_OBJECT *)c2i_ASN1_OBJECT(arg1,(unsigned char const **)arg2,arg3); +^~~~~~~~~~~~~~~ +d2i_ASN1_OBJECT +SWIG/_m2crypto_wrap.c:25775:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] +result = (ASN1_OBJECT *)c2i_ASN1_OBJECT(arg1,(unsigned char const **)arg2,arg3); +^ +SWIG/_m2crypto_wrap.c: In function ‘init__m2crypto’: +SWIG/_m2crypto_wrap.c:31639:79: warning: implicit declaration of function ‘SWIG_From_wchar_t’; did you mean ‘SWIG_FromCharPtr’? [-Wimplicit-function-declaration] +SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "__WCHAR_MAX",SWIG_From_wchar_t((wchar_t)((0x7fffffff+L'\0')))); +^~~~~~~~~~~~~~~~~ +SWIG_FromCharPtr +SWIG/_m2crypto_wrap.c:31639:120: error: stray ‘\’ in program +SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "__WCHAR_MAX",SWIG_From_wchar_t((wchar_t)((0x7fffffff+L'\0')))); +^ +SWIG/_m2crypto_wrap.c:31639:121: warning: missing terminating ' character +SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "__WCHAR_MAX",SWIG_From_wchar_t((wchar_t)((0x7fffffff+L'\0')))); +^ +SWIG/_m2crypto_wrap.c:31639:121: error: missing terminating ' character +SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "__WCHAR_MAX",SWIG_From_wchar_t((wchar_t)((0x7fffffff+L'\0')))); +^~~~~~~~~~~ +SWIG/_m2crypto_wrap.c:31639:119: error: ‘L’ undeclared (first use in this function) +SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "__WCHAR_MAX",SWIG_From_wchar_t((wchar_t)((0x7fffffff+L'\0')))); +^ +SWIG/_m2crypto_wrap.c:31639:119: note: each undeclared identifier is reported only once for each function it appears in +SWIG/_m2crypto_wrap.c:31640:3: error: expected ‘)’ before ‘SWIG_Python_SetConstant’ +SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "__WCHAR_MIN",SWIG_From_int((int)((-(0x7fffffff+L'\0') -1)))); +^~~~~~~~~~~~~~~~~~~~~~~ +SWIG/_m2crypto_wrap.c:31691:118: error: stray ‘\’ in program +SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "WCHAR_MAX",SWIG_From_wchar_t((wchar_t)((0x7fffffff+L'\0')))); +^ +SWIG/_m2crypto_wrap.c:31691:119: warning: missing terminating ' character +SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "WCHAR_MAX",SWIG_From_wchar_t((wchar_t)((0x7fffffff+L'\0')))); +^ +SWIG/_m2crypto_wrap.c:31691:119: error: missing terminating ' character +SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "WCHAR_MAX",SWIG_From_wchar_t((wchar_t)((0x7fffffff+L'\0')))); +^~~~~~~~~~~ +SWIG/_m2crypto_wrap.c:31996:1: error: expected declaration or statement at end of input +} +^ +SWIG/_m2crypto_wrap.c: In function ‘dh_get_p’: +SWIG/_m2crypto_wrap.c:5866:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘dh_get_g’: +SWIG/_m2crypto_wrap.c:5874:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘dh_get_pub’: +SWIG/_m2crypto_wrap.c:5882:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘dh_get_priv’: +SWIG/_m2crypto_wrap.c:5890:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘rsa_get_e’: +SWIG/_m2crypto_wrap.c:5999:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘rsa_get_n’: +SWIG/_m2crypto_wrap.c:6007:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘rsa_check_pub_key’: +SWIG/_m2crypto_wrap.c:6334:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘dsa_sig_get_r’: +SWIG/_m2crypto_wrap.c:6349:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘dsa_sig_get_s’: +SWIG/_m2crypto_wrap.c:6353:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘dsa_get_p’: +SWIG/_m2crypto_wrap.c:6391:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘dsa_get_q’: +SWIG/_m2crypto_wrap.c:6399:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘dsa_get_g’: +SWIG/_m2crypto_wrap.c:6407:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘dsa_get_pub’: +SWIG/_m2crypto_wrap.c:6415:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘dsa_get_priv’: +SWIG/_m2crypto_wrap.c:6423:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘dsa_check_key’: +SWIG/_m2crypto_wrap.c:6670:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘dsa_check_pub_key’: +SWIG/_m2crypto_wrap.c:6674:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘dsa_keylen’: +SWIG/_m2crypto_wrap.c:6678:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘x509_name_get_der’: +SWIG/_m2crypto_wrap.c:7464:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘ecdsa_sig_get_r’: +SWIG/_m2crypto_wrap.c:8187:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +SWIG/_m2crypto_wrap.c: In function ‘ecdsa_sig_get_s’: +SWIG/_m2crypto_wrap.c:8191:1: warning: control reaches end of non-void function [-Wreturn-type] +} +^ +At top level: +SWIG/_m2crypto_wrap.c:4187:13: warning: ‘lock_count’ defined but not used [-Wunused-variable] +static long lock_count[CRYPTO_NUM_LOCKS]; +^~~~~~~~~~ +SWIG/_m2crypto_wrap.c:4186:27: warning: ‘lock_cs’ defined but not used [-Wunused-variable] +static PyThread_type_lock lock_cs[CRYPTO_NUM_LOCKS]; +^~~~~~~ +error: command 'x86_64-linux-gnu-gcc' failed with exit status 1 + +---------------------------------------- + +Rolling back uninstall of M2Crypto + + Command "/usr/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-build-cIFksT/m2crypto/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-cWZrMo-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-cIFksT/m2crypto/ +```
\ No newline at end of file diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/__init__.py diff --git a/tests/test_import_issues.py b/tests/test_import_issues.py new file mode 100644 index 0000000..d6b2dbc --- /dev/null +++ b/tests/test_import_issues.py @@ -0,0 +1,52 @@ +import os.path +import textwrap +import unittest + +from import_issues import MAX_SIZE_COMMENT, split_long_str + + +class TestStringSplitting(unittest.TestCase): + maxDiff = None + + def setUp(self): + __cur_dir = os.path.abspath(os.path.dirname(__file__)) + with open(os.path.join(__cur_dir, "209_description.txt")) as inf: + self.long_str = inf.read() + + def test_one_line(self): + in_str = "Testing string." + split_str = split_long_str(in_str, 100) + self.assertIsInstance(split_str, list) + self.assertEqual(len(split_str), 1) + self.assertEqual(in_str, "".join(split_str)) + + def test_short_str(self): + in_str = textwrap.dedent( + """\ + Reader, I married him. + A quiet wedding we had: he and I, the parson and clerk, were alone present. + When we got back from church, I went into the kitchen of the manor-house, where Mary was cooking the dinner and John cleaning the knives, and I said— + + “Mary, I have been married to Mr. Rochester this morning.” + + The housekeeper and her husband were both of that decent phlegmatic order of people, to whom one may at any time safely communicate a remarkable piece of news without incurring the danger of having one’s ears pierced by some shrill ejaculation, and subsequently stunned by a torrent of wordy wonderment. + Mary did look up, and she did stare at me: the ladle with which she was basting a pair of chickens roasting at the fire, did for some three minutes hang suspended in air; and for the same space of time John’s knives also had rest from the polishing process: but Mary, bending again over the roast, said only— + + “Have you, Miss? Well, for sure!” + + """ + ) + split_str = split_long_str(in_str, 100) + self.assertIsInstance(split_str, list) + self.assertEqual(len(split_str), 6) + self.assertEqual(in_str, "".join(split_str)) + + def test_long_str(self): + split_str = split_long_str(self.long_str, MAX_SIZE_COMMENT) + self.assertIsInstance(split_str, list) + self.assertEqual(len(split_str), 4) + self.assertEqual(self.long_str, "".join(split_str)) + + +if __name__ == "__main__": + unittest.main() |