bug-bison
[Top][All Lists]
Advanced

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

Re: Reporting Bug


From: Akim Demaille
Subject: Re: Reporting Bug
Date: Tue, 21 Jan 2020 07:03:03 +0100


> Le 20 janv. 2020 à 23:29, Adrian Vogelsgesang <address@hidden> a écrit :
> 
> Hi Nikki,
> 
> My first guess would be: could it be that you are executing the test cases 
> from a directory with a space somewhere its path?
> "/cygdrive/d/Nikki/Doc/STTS/Asdos/04" looks like a path prefix to me.

Yes, same bet on my side.

I can easily address some of the problems (those in examples/), but I
don't know yet what's the best way to address there will be with the
main test suite (not all the tests, just some of them).

Nikki, first rest assured that Bison works fine, the problem is only
with the test suite.  If you want to see things improve a bit, install
the attached 'test' in the examples/ directory, and check again.  I'm
installing the following commit in maint and master.

Attachment: test
Description: Binary data



commit 1587a5ea9b9a0e3b23c234ab090ad01bc149c20a
Author: Akim Demaille <address@hidden>
Date:   Tue Jan 21 06:53:43 2020 +0100

    examples: be more robust to spaces in paths
    
    Reported by Nikki Valen.
    https://lists.gnu.org/r/bug-bison/2020-01/msg00032.html
    
    * examples/test ($prog): Remove, replaced by...
    (prog): This new function, which pays attention to quoting shell
    variables.

diff --git a/THANKS b/THANKS
index 46de4dc2..db54776a 100644
--- a/THANKS
+++ b/THANKS
@@ -130,6 +130,7 @@ Nick Bowler               address@hidden
 Nicolas Bedon             address@hidden
 Nicolas Burrus            address@hidden
 Nicolas Tisserand         address@hidden
+Nikki Valen               address@hidden
 Noah Friedman             address@hidden
 Odd Arild Olsen           address@hidden
 Oleg Smolsky              address@hidden
diff --git a/examples/test b/examples/test
index 79b8c994..75f4c58d 100755
--- a/examples/test
+++ b/examples/test
@@ -31,18 +31,18 @@ exit=true
 cwd=$(pwd)
 
 # The exercised program.
-for p in "$cwd/examples/$medir/$me"
-do
-    if test -x "$p"; then
-        prog=$p
-        break
-    elif test -f "$p.class"; then
-        pwd
-        prog="$SHELL $cwd/javaexec.sh -cp $(dirname $p) $(basename $p)"
-        break
-    fi
-done
-if test x"$prog" = x; then
+abs_medir=$cwd/examples/$medir
+if test -x "$abs_medir/$me"; then
+    prog ()
+    {
+        "$abs_medir/$me" "$@"
+    }
+elif test -f "$abs_medir/$me.class"; then
+    prog ()
+    {
+        "$SHELL" "$cwd/javaexec.sh" -cp "$abs_medir" "$me" "$@"
+    }
+else
     echo "$me: ERROR: cannot find program to exercise in:"
     echo "$me: ERROR:   $cwd/examples/$medir/$me"
     exit 1
@@ -55,7 +55,7 @@ cleanup ()
 {
   status=$?
   if test -z "$DEBUG"; then
-     cd $cwd
+     cd "$cwd"
      rm -rf $$.dir
   fi
   exit $status
@@ -82,7 +82,7 @@ run ()
   shift
   # Effective exit status.
   sta_eff=0
-  $prog "$@" - <input >out_eff 2>err_eff || sta_eff=$?
+  prog "$@" - <input >out_eff 2>err_eff || sta_eff=$?
   # Combine effective output and error streams.
   out_eff=$(cat out_eff && $noerr || sed -e 's/^/err: /g' err_eff)
   if test $sta_eff -eq $sta_exp; then


reply via email to

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