summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkim Demaille <demaille@gostai.com>2010-04-14 16:40:18 +0200
committerAkim Demaille <demaille@gostai.com>2010-05-07 17:07:44 +0200
commit67f5d55d7a6dd8cf8f42bbaebd2deef54e1e0c85 (patch)
treeb1e5b860b2f426d50c43f02fd098e0587d25d7b7
parentff1f7871df81d5183eafeff380104da7a4a94749 (diff)
downloadbison-67f5d55d7a6dd8cf8f42bbaebd2deef54e1e0c85.tar.gz
tests: enhance AT_SYNCLINES_COMPILE.
* tests/synclines.at (AT_SYNCLINES_COMPILE): More distcc patterns. (AT_TEST_SYNCLINE): Remove GCC 4.5 protection which is already taken care of in AT_SYNCLINES_COMPILE. (cherry picked from commit c826013fb38c98861ef0fc5d4dc3fb3fb4f555be) Conflicts: tests/synclines.at
-rw-r--r--ChangeLog7
-rw-r--r--tests/synclines.at30
2 files changed, 33 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index a1dbfbf6..d024f575 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2010-05-04 Akim Demaille <demaille@gostai.com>
+
+ tests: enhance AT_SYNCLINES_COMPILE.
+ * tests/synclines.at (AT_SYNCLINES_COMPILE): More distcc patterns.
+ (AT_TEST_SYNCLINE): Remove GCC 4.5 protection which is already
+ taken care of in AT_SYNCLINES_COMPILE.
+
2010-04-30 Joel E. Denny <joeldenny@joeldenny.org>
Document that undefined %prec identifier warnings will remain.
diff --git a/tests/synclines.at b/tests/synclines.at
index a9754333..83a26d05 100644
--- a/tests/synclines.at
+++ b/tests/synclines.at
@@ -34,7 +34,31 @@ m4_define([AT_SYNCLINES_COMPILE],
# =>
# input.y:4: #error "4"
#
-AT_CHECK([[sed -e 's/^\([^:]*:[^:.]*\)[.:][^:]*:\(.*\)$/\1:\2/' -e 's/^\([^:]*:[^:]*:\)[^@%:@]*\( @%:@error\)/\1\2/' stderr]], 0, [stdout])
+# It may also issue more context information:
+#
+# input.y: In function 'yyparse':
+# input.y:8: #error "8"
+# =>
+# input.y:4: #error "8"
+#
+#
+# And possibly distcc adds its bits.
+#
+# distcc[33187] ERROR: compile (null) on localhost failed
+# syncline.c:1:2: error: #error "1"
+# distcc[33185] ERROR: compile syncline.c on localhost failed
+#
+# or even
+#
+# distcc[35882] (dcc_connect_by_name) ERROR: failed to look up host "chrisimac": Unknown host
+# distcc[35882] Warning: failed to distribute input.c to chrisimac/4, running locally instead
+
+AT_CHECK([[sed -e '/^distcc\[[0-9]*\] /d' \
+ -e 's/^\([^:]*:[^:.]*\)[.:][^:]*:\(.*\)$/\1:\2/' \
+ -e 's/^\([^:]*:[^:]*:\)[^@%:@]*\( @%:@error\)/\1\2/' \
+ -e "/^[^:]*: In function '[^\']*':$/d" \
+ stderr]],
+ 0, [stdout])
])
# AT_TEST_SYNCLINE(TITLE, INPUT, ERROR-MSG)
@@ -71,9 +95,7 @@ AT_CHECK([[test "`cat stdout`" = 'syncline.c:1: @%:@error "1"' || exit 77]])
AT_DATA([[input.y]], [$2])
AT_BISON_CHECK([-o input.c input.y])
AT_SYNCLINES_COMPILE([input.c])
-# GCC 4.5 tells you the function within which #error appears, but
-# previous versions of gcc do not.
-AT_CHECK([grep -v ': In function ' stdout], 0, [$3])
+AT_CHECK([cat stdout], 0, [$3])
AT_CLEANUP
])