simplecov 0.22.0 → 1.0.0.rc2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +89 -1
  3. data/LICENSE +1 -1
  4. data/README.md +1009 -511
  5. data/doc/alternate-formatters.md +0 -5
  6. data/doc/commercial-services.md +5 -5
  7. data/exe/simplecov +11 -0
  8. data/lib/minitest/simplecov_plugin.rb +13 -5
  9. data/lib/simplecov/autostart.rb +11 -0
  10. data/lib/simplecov/cli/clean.rb +47 -0
  11. data/lib/simplecov/cli/coverage.rb +91 -0
  12. data/lib/simplecov/cli/diff.rb +151 -0
  13. data/lib/simplecov/cli/dotfile.rb +100 -0
  14. data/lib/simplecov/cli/merge.rb +116 -0
  15. data/lib/simplecov/cli/open.rb +50 -0
  16. data/lib/simplecov/cli/report.rb +84 -0
  17. data/lib/simplecov/cli/run.rb +36 -0
  18. data/lib/simplecov/cli/serve.rb +139 -0
  19. data/lib/simplecov/cli/uncovered.rb +107 -0
  20. data/lib/simplecov/cli.rb +150 -0
  21. data/lib/simplecov/color.rb +74 -0
  22. data/lib/simplecov/combine/branches_combiner.rb +3 -2
  23. data/lib/simplecov/combine/files_combiner.rb +7 -1
  24. data/lib/simplecov/combine/lines_combiner.rb +19 -17
  25. data/lib/simplecov/combine/methods_combiner.rb +26 -0
  26. data/lib/simplecov/combine/results_combiner.rb +5 -4
  27. data/lib/simplecov/command_guesser.rb +46 -32
  28. data/lib/simplecov/configuration/coverage.rb +171 -0
  29. data/lib/simplecov/configuration/coverage_criteria.rb +156 -0
  30. data/lib/simplecov/configuration/filters.rb +197 -0
  31. data/lib/simplecov/configuration/formatting.rb +119 -0
  32. data/lib/simplecov/configuration/ignored_entries.rb +63 -0
  33. data/lib/simplecov/configuration/merging.rb +74 -0
  34. data/lib/simplecov/configuration/thresholds.rb +174 -0
  35. data/lib/simplecov/configuration.rb +86 -407
  36. data/lib/simplecov/coverage_statistics.rb +12 -9
  37. data/lib/simplecov/coverage_violations.rb +148 -0
  38. data/lib/simplecov/defaults.rb +27 -20
  39. data/lib/simplecov/deprecation.rb +47 -0
  40. data/lib/simplecov/directive.rb +162 -0
  41. data/lib/simplecov/exit_codes/exit_code_handling.rb +8 -2
  42. data/lib/simplecov/exit_codes/maximum_coverage_drop_check.rb +19 -57
  43. data/lib/simplecov/exit_codes/maximum_overall_coverage_check.rb +45 -0
  44. data/lib/simplecov/exit_codes/minimum_coverage_by_file_check.rb +17 -27
  45. data/lib/simplecov/exit_codes/minimum_coverage_by_group_check.rb +41 -0
  46. data/lib/simplecov/exit_codes/minimum_overall_coverage_check.rb +38 -21
  47. data/lib/simplecov/exit_codes.rb +3 -0
  48. data/lib/simplecov/exit_handling.rb +158 -0
  49. data/lib/simplecov/file_list.rb +61 -17
  50. data/lib/simplecov/filter.rb +69 -24
  51. data/lib/simplecov/formatter/base.rb +101 -0
  52. data/lib/simplecov/formatter/html_formatter/public/application.css +1 -0
  53. data/lib/simplecov/formatter/html_formatter/public/application.js +18 -0
  54. data/lib/simplecov/formatter/html_formatter/public/favicon_green.png +0 -0
  55. data/lib/simplecov/formatter/html_formatter/public/favicon_red.png +0 -0
  56. data/lib/simplecov/formatter/html_formatter/public/favicon_yellow.png +0 -0
  57. data/lib/simplecov/formatter/html_formatter/public/index.html +56 -0
  58. data/lib/simplecov/formatter/html_formatter.rb +79 -0
  59. data/lib/simplecov/formatter/json_formatter/errors_formatter.rb +84 -0
  60. data/lib/simplecov/formatter/json_formatter/result_hash_formatter.rb +127 -0
  61. data/lib/simplecov/formatter/json_formatter/source_file_formatter.rb +99 -0
  62. data/lib/simplecov/formatter/json_formatter.rb +77 -0
  63. data/lib/simplecov/formatter/multi_formatter.rb +4 -5
  64. data/lib/simplecov/formatter/simple_formatter.rb +9 -11
  65. data/lib/simplecov/formatter.rb +4 -0
  66. data/lib/simplecov/last_run.rb +10 -3
  67. data/lib/simplecov/lines_classifier.rb +26 -13
  68. data/lib/simplecov/load_global_config.rb +9 -4
  69. data/lib/simplecov/parallel_adapters/base.rb +51 -0
  70. data/lib/simplecov/parallel_adapters/generic.rb +42 -0
  71. data/lib/simplecov/parallel_adapters/parallel_tests.rb +77 -0
  72. data/lib/simplecov/parallel_adapters.rb +83 -0
  73. data/lib/simplecov/parallel_coordination.rb +95 -0
  74. data/lib/simplecov/process.rb +26 -14
  75. data/lib/simplecov/profiles/bundler_filter.rb +1 -1
  76. data/lib/simplecov/profiles/hidden_filter.rb +1 -1
  77. data/lib/simplecov/profiles/rails.rb +24 -10
  78. data/lib/simplecov/profiles/root_filter.rb +6 -5
  79. data/lib/simplecov/profiles/strict.rb +32 -0
  80. data/lib/simplecov/profiles/test_frameworks.rb +1 -4
  81. data/lib/simplecov/profiles.rb +32 -3
  82. data/lib/simplecov/result/missing_source_files_reporter.rb +49 -0
  83. data/lib/simplecov/result/source_file_builder.rb +51 -0
  84. data/lib/simplecov/result.rb +97 -19
  85. data/lib/simplecov/result_adapter.rb +68 -6
  86. data/lib/simplecov/result_merger/legacy_format_adapter.rb +28 -0
  87. data/lib/simplecov/result_merger/resultset_file.rb +38 -0
  88. data/lib/simplecov/result_merger/resultset_store.rb +50 -0
  89. data/lib/simplecov/result_merger.rb +54 -90
  90. data/lib/simplecov/result_processing.rb +162 -0
  91. data/lib/simplecov/simulate_coverage.rb +54 -8
  92. data/lib/simplecov/source_file/branch.rb +1 -3
  93. data/lib/simplecov/source_file/branch_builder.rb +114 -0
  94. data/lib/simplecov/source_file/builder_context.rb +28 -0
  95. data/lib/simplecov/source_file/line.rb +7 -2
  96. data/lib/simplecov/source_file/line_builder.rb +43 -0
  97. data/lib/simplecov/source_file/method.rb +52 -0
  98. data/lib/simplecov/source_file/method_builder.rb +58 -0
  99. data/lib/simplecov/source_file/ruby_data_parser.rb +88 -0
  100. data/lib/simplecov/source_file/skip_chunks.rb +77 -0
  101. data/lib/simplecov/source_file/source_loader.rb +63 -0
  102. data/lib/simplecov/source_file/statistics.rb +57 -0
  103. data/lib/simplecov/source_file.rb +66 -232
  104. data/lib/simplecov/static_coverage_extractor/visitor.rb +193 -0
  105. data/lib/simplecov/static_coverage_extractor.rb +111 -0
  106. data/lib/simplecov/useless_results_remover.rb +16 -7
  107. data/lib/simplecov/version.rb +1 -1
  108. data/lib/simplecov-html.rb +4 -0
  109. data/lib/simplecov.rb +148 -377
  110. data/lib/simplecov_json_formatter.rb +4 -0
  111. data/schemas/coverage-v1.0.schema.json +300 -0
  112. data/schemas/coverage.schema.json +300 -0
  113. metadata +89 -56
  114. data/lib/simplecov/default_formatter.rb +0 -20
metadata CHANGED
@@ -1,64 +1,32 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simplecov
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.22.0
4
+ version: 1.0.0.rc2
5
5
  platform: ruby
6
6
  authors:
7
+ - Erik Berlin
8
+ - Benjamin Fleischer
9
+ - Akira Matsuda
7
10
  - Christoph Olszowka
8
11
  - Tobias Pfeiffer
9
- autorequire:
10
- bindir: bin
12
+ - David Rodríguez
13
+ - Xavier Shay
14
+ bindir: exe
11
15
  cert_chain: []
12
- date: 2022-12-23 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: docile
16
- requirement: !ruby/object:Gem::Requirement
17
- requirements:
18
- - - "~>"
19
- - !ruby/object:Gem::Version
20
- version: '1.1'
21
- type: :runtime
22
- prerelease: false
23
- version_requirements: !ruby/object:Gem::Requirement
24
- requirements:
25
- - - "~>"
26
- - !ruby/object:Gem::Version
27
- version: '1.1'
28
- - !ruby/object:Gem::Dependency
29
- name: simplecov-html
30
- requirement: !ruby/object:Gem::Requirement
31
- requirements:
32
- - - "~>"
33
- - !ruby/object:Gem::Version
34
- version: '0.11'
35
- type: :runtime
36
- prerelease: false
37
- version_requirements: !ruby/object:Gem::Requirement
38
- requirements:
39
- - - "~>"
40
- - !ruby/object:Gem::Version
41
- version: '0.11'
42
- - !ruby/object:Gem::Dependency
43
- name: simplecov_json_formatter
44
- requirement: !ruby/object:Gem::Requirement
45
- requirements:
46
- - - "~>"
47
- - !ruby/object:Gem::Version
48
- version: '0.1'
49
- type: :runtime
50
- prerelease: false
51
- version_requirements: !ruby/object:Gem::Requirement
52
- requirements:
53
- - - "~>"
54
- - !ruby/object:Gem::Version
55
- version: '0.1'
16
+ date: 1980-01-02 00:00:00.000000000 Z
17
+ dependencies: []
56
18
  description: Code coverage for Ruby with a powerful configuration library and automatic
57
19
  merging of coverage across test suites
58
20
  email:
59
- - christoph at olszowka de
21
+ - sferik@gmail.com
22
+ - github@benjaminfleischer.com
23
+ - ronnie@dio.jp
24
+ - christoph@olszowka.de
60
25
  - pragtob@gmail.com
61
- executables: []
26
+ - deivid.rodriguez@gmail.com
27
+ - xavier@rhnh.net
28
+ executables:
29
+ - simplecov
62
30
  extensions: []
63
31
  extra_rdoc_files: []
64
32
  files:
@@ -68,58 +36,124 @@ files:
68
36
  - doc/alternate-formatters.md
69
37
  - doc/commercial-services.md
70
38
  - doc/editor-integration.md
39
+ - exe/simplecov
71
40
  - lib/minitest/simplecov_plugin.rb
41
+ - lib/simplecov-html.rb
72
42
  - lib/simplecov.rb
43
+ - lib/simplecov/autostart.rb
44
+ - lib/simplecov/cli.rb
45
+ - lib/simplecov/cli/clean.rb
46
+ - lib/simplecov/cli/coverage.rb
47
+ - lib/simplecov/cli/diff.rb
48
+ - lib/simplecov/cli/dotfile.rb
49
+ - lib/simplecov/cli/merge.rb
50
+ - lib/simplecov/cli/open.rb
51
+ - lib/simplecov/cli/report.rb
52
+ - lib/simplecov/cli/run.rb
53
+ - lib/simplecov/cli/serve.rb
54
+ - lib/simplecov/cli/uncovered.rb
55
+ - lib/simplecov/color.rb
73
56
  - lib/simplecov/combine.rb
74
57
  - lib/simplecov/combine/branches_combiner.rb
75
58
  - lib/simplecov/combine/files_combiner.rb
76
59
  - lib/simplecov/combine/lines_combiner.rb
60
+ - lib/simplecov/combine/methods_combiner.rb
77
61
  - lib/simplecov/combine/results_combiner.rb
78
62
  - lib/simplecov/command_guesser.rb
79
63
  - lib/simplecov/configuration.rb
64
+ - lib/simplecov/configuration/coverage.rb
65
+ - lib/simplecov/configuration/coverage_criteria.rb
66
+ - lib/simplecov/configuration/filters.rb
67
+ - lib/simplecov/configuration/formatting.rb
68
+ - lib/simplecov/configuration/ignored_entries.rb
69
+ - lib/simplecov/configuration/merging.rb
70
+ - lib/simplecov/configuration/thresholds.rb
80
71
  - lib/simplecov/coverage_statistics.rb
81
- - lib/simplecov/default_formatter.rb
72
+ - lib/simplecov/coverage_violations.rb
82
73
  - lib/simplecov/defaults.rb
74
+ - lib/simplecov/deprecation.rb
75
+ - lib/simplecov/directive.rb
83
76
  - lib/simplecov/exit_codes.rb
84
77
  - lib/simplecov/exit_codes/exit_code_handling.rb
85
78
  - lib/simplecov/exit_codes/maximum_coverage_drop_check.rb
79
+ - lib/simplecov/exit_codes/maximum_overall_coverage_check.rb
86
80
  - lib/simplecov/exit_codes/minimum_coverage_by_file_check.rb
81
+ - lib/simplecov/exit_codes/minimum_coverage_by_group_check.rb
87
82
  - lib/simplecov/exit_codes/minimum_overall_coverage_check.rb
83
+ - lib/simplecov/exit_handling.rb
88
84
  - lib/simplecov/file_list.rb
89
85
  - lib/simplecov/filter.rb
90
86
  - lib/simplecov/formatter.rb
87
+ - lib/simplecov/formatter/base.rb
88
+ - lib/simplecov/formatter/html_formatter.rb
89
+ - lib/simplecov/formatter/html_formatter/public/application.css
90
+ - lib/simplecov/formatter/html_formatter/public/application.js
91
+ - lib/simplecov/formatter/html_formatter/public/favicon_green.png
92
+ - lib/simplecov/formatter/html_formatter/public/favicon_red.png
93
+ - lib/simplecov/formatter/html_formatter/public/favicon_yellow.png
94
+ - lib/simplecov/formatter/html_formatter/public/index.html
95
+ - lib/simplecov/formatter/json_formatter.rb
96
+ - lib/simplecov/formatter/json_formatter/errors_formatter.rb
97
+ - lib/simplecov/formatter/json_formatter/result_hash_formatter.rb
98
+ - lib/simplecov/formatter/json_formatter/source_file_formatter.rb
91
99
  - lib/simplecov/formatter/multi_formatter.rb
92
100
  - lib/simplecov/formatter/simple_formatter.rb
93
101
  - lib/simplecov/last_run.rb
94
102
  - lib/simplecov/lines_classifier.rb
95
103
  - lib/simplecov/load_global_config.rb
96
104
  - lib/simplecov/no_defaults.rb
105
+ - lib/simplecov/parallel_adapters.rb
106
+ - lib/simplecov/parallel_adapters/base.rb
107
+ - lib/simplecov/parallel_adapters/generic.rb
108
+ - lib/simplecov/parallel_adapters/parallel_tests.rb
109
+ - lib/simplecov/parallel_coordination.rb
97
110
  - lib/simplecov/process.rb
98
111
  - lib/simplecov/profiles.rb
99
112
  - lib/simplecov/profiles/bundler_filter.rb
100
113
  - lib/simplecov/profiles/hidden_filter.rb
101
114
  - lib/simplecov/profiles/rails.rb
102
115
  - lib/simplecov/profiles/root_filter.rb
116
+ - lib/simplecov/profiles/strict.rb
103
117
  - lib/simplecov/profiles/test_frameworks.rb
104
118
  - lib/simplecov/result.rb
119
+ - lib/simplecov/result/missing_source_files_reporter.rb
120
+ - lib/simplecov/result/source_file_builder.rb
105
121
  - lib/simplecov/result_adapter.rb
106
122
  - lib/simplecov/result_merger.rb
123
+ - lib/simplecov/result_merger/legacy_format_adapter.rb
124
+ - lib/simplecov/result_merger/resultset_file.rb
125
+ - lib/simplecov/result_merger/resultset_store.rb
126
+ - lib/simplecov/result_processing.rb
107
127
  - lib/simplecov/simulate_coverage.rb
108
128
  - lib/simplecov/source_file.rb
109
129
  - lib/simplecov/source_file/branch.rb
130
+ - lib/simplecov/source_file/branch_builder.rb
131
+ - lib/simplecov/source_file/builder_context.rb
110
132
  - lib/simplecov/source_file/line.rb
133
+ - lib/simplecov/source_file/line_builder.rb
134
+ - lib/simplecov/source_file/method.rb
135
+ - lib/simplecov/source_file/method_builder.rb
136
+ - lib/simplecov/source_file/ruby_data_parser.rb
137
+ - lib/simplecov/source_file/skip_chunks.rb
138
+ - lib/simplecov/source_file/source_loader.rb
139
+ - lib/simplecov/source_file/statistics.rb
140
+ - lib/simplecov/static_coverage_extractor.rb
141
+ - lib/simplecov/static_coverage_extractor/visitor.rb
111
142
  - lib/simplecov/useless_results_remover.rb
112
143
  - lib/simplecov/version.rb
144
+ - lib/simplecov_json_formatter.rb
145
+ - schemas/coverage-v1.0.schema.json
146
+ - schemas/coverage.schema.json
113
147
  homepage: https://github.com/simplecov-ruby/simplecov
114
148
  licenses:
115
149
  - MIT
116
150
  metadata:
117
151
  bug_tracker_uri: https://github.com/simplecov-ruby/simplecov/issues
118
152
  changelog_uri: https://github.com/simplecov-ruby/simplecov/blob/main/CHANGELOG.md
119
- documentation_uri: https://www.rubydoc.info/gems/simplecov/0.22.0
153
+ documentation_uri: https://www.rubydoc.info/gems/simplecov/1.0.0.rc2
120
154
  mailing_list_uri: https://groups.google.com/forum/#!forum/simplecov
121
- source_code_uri: https://github.com/simplecov-ruby/simplecov/tree/v0.22.0
122
- post_install_message:
155
+ source_code_uri: https://github.com/simplecov-ruby/simplecov/tree/v1.0.0.rc2
156
+ rubygems_mfa_required: 'true'
123
157
  rdoc_options: []
124
158
  require_paths:
125
159
  - lib
@@ -127,15 +161,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
127
161
  requirements:
128
162
  - - ">="
129
163
  - !ruby/object:Gem::Version
130
- version: 2.5.0
164
+ version: '3.1'
131
165
  required_rubygems_version: !ruby/object:Gem::Requirement
132
166
  requirements:
133
167
  - - ">="
134
168
  - !ruby/object:Gem::Version
135
169
  version: '0'
136
170
  requirements: []
137
- rubygems_version: 3.3.7
138
- signing_key:
171
+ rubygems_version: 4.0.14
139
172
  specification_version: 4
140
173
  summary: Code coverage for Ruby
141
174
  test_files: []
@@ -1,20 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "simplecov-html"
4
- module SimpleCov
5
- module Formatter
6
- class << self
7
- def from_env(env)
8
- formatters = [SimpleCov::Formatter::HTMLFormatter]
9
-
10
- # When running under a CI that uses CodeClimate, JSON output is expected
11
- if env.fetch("CC_TEST_REPORTER_ID", nil)
12
- require "simplecov_json_formatter"
13
- formatters.push(SimpleCov::Formatter::JSONFormatter)
14
- end
15
-
16
- formatters
17
- end
18
- end
19
- end
20
- end