Project

General

Profile

« Previous | Next » 

Revision 54d472d9

Added by nobu (Nobuyoshi Nakada) over 1 year ago

[rubygems/rubygems] Honor a specified path as the temporary diretory if given

The problem

Currently the tests are executed in the fixed name directory "tmp"
under the top source directory. However it makes the tests fail when
the source path contains symlinks. Or unable to even start if the top
source directory is read-only, e.g., remote-mounting in read-only mode
from virtual machines.

Also, with the fixed directory, there is no way to avoid pend in
TestGemPackage#test_extract_symlink_parent_doesnt_delete_user_dir.

The fix

Instead of creating the fixed name directory, this PR allows to use a
different path given with the environment variable "GEM_TEST_TMPDIR".
The default path is, as well as the current behavior, "tmp" from the
top source directory.

Caveat

It is the caller's responsibility to make the directory safe (owned,
world unwritable, or sticky) when setting the environment variable.

https://github.com/rubygems/rubygems/commit/bf00850656