bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: test-framework-sh: Fix 'returns_' to not turn off tracing permanentl


From: Bruno Haible
Subject: Re: test-framework-sh: Fix 'returns_' to not turn off tracing permanently
Date: Thu, 20 Jun 2024 21:57:40 +0200

I wrote:
> So, apparently, the tracing output of the 'local is_tracing=...' line is
> causing the trouble.
> 
> This patch fixes it.

This patch did not fix it. "make check" from grep's top-level directory
still fails. Only "make -f Makefile check" succeeds.

> This causes a test failure of the test-dfa-invalid-merge.sh test, both in the
> GNU grep package and in the GNU sed package. (The same test works in a
> gnulib testdir. I have no idea why??)

The reason is that these packages contain an 'export VERBOSE = yes' in
cfg.mk, which is included by GNUmakefile.

To reproduce the failure more easily:
  $ VERBOSE=yes make check TESTS=test-dfa-invalid-merge.sh

This fix finally works:


2024-06-20  Bruno Haible  <bruno@clisp.org>

        test-framework-sh: Fix side effect on dfa tests (regression 2024-06-11).
        * tests/init.sh (returns_): Silence the 'local is_tracing' assignment
        for real.

diff --git a/tests/init.sh b/tests/init.sh
index 87e6557649..c374e5f014 100644
--- a/tests/init.sh
+++ b/tests/init.sh
@@ -598,7 +598,7 @@ fi
 #   returns_ 1 command ... || fail
 returns_ () {
   # Disable tracing so it doesn't interfere with stderr of the wrapped command
-  local is_tracing=`{ :; } 2>&1` 2>/dev/null
+  { local is_tracing=`{ :; } 2>&1`; } 2>/dev/null
   { set +x; } 2>/dev/null
 
   local exp_exit="$1"






reply via email to

[Prev in Thread] Current Thread [Next in Thread]