spec 5.0.19 → 5.3.3
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 +4 -4
- data/History.txt +106 -0
- data/Manifest.txt +1 -1
- data/README.txt +83 -37
- data/Rakefile +3 -56
- data/lib/minitest.rb +58 -156
- data/lib/minitest/assertions.rb +13 -1
- data/lib/minitest/benchmark.rb +3 -3
- data/lib/minitest/hell.rb +1 -1
- data/lib/minitest/mock.rb +2 -2
- data/lib/minitest/parallel.rb +40 -0
- data/lib/minitest/pride_plugin.rb +1 -2
- data/lib/minitest/spec.rb +23 -22
- data/lib/minitest/test.rb +19 -8
- data/lib/spec.rb +156 -2
- data/readme.md +1 -1
- data/spec.gemspec +2 -2
- data/test/manual/simple.rb +10 -15
- data/test/minitest/metametameta.rb +4 -2
- data/test/minitest/test_minitest_benchmark.rb +7 -1
- data/test/minitest/test_minitest_mock.rb +12 -2
- data/test/minitest/test_minitest_reporter.rb +0 -1
- data/test/minitest/test_minitest_spec.rb +41 -4
- data/test/minitest/test_minitest_unit.rb +38 -20
- metadata +15 -37
- data/lib/minitest/parallel_each.rb +0 -120
- data/release_notes.md +0 -80
- data/test/manual/after_run.rb +0 -17
- data/test/manual/appium.rb +0 -14
- data/test/manual/appium_after_last.rb +0 -24
- data/test/manual/appium_before_first.rb +0 -23
- data/test/manual/assert.rb +0 -61
- data/test/manual/before_first_0.rb +0 -27
- data/test/manual/before_first_1.rb +0 -29
- data/test/manual/ctrl_c.rb +0 -11
- data/test/manual/debug.rb +0 -37
- data/test/manual/do_end.rb +0 -31
- data/test/manual/raise.rb +0 -61
- data/test/manual/run2.rb +0 -74
- data/test/manual/run3.rb +0 -91
- data/test/manual/setup.rb +0 -13
- data/test/manual/simple2.rb +0 -20
- data/test/manual/skip.rb +0 -15
- data/test/manual/t.rb +0 -11
- data/test/manual/trace.rb +0 -19
- data/test/manual/trace2.rb +0 -15
- data/test/minitest/test_helper.rb +0 -20
data/test/manual/do_end.rb
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'rubygems'
|
4
|
-
require 'stringio' # stdlib
|
5
|
-
require 'spec' # not 'minitest'
|
6
|
-
|
7
|
-
describe 'a' do
|
8
|
-
t('') do
|
9
|
-
def ok(&block); block.call; end
|
10
|
-
a = ok do
|
11
|
-
true
|
12
|
-
end
|
13
|
-
# should be true not nil
|
14
|
-
$stdout.puts "a is nil? #{a.nil?}"
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
Minitest.run_specs
|
19
|
-
|
20
|
-
|
21
|
-
$driver.public_methods(false).each do | m |
|
22
|
-
MiniTest::Spec.class_eval do
|
23
|
-
define_method m do | *args, &block |
|
24
|
-
begin
|
25
|
-
super(*args, &block)
|
26
|
-
rescue NoMethodError
|
27
|
-
$driver.send m, *args, &block if $driver.respond_to?(m)
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
data/test/manual/raise.rb
DELETED
@@ -1,61 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'rubygems'
|
4
|
-
require 'stringio' # stdlib
|
5
|
-
require 'spec' # not 'minitest'
|
6
|
-
|
7
|
-
class MiniTest::Spec
|
8
|
-
@@output = StringIO.new
|
9
|
-
|
10
|
-
def self.output
|
11
|
-
@@output
|
12
|
-
end
|
13
|
-
|
14
|
-
def p msg
|
15
|
-
@@output.puts msg
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
class SpecTest < MiniTest::Spec
|
20
|
-
describe 'a' do
|
21
|
-
t('') { p 1 }
|
22
|
-
t('') { raise 'fail' }
|
23
|
-
t('') { p 3 }
|
24
|
-
t('') { p 4 }
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
options = {}
|
29
|
-
out = MiniTest::Spec.output
|
30
|
-
reporter = Minitest::CompositeReporter.new
|
31
|
-
reporter << Minitest::SummaryReporter.new(out, options)
|
32
|
-
reporter << Minitest::ProgressReporter.new(out, options)
|
33
|
-
|
34
|
-
reporter.start
|
35
|
-
|
36
|
-
begin
|
37
|
-
Minitest.__run reporter, options
|
38
|
-
reporter.reporters.each { |r| r.report }
|
39
|
-
rescue Minitest::Runnable::ExitAfterFirstFail
|
40
|
-
end
|
41
|
-
|
42
|
-
out.flush
|
43
|
-
out.rewind
|
44
|
-
|
45
|
-
actual = out.readlines.join ''
|
46
|
-
|
47
|
-
exp = <<'EXP'
|
48
|
-
1
|
49
|
-
.E
|
50
|
-
|
51
|
-
Finished in 0s
|
52
|
-
|
53
|
-
1) Error:
|
54
|
-
a#test_0002_:
|
55
|
-
RuntimeError: fail
|
56
|
-
raise.rb:22:in `block (2 levels) in <class:SpecTest>'
|
57
|
-
|
58
|
-
2 runs, 0 assertions, 0 failures, 1 errors, 0 skips
|
59
|
-
EXP
|
60
|
-
|
61
|
-
puts actual.must_equal exp
|
data/test/manual/run2.rb
DELETED
@@ -1,74 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'rubygems'
|
4
|
-
require 'stringio' # stdlib
|
5
|
-
require 'spec' # not 'minitest'
|
6
|
-
|
7
|
-
class MiniTest::Spec
|
8
|
-
@@output = StringIO.new
|
9
|
-
|
10
|
-
def self.output
|
11
|
-
@@output
|
12
|
-
end
|
13
|
-
|
14
|
-
def p msg
|
15
|
-
@@output.puts msg
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
class SpecTest < MiniTest::Spec
|
20
|
-
describe 'a' do
|
21
|
-
t('') { p 1 }
|
22
|
-
t('') { p 2 }
|
23
|
-
t('') { p 3 }
|
24
|
-
t('') { p 4 }
|
25
|
-
t('') { p 5 }
|
26
|
-
t('') { p 6 }
|
27
|
-
t('') { p 7 }
|
28
|
-
end
|
29
|
-
|
30
|
-
describe 'b' do
|
31
|
-
before { p '-- before' }
|
32
|
-
t('z') { p 8 }
|
33
|
-
t('b') { p 9 }
|
34
|
-
t('a') { p 10 }
|
35
|
-
end
|
36
|
-
|
37
|
-
describe 'z' do
|
38
|
-
t('a') { p 11 }
|
39
|
-
t('z') { p 12 }
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
options = {}
|
44
|
-
out = MiniTest::Spec.output
|
45
|
-
reporter = Minitest::CompositeReporter.new
|
46
|
-
reporter << Minitest::SummaryReporter.new(out, options)
|
47
|
-
reporter << Minitest::ProgressReporter.new(out, options)
|
48
|
-
|
49
|
-
Minitest.__run reporter, options
|
50
|
-
|
51
|
-
out.flush
|
52
|
-
out.rewind
|
53
|
-
|
54
|
-
actual = out.readlines.join ''
|
55
|
-
exp = <<'EXP'.strip
|
56
|
-
1
|
57
|
-
.2
|
58
|
-
.3
|
59
|
-
.4
|
60
|
-
.5
|
61
|
-
.6
|
62
|
-
.7
|
63
|
-
.-- before
|
64
|
-
8
|
65
|
-
.-- before
|
66
|
-
9
|
67
|
-
.-- before
|
68
|
-
10
|
69
|
-
.11
|
70
|
-
.12
|
71
|
-
.
|
72
|
-
EXP
|
73
|
-
|
74
|
-
puts actual.must_equal exp
|
data/test/manual/run3.rb
DELETED
@@ -1,91 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'rubygems'
|
4
|
-
require 'stringio' # stdlib
|
5
|
-
require 'spec' # not 'minitest'
|
6
|
-
|
7
|
-
class MiniTest::Spec
|
8
|
-
@@output = StringIO.new
|
9
|
-
|
10
|
-
def self.output
|
11
|
-
@@output
|
12
|
-
end
|
13
|
-
|
14
|
-
def p msg
|
15
|
-
@@output.puts msg
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
class SpecTest < MiniTest::Spec
|
20
|
-
describe 'a' do
|
21
|
-
before_first { p '-- before_first' }
|
22
|
-
after_last { p '-- after_last' }
|
23
|
-
t('') { p 1 }
|
24
|
-
t('') { p 2 }
|
25
|
-
t('') { p 3 }
|
26
|
-
t('') { p 4 }
|
27
|
-
t('') { p 5 }
|
28
|
-
t('') { p 6 }
|
29
|
-
t('') { p 7 }
|
30
|
-
end
|
31
|
-
|
32
|
-
describe 'b' do
|
33
|
-
t('') { p 8 }
|
34
|
-
t('') { p 9 }
|
35
|
-
end
|
36
|
-
|
37
|
-
describe 'c' do
|
38
|
-
before { p '-- before' }
|
39
|
-
after { p '-- after' }
|
40
|
-
t('') { p 10 }
|
41
|
-
t('') { p 11 }
|
42
|
-
t('') { p 12 }
|
43
|
-
end
|
44
|
-
|
45
|
-
describe 'd' do
|
46
|
-
t('') { p 13 }
|
47
|
-
t('') { p 14 }
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
options = {}
|
52
|
-
out = MiniTest::Spec.output
|
53
|
-
reporter = Minitest::CompositeReporter.new
|
54
|
-
reporter << Minitest::SummaryReporter.new(out, options)
|
55
|
-
reporter << Minitest::ProgressReporter.new(out, options)
|
56
|
-
#reporter.start
|
57
|
-
|
58
|
-
Minitest.__run reporter, options
|
59
|
-
|
60
|
-
#reporter.report
|
61
|
-
out.flush
|
62
|
-
out.rewind
|
63
|
-
|
64
|
-
actual = out.readlines.join ''
|
65
|
-
exp = <<'EXP'.strip
|
66
|
-
-- before_first
|
67
|
-
1
|
68
|
-
.2
|
69
|
-
.3
|
70
|
-
.4
|
71
|
-
.5
|
72
|
-
.6
|
73
|
-
.7
|
74
|
-
.-- after_last
|
75
|
-
8
|
76
|
-
.9
|
77
|
-
.-- before
|
78
|
-
10
|
79
|
-
-- after
|
80
|
-
.-- before
|
81
|
-
11
|
82
|
-
-- after
|
83
|
-
.-- before
|
84
|
-
12
|
85
|
-
-- after
|
86
|
-
.13
|
87
|
-
.14
|
88
|
-
.
|
89
|
-
EXP
|
90
|
-
|
91
|
-
puts actual.must_equal exp
|
data/test/manual/setup.rb
DELETED
data/test/manual/simple2.rb
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
ary = []
|
2
|
-
|
3
|
-
class Test
|
4
|
-
def self.run &block
|
5
|
-
define_method :run_method do
|
6
|
-
# eval %(ary << 1; puts 'complete'), block.binding
|
7
|
-
new_src = "ary << 1\nputs 'complete'"
|
8
|
-
block = eval("Proc.new { #{new_src} }", block.binding)
|
9
|
-
self.instance_eval &block
|
10
|
-
end
|
11
|
-
|
12
|
-
puts 'calling run method'
|
13
|
-
Test.new.run_method
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
Test.run do
|
18
|
-
ary << 1
|
19
|
-
puts 'complete'
|
20
|
-
end
|
data/test/manual/skip.rb
DELETED
@@ -1,15 +0,0 @@
|
|
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 })
|
data/test/manual/t.rb
DELETED
data/test/manual/trace.rb
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
# from http://apidock.com/ruby/Kernel/set_trace_func
|
2
|
-
|
3
|
-
class Test
|
4
|
-
def test
|
5
|
-
a = 1
|
6
|
-
b = 2
|
7
|
-
end
|
8
|
-
end
|
9
|
-
|
10
|
-
$lines = IO.readlines('trace.rb')
|
11
|
-
$last_line = -1
|
12
|
-
set_trace_func proc { |event, file, line, id, binding, classname|
|
13
|
-
if file == 'trace.rb' && $last_line != line
|
14
|
-
puts "#{line}: #{$lines[line-1]}"
|
15
|
-
$last_line = line
|
16
|
-
end
|
17
|
-
}
|
18
|
-
t = Test.new
|
19
|
-
t.test
|
data/test/manual/trace2.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'rubygems'
|
4
|
-
require 'stringio' # stdlib
|
5
|
-
require 'spec' # not 'minitest'
|
6
|
-
|
7
|
-
describe 'a' do
|
8
|
-
t('b') { 1 }
|
9
|
-
t('c') { 2 }
|
10
|
-
t('d') { 3 }
|
11
|
-
t('e') { 4 }
|
12
|
-
end
|
13
|
-
|
14
|
-
# Run specs and trace this file
|
15
|
-
Minitest.run_specs({ :trace => [__FILE__] })
|
@@ -1,20 +0,0 @@
|
|
1
|
-
# Disable fail on first failure
|
2
|
-
class Minitest::Runnable
|
3
|
-
def self.check_failures result, reporter
|
4
|
-
end
|
5
|
-
end
|
6
|
-
|
7
|
-
# Restore summary reporter's output
|
8
|
-
class Minitest::SummaryReporter < Minitest::StatisticsReporter
|
9
|
-
def start # :nodoc:
|
10
|
-
super
|
11
|
-
|
12
|
-
io.puts "Run options: #{options[:args]}"
|
13
|
-
io.puts
|
14
|
-
io.puts "# Running:"
|
15
|
-
io.puts
|
16
|
-
|
17
|
-
self.sync = io.respond_to? :"sync=" # stupid emacs
|
18
|
-
self.old_sync, io.sync = io.sync, true if self.sync
|
19
|
-
end
|
20
|
-
end
|