summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2021-04-12 16:07:40 +0200
committerMichał Górny <mgorny@gentoo.org>2021-04-12 16:07:40 +0200
commitb162e302e7d24fc8c858398efc074f8c1372d56b (patch)
tree650dc59533e76a113879f5bce5fa84d7935f6b41 /dev-python/pyopenssl
parentdev-python/pypy3: Backport more secfixes to 7.3.3 (diff)
downloadgentoo-b162e302e7d24fc8c858398efc074f8c1372d56b.tar.gz
gentoo-b162e302e7d24fc8c858398efc074f8c1372d56b.tar.bz2
gentoo-b162e302e7d24fc8c858398efc074f8c1372d56b.zip
dev-python/pyopenssl: Skip broken test with 32-bit time_t
Closes: https://bugs.gentoo.org/771636 Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python/pyopenssl')
-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 }
}