Draft Chapter 4
Validation Contents of MVTS V.9.10 Part-84
July 15, 1996
Copyright: MUMPS Systems Laboratory
Validation Test Suite Version 9.10 Part-84
(Tests on the Language Extensions made in ANSI/MDC X11.1-1984)
The last Test ID number for Part-84 is II-182.
4.1 Contents of Routines in the Order of Execution
Routine No. Routine Name Title
===============================================================================
0--------- VV2 ------ Main Driver Part-84
1--------- V2CS ----- Command space
2--------- V2LCC1 --- Lower case command words and $data -1- (by OPERATOR)
3--------- V2LCC2 --- Lower case command words and $data -2-
4--------- V2LCF1 --- Lower case function names (less $DATA)
and special variable names -1-
5--------- V2LCF2 --- Lower case function names (less $DATA)
and special variable names -2-
6--------- V2LCF3 --- Lower case function names (less $DATA)
and special variable names -3-
7--------- V2LCF4 --- Lower case function names (less $DATA)
and special variable names -4-
8--------- V2FN1 ---- Functions extended -1-
9--------- V2FN2 ---- Functions extended -2-
10--------- V2LHP1 --- Left hand $PIECE -1- (currently suppressed)
11--------- V2LHP2 --- Left hand $PIECE -2- (currently suppressed)
12--------- V2LHP3 --- Left hand $PIECE -3- (currently suppressed)
13--------- V2LHP4 --- Left hand $PIECE -4- (currently suppressed)
14--------- V2VNIA --- Variable name indirection -1-
15--------- V2VNIB --- Variable name indirection -2-
16--------- V2VNIC --- Variable name indirection -3-
17--------- V2NR ----- Naked reference
18--------- V2READ --- Read count
19--------- V2PAT1 --- Pattern match -1-
20--------- V2PAT2 --- Pattern match -2-
21--------- V2PAT3 --- Pattern match -3-
22--------- V2PAT4 --- Pattern match -4-
23--------- V2ORD1 ---- $ORDER -1-
V2ORD1 is overlaid with V2ORDE.
24--------- V2ORD2 ---- $ORDER -2-
V2ORD2 is overlaid with V2ORDE.
25--------- V2SSUB1 -- String subscript -1-
26--------- V2SSUB2 -- String subscript -2-
===============================================================================
4.2 Session titles
Routine Number---Routine name
Section titles with or without ID# and propositions
Tests Serial No., Test ID# (.child tests .grandchild tests), and proposition
===============================================================================
Command space
1---V2CS
20001 II-1 cs between ls and comment
20002 II-2 cs between command and command
20003 II-3 cs after IF command
20004 II-4 cs after ELSE command
20005 II-5 cs among FOR - QUIT - DO command
20006 II-6 cs between ls and comment in XECUTE command
20007 II-7 cs between commands in XECUTE command
20008 II-8 cs between commands with indirection argument
Lower case command words and $data -1- (by OPERATOR)
2---V2LCC1
20009 II-9 for
20010 II-10 f
20011 II-11 write (by OPERATOR)
20012 II-12 w (by OPERATOR)
20013 II-13 do --(Test corr;V7.2;24/2/88)
20014 II-14 d --(Test corr;V7.2;24/2/88)
20015 II-15 hang --(Test chg;V7.5;20/8/90)
20016 II-16 h --(Test chg;V7.5;20/8/90)
20017 II-17 quit --(Test corr;V7.2;24/2/88)
20018 II-18 q --(Test corr;V7.2;24/2/88)
20019 II-19 goto
20020 II-20 g
Lower case command words and $data -2-
3---V2LCC2
20021 II-21 if
20022 II-22 i
20023 II-23 else
20024 II-24 e
20025 II-25 set
20026 II-26 s
20027 II-27 kill --(Test corr;V7.2;24/2/88)
20028 II-28 k --(Test corr;V7.2;24/2/88)
20029 II-29 $data --(Test corr;V7.2;24/2/88)
20030 II-30 $d --(Test corr;V7.2;24/2/88)
20031 II-31 xecute
20032 II-32 x
Lower case function names ( less $data ) and special variable names -1-
4---V2LCF1 --(Rev;V7.5;20/8/90)
20033 II-33 $ascii
20034 II-34 $a
20035 II-35 $char
20036 II-36 $c
20037 II-37 $extract
20038 II-38 $e
20039 II-39 $find
20040 II-40 $f
20041 II-41 $justify
20042 II-42 $j
Lower case function names ( less $data ) and special variable names -2-
5---V2LCF2 --(Ren;V2LCF1;V7.5;20/8/90)
20043 II-43 $length
20044 II-44 $l
20045 II-45 $next --(Suppressed; 10/10/92)
20046 II-46 $n --(Suppressed; 10/10/92)
20047 II-47 $order
20048 II-48 $o
20049 II-49 $piece
20050 II-50 $p
Lower case function names ( less $data ) and special variable names -3-
6---V2LCF3 --(Ren/Rev;V2LCF2;V7.5;20/8/90)
20051 II-51 $random
20052 II-52 $r
20053 II-53 $select
20054 II-54 $s
20055 II-55 $text
20056 II-56 $t
20057 II-57 $x
20058 II-58 $y
20059 II-59 $io --(Test corr;V7.3;20/6/88)
20060 II-60 $i --(Test corr;V7.3;20/6/88)
Lower case function names ( less $data ) and special variable names -4-
7---V2LCF4 --(Ren;V2LCF2;V7.5;20/8/90)
20061 II-61 $job
20062 II-62 $j
20063 II-63 $horolog
20064 II-64 $h
20065 II-65 $storage
20066 II-66 $s
20067 II-67 $test
20068 II-68 $t
Functions extended -1-
8---V2FN1
$DATA(glvn)
20069 II-69 Effect of local variable descendant KILL
20070 II-70 Effect of global variable descendant KILL
$EXTRACT(expr) with one argument
20071 II-71 expr is a strlit
20072 II-72 expr is 255 characters
20073 II-73 expr is an empty string
20074 II-74 expr is a numeric literal
$FIND(expr1,expr2,intexpr3)
20075 II-75 intexpr3<0 and expr1 is a strlit
20076 II-76 intexpr3<0 and expr1 is a variable
$JUSTIFY(numexpr1,intexpr2,intexpr3)
20077 II-77 0<numexpr1<1
20078 II-78 -1<numexpr1<0
$PIECE(expr1,expr2)
20079 II-91 expr1 and expr2 are strlits
20080 II-92 expr2 is an empty string
20081 II-93 expr1 is an empty string
20082 II-94 expr1 and expr2 are variables
Functions extended -2-
9---V2FN2
$LENGTH(expr1,expr2)
20083 II-79 expr1 and expr2 are string literals
20084 II-80 expr2 is an empty string
20085 II-81 $L(expr1)<$L(expr2)
20086 II-82 $L(expr1,expr2)=3
20087 II-83 $L(expr1,expr2)=2
20088 II-84 expr1 and expr2 are empty strings
20089 II-85 expr1 is an empty string
20090 II-86 $L(expr1,expr2)=1
20091 II-87 expr1 and expr2 are variables
20092 II-88 $L(expr1,expr2)=256
20093 II-89 expr2 contains a control character
20094 II-90 expr1 is a numeric literal
$TEXT(+intexpr)
II-95 intexpr=0
20095 II-95.1 intexpr=0 --(Withdrawn, moved to Part-90;10/10/92)
20096 II-95.2 ls has multi spaces --(Withdrawn, moved to Part-90;10/10/92)
Left hand $PIECE -1-
10---V2LHP1 --(Rev;V7.5;20/8/90, 12 tests 20097-20108 suppressed;10/10/92)
$PIECE(glvn,expr1)
20097 II-96 expr1 is a string literal
$PIECE(glvn,expr1,intexpr2)
20098 II-97 expr1 is a string literal
$PIECE(glvn,expr1,intexpr2,intexpr3)
K=max(0,$L(glvn,expr1)-1)
20099 II-98 intexpr2>intexpr3
II-99 intexpr3<1
20100 II-99.1 intexpr2=1
20101 II-99.2 intexpr2<intexpr3
20102 II-99.3 intexpr2>intexpr3
II-100 K<intexpr2-1<intexpr3
20103 II-100.1 K=0
20104 II-100.2 K=1
20105 II-100.3 K=2
II-101 intexpr2-1<=K<intexpr3
20106 II-101.1 K=0
20107 II-101.2 K=1
20108 II-101.3 K=2
Left hand $PIECE -2-
11---V2LHP2 --(Ren;V2LHP1;V7.5;20/8/90, 9 tests 20109-20117 suppressed;10/10/92)
II-102 intexpr2-1<intexpr3<=K
20109 II-102.1 K=1
20110 II-102.2 K=2
20111 II-102.3 K=5
20112 II-103 $D(glvn)=0 and intexpr3<1
20113 II-104 $D(glvn)=0 and intexpr2>intexpr3
20114 II-105 $D(glvn)=0 and intexpr3>intexpr2>1
20115 II-106 intexpr2<1
20116 II-107 glvn is naked reference
20117 II-108 Interpretation sequence of subscripted left hand $PIECE
Left hand $PIECE -3-
12---V2LHP3 --(Ren/Rev;V2LHP2;V7.5;20/8/90, 6 tests 20118-20123 suppressed;10/10/92)
20118 II-109 If setpiece on gvn affects naked indicator when intexpr2>intexpr3
--(Title chg;V7.5;20/12/89,suppressed;31/5/93)
20119 II-110 If setpiece on gvn affects naked indicator when intexpr3<1
--(Title chg;V7.5;20/12/89,suppressed;31/5/93)
20120 II-182 If setpiece on lvn affects naked indicator
--(Test ad;V7.5;20/12/89)
20121 II-111 Lower case left hand "$piece"
20122 II-112 Left hand $PIECE with postcondition
20123 II-113 Indirection of left hand $PIECE
Left hand $PIECE -4-
13---V2LHP4 --(Ren;V2LHP2,V7.5;20/8/90, 8 tests 20124-20131 suppressed;10/10/92)
20124 II-114 expr2 is an empty string --(Title corr;V7.5;20/12/89)
20125 II-115 Value of glvn is numeric data
20126 II-116 Control characters are used as delimiters (expr1)
20127 II-117 Value of expr1 contains operators
20128 II-118 intexpr2 and intexpr3 are numlits
II-119 Value of expr1,intexpr2,intexpr3 are functions
20129 II-119.1 $C
20130 II-119.2 $L
20131 II-119.3 $P
Variable name indirection -1-
14---V2VNIA
@lnamind@(L expr)
20132 II-120 lnamind is a lvn
20133 II-121 lnamind is a string literal
20134 II-122 lnamind is a rexpratom
@gnamind@(L expr)
20135 II-123 gnamind is a gvn
20136 II-124 gnamind is a indirection
20137 II-125 gnamind is 2 levels indirection
20138 II-126 Subscript is variable name indirection
@lnamind@(L expr)
20139 II-127 Multi use variable name indirection
@gnamind@(L expr)
20140 II-128 Multi use variable name indirection
20141 II-129 Effect of naked indicator by variable name indirection
Variable name indirection -2-
15---V2VNIB
II-130 Variable name indirection in postcondition
20142 II-130.1 local
20143 II-130.2 global
20144 II-130.3 DO and GOTO command
20145 II-131 Variable name indirection in expr to the right of the =
II-132 Value of indirection contains variable name indirection
20146 II-132.1 interpretation of indirection
20147 II-132.2 another interpretation of indirection
20148 II-132.3 value of name indirection contains variable name indirection
Variable name indirection -3-
16---V2VNIC
20149 II-133 Variable name indirection in expr
20150 II-134 Multi-assignment of variable name indirection
20151 II-135 Value of XECUTE argument contains variable name indirection
Naked references
17---V2NR
20152 II-136 Effect of naked reference on KILL command
20153 II-137 Effect of naked reference on $DATA function
20154 II-138 Effect of global reference in $DATA on naked indicator
20155 II-139 Interpretation sequence of SET command
Read count
18---V2READ
READ lvn readcount
20156 II-140 Terminated by readcount characters
20157 II-141 Terminated by <cr>
20158 II-142 Indirection argument
READ lvn readcount timeout
20159 II-143 Terminated by readcount characters
20160 II-144 Terminated by <cr>
20161 II-145 Terminated by timeout
20162 II-146 Test of $TEST when timeout time is 0
20163 II-147 Indirection argument
Pattern match -1-
19---V2PAT1
20164 II-148 expr ? . intlit2 patcode
20165 II-149 expr ? intlit1 . patcode
20166 II-150 expr ? intlit1 . intlit2 patcode
II-151 '?
20167 II-151.1 X'?patcode --(Number chg;V7.4;16/9/89)
20168 II-151.1.1 '(X?patcode) --(Test ad;V7.4;16/9/89)
20169 II-152 Multi patatom
20170 II-153 expr ? repcount patcode when expr is an empty string
20171 II-154 expr contains control characters
Pattern match -2-
20---V2PAT2
20172 II-155 Indirection pattern
20173 II-156 Nesting of pattern
20174 II-157 expr is 255 characters
20175 II-158 expr ? repcount strlit when strlit is an empty string
20176 II-159 expr ? repcount strlit when expr is an empty string
II-160 Lower case pattern code "c"
20177 II-160.1 repcount
20178 II-160.2 its mapping
20179 II-160.3 lvn?5c
II-161 Lower case pattern code "p"
20180 II-161.1 repcount
20181 II-161.2 its mapping
20182 II-161.3 lvn?5c
Pattern match -3-
21---V2PAT3 --(Rev;V2PAT3;V7.5;20/8/90)
II-162 Lower case pattern code "n"
20183 II-162.1 repcount
20184 II-162.2 its mapping
20185 II-162.3 lvn?5c
II-163 Lower case pattern code "u"
20186 II-163.1 repcount
20187 II-163.2 its mapping
20188 II-163.3 lvn?5c
II-164 Lower case pattern code "l"
20189 II-164.1 repcount
20190 II-164.2 its mapping
20191 II-164.3 lvn?5c
Pattern match -4-
22---V2PAT4 --(Ren;V2PAT3;V7.5;20/8/90)
II-165 Lower case pattern code "a"
20192 II-165.1 repcount
20193 II-165.2 its mapping
20194 II-165.3 lvn?5c
II-166 Lower case pattern code "e"
20195 II-166.1 repcount
20196 II-166.2 its mapping
20197 II-166.3 lvn?5c
$NEXT and $ORDER -1- ---($NEXT suppressed;10/10/92)
23---V2ORD1 --(Ren/Rev;V2NO;V7.5;20/8/90, 8 tests 20198-20205 suppressed;10/10/92)
(V2ORD1 is overlaid with V2ORDE.)
$NEXT(glvn) ---($NEXT suppressed;10/10/92)
II-167 Sequence starting from -1 when glvn is lvn
20198 II-167.1.1 Interpretation of a subscript string
--(Test ID tagged;V7.4;16/9/89)
20199 II-167.1.2 What is the set A (local)? --(Test ad;V7.4;16/9/89)
20200 II-167.1.3 The last returned value --(Test ad;V7.4;16/9/89)
20201 II-167.2 Subscript is one character (95 graphics including space)
II-168 Sequence starting from -1 when glvn is gvn
20202 II-168.1.1 Interpretation of a subscript string
--(Test ID tagged;V7.4;16/9/89)
20203 II-168.1.2 What is the set A (global)? --(Test ad;V7.4;16/9/89)
20204 II-168.1.3 The last returned value --(Test ad;V7.4;16/9/89)
20205 II-168.2 Subscript is one character (95 graphics including space)
$NEXT and $ORDER -2-
24---V2ORD2 --(Ren;V2NO;V7.5;20/8/90)
(V2ORD2 is overlaid with V2ORDE.)
$ORDER(glvn)
II-169 Sequence starting from an empty string when glvn is lvn
20206 II-169.1.1 Interpretation of a subscript
--(Test ID tagged;V7.4;16/9/89)
20207 II-169.1.2 What is the set A (local)? --(Test ad;V7.4;16/9/89)
20208 II-169.1.3 The last returned value --(Test ad;V7.4;16/9/89)
20209 II-169.2 Subscript is one character (95 graphics including space)
II-170 Sequence starting from an empty string when glvn is gvn
20210 II-170.1.1 Interpretation of a subscript --(Number chg;V7.4;16/9/89)
20211 II-170.1.2 What is the set A (global)? --(Test ad;V7.4;16/9/89)
20212 II-170.1.3 The last returned value --(Test ad;V7.4;16/9/89)
20213 II-170.2 Subscript is one character (95 graphics including space)
String subscript -1-
25---V2SSUB1 --(Ren;VV2SS1/VV2SSUB1;V7.4;16/9/89, 4 tests 20216-20224 suppressed; 1/15/84)
20214 II-171 Primitive sequence of subscripted lvn --(Title chg;V7.4;16/9/89)
20215 II-172 Primitive sequence of subscripted gvn --(Title chg;V7.4;16/9/89)
20216 II-173 Length of one subscript of a local variable is 31 (max)
--(Title chg;V7.4;16/9/89)
20217 II-174 Total length of a local variable is 63 (max)
--(Title chg;V7.4;16/9/89)
20218 II-175 Length of one subscript of a global variable is 31 (max)
--(Title chg;V7.4;16/9/89)
20219 II-176 Total length of a global variable is 63 (max)
--(Title chg;V7.4;16/9/89)
String subscript -2-
26---V2SSUB2 --(Ren;VV2SS2/VV2SSUB2;V7.4;16/9/89, 5 tests 20220-20224
suppressed;1/15/94)
20220 II-177 Naked reference when the total length of global variable is 63
characters (max) --(Title chg;V7.4;16/9/89)
20221 II-178 Minimum (-.999999999E25) to maximum (.999999999E25) number
for one subscript of local variable --(Title chg;V7.4;16/9/89)
20222 II-179 Minimum (-.999999999E25) to maximum (.999999999E25) number for
one subscript of global variable --(Title chg;V7.4;16/9/89)
20223 II-180 Total number of local variable subscripts is 31 (max)
--(Title chg;V7.4;16/9/89)
20224 II-181 Total number of global variable subscripts is 31 (max)
--(Title chg;V7.4;16/9/89)
End of Chapter 4 Validation Contents of Part-84