Sha256: f1b6c5d6567f486642318d5a883b950317064281f0d84a98cb938fb90c34ed80
Contents?: true
Size: 1.58 KB
Versions: 3
Compression:
Stored size: 1.58 KB
Contents
require "rake/extensiontask" require "rake/testtask" require "rubygems/package_task" require "rdoc/task" require 'fileutils' if ENV['COVERALLS_REPO_TOKEN'] require 'simplecov' require 'coveralls' require 'coveralls/rake/task' Coveralls::RakeTask.new end spec = Gem::Specification.load("wankel.gemspec") # Setup compile tasks Rake::ExtensionTask.new do |ext| ext.gem_spec = spec ext.name = 'wankel' ext.ext_dir = 'ext/wankel' ext.lib_dir = 'lib/wankel' ext.config_options << '--coverage' if ENV['COVERALLS_REPO_TOKEN'] end # Test Task Rake::TestTask.new do |t| t.libs << 'lib' << 'test' t.test_files = FileList['test/**/*_test.rb'] # t.warning = true # t.verbose = true end Rake::Task[:test].prerequisites << :compile task :c_coverage do out_dir = "tmp/#{RUBY_PLATFORM}/wankel/#{RUBY_VERSION}" src_dir = 'ext/wankel' src_files = FileList["#{src_dir}/*.c"] FileUtils.cp(src_files, out_dir) src_files.map! { |f| File.basename(f) } `cd "#{out_dir}" && gcov #{src_files.join(" ")}` raise 'gcov error' if $? != 0 data = SimpleCov::ResultMerger.resultset src_files.each do |f| file_data = File.read("#{out_dir}/#{f}.gcov").split("\n").map{|l| l.gsub(/\s+/,' ').split(' ') } file_data = file_data.select{|l| l[1].sub(/:.*$/,'').to_i != 0 } file_data.map! do |l| case l[0] when '-:' nil when '#####:' 0 else l[0].sub(/:.*$/,'').to_i end end data["Unit Tests"]["coverage"]["#{File.dirname(__FILE__)}/#{src_dir}/#{f}"] = file_data SimpleCov::ResultMerger.store_result(data) end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
wankel-0.2.0 | Rakefile |
wankel-0.1.1 | Rakefile |
wankel-0.1.0 | Rakefile |