dtest 0.0.3 → 0.0.4
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.
- data/README.rdoc +0 -1
- data/VERSION +1 -1
- data/lib/dtest/core.rb +0 -2
- data/lib/dtest/dsl.rb +10 -1
- data/lib/dtest/global.rb +5 -1
- data/lib/dtest/result.rb +7 -1
- data/lib/dtest/test.rb +1 -0
- data/lib/dtest/version.rb +1 -1
- data/spec/test_exception_spec.rb +18 -0
- data/spec/test_spec.rb +12 -3
- metadata +62 -41
data/README.rdoc
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.4
|
data/lib/dtest/core.rb
CHANGED
data/lib/dtest/dsl.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
|
2
2
|
require 'dtest/core'
|
3
|
+
require 'dtest/failure'
|
3
4
|
|
4
5
|
module DTest
|
5
6
|
module DSL
|
@@ -11,7 +12,15 @@ module DTest
|
|
11
12
|
|
12
13
|
def GlobalHarness(&block)
|
13
14
|
manager = Global::Manager::instance
|
14
|
-
manager.
|
15
|
+
if manager.defined
|
16
|
+
file, line, = DTest::failure_line(caller(1).first)
|
17
|
+
str = ['GlobalHarness can only be only defined once.']
|
18
|
+
str << " error at #{file}:#{line}" if file && line
|
19
|
+
raise str.join("\n")
|
20
|
+
else
|
21
|
+
manager.instance_eval(&block)
|
22
|
+
manager.defined = true
|
23
|
+
end
|
15
24
|
end
|
16
25
|
end # module DSL
|
17
26
|
end # module DTest
|
data/lib/dtest/global.rb
CHANGED
@@ -22,7 +22,8 @@ module DTest
|
|
22
22
|
|
23
23
|
def start(testcases)
|
24
24
|
# Progress
|
25
|
-
|
25
|
+
global_values = Object.new
|
26
|
+
context = Context.new(global_values)
|
26
27
|
Progress.setUpGlobal(testcases)
|
27
28
|
|
28
29
|
global_result = Test::GlobalResult.new(testcases)
|
@@ -37,6 +38,7 @@ module DTest
|
|
37
38
|
|
38
39
|
# execute cases
|
39
40
|
testcases.each do |testcase|
|
41
|
+
testcase.defined_values = global_values.clone
|
40
42
|
execute_testcase(global_result, testcase)
|
41
43
|
end
|
42
44
|
rescue AbortGlobal => e
|
@@ -65,6 +67,7 @@ module DTest
|
|
65
67
|
class Manager
|
66
68
|
include Singleton
|
67
69
|
attr_accessor :harness
|
70
|
+
attr_accessor :defined
|
68
71
|
|
69
72
|
def initialize
|
70
73
|
clear
|
@@ -73,6 +76,7 @@ module DTest
|
|
73
76
|
def clear
|
74
77
|
remove_instance_var
|
75
78
|
@harness = Harness.new
|
79
|
+
@defined = false
|
76
80
|
end
|
77
81
|
|
78
82
|
def before(option = {}, &block)
|
data/lib/dtest/result.rb
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
require 'dtest/failure'
|
2
|
+
require 'rexml/document'
|
3
|
+
require 'rexml/cdata'
|
2
4
|
|
3
5
|
module DTest
|
4
6
|
|
@@ -181,7 +183,11 @@ module DTest
|
|
181
183
|
end
|
182
184
|
end
|
183
185
|
|
184
|
-
|
186
|
+
if RUBY_VERSION >= '1.9.3'
|
187
|
+
doc.write(REXML::Output.new(File.new(output_path, 'w+')))
|
188
|
+
else
|
189
|
+
doc.write(REXML::Output.new(File.new(output_path, 'w+'), REXML::Encoding::UTF_8))
|
190
|
+
end
|
185
191
|
end
|
186
192
|
end # class GlobalResult
|
187
193
|
|
data/lib/dtest/test.rb
CHANGED
data/lib/dtest/version.rb
CHANGED
data/spec/test_exception_spec.rb
CHANGED
@@ -1,5 +1,23 @@
|
|
1
|
+
require File.expand_path(File.join('.', 'spec_helper'), File.dirname(__FILE__))
|
1
2
|
include DTest
|
2
3
|
|
4
|
+
describe Global::Manager, 'GlobalHarness can only be defined once' do
|
5
|
+
after do
|
6
|
+
Global::Manager.instance.clear
|
7
|
+
Test::Manager.instance.clear
|
8
|
+
end
|
9
|
+
|
10
|
+
it "multiple_definition" do
|
11
|
+
|
12
|
+
GlobalHarness do
|
13
|
+
end
|
14
|
+
lambda {
|
15
|
+
GlobalHarness do
|
16
|
+
end
|
17
|
+
}.should raise_error(RuntimeError)
|
18
|
+
|
19
|
+
end
|
20
|
+
end
|
3
21
|
|
4
22
|
describe Global::Manager, 'global before/after exception' do
|
5
23
|
before do
|
data/spec/test_spec.rb
CHANGED
@@ -129,9 +129,11 @@ describe Global::Manager, 'dtest setter/getter' do
|
|
129
129
|
before do
|
130
130
|
GlobalHarness do
|
131
131
|
before do
|
132
|
+
set :global_value, 54321
|
132
133
|
end
|
133
134
|
|
134
135
|
after do
|
136
|
+
assert_equal(54321, global_value) # PASS
|
135
137
|
end
|
136
138
|
end
|
137
139
|
end
|
@@ -149,17 +151,24 @@ describe Global::Manager, 'dtest setter/getter' do
|
|
149
151
|
set "member_modify", 12345
|
150
152
|
assert_equal(12345, member_test) # PASS
|
151
153
|
assert_equal(12345, member_modify)# PASS
|
154
|
+
assert_equal(54321, global_value) # PASS
|
152
155
|
end
|
153
156
|
|
154
157
|
afterCase do
|
155
158
|
assert_equal(12345, member_test) # PASS
|
156
|
-
assert_equal(10000, member_modify)# PASS
|
159
|
+
assert_equal(10000, member_modify)# PASS(value is changed)
|
160
|
+
assert_equal(10000, global_value) # PASS(value is changed)
|
157
161
|
end
|
158
162
|
|
159
|
-
test "
|
163
|
+
test "allow_modify_member" do
|
160
164
|
assert_equal(12345, member_test) # PASS
|
161
165
|
set :member_modify, 10000
|
162
166
|
end
|
167
|
+
|
168
|
+
test "allow_modify_global" do
|
169
|
+
assert_equal(54321, global_value) # PASS
|
170
|
+
set :global_value, 10000
|
171
|
+
end
|
163
172
|
end
|
164
173
|
|
165
174
|
global_report = Runner.run([])
|
@@ -168,7 +177,7 @@ describe Global::Manager, 'dtest setter/getter' do
|
|
168
177
|
global_report.result.size == 1
|
169
178
|
cresult = global_report.result.first
|
170
179
|
cresult.before_failure.failure.size.should == 0
|
171
|
-
cresult.result.size.should ==
|
180
|
+
cresult.result.size.should == 2
|
172
181
|
cresult.result[0].result.should == Test::Result::PASS
|
173
182
|
cresult.after_failure.failure.size.should == 0
|
174
183
|
end
|
metadata
CHANGED
@@ -1,46 +1,59 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: dtest
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 0
|
8
|
+
- 4
|
9
|
+
version: 0.0.4
|
6
10
|
platform: ruby
|
7
|
-
authors:
|
11
|
+
authors:
|
8
12
|
- Shuzo Kashihara
|
9
13
|
autorequire:
|
10
14
|
bindir: bin
|
11
15
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
16
|
+
|
17
|
+
date: 2012-02-13 00:00:00 +09:00
|
18
|
+
default_executable:
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
15
21
|
name: rake
|
16
|
-
|
17
|
-
|
18
|
-
requirements:
|
19
|
-
- -
|
20
|
-
- !ruby/object:Gem::Version
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
segments:
|
28
|
+
- 0
|
29
|
+
- 9
|
30
|
+
- 2
|
21
31
|
version: 0.9.2
|
22
32
|
type: :development
|
23
|
-
|
24
|
-
|
25
|
-
- !ruby/object:Gem::Dependency
|
33
|
+
version_requirements: *id001
|
34
|
+
- !ruby/object:Gem::Dependency
|
26
35
|
name: rspec
|
27
|
-
|
28
|
-
|
29
|
-
requirements:
|
30
|
-
- -
|
31
|
-
- !ruby/object:Gem::Version
|
36
|
+
prerelease: false
|
37
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ">="
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
segments:
|
42
|
+
- 1
|
43
|
+
- 2
|
44
|
+
- 3
|
32
45
|
version: 1.2.3
|
33
46
|
type: :development
|
34
|
-
|
35
|
-
|
36
|
-
description: DTest is a testing tool to describe integrating test for distributed
|
37
|
-
systems.
|
47
|
+
version_requirements: *id002
|
48
|
+
description: DTest is a testing tool to describe integrating test for distributed systems.
|
38
49
|
email: suma@sourceforge.jp
|
39
|
-
executables:
|
50
|
+
executables:
|
40
51
|
- dtest
|
41
52
|
extensions: []
|
53
|
+
|
42
54
|
extra_rdoc_files: []
|
43
|
-
|
55
|
+
|
56
|
+
files:
|
44
57
|
- Gemfile
|
45
58
|
- LICENSE.txt
|
46
59
|
- README.rdoc
|
@@ -72,31 +85,39 @@ files:
|
|
72
85
|
- spec/test_expect_spec.rb
|
73
86
|
- spec/test_spec.rb
|
74
87
|
- spec/test_value_parameterized_spec.rb
|
88
|
+
has_rdoc: false
|
75
89
|
homepage: https://github.com/suma/dtest
|
76
90
|
licenses: []
|
91
|
+
|
77
92
|
post_install_message:
|
78
93
|
rdoc_options: []
|
79
|
-
|
94
|
+
|
95
|
+
require_paths:
|
80
96
|
- lib
|
81
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
97
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
98
|
+
requirements:
|
99
|
+
- - ">="
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
segments:
|
102
|
+
- 1
|
103
|
+
- 8
|
104
|
+
- 7
|
86
105
|
version: 1.8.7
|
87
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
106
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
segments:
|
111
|
+
- 0
|
112
|
+
version: "0"
|
93
113
|
requirements: []
|
114
|
+
|
94
115
|
rubyforge_project:
|
95
|
-
rubygems_version: 1.
|
116
|
+
rubygems_version: 1.3.6
|
96
117
|
signing_key:
|
97
118
|
specification_version: 3
|
98
119
|
summary: DTest is a testing tool to describe integrating test for distributed systems.
|
99
|
-
test_files:
|
120
|
+
test_files:
|
100
121
|
- spec/spec_helper.rb
|
101
122
|
- spec/test_abort_spec.rb
|
102
123
|
- spec/test_assert_spec.rb
|