diff options
Diffstat (limited to 'src/lib/libssl/test/bntest.com')
-rw-r--r-- | src/lib/libssl/test/bntest.com | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/src/lib/libssl/test/bntest.com b/src/lib/libssl/test/bntest.com new file mode 100644 index 0000000000..6545d2e5a5 --- /dev/null +++ b/src/lib/libssl/test/bntest.com | |||
@@ -0,0 +1,76 @@ | |||
1 | $! | ||
2 | $! Analyze bntest output file. | ||
3 | $! | ||
4 | $! Exit status = 1 (success) if all tests passed, | ||
5 | $! 0 (warning) if any test failed. | ||
6 | $! | ||
7 | $! 2011-02-20 SMS. Added code to skip "#" comments in the input file. | ||
8 | $! | ||
9 | $! 2010-04-05 SMS. New. Based (loosely) on perl code in bntest-vms.sh. | ||
10 | $! | ||
11 | $! Expect data like: | ||
12 | $! test test_name1 | ||
13 | $! 0 | ||
14 | $! [...] | ||
15 | $! test test_name2 | ||
16 | $! 0 | ||
17 | $! [...] | ||
18 | $! [...] | ||
19 | $! | ||
20 | $! Some tests have no following "0" lines. | ||
21 | $! | ||
22 | $ result_file_name = f$edit( p1, "TRIM") | ||
23 | $ if (result_file_name .eqs. "") | ||
24 | $ then | ||
25 | $ result_file_name = "bntest-vms.out" | ||
26 | $ endif | ||
27 | $! | ||
28 | $ fail = 0 | ||
29 | $ passed = 0 | ||
30 | $ tests = 0 | ||
31 | $! | ||
32 | $ on control_c then goto tidy | ||
33 | $ on error then goto tidy | ||
34 | $! | ||
35 | $ open /read result_file 'result_file_name' | ||
36 | $! | ||
37 | $ read_loop: | ||
38 | $ read /end = read_loop_end /error = tidy result_file line | ||
39 | $ t1 = f$element( 0, " ", line) | ||
40 | $! | ||
41 | $! Skip "#" comment lines. | ||
42 | $ if (f$extract( 0, 1, f$edit( line, "TRIM")) .eqs. "#") then - | ||
43 | goto read_loop | ||
44 | $! | ||
45 | $ if (t1 .eqs. "test") | ||
46 | $ then | ||
47 | $ passed = passed+ 1 | ||
48 | $ tests = tests+ 1 | ||
49 | $ fail = 1 | ||
50 | $ t2 = f$extract( 5, 1000, line) | ||
51 | $ write sys$output "verify ''t2'" | ||
52 | $ else | ||
53 | $ if (t1 .nes. "0") | ||
54 | $ then | ||
55 | $ write sys$output "Failed! bc: ''line'" | ||
56 | $ passed = passed- fail | ||
57 | $ fail = 0 | ||
58 | $ endif | ||
59 | $ endif | ||
60 | $ goto read_loop | ||
61 | $ read_loop_end: | ||
62 | $ write sys$output "''passed'/''tests' tests passed" | ||
63 | $! | ||
64 | $ tidy: | ||
65 | $ if f$trnlnm( "result_file", "LNM$PROCESS_TABLE", , "SUPERVISOR", , "CONFINE") | ||
66 | $ then | ||
67 | $ close result_file | ||
68 | $ endif | ||
69 | $! | ||
70 | $ if ((tests .gt. 0) .and. (tests .eq. passed)) | ||
71 | $ then | ||
72 | $ exit 1 | ||
73 | $ else | ||
74 | $ exit 0 | ||
75 | $ endif | ||
76 | $! | ||