minitest-bisect 1.4.0 → 1.4.1
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 +5 -5
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/History.rdoc +7 -0
- data/README.rdoc +3 -3
- data/lib/minitest/bisect.rb +8 -3
- data/test/minitest/test_bisect.rb +9 -1
- data/test/minitest/test_find_minimal_combination.rb +1 -1
- metadata +40 -35
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: cff92ce857a2c5a2a5ec16125c68b77513490096eeb225d88c9a386e01c7970e
|
4
|
+
data.tar.gz: e9683eb9d3f1960aa90f2558aa860eb372cfd1f12053536e651917e7a02fb256
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5b4867ee6ac8d70e7fc85d7a1e5982db15d161f8f5deac85d1def14bf0a8ffdfad921924a6d7fe5137ca0445a65908c4d00668456bcfcad6a965cd13e1437459
|
7
|
+
data.tar.gz: a5548ed9cd15fb5174e2e8f8a51998818431603410aa95015357651b6394e9333e71cb41a278ae4f854c992bec7aa3a218a91227b7d6883d6d68d3e78e71615b
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/History.rdoc
CHANGED
data/README.rdoc
CHANGED
@@ -142,17 +142,17 @@ quicker with time.
|
|
142
142
|
|
143
143
|
== FAQ:
|
144
144
|
|
145
|
-
==== Q: What if my tests are in multiple subdirectories?
|
145
|
+
==== Q: What if my tests are in multiple subdirectories (e.g. 'test/' folder in a Rails app)?
|
146
146
|
|
147
147
|
This is assuming the following doesn't work for you:
|
148
148
|
|
149
|
-
minitest_bisect --seed 3911 test/*_test.rb
|
149
|
+
minitest_bisect --seed 3911 -Itest test/*_test.rb
|
150
150
|
|
151
151
|
because you need it to span multiple sub-directories.
|
152
152
|
|
153
153
|
A: Use your shell to find the files for you
|
154
154
|
|
155
|
-
minitest_bisect --seed 3911 $(find test -type f -name \*_test.rb)
|
155
|
+
minitest_bisect --seed 3911 -Itest $(find test -type f -name \*_test.rb)
|
156
156
|
|
157
157
|
or
|
158
158
|
|
data/lib/minitest/bisect.rb
CHANGED
@@ -5,7 +5,7 @@ require "rbconfig"
|
|
5
5
|
require "path_expander"
|
6
6
|
|
7
7
|
class Minitest::Bisect
|
8
|
-
VERSION = "1.4.
|
8
|
+
VERSION = "1.4.1"
|
9
9
|
|
10
10
|
class PathExpander < ::PathExpander
|
11
11
|
TEST_GLOB = "**/{test_*,*_test,spec_*,*_spec}.rb" # :nodoc:
|
@@ -199,10 +199,11 @@ class Minitest::Bisect
|
|
199
199
|
|
200
200
|
bbc.each do |klass, methods|
|
201
201
|
methods = methods.map(&:last).flatten.uniq.map { |method|
|
202
|
-
method
|
202
|
+
re_escape method
|
203
203
|
}
|
204
204
|
|
205
|
-
|
205
|
+
methods = methods.join "|"
|
206
|
+
re << /#{re_escape klass}#(?:#{methods})/.to_s[7..-2] # (?-mix:...)
|
206
207
|
end
|
207
208
|
|
208
209
|
re = re.join("|").to_s.gsub(/-mix/, "")
|
@@ -210,6 +211,10 @@ class Minitest::Bisect
|
|
210
211
|
"/^(?:#{re})$/"
|
211
212
|
end
|
212
213
|
|
214
|
+
def re_escape str
|
215
|
+
str.gsub(/([`'"!?&\[\]\(\)\{\}\|\+])/, '\\\\\1')
|
216
|
+
end
|
217
|
+
|
213
218
|
def build_methods_cmd cmd, culprits = [], bad = nil
|
214
219
|
reset
|
215
220
|
|
@@ -90,7 +90,15 @@ class TestMinitest::TestBisect < Minitest::Test
|
|
90
90
|
assert_equal exp, bisect.build_re(bad)
|
91
91
|
end
|
92
92
|
|
93
|
-
def
|
93
|
+
def test_build_re_class_escaping
|
94
|
+
bad = ["{}#[]"]
|
95
|
+
|
96
|
+
exp = "/^(?:\\{\\}#(?:\\[\\]))$/"
|
97
|
+
|
98
|
+
assert_equal exp, bisect.build_re(bad)
|
99
|
+
end
|
100
|
+
|
101
|
+
def test_build_re_method_escaping
|
94
102
|
bad = ["Some Class#It shouldn't care what the name is"]
|
95
103
|
|
96
104
|
exp = "/^(?:Some Class#(?:It shouldn\\'t care what the name is))$/"
|
@@ -96,7 +96,7 @@ describe Array, :find_minimal_combination do
|
|
96
96
|
def self.test_find_minimal_combination max, *bad
|
97
97
|
define_method "test_find_minimal_combination_#{max}_#{bad.join "_"}" do
|
98
98
|
a = (1..max).to_a
|
99
|
-
a.find_minimal_combination(&check(*bad)).must_equal bad
|
99
|
+
_(a.find_minimal_combination(&check(*bad))).must_equal bad
|
100
100
|
end
|
101
101
|
end
|
102
102
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: minitest-bisect
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Davis
|
@@ -10,9 +10,9 @@ bindir: bin
|
|
10
10
|
cert_chain:
|
11
11
|
- |
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
|
-
|
13
|
+
MIIDPjCCAiagAwIBAgIBAzANBgkqhkiG9w0BAQsFADBFMRMwEQYDVQQDDApyeWFu
|
14
14
|
ZC1ydWJ5MRkwFwYKCZImiZPyLGQBGRYJemVuc3BpZGVyMRMwEQYKCZImiZPyLGQB
|
15
|
-
|
15
|
+
GRYDY29tMB4XDTE4MTIwNDIxMzAxNFoXDTE5MTIwNDIxMzAxNFowRTETMBEGA1UE
|
16
16
|
AwwKcnlhbmQtcnVieTEZMBcGCgmSJomT8ixkARkWCXplbnNwaWRlcjETMBEGCgmS
|
17
17
|
JomT8ixkARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALda
|
18
18
|
b9DCgK+627gPJkB6XfjZ1itoOQvpqH1EXScSaba9/S2VF22VYQbXU1xQXL/WzCkx
|
@@ -21,86 +21,92 @@ cert_chain:
|
|
21
21
|
GiadM9GHRaDiaxuX0cIUBj19T01mVE2iymf9I6bEsiayK/n6QujtyCbTWsAS9Rqt
|
22
22
|
qhtV7HJxNKuPj/JFH0D2cswvzznE/a5FOYO68g+YCuFi5L8wZuuM8zzdwjrWHqSV
|
23
23
|
gBEfoTEGr7Zii72cx+sCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
|
24
|
-
HQYDVR0OBBYEFEfFe9md/r/tj/Wmwpy+MI8d9k/
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
24
|
+
HQYDVR0OBBYEFEfFe9md/r/tj/Wmwpy+MI8d9k/hMA0GCSqGSIb3DQEBCwUAA4IB
|
25
|
+
AQCbJwLmpJR2PomLU+Zzw3KRzH/hbyUWc/ftru71AopZ1fy4iY9J/BW5QYKVYwbP
|
26
|
+
V0FSBWtvfI/RdwfKGtuGhPKECZgmLieGuZ3XCc09qPu1bdg7i/tu1p0t0c6163ku
|
27
|
+
nDMDIC/t/DAFK0TY9I3HswuyZGbLW7rgF0DmiuZdN/RPhHq2pOLMLXJmFclCb/im
|
28
|
+
9yToml/06TJdUJ5p64mkBs0TzaK66DIB1Smd3PdtfZqoRV+EwaXMdx0Hb3zdR1JR
|
29
|
+
Em82dBUFsipwMLCYj39kcyHWAxyl6Ae1Cn9r/ItVBCxoeFdrHjfavnrIEoXUt4bU
|
30
|
+
UfBugfLD19bu3nvL+zTAGx/U
|
31
31
|
-----END CERTIFICATE-----
|
32
|
-
date:
|
32
|
+
date: 2019-05-27 00:00:00.000000000 Z
|
33
33
|
dependencies:
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
35
|
name: minitest-server
|
36
36
|
requirement: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1.0'
|
41
41
|
type: :runtime
|
42
42
|
prerelease: false
|
43
43
|
version_requirements: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '1.0'
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: path_expander
|
50
50
|
requirement: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '1.0'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
57
|
version_requirements: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '1.0'
|
62
62
|
- !ruby/object:Gem::Dependency
|
63
|
-
name:
|
63
|
+
name: rake
|
64
64
|
requirement: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ">"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '0'
|
69
69
|
type: :development
|
70
70
|
prerelease: false
|
71
71
|
version_requirements: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - ">"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
75
|
+
version: '0'
|
76
76
|
- !ruby/object:Gem::Dependency
|
77
|
-
name:
|
77
|
+
name: rdoc
|
78
78
|
requirement: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
82
|
+
version: '4.0'
|
83
|
+
- - "<"
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '7'
|
83
86
|
type: :development
|
84
87
|
prerelease: false
|
85
88
|
version_requirements: !ruby/object:Gem::Requirement
|
86
89
|
requirements:
|
87
|
-
- -
|
90
|
+
- - ">="
|
88
91
|
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
92
|
+
version: '4.0'
|
93
|
+
- - "<"
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '7'
|
90
96
|
- !ruby/object:Gem::Dependency
|
91
97
|
name: hoe
|
92
98
|
requirement: !ruby/object:Gem::Requirement
|
93
99
|
requirements:
|
94
|
-
- - ~>
|
100
|
+
- - "~>"
|
95
101
|
- !ruby/object:Gem::Version
|
96
|
-
version: '3.
|
102
|
+
version: '3.17'
|
97
103
|
type: :development
|
98
104
|
prerelease: false
|
99
105
|
version_requirements: !ruby/object:Gem::Requirement
|
100
106
|
requirements:
|
101
|
-
- - ~>
|
107
|
+
- - "~>"
|
102
108
|
- !ruby/object:Gem::Version
|
103
|
-
version: '3.
|
109
|
+
version: '3.17'
|
104
110
|
description: |-
|
105
111
|
Hunting down random test failures can be very very difficult,
|
106
112
|
sometimes impossible, but minitest-bisect makes it easy.
|
@@ -123,7 +129,7 @@ extra_rdoc_files:
|
|
123
129
|
- Manifest.txt
|
124
130
|
- README.rdoc
|
125
131
|
files:
|
126
|
-
- .autotest
|
132
|
+
- ".autotest"
|
127
133
|
- History.rdoc
|
128
134
|
- Manifest.txt
|
129
135
|
- README.rdoc
|
@@ -157,23 +163,22 @@ licenses:
|
|
157
163
|
metadata: {}
|
158
164
|
post_install_message:
|
159
165
|
rdoc_options:
|
160
|
-
- --main
|
166
|
+
- "--main"
|
161
167
|
- README.rdoc
|
162
168
|
require_paths:
|
163
169
|
- lib
|
164
170
|
required_ruby_version: !ruby/object:Gem::Requirement
|
165
171
|
requirements:
|
166
|
-
- -
|
172
|
+
- - ">="
|
167
173
|
- !ruby/object:Gem::Version
|
168
174
|
version: '0'
|
169
175
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
170
176
|
requirements:
|
171
|
-
- -
|
177
|
+
- - ">="
|
172
178
|
- !ruby/object:Gem::Version
|
173
179
|
version: '0'
|
174
180
|
requirements: []
|
175
|
-
|
176
|
-
rubygems_version: 2.4.5
|
181
|
+
rubygems_version: 3.0.2
|
177
182
|
signing_key:
|
178
183
|
specification_version: 4
|
179
184
|
summary: Hunting down random test failures can be very very difficult, sometimes impossible,
|
metadata.gz.sig
CHANGED
Binary file
|