Merge branch 'fix-test_env-set_repo_refs' into 'master'

Actually clean gitlab-test path when TestEnv.set_repo_refs fails

See merge request !11939
This commit is contained in:
Robert Speicher 2017-06-06 16:24:13 +00:00
commit b9fcc48aef
1 changed files with 12 additions and 4 deletions

View File

@ -54,6 +54,8 @@ module TestEnv
'conflict-resolvable-fork' => '404fa3f'
}.freeze
TMP_TEST_PATH = Rails.root.join('tmp', 'tests', '**')
# Test environment
#
# See gitlab.yml.example test section for paths
@ -98,9 +100,7 @@ module TestEnv
#
# Keeps gitlab-shell and gitlab-test
def clean_test_path
tmp_test_path = Rails.root.join('tmp', 'tests', '**')
Dir[tmp_test_path].each do |entry|
Dir[TMP_TEST_PATH].each do |entry|
unless File.basename(entry) =~ /\A(gitaly|gitlab-(shell|test|test_bare|test-fork|test-fork_bare))\z/
FileUtils.rm_rf(entry)
end
@ -111,6 +111,14 @@ module TestEnv
FileUtils.mkdir_p(pages_path)
end
def clean_gitlab_test_path
Dir[TMP_TEST_PATH].each do |entry|
if File.basename(entry) =~ /\A(gitlab-(test|test_bare|test-fork|test-fork_bare))\z/
FileUtils.rm_rf(entry)
end
end
end
def setup_gitlab_shell
unless File.directory?(Gitlab.config.gitlab_shell.path)
unless system('rake', 'gitlab:shell:install')
@ -249,7 +257,7 @@ module TestEnv
# Before we used Git clone's --mirror option, bare repos could end up
# with missing refs, clearing them and retrying should fix the issue.
cleanup && init unless reset.call
cleanup && clean_gitlab_test_path && init unless reset.call
end
end