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