Preserve gem path so that we use the same gems
Without this patch, I would end up with: ``` An error occurred in a `before(:suite)` hook. Failure/Error: raise "could not connect to gitaly at #{socket.inspect} after #{sleep_time} seconds" RuntimeError: could not connect to gitaly at "tmp/tests/gitaly/gitaly.socket" after 10 seconds ``` Digging into it, it's because `scripts/gitaly-test-spawn` could not spawn the process, because it cannot find the installed gems. I personally installed all my gems under $HOME, namely with: * `gem install rake --user-install` or: * `bundle install --path ~/.gem` The gems would be installed to `~/.gem/ruby/2.4.0/gems`, where the version is Ruby ABI version. Now we're changing $HOME, making RubyGems think that the gems would be installed to `tmp/tests/ruby/2.4.0/gems` which is apparently not the case. In order to workaround this, we could preserve $GEM_PATH populated by RubyGems, ignoring the default path based on $HOME.
This commit is contained in:
parent
888ed30969
commit
873bc3a685
1 changed files with 2 additions and 1 deletions
|
@ -1,7 +1,8 @@
|
|||
#!/usr/bin/env ruby
|
||||
|
||||
gitaly_dir = 'tmp/tests/gitaly'
|
||||
env = { 'HOME' => File.expand_path('tmp/tests') }
|
||||
env = { 'HOME' => File.expand_path('tmp/tests'),
|
||||
'GEM_PATH' => Gem.path.join(':') }
|
||||
args = %W[#{gitaly_dir}/gitaly #{gitaly_dir}/config.toml]
|
||||
|
||||
# Print the PID of the spawned process
|
||||
|
|
Loading…
Reference in a new issue