This reverts commit 9865440d21.
This is not ready to land yet, seems like the latest update
of the logic reveals a bunch more places I need to fix before it can land.
Test harness code for C++ unit testing Many of these tests are run during the build process. In that case on unix, if a test fails follow the error messages to debug it under gdb.