summaryrefslogtreecommitdiffstats
path: root/ruby/ffi-k8055/tasks/test.rake
diff options
context:
space:
mode:
authorJérémy Zurcher <jeremy@asynk.ch>2011-06-06 10:53:35 +0200
committerJérémy Zurcher <jeremy@asynk.ch>2011-06-06 10:53:35 +0200
commit49e880da1dbab3850c4eb1682bafad6b57267817 (patch)
treef2bba3048b297189ef51fe304edbb4ec34736801 /ruby/ffi-k8055/tasks/test.rake
parent5e0aad9befe6214134a77cb267b8c89596945109 (diff)
downloadk8055-49e880da1dbab3850c4eb1682bafad6b57267817.zip
k8055-49e880da1dbab3850c4eb1682bafad6b57267817.tar.gz
add ruby/ffi-k8055
Diffstat (limited to 'ruby/ffi-k8055/tasks/test.rake')
-rw-r--r--ruby/ffi-k8055/tasks/test.rake41
1 files changed, 41 insertions, 0 deletions
diff --git a/ruby/ffi-k8055/tasks/test.rake b/ruby/ffi-k8055/tasks/test.rake
new file mode 100644
index 0000000..8257613
--- /dev/null
+++ b/ruby/ffi-k8055/tasks/test.rake
@@ -0,0 +1,41 @@
+# -*- coding: UTF-8 -*-
+#
+if test(?e, PROJ.test.file) or not PROJ.test.files.to_a.empty?
+require 'rake/testtask'
+
+namespace :test do
+
+ Rake::TestTask.new(:run) do |t|
+ t.libs = PROJ.libs
+ t.test_files = if test(?f, PROJ.test.file) then [PROJ.test.file]
+ else PROJ.test.files end
+ t.ruby_opts += PROJ.ruby_opts
+ t.ruby_opts += PROJ.test.opts
+ end
+
+ if HAVE_RCOV
+ desc 'Run rcov on the unit tests'
+ task :rcov => :clobber_rcov do
+ opts = PROJ.rcov.opts.dup << '-o' << PROJ.rcov.dir
+ opts = opts.join(' ')
+ files = if test(?f, PROJ.test.file) then [PROJ.test.file]
+ else PROJ.test.files end
+ files = files.join(' ')
+ sh "#{RCOV} #{files} #{opts}"
+ end
+
+ task :clobber_rcov do
+ rm_r 'coverage' rescue nil
+ end
+ end
+
+end # namespace :test
+
+desc 'Alias to test:run'
+task :test => 'test:run'
+
+task :clobber => 'test:clobber_rcov' if HAVE_RCOV
+
+end
+
+# EOF