| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  | require "English" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-29 15:31:47 +02:00
										 |  |  | ENV["BUNDLE_GEMFILE"] = "#{HOMEBREW_LIBRARY_PATH}/cask/Gemfile" | 
					
						
							|  |  |  | ENV["BUNDLE_PATH"] = "#{HOMEBREW_LIBRARY_PATH}/vendor/bundle" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-20 00:02:04 +01:00
										 |  |  | def run_tests(executable, files, args = []) | 
					
						
							| 
									
										
										
										
											2016-09-20 14:57:08 +01:00
										 |  |  |   opts = [] | 
					
						
							|  |  |  |   opts << "--serialize-stdout" if ENV["CI"] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   system "bundle", "exec", executable, *opts, "--", *args, "--", *files | 
					
						
							| 
									
										
										
										
											2016-09-20 00:02:04 +01:00
										 |  |  | end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-29 15:31:47 +02:00
										 |  |  | repo_root = Pathname.new(__FILE__).realpath.parent.parent | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  | repo_root.cd do | 
					
						
							|  |  |  |   ENV["HOMEBREW_NO_ANALYTICS_THIS_RUN"] = "1" | 
					
						
							| 
									
										
										
										
											2016-10-18 16:24:30 +02:00
										 |  |  |   ENV["HOMEBREW_NO_EMOJI"] = "1" | 
					
						
							|  |  |  |   ENV.delete("HOMEBREW_CASK_OPTS") | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  |   Homebrew.install_gem_setup_path! "bundler" | 
					
						
							|  |  |  |   unless quiet_system("bundle", "check") | 
					
						
							| 
									
										
										
										
											2016-10-29 15:31:47 +02:00
										 |  |  |     system "bundle", "install" | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-20 00:02:04 +01:00
										 |  |  |   rspec = ARGV.flag?("--rspec") || !ARGV.flag?("--minitest") | 
					
						
							|  |  |  |   minitest = ARGV.flag?("--minitest") || !ARGV.flag?("--rspec") | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-12-04 14:14:11 +00:00
										 |  |  |   p [:coverage, ARGV.flag?("--coverage"), ENV["CI"], ENV["TRAVIS"]] | 
					
						
							|  |  |  |   if ARGV.flag?("--coverage") | 
					
						
							|  |  |  |     ENV["HOMEBREW_TESTS_COVERAGE"] = "1" | 
					
						
							|  |  |  |     upload_coverage = ENV["CODECOV_TOKEN"] || ENV["TRAVIS"] | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2016-09-20 00:02:04 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-10 08:50:21 +09:00
										 |  |  |   failed = false | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-20 13:16:11 +01:00
										 |  |  |   if rspec | 
					
						
							|  |  |  |     run_tests "parallel_rspec", Dir["spec/**/*_spec.rb"], %w[
 | 
					
						
							| 
									
										
										
										
											2016-10-19 22:27:14 +02:00
										 |  |  |       --color | 
					
						
							|  |  |  |       --require spec_helper | 
					
						
							| 
									
										
										
										
											2016-09-20 13:16:11 +01:00
										 |  |  |       --format progress | 
					
						
							|  |  |  |       --format ParallelTests::RSpec::RuntimeLogger | 
					
						
							|  |  |  |       --out tmp/parallel_runtime_rspec.log | 
					
						
							|  |  |  |     ] | 
					
						
							| 
									
										
										
										
											2016-11-10 08:50:21 +09:00
										 |  |  |     failed ||= !$CHILD_STATUS.success? | 
					
						
							| 
									
										
										
										
											2016-09-20 13:16:11 +01:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   if minitest | 
					
						
							|  |  |  |     run_tests "parallel_test", Dir["test/**/*_test.rb"] | 
					
						
							| 
									
										
										
										
											2016-11-10 08:50:21 +09:00
										 |  |  |     failed ||= !$CHILD_STATUS.success? | 
					
						
							| 
									
										
										
										
											2016-09-20 13:16:11 +01:00
										 |  |  |   end | 
					
						
							| 
									
										
										
										
											2016-09-20 00:02:04 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-10 08:50:21 +09:00
										 |  |  |   Homebrew.failed = failed | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-12-04 14:14:11 +00:00
										 |  |  |   if upload_coverage | 
					
						
							|  |  |  |     puts "Submitting Codecov coverage..." | 
					
						
							| 
									
										
										
										
											2016-09-20 16:39:16 +01:00
										 |  |  |     system "bundle", "exec", "rake", "test:coverage:upload" | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |   end | 
					
						
							|  |  |  | end |