commit:     b12e7da73c72b580d2ebdf94d53895b7d9921661
Author:     Anna (cybertailor) Vyalkova <cyber+gentoo <AT> sysrq <DOT> in>
AuthorDate: Sat Jul 22 13:49:03 2023 +0000
Commit:     Anna Vyalkova <cyber+gentoo <AT> sysrq <DOT> in>
CommitDate: Sat Jul 22 13:50:43 2023 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=b12e7da7

dev-cpp/coeurl: enable tests

Signed-off-by: Anna (cybertailor) Vyalkova <cyber+gentoo <AT> sysrq.in>

 dev-cpp/coeurl/coeurl-0.3.0.ebuild | 30 ++++++++++++++++++++++++++++--
 1 file changed, 28 insertions(+), 2 deletions(-)

diff --git a/dev-cpp/coeurl/coeurl-0.3.0.ebuild 
b/dev-cpp/coeurl/coeurl-0.3.0.ebuild
index 832f0857e..37dfa3669 100644
--- a/dev-cpp/coeurl/coeurl-0.3.0.ebuild
+++ b/dev-cpp/coeurl/coeurl-0.3.0.ebuild
@@ -3,7 +3,8 @@
 
 EAPI=8
 
-inherit meson
+PYTHON_COMPAT=( python3_{10..12} )
+inherit edo meson python-any-r1
 
 DESCRIPTION="A simple async wrapper around CURL for C++"
 HOMEPAGE="https://nheko.im/nheko-reborn/coeurl";
@@ -14,7 +15,8 @@ LICENSE="MIT"
 SLOT="0/$(ver_cut 1-2)"
 KEYWORDS="~amd64"
 IUSE="ssl test"
-RESTRICT="test" # Tests turned off because they need a local webserver.
+REQUIRED_USE="test? ( ssl )"
+RESTRICT="!test? ( test )"
 
 RDEPEND="
        net-misc/curl[ssl?]
@@ -26,6 +28,16 @@ DEPEND="
        ${RDEPEND}
        test? ( dev-cpp/doctest )
 "
+BDEPEND="
+       test? (
+               dev-libs/openssl
+               $(python_gen_any_dep 'dev-python/flask[${PYTHON_USEDEP}]')
+       )
+"
+
+python_check_deps() {
+       python_has_version "dev-python/flask[${PYTHON_USEDEP}]"
+}
 
 src_prepare() {
        default
@@ -38,3 +50,17 @@ src_configure() {
        )
        meson_src_configure
 }
+
+src_test() {
+       openssl req -x509 -newkey rsa:4096 -nodes \
+               -out "${T}"/cert.pem -keyout "${T}"/key.pem \
+               -days 365 -subj "/CN=localhost" || die
+
+       edo ${EPYTHON} ./tests/testserver.py &
+       sleep 3
+
+       edo ${EPYTHON} ./tests/testserver.py "${T}" &
+       sleep 3
+
+       meson_src_test
+}

Reply via email to