mutant-rspec 0.11.17 → 0.11.19
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 +4 -4
- data/lib/mutant/integration/rspec.rb +23 -9
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 60683463467e9eefb7c27c66be0c4d5c4b8d8bb4c4abd3f0cb6cb2d949eee8ce
|
4
|
+
data.tar.gz: 502997639e13b64c8ab480248c7449e1e0217695ad97c05614b37e7a3d054dc8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bb186bb30ac6367d26b9e446ce8fbc0c4801c3840d8f180876917fb716e80b71a66e341f063e44808d0a2b47210dba354d2c81c82ceddef70936a4e178a368d4
|
7
|
+
data.tar.gz: 77892be63bb91f3e77fab10108d2494d2fdb79eaf05b9ca400b3c081b199058809ad8108a7550fbd6a0785ae1ac279d213bed2a10fac4bf1375a5b5324e55d26
|
@@ -43,6 +43,8 @@ module Mutant
|
|
43
43
|
# @return [self]
|
44
44
|
def setup
|
45
45
|
@runner.setup($stderr, $stdout)
|
46
|
+
example_group_map
|
47
|
+
reset_examples
|
46
48
|
self
|
47
49
|
end
|
48
50
|
memoize :setup
|
@@ -53,8 +55,7 @@ module Mutant
|
|
53
55
|
#
|
54
56
|
# @return [Result::Test]
|
55
57
|
def call(tests)
|
56
|
-
|
57
|
-
filter_examples(&examples.public_method(:include?))
|
58
|
+
setup_examples(tests.map(&all_tests_index))
|
58
59
|
start = timer.now
|
59
60
|
passed = @runner.run_specs(@rspec_world.ordered_example_groups).equal?(EXIT_SUCCESS)
|
60
61
|
Result::Test.new(
|
@@ -73,8 +74,18 @@ module Mutant
|
|
73
74
|
|
74
75
|
private
|
75
76
|
|
77
|
+
def reset_examples
|
78
|
+
@rspec_world.filtered_examples.each_value(&:clear)
|
79
|
+
end
|
80
|
+
|
81
|
+
def setup_examples(examples)
|
82
|
+
examples.each do |example|
|
83
|
+
@rspec_world.filtered_examples.fetch(example_group_map.fetch(example)) << example
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
76
87
|
def all_tests_index
|
77
|
-
all_examples.each_with_index.
|
88
|
+
all_examples.each_with_index.with_object({}) do |(example, example_index), index|
|
78
89
|
index[parse_example(example, example_index)] = example
|
79
90
|
end
|
80
91
|
end
|
@@ -95,6 +106,15 @@ module Mutant
|
|
95
106
|
)
|
96
107
|
end
|
97
108
|
|
109
|
+
def example_group_map
|
110
|
+
@rspec_world.example_groups.flat_map(&:descendants).each_with_object({}) do |example_group, map|
|
111
|
+
example_group.examples.each do |example|
|
112
|
+
map[example] = example_group
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
116
|
+
memoize :example_group_map
|
117
|
+
|
98
118
|
def parse_metadata(metadata)
|
99
119
|
if metadata.key?(:mutant_expression)
|
100
120
|
expression = metadata.fetch(:mutant_expression)
|
@@ -119,12 +139,6 @@ module Mutant
|
|
119
139
|
end
|
120
140
|
end
|
121
141
|
|
122
|
-
def filter_examples(&predicate)
|
123
|
-
@rspec_world.filtered_examples.each_value do |examples|
|
124
|
-
examples.keep_if(&predicate)
|
125
|
-
end
|
126
|
-
end
|
127
|
-
|
128
142
|
end # Rspec
|
129
143
|
end # Integration
|
130
144
|
end # Mutant
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mutant-rspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.11.
|
4
|
+
version: 0.11.19
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Markus Schirp
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-05-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mutant
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.11.
|
19
|
+
version: 0.11.19
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.11.
|
26
|
+
version: 0.11.19
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rspec-core
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -74,7 +74,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0'
|
76
76
|
requirements: []
|
77
|
-
rubygems_version: 3.
|
77
|
+
rubygems_version: 3.4.10
|
78
78
|
signing_key:
|
79
79
|
specification_version: 4
|
80
80
|
summary: Rspec integration for mutant
|