From 69277e109a7d917b7fa3b059833a833be6bfaba3 Mon Sep 17 00:00:00 2001 From: Akim Demaille Date: Fri, 20 Sep 2019 17:54:54 +0200 Subject: [PATCH] diagnostics: check that quoted lines are truncated * tests/diagnostics.at (Screen width: 60 columns, Screen width: 80 columns, Screen width: 200 columns): New tests. --- tests/diagnostics.at | 91 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 88 insertions(+), 3 deletions(-) diff --git a/tests/diagnostics.at b/tests/diagnostics.at index 8caef178..dc041e6a 100644 --- a/tests/diagnostics.at +++ b/tests/diagnostics.at @@ -18,7 +18,8 @@ AT_BANNER([[Diagnostics.]]) -# AT_TEST($1: TITLE, $2: GRAMMAR, $3: EXIT-STATUS, $4: OUTPUT-WITH-STYLE) +# AT_TEST($1: TITLE, $2: GRAMMAR, $3: EXIT-STATUS, $4: OUTPUT-WITH-STYLE, +# $5: EXTRA_ENV # ----------------------------------------------------------------------- # Run Bison on GRAMMAR with debugging style enabled, and expect # OUTPUT-WITH-STYLE as diagnostics. @@ -42,7 +43,7 @@ AT_CHECK([perl -pi -e 's{\^M}{\r}gx' input.y]) AT_DATA([experr], [$4]) -AT_CHECK([LC_ALL=en_US.UTF-8 bison -fcaret --color=debug -Wall input.y], [$3], [], [experr]) +AT_CHECK([LC_ALL=en_US.UTF-8 $5 bison -fcaret --color=debug -Wall input.y], [$3], [], [experr]) # When no style, same messages, but without style. AT_CHECK([perl -pi -e 's{()}{ $[]1 eq "" ? $[]1 : "" }ge' experr]) @@ -50,7 +51,7 @@ AT_CHECK([perl -pi -e 's{()}{ $[]1 eq "" ? $[]1 : "" }ge' experr]) # Cannot use AT_BISON_CHECK easily as we need to change the # environment. # FIXME: Enhance AT_BISON_CHECK. -AT_CHECK([LC_ALL=en_US.UTF-8 bison -fcaret -Wall input.y], [$3], [], [experr]) +AT_CHECK([LC_ALL=en_US.UTF-8 $5 bison -fcaret -Wall input.y], [$3], [], [experr]) AT_BISON_OPTION_POPDEFS @@ -311,6 +312,90 @@ input.y: warning: fix-its can be applied. Rerun with option +## -------------- ## +## Screen width. ## +## -------------- ## + +AT_TEST([[Screen width: 200 columns]], +[[%token ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ +%% +exp: ABCDEFGHIJKLMNOPQRSTUVWXYZ +]], +[0], +[[input.y:9.36-61: warning: symbol ABCDEFGHIJKLMNOPQRSTUVWXYZ redeclared [-Wother] + 9 | %token ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ + | ^~~~~~~~~~~~~~~~~~~~~~~~~~ +input.y:9.8-33: previous declaration + 9 | %token ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ + | ^~~~~~~~~~~~~~~~~~~~~~~~~~ +input.y:9.64-89: warning: symbol ABCDEFGHIJKLMNOPQRSTUVWXYZ redeclared [-Wother] + 9 | %token ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ + | ^~~~~~~~~~~~~~~~~~~~~~~~~~ +input.y:9.8-33: previous declaration + 9 | %token ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ + | ^~~~~~~~~~~~~~~~~~~~~~~~~~ +input.y:9.92-117: warning: symbol ABCDEFGHIJKLMNOPQRSTUVWXYZ redeclared [-Wother] + 9 | %token ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ + | ^~~~~~~~~~~~~~~~~~~~~~~~~~ +input.y:9.8-33: previous declaration + 9 | %token ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ + | ^~~~~~~~~~~~~~~~~~~~~~~~~~ +]], +[[COLUMNS=200]]) + +AT_TEST([[Screen width: 80 columns]], +[[%token ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ +%% +exp: ABCDEFGHIJKLMNOPQRSTUVWXYZ +]], +[0], +[[input.y:9.36-61: warning: symbol ABCDEFGHIJKLMNOPQRSTUVWXYZ redeclared [-Wother] + 9 | %token ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHI + | ^~~~~~~~~~~~~~~~~~~~~~~~~~ +input.y:9.8-33: previous declaration + 9 | %token ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHI + | ^~~~~~~~~~~~~~~~~~~~~~~~~~ +input.y:9.64-89: warning: symbol ABCDEFGHIJKLMNOPQRSTUVWXYZ redeclared [-Wother] + 9 | %token ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHI + | ^~~~~~~~~ +input.y:9.8-33: previous declaration + 9 | %token ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHI + | ^~~~~~~~~~~~~~~~~~~~~~~~~~ +input.y:9.92-117: warning: symbol ABCDEFGHIJKLMNOPQRSTUVWXYZ redeclared [-Wother] + 9 | ...TUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ + | ... ^~~~~~~~~~~~~~~~~~~~~~~~~~ +input.y:9.8-33: previous declaration + 9 | %token ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHI + | ^~~~~~~~~~~~~~~~~~~~~~~~~~ +]], +[[COLUMNS=80]]) + +AT_TEST([[Screen width: 60 columns]], +[[%token ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ +%% +exp: ABCDEFGHIJKLMNOPQRSTUVWXYZ +]], +[0], +[[input.y:9.36-61: warning: symbol ABCDEFGHIJKLMNOPQRSTUVWXYZ redeclared [-Wother] + 9 | %token ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQ + | ^~~~~~~~~~~~~~~~~ +input.y:9.8-33: previous declaration + 9 | %token ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQ + | ^~~~~~~~~~~~~~~~~~~~~~~~~~ +input.y:9.64-89: warning: symbol ABCDEFGHIJKLMNOPQRSTUVWXYZ redeclared [-Wother] + 9 | ...TUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKL + | ... ^~~~~~~~~~~~~~~~~~~~~~~~~~ +input.y:9.8-33: previous declaration + 9 | %token ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQ + | ^~~~~~~~~~~~~~~~~~~~~~~~~~ +input.y:9.92-117: warning: symbol ABCDEFGHIJKLMNOPQRSTUVWXYZ redeclared [-Wother] + 9 | ...TUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ + | ... ^~~~~~~~~~~~~~~~~~~~~~~~~~ +input.y:9.8-33: previous declaration + 9 | %token ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQ + | ^~~~~~~~~~~~~~~~~~~~~~~~~~ +]], +[[COLUMNS=60]]) m4_popdef([AT_TEST])