ZenTest 4.9.5 → 4.10.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 01ab6d292bd11c1bc678ba897b89b9707cca2147
4
- data.tar.gz: 2c625ed33a0105a14517189ae09b79b6178cce06
3
+ metadata.gz: 8f8a3f08c3eeace59bc81d6b178c29372c716e25
4
+ data.tar.gz: 8841b0872c66d27eb6e6eb77de3394dc9184a550
5
5
  SHA512:
6
- metadata.gz: f5ac689fbead7c9f39b904d132b8367367ec494d01201679d24d103f04f0951d16b7d57311eef806aa7d8058c1979abc04085764b6e22457197f0436992df659
7
- data.tar.gz: c8dae0d637abf16c3e1ea1b6b26e9fd3e2f8b691a6d0b24c23a3f4dcb9d9735e2659fe8f00571977f21974d4397bf978f6df160eb7fdefeb1374c8bd7d2330f8
6
+ metadata.gz: 68b4adc55747a77f47c4adf26b373cda2f98252731926ec50d5f2913107b2cb8dc2281e1960e91f767322bbb0fbf82e2a507cddd87cca0ba9d56f3da09049781
7
+ data.tar.gz: 01c12142f9ecc9ee9175fdaac1a9848eafd69e3dd9e4a5999ad3cdc25b834dc25c3c89c2a09801c94f1e737d59ba53aba2ec42c343a16e2e3edfa8d4b17ccc5c
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -1,3 +1,10 @@
1
+ === 4.10.0 / 2014-04-23
2
+
3
+ * 2 minor enhancements:
4
+
5
+ * Added test_mappings accessor methods (ivar already there).
6
+ * Added test_prefix to allow you to run code ahead of test loading. (default: gem minitest)
7
+
1
8
  === 4.9.5 / 2013-11-01
2
9
 
3
10
  * 1 bug fix:
data/README.txt CHANGED
@@ -96,6 +96,16 @@ Then add the following to the ".autotest" file:
96
96
 
97
97
  require "autotest/suffix"
98
98
 
99
+ If you prefer minitest/spec to minitest/unit, you can still use autotest
100
+ by installing the autotest-spec plugin.
101
+ To do this first install the autotest-spec gem:
102
+
103
+ $ gem install autotest-spec
104
+
105
+ Then add the following to the ".autotest" file:
106
+
107
+ require "autotest/spec"
108
+
99
109
  == SYNOPSIS
100
110
 
101
111
  ZenTest MyProject.rb TestMyProject.rb > missing.rb
@@ -1,7 +1,5 @@
1
- require 'find'
2
- require 'rbconfig'
3
-
4
- $TESTING = false unless defined? $TESTING
1
+ require "find"
2
+ require "rbconfig"
5
3
 
6
4
  ##
7
5
  # Autotest continuously scans the files in your project for changes
@@ -75,6 +73,7 @@ class Autotest
75
73
  end
76
74
 
77
75
  HOOKS = Hash.new { |h,k| h[k] = [] }
76
+
78
77
  unless defined? WINDOZE then
79
78
  WINDOZE = /mswin|mingw/ =~ RbConfig::CONFIG['host_os']
80
79
  SEP = WINDOZE ? '&' : ';'
@@ -113,6 +112,7 @@ class Autotest
113
112
  end
114
113
 
115
114
  opts.on "-d", "--debug", "Debug mode, for reporting bugs." do
115
+ require "pp"
116
116
  options[:debug] = true
117
117
  end
118
118
 
@@ -249,26 +249,28 @@ class Autotest
249
249
  end
250
250
 
251
251
  attr_writer :known_files
252
- attr_accessor(:completed_re,
253
- :extra_class_map,
254
- :extra_files,
255
- :failed_results_re,
256
- :files_to_test,
257
- :find_order,
258
- :interrupted,
259
- :latest_results,
260
- :last_mtime,
261
- :libs,
262
- :order,
263
- :output,
264
- :prefix,
265
- :results,
266
- :sleep,
267
- :tainted,
268
- :testlib,
269
- :find_directories,
270
- :unit_diff,
271
- :wants_to_quit)
252
+ attr_accessor :completed_re
253
+ attr_accessor :extra_class_map
254
+ attr_accessor :extra_files
255
+ attr_accessor :failed_results_re
256
+ attr_accessor :files_to_test
257
+ attr_accessor :find_directories
258
+ attr_accessor :find_order
259
+ attr_accessor :interrupted
260
+ attr_accessor :last_mtime
261
+ attr_accessor :latest_results
262
+ attr_accessor :libs
263
+ attr_accessor :order # TODO: deprecate and remove
264
+ attr_accessor :output
265
+ attr_accessor :prefix
266
+ attr_accessor :results
267
+ attr_accessor :sleep
268
+ attr_accessor :tainted
269
+ attr_accessor :test_mappings
270
+ attr_accessor :testlib
271
+ attr_accessor :testprefix
272
+ attr_accessor :unit_diff
273
+ attr_accessor :wants_to_quit
272
274
 
273
275
  alias tainted? tainted
274
276
 
@@ -279,8 +281,8 @@ class Autotest
279
281
  # these two are set directly because they're wrapped with
280
282
  # add/remove/clear accessor methods
281
283
  @exception_list = []
282
- @test_mappings = []
283
284
  @child = nil
285
+ self.test_mappings = []
284
286
 
285
287
  self.completed_re =
286
288
  /\d+ (tests|runs), \d+ assertions, \d+ failures, \d+ errors(, \d+ skips)?/
@@ -295,7 +297,9 @@ class Autotest
295
297
  self.output = $stderr
296
298
  self.prefix = nil
297
299
  self.sleep = 1
298
- self.testlib = "minitest/autorun"
300
+ self.testlib = "minitest/autorun" # TODO: rename
301
+ self.testprefix = "gem 'minitest'" # TODO: rename
302
+
299
303
  specified_directories = ARGV.reject { |arg| arg.start_with?("-") } # options are not directories
300
304
  self.find_directories = specified_directories.empty? ? ['.'] : specified_directories
301
305
  self.unit_diff = nil
@@ -303,7 +307,7 @@ class Autotest
303
307
 
304
308
  # file in /lib -> run test in /test
305
309
  self.add_mapping(/^lib\/.*\.rb$/) do |filename, _|
306
- possible = File.basename(filename).gsub '_', '_?' # ' stupid emacs
310
+ possible = File.basename(filename).gsub '_', '_?'
307
311
  files_matching %r%^test/.*#{possible}$%
308
312
  end
309
313
 
@@ -321,7 +325,6 @@ class Autotest
321
325
  end
322
326
 
323
327
  def debug
324
- require "pp"
325
328
  find_files_to_test
326
329
 
327
330
  puts "Known test files:"
@@ -606,7 +609,7 @@ class Autotest
606
609
  self.files_to_test = consolidate_failures failed
607
610
 
608
611
  color = failed.empty? ? :green : :red
609
- hook color unless $TESTING
612
+ hook color
610
613
  else
611
614
  self.latest_results = nil
612
615
  end
@@ -624,13 +627,6 @@ class Autotest
624
627
  @known_files
625
628
  end
626
629
 
627
- ##
628
- # Returns the base of the ruby command.
629
-
630
- def ruby_cmd
631
- "#{prefix}#{ruby} -I#{libs} -rubygems"
632
- end
633
-
634
630
  ##
635
631
  # Generate the commands to test the supplied files
636
632
 
@@ -644,6 +640,7 @@ class Autotest
644
640
 
645
641
  cmds = []
646
642
  full, partial = reorder(files_to_test).partition { |k,v| v.empty? }
643
+
647
644
  diff = self.unit_diff
648
645
  diff = " | #{diff}" if diff and diff !~ /^\|/
649
646
 
@@ -651,7 +648,7 @@ class Autotest
651
648
  classes = full.map {|k,v| k}.flatten.uniq
652
649
  classes.unshift testlib
653
650
  classes = classes.join " "
654
- cmds << "#{ruby_cmd} -e \"%w[#{classes}].each { |f| require f }\"#{diff}"
651
+ cmds << "#{ruby_cmd} -e \"#{testprefix}; %w[#{classes}].each { |f| require f }\"#{diff}"
655
652
  end
656
653
 
657
654
  partial.each do |klass, methods|
@@ -722,6 +719,13 @@ class Autotest
722
719
  return ruby
723
720
  end
724
721
 
722
+ ##
723
+ # Returns the base of the ruby command.
724
+
725
+ def ruby_cmd
726
+ "#{prefix}#{ruby} -I#{libs} -rubygems"
727
+ end
728
+
725
729
  ##
726
730
  # Return the name of the file with the tests for filename by finding
727
731
  # a +test_mapping+ that matches the file and executing the mapping's
@@ -730,7 +734,7 @@ class Autotest
730
734
  def test_files_for filename
731
735
  result = []
732
736
 
733
- @test_mappings.each do |file_re, proc|
737
+ self.test_mappings.each do |file_re, proc|
734
738
  if filename =~ file_re then
735
739
  result = [proc.call(filename, $~)].
736
740
  flatten.sort.uniq.select { |f| known_files[f] }
@@ -738,10 +742,10 @@ class Autotest
738
742
  end
739
743
  end
740
744
 
741
- p :test_file_for => [filename, result.first] if result and options[:debug]
745
+ pp :test_file_for => [filename, result.first] if result and options[:debug]
742
746
 
743
747
  output.puts "No tests matched #{filename}" if
744
- (options[:verbose] or $TESTING) and result.empty?
748
+ options[:verbose] and result.empty?
745
749
 
746
750
  return result
747
751
  end
@@ -64,7 +64,7 @@ end
64
64
 
65
65
  class ZenTest
66
66
 
67
- VERSION = "4.9.5"
67
+ VERSION = "4.10.0"
68
68
 
69
69
  include ZenTestMapping
70
70
 
@@ -1,7 +1,5 @@
1
1
  #!/usr/local/bin/ruby -w
2
2
 
3
- $TESTING = true
4
-
5
3
  require 'rubygems'
6
4
  require 'minitest/autorun'
7
5
 
@@ -19,7 +17,7 @@ require 'autotest'
19
17
  # run_tests
20
18
 
21
19
  class Autotest
22
- attr_reader :test_mappings, :exception_list
20
+ attr_reader :exception_list
23
21
 
24
22
  def self.clear_hooks
25
23
  HOOKS.clear
@@ -130,7 +128,7 @@ class TestAutotest < Minitest::Test
130
128
  end
131
129
 
132
130
  def test_consolidate_failures_multiple_possibilities
133
- @files[@other_test] = Time.at(42)
131
+ @files[@other_test] = Time.at(42)
134
132
  result = @a.consolidate_failures([['test_unmatched', @test_class]])
135
133
  expected = { @test => ['test_unmatched']}
136
134
  assert_equal expected, result
@@ -192,8 +190,12 @@ class TestAutotest < Minitest::Test
192
190
  empty = {}
193
191
 
194
192
  files = { "fooby.rb" => Time.at(42) }
195
- assert @a.find_files_to_test(files) # we find fooby,
196
- assert_equal empty, @a.files_to_test # but it isn't something to test
193
+ @a.options[:verbose] = true
194
+
195
+ capture_io do
196
+ assert @a.find_files_to_test(files) # we find fooby,
197
+ assert_equal empty, @a.files_to_test # but it isn't something to test
198
+ end
197
199
  assert_equal "No tests matched fooby.rb\n", @a.output.string
198
200
  end
199
201
 
@@ -425,12 +427,13 @@ test_error2(#{@test_class}):
425
427
  req = ".each { |f| require f }\""
426
428
 
427
429
  expected =
428
- [ "#{pre} -e \"%w[minitest/autorun #{@test}]#{req}",
430
+ [ "#{pre} -e \"gem 'minitest'",
431
+ "%w[minitest/autorun #{@test}]#{req}",
429
432
  "#{pre} test/test_fooby.rb -n \"/^(test_something1|test_something2)$/\""
430
433
  ].join("; ")
431
434
 
432
435
  result = @a.make_test_cmd f
433
- assert_equal expected, result
436
+ assert_equal expected.gsub(/ /, "\n"), result.gsub(/ /, "\n")
434
437
  end
435
438
 
436
439
  def test_make_test_cmd_unit_diff
@@ -444,7 +447,8 @@ test_error2(#{@test_class}):
444
447
  req = ".each { |f| require f }\""
445
448
  post = "| unit_diff -u"
446
449
 
447
- expected = [ "#{pre} -e \"%w[minitest/autorun #{@test}]#{req} #{post}",
450
+ expected = [ "#{pre} -e \"gem 'minitest'",
451
+ "%w[minitest/autorun #{@test}]#{req} #{post}",
448
452
  "#{pre} test/test_fooby.rb -n \"/^(test_something1|test_something2)$/\" #{post}" ].join("; ")
449
453
 
450
454
  result = @a.make_test_cmd f
@@ -515,8 +519,10 @@ test_error2(#{@test_class}):
515
519
  t = @a.last_mtime
516
520
  files = { f => t + 1 }
517
521
 
518
- assert @a.find_files_to_test(files)
519
- assert_equal expected, @a.files_to_test
522
+ capture_io do
523
+ assert @a.find_files_to_test(files)
524
+ assert_equal expected, @a.files_to_test
525
+ end
520
526
  assert_equal t, @a.last_mtime
521
527
  assert_equal "", @a.output.string
522
528
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ZenTest
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.9.5
4
+ version: 4.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Davis
@@ -30,7 +30,7 @@ cert_chain:
30
30
  Y4evBVezr3SjXz08vPqRO5YRdO3zfeMT8gBjRqZjWJGMZ2lD4XNfrs7eky74CyZw
31
31
  xx3n58i0lQkBE1EpKE0lFu/y
32
32
  -----END CERTIFICATE-----
33
- date: 2013-11-02 00:00:00.000000000 Z
33
+ date: 2014-04-23 00:00:00.000000000 Z
34
34
  dependencies:
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: minitest
@@ -38,14 +38,14 @@ dependencies:
38
38
  requirements:
39
39
  - - ~>
40
40
  - !ruby/object:Gem::Version
41
- version: '5.0'
41
+ version: '5.3'
42
42
  type: :development
43
43
  prerelease: false
44
44
  version_requirements: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - ~>
47
47
  - !ruby/object:Gem::Version
48
- version: '5.0'
48
+ version: '5.3'
49
49
  - !ruby/object:Gem::Dependency
50
50
  name: rdoc
51
51
  requirement: !ruby/object:Gem::Requirement
@@ -66,14 +66,14 @@ dependencies:
66
66
  requirements:
67
67
  - - ~>
68
68
  - !ruby/object:Gem::Version
69
- version: '3.7'
69
+ version: '3.12'
70
70
  type: :development
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - ~>
75
75
  - !ruby/object:Gem::Version
76
- version: '3.7'
76
+ version: '3.12'
77
77
  description: |-
78
78
  ZenTest provides 4 different tools: zentest, unit_diff, autotest, and
79
79
  multiruby.
@@ -115,6 +115,7 @@ extra_rdoc_files:
115
115
  - example.txt
116
116
  files:
117
117
  - .autotest
118
+ - .gemtest
118
119
  - History.txt
119
120
  - Manifest.txt
120
121
  - README.txt
@@ -152,7 +153,6 @@ files:
152
153
  - test/test_unit_diff.rb
153
154
  - test/test_zentest.rb
154
155
  - test/test_zentest_mapping.rb
155
- - .gemtest
156
156
  homepage: https://github.com/seattlerb/zentest
157
157
  licenses:
158
158
  - MIT
@@ -177,8 +177,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
177
177
  - !ruby/object:Gem::Version
178
178
  version: '3.0'
179
179
  requirements: []
180
- rubyforge_project: zentest
181
- rubygems_version: 2.1.10
180
+ rubyforge_project:
181
+ rubygems_version: 2.2.1
182
182
  signing_key:
183
183
  specification_version: 4
184
184
  summary: 'ZenTest provides 4 different tools: zentest, unit_diff, autotest, and multiruby'
metadata.gz.sig CHANGED
@@ -1 +1,2 @@
1
- u;Tj�QLv����!L-(HU��S��7��l#h��������Q����O��12��Ad@x_0��ʶ��|�wf~�D?v�p`��{�r���"�_Q(�uYȘn*R|�7�C��YY� �մ9M���#'��8��S��������,cM���-�+�J^���sʶ�ؽ�Kx8�ۏ�<>.ɞ_xJ ��B���?�i8�� XW^�*{q�׵Vg{w��9lx�l���Z49Ԑ=���u��s.�n
1
+ l3�\����E^/"3<S�&#m1�+c[IA���egh0�%+
2
+ �������P�O5�x���ܧ