test-unit 3.2.9 → 3.5.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/BSDL +24 -0
- data/COPYING +41 -44
- data/README.md +18 -11
- data/Rakefile +0 -23
- data/doc/text/getting-started.md +2 -2
- data/doc/text/news.md +329 -1
- data/lib/test/unit/assertion-failed-error.rb +35 -0
- data/lib/test/unit/assertions.rb +453 -161
- data/lib/test/unit/attribute.rb +3 -1
- data/lib/test/unit/autorunner.rb +78 -30
- data/lib/test/unit/code-snippet-fetcher.rb +7 -7
- data/lib/test/unit/collector/descendant.rb +1 -0
- data/lib/test/unit/collector/dir.rb +4 -2
- data/lib/test/unit/collector/load.rb +3 -3
- data/lib/test/unit/collector/objectspace.rb +1 -0
- data/lib/test/unit/collector.rb +31 -0
- data/lib/test/unit/color-scheme.rb +20 -2
- data/lib/test/unit/data-sets.rb +26 -15
- data/lib/test/unit/data.rb +5 -5
- data/lib/test/unit/diff.rb +2 -3
- data/lib/test/unit/fixture.rb +6 -0
- data/lib/test/unit/notification.rb +9 -7
- data/lib/test/unit/omission.rb +34 -31
- data/lib/test/unit/pending.rb +12 -11
- data/lib/test/unit/priority.rb +7 -5
- data/lib/test/unit/runner/console.rb +0 -17
- data/lib/test/unit/testcase.rb +222 -146
- data/lib/test/unit/testsuite.rb +1 -1
- data/lib/test/unit/ui/console/testrunner.rb +58 -49
- data/lib/test/unit/util/memory-usage.rb +47 -0
- data/lib/test/unit/util/observable.rb +2 -2
- data/lib/test/unit/util/output.rb +5 -4
- data/lib/test/unit/version.rb +1 -1
- data/lib/test/unit/warning.rb +3 -0
- data/lib/test/unit.rb +177 -161
- data/lib/test-unit.rb +2 -17
- metadata +14 -91
- data/GPL +0 -339
- data/LGPL +0 -502
- data/test/collector/test-descendant.rb +0 -182
- data/test/collector/test-load.rb +0 -442
- data/test/collector/test_dir.rb +0 -407
- data/test/collector/test_objectspace.rb +0 -102
- data/test/fixtures/header-label.csv +0 -3
- data/test/fixtures/header-label.tsv +0 -3
- data/test/fixtures/header.csv +0 -3
- data/test/fixtures/header.tsv +0 -3
- data/test/fixtures/no-header.csv +0 -2
- data/test/fixtures/no-header.tsv +0 -2
- data/test/fixtures/plus.csv +0 -3
- data/test/run-test.rb +0 -22
- data/test/test-assertions.rb +0 -2180
- data/test/test-attribute-matcher.rb +0 -38
- data/test/test-attribute.rb +0 -123
- data/test/test-code-snippet.rb +0 -37
- data/test/test-color-scheme.rb +0 -82
- data/test/test-color.rb +0 -47
- data/test/test-data.rb +0 -419
- data/test/test-diff.rb +0 -518
- data/test/test-emacs-runner.rb +0 -60
- data/test/test-error.rb +0 -26
- data/test/test-failure.rb +0 -33
- data/test/test-fault-location-detector.rb +0 -163
- data/test/test-fixture.rb +0 -713
- data/test/test-notification.rb +0 -33
- data/test/test-omission.rb +0 -81
- data/test/test-pending.rb +0 -70
- data/test/test-priority.rb +0 -173
- data/test/test-test-case.rb +0 -1279
- data/test/test-test-result.rb +0 -113
- data/test/test-test-suite-creator.rb +0 -97
- data/test/test-test-suite.rb +0 -151
- data/test/testunit-test-util.rb +0 -31
- data/test/ui/test_testrunmediator.rb +0 -20
- data/test/util/test-method-owner-finder.rb +0 -38
- data/test/util/test-output.rb +0 -11
- data/test/util/test_backtracefilter.rb +0 -52
- data/test/util/test_observable.rb +0 -102
- data/test/util/test_procwrapper.rb +0 -36
@@ -1,163 +0,0 @@
|
|
1
|
-
# Copyright (C) 2012 Kouhei Sutou <kou@clear-code.com>
|
2
|
-
#
|
3
|
-
# License: Ruby's
|
4
|
-
|
5
|
-
require "test-unit"
|
6
|
-
require "test/unit/fault-location-detector"
|
7
|
-
require "testunit-test-util"
|
8
|
-
|
9
|
-
class TestFaultLocationDetector < Test::Unit::TestCase
|
10
|
-
include TestUnitTestUtil
|
11
|
-
|
12
|
-
def setup
|
13
|
-
@fetcher = Test::Unit::CodeSnippetFetcher.new
|
14
|
-
end
|
15
|
-
|
16
|
-
private
|
17
|
-
def run_test_case(test_case)
|
18
|
-
suite = test_case.suite
|
19
|
-
result = Test::Unit::TestResult.new
|
20
|
-
suite.run(result) {}
|
21
|
-
result.faults[0]
|
22
|
-
end
|
23
|
-
|
24
|
-
def assert_detect(fault, target_line_number)
|
25
|
-
detector = Test::Unit::FaultLocationDetector.new(fault, @fetcher)
|
26
|
-
|
27
|
-
expected_backtrace_entries_until_detected = []
|
28
|
-
fault.location.each do |backtrace_entry|
|
29
|
-
expected_backtrace_entries_until_detected << backtrace_entry
|
30
|
-
_, line_number, = detector.split_backtrace_entry(backtrace_entry)
|
31
|
-
break if target_line_number == line_number
|
32
|
-
end
|
33
|
-
|
34
|
-
actual_backtrace_entries_until_detected = []
|
35
|
-
fault.location.each do |backtrace_entry|
|
36
|
-
actual_backtrace_entries_until_detected << backtrace_entry
|
37
|
-
break if detector.target?(backtrace_entry)
|
38
|
-
end
|
39
|
-
|
40
|
-
assert_equal(expected_backtrace_entries_until_detected,
|
41
|
-
actual_backtrace_entries_until_detected)
|
42
|
-
end
|
43
|
-
|
44
|
-
module AlwaysFailAssertion
|
45
|
-
private
|
46
|
-
def assert_always_failed
|
47
|
-
assert_true(false)
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
class TestSourceLocation < self
|
52
|
-
setup
|
53
|
-
def setup_check_source_location
|
54
|
-
unless lambda {}.respond_to?(:source_location)
|
55
|
-
omit("Need Proc#source_location")
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
|
-
def test_detected
|
60
|
-
target_line_number = nil
|
61
|
-
test_case = Class.new(Test::Unit::TestCase) do
|
62
|
-
include AlwaysFailAssertion
|
63
|
-
|
64
|
-
test "failed" do
|
65
|
-
target_line_number = __LINE__; assert_always_failed
|
66
|
-
end
|
67
|
-
end
|
68
|
-
|
69
|
-
fault = run_test_case(test_case)
|
70
|
-
assert_detect(fault, target_line_number)
|
71
|
-
end
|
72
|
-
|
73
|
-
class TestOneLine < self
|
74
|
-
def test_brace
|
75
|
-
target_line_number = nil
|
76
|
-
test_case = Class.new(Test::Unit::TestCase) do
|
77
|
-
include AlwaysFailAssertion
|
78
|
-
|
79
|
-
test("failed") {target_line_number = __LINE__; assert_always_failed}
|
80
|
-
|
81
|
-
def other_method
|
82
|
-
# body
|
83
|
-
end
|
84
|
-
end
|
85
|
-
|
86
|
-
fault = run_test_case(test_case)
|
87
|
-
assert_detect(fault, target_line_number)
|
88
|
-
end
|
89
|
-
|
90
|
-
def test_do_end
|
91
|
-
target_line_number = nil
|
92
|
-
test_case = Class.new(Test::Unit::TestCase) do
|
93
|
-
include AlwaysFailAssertion
|
94
|
-
|
95
|
-
test "failed" do target_line_number = __LINE__; assert_always_failed; end
|
96
|
-
|
97
|
-
def other_method
|
98
|
-
# body
|
99
|
-
end
|
100
|
-
end
|
101
|
-
|
102
|
-
fault = run_test_case(test_case)
|
103
|
-
assert_detect(fault, target_line_number)
|
104
|
-
end
|
105
|
-
end
|
106
|
-
end
|
107
|
-
|
108
|
-
class TestMethodName < self
|
109
|
-
def test_detected
|
110
|
-
test_case = Class.new(Test::Unit::TestCase) do
|
111
|
-
include AlwaysFailAssertion
|
112
|
-
|
113
|
-
class << self
|
114
|
-
def target_line_number
|
115
|
-
@@target_line_number
|
116
|
-
end
|
117
|
-
|
118
|
-
def target_line_number=(line_number)
|
119
|
-
@@target_line_number = line_number
|
120
|
-
end
|
121
|
-
end
|
122
|
-
|
123
|
-
def test_failed
|
124
|
-
self.class.target_line_number = __LINE__; assert_always_failed
|
125
|
-
end
|
126
|
-
end
|
127
|
-
|
128
|
-
fault = run_test_case(test_case)
|
129
|
-
assert_detect(fault, test_case.target_line_number)
|
130
|
-
end
|
131
|
-
end
|
132
|
-
|
133
|
-
class TestInBlock < self
|
134
|
-
def test_in_block
|
135
|
-
test_case = Class.new(Test::Unit::TestCase) do
|
136
|
-
include AlwaysFailAssertion
|
137
|
-
|
138
|
-
class << self
|
139
|
-
def target_line_number
|
140
|
-
@@target_line_number
|
141
|
-
end
|
142
|
-
|
143
|
-
def target_line_number=(line_number)
|
144
|
-
@@target_line_number = line_number
|
145
|
-
end
|
146
|
-
end
|
147
|
-
|
148
|
-
def run_yield
|
149
|
-
yield
|
150
|
-
end
|
151
|
-
|
152
|
-
def test_failed
|
153
|
-
run_yield do
|
154
|
-
self.class.target_line_number = __LINE__; assert_always_failed
|
155
|
-
end
|
156
|
-
end
|
157
|
-
end
|
158
|
-
|
159
|
-
fault = run_test_case(test_case)
|
160
|
-
assert_detect(fault, test_case.target_line_number)
|
161
|
-
end
|
162
|
-
end
|
163
|
-
end
|