minitest-bisect 1.1.0 → 1.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0a69c4cd04993faef276a75c10d66a9661380664
4
- data.tar.gz: 1b98b09d3cbca5bdb4001824ea63482d9b64f688
3
+ metadata.gz: c07d701766f01fd6301659fb71cac1ac8682218c
4
+ data.tar.gz: 3e0a61e0790298e58af74f7d2f534c6d4d1bf9a2
5
5
  SHA512:
6
- metadata.gz: 1f5723f2eacf4adb6ed59f802210119793c8ac36f6cbb3dc1396bc6e0530b2a29883be75a37ba3fd8899d56473b558be5a80ff20308703ef9885ac53234505ca
7
- data.tar.gz: ce36d7e6111c168c852d1f070c855c541bf74b0b26af21a661649645d904c78baa534d2967ab1b99afc6eed4726eeaae5dec4c508212973608ed4e4a3e4593c2
6
+ metadata.gz: c1dc4a0b243fd45c32f897f78165ea31f9896917624e4448d854dbb45c74caa1143a89bde40adfce3b8d4d5c3189332a82e78a9f96141970b783b74572284cd4
7
+ data.tar.gz: 0ed7e8b24b0076ea3d6d1e696dfa1d51d3421d576c78262aeaac720bf5c286b72c61a92d6f568d14d9c8a9087c98484783e6c936532309f1d8aafa5602fd3404
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -1,3 +1,10 @@
1
+ === 1.2.0 / 2014-09-18
2
+
3
+ * 2 minor enhancements:
4
+
5
+ * Extracted minitest-server.
6
+ * Renamed server/client methods to start with minitest_*
7
+
1
8
  === 1.1.0 / 2014-09-08
2
9
 
3
10
  * 4 minor enhancements:
@@ -24,7 +24,5 @@ example/test_bad7.rb
24
24
  example/test_bad8.rb
25
25
  lib/minitest/bisect.rb
26
26
  lib/minitest/find_minimal_combination.rb
27
- lib/minitest/server.rb
28
- lib/minitest/server_plugin.rb
29
27
  test/minitest/test_bisect.rb
30
28
  test/minitest/test_find_minimal_combination.rb
@@ -70,7 +70,7 @@ So, you run the tests again, but this time with minitest_bisect.
70
70
  Provide the seed given in the failure so the tests always run in the
71
71
  same order and reproduce every time.
72
72
 
73
- minitest_bisect with first minimize the number of files, then it will
73
+ minitest_bisect will first minimize the number of files, then it will
74
74
  turn around and minimize the number of methods.
75
75
 
76
76
  $ minitest_bisect --seed 3911 example/test*.rb
@@ -128,9 +128,9 @@ determine what side-effects (or lack thereof) are causing your test
128
128
  failure when run in this specific order.
129
129
 
130
130
  This happens in a single run. Depending on how many files / tests you
131
- have and how long they take, the first phase might take a long time.
132
- The second phase might also take a while, but each iteration should
133
- reduce the number of tests so it should get quicker with each step.
131
+ have and how long they take, the minimization might take a long time,
132
+ but each iteration can reduce the number of tests so it should get
133
+ quicker with time.
134
134
 
135
135
  == REQUIREMENTS:
136
136
 
data/Rakefile CHANGED
@@ -7,9 +7,13 @@ Hoe.plugin :isolate
7
7
  Hoe.plugin :seattlerb
8
8
  Hoe.plugin :rdoc
9
9
 
10
+ Hoe.add_include_dirs "../../minitest-server/dev/lib"
11
+
10
12
  Hoe.spec "minitest-bisect" do
11
13
  developer "Ryan Davis", "ryand-ruby@zenspider.com"
12
14
  license "MIT"
15
+
16
+ dependency "minitest-server", "~> 1.0"
13
17
  end
14
18
 
15
19
  require "rake/testtask"
@@ -3,7 +3,7 @@ require "minitest/server"
3
3
  require "shellwords"
4
4
 
5
5
  class Minitest::Bisect
6
- VERSION = "1.1.0"
6
+ VERSION = "1.2.0"
7
7
 
8
8
  SHH = ENV["MTB_VERBOSE"].to_i >= 2 ? nil : " &> /dev/null"
9
9
 
@@ -145,7 +145,14 @@ class Minitest::Bisect
145
145
  cmd
146
146
  end
147
147
 
148
- def result file, klass, method, fails, assertions, time
148
+ ############################################################
149
+ # Server Methods:
150
+
151
+ def minitest_start
152
+ self.failures.clear
153
+ end
154
+
155
+ def minitest_result file, klass, method, fails, assertions, time
149
156
  fails.reject! { |fail| Minitest::Skip === fail }
150
157
 
151
158
  if mode == :methods then
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.1.0
4
+ version: 1.2.0
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
- MIIDPjCCAiagAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMRMwEQYDVQQDDApyeWFu
13
+ MIIDPjCCAiagAwIBAgIBAjANBgkqhkiG9w0BAQUFADBFMRMwEQYDVQQDDApyeWFu
14
14
  ZC1ydWJ5MRkwFwYKCZImiZPyLGQBGRYJemVuc3BpZGVyMRMwEQYKCZImiZPyLGQB
15
- GRYDY29tMB4XDTEzMDkxNjIzMDQxMloXDTE0MDkxNjIzMDQxMlowRTETMBEGA1UE
15
+ GRYDY29tMB4XDTE0MDkxNzIzMDcwN1oXDTE1MDkxNzIzMDcwN1owRTETMBEGA1UE
16
16
  AwwKcnlhbmQtcnVieTEZMBcGCgmSJomT8ixkARkWCXplbnNwaWRlcjETMBEGCgmS
17
17
  JomT8ixkARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALda
18
18
  b9DCgK+627gPJkB6XfjZ1itoOQvpqH1EXScSaba9/S2VF22VYQbXU1xQXL/WzCkx
@@ -22,15 +22,29 @@ cert_chain:
22
22
  qhtV7HJxNKuPj/JFH0D2cswvzznE/a5FOYO68g+YCuFi5L8wZuuM8zzdwjrWHqSV
23
23
  gBEfoTEGr7Zii72cx+sCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
24
24
  HQYDVR0OBBYEFEfFe9md/r/tj/Wmwpy+MI8d9k/hMA0GCSqGSIb3DQEBBQUAA4IB
25
- AQCFZ7JTzoy1gcG4d8A6dmOJy7ygtO5MFpRIz8HuKCF5566nOvpy7aHhDDzFmQuu
26
- FX3zDU6ghx5cQIueDhf2SGOncyBmmJRRYawm3wI0o1MeN6LZJ/3cRaOTjSFy6+S6
27
- zqDmHBp8fVA2TGJtO0BLNkbGVrBJjh0UPmSoGzWlRhEVnYC33TpDAbNA+u39UrQI
28
- ynwhNN7YbnmSR7+JU2cUjBFv2iPBO+TGuWC+9L2zn3NHjuc6tnmSYipA9y8Hv+As
29
- Y4evBVezr3SjXz08vPqRO5YRdO3zfeMT8gBjRqZjWJGMZ2lD4XNfrs7eky74CyZw
30
- xx3n58i0lQkBE1EpKE0lFu/y
25
+ AQAFoDJRokCQdxFfOrmsKX41KOFlU/zjrbDVM9hgB/Ur999M6OXGSi8FitXNtMwY
26
+ FVjsiAPeU7HaWVVcZkj6IhINelTkXsxgGz/qCzjHy3iUMuZWw36cS0fiWJ5rvH+e
27
+ hD7uXxJSFuyf1riDGI1aeWbQ74WMwvNstOxLUMiV5a1fzBhlxPqb537ubDjq/M/h
28
+ zPUFPVYeL5KjDHLCqI2FwIk2sEMOQgjpXHzl+3NlD2LUgUhHDMevmgVua0e2GT1B
29
+ xJcC6UN6NHMOVMyAXsr2HR0gRRx4ofN1LoP2KhXzSr8UMvQYlwPmE0N5GQv1b5AO
30
+ VpzF30vNaJK6ZT7xlIsIlwmH
31
31
  -----END CERTIFICATE-----
32
- date: 2014-09-09 00:00:00.000000000 Z
32
+ date: 2014-09-18 00:00:00.000000000 Z
33
33
  dependencies:
34
+ - !ruby/object:Gem::Dependency
35
+ name: minitest-server
36
+ requirement: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '1.0'
41
+ type: :runtime
42
+ prerelease: false
43
+ version_requirements: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: '1.0'
34
48
  - !ruby/object:Gem::Dependency
35
49
  name: minitest
36
50
  requirement: !ruby/object:Gem::Requirement
@@ -122,8 +136,6 @@ files:
122
136
  - example/test_bad8.rb
123
137
  - lib/minitest/bisect.rb
124
138
  - lib/minitest/find_minimal_combination.rb
125
- - lib/minitest/server.rb
126
- - lib/minitest/server_plugin.rb
127
139
  - test/minitest/test_bisect.rb
128
140
  - test/minitest/test_find_minimal_combination.rb
129
141
  homepage: https://github.com/seattlerb/minitest-bisect
@@ -148,7 +160,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
148
160
  version: '0'
149
161
  requirements: []
150
162
  rubyforge_project:
151
- rubygems_version: 2.2.1
163
+ rubygems_version: 2.4.1
152
164
  signing_key:
153
165
  specification_version: 4
154
166
  summary: Hunting down random test failures can be very very difficult, sometimes impossible,
metadata.gz.sig CHANGED
@@ -1,2 +1,2 @@
1
- ��#K19?���9��5Wvs��[�3C�&J���^%!C���<�2�џ/���I:��z
2
- �����'�D17��'�z-�V3
1
+ �����R4d`�6��Cc"���q������D��XL�ґ�z���J��o e�$�����6��� d�֟u�VM 3A��o.g��ˌ��A�=�7Y݆=�}���r��U�q-��u3
2
+ ��j��ᓜ zQ'M\�f����<��Wf��5��!���)��(���g)��ӯx��n̬�z�u\%Zgk���I.���vj9�?ޟ��m�N�\K]5n���5��xː5Oq-%sd�S�
@@ -1,45 +0,0 @@
1
- require "drb"
2
- require "tmpdir"
3
- require "minitest"
4
-
5
- module Minitest
6
- class Server
7
- TOPDIR = Dir.pwd + "/"
8
-
9
- def self.path pid = $$
10
- "drbunix:#{Dir.tmpdir}/minitest.#{pid}"
11
- end
12
-
13
- def self.run client
14
- DRb.start_service path, new(client)
15
- end
16
-
17
- def self.stop
18
- DRb.stop_service
19
- end
20
-
21
- attr_accessor :client
22
-
23
- def initialize client
24
- self.client = client
25
- end
26
-
27
- def quit
28
- self.class.stop
29
- end
30
-
31
- def start
32
- client.failures.clear # TODO: push down to subclass
33
- end
34
-
35
- def result file, klass, method, fails, assertions, time
36
- file = file.sub(/^#{TOPDIR}/, "")
37
-
38
- client.result file, klass, method, fails, assertions, time
39
- end
40
-
41
- def report
42
- # do nothing
43
- end
44
- end
45
- end
@@ -1,44 +0,0 @@
1
- require "minitest"
2
-
3
- module Minitest
4
- @server = false
5
-
6
- def self.plugin_server_options opts, options # :nodoc:
7
- opts.on "--server=pid", Integer, "Connect to minitest server w/ pid." do |s|
8
- @server = s
9
- end
10
- end
11
-
12
- def self.plugin_server_init options
13
- if @server then
14
- require "minitest/server"
15
- self.reporter << Minitest::ServerReporter.new(@server)
16
- end
17
- end
18
- end
19
-
20
- module Minitest
21
- class ServerReporter < Minitest::AbstractReporter
22
- def initialize pid
23
- DRb.start_service
24
- uri = Minitest::Server.path(pid)
25
- @mt_server = DRbObject.new_with_uri uri
26
- super()
27
- end
28
-
29
- def start
30
- @mt_server.start
31
- end
32
-
33
- def record result
34
- r = result
35
- c = r.class
36
- file, = c.instance_method(r.name).source_location
37
- @mt_server.result file, c.name, r.name, r.failures, r.assertions, r.time
38
- end
39
-
40
- def report
41
- @mt_server.report
42
- end
43
- end
44
- end