bntest.com 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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. $!