minitest 5.0.6 → 5.0.7

Sign up to get free protection for your applications and to get access to all the features.
data.tar.gz.sig CHANGED
Binary file
data/History.txt CHANGED
@@ -1,3 +1,15 @@
1
+ === 5.0.7 / 2013-09-05
2
+
3
+ * 2 minor enhancements:
4
+
5
+ * Added clarification about the use of thread local variables in expectations. (jemc)
6
+ * Added extra message about skipped tests, if any. Disable globally with $MT_NO_SKIP_MSG.
7
+
8
+ * 2 bug fixes:
9
+
10
+ * Only require minitest, not minitest/autorun in pride_plugin. (judofyr)
11
+ * Require rubygems in load_plugins in case you're not using minitest/autorun.
12
+
1
13
  === 5.0.6 / 2013-06-28
2
14
 
3
15
  * 3 minor enhancements:
data/README.txt CHANGED
@@ -366,6 +366,16 @@ you want to extend your test using setup/teardown via a module, just
366
366
  make sure you ALWAYS call super. before/after automatically call super
367
367
  for you, so make sure you don't do it twice.
368
368
 
369
+ == Prominent Projects using Minitest:
370
+
371
+ * arel
372
+ * journey
373
+ * mime-types
374
+ * nokogiri
375
+ * rails (active_support et al)
376
+ * rake
377
+ * rdoc
378
+
369
379
  == Known Extensions:
370
380
 
371
381
  capybara_minitest_spec :: Bridge between Capybara RSpec matchers and MiniTest::Spec expectations (e.g. page.must_have_content("Title")).
data/Rakefile CHANGED
@@ -1,7 +1,5 @@
1
1
  # -*- ruby -*-
2
2
 
3
- $TESTING_MINIUNIT = true
4
-
5
3
  require 'rubygems'
6
4
  require 'hoe'
7
5
 
@@ -14,10 +12,6 @@ Hoe.spec 'minitest' do
14
12
  self.testlib = :minitest
15
13
  end
16
14
 
17
- def loc dir
18
- system "find #{dir} -name \\*.rb | xargs wc -l | tail -1"
19
- end
20
-
21
15
  desc "Find missing expectations"
22
16
  task :specs do
23
17
  $:.unshift "lib"
@@ -69,26 +63,4 @@ task :specs do
69
63
  end
70
64
  end
71
65
 
72
- desc "stupid line count"
73
- task :dickwag do
74
- puts
75
- puts "miniunit"
76
- puts
77
- print " lib loc"; loc "lib"
78
- print " test loc"; loc "test"
79
- print " totl loc"; loc "lib test"
80
- print " flog = "; system "flog -s lib"
81
-
82
- puts
83
- puts "test/unit"
84
- puts
85
- Dir.chdir File.expand_path("~/Work/svn/ruby/ruby_1_8") do
86
- print " lib loc"; loc "lib/test"
87
- print " test loc"; loc "test/testunit"
88
- print " totl loc"; loc "lib/test test/testunit"
89
- print " flog = "; system "flog -s lib/test"
90
- end
91
- puts
92
- end
93
-
94
66
  # vim: syntax=Ruby
data/lib/minitest.rb CHANGED
@@ -4,7 +4,7 @@ require "optparse"
4
4
  # :include: README.txt
5
5
 
6
6
  module Minitest
7
- VERSION = "5.0.6" # :nodoc:
7
+ VERSION = "5.0.7" # :nodoc:
8
8
 
9
9
  @@installed_at_exit ||= false
10
10
  @@after_run = []
@@ -70,6 +70,8 @@ module Minitest
70
70
 
71
71
  seen = {}
72
72
 
73
+ require "rubygems" unless defined? Gem
74
+
73
75
  Gem.find_files("minitest/*_plugin.rb").each do |plugin_path|
74
76
  name = File.basename plugin_path, "_plugin.rb"
75
77
 
@@ -519,7 +521,7 @@ module Minitest
519
521
 
520
522
  io.sync = self.old_sync
521
523
 
522
- io.puts # finish the dots
524
+ io.puts unless options[:verbose] # finish the dots
523
525
  io.puts
524
526
  io.puts statistics
525
527
  io.puts aggregated_results
@@ -541,8 +543,13 @@ module Minitest
541
543
  end
542
544
 
543
545
  def summary # :nodoc:
544
- "%d runs, %d assertions, %d failures, %d errors, %d skips" %
545
- [count, assertions, failures, errors, skips]
546
+ extra = ""
547
+
548
+ extra = "\n\nYou have skipped tests. Run with --verbose for details." if
549
+ results.any?(&:skipped?) unless options[:verbose] or ENV["MT_NO_SKIP_MSG"]
550
+
551
+ "%d runs, %d assertions, %d failures, %d errors, %d skips%s" %
552
+ [count, assertions, failures, errors, skips, extra]
546
553
  end
547
554
  end
548
555
 
@@ -1,5 +1,18 @@
1
1
  ##
2
2
  # It's where you hide your "assertions".
3
+ #
4
+ # Please note, because of the way that expectations are implemented,
5
+ # all expectations (eg must_equal) are dependent upon a thread local
6
+ # variable +:current_spec+. If your specs rely on mixing threads into
7
+ # the specs themselves, you're better off using assertions. For
8
+ # example:
9
+ #
10
+ # it "should still work in threads" do
11
+ # my_threaded_thingy do
12
+ # (1+1).must_equal 2 # bad
13
+ # assert_equal 2, 1+1 # good
14
+ # end
15
+ # end
3
16
 
4
17
  module Minitest::Expectations
5
18
  ##
@@ -1,4 +1,4 @@
1
- require "minitest/autorun"
1
+ require "minitest"
2
2
 
3
3
  module Minitest
4
4
  def self.plugin_pride_options opts, options # :nodoc:
data/lib/minitest/spec.rb CHANGED
@@ -53,7 +53,8 @@ module Kernel # :nodoc:
53
53
  #
54
54
  # but do note that several items there are debatable or specific to
55
55
  # rspec.
56
-
56
+ #
57
+ # For more information about expectations, see Minitest::Expectations.
57
58
 
58
59
  def describe desc, additional_desc = nil, &block # :doc:
59
60
  stack = Minitest::Spec.describe_stack
@@ -109,7 +109,7 @@ class TestMinitestMock < Minitest::Test
109
109
  end
110
110
 
111
111
  def test_expectations_can_be_satisfied_via_public_send
112
- skip if RUBY_VERSION < "1.9"
112
+ skip "Doesn't run on 1.8" if RUBY_VERSION < "1.9"
113
113
 
114
114
  @mock.public_send :foo
115
115
  @mock.public_send :meaning_of_life
@@ -309,6 +309,31 @@ class TestMinitestMock < Minitest::Test
309
309
 
310
310
  assert_equal exp, e.message
311
311
  end
312
+
313
+ def test_mock_called_via_send
314
+ mock = Minitest::Mock.new
315
+ mock.expect(:foo, true)
316
+
317
+ mock.send :foo
318
+ mock.verify
319
+ end
320
+
321
+ def test_mock_called_via___send__
322
+ mock = Minitest::Mock.new
323
+ mock.expect(:foo, true)
324
+
325
+ mock.__send__ :foo
326
+ mock.verify
327
+ end
328
+
329
+ def test_mock_called_via_send_with_args
330
+ mock = Minitest::Mock.new
331
+ mock.expect(:foo, true, [1,2,3])
332
+
333
+ mock.send(:foo, 1, 2, 3)
334
+ mock.verify
335
+ end
336
+
312
337
  end
313
338
 
314
339
  require "minitest/metametameta"
@@ -65,7 +65,11 @@ class TestMinitestReporter < Minitest::Test
65
65
  def skip_test
66
66
  unless defined? @st then
67
67
  @st = Minitest::Test.new(:woot)
68
- @st.failures << Minitest::Skip.new
68
+ @st.failures << begin
69
+ raise Minitest::Skip
70
+ rescue Minitest::Assertion => e
71
+ e
72
+ end
69
73
  end
70
74
  @st
71
75
  end
@@ -80,16 +84,41 @@ class TestMinitestReporter < Minitest::Test
80
84
  refute r.passed?
81
85
  end
82
86
 
87
+ SKIP_MSG = "\n\nYou have skipped tests. Run with --verbose for details."
88
+
83
89
  def test_passed_eh_error
90
+ r.start
91
+
84
92
  r.results << error_test
85
93
 
86
94
  refute r.passed?
95
+
96
+ r.report
97
+
98
+ refute_match SKIP_MSG, io.string
87
99
  end
88
100
 
89
101
  def test_passed_eh_skipped
102
+ r.start
90
103
  r.results << skip_test
104
+ assert r.passed?
105
+
106
+ restore_env do
107
+ r.report
108
+ end
109
+
110
+ assert_match SKIP_MSG, io.string
111
+ end
91
112
 
113
+ def test_passed_eh_skipped_verbose
114
+ r.first.options[:verbose] = true
115
+
116
+ r.start
117
+ r.results << skip_test
92
118
  assert r.passed?
119
+ r.report
120
+
121
+ refute_match SKIP_MSG, io.string
93
122
  end
94
123
 
95
124
  def test_start
@@ -247,10 +276,23 @@ class TestMinitestReporter < Minitest::Test
247
276
  assert_equal exp, normalize_output(io.string)
248
277
  end
249
278
 
279
+ def restore_env
280
+ old_value = ENV["MT_NO_SKIP_MSG"]
281
+ ENV.delete "MT_NO_SKIP_MSG"
282
+
283
+ yield
284
+ ensure
285
+ ENV["MT_NO_SKIP_MSG"] = old_value
286
+ end
287
+
288
+
250
289
  def test_report_skipped
251
290
  r.start
252
291
  r.record skip_test
253
- r.report
292
+
293
+ restore_env do
294
+ r.report
295
+ end
254
296
 
255
297
  exp = clean <<-EOM
256
298
  Run options:
@@ -262,6 +304,8 @@ class TestMinitestReporter < Minitest::Test
262
304
  Finished in 0.00
263
305
 
264
306
  1 runs, 0 assertions, 0 failures, 0 errors, 1 skips
307
+
308
+ You have skipped tests. Run with --verbose for details.
265
309
  EOM
266
310
 
267
311
  assert_equal exp, normalize_output(io.string)
@@ -368,6 +368,15 @@ class TestMinitestRunner < MetaMetaMetaTestCase
368
368
  assert_report expected
369
369
  end
370
370
 
371
+ def restore_env
372
+ old_value = ENV["MT_NO_SKIP_MSG"]
373
+ ENV.delete "MT_NO_SKIP_MSG"
374
+
375
+ yield
376
+ ensure
377
+ ENV["MT_NO_SKIP_MSG"] = old_value
378
+ end
379
+
371
380
  def test_run_skip
372
381
  @tu =
373
382
  Class.new Minitest::Test do
@@ -386,9 +395,13 @@ class TestMinitestRunner < MetaMetaMetaTestCase
386
395
  Finished in 0.00
387
396
 
388
397
  2 runs, 1 assertions, 0 failures, 0 errors, 1 skips
398
+
399
+ You have skipped tests. Run with --verbose for details.
389
400
  EOM
390
401
 
391
- assert_report expected
402
+ restore_env do
403
+ assert_report expected
404
+ end
392
405
  end
393
406
 
394
407
  def test_run_skip_verbose
@@ -407,7 +420,6 @@ class TestMinitestRunner < MetaMetaMetaTestCase
407
420
  #<Class:0xXXX>#test_skip = 0.00 s = S
408
421
  #<Class:0xXXX>#test_something = 0.00 s = .
409
422
 
410
-
411
423
  Finished in 0.00
412
424
 
413
425
  1) Skipped:
@@ -702,8 +714,8 @@ class TestMinitestUnitTestCase < Minitest::Test
702
714
  end
703
715
 
704
716
  def teardown
705
- # assert_equal(@assertion_count, @tc._assertions,
706
- # "expected #{@assertion_count} assertions to be fired during the test, not #{@tc._assertions}") if @tc.passed?
717
+ assert_equal(@assertion_count, @tc.assertions,
718
+ "expected #{@assertion_count} assertions to be fired during the test, not #{@tc.assertions}") if @tc.passed?
707
719
  end
708
720
 
709
721
  def non_verbose
@@ -891,6 +903,8 @@ class TestMinitestUnitTestCase < Minitest::Test
891
903
  end
892
904
 
893
905
  def test_delta_consistency
906
+ @assertion_count = 2
907
+
894
908
  @tc.assert_in_delta 0, 1, 1
895
909
 
896
910
  util_assert_triggered "Expected |0 - 1| (1) to not be <= 1." do
@@ -923,6 +937,8 @@ class TestMinitestUnitTestCase < Minitest::Test
923
937
  end
924
938
 
925
939
  def test_epsilon_consistency
940
+ @assertion_count = 2
941
+
926
942
  @tc.assert_in_epsilon 1.0, 1.001
927
943
 
928
944
  msg = "Expected |1.0 - 1.001| (0.000999xxx) to not be <= 0.001."
@@ -1355,7 +1371,6 @@ class TestMinitestUnitTestCase < Minitest::Test
1355
1371
 
1356
1372
  def test_capture_subprocess_io
1357
1373
  @assertion_count = 0
1358
- skip "Dunno why but the parallel run of this fails"
1359
1374
 
1360
1375
  non_verbose do
1361
1376
  out, err = capture_subprocess_io do
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: minitest
3
3
  version: !ruby/object:Gem::Version
4
- hash: 59
4
+ hash: 57
5
5
  prerelease:
6
6
  segments:
7
7
  - 5
8
8
  - 0
9
- - 6
10
- version: 5.0.6
9
+ - 7
10
+ version: 5.0.7
11
11
  platform: ruby
12
12
  authors:
13
13
  - Ryan Davis
@@ -36,7 +36,7 @@ cert_chain:
36
36
  FBHgymkyj/AOSqKRIpXPhjC6
37
37
  -----END CERTIFICATE-----
38
38
 
39
- date: 2013-06-28 00:00:00 Z
39
+ date: 2013-09-05 00:00:00 Z
40
40
  dependencies:
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rdoc
@@ -61,11 +61,11 @@ dependencies:
61
61
  requirements:
62
62
  - - ~>
63
63
  - !ruby/object:Gem::Version
64
- hash: 11
64
+ hash: 9
65
65
  segments:
66
66
  - 3
67
- - 6
68
- version: "3.6"
67
+ - 7
68
+ version: "3.7"
69
69
  type: :development
70
70
  version_requirements: *id002
71
71
  description: |-
@@ -161,8 +161,8 @@ files:
161
161
  - test/minitest/test_minitest_unit.rb
162
162
  - .gemtest
163
163
  homepage: https://github.com/seattlerb/minitest
164
- licenses: []
165
-
164
+ licenses:
165
+ - MIT
166
166
  post_install_message:
167
167
  rdoc_options:
168
168
  - --main
metadata.gz.sig CHANGED
Binary file