diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2016-06-17 12:24:05 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2016-06-17 12:24:05 +0300 |
commit | a2d57a94b78e853bbb2236140930509d3f415bbc (patch) | |
tree | 9f1d66840ce0f319687776bc53a8846f254dac58 | |
parent | b5c92588dc5972fab63ee2b2b8983a74e6fa5872 (diff) | |
parent | a0c2e0d3db233ed416f2a4346f2820ce79e46db6 (diff) | |
download | egawk-a2d57a94b78e853bbb2236140930509d3f415bbc.tar.gz egawk-a2d57a94b78e853bbb2236140930509d3f415bbc.tar.bz2 egawk-a2d57a94b78e853bbb2236140930509d3f415bbc.zip |
Merge branch 'gawk-4.1-stable'
-rw-r--r-- | po/gawk.pot | 74 | ||||
-rw-r--r-- | vms/ChangeLog | 7 | ||||
-rw-r--r-- | vms/vmstest.com | 2066 |
3 files changed, 1857 insertions, 290 deletions
diff --git a/po/gawk.pot b/po/gawk.pot index 710ad120..70f429ab 100644 --- a/po/gawk.pot +++ b/po/gawk.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: gawk 4.1.3g\n" +"Project-Id-Version: gawk 4.1.3h\n" "Report-Msgid-Bugs-To: bug-gawk@gnu.org\n" -"POT-Creation-Date: 2016-05-30 16:00-0400\n" +"POT-Creation-Date: 2016-06-17 09:51+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -846,119 +846,119 @@ msgstr "" msgid "gensub: third argument %g treated as 1" msgstr "" -#: builtin.c:3096 +#: builtin.c:3100 #, c-format msgid "%s: can be called indirectly only with two arguments" msgstr "" -#: builtin.c:3186 +#: builtin.c:3190 #, c-format msgid "indirect call to %s requires at least two arguments" msgstr "" -#: builtin.c:3238 +#: builtin.c:3242 msgid "lshift: received non-numeric first argument" msgstr "" -#: builtin.c:3240 +#: builtin.c:3244 msgid "lshift: received non-numeric second argument" msgstr "" -#: builtin.c:3246 +#: builtin.c:3250 #, c-format msgid "lshift(%f, %f): negative values will give strange results" msgstr "" -#: builtin.c:3248 +#: builtin.c:3252 #, c-format msgid "lshift(%f, %f): fractional values will be truncated" msgstr "" -#: builtin.c:3250 +#: builtin.c:3254 #, c-format msgid "lshift(%f, %f): too large shift value will give strange results" msgstr "" -#: builtin.c:3275 +#: builtin.c:3279 msgid "rshift: received non-numeric first argument" msgstr "" -#: builtin.c:3277 +#: builtin.c:3281 msgid "rshift: received non-numeric second argument" msgstr "" -#: builtin.c:3283 +#: builtin.c:3287 #, c-format msgid "rshift(%f, %f): negative values will give strange results" msgstr "" -#: builtin.c:3285 +#: builtin.c:3289 #, c-format msgid "rshift(%f, %f): fractional values will be truncated" msgstr "" -#: builtin.c:3287 +#: builtin.c:3291 #, c-format msgid "rshift(%f, %f): too large shift value will give strange results" msgstr "" -#: builtin.c:3312 mpfr.c:988 +#: builtin.c:3316 mpfr.c:988 msgid "and: called with less than two arguments" msgstr "" -#: builtin.c:3317 +#: builtin.c:3321 #, c-format msgid "and: argument %d is non-numeric" msgstr "" -#: builtin.c:3321 +#: builtin.c:3325 #, c-format msgid "and: argument %d negative value %g will give strange results" msgstr "" -#: builtin.c:3344 mpfr.c:1020 +#: builtin.c:3348 mpfr.c:1020 msgid "or: called with less than two arguments" msgstr "" -#: builtin.c:3349 +#: builtin.c:3353 #, c-format msgid "or: argument %d is non-numeric" msgstr "" -#: builtin.c:3353 +#: builtin.c:3357 #, c-format msgid "or: argument %d negative value %g will give strange results" msgstr "" -#: builtin.c:3375 mpfr.c:1051 +#: builtin.c:3379 mpfr.c:1051 msgid "xor: called with less than two arguments" msgstr "" -#: builtin.c:3381 +#: builtin.c:3385 #, c-format msgid "xor: argument %d is non-numeric" msgstr "" -#: builtin.c:3385 +#: builtin.c:3389 #, c-format msgid "xor: argument %d negative value %g will give strange results" msgstr "" -#: builtin.c:3410 mpfr.c:807 +#: builtin.c:3414 mpfr.c:807 msgid "compl: received non-numeric argument" msgstr "" -#: builtin.c:3416 +#: builtin.c:3420 #, c-format msgid "compl(%f): negative value will give strange results" msgstr "" -#: builtin.c:3418 +#: builtin.c:3422 #, c-format msgid "compl(%f): fractional value will be truncated" msgstr "" -#: builtin.c:3587 +#: builtin.c:3592 #, c-format msgid "dcgettext: `%s' is not a valid locale category" msgstr "" @@ -2472,7 +2472,7 @@ msgstr "" msgid "old awk does not support regexps as value of `FS'" msgstr "" -#: field.c:1380 +#: field.c:1384 msgid "`FPAT' is a gawk extension" msgstr "" @@ -3226,36 +3226,36 @@ msgstr "" msgid "cmd. line:" msgstr "" -#: node.c:418 +#: node.c:431 msgid "backslash at end of string" msgstr "" -#: node.c:497 +#: node.c:510 #, c-format msgid "old awk does not support the `\\%c' escape sequence" msgstr "" -#: node.c:548 +#: node.c:561 msgid "POSIX does not allow `\\x' escapes" msgstr "" -#: node.c:554 +#: node.c:567 msgid "no hex digits in `\\x' escape sequence" msgstr "" -#: node.c:576 +#: node.c:589 #, c-format msgid "" "hex escape \\x%.*s of %d characters probably not interpreted the way you " "expect" msgstr "" -#: node.c:591 +#: node.c:604 #, c-format msgid "escape sequence `\\%c' treated as plain `%c'" msgstr "" -#: node.c:728 +#: node.c:741 msgid "" "Invalid multibyte data detected. There may be a mismatch between your data " "and your locale." @@ -3404,11 +3404,11 @@ msgstr "" msgid "No previous regular expression" msgstr "" -#: symbol.c:678 +#: symbol.c:680 #, c-format msgid "function `%s': can't use function `%s' as a parameter name" msgstr "" -#: symbol.c:810 +#: symbol.c:812 msgid "can not pop main context" msgstr "" diff --git a/vms/ChangeLog b/vms/ChangeLog index d1bb737e..510f61cd 100644 --- a/vms/ChangeLog +++ b/vms/ChangeLog @@ -1,6 +1,13 @@ +2016-06-16 John E. Malmberg <wb8tyw@qsl.net> + + * vmstest.com: New tests (basic) hex2, mixed1, subback + + 2016-05-30 John E. Malmberg <wb8tyw@qsl.net> * vmstest.com: New tests (basic) fsnul1 + New tests (ext) fpat4, symtab10 + vmstest.com: Outputs test_output.xml in junit format. 2016-05-29 John E. Malmberg <wb8tyw@qsl.net> diff --git a/vms/vmstest.com b/vms/vmstest.com index f047b5b7..93e5a149 100644 --- a/vms/vmstest.com +++ b/vms/vmstest.com @@ -48,7 +48,8 @@ $! 4.1.3f: New tests $! basic: arrayind1,rscompat,sigpipe1 $! $! 4.1.3.g: New tests -$! basic: fsnul1 +$! basic: fsnul1, hex2, mixed1, subback +$! ext: fpat4, symtab10 $ $ $ echo = "write sys$output" @@ -74,9 +75,80 @@ $ $ list = p1+" "+p2+" "+p3+" "+p4+" "+p5+" "+p6+" "+p7+" "+p8 $ list = f$edit(list,"TRIM,LOWERCASE") $ if list.eqs."" then list = "all" ! bigtest +$ gosub create_junit_test_header $ gosub list_of_tests +$ gosub finish_junit_test $ echo "done." $ exit +$! +$create_junit_test_header: +$ junit_count = 0 +$ temp_fdl = "sys$disk:[]stream_lf.fdl" +$ arch_code = f$extract(0, 1, arch_name) +$! +$ junit_hdr_file = "sys$disk:[]test_output.xml" +$ if f$search(junit_hdr_file) .nes. "" then delete 'junit_hdr_file';* +$ junit_body_file = "sys$disk:[]test_body_tmp.xml" +$ if f$search(junit_body_file) .nes. "" then delete 'junit_body_file';* +$!! +$ if arch_code .nes. "V" +$ then +$ create 'junit_hdr_file'/fdl="RECORD; FORMAT STREAM_LF;" +$ create 'junit_body_file'/fdl="RECORD; FORMAT STREAM_LF;" +$ else +$ if f$search(temp_fdl) .nes. "" then delete 'temp_fdl';* +$ create 'temp_fdl' +RECORD + FORMAT stream_lf +$ continue +$ create 'junit_hdr_file'/fdl='temp_fdl' +$ create 'junit_body_file'/fdl='temp_fdl' +$ endif +$ open/append junit 'junit_body_file' +$ return +$! +$finish_junit_test: +$ open/append junit_hdr 'junit_hdr_file' +$ write junit_hdr "<?xml version=""1.0"" encoding=""UTF-8""?>" +$ write junit_hdr "<testsuite name=""gawk""" +$ write junit_hdr " tests=""''junit_count'"">" +$ close junit_hdr +$ write junit "</testsuite>" +$ close junit +$ append 'junit_body_file' 'junit_hdr_file' +$ delete 'junit_body_file';* +$ return +$! +$junit_report_skip: +$ write sys$output "Skipping test ''test' reason ''skip_reason'." +$ junit_count = junit_count + 1 +$ write junit " <testcase name=""''test'""" +$ write junit " classname=""''test_class'"">" +$ write junit " <skipped/>" +$ write junit " </testcase>" +$ return +$! +$junit_report_fail_diff: +$ fail_msg = "failed" +$ fail_type = "diff" +$! fall through to junit_report_fail +$junit_report_fail: +$ write sys$output "failing test ''test' reason ''fail_msg'." +$ junit_count = junit_count + 1 +$ write junit " <testcase name=""''test'""" +$ write junit " classname=""''test_class'"">" +$ write junit - + " <failure message=""''fail_msg'"" type=""''fail_type'"" >" +$ write junit " </failure>" +$ write junit " </testcase>" +$ return +$! +$junit_report_pass: +$ junit_count = junit_count + 1 +$ write junit " <testcase name=""''test'""" +$ write junit " classname=""''test_class'"">" +$ write junit " </testcase>" +$ return $ $vms_debug: echo "Switching to gawk_debug.exe" $ gawk = "$sys$disk:[-]gawk_debug.exe" @@ -116,11 +188,11 @@ $ list = "getline getline2 getline3 getline4 getline5 " - + " getlnbuf getnr2tb getnr2tm gsubasgn gsubtest" - + " gsubtst2 gsubtst3 gsubtst4 gsubtst5 gsubtst6" - + " gsubtst7 gsubtst8" - - + " hex hsprint" - + + " hex hex2 hsprint" - + " inpref inputred intest intprec iobug1" - + " leaddig leadnl litoct longsub longwrds"- - + " manglprm math membug1 messages minusstr mmap8k" - - + " mtchi18n" + + " manglprm math membug1 messages minusstr mixed1" - + + " mmap8k mtchi18n" $ gosub list_of_tests $ list = "nasty nasty2 negexp negrange nested nfldstr" - + " nfloop nfneg nfset nlfldsep nlinstr nlstrina" - @@ -142,7 +214,7 @@ $ list = "rand range1 rebrackloc rebt8b1 redfilnm regeq" - $ gosub list_of_tests $ list = "scalar sclforin sclifin sigpipe1 sortempty sortglos" - + " splitargv splitarr splitdef splitvar splitwht" - - + " strcat1 strtod strnum1 subamp subi18n subsepnm" - + + " strcat1 strtod strnum1 subamp subback subi18n subsepnm" - + " subslash substr swaplns synerr1 synerr2" $ gosub list_of_tests $ list = "tradanch tweakfld" - @@ -170,8 +242,8 @@ $ list = "aadelete1 aadelete2 aarray1 aasort aasorti" - + " clos1way5 charasbytes crlf" - + " dbugeval delsub devfd devfd1 devfd2 dumpvars" - + " exit" - - + " fieldwdth fpat1 fpat2 fpat3 fpatnull funlen functab1" - - + " functab2 functab3 fsfwfs fwtest fwtest2 fwtest3" + + " fieldwdth fpat1 fpat2 fpat3 fpat4 fpatnull funlen" - + + " functab1 functab2 functab3 fsfwfs fwtest fwtest2 fwtest3" $ gosub list_of_tests $ list = "genpot gensub gensub2 getlndir gnuops2 gnuops3" - + " gnureops" - @@ -193,7 +265,7 @@ $ list = "regx8bit rebuf reginttrad regnul1 regnul2" - + " shadow sortfor sortu split_after_fpat splitarg4" - + " strtonum strftime switch2 symtab1 symtab2 symtab3" - + " symtab4 symtab5 symtab6 symtab7 symtab8 symtab9" - - + " watchpoint1" + + " symtab10 watchpoint1" $ gosub list_of_tests $ return $ @@ -253,8 +325,11 @@ $ list = "fnmatch filefuncs fork fork2 fts functab4" - $ gosub list_of_tests $ return $! -$mpfr: echo "mpfr... - Not yet implmented on VMS" +$mpfr: +$ test_class = "mpfr" +$ skip_reason = "Not yet implmented on VMS" $ ! mpfr has not yet been ported to VMS. +$ gosub junit_report_skip $ return $! $! list_of_tests: process 'list', a space-separated list of tests. @@ -285,33 +360,19 @@ $aryprm8: $aryprm9: $asgext: $backgsub: -$backsmalls2: -$backw: $concat1: $concat2: $concat3: -$crlf: $datanonl: $delarpm2: $dfamb1: $exit2: $fldchg: $fldchgnf: -$fmttest: $fordel: -$fpat1: -$fpat3: -$fpat4: -$fpatnull: -$fsfwfs: $fsnul1: $fsrs: -$funlen: $funstack: -$fwtest: -$fwtest2: -$fwtest3: -$gensub: $getline3: $getline4: $getnr2tb: @@ -323,16 +384,11 @@ $gsubtst5: $gsubtst7: $gsubtst8: $hex: -$icasers: -$igncfs: -$igncdym: -$indirectcall: +$hex2: $inpref: $inputred: -$lc_num1: $leadnl: $manglprm: -$match3: $membug1: $nested: $nfloop: @@ -354,56 +410,107 @@ $prec: $prtoeval: $range1: $rebrackloc: -$rebuf: $regeq: $regexpbrack: -$regnul1: -$regnul2: $reindops: $reparse: -$rsgetline: $rsnul1nl: -$rsstart1: $rstest1: $rstest2: $rstest3: -$rstest6: $rswhite: $sortempty: -$sortfor: $sortglos: -$split_after_fpat: -$splitarg4: $splitargv: $splitarr: $splitvar: -$sprintfc: $strcat1: $strtod: +$subback: $subsepnm: $swaplns: $uparrfs: $wjposer1: $zeroe0: +$ test_class = "basic" +$ goto common_with_test_in +$! +$backsmalls2: +$fmttest: +$lc_num1: +$sprintfc: +$ classname="charset_tests" +$ goto common_with_test_in +$! +$backw: +$crlf: +$fpat1: +$fpat3: +$fpat4: +$fpatnull: +$fsfwfs: +$funlen: +$fwtest: +$fwtest2: +$fwtest3: +$gensub: +$icasers: +$igncdym: +$igncfs: +$indirectcall: +$match3: +$rebuf: +$regnul1: +$regnul2: +$rsgetline: +$rsstart1: +$rstest6: +$sortfor: +$split_after_fpat: +$splitarg4: +$ classname="gawk_ext" +$ goto common_with_test_in +$! +$common_with_test_in: $! common with 'test'.in $! $ echo "''test'" $ gawk -f 'test'.awk 'test'.in >_'test'.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp; +$ if $status +$ then +$ rm _'test'.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $! +$! +$! $arrayind1: $ echo "''test'" +$ test_class = "basic" $ define/user sys$error _'test'.tmp $ gawk -f 'test'.awk 'test'.in >_'test'.tmp2 $ append _'test'.tmp2 _'test'.tmp $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp;,_'test'.tmp2; +$ if $status +$ then +$ rm _'test'.tmp;,_'test'.tmp2; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $! $indirectbuiltin: ! 4.1.2 $ echo "''test'" +$ classname="gawk_ext" $ ! No shell simulation in gawk $ temp_file = "sys$disk:[]_'test'.tmp" $ if f$search(temp_file) .nes. "" then delete 'temp_file';* @@ -414,26 +521,28 @@ $ rm = old_rm $ ! gawk subprocesses creating new generation of stdout $ ! instead of appending to open one. $ cmp 'test'.ok sys$disk:[]_'test'.tmp;1 -$ if $status then rm _'test'.tmp;*,x1.out;,x2.out; +$ if $status +$ then +$ rm _'test'.tmp;*,x1.out;,x2.out; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $! more common tests, without a data file: gawk -f 'test'.awk $ofmta: $ if arch_name .eqs. "VAX" $ then -$ echo "''test' skipped on VAX." +$ test_class = "basic" +$ skip_reason = "skipped on VAX" +$ gosub junit_report_skip $ return $ endif -$aarray1: -$aasort: -$aasorti: $arrayref: -$arraysort: $arrymem1: $arynasty: $arysubnm: -$asort: -$asorti: $badassign1: $badbuild: $callparam: @@ -442,72 +551,114 @@ $compare2: $convfmt: $delargv: $delarprm: -$delsub: $dynlj: -$fnarydel: -$fnparydl: -$fpat2: $forref: $forsimp: $funsemnl: -$gensub2: -$gnuops2: -$gnuops3: -$gnureops: $hsprint: -$icasefs: $intest: -$match1: $math: $minusstr: $negrange: $nulinsrc: $nlstrina: -$nondec: $octsub: $paramtyp: $paramuninitglobal: -$patsplit: $pcntplus: $printf1: -$procinfs: $prt1eval: $rebt8b1: -$rebt8b2: $regexprange: $regrange: -$regx8bit: -$sort1: -$sortu: $splitdef: $splitwht: $strnum1: -$strtonum: $substr: -$switch2: $zero2: $zeroflag: +$ test_class = "basic" +$ goto common_without_test_in +$! +$aarray1: +$aasort: +$aasorti: +$arraysort: +$delsub: +$fpat2: +$gensub2: +$gnuops2: +$gnuops3: +$gnureops: +$icasefs: +$match1: +$nondec: +$patsplit: +$procinfs: +$regx8bit: +$sortu: +$strtonum: +$switch2: +$ classname="gawk_ext" +$ goto common_without_test_in +$! +$asort: +$asorti: +$fnarydel: +$fnparydl: +$rebt8b2: +$sort1: +$ classname="charset_tests" +$ goto common_without_test_in +$! +$common_without_test_in: $! common without 'test'.in $ echo "''test'" $ set noOn $ gawk -f 'test'.awk 2>&1 >_'test'.tmp $ if .not. $status then call exit_code '$status' _'test'.tmp $ set On +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp; +$ if $status +$ then +$ rm _'test'.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $colonwarn: echo "''test'" +$ classname="gawk_ext" $ gawk -f 'test'.awk 1 < 'test'.in > _'test'.tmp $ gawk -f 'test'.awk 2 < 'test'.in > _'test'_2.tmp $ gawk -f 'test'.awk 3 < 'test'.in > _'test'_3.tmp +$ if f$search("sys$disk:[]_''test'_%.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'_%.tmp;2 +$ endif +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ append _'test'_2.tmp,_'test'_3.tmp _'test'.tmp $ cmp 'test'.ok sys$disk:[]_'test'.tmp;1 -$ if $status then rm _'test'*.tmp;* +$ if $status +$ then +$ rm _'test'*.tmp;* +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $dbugeval: $ echo "''test'" +$ classname="gawk_ext" $ if f$getdvi("SYS$COMMAND", "TRM") $ then $ set noOn @@ -515,64 +666,112 @@ $ gawk --debug -f /dev/null < 'test'.in 2>&1 > _'test.tmp' $ if .not. $status then call exit_code '$status' _'test'.tmp $ set On $ cmp 'test'.ok sys$disk:[]_'test'.tmp;1 -$ if $status then rm _'test'*.tmp;* -$ return +$ if $status +$ then +$ rm _'test'*.tmp;* +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ else -$ echo "Skipping because not a terminal." +$ skip_reason = "Skipping because not a terminal." +$ gosub junit_report_skip $ endif +$ return $! $rsglstdin: $ echo "''test'" +$ classname="gawk_ext" $ set noOn $ define/user sys$input rsgetline.in $ gawk -f rsgetline.awk 2>&1 > _'test'.tmp $ if .not. $status then call exit_code '$status' _'test'.tmp $ set On +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp; +$ if $status +$ then +$ rm _'test'.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $! $genpot: $ echo "''test'" +$ classname="gawk_ext" $ set noOn $ gawk -f 'test'.awk --gen-pot 2>&1 >_'test'.tmp $ if .not. $status then call exit_code '$status' _'test'.tmp $ set On $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp; +$ if $status +$ then +$ rm _'test'.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $! $paramasfunc1: $paramasfunc2: $ echo "''test'" +$ classname="basic" $ set noOn $ gawk -f 'test'.awk --posix 2>&1 >_'test'.tmp $ if .not. $status then call exit_code '$status' _'test'.tmp $ set On $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp; +$ if $status +$ then +$ rm _'test'.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $! $watchpoint1: $ echo "''test'" +$ classname="gawk_ext" $ set noOn $ gawk "-D" -f 'test'.awk 'test'.in < 'test'.script 2>&1 >_'test'.tmp $ if .not. $status then call exit_code '$status' _'test'.tmp $ set On $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp; +$ if $status +$ then +$ rm _'test'.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $! $! $! $fork: ! 4.0.2 $fork2: ! 4.0.2 -$ echo "''test' not implemented on VMS skipped" +$ classname="shlib" +$ skip_reasons = "''test' not implemented on VMS" +$ gosub junit_report_skip $ return $! $testext: -$ set process/parse=extended ! ODS-5 only $ echo "''test'" +$ classname="shlib" +$ if arch_name .eqs. "VAX" +$ then +$ skip_reason = "ODS-5 required" +$ gosub junit_report_skip +$ return +$ endif +$ set process/parse=extended ! ODS-5 only $ gawk "/^(@load|BEGIN)/,/^}/" [-.extension]'test'.c > _'test'.awk $ set noOn $ AWKLIBPATH_dir @@ -583,16 +782,26 @@ $ gawk "{gsub(""no children"",""No child processes"")}1" - $ rm sys$disk:[]_'test'.tmp;* $ mv sys$disk:[]_'test'.tmp1 sys$disk:[]_'test'.tmp $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp; +$ if $status +$ then +$ rm _'test'.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ set On $ return $! $double1: $double2: -$ echo "''test' skipped" +$ echo "''test'" +$ test_class = "hardware" +$ skip_reason = "skipped" +$ gosub junit_report_skip $ return $ $getline5: echo "''test'" +$ test_class = "basic" $ ! Use of echo and rm inside the awk script makes it necessary $ ! for some temporary redefinitions. The VMS gawk.exe also creates $ ! multiple output files. Only the first contains the data. @@ -606,7 +815,13 @@ $ rm = old_rm $ delsym old_echo $ delsym old_rm $ cmp 'test'.ok sys$disk:[]_'test'.tmp;1 -$ if $status then rm _'test'.tmp;*,f.;* +$ if $status +$ then +$ rm _'test'.tmp;*,f.;* +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $msg: @@ -647,20 +862,41 @@ $ gawk -f printlang.awk $ return $ $poundbang: +$ echo "''test'" +$ test_class = "unix_tests" +$ skip_reason = "not supported" +$ gosub junit_report_skip +$ return +$! $pty1: -$ echo "''test': not supported" +$ echo "''test'" +$ test_class = "gawk_ext" +$ skip_reason = "not supported" +$ gosub junit_report_skip $ return $! $rscompat: $ echo "''test'" +$ test_class = "basic" $ gawk --traditional -f 'test'.awk 'test'.in >_'test'.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp; +$ if $status +$ then +$ rm _'test'.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $! $ $ $messages: echo "''test'" +$ test_class = "basic" $ set noOn $ gawk -f 'test'.awk > _out2 >& _out3 $ cmp out1.ok sys$disk:[]_out1. @@ -668,64 +904,140 @@ $ if $status then rm _out1.; $ cmp out2.ok sys$disk:[]_out2. $ if $status then rm _out2.; $ cmp out3.ok sys$disk:[]_out3. -$ if $status then rm _out3.; +$ if $status +$ then +$ rm _out3.; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ set On $ return $ $argarray: echo "argarray" +$ test_class = "basic" $ define/User TEST "test" !this is useless... $ gawk -f argarray.awk ./argarray.in - >_argarray.tmp just a test +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp argarray.ok sys$disk:[]_argarray.tmp -$ if $status then rm _argarray.tmp; +$ if $status +$ then +$ rm _argarray.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $fstabplus: echo "fstabplus" +$ test_class = "basic" $ gawk -f fstabplus.awk >_fstabplus.tmp 1 2 +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp fstabplus.ok sys$disk:[]_fstabplus.tmp -$ if $status then rm _fstabplus.tmp; +$ if $status +$ then +$ rm _'test'.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $longwrds: echo "longwrds" +$ test_class = "basic" $ gawk -v "SORT=sort sys$input: _longwrds.tmp" -f longwrds.awk longwrds.in >_NL: $ cmp longwrds.ok sys$disk:[]_longwrds.tmp -$ if $status then rm _longwrds.tmp; +$ if $status +$ then +$ rm _longwrds.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $fieldwdth: echo "fieldwdth" +$ test_class = "gawk_ext" $ gawk -v "FIELDWIDTHS=2 3 4" "{ print $2}" >_fieldwdth.tmp 123456789 +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp fieldwdth.ok sys$disk:[]_fieldwdth.tmp -$ if $status then rm _fieldwdth.tmp; +$ if $status +$ then +$ rm _fieldwdth.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $ignrcase: echo "ignrcase" +$ test_class = "gawk_ext" $ gawk -v "IGNORECASE=1" "{ sub(/y/, """"); print}" >_ignrcase.tmp xYz +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp ignrcase.ok sys$disk:[]_ignrcase.tmp -$ if $status then rm _ignrcase.tmp; +$ if $status +$ then +$ rm _ignrcase.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $regtest: +$ echo "regtest" +$ test_class = "extra" $ if f$search("regtest.com").eqs."" -$ then echo "regtest: not available" -$ else echo "regtest" +$ then +$ skip_reason = "Not implemented on VMS" +$ gosub junit_report_skip +$ else +$ echo "regtest" $ echo "Some of the output from regtest is very system specific, do not" $ echo "be distressed if your output differs from that distributed." $ echo "Manual inspection is called for." $ @regtest.com +$ skip_reason = "Not implemented on VMS" +$ gosub junit_report_skip $ endif $ return $ $posix: echo "posix" +$ test_class = "gawk_ext" $ gawk -f posix.awk >_posix.tmp 1:2,3 4 +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp posix.ok sys$disk:[]_posix.tmp -$ if $status then rm _posix.tmp; +$ if $status +$ then +$ rm _posix.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $manyfiles: echo "manyfiles" +$ test_class = "gawk_ext" $!! this used to use a hard-coded value of 300 simultaneously open $!! files, but if our open file quota is generous enough then that $!! wouldn't exercise the ability to handle more than the maximum @@ -741,7 +1053,6 @@ $ gawk -- "BEGIN {for (i = 1; i <= ''f_cnt'; i++) print i, i}" >_manyfiles.dat $ echo "(processing ''f_cnt' files; this may take quite a while)" $ set noOn ! continue even if gawk fails $ gawk -f manyfiles.awk _manyfiles.dat _manyfiles.dat -$ set On $ define/User sys$error _NL: $ define/User sys$output _manyfiles.tmp $ search/Match=Nor/Output=_NL:/Log [.junk]*.* "" @@ -751,103 +1062,230 @@ $deck !some input begins with "$" $4 != 2 {++count} END {if (NR != F_CNT+1 || count != 1) {print "\nFailed!"}} $eod +$ set On +$ skip_reason = "Test detection not implemented yet" +$ gosub junit_report_skip $ rm _manyfiles.tmp;,_manyfiles.dat;,[.junk]*.*;*,[]junk.dir; $ return $ $compare: echo "compare" +$ test_class = "basic" $ gawk -f compare.awk 0 1 compare.in >_compare.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp compare.ok sys$disk:[]_compare.tmp -$ if $status then rm _compare.tmp; +$ if $status +$ then +$ rm _compare.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $rs: echo "rs" +$ test_class = "basic" $ gawk -v "RS=" "{ print $1, $2}" rs.in >_rs.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp rs.ok sys$disk:[]_rs.tmp -$ if $status then rm _rs.tmp; +$ if $status +$ then +$ rm _rs.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $fsbs: echo "fsbs" +$ test_class = "basic" $ gawk -v "FS=\" "{ print $1, $2 }" fsbs.in >_fsbs.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp fsbs.ok sys$disk:[]_fsbs.tmp -$ if $status then rm _fsbs.tmp; +$ if $status +$ then +$ rm _fsbs.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $inftest: echo "inftest" +$ test_class = "extra" $ !! echo "This test is very machine specific..." $ set noOn $ gawk -f inftest.awk >_inftest.tmp $ !! cmp inftest.ok sys$disk:[]_inftest.tmp !just care that gawk doesn't crash... -$ if $status then rm _inftest.tmp; +$ if $status +$ then +$ rm _inftest.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ set On $ return $ $getline2: echo "getline2" +$ test_class = "basic" $ gawk -f getline2.awk getline2.awk getline2.awk >_getline2.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp getline2.ok sys$disk:[]_getline2.tmp -$ if $status then rm _getline2.tmp; +$ if $status +$ then +$ rm _getline2.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $rand: echo "rand" +$ test_class = "basic" $ echo "The following line should just be 19 random numbers between 1 and 100" $ echo "" $ gawk -f rand.awk +$ skip_reason = "Test detection not implemented yet" +$ gosub junit_report_skip $ return $ $negexp: echo "negexp" +$ test_class = "basic" $ gawk "BEGIN { a = -2; print 10^a }" >_negexp.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp negexp.ok sys$disk:[]_negexp.tmp -$ if $status then rm _negexp.tmp; +$ if $status +$ then +$ rm _negexp.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $awkpath: echo "awkpath" +$ test_class = "basic" $ define/User AWK_LIBRARY [],[.lib] $ gawk -f awkpath.awk >_awkpath.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp awkpath.ok sys$disk:[]_awkpath.tmp -$ if $status then rm _awkpath.tmp; +$ if $status +$ then +$ rm _awkpath.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $argtest: echo "argtest" +$ test_class = "gawk_ext" $ gawk -f argtest.awk -x -y abc >_argtest.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp argtest.ok sys$disk:[]_argtest.tmp -$ if $status then rm _argtest.tmp; +$ if $status +$ then +$ rm _argtest.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $badargs: echo "badargs" +$ test_class = "gawk_ext" $ on error then continue $ gawk -f 2>&1 >_badargs.too +$ if f$search("sys$disk:[]_''test'.too;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.too;2 +$ endif $! search/Match=Nor _badargs.too "patchlevel" /Output=_badargs.tmp $ gawk "/patchlevel/{next}; {gsub(""\"""",""'""); print}" <_badargs.too >_badargs.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp badargs.ok sys$disk:[]_badargs.tmp -$ if $status then rm _badargs.tmp;,_badargs.too; +$ if $status +$ then +$ rm _badargs.tmp;,_badargs.too; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $nonl: echo "nonl" +$ test_class = "basic" $ ! This one might fail, depending on the tool used to unpack the $ ! distribution. Some will add a final newline if the file lacks one. $ AWKPATH_srcdir $ gawk --lint -f nonl.awk _NL: >_nonl.tmp 2>&1 $ cmp nonl.ok sys$disk:[]_nonl.tmp -$ if $status then rm _nonl.tmp; +$ if $status +$ then +$ rm _nonl.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $defref: echo "defref" +$ test_class = "basic" $ set noOn $ AWKPATH_srcdir $ gawk --lint -f defref.awk >_defref.tmp 2>&1 $ if .not. $status then call exit_code '$status' _defref.tmp $ set On $ cmp defref.ok sys$disk:[]_defref.tmp -$ if $status then rm _defref.tmp; +$ if $status +$ then +$ rm _defref.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $nofmtch: echo "nofmtch" +$ test_class = "basic" $ AWKPATH_srcdir $ gawk --lint -f nofmtch.awk >_nofmtch.tmp 2>&1 $ cmp nofmtch.ok sys$disk:[]_nofmtch.tmp -$ if $status then rm _nofmtch.tmp; +$ if $status +$ then +$ rm _nofmtch.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $strftime: echo "strftime" +$ test_class = "gawk_ext" $ ! this test could fail on slow machines or on a second boundary, $ ! so if it does, double check the actual results $ ! This test needs SYS$TIMEZONE_NAME and SYS$TIMEZONE_RULE @@ -856,7 +1294,8 @@ $ ! This test now needs GNV Corutils to work $ date_bin = "gnv$gnu:[bin]gnv$date.exe" $ if f$search(date_bin) .eqs. "" $ then -$ echo "''test' skipped" +$ skip_reason = "Need GNV Coreutils gnv$date.exe" +$ gosub junit_report_skip $ return $ endif $ date := $'date_bin' @@ -877,100 +1316,192 @@ $ close ftmp $ gawk -v "OUTPUT"=_strftime.tmp -f strftime.awk strftime.in $ set noOn $ cmp strftime.ok sys$disk:[]_strftime.tmp -$ if $status then rm _strftime.tmp;,strftime.ok;*,strftime.in;* +$ if $status +$ then +$ rm _strftime.tmp;,strftime.ok;*,strftime.in;* +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ set On $ return $ $litoct: echo "litoct" +$ test_class = "basic" $ gawk --traditional -f litoct.awk >_litoct.tmp ab +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp litoct.ok sys$disk:[]_litoct.tmp -$ if $status then rm _litoct.tmp; +$ if $status +$ then +$ rm _litoct.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $resplit: echo "resplit" +$ test_class = "gawk_ext" $ gawk -- "{ FS = "":""; $0 = $0; print $2 }" >_resplit.tmp a:b:c d:e:f +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp resplit.ok sys$disk:[]_resplit.tmp -$ if $status then rm _resplit.tmp; +$ if $status +$ then +$ rm _resplit.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $intprec: echo "intprec" +$ test_class = "basic" $ gawk -f intprec.awk >_intprec.tmp 2>&1 $ cmp intprec.ok sys$disk:[]_intprec.tmp -$ if $status then rm _intprec.tmp; +$ if $status +$ then +$ rm _intprec.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $incdupe: echo "''test'" +$ test_class = "gawk_ext" $ set noOn $ gawk --lint -i inclib -i inclib.awk "BEGIN {print sandwich(""a"", ""b"", ""c"")}" > _'test'.tmp 2>&1 $ if .not. $status then call exit_code '$status' _'test'.tmp $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp;* +$ if $status +$ then +$ rm _'test'.tmp;* +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ set On $ return $ $incdupe2: echo "''test'" +$ test_class = "gawk_ext" $ set noOn $ gawk --lint -f inclib -f inclib.awk >_'test'.tmp 2>&1 $ if .not. $status then call exit_code '$status' _'test'.tmp $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp;* +$ if $status +$ then +$ rm _'test'.tmp;* +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ set On $ return $ $incdupe3: echo "''test'" +$ test_class = "gawk_ext" $ gawk --lint -f hello -f hello.awk >_'test'.tmp 2>&1 $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp;* +$ if $status +$ then +$ rm _'test'.tmp;* +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $incdupe4: echo "''test'" +$ test_class = "gawk_ext" $ set NoOn $ gawk --lint -f hello -i hello.awk >_'test'.tmp 2>&1 $ if .not. $status then call exit_code '$status' _'test'.tmp $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp;* +$ if $status +$ then +$ rm _'test'.tmp;* +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ set On $ return $ $incdupe5: echo "''test'" +$ test_class = "gawk_ext" $ set NoOn $ gawk --lint -i hello -f hello.awk >_'test'.tmp 2>&1 $ if .not. $status then call exit_code '$status' _'test'.tmp $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp;* +$ if $status +$ then +$ rm _'test'.tmp;* +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ set On $ return $ $incdupe6: echo "''test'" +$ test_class = "gawk_ext" $ set NoOn $ gawk --lint -i inchello -f hello.awk >_'test'.tmp 2>&1 $ if .not. $status then call exit_code '$status' _'test'.tmp $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp;* +$ if $status +$ then +$ rm _'test'.tmp;* +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ set On $ return $ $incdupe7: echo "''test'" +$ test_class = "gawk_ext" $ set NoOn $ gawk --lint -f hello -i inchello >_'test'.tmp 2>&1 $ if .not. $status then call exit_code '$status' _'test'.tmp $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp;* +$ if $status +$ then +$ rm _'test'.tmp;* +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ set On $ return $ $include2: echo "''test'" +$ test_class = "gawk_ext" $ gawk -i inclib "BEGIN {print sandwich(""a"", ""b"", ""c"")}" >_'test'.tmp 2>&1 $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp;* +$ if $status +$ then +$ rm _'test'.tmp;* +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $id: $symtab1: $symtab2: $symtab3: echo "''test'" +$ test_class = "gawk_ext" $ set noOn $ old_sort = sort $ sort = "@sys$disk:[-.vms]vms_sort.com" @@ -978,37 +1509,68 @@ $ gawk -f 'test'.awk >_'test'.tmp 2>&1 $ if .not. $status then call exit_code '$status' _'test'.tmp $ sort = old_sort $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp;* +$ if $status +$ then +$ rm _'test'.tmp;* +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ set On $ return $ $symtab4: $symtab5: $symtab7: echo "''test'" +$ test_class = "gawk_ext" $ set noOn $ gawk -f 'test'.awk <'test'.in >_'test'.tmp 2>&1 $ if .not. $status then call exit_code '$status' _'test'.tmp $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp;* +$ if $status +$ then +$ rm _'test'.tmp;* +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ set On $ return $ $symtab6: echo "''test'" +$ test_class = "gawk_ext" $ set noOn $ gawk -d__'test'.tmp -f 'test'.awk $ pipe search __'test'.tmp "ENVIRON","PROCINFO" /match=nor > _'test'.tmp $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp;*,__'test'.tmp;* +$ if $status +$ then +$ rm _'test'.tmp;*,__'test'.tmp;* +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ set On $ return $ $symtab8: echo "''test'" +$ test_class = "gawk_ext" $ set noOn $ gawk -d__'test'.tmp -f 'test'.awk 'test'.in > _'test'.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ pipe search __'test'.tmp "ENVIRON","PROCINFO","FILENAME" /match=nor > ___'test'.tmp $ convert/append ___'test'.tmp _'test'.tmp $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp;*,__'test'.tmp;*,___'test'.tmp;* +$ if $status +$ then +$ rm _'test'.tmp;*,__'test'.tmp;*,___'test'.tmp;* +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ set On $ return $ @@ -1021,170 +1583,378 @@ $! Additionally each awk "system" call results in a new version of the output fi $! so we need to compensate for that as well. $!----------------------------------------------------------------------------------- $symtab9: echo "''test'" +$ test_class = "gawk_ext" $ old_rm = rm ! Remember old definition of rm $ rm = "!" ! Redefine rm to something harmless $ gawk -f 'test'.awk >_'test'.tmp $ rm = old_rm ! Restore old value $ delsym old_rm $ cmp 'test'.ok sys$disk:[]_'test'.tmp;-0 ! -0 is the lowest version -$ if $status then rm _'test'.tmp;*,testit.txt;* +$ if $status +$ then +$ rm _'test'.tmp;*,testit.txt;* +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif +$ return +$! +$symtab10: echo "''test'" +$ test_class = "gawk_ext" +$ set noOn +$ gawk "-D" -f 'test'.awk < 'test'.in > _'test'.tmp 2>&1 +$ if .not. $status then call exit_code '$status' _'test'.tmp +$ cmp 'test'.ok sys$disk:[]_'test'.tmp +$ if $status +$ then +$ rm _'test'.tmp;* +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif +$ set On $ return $ $childin: echo "''test'" +$ test_class = "basic" $ cat = "type sys$input" $ gawk -f 'test'.awk < 'test'.in > _'test'.tmp $ delsym cat +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp; +$ if $status +$ then +$ rm _'test'.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $noeffect: echo "noeffect" +$ test_class = "basic" $ AWKPATH_srcdir $ gawk --lint -f noeffect.awk >_noeffect.tmp 2>&1 $ cmp noeffect.ok sys$disk:[]_noeffect.tmp -$ if $status then rm _noeffect.tmp; +$ if $status +$ then +$ rm _noeffect.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $numsubstr: echo "numsubstr" +$ test_class = "basic" $ AWKPATH_srcdir $ gawk -f numsubstr.awk numsubstr.in >_numsubstr.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp numsubstr.ok sys$disk:[]_numsubstr.tmp -$ if $status then rm _numsubstr.tmp; +$ if $status +$ then +$ rm _numsubstr.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $prmreuse: echo "prmreuse" +$ test_class = "basic" $ if f$search("prmreuse.ok").eqs."" then create prmreuse.ok $ gawk -f prmreuse.awk >_prmreuse.tmp $ cmp prmreuse.ok sys$disk:[]_prmreuse.tmp -$ if $status then rm _prmreuse.tmp; +$ if $status +$ then +$ rm _prmreuse.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $fflush: -$ echo "fflush: not supported" +$ echo "fflush" +$ test_class = "unix_tests" +$ skip_reason = "not supported" +$ gosub junit_report_skip $ return $!!fflush: echo "fflush" $ ! hopelessly Unix-specific $!! @fflush.sh >_fflush.tmp $ cmp fflush.ok sys$disk:[]_fflush.tmp -$ if $status then rm _fflush.tmp; +$ if $status +$ then +$ rm _fflush.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $getlnhd: -$ echo "getlnhd skipped" +$ echo "getlnhd" $ !Expects a Unix shell +$ test_class = "unix_tests" +$ skip_reason = "Expects a Unix shell" +$ gosub junit_report_skip $ return $!!getlnhd: echo "getlnhd" $ gawk -f getlnhd.awk >_getlnhd.tmp $ cmp getlnhd.ok sys$disk:[]_getlnhd.tmp -$ if $status then rm _getlnhd.tmp; +$ if $status +$ then +$ rm _getlnhd.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $tweakfld: echo "tweakfld" +$ test_class = "basic" $ gawk -f tweakfld.awk tweakfld.in >_tweakfld.tmp $ if f$search("errors.cleanup").nes."" then rm errors.cleanup;* +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp tweakfld.ok sys$disk:[]_tweakfld.tmp -$ if $status then rm _tweakfld.tmp; +$ if $status +$ then +$ rm _tweakfld.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $clsflnam: echo "clsflnam" +$ test_class = "basic" $ if f$search("clsflnam.ok").eqs."" then create clsflnam.ok $ gawk -f clsflnam.awk clsflnam.in >_clsflnam.tmp 2>&1 $ cmp clsflnam.ok sys$disk:[]_clsflnam.tmp -$ if $status then rm _clsflnam.tmp; +$ if $status +$ then +$ rm _clsflnam.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $mmap8k: echo "mmap8k" +$ test_class = "basic" $ gawk "{ print }" mmap8k.in >_mmap8k.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp mmap8k.in sys$disk:[]_mmap8k.tmp -$ if $status then rm _mmap8k.tmp; +$ if $status +$ then +$ rm _mmap8k.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $eofsplit: echo "eofsplit" +$ test_class = "basic" $ if f$search("eofsplit.ok").eqs."" then create eofsplit.ok $ gawk -f eofsplit.awk >_eofsplit.tmp $ cmp eofsplit.ok sys$disk:[]_eofsplit.tmp -$ if $status then rm _eofsplit.tmp; +$ if $status +$ then +$ rm _eofsplit.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $back89: echo "back89" +$ test_class = "basic" $ gawk "/a\8b/" back89.in >_back89.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp back89.ok sys$disk:[]_back89.tmp -$ if $status then rm _back89.tmp; +$ if $status +$ then +$ rm _back89.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $tradanch: echo "tradanch" +$ test_class = "basic" $ if f$search("tradanch.ok").eqs."" then create tradanch.ok $ gawk --traditional -f tradanch.awk tradanch.in >_tradanch.tmp $ cmp tradanch.ok sys$disk:[]_tradanch.tmp -$ if $status then rm _tradanch.tmp; +$ if $status +$ then +$ rm _tradanch.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $reginttrad: echo "''test'" +$ test_class = "basic" $ gawk --traditional -r -f 'test'.awk >_'test'.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp; +$ if $status +$ then +$ rm _'test'.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $pid: echo "pid" +$ test_class = "unix_tests" $ pid = f$integer("%x" + f$getjpi("","PID")) $ ppid = f$integer("%x" + f$getjpi("","OWNER")) $ gawk -v "ok_pid=''pid'" -v "ok_ppid=''ppid'" -f pid.awk >_pid.tmp >& _NL: $ cmp pid.ok sys$disk:[]_pid.tmp -$ if $status then rm _pid.tmp; +$ if $status +$ then +$ rm _pid.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $strftlng: echo "strftlng" +$ test_class = "unix_tests" $ define/User TZ "UTC" !useless $ gawk -f strftlng.awk >_strftlng.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp strftlng.ok sys$disk:[]_strftlng.tmp -$ if $status then rm _strftlng.tmp; +$ if $status +$ then +$ rm _strftlng.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $nfldstr: echo "nfldstr" +$ test_class = "basic" $ if f$search("nfldstr.ok").eqs."" then create nfldstr.ok $ gawk "$1 == 0 { print ""bug"" }" >_nfldstr.tmp $ cmp nfldstr.ok sys$disk:[]_nfldstr.tmp -$ if $status then rm _nfldstr.tmp; +$ if $status +$ then +$ rm _nfldstr.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $nors: echo "nors" +$ test_class = "basic" $!! there's no straightforward way to supply non-terminated input on the fly $!! @echo A B C D E | tr -d '\12' | $(AWK) '{ print $$NF }' - $(srcdir)/nors.in > _$@ $!! so just read a line from sys$input instead $ gawk "{ print $NF }" - nors.in >_nors.tmp A B C D E +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp nors.ok sys$disk:[]_nors.tmp -$ if $status then rm _nors.tmp; +$ if $status +$ then +$ rm _nors.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $reint: echo "reint" +$ test_class = "gawk_ext" $ gawk --re-interval -f reint.awk reint.in >_reint.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp reint.ok sys$disk:[]_reint.tmp -$ if $status then rm _reint.tmp; +$ if $status +$ then +$ rm _reint.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $noparms: echo "noparms" +$ test_class = "basic" $ set noOn $ AWKPATH_srcdir $ gawk -f noparms.awk >_noparms.tmp 2>&1 $ if .not. $status then call exit_code '$status' _noparms.tmp $ set On $ cmp noparms.ok sys$disk:[]_noparms.tmp -$ if $status then rm _noparms.tmp; +$ if $status +$ then +$ rm _noparms.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $pipeio1: echo "pipeio1" +$ test_class = "unix_tests" $ cat = "TYPE" !close enough, as long as we avoid .LIS default suffix $ define/User test1 []test1. $ define/User test2 []test2. $ gawk -f pipeio1.awk >_pipeio1.tmp $ rm test1.;,test2.; +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp pipeio1.ok sys$disk:[]_pipeio1.tmp -$ if $status then rm _pipeio1.tmp; +$ if $status +$ then +$ rm _pipeio1.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $pipeio2: +$ test_class = "unix_tests" $ echo "pipeio2 skipped" $ ! Expects the sed utility and Posix shell $ return @@ -1193,148 +1963,275 @@ $ cat = "gawk -- {print}" $ tr = "??" !unfortunately, no trivial substitution available... $ gawk -v "SRCDIR=." -f pipeio2.awk >_pipeio2.tmp $ cmp pipeio2.ok sys$disk:[]_pipeio2.tmp -$ if $status then rm _pipeio2.tmp; +$ if $status +$ then +$ rm _pipeio2.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $clobber: echo "clobber" +$ test_class = "basic" $ gawk -f clobber.awk >_clobber.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp clobber.ok sys$disk:[]seq. $ if $status then rm seq.;* $ cmp clobber.ok sys$disk:[]_clobber.tmp -$ if $status then rm _clobber.tmp; +$ if $status +$ then +$ rm _clobber.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $nasty: echo "nasty" +$ test_class = "basic" $ set noOn $ gawk -f nasty.awk >_nasty.tmp $ call fixup_LRL nasty.ok $ call fixup_LRL _nasty.tmp "purge" +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp nasty.ok sys$disk:[]_nasty.tmp $ if $status $ then $ rm _nasty.tmp; $ file = "lcl_root:[]nasty.ok" $ if f$search(file) .nes. "" then rm 'file';* +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff $ endif $ set On $ return $ $nasty2: echo "nasty2" +$ test_class = "basic" $ set noOn $ gawk -f nasty2.awk >_nasty2.tmp $ call fixup_LRL nasty2.ok $ call fixup_LRL _nasty2.tmp "purge" +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp nasty2.ok sys$disk:[]_nasty2.tmp $ if $status $ then $ rm _nasty2.tmp; $ file = "lcl_root:[]nasty2.ok" $ if f$search(file) .nes. "" then rm 'file';* +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff $ endif $ set On $ return $ -$aadelete1: -$aadelete2: $arrayparm: $fnaryscl: -$functab1: -$functab2: -$functab3: -$nastyparm: $opasnslf: $opasnidx: $printfbad1: $prmarscl: $subslash: +$ test_class = "basic" +$ goto test_error_capture1 +$! +$functab1: +$functab2: +$functab3: +$aadelete1: +$aadelete2: +$nastyparm: +$ test_class = "gawk_ext" +$ goto test_error_capture1 +$! +$test_error_capture1: $ echo "''test'" $ set noOn $ gawk -f 'test'.awk >_'test'.tmp 2>&1 $ if .not. $status then call exit_code '$status' _'test'.tmp $ set On $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp; +$ if $status +$ then +$ rm _'test'.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $arynocls: echo "arynocls" +$ test_class = "basic" $ gawk -v "INPUT"=arynocls.in -f arynocls.awk >_arynocls.tmp $ cmp arynocls.ok sys$disk:[]_arynocls.tmp -$ if $status then rm _arynocls.tmp; +$ if $status +$ then +$ rm _arynocls.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $getlnbuf: echo "getlnbuf" +$ test_class = "basic" $ gawk -f getlnbuf.awk getlnbuf.in >_getlnbuf.tmp $ gawk -f gtlnbufv.awk getlnbuf.in >_getlnbuf.too +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp getlnbuf.ok sys$disk:[]_getlnbuf.tmp $ if $status then rm _getlnbuf.tmp; +$ if f$search("sys$disk:[]_''test'.too;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.too;2 +$ endif $ cmp getlnbuf.ok sys$disk:[]_getlnbuf.too -$ if $status then rm _getlnbuf.too; +$ if $status +$ then +$ rm _getlnbuf.too; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $lint: echo "lint" +$ test_class = "gawk_ext" $ AWKPATH_srcdir $ gawk -f lint.awk >_lint.tmp 2>&1 $ cmp lint.ok sys$disk:[]_lint.tmp -$ if $status then rm _lint.tmp; +$ if $status +$ then +$ rm _lint.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $lintold: echo "lintold" +$ test_class = "gawk_ext" $ AWKPATH_srcdir $ gawk -f lintold.awk --lint-old <lintold.in >_lintold.tmp 2>&1 $ cmp lintold.ok sys$disk:[]_lintold.tmp -$ if $status then rm _lintold.tmp; +$ if $status +$ then +$ rm _lintold.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $ofmtbig: echo "ofmtbig" +$ test_class = "basic" $ set noOn $ gawk -f ofmtbig.awk ofmtbig.in >_ofmtbig.tmp 2>&1 $ set On $ cmp ofmtbig.ok sys$disk:[]_ofmtbig.tmp -$ if $status then rm _ofmtbig.tmp; +$ if $status +$ then +$ rm _ofmtbig.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $inetechu: echo "inetechu" +$ test_class = "inet" $ echo "this test is for establishing UDP connections" $ set noOn $ gawk -- "BEGIN {print """" |& ""/inet/udp/0/127.0.0.1/9""}" +$ ! report skip as we do not validate yet. +$ skip_reason = "Test not validated." +$ gosub junit_report_skip $ set On $ return $ $inetecht: echo "inetecht" +$ test_class = "inet" $ echo "this test is for establishing TCP connections" $ set noOn $ gawk -- "BEGIN {print """" |& ""/inet/tcp/0/127.0.0.1/9""}" +$ ! report skip as we do not validate yet. +$ skip_reason = "Test not validated." +$ gosub junit_report_skip $ set On $ return $ $inetdayu: echo "inetdayu" +$ test_class = "inet" $ echo "this test is for bidirectional UDP transmission" $ set noOn $ gawk -f - _NL: BEGIN { print "" |& "/inet/udp/0/127.0.0.1/13"; "/inet/udp/0/127.0.0.1/13" |& getline; print $0} +$ ! report skip as we do not validate yet. +$ skip_reason = "Test not validated." +$ gosub junit_report_skip $ set On $ return $ $inetdayt: echo "inetdayt" +$ test_class = "inet" $ echo "this test is for bidirectional TCP transmission" $ set noOn $ gawk -f - _NL: BEGIN { print "" |& "/inet/tcp/0/127.0.0.1/13"; "/inet/tcp/0/127.0.0.1/13" |& getline; print $0} +$ ! report skip as we do not validate yet. +$ skip_reason = "Test not validated." +$ gosub junit_report_skip $ set On $ return $ $redfilnm: echo "redfilnm" +$ test_class = "basic" $ gawk -f redfilnm.awk srcdir="." redfilnm.in >_redfilnm.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp redfilnm.ok sys$disk:[]_redfilnm.tmp -$ if $status then rm _redfilnm.tmp; +$ if $status +$ then +$ rm _redfilnm.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $leaddig: echo "leaddig" +$ test_class = "basic" $ gawk -v "x=2E" -f leaddig.awk >_leaddig.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp leaddig.ok sys$disk:[]_leaddig.tmp -$ if $status then rm _leaddig.tmp; +$ if $status +$ then +$ rm _leaddig.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $clos1way: @@ -1342,34 +2239,58 @@ $clos1way2: $clos1way3: $clos1way4: $clos1way5: -$ echo "''test': not supported" +$ test_class = "gawk_ext" +$ echo "''test'" +$ skip_reason = "Test not supported." +$ gosub junit_report_skip $ return $#clos1way: echo "''test'" $ gawk -f clos1way.awk >_clos1way.tmp $ cmp clos1way.ok sys$disk:[]_clos1way.tmp -$ if $status then rm _clos1way.tmp; +$ if $status +$ then +$ rm _clos1way.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $shadow: echo "shadow" +$ test_class = "gawk_ext" $ set noOn $ AWKPATH_srcdir $ gawk --lint -f shadow.awk >_shadow.tmp 2>&1 $ set On $ cmp shadow.ok sys$disk:[]_shadow.tmp -$ if $status then rm _shadow.tmp; +$ if $status +$ then +$ rm _shadow.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $lintwarn: echo "lintwarn" +$ test_class = "basic" $ set noOn $ AWKPATH_srcdir $ gawk --lint -f lintwarn.awk >_lintwarn.tmp 2>&1 $ if .not. $status then call exit_code '$status' _lintwarn.tmp $ set On $ cmp lintwarn.ok sys$disk:[]_lintwarn.tmp -$ if $status then rm _lintwarn.tmp; +$ if $status +$ then +$ rm _lintwarn.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $longsub: echo "longsub" +$ test_class = "basic" $ set noOn $ gawk -f longsub.awk longsub.in >_longsub.tmp $!! the records here are too long for DIFF to handle @@ -1377,14 +2298,31 @@ $!! so assume success as long as gawk doesn't crash $!! call fixup_LRL longsub.ok $!! call fixup_LRL _longsub.tmp "purge" $!! cmp longsub.ok sys$disk:[]_longsub.tmp -$ if $status then rm _longsub.tmp; +$ if $status +$ then +$ rm _longsub.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ set On $ return $ $arrayprm3: echo "arrayprm3" +$ test_class = "basic" $ gawk -f arrayprm3.awk arrayprm3.in >_arrayprm3.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp arrayprm3.ok sys$disk:[]_arrayprm3.tmp -$ if $status then rm _arrayprm3.tmp; +$ if $status +$ then +$ rm _arrayprm3.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $arryref3: @@ -1404,16 +2342,26 @@ $scalar: $sclforin: $sclifin: $ echo "''test'" +$ test_class = "basic" $ set noOn $ gawk -f 'test'.awk 'test'.in >_'test'.tmp 2>&1 $ if .not. $status then call exit_code '$status' _'test'.tmp $ set On $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp; +$ if $status +$ then +$ rm _'test'.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $! $sigpipe1: -$ echo "''test': not supported" +$ test_class = "basic" +$ echo "''test'" +$ skip_reason = "Test not supported." +$ gosub junit_report_skip $ return $ $ ! @@ -1425,11 +2373,18 @@ $ gawk -f 'test'.awk <'test'.in >_'test'.tmp 2>&1 $ if .not. $status then call exit_code '$status' _'test'.tmp $ set On $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp; +$ if $status +$ then +$ rm _'test'.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $exitval2: $ echo "''test'" +$ test_class = "basic" $ cmdfile = "sys$disk:[]_''test'.com" $ if f$search(cmdfile) .nes. "" then delete 'cmdfile';* $ open/write xxx 'cmdfile' @@ -1450,18 +2405,28 @@ $ if $status $ then $ rm _'test'.tmp;* $ if f$search(cmdfile) .nes. "" then rm 'cmdfile';* +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff $ endif $ return $! $exitval3: $ echo "''test'" +$ test_class = "basic" $ set noOn $ gawk -f 'test'.awk >_'test'.tmp $ ! Unix exit 42 is VMS %x003A151 $ if $status .ne. 1 then call exit_code '$status' _'test'.tmp $ set On $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp; +$ if $status +$ then +$ rm _'test'.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $! $! @@ -1474,31 +2439,59 @@ $fnmisc: $gsubasgn: $unterm: $ echo "''test'" +$ test_class = "basic" $ set noOn $ gawk -f 'test'.awk 'test'.in >_'test'.tmp 2>&1 $ if .not. $status then call exit_code '$status' _'test'.tmp $ set On $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp; +$ if $status +$ then +$ rm _'test'.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ -$getline: echo "getline skipped" +$getline: echo "getline" +$ test_class = "basic" $ !Expects a Unix shell +$ skip_reason = "Requires a Unix shell." +$ gosub junit_report_skip $ return $!!getline: echo "getline" $ gawk -f getline.awk getline.in >_getline.tmp $ cmp getline.ok sys$disk:[]_getline.tmp -$ if $status then rm _getline.tmp; +$ if $status +$ then +$ rm _getline.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $gsubtst3: echo "gsubtst3" +$ test_class = "basic" $ gawk --re-interval -f gsubtst3.awk gsubtst3.in >_gsubtst3.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp gsubtst3.ok sys$disk:[]_gsubtst3.tmp -$ if $status then rm _gsubtst3.tmp; +$ if $status +$ then +$ rm _gsubtst3.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $! FIXME: gawk generates an extra, empty output file while running this test... $iobug1: echo "iobug1" +$ test_class = "basic" $ cat = "TYPE sys$input:" $ true = "exit 1" !success $ oldout = f$search("_iobug1.tmp;") @@ -1506,50 +2499,83 @@ $ gawk -f iobug1.awk iobug1.in >_iobug1.tmp $ badout = f$search("_iobug1.tmp;-1") $ if badout.nes."" .and. badout.nes.oldout then rm 'badout' $ cmp iobug1.ok sys$disk:[]_iobug1.tmp -$ if $status then rm _iobug1.tmp; +$ if $status +$ then +$ rm _iobug1.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $rstest4: $ echo "rstest4" +$ test_class = "basic" $ old_echo = echo $ echo = "write sys$output """ $ gawk -f rstest4.awk >_rstest4.tmp1 +$ if f$search("sys$disk:[]_''test'.tmp1;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp1;2 +$ endif $ echo = old_echo $ gawk "{gsub(""< A>"",""<a>"")}1" _'test'.tmp1 >_'test'.tmp $ rm sys$disk:[]_'test'.tmp1;* +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp rstest4.ok sys$disk:[]_rstest4.tmp -$ if $status then rm _rstest4.tmp; +$! if $status then rm _rstest4.tmp; +$ if $status +$ then +$ rm _'test'.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $rstest5: $ echo "rstest5" +$ test_class = "basic" $ old_echo = echo $ echo = "write sys$output """ $ gawk -f rstest5.awk >_rstest5.tmp1 +$ if f$search("sys$disk:[]_''test'.tmp1;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp1;2 +$ endif $ echo = old_echo $ gawk "{gsub("" '"","""");gsub(""'"","""")}1" _'test'.tmp1 >_'test'.tmp $ rm sys$disk:[]_'test'.tmp1;* +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp rstest5.ok sys$disk:[]_rstest5.tmp -$ if $status then rm _rstest5.tmp; +$ if $status +$ then +$ rm _rstest5.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $fcall_exit: $fnarray: $funsmnam: -$match2: $paramdup: $paramres: $parseme: $synerr1: $synerr2: -$ echo "''test'" -$ set noOn -$ gawk -f 'test'.awk >_'test'.tmp 2>&1 -$ if .not. $status then call exit_code '$status' _'test'.tmp -$ set On -$ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp; -$ return +$ test_class = "basic" +$ goto test_error_capture1 +$match2: +$ test_class = "gawk_ext" +$ goto test_error_capture1 $! $uninit2: $uninit3: @@ -1557,12 +2583,20 @@ $uninit4: $uninit5: $uninitialized: $ echo "''test'" +$ test_class = "basic" $ gawk --lint -f 'test'.awk 'test'.in >_'test'.tmp 2>&1 $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp; +$ if $status +$ then +$ rm _'test'.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $space: echo "space" +$ test_class = "unix_tests" $ set noOn $ gawk -f " " space.awk >_space.tmp 2>&1 $ if .not. $status then call exit_code '$status' _space.tmp @@ -1570,21 +2604,43 @@ $ set On $! we get a different error from what space.ok expects $ gawk "{gsub(""file specification syntax error"", ""no such file or directory""); print}" - _space.tmp >_space.too +$ if f$search("sys$disk:[]_''test'.too;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.too;2 +$ endif $ rm _space.tmp; $ mv _space.too _space.tmp $ igncascmp space.ok sys$disk:[]_space.tmp -$ if $status then rm _space.tmp; +$ if $status +$ then +$ rm _space.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $posix2008sub: $printf0: $ echo "''test'" +$ test_class = "basic" $ gawk --posix -f 'test'.awk >_'test'.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp; +$ if $status +$ then +$ rm _'test'.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $rsnulbig: echo "rsnulbig" +$ test_class = "basic" $ if .not.pipeok $ then echo "Without the PIPE command, ''test' can't be run." $ On warning then return @@ -1600,10 +2656,17 @@ $ pipe - gawk -- "/^[^a]/; END {print NR}" >_rsnulbig.tmp $ set On $ cmp rsnulbig.ok sys$disk:[]_rsnulbig.tmp -$ if $status then rm _rsnulbig.tmp; +$ if $status +$ then +$ rm _rsnulbig.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $rsnulbig2: echo "rsnulbig2" +$ test_class = "basic" $ if .not.pipeok $ then echo "Without the PIPE command, ''test' can't be run." $ On warning then return @@ -1619,26 +2682,44 @@ $ pipe - gawk -- "/^[^a]/; END {print NR}" >_rsnulbig2.tmp $ set On $ cmp rsnulbig2.ok sys$disk:[]_rsnulbig2.tmp -$ if $status then rm _rsnulbig2.tmp; +$ if $status +$ then +$ rm _rsnulbig2.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $backbigs1: ! 4.1.1 -$ echo "''test' skipped' +$ test_class = "charset_tests" +$ echo "''test'" $ ! needs a locale not on VMS currently +$ skip_reason = "Needs locale not on VMS Currently" +$ gosub junit_report_skip $ return $! $backsmalls1: +$ test_class = "charset_tests" $ gosub define_gawklocale $ if f$trnlnm("LC_ALL") .nes. "utf8-50" $ then -$ echo "''test' skipping" +$ echo "''test'" +$ skip_reason = "Needs utf8-50 locale." +$ gosub junit_report_skip $ return $ else $ echo "''test'" $ endif $ gawk -f 'test'.awk 'test'.in >_'test'.tmp $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp; +$ if $status +$ then +$ rm _'test'.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $! $subamp: @@ -1646,54 +2727,122 @@ $wideidx: $widesub2: $widesub3: $ echo "''test'" +$ test_class = "basic" $ gosub define_gawklocale $ gawk -f 'test'.awk 'test'.in >_'test'.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp; +$ if $status +$ then +$ rm _'test'.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $ignrcas2: +$ test_class = "gawk_ext" +$ goto wide_tests_1 $wideidx2: $widesub: $widesub4: +$ test_class = "basic" +$ goto wide_tests_1 +$! +$wide_tests_1: $ echo "''test'" $ gosub define_gawklocale $ gawk -f 'test'.awk >_'test'.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp; +$ if $status +$ then +$ rm _'test'.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $! This test is somewhat suspect for vms due to exit code manipulation $exitval1: echo "exitval1" +$ test_class = "basic" $ gawk -f exitval1.awk >_exitval1.tmp 2>&1 $ if $status then call exit_code '$status' _exitval1.tmp $ cmp exitval1.ok sys$disk:[]_exitval1.tmp -$ if $status then rm _exitval1.tmp; +$ if $status +$ then +$ rm _exitval1.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $fsspcoln: echo "fsspcoln" +$ test_class = "basic" $ gawk -f fsspcoln.awk "FS=[ :]+" fsspcoln.in >_forspcoln.tmp +$ if f$search("sys$disk:[]_forspcoln.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_forspcoln.tmp;2 +$ endif $ cmp fsspcoln.ok sys$disk:[]_forspcoln.tmp -$ if $status then rm _forspcoln.tmp; +$ if $status +$ then +$ rm _forspcoln.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $getlndir: echo "getlndir" +$ test_class = "gawk_ext" $ ! assume we're running in the test subdirectory; we don't want to $ ! perform a messy conversion of [] into its file specification $ gawk -v "SRCDIR=[-]test.dir" -f getlndir.awk >_getlndir.tmp $! getlndir.ok expects "Is a directory", we see "is a directory" +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ igncascmp getlndir.ok sys$disk:[]_getlndir.tmp -$ if $status then rm _getlndir.tmp; +$ if $status +$ then +$ rm _getlndir.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $rsstart2: echo "rsstart2" +$ test_class = "gawk_ext" $ gawk -f rsstart2.awk rsstart1.in >_rsstart2.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp rsstart2.ok sys$disk:[]_rsstart2.tmp -$ if $status then rm _rsstart2.tmp; +$ if $status +$ then +$ rm _rsstart2.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $rsstart3: $ echo "rsstart3" +$ test_class = "gawk_ext" $! rsstart3 with pipe fails, $! presumeably due to PIPE's use of print file format $! if .not.pipeok @@ -1716,16 +2865,36 @@ $ ! DCL pipes are mailboxes, not the same as CRTL pipes, $ ! So eventually someone should look into why CRTL pipes and $ ! gawk are not always playing well together. $ gawk -- "FNR <= 10" rsstart1.in > _'test'.tmp1 +$ if f$search("sys$disk:[]_''test'.tmp1;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp1;2 +$ endif $ define/user sys$input _'test'.tmp1 $ gawk -f rsstart2.awk >_rsstart3.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ set On $ cmp rsstart3.ok sys$disk:[]_rsstart3.tmp -$ if $status then rm _rsstart3.tmp;, _rsstart3.tmp1; +$ if $status +$ then +$ rm _rsstart3.tmp;, _rsstart3.tmp1; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $rtlen: $rtlen01: +$ test_class = "unix_tests" +$ goto rtlen_tests_1 $rtlenmb: +$ test_class = "charset_tests" +$ goto rtlen_tests_1 +$! +$rtlen_tests_1: $ echo "''test'" $ if .not.pipeok $ then echo "Without the PIPE command, ''test' can't be run." @@ -1743,15 +2912,29 @@ $ pipe - gawk -- "BEGIN {RS=""""}; {print length(RT)}" >_'test'.tmp $ if test.eqs."rtlenmb" then delet_/Symbol/Local GAWKLOCALE $ if test.eqs."rtlenmb" then f = "rtlen.ok" +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ else $ call/Output=_rtlen01.tmp do__rtlen01 $ ! first test yields 1 instead of 0 due to forced newline $ gawk -- "FNR==1 {sub(""1"",""0"")}; {print}" _rtlen01.tmp >_rtlen01.too +$ if f$search("sys$disk:[]_''test'.too;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.too;2 +$ endif $ rm _rtlen01.tmp; $ mv _rtlen01.too _rtlen01.tmp $ endif $ cmp 'f' sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp; +$ if $status +$ then +$ rm _'test'.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $do__rtlen01: subroutine @@ -1768,72 +2951,158 @@ $ pipe - $ endsubroutine !do__rtlen01 $ $nondec2: echo "nondec2" +$ test_class = "gawk_ext" $ gawk --non-decimal-data -v "a=0x1" -f nondec2.awk >_nondec2.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp nondec2.ok sys$disk:[]_nondec2.tmp -$ if $status then rm _nondec2.tmp; +$ if $status +$ then +$ rm _nondec2.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $nofile: echo "nofile" +$ test_class = "basic" $! gawk "{}" no/such/file >_nofile.tmp 2>&1 $! nofile.ok expects no/such/file, but using that name in the test would $! yield "file specification syntax error" instead of "no such file..." $ set noOn $ gawk "{}" no-such-file >_nofile.tmp 2>&1 $ if .not. $status then call exit_code '$status' _nofile.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ set On $! restore altered file name $ gawk "{gsub(""no-such-file"", ""no/such/file""); print}" _nofile.tmp >_nofile.too +$ if f$search("sys$disk:[]_''test'.too;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.too;2 +$ endif $ rm _nofile.tmp; $ mv _nofile.too _nofile.tmp $! nofile.ok expects "No such file ...", we see "no such file ..." $ igncascmp nofile.ok sys$disk:[]_nofile.tmp -$ if $status then rm _nofile.tmp; +$ if $status +$ then +$ rm _nofile.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $binmode1: echo "binmode1" +$ test_class = "gawk_ext" $ gawk -v "BINMODE=3" "BEGIN { print BINMODE }" >_binmode1.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp binmode1.ok sys$disk:[]_binmode1.tmp -$ if $status then rm _binmode1.tmp; +$ if $status +$ then +$ rm _binmode1.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $subi18n: echo "''test'" +$ test_class = "basic" $ define/User GAWKLOCALE "en_US.UTF-8" $ gawk -f 'test'.awk > _'test'.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp; +$ if $status +$ then +$ rm _'test'.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $rri1: $concat4: echo "''test'" +$ test_class = "basic" $ define/User GAWKLOCALE "en_US.UTF-8" $ gawk -f 'test'.awk 'test'.in > _'test'.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp; +$ if $status +$ then +$ rm _'test'.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ -$devfd: echo "devfd: not supported" +$devfd: echo "devfd" +$ test_class = "gawk_ext" +$ skip_reason = "Not supported." +$ gosub junit_report_skip $ return $!!devfd: echo "devfd" $ gawk 1 /dev/fd/4 /dev/fd/5 4< /devfd.in4 5< devfd.in5 >_devfd.tmp $ cmp devfd.ok sys$disk:[]_devfd.tmp -$ if $status then rm _devfd.tmp; +$ if $status +$ then +$ rm _devfd.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ -$devfd1: echo "devfd1: not supported" +$devfd1: echo "devfd1" +$ test_class = "gawk_ext" +$ skip_reason = "Not supported." +$ gosub junit_report_skip $ return $!!devfd1: echo "devfd1" $ gawk -f devfd1.awk 4< devfd.in1 5< devfd.in2 >_devfd1.tmp $ cmp devfd1.ok sys$disk:[]_devfd1.tmp -$ if $status then rm _devfd1.tmp; +$ if $status +$ then +$ rm _devfd1.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ -$devfd2: echo "devfd2: not supported" +$devfd2: echo "devfd2" +$ test_class = "gawk_ext" +$ skip_reason = "Not supported." +$ gosub junit_report_skip $ return $!!devfd2: echo "devfd2" $! The program text is the '1' which will print each record. How compact can you get? $ gawk 1 /dev/fd/4 /dev/fd/5 4< /devfd.in1 5< devfd.in2 >_devfd2.tmp $ cmp devfd2.ok sys$disk:[]_devfd2.tmp -$ if $status then rm _devfd2.tmp; +$ if $status +$ then +$ rm _devfd2.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $charasbytes: @@ -1842,150 +3111,291 @@ $! we must try as best as possible using DUMP and SEARCH, instead of comparing $! to charasbytes.ok $! $ echo "''test'" +$ test_class = "gawk_ext" $ gawk -b -f 'test'.awk 'test'.in >_'test'.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ pipe dump/byte/block=count:1 _charasbytes.tmp | - search sys$pipe /noout " 00 00 00 00 00 00 00 00 00 00 00 00 0A 5A 5A 5A" -$ if $severity .eq. 1 then rm _'test'.tmp;* +$ if $severity .eq. 1 +$ then +$ rm _'test'.tmp;* +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $mixed1: echo "mixed1" +$ test_class = "basic" $ set noOn $ gawk -f /dev/null --source "BEGIN {return junk}" >_mixed1.tmp 2>&1 $ if .not. $status then call exit_code '$status' _mixed1.tmp $ set On $ cmp mixed1.ok sys$disk:[]_mixed1.tmp -$ if $status then rm _mixed1.tmp; +$ if $status +$ then +$ rm _mixed1.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $mtchi18n: echo "mtchi18n" +$ test_class = "basic" $ define/User GAWKLOCALE "ru_RU.UTF-8" $ gawk -f mtchi18n.awk mtchi18n.in >_mtchi18n.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp mtchi18n.ok sys$disk:[]_mtchi18n.tmp -$ if $status then rm _mtchi18n.tmp; +$ if $status +$ then +$ rm _mtchi18n.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $reint2: echo "reint2" +$ test_class = "gawk_ext" $ gosub define_gawklocale $ gawk --re-interval -f reint2.awk reint2.in >_reint2.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp reint2.ok sys$disk:[]_reint2.tmp -$ if $status then rm _reint2.tmp; +$ if $status +$ then +$ rm _reint2.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ -$localenl: echo "localenl skipped" +$localenl: echo "localenl" +$ test_class = "unix_tests" +$ skip_reason = "Not supported." +$ gosub junit_report_skip $ return $!!localenl: echo "localenl" $ ! localenl.com does not exist. $ @localenl.com /Output=_localenl.tmp ! sh ./localenl.sh >tmp. $ cmp localenl.ok sys$disk:[]_localenl.tmp -$ if $status then rm _localenl.tmp; +$ if $status +$ then +$ rm _localenl.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $mbprintf1: echo "''test'" +$ test_class = "charset_tests" $! Makefile test exports this, but we don't want to impact user's environment $! @GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \ $! Only always have "utf8-20" $ gosub define_gawklocale $ gawk -f mbprintf1.awk mbprintf1.in >_mbprintf1.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp mbprintf1.ok sys$disk:[]_mbprintf1.tmp -$ if $status then rm _mbprintf1.tmp; +$ if $status +$ then +$ rm _mbprintf1.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $mbprintf2: - echo "''test'" +$ echo "''test'" +$ test_class = "charset_tests" $! Makefile test exports this, ... $! @GAWKLOCALE=ja_JP.UTF-8 ; export GAWKLOCALE ; \ $! Only always have "utf8-20" $! ja_jp_utf-8 is optional $ gosub define_gawklocale_ja_jp $ gawk -f 'test'.awk >_'test'.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp; +$ if $status +$ then +$ rm _'test'.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $! $mbprintf3: $mbprintf4: - echo "''test'" +$ echo "''test'" +$ test_class = "charset_tests" $! Makefile test exports this $! @GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \ $! Only always have "utf8-20" $ gosub define_gawklocale $ gawk -f 'test'.awk 'test'.in 2>&1 >_'test'.tmp $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp; +$ if $status +$ then +$ rm _'test'.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $! $! $mbfw1: echo "mbfw1" +$ test_class = "charset_tests" $! Makefile test exports this, ... $ !define/User GAWKLOCALE "en_US.UTF-8" $ gosub define_gawklocale $ gawk -f mbfw1.awk mbfw1.in >_mbfw1.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp mbfw1.ok sys$disk:[]_mbfw1.tmp -$ if $status then rm _mbfw1.tmp; +$ if $status +$ then +$ rm _mbfw1.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $gsubtst6: echo "gsubtst6" +$ test_class = "basic" $ define/User GAWKLOCALE "C" $ gawk -f gsubtst6.awk >_gsubtst6.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp gsubtst6.ok sys$disk:[]_gsubtst6.tmp -$ if $status then rm _gsubtst6.tmp; +$ if $status +$ then +$ rm _gsubtst6.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $mbstr1: $ echo "''test'" +$ test_class = "gawk_ext" $ gosub define_gawklocale $ AWKPATH_srcdir $ gawk -f 'test'.awk 2>&1 >_'test'.tmp $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp; +$ if $status +$ then +$ rm _'test'.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $! $mbstr2: $ echo "''test'" +$ test_class = "gawk_ext" $ gosub define_gawklocale $ AWKPATH_srcdir $ gawk -f 'test'.awk < 'test'.in 2>&1 >_'test'.tmp $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp; +$ if $status +$ then +$ rm _'test'.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $! $printhuge: $ echo "''test'" +$ test_class = "gawk_ext" $ gosub define_gawklocale $ AWKPATH_srcdir $ gawk -f 'test'.awk 2>&1 >_'test'.tmp $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp; +$ if $status +$ then +$ rm _'test'.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $! $printfbad2: $printfbad3: $printfbad4: $ echo "''test'" +$ test_class = "gawk_ext" $ set noOn $ gawk --lint -f 'test'.awk 'test'.in >_'test'.tmp 2>&1 $ if .not. $status then call exit_code '$status' _'test'.tmp $ set On $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp; +$ if $status +$ then +$ rm _'test'.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ -$fmtspcl: echo "fmtspcl: not supported" +$fmtspcl: echo "fmtspcl" +$ test_class = "hardware" +$ skip_reason = "Not supported." +$ gosub junit_report_skip $ return $!!fmtspcl: $! fmtspcl ought to work if gawk was compiled to use IEEE floating point $ if floatmode.lt.0 then gosub calc_floatmode $ if floatmode.lt.2 -$ then echo "fmtspcl: not supported" -$ else echo "fmtspcl" -$ gawk -f fmtspcl.awk >_fmtspcl.tmp 2>&1 -$ cmp fmtspcl.ok sys$disk:[]_fmtspcl.tmp -$ if $status then rm _fmtspcl.tmp; +$ then +$ echo "fmtspcl: not supported" +$ ! report skip ... +$ return +$ endif +$ echo "fmtspcl" +$ gawk -f fmtspcl.awk >_fmtspcl.tmp 2>&1 +$ cmp fmtspcl.ok sys$disk:[]_fmtspcl.tmp +$ if $status +$ then +$ rm _fmtspcl.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff $ endif $ return $ $intformat: echo "intformat" +$ test_class = "hardware" $! note: we use the Alpha value for D_float; VAX value is slightly higher $! due to not losing precision by being processed via G_float $ huge_0 = "1.70141183460469213e+38" ! D_float @@ -1997,11 +3407,18 @@ $ set noOn $ gawk -v "HUGEVAL=''hugeval'" -f intformat.awk >_intformat.tmp 2>&1 $ set On $ cmp intformat.ok sys$disk:[]_intformat.tmp -$ if $status then rm _intformat.tmp; +$ if $status +$ then +$ rm _intformat.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $! ugh... BEGINFILE functionality works fine, but test is heavily Unix-centric $beginfile1: echo "beginfile1" +$ test_class = "gawk_ext" $ ! complications: "." is a filename, not the current directory $ ! (even "[]" is actually "[].", that same filename, but we can $ ! handle hacking it more easily); @@ -2025,37 +3442,68 @@ $ gawk -f - _beginfile1.tmp >_beginfile1.too { if (gsub("\\[\\]",".")) gsub("no such file or directory","is a directory") gsub("no-such-file","file"); gsub("Makefile.in","Makefile"); gsub("\\$M\\$akefile.in","Makefile"); print } +$ if f$search("sys$disk:[]_''test'.too;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.too;2 +$ endif $ rm _beginfile1.tmp; $ mv _beginfile1.too _beginfile1.tmp $ igncascmp beginfile1.ok sys$disk:[]_beginfile1.tmp -$ if $status then rm _beginfile1.tmp; +$ if $status +$ then +$ rm _beginfile1.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $dumpvars: echo "dumpvars" +$ test_class = "gawk_ext" $ gawk --dump-variables 1 <dumpvars.in >_NL: 2>&1 $ mv awkvars.out _dumpvars.tmp $ gawk "!/ENVIRON|PROCINFO/" _dumpvars.tmp >_dumpvars.tmp1 +$ if f$search("sys$disk:[]_''test'.tmp1;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp1;2 +$ endif $ rm sys$disk:[]_dumpvars.tmp;* $ mv sys$disk:[]_dumpvars.tmp1 sys$disk:[]_dumpvars.tmp $ cmp dumpvars.ok sys$disk:[]_dumpvars.tmp -$ if $status then rm _dumpvars.tmp; +$ if $status +$ then +$ rm _dumpvars.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $! $profile0: +$ echo "''test'" +$ test_class = "gawk_ext" $ gawk --profile=_ap-'test'.out -f 'test'.awk 'test'.in > _NL: $ ! sed <awkprof.out 1,2d >_profile3.tmp $ gawk "NR>2" _ap-'test'.out > sys$disk:[]_awkprof.out +$ if f$search("sys$disk:[]_awkprof.out;2") .nes. "" +$ then +$ delete sys$disk:[]_awkprof.out;2 +$ endif $ convert/fdl=nla0: _awkprof.out sys$disk:[]_'test'.tmp $ convert/fdl=nla0: 'test'.ok _'test'.ok $ cmp _'test'.ok sys$disk:[]_'test'.tmp $ if $status $ then $ rm _'test'.tmp;*,_'test'.ok;*,_ap-'test'.out;,_awkprof.out; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff $ endif $ return $! $profile1: echo "''test'" +$ test_class = "gawk_ext" $ ! FIXME: for both gawk invocations which pipe output to SORT, $ ! two output files get created; the top version has real output $ ! but there's also an empty lower version. @@ -2074,6 +3522,7 @@ $ if $status then rm _'test'.tmp%;,awkprof.out; $ return $ $profile2: echo "''test'" +$ test_class = "gawk_ext" $ gawk --profile -v "sortcmd=SORT sys$input: sys$output:" - -f xref.awk dtdgport.awk > _NL: $ ! sed <awkprof.out 1,2d >_profile2.tmp @@ -2082,21 +3531,36 @@ $ sumslp awkprof.out /update=sys$input: /output=_'test'.tmp / $ rm awkprof.out; $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp;* +$ if $status +$ then +$ rm _'test'.tmp;* +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $profile4: $profile5: +$ echo "''test'" +$ test_class = "gawk_ext" $ define/user GAWK_NO_PP_RUN 1 $ gawk --profile -f 'test'.awk > _NL: $ ! sed <awkprof.out 1,2d >_profile4.tmp $ gawk "NR>2" awkprof.out > sys$disk:[]_awkprof.out +$ if f$search("sys$disk:[]_awkprof.out;2") .nes. "" +$ then +$ delete sys$disk:[]_awkprof.out;2 +$ endif $ convert/fdl=nla0: _awkprof.out sys$disk:[]_'test'.tmp $ convert/fdl=nla0: 'test'.ok _'test'.ok $ cmp _'test'.ok sys$disk:[]_'test'.tmp $ if $status $ then $ rm _'test'.tmp;*,_'test'.ok;*,awkprof.out;,_awkprof.out; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff $ endif $ return $! @@ -2104,19 +3568,28 @@ $profile6: $profile7: $profile8: $profile3: echo "''test'" +$ test_class = "gawk_ext" $ gawk --profile -f 'test'.awk > _NL: $ ! sed <awkprof.out 1,2d >_profile3.tmp $ gawk "NR>2" awkprof.out > sys$disk:[]_awkprof.out +$ if f$search("sys$disk:[]_awkprof.out;2") .nes. "" +$ then +$ delete sys$disk:[]_awkprof.out;2 +$ endif $ convert/fdl=nla0: _awkprof.out sys$disk:[]_'test'.tmp $ convert/fdl=nla0: 'test'.ok _'test'.ok $ cmp _'test'.ok sys$disk:[]_'test'.tmp $ if $status $ then $ rm _'test'.tmp;*,_'test'.ok;*,awkprof.out;,_awkprof.out; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff $ endif $ return $ $next: echo "next" +$ test_class = "gawk_ext" $ set noOn $ gawk "{next}" _NL: > _next.tmp 2>&1 $ gawk "function f() {next}; {f()}" _NL: >>_next.tmp 2>&1 @@ -2126,23 +3599,37 @@ $ gawk "function f() {next}; BEGINFILE{f()}" _NL: >>_next.tmp 2>&1 $ gawk "function f() {next}; {f()}; ENDFILE{f()}" _NL: >>_next.tmp 2>&1 $ set On $ cmp next.ok sys$disk:[]_next.tmp -$ if $status then rm _next.tmp; +$ if $status +$ then +$ rm _next.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $exit: echo "exit" +$ test_class = "gawk_ext" $ if .not.pipeok $ then echo "Without the PIPE command, ''test' can't be run." $ On warning then return $ pipe echo "PIPE command is available; running exit test" $ On warning then $ $ pipeok = 1 -$ else echo "PIPE command is available; running exit test" +$ else +$ echo "PIPE command is available; running exit test" $ endif $ set noOn $ call/Output=_exit.tmp do__exit $ set On $ cmp exit.ok sys$disk:[]_exit.tmp -$ if $status then rm _exit.tmp; +$ if $status +$ then +$ rm _exit.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $do__exit: subroutine @@ -2186,16 +3673,28 @@ $ echo "-- 11" $ endsubroutine !do__exit $ $vms_cmd: echo "vms_cmd" +$ test_class = "vms_tests" $ if f$search("vms_cmd.ok").eqs."" $ then create vms_cmd.ok World! $ endif $ gawk /Commands="BEGIN { print ""World!"" }" _NL: /Output=_vms_cmd.tmp +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp vms_cmd.ok sys$disk:[]_vms_cmd.tmp -$ if $status then rm _vms_cmd.tmp;,vms_cmd.ok;* +$ if $status +$ then +$ rm _vms_cmd.tmp;,vms_cmd.ok;* +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $vms_io1: echo "vms_io1" +$ test_class = "vms_tests" $ if f$search("vms_io1.ok").eqs."" $ then create vms_io1.ok Hello @@ -2204,11 +3703,22 @@ $ ! define/User dbg$input sys$command: $ gawk -f - >_vms_io1.tmp # prior to 3.0.4, gawk crashed doing any redirection after closing stdin BEGIN { print "Hello" >"/dev/stdout" } +$ if f$search("sys$disk:[]_''test'.tmp;2") .nes. "" +$ then +$ delete sys$disk:[]_'test'.tmp;2 +$ endif $ cmp vms_io1.ok sys$disk:[]_vms_io1.tmp -$ if $status then rm _vms_io1.tmp;,vms_io1.ok;* +$ if $status +$ then +$ rm _vms_io1.tmp;,vms_io1.ok;* +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $ $vms_io2: echo "vms_io2" +$ test_class = "vms_tests" $ if f$search("vms_io2.ok").eqs."" $ then create vms_io2.ok xyzzy @@ -2233,14 +3743,27 @@ $ set On $ cmp _NL: sys$disk:[]_vms_io2.tmp $ if $status then rm _vms_io2.tmp; $ cmp vms_io2.ok sys$disk:[]_vms_io2.vfc -$ if $status then rm _vms_io2.vfc;*,vms_io2.ok;* +$ if $status +$ then +$ rm _vms_io2.vfc;*,vms_io2.ok;* +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $! $! $inplace1: $inplace2: -$ set process/parse=extended ! ODS-5 only $ echo "''test'" +$ if arch_name .eqs. "VAX" +$ then +$ skip_reason = "ODS-5 required" +$ gosub junit_report_skip +$ return +$ endif +$ set process/parse=extended ! ODS-5 only +$ test_class = "shlib" $ filefunc_file = "[-]gawkapi.o" $ open/write awkfile _'test'.awk $ write awkfile "@load ""inplace""" @@ -2261,7 +3784,13 @@ $ set On $ cmp 'test'.1.ok sys$disk:[]_'test'.1.tmp $ if $status then rm _'test'.1.tmp;,_'test'.1; $ cmp 'test'.2.ok sys$disk:[]_'test'.2.tmp -$ if $status then rm _'test'.2.tmp;,_'test'.2;,_'test'.awk; +$ if $status +$ then +$ rm _'test'.2.tmp;,_'test'.2;,_'test'.awk; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $! $filefuncs: @@ -2273,6 +3802,7 @@ $revout: $revtwoway: $time: $ echo "''test'" +$ test_class = "shlib" $ filefunc_file = "[-]gawkapi.o" $ open/write gapi 'filefunc_file' $ close gapi @@ -2282,12 +3812,19 @@ $ gawk -f 'test'.awk 'test'.in >_'test'.tmp 2>&1 $ if .not. $status then call exit_code '$status' _'test'.tmp $ set On $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp; +$ if $status +$ then +$ rm _'test'.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ if f$search(filefunc_file) .nes. "" then rm 'filefunc_file';* $ return $! $rwarray: $ echo "''test'" +$ test_class = "shlib" $ set noOn $ AWKLIBPATH_dir $ gawk -f 'test'.awk 'test'.in >_'test'.tmp 2>&1 @@ -2301,12 +3838,19 @@ $ write tout "old and new are equal - GOOD" $ close tout $ endif $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp;,orig.bin;,orig.out;,new.out; +$ if $status +$ then +$ rm _'test'.tmp;,orig.bin;,orig.out;,new.out; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ return $! $readdir: $fts: $ echo "''test'" +$ test_class = "shlib" $ set noOn $ AWKLIBPATH_dir $ gawk -f 'test'.awk >_'test'.tmp 2>&1 @@ -2314,7 +3858,9 @@ $ if .not. $status $ then $ call exit_code '$status' _'test'.tmp $ write sys$output _'test'.tmp +$ gosub junit_report_fail_diff $ else +$ gosub junit_report_pass $ if f$search("_''test'.tmp") .nes. "" then rm _'test'.tmp;* $ if f$search("_''test'.") .nes. "" then rm _'test'.;* $ endif @@ -2323,9 +3869,12 @@ $ return $! $readfile: $ echo "''test'" +$ test_class = "shlib" $ if f$search("sys$disk:[-]readfile.exe") .eqs. "" $ then $ echo "Readfile extension not currently building on VMS." +$ skip_reason = "Readfile not building on VMS" +$ gosub junit_report_skip $ return $ else $ echo "Surprise! Found the readfile extension so attempting test." @@ -2339,7 +3888,9 @@ $ cmp Makefile.in sys$disk:[]_'test'.tmp $ if $status $ then $ rm _'test'.tmp; +$ gosub junit_report_pass $ else +$ gosub junit_report_fail_diff $ copy Makefile.in 'test'.ok $ endif $ set On @@ -2347,9 +3898,12 @@ $ return $! $readfile2: $ echo "''test'" +$ test_class = "shlib" $ if f$search("sys$disk:[-]readfile.exe") .eqs. "" $ then $ echo "Readfile extension not currently building on VMS." +$ skip_reason = "Readfile not building on VMS" +$ gosub junit_report_skip $ return $ else $ echo "Surprise! Found the readfile extension so attempting test." @@ -2359,7 +3913,13 @@ $ AWKLIBPATH_dir $ gawk -f 'test'.awk 'test'.awk >_'test'.tmp 2>&1 $ if .not. $status then call exit_code '$status' _'test'.tmp $ cmp 'test'.ok sys$disk:[]_'test'.tmp -$ if $status then rm _'test'.tmp; +$ if $status +$ then +$ rm _'test'.tmp; +$ gosub junit_report_pass +$ else +$ gosub junit_report_fail_diff +$ endif $ set On $ return $ |