TST: use ensure_clean contextmanager to avoid spewing temporary files if
     testing is interrupted