Disable some image comparison tests on architectures such as i686 where intermediate floating-point operations are done with 80-bit long doubles, and typically later rounded to 64-bit doubles. This double rounding causes small differences in the resulting pixel values compared with other architectures, causing the image comparisons to fail. Patch by Mark H Weaver . diff -ru libgd-2.2.3.orig/tests/gdimagecopyresampled/basic_alpha.c libgd-2.2.3/tests/gdimagecopyresampled/basic_alpha.c --- libgd-2.2.3.orig/tests/gdimagecopyresampled/basic_alpha.c 2016-07-21 04:06:42.000000000 -0400 +++ libgd-2.2.3/tests/gdimagecopyresampled/basic_alpha.c 2016-07-29 13:50:56.214877446 -0400 @@ -1,5 +1,6 @@ /* Testing basic gdImageCopyResampled() functionality with alpha channel */ +#include #include "gd.h" #include "gdtest.h" @@ -33,7 +34,8 @@ gdImageCopyResampled(copy, im, 0,0, 0,0, 200,200, 400,300); gdImageDestroy(im); - gdAssertImageEqualsToFile("gdimagecopyresampled/basic_alpha_exp.png", copy); + if (FLT_EVAL_METHOD != 2) + gdAssertImageEqualsToFile("gdimagecopyresampled/basic_alpha_exp.png", copy); gdImageDestroy(copy); return gdNumFailures(); diff -ru libgd-2.2.3.orig/tests/gdimagecopyresampled/bug00201.c libgd-2.2.3/tests/gdimagecopyresampled/bug00201.c --- libgd-2.2.3.orig/tests/gdimagecopyresampled/bug00201.c 2016-07-21 04:06:42.000000000 -0400 +++ libgd-2.2.3/tests/gdimagecopyresampled/bug00201.c 2016-07-29 13:50:30.638559003 -0400 @@ -1,3 +1,4 @@ +#include #include "gd.h" #include "gdtest.h" @@ -65,7 +66,8 @@ gdImageDestroy(background); gdImageDestroy(scaled_logo); - gdAssertImageEqualsToFile("gdimagecopyresampled/bug00201_exp.png", img); + if (FLT_EVAL_METHOD != 2) + gdAssertImageEqualsToFile("gdimagecopyresampled/bug00201_exp.png", img); gdImageDestroy(img); return gdNumFailures(); } diff -ru libgd-2.2.3.orig/tests/gdimagerotate/bug00067.c libgd-2.2.3/tests/gdimagerotate/bug00067.c --- libgd-2.2.3.orig/tests/gdimagerotate/bug00067.c 2016-06-18 05:42:16.000000000 -0400 +++ libgd-2.2.3/tests/gdimagerotate/bug00067.c 2016-07-29 13:50:07.566271765 -0400 @@ -1,5 +1,6 @@ #include #include +#include #include "gd.h" #include "gdtest.h" @@ -43,7 +44,7 @@ sprintf(filename, "bug00067_%03d_exp.png", angle); path = gdTestFilePath2("gdimagerotate", filename); - if (!gdAssertImageEqualsToFile(path, exp)) { + if (FLT_EVAL_METHOD != 2 && !gdAssertImageEqualsToFile(path, exp)) { gdTestErrorMsg("comparing rotated image to %s failed.\n", path); error += 1; } '2023-04-21 16:16:38 +0200'>2023-04-21tests: Fix checks for expected failures....Addresses <https://issues.guix.gnu.org/62406>. With 'set -e', a return status inverted with '!' does not cause the shell to exit immediately. Instead use '&& false' to indicate an expected failure. * tests/guix-archive.sh, tests/guix-build-branch.sh, tests/guix-build.sh, tests/guix-daemon.sh, tests/guix-download.sh, tests/guix-environment-container.sh, tests/guix-environment.sh, tests/guix-gc.sh, tests/guix-git-authenticate.sh, tests/guix-graph.sh, tests/guix-hash.sh, tests/guix-home.sh, tests/guix-pack-relocatable.sh, tests/guix-pack.sh, tests/guix-package-aliases.sh, tests/guix-package-net.sh, tests/guix-package.sh, tests/guix-refresh.sh, tests/guix-shell.sh, tests/guix-style.sh, tests/guix-system.sh: Replace uses of '! ...' with '... && false' or `test ! ...` as appropriate. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Eric Bavier 2022-01-19package: Honor '--dry-run' when target profile is already in store....Fixes <https://issues.guix.gnu.org/53267>. Reported by Tirifto <tirifto@posteo.cz>. Regression introduced in 65ffb9388c1c3d870cb07e4cb3ef12c9ac06a161. In the (unlikely) case where the profile we're targeting with "guix upgrade -n" or similar is already built, a new profile generation would be created and linked to despite the use of '-n'. This is because 65ffb9388c1c3d870cb07e4cb3ef12c9ac06a161 assumed that dry-run behavior would be handled solely by the build handler, which is not the case when there's nothing to build. * guix/scripts/package.scm (build-and-use-profile): Reintroduce #:dry-run? and honor it. (process-actions): Pass #:dry-run? to 'build-and-use-profile'. * tests/guix-package-net.sh: Add test. Ludovic Courtès 2022-01-16tests: Clean up after 'tests/guix-package-net.sh'....* tests/guix-package-net.sh: Remove second 'trap' line. Change first 'trap' line to remove "$module_dir" and *.lock files. Ludovic Courtès