diff --git a/cls/TestCoverage/Data/CodeUnit.cls b/cls/TestCoverage/Data/CodeUnit.cls index 7266342..e03e143 100644 --- a/cls/TestCoverage/Data/CodeUnit.cls +++ b/cls/TestCoverage/Data/CodeUnit.cls @@ -14,7 +14,7 @@ Index NameTypeHash On (Name, Type, Hash) [ Data = ExecutableLines, Unique ]; /// Name of the code unit Property Name As %String(MAXLEN = 255) [ Required ]; -/// Type (3-letter extension) of the code unit +/// Type (2 or 3-letter extension) of the code unit Property Type As TestCoverage.DataType.RoutineType [ Required ]; /// Hash of the code unit; for methods for determining this, see <method>GetCurrentHash</method> @@ -396,6 +396,10 @@ ClassMethod GetCurrentHash(pName As %String, pType As %String, Output pHash As % // Skip header (lines 1-4) which, for .INT routines generated from classes, // includes the class compilation signature. Set pHash = ..HashArrayRange(.pCodeArray,5,pName_"."_pType,.tSizeHint) + } ElseIf (pType = "PY") { + Merge pCodeArray = ^ROUTINE(pName_".py",0) + set tSizeHint = ^ROUTINE(pName_".py",0,0) + set pHash = ..HashArrayRange(.pCodeArray, ,pName_".py", .pSizeHint) } Else { // Give standard descriptive error about the type being invalid. $$$ThrowStatus(..TypeIsValid(pType)) @@ -492,4 +496,3 @@ Storage Default } } - diff --git a/cls/TestCoverage/DataType/RoutineType.cls b/cls/TestCoverage/DataType/RoutineType.cls index 4dd999a..11b4cc9 100644 --- a/cls/TestCoverage/DataType/RoutineType.cls +++ b/cls/TestCoverage/DataType/RoutineType.cls @@ -3,7 +3,6 @@ Class TestCoverage.DataType.RoutineType Extends %String [ ClassType = datatype ] Parameter MAXLEN = 3; -Parameter VALUELIST = ",CLS,MAC,INT"; +Parameter VALUELIST = ",CLS,MAC,INT,PY"; } - diff --git a/cls/TestCoverage/Manager.cls b/cls/TestCoverage/Manager.cls index 33b1175..146d28a 100644 --- a/cls/TestCoverage/Manager.cls +++ b/cls/TestCoverage/Manager.cls @@ -243,7 +243,6 @@ Method StartCoverageTracking() As %Status [ Private ] } } Set tMetrics = $ListBuild("RtnLine") _ $Select(..Timing:$ListBuild("Time","TotalTime"),1:"") - set ^IRIS.TEMPCG($i(^IRIS.TEMPCG)) = ..CoverageClasses $$$ThrowOnError(..Monitor.StartWithScope(tRelevantTargets,tMetrics,tProcessIDs, ..CoverageClasses)) } } Catch e {