From: Nick Bowler Date: Sat, 27 Jan 2024 02:40:11 +0000 (-0500) Subject: tests: Avoid backslashes in awk variable assignment. X-Git-Tag: v1.3~20 X-Git-Url: http://git.draconx.ca/gitweb/cdecl99.git/commitdiff_plain/d1e3cffa6d3e32c648ac7b514a9d6c98839c5e8b 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. --- 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); }