ruby / tmpdir

Retrieve temporary directory path
5 stars 11 forks source link

Warn when value from environment is being ignored by `Dir.tmpdir` #2

Closed deivid-rodriguez closed 4 years ago

deivid-rodriguez commented 4 years ago

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.

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.

simi commented 4 years ago

:thinking: warning seems ok, :+1: