Subject: [bug#51987] [PATCH] [core-updates-frozen] gnu: ledger: Remove failing test output.

From: John Kehayias <[email-masked]>
Date: Fri, 19 Nov 2021 22:47:09 +0000

Hello,

I'm not sure why, but ledger started failing one of its test on core-updates-frozen. The test is for the error when trying to use a nonexistent file (as far as I can tell) and it fails in the error message reporting the path of the file without the leading "./". Output of the test below. The patch removes this test from ledger.

359/396 Test #359: RegressTest_BF3C1F82-2 ................................***Failed    0.04 sec
FAILURE in error output from /tmp/guix-build-ledger-3.2.1.drv-0/source/test/regress/BF3C1F82-2.test:
--
$ledger -f - reg
--
  @@ -1,2 +1,2 @@

   While parsing file "", line 2:

  -Error: File to include was not found: "./non-existent-ledger-file-BF3C1F82"

  +Error: File to include was not found: "non-existent-ledger-file-BF3C1F82"

E[BF3C1F82-2.test]STDERR:
b''
FAILURE in error output from /tmp/guix-build-ledger-3.2.1.drv-0/source/test/regress/BF3C1F82-2.test:
--
$ledger -f /dev/stdin reg
--
  @@ -1,2 +1,2 @@

   While parsing file "", line 2:

  -Error: File to include was not found: "./non-existent-ledger-file-BF3C1F82"

  +Error: File to include was not found: "non-existent-ledger-file-BF3C1F82"

E[BF3C1F82-2.test]STDERR:
b''

FAILED (2)

Thanks,
John

From 279743a20221fb9e3454da889500515d6a2ef785 Mon Sep 17 00:00:00 2001
From: John Kehayias <[email-masked]>
Date: Fri, 19 Nov 2021 17:38:51 -0500
Subject: [PATCH] gnu: ledger: Remove failing test output.

Removes a test which doesn't have output matching the expected (it misses the
leading "./").

* gnu/packages/finance.scm (php)[source]: Add patch.
* gnu/packages/patches/ledger-remove-test.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk                                  |  1 +
 gnu/packages/finance.scm                      |  4 ++-
 gnu/packages/patches/ledger-remove-test.patch | 28 +++++++++++++++++++
 3 files changed, 32 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/ledger-remove-test.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index d4a6b59e34..4931103ac6 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1328,6 +1328,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/lcalc-lcommon-h.patch    		\
   %D%/packages/patches/lcalc-using-namespace-std.patch 		\
   %D%/packages/patches/ldns-drill-examples.patch		\
+  %D%/packages/patches/ledger-remove-test.patch			\
   %D%/packages/patches/leela-zero-gtest.patch			\
   %D%/packages/patches/less-hurd-path-max.patch			\
   %D%/packages/patches/liba52-enable-pic.patch			\
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index b6c6527aa0..322462a0c5 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -25,6 +25,7 @@
 ;;; Copyright © 2021 ZmnSCPxj jxPCSnmZ <[email-masked]>
 ;;; Copyright © 2021 François J <[email-masked]>
 ;;; Copyright © 2021 Foo Chuan Wei <[email-masked]>
+;;; Copyright © 2021 John Kehayias <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -305,7 +306,8 @@ (define-public ledger
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0x6jxwss3wwzbzlwmnwb8yzjk8f9wfawif4f1b74z2qg6hc4r7f6"))))
+        (base32 "0x6jxwss3wwzbzlwmnwb8yzjk8f9wfawif4f1b74z2qg6hc4r7f6"))
+       (patches (search-patches "ledger-remove-test.patch"))))
     (build-system cmake-build-system)
     (arguments
      `(#:modules (,@%cmake-build-system-modules
diff --git a/gnu/packages/patches/ledger-remove-test.patch b/gnu/packages/patches/ledger-remove-test.patch
new file mode 100644
index 0000000000..636784c3ac
--- /dev/null
+++ b/gnu/packages/patches/ledger-remove-test.patch
@@ -0,0 +1,28 @@
+This test started failing on core-updates-frozen sometime after this commit:
+
+https://git.savannah.gnu.org/cgit/guix.git/log/?id=727f05e1e285aa52f5a19ec923fdc2259859b4b1
+
+It reports the wrong error message, with a lack of a leading "./" in the file name. So it
+passes in that it correctly errors on the missing file, but has the wrong output. This
+patch removes the test file to ignore the test.
+
+diff --git a/test/regress/BF3C1F82-2.test b/test/regress/BF3C1F82-2.test
+deleted file mode 100644
+index a7808504..00000000
+--- a/test/regress/BF3C1F82-2.test
++++ /dev/null
+@@ -1,14 +0,0 @@
+-; Check that include directives are relative for "-f /dev/stdin"
+-include non-existent-ledger-file-BF3C1F82
+-
+-test -f - reg -> 1
+-__ERROR__
+-While parsing file "", line 2:
+-Error: File to include was not found: "./non-existent-ledger-file-BF3C1F82"
+-end test
+-
+-test -f /dev/stdin reg -> 1
+-__ERROR__
+-While parsing file "", line 2:
+-Error: File to include was not found: "./non-existent-ledger-file-BF3C1F82"
+-end test
-- 
2.33.1