| 
									
										
										
										
											2012-03-12 21:21:33 -07:00
										 |  |  | require 'extend/ENV' | 
					
						
							|  |  |  | require 'hardware' | 
					
						
							|  |  |  | require 'keg' | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-10 21:28:49 -08:00
										 |  |  | module Homebrew extend self | 
					
						
							|  |  |  |   def test | 
					
						
							| 
									
										
										
										
											2012-04-20 13:56:51 -05:00
										 |  |  |     raise FormulaUnspecifiedError if ARGV.named.empty? | 
					
						
							| 
									
										
										
										
											2012-02-04 00:01:29 -06:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-09-11 14:47:06 -05:00
										 |  |  |     ENV.extend(HomebrewEnvExtension) | 
					
						
							|  |  |  |     ENV.setup_build_environment | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-10 21:28:49 -08:00
										 |  |  |     ARGV.formulae.each do |f| | 
					
						
							|  |  |  |       # Cannot test uninstalled formulae | 
					
						
							|  |  |  |       unless f.installed? | 
					
						
							| 
									
										
										
										
											2012-04-30 14:08:59 +10:00
										 |  |  |         ofail "Testing requires the latest version of #{f.name}" | 
					
						
							| 
									
										
										
										
											2011-03-10 21:28:49 -08:00
										 |  |  |         next | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       # Cannot test formulae without a test method | 
					
						
							|  |  |  |       unless f.respond_to? :test | 
					
						
							| 
									
										
										
										
											2012-04-30 14:08:59 +10:00
										 |  |  |         ofail "#{f.name} defines no test" | 
					
						
							| 
									
										
										
										
											2011-03-10 21:28:49 -08:00
										 |  |  |         next | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       puts "Testing #{f.name}" | 
					
						
							|  |  |  |       begin | 
					
						
							| 
									
										
										
										
											2012-02-18 21:32:31 -06:00
										 |  |  |         # tests can also return false to indicate failure | 
					
						
							| 
									
										
										
										
											2012-03-15 10:57:34 +13:00
										 |  |  |         raise if f.test == false | 
					
						
							| 
									
										
										
										
											2011-03-10 21:28:49 -08:00
										 |  |  |       rescue | 
					
						
							| 
									
										
										
										
											2012-04-30 14:08:59 +10:00
										 |  |  |         ofail "#{f.name}: failed" | 
					
						
							| 
									
										
										
										
											2011-03-10 21:28:49 -08:00
										 |  |  |       end | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | end |