[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
{maint} tests: more possible error compiler messages for "#error"
From: |
Akim Demaille |
Subject: |
{maint} tests: more possible error compiler messages for "#error" |
Date: |
Thu, 8 Nov 2012 10:27:21 +0100 |
commit 2cf5f72e9e3cbc7fdb5cb0a618db7b4fc2440a68
Author: Akim Demaille <address@hidden>
Date: Thu Nov 8 10:25:15 2012 +0100
tests: more possible error compiler messages for "#error"
* tests/synclines.at (AT_SYNCLINES_COMPILE): Adjust for Clang.
Verified with GCC 4.0, 4.2 to 4.8, and Clang 2.9, 3.2: none skip.
diff --git a/tests/synclines.at b/tests/synclines.at
index 63ae685..751db7c 100644
--- a/tests/synclines.at
+++ b/tests/synclines.at
@@ -47,7 +47,8 @@ m4_define([AT_SYNCLINES_COMPILE],
# =>
# input.y:4: #error "8"
#
-# The message may include a caret-error:
+# The message may include a caret-error (indented by GCC 4.8,
+# not by clang 3.2):
#
# input.y:1:2: error: #error "1"
# #error "1"
@@ -63,13 +64,31 @@ m4_define([AT_SYNCLINES_COMPILE],
#
# 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
-
+#
+# The compiler might end by the number of messages issued (Clang 3.2):
+#
+# syncline.c:1:2: error: "1"
+# #error "1"
+# ^
+# 1 error generated.
AT_CHECK([[$PERL -p -0777 - stderr <<\EOF
+ # 1. Remove useless lines.
+
+ # distcc clutter.
s/^distcc\[\d+\] .*\n//gm;
- s/^([^:]+:\d+)[.:][^:]+:(.+)$/$][1:$][2/gm;
- s/^([^:]+:\d+):[^#]*( #error)/$][1:$][2/gm;
+ # Function context.
s/^[^:]*: In function '[^']+':\n//gm;
- s/^\ +#error.*\n\ *\^\n//gm;
+ # Caret error.
+ s/^ *#error.*\n *\^\n//gm;
+ # Number of errors.
+ s/^1 error generated\.\n//gm;
+
+ # 2. Normalize the lines we kept.
+
+ # Remove column.
+ s/^([^:]+:\d+)[.:][^:]+:(.+)$/$][1:$][2/gm;
+ # Map all combinations of "error: " and "#error: " to "#error ".
+ s/^([^:]+:\d+):( |#error|error|:)+/$][1: #error /gm;
EOF
]],
0, [stdout])
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- {maint} tests: more possible error compiler messages for "#error",
Akim Demaille <=