summaryrefslogtreecommitdiff
path: root/dev-python/pyopenssl/pyopenssl-20.0.1.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/pyopenssl/pyopenssl-20.0.1.ebuild')
-rw-r--r--dev-python/pyopenssl/pyopenssl-20.0.1.ebuild29
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 }
}