diff options
Diffstat (limited to 'dev-python/pyopenssl/pyopenssl-20.0.1.ebuild')
-rw-r--r-- | dev-python/pyopenssl/pyopenssl-20.0.1.ebuild | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/dev-python/pyopenssl/pyopenssl-20.0.1.ebuild b/dev-python/pyopenssl/pyopenssl-20.0.1.ebuild index 311b787c1765..84950bbdcc08 100644 --- a/dev-python/pyopenssl/pyopenssl-20.0.1.ebuild +++ b/dev-python/pyopenssl/pyopenssl-20.0.1.ebuild @@ -6,7 +6,7 @@ EAPI=7 PYTHON_COMPAT=( python3_{7..9} pypy3 ) PYTHON_REQ_USE="threads(+)" -inherit distutils-r1 flag-o-matic +inherit distutils-r1 flag-o-matic toolchain-funcs MY_PN=pyOpenSSL MY_P=${MY_PN}-${PV} @@ -39,13 +39,28 @@ distutils_enable_sphinx doc \ dev-python/sphinx_rtd_theme distutils_enable_tests pytest -python_prepare_all() { - # Requires network access - sed -i -e 's/test_set_default_verify_paths/_&/' tests/test_ssl.py || die - distutils-r1_python_prepare_all +src_configure() { + # test for 32-bit time_t + "$(tc-getCC)" ${CFLAGS} ${CPPFLAGS} -c -x c - -o /dev/null <<-EOF &>/dev/null + #include <sys/types.h> + int test[sizeof(time_t) >= 8 ? 1 : -1]; + EOF + if [[ ${?} -eq 0 ]]; then + PYOPENSSL_SKIP_LARGE_TIME= + einfo "time_t is at least 64-bit long" + else + PYOPENSSL_SKIP_LARGE_TIME=1 + einfo "time_t is smaller than 64 bits, will skip broken tests" + fi } -src_test() { +python_test() { local -x TZ=UTC - distutils-r1_src_test + local deselect=( + tests/test_ssl.py::TestContext::test_set_default_verify_paths + ) + [[ ${PYOPENSSL_SKIP_LARGE_TIME} ]] && deselect+=( + tests/test_crypto.py::TestX509StoreContext::test_verify_with_time + ) + epytest ${deselect[@]/#/--deselect } } |