diff options
author | Ciro Santilli <ciro.santilli@gmail.com> | 2014-09-22 19:46:57 +0200 |
---|---|---|
committer | Ciro Santilli <ciro.santilli@gmail.com> | 2014-09-22 21:37:52 +0200 |
commit | 065ab3e5f302434a189038aa46a475154c79a91d (patch) | |
tree | 7c0c19326be64bb3b6b6e1f4353cdad44fa3e251 | |
parent | b43e918a73c88a8d922c5c5d79e2aa2bf42a9d29 (diff) | |
download | gitlab-ce-065ab3e5f302434a189038aa46a475154c79a91d.tar.gz |
Only clone GitLab Shell on tests if necessary.
-rw-r--r-- | lib/tasks/gitlab/shell.rake | 5 | ||||
-rw-r--r-- | spec/support/test_env.rb | 10 |
2 files changed, 10 insertions, 5 deletions
diff --git a/lib/tasks/gitlab/shell.rake b/lib/tasks/gitlab/shell.rake index ece3ad58385..2834570d8f0 100644 --- a/lib/tasks/gitlab/shell.rake +++ b/lib/tasks/gitlab/shell.rake @@ -22,7 +22,10 @@ namespace :gitlab do # Make sure we're on the right tag Dir.chdir(target_dir) do - sh "git fetch origin && git reset --hard $(git describe #{args.tag} || git describe origin/#{args.tag})" + # First try to checkout without fetching + # to avoid stalling tests if the Internet is down. + reset = "git reset --hard $(git describe #{args.tag} || git describe origin/#{args.tag})" + sh "#{reset} || git fetch origin && #{reset}" redis_url = URI.parse(ENV['REDIS_URL'] || "redis://localhost:6379") diff --git a/spec/support/test_env.rb b/spec/support/test_env.rb index e67c29a6783..4b0a3856f89 100644 --- a/spec/support/test_env.rb +++ b/spec/support/test_env.rb @@ -17,7 +17,11 @@ module TestEnv tmp_test_path = Rails.root.join('tmp', 'tests') if File.directory?(tmp_test_path) - FileUtils.rm_r(tmp_test_path) + Dir.entries(tmp_test_path).each do |entry| + unless ['.', '..', 'gitlab-shell'].include?(entry) + FileUtils.rm_r(File.join(tmp_test_path, entry)) + end + end end FileUtils.mkdir_p(tmp_test_path) @@ -38,9 +42,7 @@ module TestEnv end def setup_gitlab_shell - unless File.directory?(Gitlab.config.gitlab_shell.path) - %x[rake gitlab:shell:install] - end + `rake gitlab:shell:install` end def setup_factory_repo |