• [gentoo-dev] [PATCH] perl-module.eclass: extend DIST_TEST="do" to cover

    From matoro@21:1/5 to All on Sun Oct 15 01:10:01 2023
    For packages using make to run tests rather than Test::Harness,
    DIST_TEST="do" is ineffective at disabling parallelization. This forces
    -j1 on these packages when set.

    Bug: https://bugs.gentoo.org/909051
    Signed-off-by: Matoro Mahri <matoro@users.noreply.github.com>
    ---
    eclass/perl-module.eclass | 7 ++++++-
    1 file changed, 6 insertions(+), 1 deletion(-)

    diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
    index 32cd603c7be5..7bb02abed8c5 100644
    --- a/eclass/perl-module.eclass
    +++ b/eclass/perl-module.eclass
    @@ -335,6 +335,7 @@ perl-module_src_test() {

    local my_test_control
    local my_test_verbose
    + local my_test_makeopts

    [[ -n "${DIST_TEST_OVERRIDE}" ]] && ewarn "DIST_TEST_OVERRIDE is set
    to ${DIST_TEST_OVERRIDE}"
    my_test_control=${DIST_TEST_OVERRIDE:-${DIST_TEST:-do parallel}}
    @@ -344,6 +345,10 @@ perl-module_src_test() {
    return 0
    fi

    + if has 'do' ${my_test_control} && ! has 'parallel' ${my_test_control}
    ; then
    + my_test_makeopts="-j1"
    + fi
    +
    if has verbose ${my_test_control} ; then
    my_test_verbose=1
    else
    @@ -383,7 +388,7 @@ perl-module_src_test() {
    if [[ -f Build ]] ; then
    ./Build test verbose=${my_test_verbose} || die "test failed"
    elif [[ -f Makefile ]] ; then
    - emake test T