Currently, if you set ENV["TMPDIR"] to a value that doesn't meet Dir.tmpdir criteria to become the temporary folder, the environment variable is silently ignored and the next variable in the chain is checked.
This makes issues quite hard to debug, because the temporary folder can get silently set to a value you don't expect.
Currently, if you set
ENV["TMPDIR"]
to a value that doesn't meetDir.tmpdir
criteria to become the temporary folder, the environment variable is silently ignored and the next variable in the chain is checked.This makes issues quite hard to debug, because the temporary folder can get silently set to a value you don't expect.
An example of this is: https://github.com/rubygems/rubygems/issues/3649.
And I believe current failures in https://github.com/ruby/ruby/pull/3211 might be caused by the same issue.
Would it be possible to replace the following "silent rescue" to introduce a warning when it's hit?
https://github.com/ruby/tmpdir/blob/b08fec48d5cef93ea3dbaa604c9e0b833f086dae/lib/tmpdir.rb#L30
I'm happy to create a PR if this is accepted.