From b8df15b748024128e09cebb4d7ebae42be5df788 Mon Sep 17 00:00:00 2001 From: Marcel van der Boom Date: Mon, 25 Jul 2022 21:47:33 +0200 Subject: [PATCH] gnu: exiv2: Fix test failure on ppc64le and aarch64. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ppc64 and aarch64 do not raise exception and thus output and exit code for test is different. See: https://github.com/Exiv2/exiv2/issues/365 and https://github.com/Exiv2/exiv2/issues/933 * gnu/packages/image.scm (exiv2)[arguments]: Add 'adjust-tests' phase. Co-authored-by: Ludovic Courtès --- gnu/packages/image.scm | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 4b31ba41a0..1b88c7be83 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -1346,7 +1346,7 @@ channels.") (base32 "1qm6bvj28l42km009nc60gffn1qhngc0m2wjlhf90si3mcc8d99m")))) (build-system cmake-build-system) (arguments - '(#:test-target "tests" + `(#:test-target "tests" #:configure-flags (list "-DEXIV2_BUILD_UNIT_TESTS=ON" ;; darktable needs BMFF to support ;; CR3 files. @@ -1357,7 +1357,19 @@ channels.") (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (lib (string-append out "/lib"))) - (for-each delete-file (find-files lib "\\.a$")))))))) + (for-each delete-file (find-files lib "\\.a$"))))) + + ,@(if (or (target-ppc64le?) (target-aarch64?)) + '((add-after 'unpack 'adjust-tests + (lambda _ + ;; Adjust test on ppc64 and aarch64, where no exception + ;; is raised and thus the return value is different. See + ;; and + ;; . + (substitute* "tests/bugfixes/github/test_CVE_2018_12265.py" + (("\\$uncaught_exception \\$addition_overflow_message\n") "") + (("retval = \\[1\\]") "retval = [0]"))))) + '())))) (propagated-inputs (list expat zlib)) (native-inputs