Summary: | app-portage/g-cpan-0.17.0 fails tests: # Failed test EROOT | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Toralf Förster <toralf> |
Component: | Current packages | Assignee: | Robin Johnson <robbat2> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | halcon, ostroffjh, perl, tanekliang |
Priority: | Normal | Keywords: | TESTFAILURE |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
emerge-info.txt
app-portage:g-cpan-0.17.0:20200627-131802.log emerge-history.txt environment etc.portage.tbz2 temp.tbz2 tests.tbz2 |
Description
Toralf Förster
![]() Created attachment 646706 [details]
emerge-info.txt
Created attachment 646708 [details]
app-portage:g-cpan-0.17.0:20200627-131802.log
Created attachment 646710 [details]
emerge-history.txt
Created attachment 646712 [details]
environment
Created attachment 646714 [details]
etc.portage.tbz2
Created attachment 646716 [details]
temp.tbz2
Created attachment 646718 [details]
tests.tbz2
Hi.
I thought about looking in perl, what is failing, but (as I am not yet familiar with ebuild variables) decided to read about EROOT first. And I've read that ROOT is only allowed in pkg_* phases. Decided to test EROOT in the ebuild. Added
elog "EROOT=${ROOT}"
in src_test and got
>>> Test phase: app-portage/g-cpan-9999
* EROOT=
and then
t/01_Gentoo_Portage_Q.t .. 1/5
# Failed test 'EROOT'
# at t/01_Gentoo_Portage_Q.t line 27.
# got: ''
Does it really mean that the cause of this issue isn't in perl code, but in accessibility of EROOT in the test phase? (ebuild shown '', and test got '')
Or am I missing something?
The same with elog "EROOT=${EROOT}" There is local $ENV{ROOT} = Path::Tiny->cwd; in the relevant piece of perl code. I'll be able to test what it returns in the test phase later. Tested, while I had time. Yet not found the solution but narrowed the field significantly: Path::Tiny->cwd returns '/var/tmp/portage/app-portage/g-cpan-9999/work/g-cpan-9999' $portageq->envvar('EROOT') returns '' <---- wrong But $portageq->{_eroot} returns '/' <---- right I found a solution and made a pull-request. Update summary. [something] is used when something refers to an overlay |