MUMPS Validation Test Suite V9.10 REPORT JUL 15, 1996 VENVIRON VENVIRON ;IW-OK-TS,VV1/2/3/4,VV4TP,MVTS V9.10;15/7/96;UTILITY ;COPYRIGHT MUMPS SYSTEMS LABORATORY 1988-1996 ;K ^VENVIRON D TITL^VENVIRO2 F %QQQ=1:1:32 D @%QQQ S ^VENVIRON(SUB)=D D YES^VENVIRO2 O ^VENVIRON("OUTPUT OPEN") O ^VENVIRON("INPUT OPEN") S ^VENVIRON("COMPLETE")=$H Q EDIT D YES^VENVIRO2 O ^VENVIRON("OUTPUT OPEN") O ^VENVIRON("INPUT OPEN") S ^VENVIRON("COMPLETE")=$H Q 1 W !,"1. " D 1^VENVIRO2 R D I D="" G 1 Q 2 W !,"2. " D 2^VENVIRO2 R D I D="" G 2 Q 3 W !,"3. " D 3^VENVIRO2 R D I D="" G 3 Q 4 W !,"4. " D 4^VENVIRO2 R D I D="" G 4 Q 5 W !!," For the question on the ""Host Computer System"", enter the computer" W !," system where MUMPS source programs are transformed into executable form." W !!," For the question on the ""Target Computer System"", enter the computer" W !," system where the executable form of MUMPS are executed.",! W !,"5. " D 5^VENVIRO2 R D I D="" G 5 Q 6 W !,"6. " D 6^VENVIRO2 R D I D="" G 6 Q 7 W !,"7. " D 7^VENVIRO2 R D I D="" G 7 Q 8 W !,"8. " D 8^VENVIRO2 R D I D="" G 8 Q 9 W !,"9. " D 9^VENVIRO2 R D I D="" G 9 Q 10 W !,"10. Its precise OPEN Argument, with Parameters if any." W !," (Do not place time-out!): " S R=48,SUB="INPUT OPEN" R D I D="" G 10 Q 11 W !,"11. " D 11^VENVIRO2 R D I D="" G 11 Q 12 S R=29,SUB="DEFAULT" W !,"12. Its default USE Argument (e.g., 0) : " R D I D="" G 12 Q 13 W !,"13. " D 13^VENVIRO2 R D I D="" G 13 Q 14 W !,"14. Its precise OPEN Argument, with Parameters if any." W !," (Do not place time-out!): " S R=25,SUB="OUTPUT OPEN" R D I D="" G 14 Q 15 W !,"15. " D 15^VENVIRO2 R D I D="" G 15 Q 16 W !,"16. " D 16^VENVIRO2 R D I D="" G 16 Q 17 W !!," The following questions are only for testing I/O competition " W !," and multi-job. Do not use the log-in terminal of the multi-job tests " W !," as the secondary and the tertiary devices." W !," If the questions are ignored by only 's, they will be questioned" W !," again just before the testings on OPEN, USE, CLOSE, $X, $Y, $IO, and" W !," Multi-job (V1IO).",! 170 W !,"17. " D 17^VENVIRO2 R D Q 180 ; 18 W !,"18. Its precise OPEN Argument, with Parameters if any." W !," (Do not place time-out!): " S R=41,SUB="#1 OPEN" R D I D=^VENVIRON("OUTPUT OPEN") G 18 Q 190 ; 19 W !,"19. " D 19^VENVIRO2 R D Q 200 ; 20 W !,"20. " D 20^VENVIRO2 R D Q 210 ; 21 W !,"21. " D 21^VENVIRO2 R D Q 220 ; 22 W !,"22. Its precise OPEN Argument, with Parameters if any." W !," (Do not place time-out!): " S R=41,SUB="#2 OPEN" R D I D="" Q I D=^VENVIRON("OUTPUT OPEN") G 22 I D=^VENVIRON("#1 OPEN") G 22 Q 230 ; 23 W !,"23. " D 23^VENVIRO2 R D Q 240 ; 24 W !,"24. " D 24^VENVIRO2 R D Q 250 ; 25 S SUB="TURNED ON" W !,"25. Are the secondary and the tertiary devices, and the log-in terminal" R !," for the partition of another job turned ON? (Yy/Nn + ): ",D I D="Y" S D="YES" Q I D="y" S D="YES" Q I D="N" S D="OFF" Q I D="n" S D="OFF" Q G 25 26 S SUB="#3 MODEL" W !,"26. The Printer you want the VSR printed (13, 17, 21, or E/lse) ... " W !," When Else is chosen, its precise OPEN Argument with Parameters, etc." W !," are asked. Otherwise these parameters will be selected automatically.)" R !," (13, 17, 21, or E/lse) : ",D I D=13 S ^VENVIRON("#3 MODEL")=^VENVIRON("OUTPUT MODEL"),^VENVIRON("#3 OPEN")=^VENVIRON("OUTPUT OPEN"),^VENVIRON("#3 USE")=^VENVIRON("OUTPUT USE"),^VENVIRON("#3 CLOSE")=^VENVIRON("OUTPUT CLOSE") S %QQQ=29,D=^VENVIRON("#3 MODEL") Q I D=17 S ^VENVIRON("#3 MODEL")=^VENVIRON("#1 MODEL"),^VENVIRON("#3 OPEN")=^VENVIRON("#1 OPEN"),^VENVIRON("#3 USE")=^VENVIRON("#1 USE"),^VENVIRON("#3 CLOSE")=^VENVIRON("#1 CLOSE") S %QQQ=29,D=^VENVIRON("#3 MODEL") Q I D=21 S ^VENVIRON("#3 MODEL")=^VENVIRON("#2 MODEL"),^VENVIRON("#3 OPEN")=^VENVIRON("#2 OPEN"),^VENVIRON("#3 USE")=^VENVIRON("#2 USE"),^VENVIRON("#3 CLOSE")=^VENVIRON("#2 CLOSE") S %QQQ=29,D=^VENVIRON("#3 MODEL") Q I D="E" W !," " D 26^VENVIRO2 R D Q I D="e" W !," " D 26^VENVIRO2 R D Q G 26 27 W !,"27. " D 27^VENVIRO2 R D Q 28 W !,"28. " D 28^VENVIRO2 R D Q 29 W !,"29. " D 29^VENVIRO2 R D Q 30 W !,"30. The Output Device for VSR as Sequential File is required." W !," (Do not use an existing filename!)" W !," Device for the Text File with precise OPEN Argument with Parameters:" W !," ( to ignore) " W !," Ex: 51:(""VSR.LOG"":""W""), 10:(file=""VSR.LOG"":mode=""W"")" W !," " S R=48,SUB="#4 OPEN" R D I D="" S %QQQ=99,D="Ignore",^VENVIRON("#4 USE")="Ignore",^VENVIRON("#4 CLOSE")="Ignore" Q 31 W !,"31. " D 31^VENVIRO2 R D Q 32 W !,"32. " D 32^VENVIRO2 R D Q ; TBL D TBL1^VENVIRO2 D WL^VENVIRO2 W ! Q SUM S SUM=0 F I=1:1 S L=$T(+I) Q:L="" F K=1:1:$L(L) S SUM=SUM+$A(L,K) Q VENVIRO2 VENVIRO2 ;IW-KO-TS,VENVIRON,MVTS V9.10;15/7/96;UTILITY ;COPYRIGHT MUMPS SYSTEMS LABORATORY 1988-1996 TBL1 D 0 F %QQQ=1:1:25 W ! D @%QQQ D LONG Q TBLN1 W ! F %QQQ=1:1:16 W !,%QQQ,". " D @%QQQ D LONG Q TBLN2 W ! F %QQQ=17:1:32 W !,%QQQ,". " D @%QQQ D LONG Q TBLN17 D WL F %QQQ=17:1:25 W !,%QQQ,". " S %QQQ0=%QQQ_"0" D @%QQQ0 D LONG D WL W ! Q LONG S T=^VENVIRON(SUB) LONG1 IF $L(T)'>R W T Q F I=2:1:999 S T1=$P(T," ",1,I) I $L(T1)>R Q W $P(T," ",1,I-1) S T=$P(T," ",I,999),R=70 I T="" Q W !," " G LONG1 ; YES W !!,"VALIDATION ENVIRONMENT #1/2" D TBLN1 D YES3 IF RES="Y" G YES2 IF RES="y" G YES2 IF RES>0 IF RES<17 W ! D @RES^VENVIRON S ^VENVIRON(SUB)=D IF RES>16 IF RES<33 Q GOTO YES YES2 W !!,"VALIDATION ENVIRONMENT #2/2" D TBLN2 D YES3 IF RES="Y" Q IF RES="y" Q IF RES>16 IF RES<33 W ! D @RES^VENVIRON S ^VENVIRON(SUB)=D IF RES>0 IF RES<17 G YES GOTO YES2 YES3 W !!," OK? (Number of the item to edit, or Yy + ) : " R RES,! Q YES4 W !!," Number of the item to edit : " R RES,! Q YES17 W ! D TBLN17 D YES17E I FLAG=0 D YES4 G YES171 D YES3 IF RES="Y" Q IF RES="y" Q YES171 IF RES>16 IF RES<26 S RES1=+RES_"0" W ! D @RES1^VENVIRON S ^VENVIRON(SUB)=D GOTO YES17 YES17E S FLAG=1 F SUB="#1 MODEL","#1 OPEN","#1 USE","#1 USE","#1 CLOSE","#2 MODEL","#2 OPEN","#2 USE","#2 USE","#2 CLOSE" S FLAG=FLAG*$L(^VENVIRON(SUB)) S FLAG=FLAG*(^VENVIRON("TURNED ON")="YES") Q ; 0 W !," 1) VALIDATION ENVIRONMENT" D WL W !,"INTEGRITY STATUS OF MVS V9.10: ",^VENVIRON("INTEGRITY") D WL W !,"The MVS V9.10 has 4318 Valid, 8 Optional, and 93 Withdrawn Tests." D WL Q 1 W "Customer Name: " S R=58,SUB="Customer" Q 2 W "Test Date: " S R=62,SUB="Date" Q 3 W "Test Site: " S R=62,SUB="Site" Q 4 W "Implementation Name and Version/Release: " S R=32,SUB="Implementation" Q 5 W "Host Computer System: " S R=51,SUB="Host" Q 6 W "Target Computer System: " S R=49,SUB="Target" Q 7 W "POC for Technical Information: " S R=42,SUB="Technical" Q 8 W "POC for Sales Information: " S R=46,SUB="Sales" Q 9 W "Principal Keyboard (Name/Model): " S R=40,SUB="INPUT MODEL" Q 10 W " Its precise OPEN Argument, with Parameters : " S R=25,SUB="INPUT OPEN" Q 11 W " Its USE Argument : " S R=49,SUB="INPUT USE" Q 12 W " Its default USE Argument : " S R=43,SUB="DEFAULT" Q 13 W "Principal Printer or CRT (Name/Model): " S R=34,SUB="OUTPUT MODEL" Q 14 W " Its precise OPEN Argument, with Parameters : " S R=25,SUB="OUTPUT OPEN" Q 15 W " Its USE Argument : " S R=49,SUB="OUTPUT USE" Q 16 W " Its CLOSE Argument : " S R=49,SUB="OUTPUT CLOSE" Q 170 ; 17 W "The Secondary Output Device for I/O and Multi-Job tests (Name/Model): " S R=7,SUB="#1 MODEL" Q 180 ; 18 W " Its precise OPEN Argument, with Parameters : " S R=25,SUB="#1 OPEN" Q 190 ; 19 W " Its USE Argument : " S R=49,SUB="#1 USE" Q 200 ; 20 W " Its CLOSE Argument : " S R=49,SUB="#1 CLOSE" Q 210 ; 21 W "The Tertiary Output Device for I/O and Multi-Job tests (Name/Model): " S R=8,SUB="#2 MODEL" Q 220 ; 22 W " Its precise OPEN Argument, with Parameters : " S R=25,SUB="#2 OPEN" Q 230 ; 23 W " Its USE Argument : " S R=49,SUB="#2 USE" Q 240 ; 24 W " Its CLOSE Argument : " S R=49,SUB="#2 CLOSE" Q 250 ; 25 W "Secondary, Tertiary, and Partition terminals turned ON : " S R=16,SUB="TURNED ON" Q ; 26 W "The VSR Output Printer : " S R=41,SUB="#3 MODEL" Q 27 W " Its precise OPEN Argument, with Parameters : " S R=26,SUB="#3 OPEN" Q 28 W " Its USE Argument : " S R=49,SUB="#3 USE" Q 29 W " Its CLOSE Argument : " S R=49,SUB="#3 CLOSE" Q 30 W "The Output Device for VSR as Sequential File if reuired.",! W " Its precise OPEN Argument with Parameters ( to ignore): ",! W " Ex: 51:(""VSR.LOG"":""W""), 10:(file=""VSR.LOG"":mode=""W"")",! W " : " S R=49,SUB="#4 OPEN" Q 31 W " Its USE Argument : " S R=49,SUB="#4 USE" Q 32 W " Its CLOSE Argument : " S R=49,SUB="#4 CLOSE" Q WL W !,"============================================================================" Q SUM S SUM=0 F I=1:1 S L=$T(+I) Q:L="" F K=1:1:$L(L) S SUM=SUM+$A(L,K) Q TITL W !!!!," THE VALIDATION ENVIRONMENT" W !!!,"Answer each question so that Validation process is automated." W !,"Entries may be edited at the end of questions.",! D WL^VENVIRO2 Q VEXAMINE VEXAMINE ;IW-KO-TS,VV1/VV2/VV3/VV4/VV4TP,MVTS V9.10;15/7/96;UTILITY ;COPYRIGHT MUMPS SYSTEMS LABORATORY 1984-1996 ; ; Part-77, Part-84, Part-90, Part-94 I $E(^ABSN,1)="1" S ^VREPORT="Part-77" I $E(^ABSN,1)="2" S ^VREPORT="Part-84" I $E(^ABSN,1)="3" S ^VREPORT="Part-90" I $E(^ABSN,1)="4" S ^VREPORT="Part-94" I ^ABSN>40866,^ABSN<40924 S ^VREPORT="Part-94" G TP ; K ^VREPORT(^VREPORT,^ABSN,"VCOMP"),^VREPORT(^VREPORT,^ABSN,"VCORR") I ^VCORR=^VCOMP W !," PASS ",^ABSN," ",^ITEM S ^VREPORT(^VREPORT,^ABSN)=" PASS " W:$Y>55 # Q W !,"** FAIL ",^ABSN," ",^ITEM S ^VREPORT(^VREPORT,^ABSN)="*FAIL*" W:$Y>55 # S ^VREPORT(^VREPORT,^ABSN,"VCOMP")=^VCOMP S ^VREPORT(^VREPORT,^ABSN,"VCORR")=^VCORR W !," COMPUTED =""",^VCOMP,"""" W:$Y>55 # W !," CORRECT =""",^VCORR,"""" W:$Y>55 # H 1 Q ; TP ;---------------- Transaction LOCK S ^HALT=1 H 1 K ^VREPORT(^VREPORT,^ABSN,"VCOMP"),^VREPORT(^VREPORT,^ABSN,"VCORR") I ^VCOMP=^VCORR W !," PASS ",^ABSN," ",$P(^ITEM,"!",1) S ^VREPORT(^VREPORT,^ABSN)=" PASS " d W:$Y>55 # Q . i $P(^ITEM,"!",2)="" q . F I=2:1:$L(^ITEM,"!") W !," ",$p(^ITEM,"!",I) W !," *FAIL ",^ABSN," ",$p(^ITEM,"!",1) S ^VREPORT(^VREPORT,^ABSN)="*FAIL*" d W:$Y>55 # . i $p(^ITEM,"!",2)="" q . F I=2:1:$L(^ITEM,"!") W !," ",$p(^ITEM,"!",I) S ^VREPORT(^VREPORT,^ABSN,"VCOMP")=^VCOMP S ^VREPORT(^VREPORT,^ABSN,"VCORR")=^VCORR W !," COMPUTED =""",^VCOMP,"""" W:$Y>55 # W !," CORRECT =""",^VCORR,"""" W:$Y>55 # H 3 Q ; MANPF2 ; Part-84 S ^VREPORT="Part-84" G MANPF MANPF1 ; Part-77 S ^VREPORT="Part-77" MANPF I $D(^VENVIRON("INPUT USE"))=1 U ^VENVIRON("INPUT USE") MANPFYN W !!,"Before answering the PASS-FAIL question," W !,"do you want to repeat this test? (Yy/Nn + ): " R RES I RES="Y" S RES="AGAIN" G PFAG I RES="y" S RES="AGAIN" G PFAG I RES="N" S RES="NO" G REP I RES="n" S RES="NO" G REP G MANPFYN REP W !,"Press P/p for PASS or F/f for FAIL and : " R RES REPA I RES="P" W !,"PASS " G PFEXIT I RES="p" W !,"PASS " S RES="P" G PFEXIT I RES="F" W !,"FAIL " G PFEXIT I RES="f" W !,"FAIL " S RES="F" G PFEXIT G REP PFEXIT R " OK? (Yy/Nn + ): ",OK W ! I OK="Y" K OK G PFEXIT1 I OK="y" K OK G PFEXIT1 I OK="N" G REP I OK="n" G REP G REPA PFEXIT1 I $D(^VENVIRON("OUTPUT USE"))=1 U ^VENVIRON("OUTPUT USE") I RES="P" W !," PASS ",^ABSN," ",^ITEM S ^VREPORT(^VREPORT,^ABSN)=" PASSO " W:$Y>55 # K Q I RES="F" W !,"** FAIL ",^ABSN," ",^ITEM S ^VREPORT(^VREPORT,^ABSN)="*FAILO*" W:$Y>55 # K Q ; ; AGAIN ; I ^VCORR=^VCOMP S RES="NO" Q I $D(^VENVIRON("INPUT USE"))=1 U ^VENVIRON("INPUT USE") REPAG W !!,"Test has FAILed." W !,"Do you want to repeat this test? (Yy/Nn + ): " R RES W ! I RES="Y" S RES="YES" G PFAG I RES="y" S RES="YES" G PFAG I RES="N" S RES="NO" G PFAG I RES="n" S RES="NO" G PFAG G REPAG PFAG I $D(^VENVIRON("OUTPUT USE"))=1 U ^VENVIRON("OUTPUT USE") Q ; OPT ;$RANDOM option test K I ^VCORR'=^VCOMP W !," PASS ",^ABSN," ",^ITEM S ^VREPORT("Part-77",^ABSN)=" PASS " W:$Y>55 # Q W !,"** FAIL ",^ABSN," ",^ITEM," All sub-tests are out of limits" S ^VREPORT("Part-77",^ABSN)="*FAIL*" W:$Y>55 # H 1 Q SUM S SUM=0 F I=1:1 S L=$T(+I) Q:L="" F K=1:1:$L(L) S SUM=SUM+$A(L,K) Q VSR VSR ;IW-KO-TS,VV1/VV2/VV3/VV4,MVTS V9.10;15/7/96;UTILITY ;COPYRIGHT MUMPS SYSTEMS LABORATORY 1984-1996 ; START ; I $D(^VENVIRON("INTEGRITY"))=0 D ^VINT9 I ^VENVIRON("INTEGRITY")="OK" G START1 I ^VENVIRON("INTEGRITY")="NOT OK" G START1 D ^VINT9 START1 ; I $D(^VENVIRON("COMPLETE"))=1 D EDIT^VENVIRON I $D(^VENVIRON("COMPLETE"))=0 D ^VENVIRON Q S SAVEIO=$I I $D(^VENVIRON("#3 OPEN"))=0 G SEQ I ^VENVIRON("#3 OPEN")="" G SEQ ;fied V9.02 O ^VENVIRON("#3 OPEN") U ^VENVIRON("#3 USE") D OUT I SAVEIO'=^VENVIRON("#3 USE") C ^VENVIRON("#3 CLOSE") SEQ I $D(^VENVIRON("#4 OPEN"))=0 G EXIT I ^VENVIRON("#4 OPEN")="" G EXIT I ^VENVIRON("#4 OPEN")="Ignore" G EXIT IF ^VENVIRON("#4 OPEN")?1.N1":".E G SEQ1 O ^VENVIRON("#4 OPEN") U ^VENVIRON("#4 USE") D OUT I SAVEIO'=^VENVIRON("#4 USE") C ^VENVIRON("#4 CLOSE") EXIT U SAVEIO Q SEQ1 O @^VENVIRON("#4 OPEN") U @^VENVIRON("#4 USE") D OUT I SAVEIO'=^VENVIRON("#4 USE") C @^VENVIRON("#4 CLOSE") U SAVEIO Q ; OUT ; W # W " VALIDATION SUMMARY REPORT FOR MVS V9.10 (PART-77,-84,-90,-94,-94TP)",! D %DATE^VSRE,%TIME^VSRE W " ",%DT," ",%T,! K %DT,%T S FAILURE=0,TPASS=0 D TBL^VENVIRON,WITHD,VV1,VV2,VV3,VV4,^VSRE Q ; WITHD ; W !!!," 2) Withdrawn or Suppressed Tests (*WITHDR)" D LIN D ^VSRWT D LIN W !! Q ; ; VV1 ; S ^VREPORT="Part-77" S ^VREPORT("Part-77",12004)="*WITHDR" S ^VREPORT("Part-77",12141)="*WITHDR" S PASS=0,PASSO=0,FAIL=0,FAILO=0,ABORT=0,SKIP=0 W !!," 3) PART-77 Valid Tests: 2105 Withdrawn or Suppressed Tests: 51" D LIN W ! S T=1,COL=0 F ABSN=10001:1:12156 D VSR1 D LIN W !,"PART-77 PASS PASSO FAIL FAILO ABORTED SKIP" W !," BY OPERATOR BY OPERATOR " W !,"SUBTOTAL ",$J(PASS,4),$J(PASSO,4+3),$J(FAIL,4+9),$J(FAILO,4+3),$J(ABORT,4+11),$J(SKIP,4+3) S FAILURE("Part-77")=FAIL+FAILO+ABORT+SKIP,FAILURE=FAILURE+FAILURE("Part-77"),PASS("Part-77")=PASS+PASSO,TPASS=TPASS+PASS+PASSO D LIN W ! ; S ^VREPORT="Part-77" S PASS=0,FAIL=0,ABORT=0,SKIP=0 W !!," 4) PART-77 Optional Tests: 8" D LIN W ! S T=1,COL=0 F OPT=1:1:8 S ABSN="OPT0"_OPT D VSR1 D LIN W !,"PART-77-OPT PASS FAIL ABORTED SKIP" W !,"SUBTOTAL ",$J(PASS,4)," ",$J(FAIL,4)," ",$J(ABORT,4)," ",$J(SKIP,4) D LIN W ! Q ; VV2 ; S ^VREPORT="Part-84" S PASS=0,PASSO=0,FAIL=0,FAILO=0,ABORT=0,SKIP=0 W !!," 5) PART-84 Valid Tests: 200 Withdrawn or Suppressed Tests: 24" D LIN W ! S T=1,COL=0 F ABSN=20001:1:20224 D VSR1 D LIN W !,"PART-84 PASS PASSO FAIL FAILO ABORTED SKIP" W !," BY OPERATOR BY OPERATOR " W !,"SUBTOTAL ",$J(PASS,4),$J(PASSO,4+3),$J(FAIL,4+9),$J(FAILO,4+3),$J(ABORT,4+11),$J(SKIP,4+3) S FAILURE("Part-84")=FAIL+FAILO+ABORT+SKIP,FAILURE=FAILURE+FAILURE("Part-84"),PASS("Part-84")=PASS+PASSO,TPASS=TPASS+PASS+PASSO D LIN W ! Q ; VV3 ; S ^VREPORT="Part-90" S PASS=0,PASSO=0,FAIL=0,FAILO=0,ABORT=0,SKIP=0 W !!," 6) PART-90 Valid Tests: 1102 Withdrawn or Suppressed Tests: 6" D LIN W ! S T=1,COL=0 F ABSN=30001:1:31108 D VSR1 D LIN W !,"PART-90 PASS PASSO FAIL FAILO ABORTED SKIP" W !," BY OPERATOR BY OPERATOR " W !,"TOTAL ",$J(PASS,4),$J(PASSO,4+3),$J(FAIL,4+9),$J(FAILO,4+3),$J(ABORT,4+11),$J(SKIP,4+3) S FAILURE("Part-90")=FAIL+FAILO+ABORT+SKIP,FAILURE=FAILURE+FAILURE("Part-90"),PASS("Part-90")=PASS+PASSO,TPASS=TPASS+PASS+PASSO D LIN W ! Q ; VV4 ; S ^VREPORT="Part-94" S PASS=0,PASSO=0,FAIL=0,FAILO=0,ABORT=0,SKIP=0 W !!," 7) PART-94(-94TP) Valid Tests: 911 Withdrawn or Suppressed Tests: 12" D LIN W ! S T=1,COL=0 F ABSN=40001:1:40923 D VSR1 D LIN W !,"PART-94 PASS PASSO FAIL FAILO ABORTED SKIP" W !," BY OPERATOR BY OPERATOR " W !,"TOTAL ",$J(PASS,4),$J(PASSO,4+3),$J(FAIL,4+9),$J(FAILO,4+3),$J(ABORT,4+11),$J(SKIP,4+3) S FAILURE("Part-94")=FAIL+FAILO+ABORT+SKIP,FAILURE=FAILURE+FAILURE("Part-94"),PASS("Part-94")=PASS+PASSO,TPASS=TPASS+PASS+PASSO D LIN W ! Q ; VSR1 W ABSN," " S COL=COL+$L(ABSN)+1 I $D(^VREPORT(^VREPORT,ABSN))#10=0 S STAT="*SKIP*" E S STAT=^VREPORT(^VREPORT,ABSN) W STAT S COL=COL+$L(STAT) I STAT["PASS " S PASS=PASS+1 I STAT["PASSO" S PASSO=PASSO+1 I STAT["FAIL*" S FAIL=FAIL+1 I STAT["FAILO" S FAILO=FAILO+1 I STAT["ABORT" S ABORT=ABORT+1 I STAT["SKIP" S SKIP=SKIP+1 I T=5 S T=1,COL=0 W ! Q W $J("",T*16-COL) S COL=COL+$L($J("",T*16-COL)) S T=T+1 Q ; ; LIN W:$X ! W "============================================================================" Q SUM S SUM=0 F I=1:1 S L=$T(+I) Q:L="" F K=1:1:$L(L) S SUM=SUM+$A(L,K) Q VSRE VSRE ;IW-KO-TS,VV1/VV2/VV3,MVTS V9.10;15/7/96;UTILITY ;COPYRIGHT MUMPS SYSTEMS LABORATORY 1984-1996 ; D GRAND W #," 8) BACKGROUNDS FOR FAILURES" D LIN^VSR W ! S NUMBER=0 D FAIL1,FAIL2,FAIL3,FAIL4 D LIN^VSR W !,"END",! Q ; GRAND ; W !," 9) GRAND TOTAL OF THE TEST RESULTS (Part-77, -84, -90, -94, -94TP)" W !," VALID TESTS:4318, WITHDRAWN OR SUPPRESSED TESTS: 93" W !," =======================================================================" W !," PASS (PASS+PASSO) FAILURE (FAIL+FAILO+ABORT+SKIP)" W !," PART-77 ",$J(PASS("Part-77"),4)," ",$J(FAILURE("Part-77"),4) W !," PART-84 ",$J(PASS("Part-84"),4)," ",$J(FAILURE("Part-84"),4) W !," PART-90 ",$J(PASS("Part-90"),4)," ",$J(FAILURE("Part-90"),4) W !," PART-94(TP) ",$J(PASS("Part-94"),4)," ",$J(FAILURE("Part-94"),4) W !," =======================================================================" W !," TOTAL ",$J(TPASS,4)," ",$J(FAILURE,4),! Q ; FAIL1 S ^VREPORT="Part-77" F ABSN=10001:1:12156 D FVSR W "----------------------------------------",! Q ; FAIL2 S ^VREPORT="Part-84" F ABSN=20001:1:20224 D FVSR W "----------------------------------------",! Q ; FAIL3 S ^VREPORT="Part-90" F ABSN=30001:1:31108 D FVSR W "----------------------------------------",! Q ; FAIL4 S ^VREPORT="Part-94" F ABSN=40001:1:40923 D FVSR Q ; FVSR I $D(^VREPORT(^VREPORT,ABSN))#10=0 G SKIP S STAT=^VREPORT(^VREPORT,ABSN) I STAT["PASS" Q I STAT["WITHDR" Q S NUMBER=NUMBER+1 W NUMBER,". No. ",ABSN," " I $D(^VREPORT(^VREPORT,ABSN,"ITEM")) W ^VREPORT(^VREPORT,ABSN,"ITEM") W ! I STAT["*FAILO*" G FAILO I STAT["*FAIL*" G FAIL I STAT["*ABORT*" G ABORT Q FAIL ; I $D(^VREPORT(^VREPORT,ABSN,"VCOMP")) W " COMPUTED =""",^VREPORT(^VREPORT,ABSN,"VCOMP"),"""",! I $D(^VREPORT(^VREPORT,ABSN,"VCORR")) W " CORRECT =""",^VREPORT(^VREPORT,ABSN,"VCORR"),"""" W ! Q FAILO W " FAIL detected by OPERATOR.",! Q FAILD W " FAIL detected automatically.",! Q ABORT W " Test was aborted midway.",! Q SKIP S NUMBER=NUMBER+1 W NUMBER,". No. ",ABSN W !," Test was skipped!",! Q ; %DATE ;GET DATE ---> %DT S %DT=$P($H,",",1) S %H=%DT>21608+%DT+1460,%L=%H\1461,%YR=%H#1461 S %Y=%L*4+1837+(%YR\365),%D=%YR#365+1 S %M=1 I %YR=1460 S %D=366,%Y=%Y-1 F %I=31,%Y#4=0+28,31,30,31,30,31,31,30,31,30,31 Q:%D'>%I S %D=%D-%I,%M=%M+1 S:%D<10 %D="0"_%D S %M=$E("JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC",%M*3-2,%M*3) S %DT=%M_" "_%D_", "_%Y K %H,%L,%YR,%Y,%M,%D,%I Q %TIME ;GET TIME --> %T S %H=$P($H,",",2),%AMPM=" AM",%HR=%H\3600,%SM=%H#3600 S %M=%SM\60,%S=%SM#60 S:%M<10 %M=0_%M S:%S<10 %S=0_%S S %T=%HR_":"_%M K %H,%HR,%AMPM,%S,%M,%SM Q SUM S SUM=0 F I=1:1 S L=$T(+I) Q:L="" F K=1:1:$L(L) S SUM=SUM+$A(L,K) Q VSRWT VSRWT ;IW-KO-TS,VENVIRON,MVTS V9.10;15/7/96;UTILITY ;COPYRIGHT MUMPS SYSTEMS LABORATORY 1990-1996 F I=1:1 S L=$T(WT+I) Q:L="" W !,$P(L,";",2,99) D ^VSRWT1,^VSRWT2 Q SUM S SUM=0 F I=1:1 S L=$T(+I) Q:L="" F K=1:1:$L(L) S SUM=SUM+$A(L,K) Q WT ; ;1) 12004 I-581 $JUSTIFY, optional test for intexpr2<0 and intexpr3<0 ; Test I-581 was withdrawn by explicit portability prohibition ; by X11.1-'84. ; ;2) 12141 I-638 LOCK on non-variable name ; Test I-638 was withdrawn for its implementation dependency ; before X11.1-'77. ; ;3) The following 7 tests were suppressed in Part-77 for FIPS PUB 125-1 (Phase 2) ; ;11551 I-669 glvn is not defined ;11552 I-670 glvn has no neighboring node ;11553 I-671 The last subscript of glvn is -1 ;11554 I-672 glvn as naked reference ;11555 I-673 Expected returned value is zero ;11556 I-674 glvn is lvn ;11557 I-675 glvn is gvn ; ;4) The following 5 tests were withdrawn from Part-77 for FIPS PUB 125-1 (Phase 2) ; ;11815 I-513 Indirection of $NEXT argument ;11816 I-514 Indirection of subscript ;11817 I-515 Indirection of naked reference ;11818 I-516 2 levels of indirection ;11819 I-517 3 levels of indirection ; ;5) The following 37 tests were withdrawn from Part-77 by extension ; in ANSI/MDC X11.1-1990, then moved into the Part-90. ; ;11954 I-653.1 1 level of DO, and 14 levels of FOR; Termination by GOTO ;11955 I-653.2 1 level of DO, and 14 levels of FOR; Termination by QUIT ;11956 I-654 1 level of DO, and 14 levels of XECUTE ;11957 I-655.1 15 levels of DO; Local DO ;11958 I-655.2 15 levels of DO; External DO ;11959 I-656 15 levels of combined DO, FOR, XECUTE ;11960 I-657 1 level of DO, and 14 levels of argument level indirection ;11961 I-658 1 level of DO, and 14 levels of name level indirection ;11962 I-659 Up to 6 nesting levels of functions ;11963 I-660.1 Effect of GOTO on nesting; Local GOTO ;11964 I-660.2 Effect of GOTO on nesting; External GOTO ;11965 I-661 Effect of QUIT on nesting ;12033 I-797 Partition size for assurance of routine transferability (4000 Bytes) ;12038 I-622 Numeric range ( 10 power -25 to 10 power 25 ) ;12039 I-623.1 Significant digit up to 9 digits; Local data ;12040 I-623.2 Significant digit up to 9 digits; Global data ;12041 I-624 9 digits subscript of local variable ;12042 I-625 9 digits subscript of global variable ;12043 I-626 15 levels subscript of local variable ;12044 I-627 15 levels subscript of global variable ;12082 I-401 HANG duration by $H (by OPERATOR) ;12083 I-402 List of hangargument (by OPERATOR) ;12084 I-403 HANG in FOR scope (by OPERATOR) ;12085 I-404 HANG with postconditional (by OPERATOR) ;12086 I-405 Argument level indirection (by OPERATOR) ;12087 I-406 Name level indirection (by OPERATOR) ;12088 I-407 intexpr is integer (by OPERATOR) ;12089 I-408 intexpr=0 (by OPERATOR) ;12090 I-409 intexpr<0 (by OPERATOR) ;12091 I-410 intexpr is non-integer positive numeric literal (by OPERATOR) ;12092 I-411 intexpr is greater than zero and less than one (by OPERATOR) ;12093 I-412 intexpr is string literal (by OPERATOR) ;12094 I-413 intexpr is an empty string (by OPERATOR) ;12095 I-414 intexpr is lvn (by OPERATOR) ;12096 I-415 intexpr contains unary operator (by OPERATOR) ;12097 I-416 intexpr contains binary operator (by OPERATOR) ;12110 I-740 intexpr is 9 digits ( maximum range ) ; VSRWT1 VSRWT1 ;IW-KO-TS,VENVIRON,MVTS V9.10;15/7/96;UTILITY ;COPYRIGHT MUMPS SYSTEMS LABORATORY 1990-1996 F I=1:1 S L=$T(WT+I) Q:L="" W !,$P(L,";",2,99) Q SUM S SUM=0 F I=1:1 S L=$T(+I) Q:L="" F K=1:1:$L(L) S SUM=SUM+$A(L,K) Q WT ; ;6) The following 10 tests were were suppressed in Part-84 for FIPS PUB 125-1 (Phase 2) ; ;20045 II-45 $next ;20046 II-46 $n ;20198 II-167.1.1 Interpretation of a subscript string ;20199 II-167.1.2 What is the set A (local)? ;20200 II-167.1.3 The last returned value ;20201 II-167.2 Subscript is one character (95 graphics including space) ;20202 II-168.1.1 Interpretation of a subscript string ;20203 II-168.1.2 What is the set A (global)? ;20204 II-168.1.3 The last returned value ;20205 II-168.2 Subscript is one character (95 graphics including space) ; ;7) The following 9 tests were withdrawn from the Part-84 by extension ; in ANSI/MDC X11.1-1990, then moved into the Part-90. ; ;20216 II-173 Length of one subscript of a local variable is 31 (max) ;20217 II-174 Total length of a local variable is 63 (max) ;20218 II-175 Length of one subscript of a global variable is 31 (max) ;20219 II-176 Total length of a global variable is 63 (max) ;20220 II-177 Naked reference when the total length of global variable is 63 ; characters (max) ;20221 II-178 Minimum (-.999999999E25) to maximum (.999999999E25) number ; for one subscript of local variable ;20222 II-179 Minimum (-.999999999E25) to maximum (.999999999E25) number ; for one subscript of global variable ;20223 II-180 Total number of local variable subscripts is 31 (max) ;20224 II-181 Total number of global variable subscripts is 31 (max) ; VSRWT2 VSRWT2 ;IW-KO-TS,VENVIRON,MVTS V9.10;15/7/96;UTILITY ;COPYRIGHT MUMPS SYSTEMS LABORATORY 1990-1996 F I=1:1 S L=$T(WT+I) Q:L="" W !,$P(L,";",2,99) Q SUM S SUM=0 F I=1:1 S L=$T(+I) Q:L="" F K=1:1:$L(L) S SUM=SUM+$A(L,K) Q WT ; ;8) The following 5 SET PIECE tests were suppressed in Part-84 for FIPS PUB ; 125-1 (Phase 2) ; ;20116 II-107 glvn is naked reference ;20117 II-108 Interpretation sequence of subscripted left hand $PIECE ;20118 II-109 If setpiece on gvn affects naked indicator when intexpr2>intexpr3 ;20119 II-110 If setpiece on gvn affects naked indicator when intexpr3<1 ;20120 II-182 If setpiece on lvn affects naked indicator ; ;9) The following 6 tests were were suppressed in Part-90 for FIPS PUB 125-1 ; (Phase 2) ; ;30323 I,III-323 numexpr is greater than zero and less than one ;30539 III-0539 numexpr=01.2340 ;30540 III-0540 numexpr=-01.2340 ;30541 III-0541 numexpr="01.2340" ;30542 III-0542 numexpr="-01.2340" ;31068 III-1068 $TEST value ; ;10) The following 12 tests were suppressed from the Part-94 for ANSI/MDC ; X11.1-1994. ; ;40088 IV-88 $FNUMBER(09878979.78E-2,"") ;40089 IV-89 $FN(0000.00000951200000,"") ;40090 IV-90 $FN(-0000.00000951200000,"") ;40091 IV-91 $FN(603.450000000E+4,"") ;40092 IV-92 $FN(-00020000.00000,"") ;40134 IV-134 $FNUMBER(-00020000.00000,"",0) ;40135 IV-135 $FN(09878979.78E-2,"",1)" ;40136 IV-136 $FN(-""0000.951200000"","",1) ;40137 IV-137 $FN(""603.450000000E+4"","",3) ;40138 IV-138 $fn(9.999979,"",4)" ;40139 IV-139 $fn(0000.00000951200000,"",8) ;40140 IV-140 $FN(-0000.00000951200000,"",8) ;