Summary: | sys-apps/dcfldd-1.9.2-r1 fails tests: tee: stderr: Permission denied | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Agostino Sarubbo <ago> |
Component: | Current packages | Assignee: | Sebastian Pipping <sping> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | sping |
Priority: | Normal | Keywords: | TESTFAILURE |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=947030 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | build.log |
Description
Agostino Sarubbo
![]() Created attachment 916387 [details]
build.log
build log and emerge --info
I think we can/should avoid the use of tee there. Also, note that the pipes there mean we don't catch errors from dcfldd itself. (In reply to Sam James from comment #2) > I think we can/should avoid the use of tee there. I can sure resolve the "tee /dev/stderr" but wth is "tee: /dev/stderr: Permission denied", why? :) (In reply to Sam James from comment #3) > Also, note that the pipes there mean we don't catch errors from dcfldd > itself. I can add "set -o pipefile" if that's what you're thinking of. Starting now… > I can add "set -o pipefile" if that's what you're thinking of.
pipefail of course, my bad.
Update: deciding against pipefail complexity now, the goal of the test is to detect miscompilation, all else seems out of scope to me. inherit eapi9-pipestatus ... expected_sha256sum="$(sha256sum <<<TestInput | awk '{print $1}' \ | tee /dev/stderr ; pipestatus || die)" ... repeat for other subshell The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a3f668d0f70f94d7c5154084703ac75355b17998 commit a3f668d0f70f94d7c5154084703ac75355b17998 Author: Sebastian Pipping <sping@gentoo.org> AuthorDate: 2025-01-12 17:46:30 +0000 Commit: Sebastian Pipping <sping@gentoo.org> CommitDate: 2025-01-12 17:46:30 +0000 sys-apps/dcfldd: Improve test for miscompilation Closes: https://bugs.gentoo.org/947985 Signed-off-by: Sebastian Pipping <sping@gentoo.org> sys-apps/dcfldd/dcfldd-1.9.2-r1.ebuild | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (In reply to Sam James from comment #7) > inherit eapi9-pipestatus > ... > expected_sha256sum="$(sha256sum <<<TestInput | awk '{print $1}' \ > | tee /dev/stderr ; pipestatus || die)" > ... > repeat for other subshell I saw that after posting but I also don't think it will work with the "|| die" /inside/ the command substitution. The example from eapi9-pipestatus.eclass has the die /outside/ the command substitution: status=$(pipestatus -v) || die "foo | bar failed, status ${status}" I didn't know that worked but it does. Interesting. Not worth the complexity though in my book. Please extend the test if you see need to (— I don't). (In reply to Sebastian Pipping from comment #9) > (In reply to Sam James from comment #7) > > inherit eapi9-pipestatus > > ... > > expected_sha256sum="$(sha256sum <<<TestInput | awk '{print $1}' \ > > | tee /dev/stderr ; pipestatus || die)" > > ... > > repeat for other subshell > > I saw that after posting but I also don't think it will work with the "|| > die" /inside/ the command substitution. The example from > eapi9-pipestatus.eclass has the die /outside/ the command substitution: > src_prepare() { default x=$(false || die) } (bug 465008) Black magic, I see! |