Bug 14469 - AB-INT PTEST: quilt faildiff.test ptest intermittent failure
Summary: AB-INT PTEST: quilt faildiff.test ptest intermittent failure
Status: RESOLVED FIXED
Alias: None
Product: Package Testing (ptest)
Classification: QA/Testing
Component: ptest (show other bugs)
Version: 3.4
Hardware: x86 Multiple
: Medium normal
Target Milestone: 4.2
Assignee: Ross Burton
QA Contact:
URL:
Whiteboard: AB-INT
Depends on:
Blocks:
 
Reported: 2021-07-04 13:33 UTC by Alexandre Belloni
Modified: 2023-01-18 16:31 UTC (History)
5 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexandre Belloni 2021-07-04 13:33:37 UTC
'quilt': ['faildiff.test']

https://autobuilder.yoctoproject.org/typhoon/#/builders/81/builds/2244/steps/12/logs/stdio

qemux86-64-ptest centos8-ty-1

Note that this was with the update to glibc2.34 but wasn't seen on the other builds with the same update.
Comment 1 Alexandre Belloni 2021-07-22 12:44:30 UTC
https://autobuilder.yoctoproject.org/typhoon/#/builders/81/builds/2291/steps/13/logs/stdio
qemux86-64-ptest debian9-ty-2
Comment 2 Alexandre Belloni 2021-09-23 13:46:36 UTC
https://autobuilder.yoctoproject.org/typhoon/#/builders/82/builds/2274/steps/12/logs/stdio
qemuarm64-ptest ubuntu2004-arm-1
Comment 3 Chee Yang 2021-11-10 01:49:04 UTC
https://autobuilder.yoctoproject.org/typhoon/#/builders/81/builds/2800/steps/12/logs/stdio
ubuntu2004-ty-1  qemux86-64-ptest
master-next
Comment 4 Randy MacLeod 2022-03-31 14:45:42 UTC
This hasn't happened in ~4 months.
Comment 5 Alexandre Belloni 2023-01-12 15:06:37 UTC
https://autobuilder.yoctoproject.org/typhoon/#/builders/93/builds/1522/steps/12/logs/stdio
qemuarm64-ptest-fast ubuntu2004-arm-1
Comment 7 Alexandre Belloni 2023-01-12 16:07:54 UTC
[faildiff.test]
[1] $ mkdir patches -- ok
[3] $ quilt new test.diff -- ok
[6] $ cat > test.txt -- ok
[8] $ quilt add test.txt -- ok
[13] $ chmod -r test.txt -- ok
[15] $ quilt refresh -- ok
[18] $ echo 1 -- ok
[21] $ chmod +r test.txt -- ok
[25] $ printf "\\002\\000\\001" > test.bin -- ok
[26] $ quilt add test.bin -- ok
[29] $ printf "\\003\\000\\001" > test.bin -- ok
[30] $ quilt diff -pab --no-index -- failed
Diff failed on file 'test.bin', aborting !~ (Files|Binary files) a/test\.bin and b/test\.bin differ
Binary files a/test.bin and b/test.bin differ != Diff failed on file 'test.bin', aborting
[33] $ echo 1 -- ok
[36] $ quilt refresh -- ok
[38] $ echo 1 -- ok
15 commands (14 passed, 1 failed)
make: *** [Makefile:10: check-faildiff] Error 1
FAIL: faildiff.test
Comment 8 Alexandre Belloni 2023-01-12 16:18:58 UTC
I could actually reproduce this on our build server:

$ quilt diff -pab --no-index
Diff failed on file 'test.bin', aborting
Binary files a/test.bin and b/test.bin differ

whereas the test expects:
Binary files a/test.bin and b/test.bin differ
Diff failed on file 'test.bin', aborting
Comment 9 Alexandre Belloni 2023-01-12 19:43:36 UTC
The issue is that tests/run is merging stderr and stdout, one of the string is coming from stderr, the other on from stdout and it seems the order is not guaranteed.

From a quick check, this seems to be the only test that is affected.
Comment 10 Ross Burton 2023-01-13 12:57:13 UTC
Filed https://savannah.nongnu.org/bugs/index.php?63651 upstream.

A proper fix would involve writing perl <shudders> and changing test/run to not merge stdout/stderr and check them specifically.

A hack would involve making both lines regex's and matching both strings in both lines...
Comment 11 Ross Burton 2023-01-13 16:57:29 UTC
Workaround hack on the list.
Comment 12 Ross Burton 2023-01-13 16:57:58 UTC
I'm assuming that all the failures are in faildiff.test line 30.  All of the ones I've seen have been, but older logs have been purged.
Comment 13 Ross Burton 2023-01-18 16:31:53 UTC
Fixed in oe-core 1ddbe4d2bd8d8da10dac8a054f130fcd1d242219.