We currently use the test's func to determine whether it is a compile-time or a
run-time test. This means that run_command tests and the like are considered to
be neither run-time nor compile-time tests and only get run in the normal way.
This is quite surprising (see Trac #16042) and has meant that some tests have gone
silently un-run in the past. Warn when this happens.
Frankly, this design is a bit unfortunate but changing it is a bit more work
than I have time to invest at the moment.