commit:     6a058bfd996599ead9fe3e50f802ccd088bd0a73
Author:     nado <nado <AT> troglodyte <DOT> be>
AuthorDate: Thu Jul 19 15:57:25 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Apr  3 06:50:07 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6a058bfd

dev-util/cgdb: run tests in `dtach` + EAPI bump

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 <AT> troglodyte.be>
Closes: https://github.com/gentoo/gentoo/pull/9288
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 .../{cgdb-0.7.0.ebuild => cgdb-0.7.0-r1.ebuild}    | 31 ++++++++++++++++----
 dev-util/cgdb/cgdb-9999.ebuild                     | 33 +++++++++++++++++-----
 2 files changed, 51 insertions(+), 13 deletions(-)

diff --git a/dev-util/cgdb/cgdb-0.7.0.ebuild 
b/dev-util/cgdb/cgdb-0.7.0-r1.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 f1e40470f22..b4fe338de7f 100644
--- a/dev-util/cgdb/cgdb-0.7.0.ebuild
+++ b/dev-util/cgdb/cgdb-0.7.0-r1.ebuild
@@ -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
 }

diff --git a/dev-util/cgdb/cgdb-9999.ebuild b/dev-util/cgdb/cgdb-9999.ebuild
index 5a5dd25473f..b4fe338de7f 100644
--- a/dev-util/cgdb/cgdb-9999.ebuild
+++ b/dev-util/cgdb/cgdb-9999.ebuild
@@ -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
 }

Reply via email to