/* Extract coverage data */
parse upper arg Pgm Ft Fm
'STATE' Pgm 'TEST1 A'
IF rc = 0 then do
say Pgm 'TEST1 A already present'
exit 69
end
TestNum = 0
DO Forever
'EXECIO 1 DISKR' Pgm Ft Fm '(VAR TLINE'
IF rc ^= 0 then leave
IF TestNum = 0 then do
call Init
end
ELSE do
call Combine
end
end
IF Cline.0 > 0 then do
DO i = 1 to cline.0
queue cline.i
end
'EXECIO' queued() 'DISKW' Pgm 'TEST1 A (FINIS'
end
'EXECIO 0 DISKR' Pgm Ft Fm '(FINIS'
Say 'Total executions =' TestNum
exit
Init:
parse upper var tline PgmT VerbT UseT Col80T . Junk
IF Junk = '' & PgmT = Pgm & VerbT = 'EXECUTED' then do
TestNum = TestNum + 1
say 'Test' TestNum 'extracted'
return
end
IF Junk = '' & PgmT = Pgm & VerbT > 0 then do
c = VerbT
cline.0 = c
cline.c = Pgm c UseT Col80T
end
return
Combine:
parse upper var tline PgmT VerbT UseT . . Junk
IF Junk = '' & PgmT = Pgm & VerbT = 'EXECUTED' then do
TestNum = TestNum + 1
say 'Test' TestNum 'extracted'
return
end
IF Junk = '' & PgmT = Pgm & VerbT > 0 & VerbT < ( cline.0 + 1 ) then do
c = VerbT
CombUse = word(cline.c,3) + UseT
cline.c = Pgm c CombUse word(cline.c,4)
end
return
|
© Copyright IT Doctors.co.uk. 2002