Using a tmp file prevents a failed build from being reported as succeeded. Changes in the compiler should now rebuild the tests automatically.