test-unit 3.4.2 → 3.4.6
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/README.md +4 -3
- data/Rakefile +0 -9
- data/doc/text/getting-started.md +1 -1
- data/doc/text/news.md +52 -0
- data/lib/test/unit/assertion-failed-error.rb +35 -0
- data/lib/test/unit/assertions.rb +206 -13
- data/lib/test/unit/autorunner.rb +13 -1
- 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 +2 -0
- data/lib/test/unit/collector/objectspace.rb +1 -0
- data/lib/test/unit/collector.rb +31 -0
- data/lib/test/unit/testcase.rb +33 -2
- data/lib/test/unit/testsuite.rb +1 -1
- data/lib/test/unit/util/memory-usage.rb +47 -0
- data/lib/test/unit/version.rb +1 -1
- data/lib/test/unit.rb +4 -4
- metadata +6 -83
- data/test/collector/test-descendant.rb +0 -182
- data/test/collector/test-load.rb +0 -475
- 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 -2187
- data/test/test-attribute-matcher.rb +0 -38
- data/test/test-attribute.rb +0 -123
- data/test/test-code-snippet.rb +0 -79
- data/test/test-color-scheme.rb +0 -123
- 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 -184
- data/test/test-test-case.rb +0 -1284
- 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 -33
- 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
data/test/test-test-result.rb
DELETED
@@ -1,113 +0,0 @@
|
|
1
|
-
# Author:: Nathaniel Talbott.
|
2
|
-
# Copyright:: Copyright (c) 2000-2002 Nathaniel Talbott. All rights reserved.
|
3
|
-
# License:: Ruby license.
|
4
|
-
|
5
|
-
require 'test/unit/testcase'
|
6
|
-
require 'test/unit/testresult'
|
7
|
-
|
8
|
-
module Test
|
9
|
-
module Unit
|
10
|
-
class TC_TestResult < TestCase
|
11
|
-
def setup
|
12
|
-
@my_result = TestResult.new
|
13
|
-
@my_result.add_assertion()
|
14
|
-
@failure = "failure"
|
15
|
-
@my_result.add_failure(@failure)
|
16
|
-
@error = "error"
|
17
|
-
@my_result.add_error(@error)
|
18
|
-
end
|
19
|
-
|
20
|
-
def test_result_changed_notification
|
21
|
-
called1 = false
|
22
|
-
@my_result.add_listener(TestResult::CHANGED) do |result|
|
23
|
-
assert_equal(@my_result, result)
|
24
|
-
called1 = true
|
25
|
-
end
|
26
|
-
@my_result.add_assertion
|
27
|
-
assert_true(called1)
|
28
|
-
|
29
|
-
called1, called2 = false, false
|
30
|
-
@my_result.add_listener(TestResult::CHANGED) do |result|
|
31
|
-
assert_equal(@my_result, result)
|
32
|
-
called2 = true
|
33
|
-
end
|
34
|
-
@my_result.add_assertion
|
35
|
-
assert_equal([true, true], [called1, called2])
|
36
|
-
|
37
|
-
called1, called2 = false, false
|
38
|
-
@my_result.add_failure("")
|
39
|
-
assert_equal([true, true], [called1, called2])
|
40
|
-
|
41
|
-
called1, called2 = false, false
|
42
|
-
@my_result.add_error("")
|
43
|
-
assert_equal([true, true], [called1, called2])
|
44
|
-
|
45
|
-
called1, called2 = false, false
|
46
|
-
@my_result.add_run
|
47
|
-
assert_equal([true, true], [called1, called2])
|
48
|
-
end
|
49
|
-
|
50
|
-
def test_fault_notification
|
51
|
-
called1 = false
|
52
|
-
fault = "fault"
|
53
|
-
@my_result.add_listener(TestResult::FAULT) do |passed_fault|
|
54
|
-
assert_equal(fault, passed_fault)
|
55
|
-
called1 = true
|
56
|
-
end
|
57
|
-
|
58
|
-
@my_result.add_assertion
|
59
|
-
assert_false(called1)
|
60
|
-
|
61
|
-
@my_result.add_failure(fault)
|
62
|
-
assert_true(called1)
|
63
|
-
|
64
|
-
called1, called2 = false, false
|
65
|
-
@my_result.add_listener(TestResult::FAULT) do |passed_fault|
|
66
|
-
assert_equal(fault, passed_fault)
|
67
|
-
called2 = true
|
68
|
-
end
|
69
|
-
|
70
|
-
@my_result.add_assertion
|
71
|
-
assert_equal([false, false], [called1, called2])
|
72
|
-
|
73
|
-
called1, called2 = false, false
|
74
|
-
@my_result.add_failure(fault)
|
75
|
-
assert_equal([true, true], [called1, called2])
|
76
|
-
|
77
|
-
called1, called2 = false, false
|
78
|
-
@my_result.add_error(fault)
|
79
|
-
assert_equal([true, true], [called1, called2])
|
80
|
-
|
81
|
-
called1, called2 = false, false
|
82
|
-
@my_result.add_run
|
83
|
-
assert_equal([false, false], [called1, called2])
|
84
|
-
end
|
85
|
-
|
86
|
-
def test_passed?
|
87
|
-
result = TestResult.new
|
88
|
-
assert_true(result.passed?)
|
89
|
-
|
90
|
-
result.add_assertion
|
91
|
-
assert_true(result.passed?)
|
92
|
-
|
93
|
-
result.add_run
|
94
|
-
assert_true(result.passed?)
|
95
|
-
|
96
|
-
result.add_failure("")
|
97
|
-
assert_false(result.passed?)
|
98
|
-
|
99
|
-
result = TestResult.new
|
100
|
-
result.add_error("")
|
101
|
-
assert_false(result.passed?)
|
102
|
-
end
|
103
|
-
|
104
|
-
def test_faults
|
105
|
-
assert_equal([@failure, @error], @my_result.faults)
|
106
|
-
|
107
|
-
notification = "notification"
|
108
|
-
@my_result.add_notification(notification)
|
109
|
-
assert_equal([@failure, @error, notification], @my_result.faults)
|
110
|
-
end
|
111
|
-
end
|
112
|
-
end
|
113
|
-
end
|
@@ -1,97 +0,0 @@
|
|
1
|
-
require "test/unit"
|
2
|
-
|
3
|
-
module Test
|
4
|
-
module Unit
|
5
|
-
class TestTestSuiteCreator < TestCase
|
6
|
-
def collect_test_names(test_case)
|
7
|
-
creator = TestSuiteCreator.new(test_case)
|
8
|
-
creator.send(:collect_test_names)
|
9
|
-
end
|
10
|
-
|
11
|
-
class TestStandalone < self
|
12
|
-
def setup
|
13
|
-
@test_case = Class.new(TestCase) do
|
14
|
-
def test_in_test_case
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
def test_collect_test_names
|
20
|
-
assert_equal(["test_in_test_case"], collect_test_names(@test_case))
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
class TestInherited < self
|
25
|
-
def setup
|
26
|
-
@parent_test_case = Class.new(TestCase) do
|
27
|
-
def test_in_parent
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
@child_test_case = Class.new(@parent_test_case) do
|
32
|
-
def test_in_child
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
def test_collect_test_names
|
38
|
-
assert_equal(["test_in_child"], collect_test_names(@child_test_case))
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
class TestModule < self
|
43
|
-
def setup
|
44
|
-
test_module = Module.new do
|
45
|
-
def test_in_module
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
@test_case = Class.new(TestCase) do
|
50
|
-
include test_module
|
51
|
-
|
52
|
-
def test_in_test_case
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
def test_collect_test_names
|
58
|
-
assert_equal(["test_in_module", "test_in_test_case"].sort,
|
59
|
-
collect_test_names(@test_case).sort)
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
class TestInheritedModule < self
|
64
|
-
def setup
|
65
|
-
parent_test_module = Module.new do
|
66
|
-
def test_in_module_in_parent
|
67
|
-
end
|
68
|
-
end
|
69
|
-
|
70
|
-
child_test_module = Module.new do
|
71
|
-
def test_in_module_in_child
|
72
|
-
end
|
73
|
-
end
|
74
|
-
|
75
|
-
@parent_test_case = Class.new(TestCase) do
|
76
|
-
include parent_test_module
|
77
|
-
|
78
|
-
def test_in_parent
|
79
|
-
end
|
80
|
-
end
|
81
|
-
|
82
|
-
@child_test_case = Class.new(@parent_test_case) do
|
83
|
-
include child_test_module
|
84
|
-
|
85
|
-
def test_in_child
|
86
|
-
end
|
87
|
-
end
|
88
|
-
end
|
89
|
-
|
90
|
-
def test_collect_test_names
|
91
|
-
assert_equal(["test_in_child", "test_in_module_in_child"].sort,
|
92
|
-
collect_test_names(@child_test_case).sort)
|
93
|
-
end
|
94
|
-
end
|
95
|
-
end
|
96
|
-
end
|
97
|
-
end
|
data/test/test-test-suite.rb
DELETED
@@ -1,151 +0,0 @@
|
|
1
|
-
# Author:: Nathaniel Talbott.
|
2
|
-
# Copyright:: Copyright (c) 2000-2003 Nathaniel Talbott. All rights reserved.
|
3
|
-
# License:: Ruby license.
|
4
|
-
|
5
|
-
require 'test/unit'
|
6
|
-
|
7
|
-
module Test
|
8
|
-
module Unit
|
9
|
-
class TestTestSuite < TestCase
|
10
|
-
def setup
|
11
|
-
@testcase1 = Class.new(TestCase) do
|
12
|
-
def test_succeed1
|
13
|
-
assert_block { true }
|
14
|
-
end
|
15
|
-
def test_fail
|
16
|
-
assert_block { false }
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
@testcase2 = Class.new(TestCase) do
|
21
|
-
def test_succeed2
|
22
|
-
assert_block { true }
|
23
|
-
end
|
24
|
-
def test_error
|
25
|
-
raise
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
def test_add
|
31
|
-
s = TestSuite.new
|
32
|
-
assert_equal(s, s << self.class.new("test_add"))
|
33
|
-
end
|
34
|
-
|
35
|
-
def test_delete
|
36
|
-
s = TestSuite.new
|
37
|
-
t1 = self.class.new("test_delete")
|
38
|
-
s << t1
|
39
|
-
t2 = self.class.new("test_add")
|
40
|
-
s << t2
|
41
|
-
assert_equal(t1, s.delete(t1))
|
42
|
-
assert_nil(s.delete(t1))
|
43
|
-
assert_equal(TestSuite.new << t2, s)
|
44
|
-
end
|
45
|
-
|
46
|
-
def test_delete_tests
|
47
|
-
suite = TestSuite.new
|
48
|
-
test1 = self.class.new("test_delete_1")
|
49
|
-
suite << test1
|
50
|
-
test2 = self.class.new("test_delete_2")
|
51
|
-
suite << test2
|
52
|
-
test3 = self.class.new("test_add")
|
53
|
-
suite << test3
|
54
|
-
suite.delete_tests([test1, test2])
|
55
|
-
assert_equal(1, suite.size)
|
56
|
-
assert_equal(TestSuite.new << test3, suite)
|
57
|
-
end
|
58
|
-
|
59
|
-
def test_size
|
60
|
-
suite = TestSuite.new
|
61
|
-
suite2 = TestSuite.new
|
62
|
-
suite2 << self.class.new("test_size")
|
63
|
-
suite << suite2
|
64
|
-
suite << self.class.new("test_size")
|
65
|
-
assert_equal(2, suite.size, "The count should be correct")
|
66
|
-
end
|
67
|
-
|
68
|
-
def test_run
|
69
|
-
progress = []
|
70
|
-
@testcase1.test_order = :alphabetic
|
71
|
-
suite = @testcase1.suite
|
72
|
-
tests = suite.tests.dup
|
73
|
-
result = TestResult.new
|
74
|
-
suite.run(result) { |*values| progress << values }
|
75
|
-
|
76
|
-
assert_equal(2, result.run_count, "Should have had four test runs")
|
77
|
-
assert_equal(1, result.failure_count, "Should have had one test failure")
|
78
|
-
assert_equal(0, result.error_count, "Should have had one test error")
|
79
|
-
assert_equal([[TestSuite::STARTED, suite.name],
|
80
|
-
[TestSuite::STARTED_OBJECT, suite],
|
81
|
-
[TestCase::STARTED, "test_fail(#{suite.name})"],
|
82
|
-
[TestCase::STARTED_OBJECT, tests[0]],
|
83
|
-
[TestCase::FINISHED, "test_fail(#{suite.name})"],
|
84
|
-
[TestCase::FINISHED_OBJECT, tests[0]],
|
85
|
-
[TestCase::STARTED, "test_succeed1(#{suite.name})"],
|
86
|
-
[TestCase::STARTED_OBJECT, tests[1]],
|
87
|
-
[TestCase::FINISHED, "test_succeed1(#{suite.name})"],
|
88
|
-
[TestCase::FINISHED_OBJECT, tests[1]],
|
89
|
-
[TestSuite::FINISHED, suite.name],
|
90
|
-
[TestSuite::FINISHED_OBJECT, suite]],
|
91
|
-
progress, "Should have had the correct progress")
|
92
|
-
|
93
|
-
suite = TestSuite.new
|
94
|
-
suite << @testcase1.suite
|
95
|
-
suite << @testcase2.suite
|
96
|
-
result = TestResult.new
|
97
|
-
progress = []
|
98
|
-
suite.run(result) { |*values| progress << values }
|
99
|
-
|
100
|
-
assert_equal(4, result.run_count, "Should have had four test runs")
|
101
|
-
assert_equal(1, result.failure_count, "Should have had one test failure")
|
102
|
-
assert_equal(1, result.error_count, "Should have had one test error")
|
103
|
-
assert_equal(28, progress.size,
|
104
|
-
"Should have had the correct number of progress calls")
|
105
|
-
end
|
106
|
-
|
107
|
-
def test_empty?
|
108
|
-
assert(TestSuite.new.empty?, "A new test suite should be empty?")
|
109
|
-
assert(!@testcase2.suite.empty?, "A test suite with tests should not be empty")
|
110
|
-
end
|
111
|
-
|
112
|
-
def test_equality
|
113
|
-
suite1 = TestSuite.new
|
114
|
-
suite2 = TestSuite.new
|
115
|
-
assert_equal(suite1, suite2)
|
116
|
-
assert_equal(suite2, suite1)
|
117
|
-
|
118
|
-
suite1 = TestSuite.new('name')
|
119
|
-
assert_not_equal(suite1, suite2)
|
120
|
-
assert_not_equal(suite2, suite1)
|
121
|
-
|
122
|
-
suite2 = TestSuite.new('name')
|
123
|
-
assert_equal(suite1, suite2)
|
124
|
-
assert_equal(suite2, suite1)
|
125
|
-
|
126
|
-
suite1 << 'test'
|
127
|
-
assert_not_equal(suite1, suite2)
|
128
|
-
assert_not_equal(suite2, suite1)
|
129
|
-
|
130
|
-
suite2 << 'test'
|
131
|
-
assert_equal(suite1, suite2)
|
132
|
-
assert_equal(suite2, suite1)
|
133
|
-
|
134
|
-
suite2 = Object.new
|
135
|
-
class << suite2
|
136
|
-
def name
|
137
|
-
'name'
|
138
|
-
end
|
139
|
-
def tests
|
140
|
-
['test']
|
141
|
-
end
|
142
|
-
end
|
143
|
-
assert_not_equal(suite1, suite2)
|
144
|
-
assert_not_equal(suite2, suite1)
|
145
|
-
|
146
|
-
assert_not_equal(suite1, Object.new)
|
147
|
-
assert_not_equal(Object.new, suite1)
|
148
|
-
end
|
149
|
-
end
|
150
|
-
end
|
151
|
-
end
|
data/test/testunit-test-util.rb
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
require "tempfile"
|
2
|
-
|
3
|
-
module TestUnitTestUtil
|
4
|
-
private
|
5
|
-
def jruby?
|
6
|
-
RUBY_PLATFORM == "java"
|
7
|
-
end
|
8
|
-
|
9
|
-
def jruby_only_test
|
10
|
-
if jruby?
|
11
|
-
require "java"
|
12
|
-
else
|
13
|
-
omit("test for JRuby")
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
def assert_fault_messages(expected, faults)
|
18
|
-
assert_equal(expected, faults.collect {|fault| fault.message})
|
19
|
-
end
|
20
|
-
|
21
|
-
def _run_test(test_case, name)
|
22
|
-
result = Test::Unit::TestResult.new
|
23
|
-
test = test_case.new(name)
|
24
|
-
yield(test) if block_given?
|
25
|
-
test.run(result) {}
|
26
|
-
result
|
27
|
-
end
|
28
|
-
|
29
|
-
def fixture_file_path(file_name)
|
30
|
-
base_dir = File.dirname(__FILE__)
|
31
|
-
File.join(base_dir, "fixtures", file_name)
|
32
|
-
end
|
33
|
-
end
|
@@ -1,20 +0,0 @@
|
|
1
|
-
require 'test/unit/ui/testrunnermediator'
|
2
|
-
|
3
|
-
class TestUnitUIMediator < Test::Unit::TestCase
|
4
|
-
def test_run_suite_with_interrupt_exception
|
5
|
-
test_case = Class.new(Test::Unit::TestCase) do
|
6
|
-
def test_raise_interrupt
|
7
|
-
raise Interrupt, "from test"
|
8
|
-
end
|
9
|
-
end
|
10
|
-
mediator = Test::Unit::UI::TestRunnerMediator.new(test_case.suite)
|
11
|
-
finished = false
|
12
|
-
mediator.add_listener(Test::Unit::UI::TestRunnerMediator::FINISHED) do
|
13
|
-
finished = true
|
14
|
-
end
|
15
|
-
assert_raise(Interrupt) do
|
16
|
-
mediator.run
|
17
|
-
end
|
18
|
-
assert(finished)
|
19
|
-
end
|
20
|
-
end
|
@@ -1,38 +0,0 @@
|
|
1
|
-
require 'test/unit'
|
2
|
-
|
3
|
-
require 'test/unit/util/method-owner-finder'
|
4
|
-
|
5
|
-
class TestUnitMethodOwnerFinder < Test::Unit::TestCase
|
6
|
-
def test_find
|
7
|
-
assert_equal(Exception, find(RuntimeError.new, :inspect))
|
8
|
-
assert_equal(Exception, find(Exception.new, :inspect))
|
9
|
-
|
10
|
-
anonymous_class = Class.new do
|
11
|
-
end
|
12
|
-
assert_equal(Kernel, find(anonymous_class.new, :inspect))
|
13
|
-
|
14
|
-
anonymous_parent_class = Class.new do
|
15
|
-
def inspect
|
16
|
-
super + " by anonymous parent class"
|
17
|
-
end
|
18
|
-
end
|
19
|
-
anonymous_sub_class = Class.new(anonymous_parent_class) do
|
20
|
-
end
|
21
|
-
assert_equal(anonymous_parent_class, find(anonymous_sub_class.new, :inspect))
|
22
|
-
|
23
|
-
anonymous_module = Module.new do
|
24
|
-
def inspect
|
25
|
-
super + " by anonymous module"
|
26
|
-
end
|
27
|
-
end
|
28
|
-
anonymous_include_class = Class.new do
|
29
|
-
include anonymous_module
|
30
|
-
end
|
31
|
-
assert_equal(anonymous_module, find(anonymous_include_class.new, :inspect))
|
32
|
-
end
|
33
|
-
|
34
|
-
private
|
35
|
-
def find(object, method_name)
|
36
|
-
Test::Unit::Util::MethodOwnerFinder.find(object, method_name)
|
37
|
-
end
|
38
|
-
end
|