diff --git a/spec/support/test_env.rb b/spec/support/test_env.rb index 290ded3ff7e0068b980071f06829b337a534bfa5..71b9deeabc35868aefac1f1b7bf840c7558f86ef 100644 --- a/spec/support/test_env.rb +++ b/spec/support/test_env.rb @@ -176,6 +176,24 @@ module TestEnv spawn_script = Rails.root.join('scripts/gitaly-test-spawn').to_s @gitaly_pid = Bundler.with_original_env { IO.popen([spawn_script], &:read).to_i } + wait_gitaly + end + + def wait_gitaly + sleep_time = 10 + sleep_interval = 0.1 + socket = Gitlab::GitalyClient.address('default').sub('unix:', '') + + Integer(sleep_time / sleep_interval).times do + begin + Socket.unix(socket) + return + rescue + sleep sleep_interval + end + end + + raise "could not connect to gitaly at #{socket.inspect} after #{sleep_time} seconds" end def stop_gitaly