From d1e3cffa6d3e32c648ac7b514a9d6c98839c5e8b Mon Sep 17 00:00:00 2001 From: Nick Bowler Date: Fri, 26 Jan 2024 21:40:11 -0500 Subject: [PATCH] tests: Avoid backslashes in awk variable assignment. Backslashes in awk command-line variable assignments are normally interpreted as beginning escape sequences, which is not what we want to do for the error message prefix test. Just exchanging backslashes with some other character (let's pick forward slashes) should be more than sufficient for this test, to ensure that the program name prefixes error messages. --- tests/general.at | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/general.at b/tests/general.at index a77134f..fd48b06 100644 --- a/tests/general.at +++ b/tests/general.at @@ -116,7 +116,7 @@ AT_SETUP([cdecl99 command error messages]) # This will only get the start of progname if it includes spaces; # so we won't worry too hard about the exact format later. AT_CHECK([LC_ALL=C cdecl99 --help], [0], [stdout]) -progname=`$AWK 'NR == 1 { print $2; }' stdout`dnl' +progname=`$AWK 'NR == 1 { gsub(/[[\\\\]]/, "/", $2); print $2; }' stdout`dnl' # every line is erroneous AT_DATA([input], @@ -128,6 +128,7 @@ bad command AT_DATA([check.awk], [[BEGIN { status=0; } +{ gsub(/[\\]/, "/"); } $1 == progname || $1 == (progname ":") { next; } { status=1; print "unprefixed message on line", NR ":", $0; } END { exit(status); } -- 2.43.2