dev-util/cgdb: run tests in `dtach` + EAPI bump
authornado <nado@troglodyte.be>
Thu, 19 Jul 2018 15:57:25 +0000 (17:57 +0200)
committerMichał Górny <mgorny@gentoo.org>
Wed, 3 Apr 2019 06:50:07 +0000 (08:50 +0200)
cgdb needs interactive shell for testing its ncurses UI

Closes: https://bugs.gentoo.org/654986
Package-Manager: Portage-2.3.43, Repoman-2.3.10
Signed-off-by: Corentin `nado` Pazdera <nado@troglodyte.be>
Closes: https://github.com/gentoo/gentoo/pull/9288
Signed-off-by: Michał Górny <mgorny@gentoo.org>
dev-util/cgdb/cgdb-0.7.0-r1.ebuild [moved from dev-util/cgdb/cgdb-0.7.0.ebuild with 56% similarity]
dev-util/cgdb/cgdb-9999.ebuild

similarity index 56%
rename from dev-util/cgdb/cgdb-0.7.0.ebuild
rename to dev-util/cgdb/cgdb-0.7.0-r1.ebuild
index f1e40470f225e90e2d00dd5a0b1fc72dbfd1b315..b4fe338de7f750871f9773d53864134d1eb25ba7 100644 (file)
@@ -1,7 +1,7 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=6
+EAPI=7
 
 if [[ ${PV} = *9999* ]]; then
        inherit git-r3
@@ -20,15 +20,18 @@ LICENSE="GPL-2"
 SLOT="0"
 IUSE="test"
 
-COMMONDEPEND="
+DEPEND="
        sys-libs/ncurses:0=
        sys-libs/readline:0="
 
-DEPEND="${COMMONDEPEND}
-       test? ( dev-util/dejagnu )"
+BDEPEND="
+       test? (
+               dev-util/dejagnu
+               app-misc/dtach
+       )"
 
 RDEPEND="
-       ${COMMONDEPEND}
+       ${DEPEND}
        sys-devel/gdb"
 
 DOCS=( AUTHORS ChangeLog FAQ INSTALL NEWS README.md )
@@ -38,6 +41,22 @@ src_prepare() {
        ./autogen.sh || die
 }
 
+multilib_src_test() {
+       # Tests need an interactive shell, #654986
+
+       # real-time output of the log ;-)
+       touch "${T}/dtach-test.log" || die
+       tail -f "${T}/dtach-test.log" &
+       local tail_pid=${!}
+
+       nonfatal dtach -N "${T}/dtach.sock" \
+               bash -c 'emake check &> "${T}"/dtach-test.log; echo ${?} > "${T}"/dtach-test.out'
+
+       kill "${tail_pid}"
+       [[ -f ${T}/dtach-test.out ]] || die "Unable to run tests"
+       [[ $(<"${T}"/dtach-test.out) == 0 ]] || die "Tests failed"
+}
+
 multilib_src_configure() {
        ECONF_SOURCE="${S}" econf
 }
index 5a5dd25473fd0da4708496f0e6a7cbce6d7ca1c6..b4fe338de7f750871f9773d53864134d1eb25ba7 100644 (file)
@@ -1,7 +1,7 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=6
+EAPI=7
 
 if [[ ${PV} = *9999* ]]; then
        inherit git-r3
@@ -20,24 +20,43 @@ LICENSE="GPL-2"
 SLOT="0"
 IUSE="test"
 
-COMMONDEPEND="
+DEPEND="
        sys-libs/ncurses:0=
        sys-libs/readline:0="
 
-DEPEND="${COMMONDEPEND}
-       test? ( dev-util/dejagnu )"
+BDEPEND="
+       test? (
+               dev-util/dejagnu
+               app-misc/dtach
+       )"
 
 RDEPEND="
-       ${COMMONDEPEND}
+       ${DEPEND}
        sys-devel/gdb"
 
-DOCS=( AUTHORS ChangeLog INSTALL NEWS README.md FAQ )
+DOCS=( AUTHORS ChangeLog FAQ INSTALL NEWS README.md )
 
 src_prepare() {
        default
        ./autogen.sh || die
 }
 
+multilib_src_test() {
+       # Tests need an interactive shell, #654986
+
+       # real-time output of the log ;-)
+       touch "${T}/dtach-test.log" || die
+       tail -f "${T}/dtach-test.log" &
+       local tail_pid=${!}
+
+       nonfatal dtach -N "${T}/dtach.sock" \
+               bash -c 'emake check &> "${T}"/dtach-test.log; echo ${?} > "${T}"/dtach-test.out'
+
+       kill "${tail_pid}"
+       [[ -f ${T}/dtach-test.out ]] || die "Unable to run tests"
+       [[ $(<"${T}"/dtach-test.out) == 0 ]] || die "Tests failed"
+}
+
 multilib_src_configure() {
        ECONF_SOURCE="${S}" econf
 }