intersystems / TestCoverage

Test Coverage Tool
MIT License
9 stars 8 forks source link

Do a better job collecting coverage on all processes #14

Closed isc-tleavitt closed 4 months ago

isc-tleavitt commented 2 years ago

With CoverageDetail>1 it's common to see messages like the following if you collect coverage on all files: ERROR #5001: Some process(es) still holding on to shared memory for line by line monitor after 5 attempts to release.

This is most important when testing interoperability, which runs across multiple processes.

It might be possible to do something like: Restart the active production in the current namespace before trying to start the monitor Collect the list of PIDs used by Interoperability processes in the current namespace Run unit tests collecting coverage in that specific list of processes (plus the current process)

This behavior could be toggled by a single flag in userParam.

isc-tleavitt commented 11 months ago

Need to investigate if this is fixed in more recent IRIS versions - you never know!

isc-tleavitt commented 4 months ago

Finding interoperability processes: select %DLIST(Process) from %SYS.ProcessQuery_SS() where "User" = '_Ensemble' and Namespace = ?