| 
									
										
										
										
											2012-04-16 16:44:11 -05:00
										 |  |  | require 'rake' | 
					
						
							|  |  |  | require 'rake/testtask' | 
					
						
							| 
									
										
										
										
											2012-08-30 00:09:29 -05:00
										 |  |  | require 'pathname' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_DIRECTORY = Pathname.new(File.expand_path(__FILE__)).parent.realpath | 
					
						
							| 
									
										
										
										
											2012-08-29 15:51:13 -05:00
										 |  |  | TEST_FILES = FileList["#{TEST_DIRECTORY}/test_*.rb"] | 
					
						
							| 
									
										
										
										
											2013-04-26 22:23:45 +01:00
										 |  |  | GEM_DEPS = ['mocha'] | 
					
						
							| 
									
										
										
										
											2012-04-16 16:44:11 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-17 22:59:06 -06:00
										 |  |  | Dir.chdir(TEST_DIRECTORY) | 
					
						
							| 
									
										
										
										
											2012-04-16 16:44:11 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | task :default => :test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-04-26 22:23:45 +01:00
										 |  |  | task :deps do | 
					
						
							|  |  |  |   GEM_DEPS.each do |dep| | 
					
						
							|  |  |  |     `gem list --installed #{dep}` | 
					
						
							|  |  |  |     next if $?.success? | 
					
						
							|  |  |  |     sh 'gem', 'install', '--no-ri', '--no-rdoc', '--user-install', dep | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-17 22:59:06 -06:00
										 |  |  | Rake::TestTask.new(:test) do |t| | 
					
						
							| 
									
										
										
										
											2012-04-16 16:44:11 -05:00
										 |  |  |   t.libs << Dir.pwd | 
					
						
							|  |  |  |   t.test_files = TEST_FILES | 
					
						
							|  |  |  | end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | namespace :test do | 
					
						
							|  |  |  |   TEST_FILES.each do |file| | 
					
						
							|  |  |  |     task = /test_(.+)\.rb/.match(file) | 
					
						
							|  |  |  |     Rake::TestTask.new(task[1]) do |t| | 
					
						
							|  |  |  |       t.libs << Dir.pwd | 
					
						
							|  |  |  |       t.pattern = task[0] | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | end | 
					
						
							| 
									
										
										
										
											2012-08-29 15:51:13 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | begin | 
					
						
							|  |  |  |   require 'rubygems' | 
					
						
							|  |  |  |   require 'rcov/rcovtask' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   Rcov::RcovTask.new do |t| | 
					
						
							|  |  |  |     t.libs << Dir.pwd | 
					
						
							|  |  |  |     t.test_files = TEST_FILES | 
					
						
							|  |  |  |     t.rcov_opts = %w{--exclude=Gems
 | 
					
						
							|  |  |  |                      --exclude=test_ | 
					
						
							|  |  |  |                      --exclude=testball | 
					
						
							|  |  |  |                      --exclude=testing} | 
					
						
							| 
									
										
										
										
											2012-08-30 00:09:29 -05:00
										 |  |  |     t.output_dir = TEST_DIRECTORY+'coverage' | 
					
						
							| 
									
										
										
										
											2012-08-29 15:51:13 -05:00
										 |  |  |   end | 
					
						
							|  |  |  | rescue LoadError | 
					
						
							| 
									
										
										
										
											2012-11-17 22:59:06 -06:00
										 |  |  | end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | begin | 
					
						
							|  |  |  |   require 'rubygems' | 
					
						
							|  |  |  |   require 'ruby-prof/task' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   RubyProf::ProfileTask.new do |t| | 
					
						
							|  |  |  |     t.libs << Dir.pwd | 
					
						
							|  |  |  |     t.test_files = TEST_FILES | 
					
						
							|  |  |  |     t.output_dir = TEST_DIRECTORY+'prof' | 
					
						
							|  |  |  |     t.printer = :graph_html | 
					
						
							|  |  |  |     t.min_percent = 2
 | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | rescue LoadError | 
					
						
							| 
									
										
										
										
											2012-08-29 15:51:13 -05:00
										 |  |  | end |