Using a tmp file prevents a failed build from being reported as succeeded. Changes in the compiler should now rebuild the tests automatically.
Fix: skip() would not work without peek() on iteration 0 or 1.