X-Git-Url: https://git.draconx.ca/gitweb/cdecl99.git/blobdiff_plain/88203f87b45548f1751a750ab0ec835eaf945636..318e941af5ec3b0622212ba3d2968efd3c961587:/tests/general.at diff --git a/tests/general.at b/tests/general.at index f73f781..fd48b06 100644 --- a/tests/general.at +++ b/tests/general.at @@ -70,15 +70,14 @@ explain int # Program to generate expected output based on src/execute.gperf AT_DATA([expout.sed], -[[#n -/^%%$/,/^%%$/ { +[[/^%%$/,/^%%$/ { s/^exit.*// s/,.*//p } $a\ type int ]]) -sed -f expout.sed "$srcdir/src/execute.gperf" >expout +sed -n -f expout.sed "$srcdir/src/execute.gperf" >expout # Program to filter the help output to extract the command list from "help" # without any descriptions. @@ -117,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], @@ -129,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); } @@ -230,3 +230,12 @@ AT_CHECK([echo >>stdout; sed -f check.sed stdout], [0], ]) AT_CLEANUP + +AT_SETUP([cdecl99 EOF in batch mode]) + +AT_CHECK([AS_ECHO_N(["explain int"]) | cdecl99 --batch | head], [0], +[[type int +]]) +AT_CHECK([cdecl99 --batch