RevBank uses atomic file replacement by creating a new file and renaming
it over the old one. The newly created file is always in cwd, and
for the atomic rename() to work it must reside on the same filesystem as
the file it's replacing. Since File::Temp does the right thing and
creates files in /tmp by default, and /tmp is usually on a different
filesystem, these unit tests didn't actually work.
I don't know why they did work in the past. There doesn't seem to have
been any relevant change (or any at all, for that matter) to File::Temp,
which has had this behavior for ages. But I can't imagine that my /tmp
has only recently become a tmpfs mount either.
In any case, the issue is fixed by making File::Temp do the wrong thing,
which is to create its files in the cwd.