run takes a builder (do block contains some tests such as is or notOk), and build test from builder, run it, and report to stdout.
You can define your own run, see makeReportWithHook.