setarch: fix stderr handling in uname26 tests

A while ago stdout and stderr have been split in these testcases, but
"FATAL: kernel too old" is actually treated as an "okay" output. However
this FATAL ends up on stderr, so when it happens, it is not seen in
the captured stdout.

Fix this by merging stdout/stderr in these cases once again.

Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Chris Hofstaedtler <zeha@debian.org>
Bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=961639
Fixes: cbf858aa08
This commit is contained in:
Helge Deller 2020-05-27 23:20:58 +00:00 committed by Karel Zak
parent 3bc92f313a
commit 2261cfdc26
1 changed files with 4 additions and 4 deletions

View File

@ -45,22 +45,22 @@ ts_init_subtest uname26
finmsg="" # for debugging 2.6 issues
echo "###### --uname-2.6 echo" >>$TS_OUTPUT
$TS_CMD_SETARCH $ARCH -v --uname-2.6 echo "2.6 worked" >> $TS_OUTPUT 2>> $TS_ERRLOG
$TS_CMD_SETARCH $ARCH -v --uname-2.6 echo "2.6 worked" >> $TS_OUTPUT 2>&1
if [ $? -eq 0 ]; then
expected='^2.6 worked$'
else
# this may happen after execvp
# this may happen after execvp - gets written to stderr
expected="^FATAL: kernel too old$"
finmsg+=" echo"
fi
sed -i "$ s/$expected/2.6 works or kernel too old/" $TS_OUTPUT
echo "###### --uname-2.6 true, non-verbose" >>$TS_OUTPUT
$TS_CMD_SETARCH $ARCH --uname-2.6 true >> $TS_OUTPUT 2>> $TS_ERRLOG
$TS_CMD_SETARCH $ARCH --uname-2.6 true >> $TS_OUTPUT 2>&1
if [ $? -eq 0 ]; then
echo "2.6 works or kernel too old" >> $TS_OUTPUT
else
# this may happen after execvp
# this may happen after execvp - gets written to stderr
expected="^FATAL: kernel too old$"
sed -i "$ s/$expected/2.6 works or kernel too old/" $TS_OUTPUT
finmsg+=" true"