Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 482844 - dev-perl/Email-Address-1.900.0: tests require dev-perl/Capture-Tiny
Summary: dev-perl/Email-Address-1.900.0: tests require dev-perl/Capture-Tiny
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: Normal QA (vote)
Assignee: Gentoo Perl team
URL:
Whiteboard:
Keywords: TESTFAILURE
: 495048 (view as bug list)
Depends on:
Blocks:
 
Reported: 2013-08-28 20:05 UTC by Alex Efros
Modified: 2013-12-23 20:08 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Efros 2013-08-28 20:05:49 UTC
>>> Source compiled.
make -j5 test TEST_VERBOSE=0 
PERL_DL_NONLAZY=1 /usr/bin/perl5.12.4 "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00-compile.t ................ Can't locate Capture/Tiny.pm in @INC (@INC contains: /var/tmp/portage/dev-perl/Email-Address-1.900.0/work/Email-Address-1.900/blib/lib /var/tmp/portage/dev-perl/Email-Address-1.900.0/work/Email-Address-1.900/blib/arch /etc/perl /usr/lib/perl5/site_perl/5.12.4/i686-linux /usr/lib/perl5/site_perl/5.12.4 /usr/lib/perl5/vendor_perl/5.12.4/i686-linux /usr/lib/perl5/vendor_perl/5.12.4 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.12.3/i686-linux /usr/lib/perl5/vendor_perl/5.12.3 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.12.4/i686-linux /usr/lib/perl5/5.12.4 /usr/local/lib/site_perl .) at t/00-compile.t line 10.
BEGIN failed--compilation aborted at t/00-compile.t line 10.
t/00-compile.t ................ Dubious, test returned 2 (wstat 512, 0x200)
...
Test Summary Report
-------------------
t/00-compile.t              (Wstat: 512 Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: No plan found in TAP output
Files=10, Tests=1148,  1 wallclock secs ( 0.29 usr  0.00 sys +  1.11 cusr  0.03 csys =  1.43 CPU)
Result: FAIL
Failed 1/10 test programs. 0/1148 subtests failed.
make: *** [test_dynamic] Error 255
 * ERROR: dev-perl/Email-Address-1.900.0 failed (test phase):
 *   emake failed
Comment 1 Sergey Popov gentoo-dev 2013-08-29 10:05:09 UTC
dev-perl/Email-Address-1.900.0 contains:

DEPEND="${RDEPEND}
        test? (
                virtual/perl-Test-Simple
                >=dev-perl/Test-Pod-1.14
                >=dev-perl/Test-Pod-Coverage-1.08
                dev-perl/Capture-Tiny
        )"

So i do not understand what's happening in your situation... Marking as INVALID for now
Comment 2 Alex Efros 2013-08-29 10:50:30 UTC
(In reply to Sergey Popov from comment #1)
> So i do not understand what's happening in your situation... Marking as
> INVALID for now

My situation is simple: I don't want to enable `make test` for all packages, I want it only for perl modules. So, I'm using /etc/portage/bashrc to set

  FEATURES="$FEATURES test"
  SRC_TEST="do"

only when ${CATEGORY} is "dev-perl" and ${EBUILD_PHASE} is "test".

Looks like this is too late for handling optional dependencies. How to solve this issue? As far as I see, it's impossible to affect optional package dependencies using /etc/portage/bashrc. Adding "dev-perl/Email-Address test" to /etc/portage/package.use also didn't work. And I didn't see mentioning /etc/portage/package.features or something like that in portage man page.
Comment 3 Sergey Popov gentoo-dev 2013-08-29 10:59:46 UTC
(In reply to Alex Efros from comment #2)
> (In reply to Sergey Popov from comment #1)
> > So i do not understand what's happening in your situation... Marking as
> > INVALID for now
> 
> My situation is simple: I don't want to enable `make test` for all packages,
> I want it only for perl modules. So, I'm using /etc/portage/bashrc to set
> 
>   FEATURES="$FEATURES test"
>   SRC_TEST="do"
> 
> only when ${CATEGORY} is "dev-perl" and ${EBUILD_PHASE} is "test".
> 
> Looks like this is too late for handling optional dependencies. How to solve
> this issue? As far as I see, it's impossible to affect optional package
> dependencies using /etc/portage/bashrc. Adding "dev-perl/Email-Address test"
> to /etc/portage/package.use also didn't work. And I didn't see mentioning
> /etc/portage/package.features or something like that in portage man page.

Hm, maybe some USE-flag tricks can be used for that. For example, enable FEATURES="test" globally and mask USE="test" globally too(via /etc/portage/profile/use.mask). And then - unmask USE="test" for apropriate packages(via /etc/portage/profile/package.use.mask).

I know that tricks with implicit USE-flags is a "hack" rather then proper solution, but it works for me :-)
Comment 4 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2013-12-22 20:57:33 UTC
(In reply to Alex Efros from comment #2)
> 
> only when ${CATEGORY} is "dev-perl" and ${EBUILD_PHASE} is "test".
> 

The first half of this makes sense, I guess, but why the second half?

Enabling FEATURES=test only at the test phase seems far too late.
Comment 5 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2013-12-23 15:38:40 UTC
*** Bug 495048 has been marked as a duplicate of this bug. ***
Comment 6 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2013-12-23 15:42:42 UTC
A trick I use, you may want to try also.

/etc/portage/package.env: 

dev-perl/*  perl-testing.conf

/etc/portage/env/perl-testing.conf:

export FEATURES="$FEATURES test"


This appears to do the right thing with dependency management, and applies only to dev-perl/*
Comment 7 Alex Efros 2013-12-23 16:06:15 UTC
(In reply to Kent Fredric from comment #6)
> This appears to do the right thing with dependency management, and applies
> only to dev-perl/*

Yeah, it looks better than make.conf+use.mask+package.use.mask hack. But how to selectively disable test for some modules in your way?
Comment 8 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2013-12-23 20:08:15 UTC
I toyed around a bit, and discovered the first 2 things I tried wouldn't work because the files don't support arbitrary bash expansions.

However, I seem to have found something that works, but it relies on the fact 

FEATURES="test -test" # is the same as FEATURES=""

/etc/portage/env/no-perl-testing.conf:

export FEATURES="$FEATURES -test"

/etc/portage/package.env:

dev-perl/* perl-testing.conf
=dev-perl/Sub-Exporter-Progressive-0.1.11 no-perl-testing.conf

I believe ordering is incredibly important. =).