From ca8dcdbfab80899c7b3f0ca02bdc918bd7725d37 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Fri, 13 Jan 2023 16:57:02 +0000 Subject: quilt: fix intermittent failure in faildiff.test This test assumes that if a child process writes one line to stderr and then another line to stdout, and stderr is redirected to stdout, that the order the lines will be read is stable. This isn't the case and occasionally the lines will be read in a different order. Change the test to ignore line ordering. [ YOCTO #14469 ] (From OE-Core rev: 1ddbe4d2bd8d8da10dac8a054f130fcd1d242219) Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/recipes-devtools/quilt/quilt.inc | 1 + .../quilt/quilt/faildiff-order.patch | 28 ++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 meta/recipes-devtools/quilt/quilt/faildiff-order.patch (limited to 'meta') diff --git a/meta/recipes-devtools/quilt/quilt.inc b/meta/recipes-devtools/quilt/quilt.inc index b4284dcafb..f7ff958103 100644 --- a/meta/recipes-devtools/quilt/quilt.inc +++ b/meta/recipes-devtools/quilt/quilt.inc @@ -12,6 +12,7 @@ SRC_URI = "${SAVANNAH_GNU_MIRROR}/quilt/quilt-${PV}.tar.gz \ file://test.sh \ file://0001-tests-Allow-different-output-from-mv.patch \ file://fix-grep-3.8.patch \ + file://faildiff-order.patch \ " SRC_URI:append:class-target = " file://gnu_patch_test_fix_target.patch" diff --git a/meta/recipes-devtools/quilt/quilt/faildiff-order.patch b/meta/recipes-devtools/quilt/quilt/faildiff-order.patch new file mode 100644 index 0000000000..40f3c2636a --- /dev/null +++ b/meta/recipes-devtools/quilt/quilt/faildiff-order.patch @@ -0,0 +1,28 @@ +This test assumes that two lines that are output on different streams (stdout +and stderr) will be read in the same order, but thanks to buffering that may not +be the case. + +Change the expected lines to be regexs that each match both expected lines, so +the test always works no matter the actual order the lines are read in. + +Bug filed at https://savannah.nongnu.org/bugs/index.php?63651 to discuss a +proper solution. + +Upstream-Status: Inappropriate +Signed-off-by: Ross Burton + +diff --git a/test/faildiff.test b/test/faildiff.test +index 5afb8e3..5f32f71 100644 +--- a/test/faildiff.test ++++ b/test/faildiff.test +@@ -28,8 +28,8 @@ What happens on binary files? + + $ printf "\\003\\000\\001" > test.bin + $ quilt diff -pab --no-index +- >~ (Files|Binary files) a/test\.bin and b/test\.bin differ +- > Diff failed on file 'test.bin', aborting ++ >~ (.*[Ff]iles a/test\.bin and b/test\.bin differ|Diff failed on file 'test.bin', aborting) ++ >~ (.*[Ff]iles a/test\.bin and b/test\.bin differ|Diff failed on file 'test.bin', aborting) + $ echo %{?} + > 1 + -- cgit v1.2.3-54-g00ecf