[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 3/4] tests: factor iterating over skeletons
From: |
Akim Demaille |
Subject: |
[PATCH 3/4] tests: factor iterating over skeletons |
Date: |
Sat, 7 Aug 2021 12:56:31 +0200 |
* tests/local.at (AT_FOR_EACH_SKEL): New.
Use where appropriate.
* data/skeletons/lalr1.d: Reject -d.
* tests/input.at, tests/scanner.at: Also check D.
---
data/skeletons/lalr1.d | 2 ++
tests/input.at | 7 +++----
tests/local.at | 9 +++++++++
tests/scanner.at | 2 +-
4 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/data/skeletons/lalr1.d b/data/skeletons/lalr1.d
index df03dee8..dc54c664 100644
--- a/data/skeletons/lalr1.d
+++ b/data/skeletons/lalr1.d
@@ -17,6 +17,8 @@
m4_include(b4_skeletonsdir/[d.m4])
+b4_header_if([b4_complain([%header/%defines does not make sense in D])])
+
# parse.lac
b4_percent_define_default([[parse.lac]], [[none]])
b4_percent_define_check_values([[[[parse.lac]], [[full]], [[none]]]])
diff --git a/tests/input.at b/tests/input.at
index f41c3657..632be1a3 100644
--- a/tests/input.at
+++ b/tests/input.at
@@ -2682,7 +2682,7 @@ AT_SETUP([[LAC: Errors for %define]])
# Only "full" and "none" are accepted for parse.lac
# Unknown values (such as "unsupported") are rejected
-m4_foreach([b4_skel], [[yacc.c], [lalr1.cc], [lalr1.java]],
+m4_foreach([b4_skel], [[yacc.c], [lalr1.cc], [lalr1.d], [lalr1.java]],
[AT_BISON_CHECK([[-S]b4_skel[ -Dparse.lac=none input.y]])
AT_BISON_CHECK([[-S]b4_skel[ -Dparse.lac=full input.y]])
AT_BISON_CHECK([[-S]b4_skel[ -Dparse.lac=unsupported input.y]],
@@ -2926,9 +2926,8 @@ m4_pushdef([AT_TEST],
# Disable -Wother to avoid the warnings about the suspicious presence
# of `b4_canary` in the output.
-m4_foreach([b4_skel],
- [[yacc.c], [glr.c], [lalr1.cc], [glr.cc], [glr2.cc], [lalr1.d],
[lalr1.java]],
-[AT_BISON_CHECK([[-Wno-other -S ]b4_skel[ ]m4_bmatch(b4_skel, [.*\.java$], [],
[-d])[ input.y]])
+AT_FOR_EACH_SKEL(
+[AT_BISON_CHECK([[-Wno-other -S ]b4_skel[ ]m4_bmatch(b4_skel,
[.*\.\(d\|java\)$], [], [-d])[ input.y]])
])
])
diff --git a/tests/local.at b/tests/local.at
index 5dde77c2..e24c419d 100644
--- a/tests/local.at
+++ b/tests/local.at
@@ -157,6 +157,15 @@ m4_define([AT_SAVE_SPECIAL_FILES],
[at_save_special_files])
m4_define([AT_RESTORE_SPECIAL_FILES], [at_restore_special_files])
+# AT_FOR_EACH_SKEL(BODY)
+# ----------------------
+m4_define([AT_FOR_EACH_SKEL],
+[m4_foreach([b4_skel],
+ [[yacc.c], [glr.c], [lalr1.cc], [glr.cc], [glr2.cc], [lalr1.d],
[lalr1.java]],
+ [$1])
+])
+
+
## ------------------------------- ##
## Macros decoding Bison options. ##
diff --git a/tests/scanner.at b/tests/scanner.at
index 852e7c9a..44bae6e8 100644
--- a/tests/scanner.at
+++ b/tests/scanner.at
@@ -323,7 +323,7 @@ AT_SETUP([Token numbers: $1])
AT_CLEANUP
])
-m4_foreach([b4_skel], [[yacc.c], [glr.c], [lalr1.cc], [glr.cc], [glr2.cc],
[lalr1.java], [lalr1.d]],
+AT_FOR_EACH_SKEL(
[AT_TEST([%skeleton "]b4_skel["])
AT_TEST([%skeleton "]b4_skel[" %define api.token.raw])])
--
2.32.0