Module: Kettle::Soup::Cover
- Extended by:
- Loaders
- Includes:
- Constants
- Defined in:
- lib/kettle/soup/cover.rb,
lib/kettle/soup/cover/loaders.rb,
lib/kettle/soup/cover/version.rb,
lib/kettle/soup/cover/constants.rb,
lib/kettle/soup/cover/filters/gt_line_filter.rb,
lib/kettle/soup/cover/filters/lt_line_filter.rb
Defined Under Namespace
Modules: Constants, Filters, Loaders, Version
Classes: Error
Constant Summary
collapse
- VAR_HOME_PREFIX =
%r{\A/var/home(?=/|\z)}
- VERSION =
Traditional Constant Location
Version::VERSION
Constants included
from Constants
Constants::CI, Constants::CLEAN_RESULTSET, Constants::CLEAN_RESULTSET_DEFAULT, Constants::COMMAND_NAME, Constants::COVERAGE_DIR, Constants::COVERAGE_ROOT_DIR, Constants::DEBUG, Constants::DO_COV, Constants::ENV_GET, Constants::FALSE, Constants::FILTER_DIRS, Constants::FORMATTERS, Constants::FORMATTER_PLUGINS, Constants::IS_CI, Constants::MERGE_TIMEOUT, Constants::MIN_COVERAGE_BRANCH, Constants::MIN_COVERAGE_HARD, Constants::MIN_COVERAGE_HARD_REQUESTED, Constants::MIN_COVERAGE_LINE, Constants::MULTI_FORMATTERS, Constants::MULTI_FORMATTERS_DEFAULT, Constants::OPEN_BIN, Constants::PREFIX, Constants::TEST_ENV_NUMBER, Constants::TRUE, Constants::TURBO_TESTS, Constants::TURBO_TESTS_DIR, Constants::TURBO_TESTS_WORKER, Constants::USE_MERGING, Constants::VERBOSE
Class Method Summary
collapse
Methods included from Loaders
install_tasks, load_filters, load_formatters
Class Method Details
.clean_resultset! ⇒ Object
Deletes coverage/.resultset.json (if it exists) so that stale entries from prior runs cannot pollute the current run’s coverage report. Called automatically from config.rb when CLEAN_RESULTSET is true.
61
62
63
64
|
# File 'lib/kettle/soup/cover.rb', line 61
def clean_resultset!
resultset_path = SimpleCov::ResultMerger.resultset_path
File.delete(resultset_path) if File.exist?(resultset_path)
end
|
.clear_coverage_dir!(coverage_dir = Constants::COVERAGE_DIR, project_root: Dir.pwd) ⇒ Object
66
67
68
|
# File 'lib/kettle/soup/cover.rb', line 66
def clear_coverage_dir!(coverage_dir = Constants::COVERAGE_DIR, project_root: Dir.pwd)
FileUtils.rm_rf(File.expand_path(coverage_dir, project_root))
end
|
.clear_turbo_tests_coverage_dir!(coverage_dir = Constants::COVERAGE_ROOT_DIR, project_root: Dir.pwd) ⇒ Object
78
79
80
|
# File 'lib/kettle/soup/cover.rb', line 78
def clear_turbo_tests_coverage_dir!(coverage_dir = Constants::COVERAGE_ROOT_DIR, project_root: Dir.pwd)
FileUtils.rm_rf(turbo_tests_coverage_dir(coverage_dir, project_root: project_root))
end
|
.collate_turbo_tests_coverage!(coverage_dir = Constants::COVERAGE_ROOT_DIR, project_root: Dir.pwd) ⇒ Object
.coverage_task_env(coverage_dir = Constants::COVERAGE_DIR, project_root: Dir.pwd) ⇒ Object
119
120
121
122
123
124
125
126
127
128
129
130
131
|
# File 'lib/kettle/soup/cover.rb', line 119
def coverage_task_env(coverage_dir = Constants::COVERAGE_DIR, project_root: Dir.pwd)
resolved_coverage_dir = File.expand_path(coverage_dir, project_root)
{
"K_SOUP_COV_PREFIX" => Constants::PREFIX,
"#{Constants::PREFIX}DIR" => resolved_coverage_dir,
"#{Constants::PREFIX}DO" => Constants::TRUE,
"#{Constants::PREFIX}FORMATTERS" => "json",
"#{Constants::PREFIX}MIN_HARD" => Constants::FALSE,
"#{Constants::PREFIX}MULTI_FORMATTERS" => Constants::TRUE,
"#{Constants::PREFIX}OPEN_BIN" => "",
}
end
|
.delete_const(&block) ⇒ Object
54
55
56
|
# File 'lib/kettle/soup/cover.rb', line 54
def delete_const(&block)
Constants.delete_const(&block)
end
|
.display_path(path) ⇒ Object
44
45
46
47
48
|
# File 'lib/kettle/soup/cover.rb', line 44
def display_path(path)
return path if path.nil?
path.to_s.sub(VAR_HOME_PREFIX, "/home")
end
|
.refresh_coverage_data!(coverage_dir = Constants::COVERAGE_DIR, project_root: Dir.pwd, out: $stdout, err: $stderr) ⇒ Object
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
|
# File 'lib/kettle/soup/cover.rb', line 133
def refresh_coverage_data!(coverage_dir = Constants::COVERAGE_DIR, project_root: Dir.pwd, out: $stdout, err: $stderr)
clear_coverage_dir!(coverage_dir, project_root: project_root)
coverage_task = File.expand_path("bin/rake", project_root)
success = system(
coverage_task_env(coverage_dir, project_root: project_root),
coverage_task,
"coverage",
chdir: project_root,
out: out,
err: err,
)
return if success
raise Error, "Coverage refresh failed: #{coverage_task} coverage"
end
|
.reset_const(&block) ⇒ Object
50
51
52
|
# File 'lib/kettle/soup/cover.rb', line 50
def reset_const(&block)
Constants.reset_const(&block)
end
|
.turbo_tests_coverage? ⇒ Boolean
.turbo_tests_coverage_dir(coverage_dir = Constants::COVERAGE_ROOT_DIR, project_root: Dir.pwd) ⇒ Object
.turbo_tests_resultset_paths(coverage_dir = Constants::COVERAGE_ROOT_DIR, project_root: Dir.pwd) ⇒ Object
82
83
84
|
# File 'lib/kettle/soup/cover.rb', line 82
def turbo_tests_resultset_paths(coverage_dir = Constants::COVERAGE_ROOT_DIR, project_root: Dir.pwd)
Dir[File.join(turbo_tests_coverage_dir(coverage_dir, project_root: project_root), "*", ".resultset.json")]
end
|