spec 5.0.18 → 5.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ccfcc8e1904aaae95d69f1595e96a0bc9e241b47
4
- data.tar.gz: 5b9c315d81625b1f34862d39f8d218a79c769787
3
+ metadata.gz: 5038d9de846696ce5a2f21796e96617307552236
4
+ data.tar.gz: ccc9abc1332c91214faa8d35e3c89cb22976ea55
5
5
  SHA512:
6
- metadata.gz: b66017678f7e5f4d4da15d4feeae02a727021f5f90213ae0d7911068a18067590d17758251a26429a4eb55d42b4976ffd6e01361805c2664f99dc611c60de42e
7
- data.tar.gz: df2f66b6fb64f17492212dbdaa699a0d4147be5f2f4ea01ac911d36e7c26851b5d71c6c0b4d79431862363bf26f8cc57a6b0de7d9a6b7a411b936912c70d532d
6
+ metadata.gz: 7da9864a71d17f68ce58d957099918028d03b19a4bcc80961b4aa5397e14867db34c18f44a8a7ddb0dc5681f84b03b9547a0c59b49e98454cf58c9c7cafea731
7
+ data.tar.gz: 18330a6e213562aed882a7a31bec0d7b80607c3077375fa3fe62adf46d109debce732098ebe926d2fb843b7325116ac002009e210aa41412924c6adffc12ed90
@@ -5,8 +5,8 @@ require 'chronic_duration'
5
5
  # :include: README.txt
6
6
 
7
7
  module Minitest
8
- VERSION = '5.0.18' # :nodoc:
9
- DATE = '2013-08-13' # :nodoc:
8
+ VERSION = '5.0.19' # :nodoc:
9
+ DATE = '2013-08-19' # :nodoc:
10
10
 
11
11
  @@installed_at_exit ||= false
12
12
  @@after_run = []
@@ -148,8 +148,9 @@ module Minitest
148
148
  io = spec_opts.fetch(:io, $stdout)
149
149
  color = spec_opts.fetch(:color, "\e[32m") # ANSI.green default
150
150
  # target only existing readable files
151
- files_to_trace.each { |f| targets.push(f) if File.exists?(f) && File
152
- .readable?(f) }
151
+ files_to_trace.each do |f|
152
+ targets.push(File.expand_path(f)) if File.exists?(f) && File.readable?(f)
153
+ end
153
154
  return if targets.empty?
154
155
 
155
156
  set_trace_func(lambda do |event, file, line, id, binding, classname|
@@ -325,7 +326,9 @@ module Minitest
325
326
  class ExitAfterFirstFail < RuntimeError; end
326
327
 
327
328
  def self.check_failures result, reporter
328
- if !result.failures.empty?
329
+ # skip is not a failure.
330
+ true_fails = result.failures.reject { |obj| obj.class == Minitest::Skip }
331
+ if !true_fails.empty?
329
332
  begin
330
333
  reporter.reporters.each { |r| r.report }
331
334
  ensure
@@ -651,7 +654,7 @@ module Minitest
651
654
 
652
655
  io.sync = self.old_sync
653
656
 
654
- io.puts # finish the dots
657
+ io.puts unless options[:verbose] # finish the dots
655
658
  io.puts
656
659
  io.puts statistics
657
660
  io.puts aggregated_results
@@ -672,8 +675,13 @@ module Minitest
672
675
  end
673
676
 
674
677
  def summary # :nodoc:
675
- "%d runs, %d assertions, %d failures, %d errors, %d skips" %
676
- [count, assertions, failures, errors, skips]
678
+ extra = ""
679
+
680
+ extra = "\n\nYou have skipped tests. Run with --verbose for details." if
681
+ results.any?(&:skipped?) unless options[:verbose] or ENV["MT_NO_SKIP_MSG"]
682
+
683
+ "%d runs, %d assertions, %d failures, %d errors, %d skips%s" %
684
+ [count, assertions, failures, errors, skips, extra]
677
685
  end
678
686
  end
679
687
 
@@ -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
  ##
@@ -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
@@ -289,4 +290,4 @@ require "minitest/expectations"
289
290
 
290
291
  class Object # :nodoc:
291
292
  include Minitest::Expectations unless ENV["MT_NO_EXPECTATIONS"]
292
- end
293
+ end
@@ -1,3 +1,10 @@
1
+ #### v5.0.18 2013-08-13
2
+
3
+ - [60c70b0](https://github.com/bootstraponline/spec/commit/60c70b0ef6005a515086467c1af3a9faedfb4da3) Release 5.0.18
4
+ - [c0ebada](https://github.com/bootstraponline/spec/commit/c0ebada0543fb3d11ceb441cf17da91566119c41) Invoke after_run on Ctrl + C
5
+ - [630edb2](https://github.com/bootstraponline/spec/commit/630edb2b45f3948ca0d465f29e1c198050fe0fb5) Fix exit
6
+
7
+
1
8
  #### v5.0.17 2013-08-12
2
9
 
3
10
  - [605696d](https://github.com/bootstraponline/spec/commit/605696d4952c9a8b9107e3a338c8713d6f979d18) Release 5.0.17
@@ -0,0 +1,15 @@
1
+ # encoding: utf-8
2
+
3
+ require 'rubygems'
4
+ require 'stringio' # stdlib
5
+ require 'spec' # not 'minitest'
6
+
7
+ describe 'a' do
8
+ t('') { puts 1 }
9
+ t('') { skip }
10
+ t('') { puts 3 }
11
+ t('') { skip }
12
+ t('') { puts 5 }
13
+ end
14
+
15
+ Minitest.run_specs({ trace: [__FILE__], verbose: true })
@@ -66,7 +66,11 @@ class TestMinitestReporter < Minitest::Test
66
66
  def skip_test
67
67
  unless defined? @st then
68
68
  @st = Minitest::Test.new(:woot)
69
- @st.failures << Minitest::Skip.new
69
+ @st.failures << begin
70
+ raise Minitest::Skip
71
+ rescue Minitest::Assertion => e
72
+ e
73
+ end
70
74
  end
71
75
  @st
72
76
  end
@@ -81,16 +85,41 @@ class TestMinitestReporter < Minitest::Test
81
85
  refute r.passed?
82
86
  end
83
87
 
88
+ SKIP_MSG = "\n\nYou have skipped tests. Run with --verbose for details."
89
+
84
90
  def test_passed_eh_error
91
+ r.start
92
+
85
93
  r.results << error_test
86
94
 
87
95
  refute r.passed?
96
+
97
+ r.report
98
+
99
+ refute_match SKIP_MSG, io.string
88
100
  end
89
101
 
90
102
  def test_passed_eh_skipped
103
+ r.start
91
104
  r.results << skip_test
105
+ assert r.passed?
106
+
107
+ restore_env do
108
+ r.report
109
+ end
110
+
111
+ assert_match SKIP_MSG, io.string
112
+ end
92
113
 
114
+ def test_passed_eh_skipped_verbose
115
+ r.first.options[:verbose] = true
116
+
117
+ r.start
118
+ r.results << skip_test
93
119
  assert r.passed?
120
+ r.report
121
+
122
+ refute_match SKIP_MSG, io.string
94
123
  end
95
124
 
96
125
  def test_start
@@ -248,10 +277,23 @@ class TestMinitestReporter < Minitest::Test
248
277
  assert_equal exp, normalize_output(io.string)
249
278
  end
250
279
 
280
+ def restore_env
281
+ old_value = ENV["MT_NO_SKIP_MSG"]
282
+ ENV.delete "MT_NO_SKIP_MSG"
283
+
284
+ yield
285
+ ensure
286
+ ENV["MT_NO_SKIP_MSG"] = old_value
287
+ end
288
+
289
+
251
290
  def test_report_skipped
252
291
  r.start
253
292
  r.record skip_test
254
- r.report
293
+
294
+ restore_env do
295
+ r.report
296
+ end
255
297
 
256
298
  exp = clean <<-EOM
257
299
  Run options:
@@ -263,6 +305,8 @@ class TestMinitestReporter < Minitest::Test
263
305
  Finished in 0.00
264
306
 
265
307
  1 runs, 0 assertions, 0 failures, 0 errors, 1 skips
308
+
309
+ You have skipped tests. Run with --verbose for details.
266
310
  EOM
267
311
 
268
312
  assert_equal exp, normalize_output(io.string)
@@ -387,6 +387,8 @@ class TestMinitestRunner < MetaMetaMetaTestCase
387
387
  Finished in 0.00
388
388
 
389
389
  2 runs, 1 assertions, 0 failures, 0 errors, 1 skips
390
+
391
+ You have skipped tests. Run with --verbose for details.
390
392
  EOM
391
393
 
392
394
  assert_report expected
@@ -408,7 +410,6 @@ class TestMinitestRunner < MetaMetaMetaTestCase
408
410
  #<Class:0xXXX>#test_something = 0.00 s = .
409
411
  #<Class:0xXXX>#test_skip = 0.00 s = S
410
412
 
411
-
412
413
  Finished in 0.00
413
414
 
414
415
  1) Skipped:
@@ -416,7 +417,7 @@ class TestMinitestRunner < MetaMetaMetaTestCase
416
417
  not yet
417
418
 
418
419
  2 runs, 1 assertions, 0 failures, 0 errors, 1 skips
419
- EOM
420
+ EOM
420
421
 
421
422
  assert_report expected, %w[--seed 42 --verbose]
422
423
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spec
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.18
4
+ version: 5.0.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - code@bootstraponline.com
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-08-13 00:00:00.000000000 Z
11
+ date: 2013-08-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: chronic_duration
@@ -103,6 +103,7 @@ files:
103
103
  - test/manual/setup.rb
104
104
  - test/manual/simple.rb
105
105
  - test/manual/simple2.rb
106
+ - test/manual/skip.rb
106
107
  - test/manual/t.rb
107
108
  - test/manual/trace.rb
108
109
  - test/manual/trace2.rb