Principal Class
1
64917,52850.057326
64832,56786.788376
RegEx start
%String
(?mi)^\s*
RegEx to parse html, js and sql tags
%String
RegEx to parse DIMs
%String
(?:(?:#dim[^=]+=))
RegEx to parse cache commands. Some are ignored in purpose.
%String
(?:return|ret|if|i|do|d|set|s|kill|k|new|n|while|for|f|write|w|zwrite|zw|zzwrite|break|b|close|c|continue|goto|g|halt|h|hang|job|j|lock|l|merge|m|open|o|read|r|tcommit|tc|throw|trollback|tro|tstart|ts|use|u|view|v|xecute|zkill|zk|znspace|zn|ztrap|zzdump|quit|q)(?:\s+|\(|\{|$)
RegEx end
%String
.*
Ignored tokens: try,catch,else,e,elseif
%String
..#ReStart_"(?:"_..#ReEmbedded_"|"_..#ReDim_"|"_..#ReCommon_")"_..#ReEnd
RegEx used to parse a routine name
%String
(^.+)\.G?[0-9]$
OnAfterRunOneTestCase
1
pstrOutputLogFile:%String
OnBeforeRunOneTestCase
1
pstrTestSuite:%String,pstrMetrics:%String="RtnLine"
1
ptheLogicSuite:%String="lite.test.coverage.linebyline.co.*",ptheTestClass:%String="lite.test.coverage.linebyline.test.co.ComponentTest",ptheTestMethod:%String="TestAdd",pstrOutputLogFile:%String="C:\Temp\Coverage.xml",pstrMetrics:%String="RtnLine"
ProcessCoverageRoutine
1
pintLogIndex:%Integer=0,pintRoutine:%Integer
WorkerMigrateRoutineToClass
1
%Status
",,, "Unnable to get class for routine "_tResLines.%Get("RoutineName"))
Continue
}
#Dim tClassName As %String = $Piece(tOther,".",1,*-1)
#Dim tMap
Kill tMap
#Dim tLineNumber As %Integer = tResLines.%Get("LineNumber")
Set a = ##class(%Studio.Debugger).SourceLine(tResLines.%Get("RoutineName"), tLineNumber, 1, tLineNumber, $Length(..GetLineText(tResLines.%Get("RoutineName"),"int",tLineNumber)), $Namespace, .tMap)
#Dim tData1
#Dim tData2
If ($Data(tMap("CLS",1),tData1) && $Data(tMap("CLS",2),tData2))
{
#Dim tClass1 As %String
#Dim tMethod1 As %String
#Dim tLine1 As %Integer
Set $ListBuild(tClass1,tMethod1,tLine1) = tData1
#Dim tClass2 As %String
#Dim tMethod2 As %String
#Dim tLine2 As %Integer
Set $ListBuild(tClass2,tMethod2,tLine2) = tData2
#Dim tMethodOffset As %Integer
If ($Data(^gTestCoverageMethodMaps(tOther,tMethod1), tMethodOffset))
{
#Dim tLine As %Integer
For tLine = tLine1 : 1 : tLine2
{
Set tClassLine = tMethodOffset + 1 + tLine
&sql(update lite_test_coverage_linebyline_dm_tables.LineCoverage
set LineCovered = 1
where TestIndex = :pTestIndex
and RoutineType = 'cls'
and RoutineName = :tClassName
and LineNumber = :tClassLine
)
If (SQLCODE < 0)
{
Throw ##class(%Exception.SQL).CreateFromSQLCODE(SQLCODE,%msg)
}
}
}
}
}
$$$ThrowOnError(tSC)
}
Catch (exc)
{
Set sta = exc.AsStatus()
}
Return sta
]]>
FromIntToCls
1
pstrRoutineName:%String
1
%String
GetLineText
1
pRoutineName,pRoutineType,pLineNumber
%String
1
WorkerProcessPackage
1
%Status
ProcessClassName
1
pobjIsExecutableMatcher:%Regex.Matcher,tOther:%String,pTestIndex:%Integer
GenerateXML
1
pstrPath:%String
ExportXMLToFile
1
pobjXML:lite.test.coverage.linebyline.xml.coverage,pstrPath:%String
1
lite.test.coverage.linebyline.dm.LineCoverage
1
64917,66460.078711
64832,58352.910303
%Query
pRoutine:%String
1
ResultExecute
1
%Status
ResultFetch
1
ResultExecute
%Status
ResultClose
1
ResultExecute
%Status
GetLineText
1
pRoutineName,pRoutineType,pLineNumber
%String
1
lite.test.coverage.linebyline.dm.tables.LineCoverage
%Persistent
64917,66498.324151
64832,58643.086081
Test instance index
%String
1
Routine or classname
%String
"cls" or "int"
%String
1
Line number
%Integer
Source code for that routine, line number
%String
Is this line covered?
%Boolean
Is this line executable?
%Boolean
0
TestIndex,RoutineType,RoutineName,LineNumber
1
bitmap
TestIndex
bitmap
LineCovered
bitmap
Executable
%Library.CacheStorage
^lite.test.covBF8B.LineCoverageD
LineCoverageDefaultData
^lite.test.covBF8B.LineCoverageD
^lite.test.covBF8B.LineCoverageI
^lite.test.covBF8B.LineCoverageS
%%CLASSNAME
TestIndex
RoutineName
RoutineType
LineNumber
LineText
LineCovered
Executable
Compatible with the Generic coverage plugin for Jenkins
1
%RegisteredObject,%XML.Adaptor
64837,72679
64314,33698.012127
lineToCover
1
1
%xsd.positiveInteger
1
%Boolean
1
%xsd.nonNegativeInteger
%xsd.nonNegativeInteger
Compatible with the Generic coverage plugin for Jenkins
1
%RegisteredObject,%XML.Adaptor
64837,72679
64314,33698.003727
coverage
1
1
lite.test.coverage.linebyline.xml.file
list
%xsd.positiveInteger
1
1
Compatible with the Generic coverage plugin for Jenkins
1
%RegisteredObject,%XML.Adaptor
64837,72679
64314,33698.008103
file
1
1
lite.test.coverage.linebyline.xml.LineToCover
list
%String
1