Merge branch 'gitaly-test-bundle-path' into 'master'
Use existing BUNDLE_PATH for gitaly in local tests See merge request !13493
This commit is contained in:
		
						commit
						004d335f26
					
				|  | @ -15,13 +15,17 @@ namespace :gitlab do | ||||||
|       checkout_or_clone_version(version: version, repo: args.repo, target_dir: args.dir) |       checkout_or_clone_version(version: version, repo: args.repo, target_dir: args.dir) | ||||||
| 
 | 
 | ||||||
|       _, status = Gitlab::Popen.popen(%w[which gmake]) |       _, status = Gitlab::Popen.popen(%w[which gmake]) | ||||||
|       command = status.zero? ? 'gmake' : 'make' |       command = status.zero? ? ['gmake'] : ['make'] | ||||||
|  | 
 | ||||||
|  |       if Rails.env.test? | ||||||
|  |         command += %W[BUNDLE_PATH=#{Bundler.bundle_path}]  | ||||||
|  |       end | ||||||
| 
 | 
 | ||||||
|       Dir.chdir(args.dir) do |       Dir.chdir(args.dir) do | ||||||
|         create_gitaly_configuration |         create_gitaly_configuration | ||||||
|         # In CI we run scripts/gitaly-test-build instead of this command |         # In CI we run scripts/gitaly-test-build instead of this command | ||||||
|         unless ENV['CI'].present? |         unless ENV['CI'].present? | ||||||
|           Bundler.with_original_env { run_command!(%w[/usr/bin/env -u RUBYOPT -u BUNDLE_GEMFILE] + [command]) } |           Bundler.with_original_env { run_command!(%w[/usr/bin/env -u RUBYOPT -u BUNDLE_GEMFILE] + command) } | ||||||
|         end |         end | ||||||
|       end |       end | ||||||
|     end |     end | ||||||
|  |  | ||||||
|  | @ -54,17 +54,17 @@ describe 'gitlab:gitaly namespace rake task' do | ||||||
|       before do |       before do | ||||||
|         FileUtils.mkdir_p(clone_path) |         FileUtils.mkdir_p(clone_path) | ||||||
|         expect(Dir).to receive(:chdir).with(clone_path).and_call_original |         expect(Dir).to receive(:chdir).with(clone_path).and_call_original | ||||||
|  |         allow(Bundler).to receive(:bundle_path).and_return('/fake/bundle_path') | ||||||
|       end |       end | ||||||
| 
 | 
 | ||||||
|       context 'gmake is available' do |       context 'gmake is available' do | ||||||
|         before do |         before do | ||||||
|           expect(main_object).to receive(:checkout_or_clone_version) |           expect(main_object).to receive(:checkout_or_clone_version) | ||||||
|           allow(main_object).to receive(:run_command!).with(command_preamble + ['gmake']).and_return(true) |  | ||||||
|         end |         end | ||||||
| 
 | 
 | ||||||
|         it 'calls gmake in the gitaly directory' do |         it 'calls gmake in the gitaly directory' do | ||||||
|           expect(Gitlab::Popen).to receive(:popen).with(%w[which gmake]).and_return(['/usr/bin/gmake', 0]) |           expect(Gitlab::Popen).to receive(:popen).with(%w[which gmake]).and_return(['/usr/bin/gmake', 0]) | ||||||
|           expect(main_object).to receive(:run_command!).with(command_preamble + ['gmake']).and_return(true) |           expect(main_object).to receive(:run_command!).with(command_preamble + %w[gmake BUNDLE_PATH=/fake/bundle_path]).and_return(true) | ||||||
| 
 | 
 | ||||||
|           run_rake_task('gitlab:gitaly:install', clone_path) |           run_rake_task('gitlab:gitaly:install', clone_path) | ||||||
|         end |         end | ||||||
|  | @ -73,15 +73,26 @@ describe 'gitlab:gitaly namespace rake task' do | ||||||
|       context 'gmake is not available' do |       context 'gmake is not available' do | ||||||
|         before do |         before do | ||||||
|           expect(main_object).to receive(:checkout_or_clone_version) |           expect(main_object).to receive(:checkout_or_clone_version) | ||||||
|           allow(main_object).to receive(:run_command!).with(command_preamble + ['make']).and_return(true) |           expect(Gitlab::Popen).to receive(:popen).with(%w[which gmake]).and_return(['', 42]) | ||||||
|         end |         end | ||||||
| 
 | 
 | ||||||
|         it 'calls make in the gitaly directory' do |         it 'calls make in the gitaly directory' do | ||||||
|           expect(Gitlab::Popen).to receive(:popen).with(%w[which gmake]).and_return(['', 42]) |           expect(main_object).to receive(:run_command!).with(command_preamble + %w[make BUNDLE_PATH=/fake/bundle_path]).and_return(true) | ||||||
|           expect(main_object).to receive(:run_command!).with(command_preamble + ['make']).and_return(true) |  | ||||||
| 
 | 
 | ||||||
|           run_rake_task('gitlab:gitaly:install', clone_path) |           run_rake_task('gitlab:gitaly:install', clone_path) | ||||||
|         end |         end | ||||||
|  | 
 | ||||||
|  |         context 'when Rails.env is not "test"' do | ||||||
|  |           before do | ||||||
|  |             allow(Rails.env).to receive(:test?).and_return(false) | ||||||
|  |           end | ||||||
|  | 
 | ||||||
|  |           it 'calls make in the gitaly directory without BUNDLE_PATH' do | ||||||
|  |             expect(main_object).to receive(:run_command!).with(command_preamble + ['make']).and_return(true) | ||||||
|  |    | ||||||
|  |             run_rake_task('gitlab:gitaly:install', clone_path) | ||||||
|  |           end | ||||||
|  |         end | ||||||
|       end |       end | ||||||
|     end |     end | ||||||
|   end |   end | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue