mutant-test-unit 0.17.0

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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 20fb38689afab945d4f547372f99cb05f9ffb7402b7545c353bb5709c07eece3
4
+ data.tar.gz: a1d7347bf07fd9c7f125b5477dbdbad744bcdb7851cd4cc2edde68113ea39585
5
+ SHA512:
6
+ metadata.gz: 79375f4c443eb315ed9de4ce17de0d5a5d3700cb90eb6f277a272829e5f280b769b322785f58389752a58c51df7d2497b9e6941071ac723c645bd340eaa01300
7
+ data.tar.gz: 2b8738defac8b0d4e75a8a2f9fc4c6502552e07ce577c0ae7868988b4635bcfa8e1145b0d729bf9817cf1986861d58533b93d6e15afdef467bae259e8224159b
data/LICENSE ADDED
@@ -0,0 +1,271 @@
1
+ END-USER LICENSE AGREEMENT
2
+
3
+ ------------------------------------------------------------------------------
4
+
5
+ IMPORTANT: THIS SOFTWARE END-USER LICENSE AGREEMENT ("EULA") IS A LEGAL
6
+ AGREEMENT (“Agreement”) BETWEEN YOU (THE CUSTOMER, EITHER AS AN INDIVIDUAL OR,
7
+ IF PURCHASED OR OTHERWISE ACQUIRED BY OR FOR AN ENTITY, AS AN ENTITY) AND
8
+ SCHIRP DSO LTD. READ IT CAREFULLY BEFORE COMPLETING THE INSTALLATION
9
+ PROCESS AND USING MUTANT AND RELATED SOFTWARE COMPONENTS (“SOFTWARE”).
10
+
11
+ IT PROVIDES A LICENSE TO USE THE SOFTWARE AND CONTAINS WARRANTY INFORMATION
12
+ AND LIABILITY DISCLAIMERS. BY INSTALLING AND USING THE SOFTWARE, YOU ARE
13
+ CONFIRMING YOUR ACCEPTANCE OF THE SOFTWARE AND AGREEING TO BECOME BOUND BY
14
+ THE TERMS OF THIS AGREEMENT.
15
+
16
+ ------------------------------------------------------------------------------
17
+
18
+ In order to use the Software under this Agreement, you must receive a
19
+ “Source URL” at the time of purchase, in accordance with the scope of use and
20
+ other terms specified for each type of Software and as set forth in this
21
+ Section 1 of this Agreement.
22
+
23
+ 1. License Grant
24
+
25
+ 1.1 General Use. This Agreement grants you a non-exclusive, non-transferable,
26
+ limited license to the use rights for the Software, without the right to grant
27
+ sublicenses, subject to the terms and conditions in this Agreement. The
28
+ Software is licensed, not sold.
29
+
30
+ 1.2 Free Project License. If you subscribed under the Free Project License you
31
+ may use the software for any of your projects that are released under an Open
32
+ Source License that is hosted on a public source code repository. You are required
33
+ to keep an up to date list of these repositories in your subscription settings.
34
+ Note that this is a project wide license, no subscription per individual
35
+ developer or contributor is required.
36
+
37
+ 1.3 Professional Developer Organization License. If you subscribed under the
38
+ Professional Developer Organization License, you can use the software on any
39
+ project within your organization. You are required to pay the subscription fee
40
+ per developer using the software.
41
+
42
+ 1.4 Archive Copies. You are entitled to make a reasonable amount of copies of
43
+ the Software for archival purposes. Each copy must reproduce all copyright and
44
+ other proprietary rights notices on or in the Software Product.
45
+
46
+ 1.5 Electronic Delivery. All Software and license documentation shall be
47
+ delivered by electronic means unless otherwise specified on the applicable
48
+ invoice or at the time of purchase. Software shall be deemed delivered when it
49
+ is made available for download by you (“Delivery”).
50
+
51
+ 2. Modifications. Schirp DSO LTD shall provide you with source code so
52
+ that you can create Modifications of the original software. “Modification”
53
+ means: (a) any addition to or deletion from the contents of a file included in
54
+ the original Software or previous Modifications created by You, or (b) any new
55
+ file that contains any part of the original Software or previous Modifications.
56
+ While you retain all rights to any original work authored by you as part of the
57
+ Modifications, We continue to own all copyright and other intellectual property
58
+ rights in the Software.
59
+
60
+ 3. Restricted Uses.
61
+
62
+ 3.1 You shall not (and shall not allow any third party to): (a) decompile,
63
+ disassemble, or otherwise reverse engineer the Software or attempt to
64
+ reconstruct or discover any source code, underlying ideas, algorithms, file
65
+ formats or programming interfaces of the Software by any means whatsoever
66
+ (except and only to the extent that applicable law prohibits or restricts
67
+ reverse engineering restrictions); (b) distribute, sell, sublicense, rent,
68
+ lease or use the Software for time sharing, hosting, service provider or like
69
+ purposes, except as expressly permitted under this Agreement; (c) redistribute
70
+ the Software or Modifications other than by including the Software or a
71
+ portion thereof within your own product, which must have substantially
72
+ different functionality than the Software or Modifications and must not allow
73
+ any third party to use the Software or Modifications, or any portions thereof,
74
+ for software development or application development purposes; (d) redistribute
75
+ the Software as part of a product, "appliance" or "virtual server"; (e)
76
+ redistribute the Software on any server which is not directly under your
77
+ control; (f) remove any product identification, proprietary, copyright or
78
+ other notices contained in the Software; (g) modify any part of the Software,
79
+ create a derivative work of any part of the Software (except as permitted in
80
+ Section 4), or incorporate the Software, except to the extent expressly
81
+ authorized in writing by Schirp DSO LTD; (h) publicly disseminate
82
+ performance information or analysis (including, without limitation, benchmarks)
83
+ from any source relating to the Software; (i) utilize any equipment, device,
84
+ software, or other means designed to circumvent or remove any form of Source
85
+ URL or copy protection used by Schirp DSO LTD in connection with the
86
+ Software, or use the Software together with any authorization code, Source
87
+ URL, serial number, or other copy protection device not supplied by
88
+ Schirp DSO LTD; (j) use the Software to develop a product which is
89
+ competitive with any Schirp DSO LTD product offerings; or (k) use
90
+ unauthorized Source URLS or keycode(s) or distribute or publish Source URLs or
91
+ keycode(s), except as may be expressly permitted by Schirp DSO LTD in
92
+ writing. If your unique Source URL is ever published, Schirp DSO LTD
93
+ reserves the right to terminate your access without notice.
94
+
95
+ 3.2 UNDER NO CIRCUMSTANCES MAY YOU USE THE SOFTWARE AS PART OF A PRODUCT OR
96
+ SERVICE THAT PROVIDES SIMILAR FUNCTIONALITY TO THE SOFTWARE ITSELF.
97
+
98
+ 4. Ownership. Notwithstanding anything to the contrary contained herein, except
99
+ for the limited license rights expressly provided herein, Schirp DSO LTD
100
+ and its suppliers have and will retain all rights, title and interest
101
+ (including, without limitation, all patent, copyright, trademark, trade secret
102
+ and other intellectual property rights) in and to the Software and all copies,
103
+ modifications and derivative works thereof (including any changes which
104
+ incorporate any of your ideas, feedback or suggestions).
105
+ You acknowledge that you are obtaining only a limited license right to the
106
+ Software, and that irrespective of any use of the words “purchase”, “sale” or
107
+ like terms hereunder no ownership rights are being conveyed to you under this
108
+ Agreement or otherwise.
109
+
110
+ 5. Fees and Payment. The Software license fees will be due and payable in full
111
+ as set forth in the applicable invoice or at the time of purchase. If the
112
+ Software does not function properly within two weeks of purchase, please contact
113
+ us within those two weeks for a refund. You shall be responsible for all taxes,
114
+ withholdings, duties and levies arising from the order (excluding taxes based on
115
+ the net income of Schirp DSO LTD).
116
+
117
+ 6. Support, Maintenance and Services. Subject to the terms and conditions of
118
+ this Agreement, as set forth in your invoice, and as set forth on the Mutant
119
+ support page (https://github.com/mbj/mutant/blob/master/docs/commercial-support.md)
120
+ support and maintenance services may be included with the purchase of your
121
+ license subscription.
122
+
123
+ 7. Term of Agreement.
124
+
125
+ 7.1 Term. This Agreement is effective as of the Delivery of the Software and
126
+ expires at such time as all license and service subscriptions hereunder have
127
+ expired in accordance with their own terms (the “Term”). For clarification, the
128
+ term of your license under this Agreement may be perpetual, limited for
129
+ Evaluation Version, or designated as a fixed-term license in the Invoice, and
130
+ shall be specified at your time of purchase. Either party may terminate this
131
+ Agreement (including all related Invoices) if the other party: (a) fails to cure
132
+ any material breach of this Agreement within thirty (30) days after written
133
+ notice of such breach, provided that Schirp DSO LTD may terminate this
134
+ Agreement immediately upon any breach of Section 3 or if you exceed any other
135
+ restrictions contained in Section 1, unless otherwise specified in this
136
+ agreement; (b) ceases operation without a successor; or (c) seeks protection
137
+ under any bankruptcy, receivership, trust deed, creditors arrangement,
138
+ composition or comparable proceeding, or if any such proceeding is instituted
139
+ against such party (and not dismissed within sixty (60) days)). Termination
140
+ is not an exclusive remedy and the exercise by either party of any remedy under
141
+ this Agreement will be without prejudice to any other remedies it may have
142
+ under this Agreement, by law, or otherwise.
143
+
144
+ 7.2 Termination. Upon any termination of this Agreement, you shall cease any
145
+ and all use of any Software and destroy all copies thereof.
146
+
147
+ 7.3 Expiration of License. Upon the expiration of any term under this
148
+ Agreement, (a) all Software updates and services pursuant to the license shall
149
+ cease, (b) you may only continue to run existing installations of the
150
+ Software, (c) you may not install the Software on any additional Hosts, and
151
+ (d) any new installation of the Software shall require the purchase of a new
152
+ license subscription from Schirp DSO LTD.
153
+
154
+ 8. Disclaimer of Warranties. The Software is provided "as is," with all faults,
155
+ defects and errors, and without warranty of any kind. Schirp DSO LTD does
156
+ not warrant that the Software will be free of bugs, errors, viruses or other
157
+ defects, and Schirp DSO LTD shall have no liability of any kind for the use
158
+ of or inability to use the Software, the Software content or any associated
159
+ service, and you acknowledge that it is not technically practicable for
160
+ Schirp DSO LTD to do so. To the maximum extent permitted by applicable law,
161
+ Schirp DSO LTD disclaims all warranties, express, implied, arising by law
162
+ or otherwise, regarding the Software, the Software content and their respective
163
+ performance or suitability for your intended use, including without limitation
164
+ any implied warranty of merchantability, fitness for a particular purpose.
165
+
166
+ 9. Limitation of Liability.
167
+
168
+ In no event will Schirp DSO LTD be liable for any direct, indirect,
169
+ consequential, incidental, special, exemplary, or punitive damages or
170
+ liabilities whatsoever arising from or relating to the Software, the Software
171
+ content or this Agreement, whether based on contract, tort (including
172
+ negligence), strict liability or other theory, even if Schirp DSO LTD has
173
+ been advised of the possibility of such damages.
174
+
175
+ In no event will Schirp DSO LTD' liability exceed the Software license
176
+ price as indicated in the invoice. The existence of more than one claim will
177
+ not enlarge or extend this limit.
178
+
179
+ 10. Remedies. Your exclusive remedy and Schirp DSO LTD’ entire liability
180
+ for breach of this Agreement shall be limited, at Schirp DSO LTD’ sole
181
+ and exclusive discretion, to (a) replacement of any defective software or
182
+ documentation; or (b) refund of the license fee paid to Schirp DSO LTD,
183
+ payable in accordance with Schirp DSO LTD' refund policy.
184
+
185
+ 11. Acknowledgements.
186
+
187
+ 11.1 Consent to the Use of Data. You agree that Schirp DSO LTD and its
188
+ affiliates may collect and use technical information gathered as part of the
189
+ product support services. Schirp DSO LTD may use this information solely
190
+ to improve products and services and will not disclose this information in a
191
+ form that personally identifies you.
192
+
193
+ 11.2 Verification. We or a certified auditor acting on our behalf, may, upon
194
+ its reasonable request and at its expense, audit you with respect to the use
195
+ of the Software. Such audit may be conducted by mail, electronic means or
196
+ through an in-person visit to your place of business. Any such in-person audit
197
+ shall be conducted during regular business hours at your facilities and shall
198
+ not unreasonably interfere with your business activities. We shall not remove,
199
+ copy, or redistribute any electronic material during the course of an audit.
200
+ If an audit reveals that you are using the Software in a way that is in material
201
+ violation of the terms of the EULA, then you shall pay our reasonable costs of
202
+ conducting the audit. In the case of a material violation, you agree to pay
203
+ Us any amounts owing that are attributable to the unauthorized use. In the
204
+ alternative, We reserve the right, at our sole option, to terminate the licenses
205
+ for the Software.
206
+
207
+ 12. Third Party Software. Examples included in Software may provide links to
208
+ third party libraries or code (collectively “Third Party Software”) to implement
209
+ various functions. Third Party Software does not comprise part of the Software.
210
+ In some cases, access to Third Party Software may be included along with the
211
+ Software delivery as a convenience for demonstration purposes. Such source
212
+ code and libraries may be included in the “…/examples” source tree delivered
213
+ with the Software and do not comprise the Software. Licensee acknowledges (1)
214
+ that some part of Third Party Software may require additional licensing of
215
+ copyright and patents from the owners of such, and (2) that distribution of
216
+ any of the Software referencing or including any portion of a Third Party
217
+ Software may require appropriate licensing from such third parties.
218
+
219
+
220
+ 13. Miscellaneous
221
+
222
+ 13.1 Entire Agreement. This Agreement sets forth our entire agreement with
223
+ respect to the Software and the subject matter hereof and supersedes all prior
224
+ and contemporaneous understandings and agreements whether written or oral.
225
+
226
+ 13.2 Amendment. Schirp DSO LTD reserves the right, in its sole discretion,
227
+ to amend this Agreement from time. Amendments to this Agreement can be
228
+ located at: https://github.com/mbj/mutant/blob/master/LICENSE.
229
+
230
+ 13.3 Assignment. You may not assign this Agreement or any of its rights under
231
+ this Agreement without the prior written consent of Schirp DSO LTD and
232
+ any attempted assignment without such consent shall be void.
233
+
234
+ 13.4 Export Compliance. You agree to comply with all applicable laws and
235
+ regulations, including laws, regulations, orders or other restrictions on
236
+ export, re-export or redistribution of software.
237
+
238
+ 13.5 Indemnification. You agree to defend, indemnify, and hold harmless
239
+ Schirp DSO LTD from and against any lawsuits, claims, losses, damages,
240
+ fines and expenses (including attorneys' fees and costs) arising out of
241
+ your use of the Software or breach of this Agreement.
242
+
243
+ 13.6 Governing Law. This Agreement is governed by the laws of Malta without
244
+ regard to conflicts of laws provisions thereof, and without regard to the
245
+ United Nations Convention on the International Sale of Goods or the Uniform
246
+ Computer Information Transactions Act, as currently enacted by any
247
+ jurisdiction or as may be codified or amended from time to time by any
248
+ jurisdiction. The jurisdiction and venue for actions related to the subject
249
+ matter hereof shall be Malta, and both parties hereby
250
+ submit to the personal jurisdiction of such courts.
251
+
252
+ 13.7 Attorneys’ Fees and Costs. The prevailing party in any action to enforce
253
+ this Agreement will be entitled to recover its attorneys’ fees and costs in
254
+ connection with such action.
255
+
256
+ 13.8 Severability. If any provision of this Agreement is held by a court of
257
+ competent jurisdiction to be invalid, illegal, or unenforceable, the remainder
258
+ of this Agreement will remain in full force and effect.
259
+
260
+ 13.9 Waiver. Failure or neglect by either party to enforce at any time any of
261
+ the provisions of this licence Agreement shall not be construed or deemed to
262
+ be a waiver of that party's rights under this Agreement.
263
+
264
+ 13.10 Headings. The headings of sections and paragraphs of this Agreement are
265
+ for convenience of reference only and are not intended to restrict, affect or
266
+ be of any weight in the interpretation or construction of the provisions of
267
+ such sections or paragraphs.
268
+
269
+ 14. Contact Information. If you have any questions about this EULA, or if you
270
+ want to contact Schirp DSO LTD for any reason, please direct correspondence
271
+ to info@schirp-dso.com.
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'test_unit'
@@ -0,0 +1,155 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'test/unit'
4
+ require 'test/unit/ui/console/testrunner'
5
+ require 'mutant/test_unit/coverage'
6
+
7
+ Test::Unit::AutoRunner.need_auto_run = false if defined?(Test::Unit::AutoRunner)
8
+
9
+ module Mutant
10
+ class Integration
11
+ # Test::Unit integration
12
+ class TestUnit < self
13
+ TEST_FILE_PATTERN = './{test,test_unit}/**/{test_*,*_test}.rb'
14
+ IDENTIFICATION_FORMAT = 'test-unit:%s#%s'
15
+
16
+ # Compose a runnable with test method
17
+ class TestCase
18
+ include Adamantium, Anima.new(:klass, :test_method)
19
+
20
+ # Identification string
21
+ #
22
+ # @return [String]
23
+ def identification = IDENTIFICATION_FORMAT % [klass, test_method]
24
+ memoize :identification
25
+
26
+ # Run test case
27
+ #
28
+ # @return [Boolean]
29
+ def call
30
+ suite = ::Test::Unit::TestSuite.new
31
+ suite << klass.new(test_method)
32
+ runner = ::Test::Unit::UI::Console::TestRunner.new(
33
+ suite,
34
+ output_level: ::Test::Unit::UI::Console::OutputLevel::SILENT
35
+ )
36
+ runner.start.passed?
37
+ end
38
+
39
+ # Where the test method is defined
40
+ #
41
+ # @return [String, nil]
42
+ def location
43
+ path, line = klass.instance_method(test_method).source_location
44
+
45
+ "#{path}:#{line}" if path
46
+ end
47
+ memoize :location
48
+
49
+ # Parse expressions
50
+ #
51
+ # @param [ExpressionParser] parser
52
+ #
53
+ # @return [Array<Expression>]
54
+ def expressions(parser)
55
+ klass.resolve_cover_expressions.to_a.map do |value|
56
+ parser.call(expand_constant(value)).from_right
57
+ end
58
+ end
59
+
60
+ private
61
+
62
+ def expand_constant(value)
63
+ case value
64
+ when Class, Module
65
+ "#{value.name}*"
66
+ else
67
+ value
68
+ end
69
+ end
70
+ end # TestCase
71
+
72
+ private_constant(*constants(false))
73
+
74
+ # Setup integration
75
+ #
76
+ # @return [self]
77
+ def setup
78
+ Pathname.glob(TEST_FILE_PATTERN)
79
+ .map(&:to_s)
80
+ .reject { |path| path.include?('/vendor/') }
81
+ .each(&world.kernel.public_method(:require))
82
+
83
+ self
84
+ end
85
+
86
+ # Call test integration
87
+ #
88
+ # @param [Array<Test>] tests
89
+ #
90
+ # @return [Result::Test]
91
+ #
92
+ # rubocop:disable Metrics/MethodLength
93
+ def call(tests)
94
+ test_cases = tests.map(&all_tests_index.public_method(:fetch))
95
+ start = timer.now
96
+
97
+ passed = true
98
+ test_cases.each do |test_case|
99
+ unless test_case.call
100
+ passed = false
101
+ break
102
+ end
103
+ end
104
+
105
+ Result::Test.new(
106
+ job_index: nil,
107
+ output: LogCapture::String.new(content: ''),
108
+ passed:,
109
+ runtime: timer.now - start
110
+ )
111
+ end
112
+
113
+ # All tests exposed by this integration
114
+ #
115
+ # @return [Array<Test>]
116
+ def all_tests = all_tests_index.keys
117
+ memoize :all_tests
118
+
119
+ alias_method :available_tests, :all_tests
120
+
121
+ private
122
+
123
+ def all_tests_index
124
+ all_test_cases.to_h do |test_case|
125
+ [construct_test(test_case), test_case]
126
+ end
127
+ end
128
+ memoize :all_tests_index
129
+
130
+ def construct_test(test_case)
131
+ Test.new(
132
+ expressions: test_case.expressions(expression_parser),
133
+ id: test_case.identification,
134
+ location: test_case.location
135
+ )
136
+ end
137
+
138
+ def all_test_cases
139
+ ::Test::Unit::TestCase::DESCENDANTS
140
+ .select(&method(:allow_runnable?))
141
+ .flat_map(&method(:test_case))
142
+ end
143
+
144
+ def allow_runnable?(klass)
145
+ !klass.equal?(::Test::Unit::TestCase)
146
+ end
147
+
148
+ def test_case(runnable)
149
+ runnable.suite.tests.map do |test|
150
+ TestCase.new(klass: runnable, test_method: test.method_name)
151
+ end
152
+ end
153
+ end # TestUnit
154
+ end # Integration
155
+ end # Mutant
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'test/unit'
4
+
5
+ module Mutant
6
+ module TestUnit
7
+ module Coverage
8
+ # Setup coverage declaration for current class
9
+ #
10
+ # @param [String] expression
11
+ #
12
+ # @example
13
+ #
14
+ # class MyTest < Test::Unit::TestCase
15
+ # cover 'MyCode*'
16
+ #
17
+ # def test_some_stuff
18
+ # end
19
+ # end
20
+ #
21
+ # @api public
22
+ def cover(expression)
23
+ @cover_expressions = Set.new unless defined?(@cover_expressions)
24
+
25
+ @cover_expressions << expression
26
+ end
27
+
28
+ # Effective coverage expression
29
+ #
30
+ # @return [Set<String>]
31
+ #
32
+ # @api private
33
+ def resolve_cover_expressions
34
+ return @cover_expressions if defined?(@cover_expressions)
35
+
36
+ try_superclass_cover_expressions
37
+ end
38
+
39
+ private
40
+
41
+ def try_superclass_cover_expressions
42
+ return if superclass.equal?(::Test::Unit::TestCase) || !superclass.respond_to?(:resolve_cover_expressions)
43
+
44
+ superclass.resolve_cover_expressions
45
+ end
46
+
47
+ end # Coverage
48
+ end # TestUnit
49
+ end # Mutant
50
+
51
+ Test::Unit::TestCase.extend(Mutant::TestUnit::Coverage)
metadata ADDED
@@ -0,0 +1,80 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mutant-test-unit
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.17.0
5
+ platform: ruby
6
+ authors:
7
+ - Markus Schirp
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: mutant
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - '='
17
+ - !ruby/object:Gem::Version
18
+ version: 0.17.0
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - '='
24
+ - !ruby/object:Gem::Version
25
+ version: 0.17.0
26
+ - !ruby/object:Gem::Dependency
27
+ name: test-unit
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '3.0'
33
+ - - "<"
34
+ - !ruby/object:Gem::Version
35
+ version: '4'
36
+ type: :runtime
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: '3.0'
43
+ - - "<"
44
+ - !ruby/object:Gem::Version
45
+ version: '4'
46
+ description: Test::Unit integration for mutant
47
+ email:
48
+ - mbj@schirp-dso.com
49
+ executables: []
50
+ extensions: []
51
+ extra_rdoc_files:
52
+ - LICENSE
53
+ files:
54
+ - LICENSE
55
+ - lib/mutant/integration/test-unit.rb
56
+ - lib/mutant/integration/test_unit.rb
57
+ - lib/mutant/test_unit/coverage.rb
58
+ homepage: https://github.com/mbj/mutant
59
+ licenses:
60
+ - Nonstandard
61
+ metadata:
62
+ rubygems_mfa_required: 'true'
63
+ rdoc_options: []
64
+ require_paths:
65
+ - lib
66
+ required_ruby_version: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ version: '3.3'
71
+ required_rubygems_version: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ requirements: []
77
+ rubygems_version: 4.0.6
78
+ specification_version: 4
79
+ summary: Test::Unit integration for mutant
80
+ test_files: []