Compare commits

...

6 Commits

7 changed files with 3584 additions and 3454 deletions

2
.gitignore vendored
View File

@ -7,5 +7,5 @@
/gen/
/large_project/
/pkg/
/test/
/test_run/
/yard/

View File

@ -3,7 +3,7 @@ source 'https://rubygems.org'
gem "base64"
gem "rspec"
gem "rake"
gem "simplecov", "~> 0.15.0"
gem "simplecov"
gem "openssl"
if RbConfig::CONFIG["host"]["msys"]
gem "json", "2.1.0"

View File

@ -4,7 +4,7 @@ GEM
base64 (0.3.0)
date (3.5.1)
diff-lcs (1.6.2)
docile (1.1.5)
docile (1.4.1)
erb (6.0.1)
json (2.18.0)
openssl (4.0.0)
@ -30,11 +30,12 @@ GEM
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
rspec-support (3.13.6)
simplecov (0.15.1)
docile (~> 1.1.0)
json (>= 1.8, < 3)
simplecov-html (~> 0.10.0)
simplecov-html (0.10.2)
simplecov (0.22.0)
docile (~> 1.1)
simplecov-html (~> 0.11)
simplecov_json_formatter (~> 0.1)
simplecov-html (0.13.2)
simplecov_json_formatter (0.1.4)
stringio (3.2.0)
syntax (1.2.2)
tsort (0.2.0)
@ -52,7 +53,7 @@ DEPENDENCIES
rdoc
redcarpet
rspec
simplecov (~> 0.15.0)
simplecov
syntax
yard

View File

@ -8,8 +8,10 @@ end
require "rspec/core/rake_task"
require "rake/clean"
require "fileutils"
require "simplecov"
require "stringio"
CLEAN.include %w[build_test_run .yardoc yard coverage test]
CLEAN.include %w[build_test_run .yardoc yard coverage test_run]
CLOBBER.include %w[dist gen large_project pkg]
task :build_dist do
@ -19,24 +21,42 @@ 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
task :spec => :build_tests
task :spec do
unless ENV["rscons_dist_specs"]
original_stdout = $stdout
sio = StringIO.new
$stdout = sio
SimpleCov.collate Dir["coverage/.resultset.json", "coverage/bt*/.resultset.json"]
$stdout = original_stdout
sio.string.lines.each do |line|
$stdout.write(line) unless line =~ /Coverage report generated for/
end
end
end
task :build_tests do |task, args|
ENV["specs"] = "1"
sh "ruby -Ilib build_tests/build_tests.rb"
ENV.delete("specs")
end
# dspec task is useful to test the distributable release script, but is not
# useful for coverage information.
desc "Dist Specs"
task :dspec, [:example_string] => :build_dist do |task, args|
FileUtils.rm_rf("test")
FileUtils.mkdir_p("test")
FileUtils.cp("dist/rscons", "test/rscons.rb")
FileUtils.rm_rf("test_run")
FileUtils.mkdir_p("test_run")
FileUtils.cp("dist/rscons", "test_run/rscons.rb")
ENV["rscons_dist_specs"] = "1"
Rake::Task["spec"].execute(args)
Rake::Task["build_tests"].execute(args)
ENV.delete("rscons_dist_specs")
FileUtils.rm_f(Dir.glob(".rscons-*"))
end

3541
build_tests/build_tests.rb Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,8 +1,12 @@
if ENV["rscons_dist_specs"]
require_relative "../test/rscons"
require_relative "../test_run/rscons"
else
require "simplecov"
class MyFormatter
def format(*args)
end
end
SimpleCov.start do
add_filter "/spec/"
add_filter "/.bundle/"
@ -11,9 +15,10 @@ else
else
command_name "RSpec"
end
add_filter "test/rscons.rb"
add_filter "test_run/rscons.rb"
project_name "Rscons"
merge_timeout 3600
formatter(MyFormatter)
end
require "rscons"