@@ -50,7 +50,13 @@ Property SourceNamespace As %String(MAXLEN = 255) [ Internal, Private ];
50
50
51
51
Property ProcessIDs As %List [ Internal , Private ];
52
52
53
- Property InteroperabilityProcesses As %Boolean [ InitialExpression = 0 , Internal , Private ];
53
+ /// 0 means don't bother with interoperability processes, 1 means track interoperability processes
54
+ Property InteroperabilityProcesses As %Integer [ InitialExpression = 0 , Internal , Private ];
55
+
56
+ /// these next two make it easier to start the monitor again with the same parameters
57
+ Property LastRelevantTargets As %List [ Internal , Private ];
58
+
59
+ Property LastMetrics As %List [ Internal , Private ];
54
60
55
61
Property Run As TestCoverage .Data .Run ;
56
62
@@ -180,9 +186,8 @@ Method CoverageTargetsSet(%value) As %Status [ Internal, Private ]
180
186
181
187
Method LogAssert (success , action , description , extra , args ...)
182
188
{
183
- set ^IRIS .TEMPCG ($i (^IRIS .TEMPCG )) = " We're in LogAssert"
184
189
do ##super (.success , .action , .description , .extra , args ...)
185
- if (..InteroperabilityProcesses ) {
190
+ if (..InteroperabilityProcesses && ( description = " StartProduction() " ) ) {
186
191
// Collect the list of PIDs used by Interoperability processes in the current namespace
187
192
// Run unit tests collecting coverage in that specific list of processes (plus the current process)
188
193
&sql (select %DLIST(Process) into :tProcessIDs from %SYS .ProcessQuery _SS () where " User" = '_Ensemble ')
@@ -194,6 +199,7 @@ Method LogAssert(success, action, description, extra, args...)
194
199
}
195
200
set ..ProcessIDs = tProcessIDs
196
201
set ^IRIS .TEMPCG ($i (^IRIS .TEMPCG )) = tProcessIDs
202
+ $$$ThrowOnError(..Monitor .StartWithScope (..LastRelevantTargets , ..LastMetrics , tProcessIDs ))
197
203
}
198
204
}
199
205
@@ -278,6 +284,8 @@ Method StartCoverageTracking() As %Status [ Private ]
278
284
}
279
285
// set ^IRIS.TEMPCG($i(^IRIS.TEMPCG)) = tProcessIDs
280
286
Set tMetrics = $ListBuild (" RtnLine" ) _ $Select (..Timing :$ListBuild (" Time" ," TotalTime" ),1 :" " )
287
+ Set ..LastRelevantTargets = tRelevantTargets
288
+ Set ..LastMetrics = tMetrics
281
289
$$$ThrowOnError(..Monitor .StartWithScope (tRelevantTargets ,tMetrics ,tProcessIDs ))
282
290
}
283
291
} Catch e {
0 commit comments