| 
									
										
										
										
											2019-04-19 15:38:03 +09:00
										 |  |  | # frozen_string_literal: true | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-27 11:49:56 +00:00
										 |  |  | require "cmd/shared_examples/args_parse" | 
					
						
							| 
									
										
										
										
											2024-03-21 21:52:32 -07:00
										 |  |  | require "dev-cmd/test" | 
					
						
							| 
									
										
										
										
											2024-04-13 00:25:32 -04:00
										 |  |  | require "sandbox" | 
					
						
							| 
									
										
										
										
											2019-03-27 11:49:56 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-21 21:52:32 -07:00
										 |  |  | RSpec.describe Homebrew::DevCmd::Test do | 
					
						
							| 
									
										
										
										
											2019-03-27 11:49:56 +00:00
										 |  |  |   it_behaves_like "parseable arguments" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-02-25 16:29:05 +00:00
										 |  |  |   it "tests a given Formula", :integration_test do | 
					
						
							| 
									
										
										
										
											2019-03-27 09:45:48 +00:00
										 |  |  |     install_test_formula "testball", <<~'RUBY' | 
					
						
							| 
									
										
										
										
											2017-02-23 06:05:13 +01:00
										 |  |  |       test do | 
					
						
							| 
									
										
										
										
											2019-03-27 09:45:48 +00:00
										 |  |  |         assert_equal "test", shell_output("#{bin}/test") | 
					
						
							| 
									
										
										
										
											2017-02-23 06:05:13 +01:00
										 |  |  |       end | 
					
						
							| 
									
										
										
										
											2018-07-11 15:17:40 +02:00
										 |  |  |     RUBY | 
					
						
							| 
									
										
										
										
											2017-02-23 06:05:13 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-27 09:45:48 +00:00
										 |  |  |     expect { brew "test", "--verbose", "testball" } | 
					
						
							| 
									
										
										
										
											2017-02-23 06:05:13 +01:00
										 |  |  |       .to output(/Testing testball/).to_stdout | 
					
						
							|  |  |  |       .and not_to_output.to_stderr | 
					
						
							|  |  |  |       .and be_a_success | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2024-04-13 00:25:32 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  |   it "blocks network access when test phase is offline", :integration_test do | 
					
						
							|  |  |  |     if Sandbox.available? | 
					
						
							|  |  |  |       install_test_formula "testball_offline_test", <<~RUBY | 
					
						
							|  |  |  |         deny_network_access! :test | 
					
						
							|  |  |  |         test do | 
					
						
							|  |  |  |           system "curl", "example.org" | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       RUBY | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       expect { brew "test", "--verbose", "testball_offline_test" } | 
					
						
							|  |  |  |         .to output(/curl: \(6\) Could not resolve host: example\.org/).to_stdout | 
					
						
							|  |  |  |         .and be_a_failure | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2017-02-23 06:05:13 +01:00
										 |  |  | end |