$! $! Analyze bntest output file. $! $! Exit status = 1 (success) if all tests passed, $! 0 (warning) if any test failed. $! $! 2011-02-20 SMS. Added code to skip "#" comments in the input file. $! $! 2010-04-05 SMS. New. Based (loosely) on perl code in bntest-vms.sh. $! $! Expect data like: $! test test_name1 $! 0 $! [...] $! test test_name2 $! 0 $! [...] $! [...] $! $! Some tests have no following "0" lines. $! $ result_file_name = f$edit( p1, "TRIM") $ if (result_file_name .eqs. "") $ then $ result_file_name = "bntest-vms.out" $ endif $! $ fail = 0 $ passed = 0 $ tests = 0 $! $ on control_c then goto tidy $ on error then goto tidy $! $ open /read result_file 'result_file_name' $! $ read_loop: $ read /end = read_loop_end /error = tidy result_file line $ t1 = f$element( 0, " ", line) $! $! Skip "#" comment lines. $ if (f$extract( 0, 1, f$edit( line, "TRIM")) .eqs. "#") then - goto read_loop $! $ if (t1 .eqs. "test") $ then $ passed = passed+ 1 $ tests = tests+ 1 $ fail = 1 $ t2 = f$extract( 5, 1000, line) $ write sys$output "verify ''t2'" $ else $ if (t1 .nes. "0") $ then $ write sys$output "Failed! bc: ''line'" $ passed = passed- fail $ fail = 0 $ endif $ endif $ goto read_loop $ read_loop_end: $ write sys$output "''passed'/''tests' tests passed" $! $ tidy: $ if f$trnlnm( "result_file", "LNM$PROCESS_TABLE", , "SUPERVISOR", , "CONFINE") $ then $ close result_file $ endif $! $ if ((tests .gt. 0) .and. (tests .eq. passed)) $ then $ exit 1 $ else $ exit 0 $ endif $!