• Lin Jen-Shin's avatar
    Preserve gem path so that we use the same gems · 873bc3a6
    Lin Jen-Shin authored
    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.
    873bc3a6