Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/ruby
diff options
context:
space:
mode:
authorPatrick Steinhardt <psteinhardt@gitlab.com>2021-11-16 13:39:08 +0300
committerPatrick Steinhardt <psteinhardt@gitlab.com>2021-11-16 14:32:03 +0300
commit0ae490dfa7899af26695a9ff0c8c4f090c9dc9dd (patch)
treeccd4d9a05ed25fcbfd976e765d0119da04df1573 /ruby
parent8f04e23b9f004d70635aaeecd30d837a584572f8 (diff)
ruby: Create test data in temporary directory
Test data for our rspecs is currently created inside of the worktree in "ruby/tmp". This is bad practice, and we have long since converted our Go tests to use temporary directories instead. Convert rspecs to do the same and remove the corresponding ignore rule.
Diffstat (limited to 'ruby')
-rw-r--r--ruby/spec/lib/gitlab/git/remote_repository_client_spec.rb2
-rw-r--r--ruby/spec/spec_helper.rb7
-rw-r--r--ruby/spec/support/helpers/integration_helper.rb4
-rw-r--r--ruby/spec/test_repo_helper.rb2
4 files changed, 9 insertions, 6 deletions
diff --git a/ruby/spec/lib/gitlab/git/remote_repository_client_spec.rb b/ruby/spec/lib/gitlab/git/remote_repository_client_spec.rb
index 8375a0187..a52d060c1 100644
--- a/ruby/spec/lib/gitlab/git/remote_repository_client_spec.rb
+++ b/ruby/spec/lib/gitlab/git/remote_repository_client_spec.rb
@@ -113,7 +113,7 @@ describe Gitlab::Git::GitalyRemoteRepository do
end
context 'unix' do
- let(:client) { get_client("unix:#{File.join(TMP_DIR_NAME, SOCKET_PATH)}") }
+ let(:client) { get_client("unix:#{File.join(TMP_DIR, SOCKET_PATH)}") }
it 'Should connect over unix' do
expect(client).not_to be_empty
diff --git a/ruby/spec/spec_helper.rb b/ruby/spec/spec_helper.rb
index 631cb0a78..52296007e 100644
--- a/ruby/spec/spec_helper.rb
+++ b/ruby/spec/spec_helper.rb
@@ -7,8 +7,7 @@ require 'factory_bot'
require 'pry'
GITALY_RUBY_DIR = File.expand_path('..', __dir__).freeze
-TMP_DIR_NAME = 'tmp'.freeze
-TMP_DIR = File.join(GITALY_RUBY_DIR, TMP_DIR_NAME).freeze
+TMP_DIR = Dir.mktmpdir('gitaly-ruby-tests-').freeze
GITLAB_SHELL_DIR = File.join(TMP_DIR, 'gitlab-shell').freeze
# overwrite HOME env variable so user global .gitconfig doesn't influence tests
@@ -24,4 +23,8 @@ RSpec.configure do |config|
config.before(:suite) do
FactoryBot.find_definitions
end
+
+ config.after(:suite) do
+ FileUtils.rm_rf(TMP_DIR)
+ end
end
diff --git a/ruby/spec/support/helpers/integration_helper.rb b/ruby/spec/support/helpers/integration_helper.rb
index bd2af3fd8..5d3a1ef7c 100644
--- a/ruby/spec/support/helpers/integration_helper.rb
+++ b/ruby/spec/support/helpers/integration_helper.rb
@@ -34,7 +34,7 @@ module IntegrationClient
klass = Gitaly.const_get(service).const_get(:Stub)
addr = case type
when 'unix'
- "unix:#{File.join(TMP_DIR_NAME, SOCKET_PATH)}"
+ "unix:#{File.join(TMP_DIR, SOCKET_PATH)}"
when 'tcp', 'tls'
"#{type}://localhost:#{GitalyConfig.dynamic_port(type)}"
end
@@ -101,7 +101,7 @@ def start_gitaly
gitaly_pid = spawn(File.join(build_dir, 'bin/gitaly'), config_path, options)
at_exit { Process.kill('KILL', gitaly_pid) }
- wait_ready!(File.join(TMP_DIR_NAME, SOCKET_PATH))
+ wait_ready!(File.join(TMP_DIR, SOCKET_PATH))
end
def wait_ready!(socket)
diff --git a/ruby/spec/test_repo_helper.rb b/ruby/spec/test_repo_helper.rb
index 682476fad..8a0b25cb4 100644
--- a/ruby/spec/test_repo_helper.rb
+++ b/ruby/spec/test_repo_helper.rb
@@ -10,7 +10,7 @@ Gitlab.config.git.test_global_ivar_override(:bin_path, ENV.fetch('GITALY_TESTING
Gitlab.config.git.test_global_ivar_override(:hooks_directory, File.join(GITALY_RUBY_DIR, "hooks"))
Gitlab.config.gitaly.test_global_ivar_override(:bin_dir, __dir__)
-DEFAULT_STORAGE_DIR = File.expand_path('../tmp/repositories', __dir__)
+DEFAULT_STORAGE_DIR = File.join(TMP_DIR, 'repositories', __dir__)
DEFAULT_STORAGE_NAME = 'default'.freeze
TEST_REPO_PATH = File.join(DEFAULT_STORAGE_DIR, 'gitlab-test.git')
TEST_REPO_ORIGIN = '../_build/testrepos/gitlab-test.git'.freeze