I have discussed extensively with Andrew Cheshire, the author of the Atelier parser (which I'll be able to hack on and reuse for CachéQuality -- yay!), and while we were at it, we also discussed code coverage.
We ended up talking about the ZBREAK command and its
It appears that combining this command and the unit test runner, we can indeed do code coverage (Andrew also told me about a way to map "back" routine lines to original lines in the source code).
So, according to the information above and this page, a sequence of possible command would be (provided we are in the correct namespace):
- set ^UnitTestRoot = "/path/to/test/root"
- zbreak /TRACE:ALL:someOtherFile
- do ##class(UnitTest.Manager).RunTest("someDirUnderRoot")
- [and the commands to disable tracing]
The problem though is that the trace format refers to int code... However Andrew told me that it was possible to "map back" to the "real", COS code.
The question is, how?