Do not run simplecov on dspec specs

This commit is contained in:
Josh Holtrop 2021-10-22 13:55:51 -04:00
parent 556c821cc6
commit 87a6d9f04f
3 changed files with 41 additions and 34 deletions

View File

@ -17,12 +17,16 @@ task :build_dist do
end
RSpec::Core::RakeTask.new(:spec, :example_string) do |task, args|
ENV["specs"] = "1"
if args.example_string
ENV["partial_specs"] = "1"
task.rspec_opts = %W[-e "#{args.example_string}" -f documentation]
end
end
task :spec => :build_dist
task :spec do
ENV.delete("specs")
end
# dspec task is useful to test the distributable release script, but is not
# useful for coverage information.
@ -31,7 +35,7 @@ task :dspec, [:example_string] => :build_dist do |task, args|
FileUtils.mkdir_p("test")
FileUtils.cp("dist/rscons", "test/rscons.rb")
ENV["dist_specs"] = "1"
Rake::Task["spec"].invoke(args.example_string)
Rake::Task["spec"].execute(args.example_string)
ENV.delete("dist_specs")
FileUtils.rm_f(Dir.glob(".rscons-*"))
end
@ -99,6 +103,7 @@ task :default => :spec
task :all => [
:build_dist,
:spec,
:dspec,
:yard,
:user_guide,
]

View File

@ -118,14 +118,15 @@ describe Rscons do
command_name = "#{command_prefix}#{@statics[:build_test_id]}"
File.open("_simplecov_setup.rb", "w") do |fh|
fh.puts <<EOF
require "bundler"
Bundler.setup
require "simplecov"
class MyFormatter
unless ENV["dist_specs"]
require "bundler"
Bundler.setup
require "simplecov"
class MyFormatter
def format(*args)
end
end
SimpleCov.start do
end
SimpleCov.start do
root(#{@owd.inspect})
command_name(#{command_name.inspect})
filters.clear
@ -133,6 +134,7 @@ SimpleCov.start do
!(src.filename[SimpleCov.root])
end
formatter(MyFormatter)
end
end
# force color off
ENV["TERM"] = nil

View File

@ -1,6 +1,9 @@
require "simplecov"
if ENV["dist_specs"]
require_relative "../test/rscons"
else
require "simplecov"
SimpleCov.start do
SimpleCov.start do
add_filter "/spec/"
add_filter "/.bundle/"
if ENV["partial_specs"]
@ -16,10 +19,7 @@ SimpleCov.start do
end
project_name "Rscons"
merge_timeout 3600
end
end
if ENV["dist_specs"]
require_relative "../test/rscons"
else
require "rscons"
end