aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/test/Rakefile
diff options
context:
space:
mode:
authorJack Nagel2012-11-17 22:59:06 -0600
committerJack Nagel2012-11-17 22:59:06 -0600
commit8cc3479fb7d2fb0d3ff02ccf08ca27abb8bc51da (patch)
tree1ae58fd451b3df320314e3e2d173a20769a16b44 /Library/Homebrew/test/Rakefile
parentaecd342a2bb699bf957a5b803bbc75b3edbd2f27 (diff)
downloadbrew-8cc3479fb7d2fb0d3ff02ccf08ca27abb8bc51da.tar.bz2
tests: add profiling support
`rake profile` will run ruby-prof on the test suite if the ruby-prof gem is installed.
Diffstat (limited to 'Library/Homebrew/test/Rakefile')
-rw-r--r--Library/Homebrew/test/Rakefile20
1 files changed, 16 insertions, 4 deletions
diff --git a/Library/Homebrew/test/Rakefile b/Library/Homebrew/test/Rakefile
index c92b19640..1a9b26f92 100644
--- a/Library/Homebrew/test/Rakefile
+++ b/Library/Homebrew/test/Rakefile
@@ -3,14 +3,13 @@ require 'rake/testtask'
require 'pathname'
TEST_DIRECTORY = Pathname.new(File.expand_path(__FILE__)).parent.realpath
-
TEST_FILES = FileList["#{TEST_DIRECTORY}/test_*.rb"]
-Dir.chdir TEST_DIRECTORY
+Dir.chdir(TEST_DIRECTORY)
task :default => :test
-Rake::TestTask.new :test do |t|
+Rake::TestTask.new(:test) do |t|
t.libs << Dir.pwd
t.test_files = TEST_FILES
end
@@ -39,5 +38,18 @@ begin
t.output_dir = TEST_DIRECTORY+'coverage'
end
rescue LoadError
- nil
+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
end