bug-m4
[Top][All Lists]
Advanced

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

Re: HEAD: inclusion order wrong for input.c


From: Eric Blake
Subject: Re: HEAD: inclusion order wrong for input.c
Date: Tue, 10 Apr 2007 07:24:15 -0600
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.10) Gecko/20070221 Thunderbird/1.5.0.10 Mnenhy/0.7.5.666

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

According to Ralf Wildenhues on 4/6/2007 5:07 AM:
> ../../m4/tests/others.at:478: (sed -ne 1q; cat) < in.m4
> + sed -ne 1q
> + cat
> stdout:
> + set +x
> ../../m4/tests/others.at:479: test "x`cat stdout`" = "x0)trailing data" || \
>   { echo "skipping: sed is too greedy on seekable stdin"; exit 77; }
> Not enabling shell tracing (command contains a `...` command substitution)
> --- /dev/null 2006-05-22 18:44:12.000000000 +0200
> +++ /tmp/build/tests/testsuite.dir/at-stdout  2007-04-04 18:36:33.000000000 
> +0200
> @@ -0,0 +1 @@
> +skipping: sed is too greedy on seekable stdin

Is this GNU sed?  If so, you may want to check if this will be solved
before the next sed release.

>> I'm not sure whether the following will catch
>> everything, but it hopefully lets the test get further; it may take a couple
>> iterations before we settle on the right patch for the testsuite:
> 
> With the patch you posted I get:
> 
> #                             -*- compilation -*-
> 70. others.at:606: testing ...
...
> ../../m4/tests/others.at:618: m4 -b -d --version >/dev/full < /dev/null
> + m4 -b -d --version
> stderr:
> /tmp/build/src/.libs/lt-m4: write error: No space left on device
> + set +x
> ../../m4/tests/others.at:618: sed 's/^[^:]*[lt-]*m4[.ex]*:/m4:/
>       /^m4debug: module/s/opening file.*/opening file/
>       s/\(cannot open module [^:]*\):.*/\1/
>     ' stderr >&2
> Not enabling shell tracing (command contains an embedded newline)
> --- experr    2007-04-04 18:38:40.000000000 +0200
> +++ /tmp/build/tests/testsuite.dir/at-stderr  2007-04-04 18:38:40.000000000 
> +0200
> @@ -1 +1 @@
> -m4: write error
> +m4: write error: No space left on device

Here's another iteration (and it should go faster, by showing me ALL of
the stderr, rather than giving up at the first mismatch - fun with cheap
m4 tricks).

- --
Don't work too hard, make some time for fun as well!

Eric Blake             address@hidden
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGG4/+84KuGfSFAYARAqRBAJ9IMHQx7MaGyACLEG/6wbYuZcz4MgCeIJk3
Pjtv/7haPnI47wYCZPlX0do=
=RGIi
-----END PGP SIGNATURE-----
? build
? builda
? buildb
? foo
? foo.m4f
Index: tests/others.at
===================================================================
RCS file: /sources/m4/m4/tests/others.at,v
retrieving revision 1.31
diff -u -p -r1.31 others.at
--- tests/others.at     5 Feb 2007 17:31:10 -0000       1.31
+++ tests/others.at     10 Apr 2007 13:14:07 -0000
@@ -608,14 +608,16 @@ AT_CHECK([test -w /dev/full && test -c /
   echo "Skipping: no /dev/full support";
   exit 77
 }])
-
+m4_define([show],[[stderr])m4_if(])
 dnl detect write failures on --help
 AT_CHECK_M4([--help >/dev/full], [1], [],
+show
 [[m4: write error: No space left on device
 ]])
 
 dnl detect write failures on --version
 AT_CHECK_M4([--version >/dev/full], [1], [],
+show
 [[m4: write error: No space left on device
 ]])
 
@@ -623,6 +625,7 @@ dnl detect ordinary write failures
 AT_DATA([in.m4], [[hello world
 ]])
 AT_CHECK_M4([in.m4 >/dev/full], [1], [],
+show
 [[m4: write error: No space left on device
 ]])
 
@@ -640,6 +643,7 @@ dnl detect trace write failures
 AT_DATA([in.m4], [[dnl
 ]])
 AT_CHECK_M4([--debugfile=/dev/full -tdnl in.m4], [1], [],
+show
 [[m4: error writing to debug stream: No space left on device
 ]])
 
@@ -650,6 +654,7 @@ dnl write failures must override m4exit 
 AT_DATA([in.m4], [[hello world m4exit(`0')
 ]])
 AT_CHECK_M4([in.m4 >/dev/full], [1], [],
+show
 [[m4:in.m4:1: write error: No space left on device
 ]])
 
@@ -657,9 +662,12 @@ dnl preserve m4exit's failure value
 AT_DATA([in.m4], [[hello world m4exit(`2')
 ]])
 AT_CHECK_M4([in.m4 >/dev/full], [2], [],
+show
 [[m4:in.m4:1: write error: No space left on device
 ]])
 
+AT_CHECK([false])
+
 AT_CLEANUP
 
 

reply via email to

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