dia 2.0.0 → 2.0.1
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/dia.gemspec +5 -3
- data/lib/dia.rb +2 -1
- data/lib/dia/application.rb +15 -9
- data/lib/dia/exception_struct.rb +7 -0
- data/lib/dia/exceptions.rb +5 -0
- data/lib/dia/functions.rb +2 -0
- data/lib/dia/profiles.rb +23 -1
- data/lib/dia/ruby_block.rb +143 -91
- data/lib/dia/shared_features.rb +32 -33
- data/test/suite/lib/dia/Application#initialize.rb +21 -0
- data/test/suite/lib/dia/Application#run.rb +16 -0
- data/test/suite/lib/dia/Application#run_nonblock.rb +16 -0
- data/test/suite/lib/dia/RubyBlock#exception.rb +46 -0
- data/test/suite/lib/dia/RubyBlock#exception_raised?.rb +45 -0
- data/test/suite/lib/dia/RubyBlock#redirect_stderr?.rb +27 -0
- data/test/suite/lib/dia/RubyBlock#redirect_stdout?.rb +27 -0
- data/test/suite/lib/dia/RubyBlock#rescue_exception?.rb +28 -0
- data/test/suite/lib/dia/RubyBlock#run.rb +135 -0
- data/test/suite/lib/dia/RubyBlock#run_nonblock.rb +150 -0
- data/test/suite/lib/dia/RubyBlock#stderr.rb +48 -0
- data/test/suite/lib/dia/RubyBlock#stdout.rb +43 -0
- data/test/suite/lib/dia/SharedFeatures#exit_status.rb +26 -0
- data/test/suite/lib/dia/SharedFeatures#pid.rb +26 -0
- data/test/suite/lib/dia/SharedFeatures#running?.rb +37 -0
- data/test/suite/lib/dia/SharedFeatures#terminate.rb +26 -0
- metadata +41 -11
- data/test/suite/lib/dia/exception_struct.rb +0 -40
- data/test/suite/lib/dia/ruby_block.rb +0 -561
- data/test/suite/lib/dia/shared_features.rb +0 -236
@@ -1,236 +0,0 @@
|
|
1
|
-
suite('Dia::SharedFeatures') do
|
2
|
-
|
3
|
-
suite('RubyBlock') do
|
4
|
-
|
5
|
-
suite('#exit_status') do
|
6
|
-
|
7
|
-
setup do
|
8
|
-
@result = nil
|
9
|
-
end
|
10
|
-
|
11
|
-
exercise('#run is called, exits process with status of 10. ') do
|
12
|
-
sandbox = Dia::RubyBlock.new(Dia::Profiles::NO_INTERNET) { exit(10) }
|
13
|
-
sandbox.run
|
14
|
-
@result = sandbox.exit_status
|
15
|
-
end
|
16
|
-
|
17
|
-
verify('#exit_status returns 10') do
|
18
|
-
@result == 10
|
19
|
-
end
|
20
|
-
|
21
|
-
exercise('Neither #run or #run_nonblock has been called. ') do
|
22
|
-
sandbox = Dia::RubyBlock.new(Dia::Profiles::NO_INTERNET) { }
|
23
|
-
@result = sandbox.exit_status
|
24
|
-
end
|
25
|
-
|
26
|
-
verify('#exit_status returns nil') do
|
27
|
-
@result == nil
|
28
|
-
end
|
29
|
-
|
30
|
-
end
|
31
|
-
|
32
|
-
suite('#terminate') do
|
33
|
-
|
34
|
-
setup do
|
35
|
-
@result = nil
|
36
|
-
@sandbox = Dia::RubyBlock.new(Dia::Profiles::NO_OS_SERVICES) { $stdin.gets }
|
37
|
-
end
|
38
|
-
|
39
|
-
exercise('#run_nonblock is called, blocking IO performed, #terminate sent to process. ') do
|
40
|
-
@sandbox.run_nonblock
|
41
|
-
@result = @sandbox.terminate
|
42
|
-
end
|
43
|
-
|
44
|
-
verify('#terminate returns 1.') do
|
45
|
-
@result == 1
|
46
|
-
end
|
47
|
-
|
48
|
-
exercise('#run_nonblock is called, blocking IO performed, #terminate sent to process. ') do
|
49
|
-
@sandbox.run_nonblock
|
50
|
-
@sandbox.terminate
|
51
|
-
@result = @sandbox.exit_status
|
52
|
-
end
|
53
|
-
|
54
|
-
verify('#exit_status returns nil, or a Process PID(PID) as a Fixnum.') do
|
55
|
-
@result == nil || @result.class == Fixnum
|
56
|
-
end
|
57
|
-
|
58
|
-
exercise('#run_nonblock is called, blocking IO is performed, #terminate sent to process') do
|
59
|
-
@sandbox.run_nonblock
|
60
|
-
@sandbox.terminate
|
61
|
-
end
|
62
|
-
|
63
|
-
verify('#running? verifies the process is dead') do
|
64
|
-
@sandbox.running? == false
|
65
|
-
end
|
66
|
-
|
67
|
-
exercise('Neither #run or #run_nonblock has been called. ') do
|
68
|
-
sandbox = Dia::RubyBlock.new(Dia::Profiles::NO_INTERNET) { }
|
69
|
-
@result = sandbox.terminate
|
70
|
-
end
|
71
|
-
|
72
|
-
verify('#terminate returns nil') do
|
73
|
-
@result == nil
|
74
|
-
end
|
75
|
-
|
76
|
-
end
|
77
|
-
|
78
|
-
suite('#running?') do
|
79
|
-
|
80
|
-
setup do
|
81
|
-
@result = nil
|
82
|
-
end
|
83
|
-
|
84
|
-
exercise('#run_nonblock is called, spawned process sleeps. ') do
|
85
|
-
sandbox = Dia::RubyBlock.new(Dia::Profiles::NO_INTERNET) { sleep(10) }
|
86
|
-
sandbox.run_nonblock
|
87
|
-
@result = sandbox.running?
|
88
|
-
sandbox.terminate
|
89
|
-
end
|
90
|
-
|
91
|
-
verify('#running? returns true') do
|
92
|
-
@result == true
|
93
|
-
end
|
94
|
-
|
95
|
-
exercise('#run is called, process exits immediately. ') do
|
96
|
-
sandbox = Dia::RubyBlock.new(Dia::Profiles::NO_INTERNET) { exit }
|
97
|
-
sandbox.run
|
98
|
-
@result = sandbox.running?
|
99
|
-
end
|
100
|
-
|
101
|
-
verify('#running? returns false') do
|
102
|
-
@result == false
|
103
|
-
end
|
104
|
-
|
105
|
-
exercise('Neither #run or #run_nonblock has been called. ') do
|
106
|
-
sandbox = Dia::RubyBlock.new(Dia::Profiles::NO_INTERNET) { }
|
107
|
-
@result = sandbox.running?
|
108
|
-
end
|
109
|
-
|
110
|
-
verify('#running? returns nil') do
|
111
|
-
@result == nil
|
112
|
-
end
|
113
|
-
|
114
|
-
end
|
115
|
-
|
116
|
-
end
|
117
|
-
|
118
|
-
suite('Application') do
|
119
|
-
|
120
|
-
suite('#running?') do
|
121
|
-
|
122
|
-
setup do
|
123
|
-
@result = nil
|
124
|
-
end
|
125
|
-
|
126
|
-
exercise('#run_nonblock is called, spawned process sleeps. ') do
|
127
|
-
sandbox = Dia::Application.new(Dia::Profiles::NO_INTERNET, "sleep 10")
|
128
|
-
sandbox.run_nonblock
|
129
|
-
@result = sandbox.running?
|
130
|
-
sandbox.terminate
|
131
|
-
end
|
132
|
-
|
133
|
-
verify('#running? returns true') do
|
134
|
-
@result == true
|
135
|
-
end
|
136
|
-
|
137
|
-
exercise('#run is called, process exits immediately. ') do
|
138
|
-
sandbox = Dia::Application.new(Dia::Profiles::NO_INTERNET, "sleep 0")
|
139
|
-
sandbox.run
|
140
|
-
@result = sandbox.running?
|
141
|
-
end
|
142
|
-
|
143
|
-
verify('#running? returns false') do
|
144
|
-
@result == false
|
145
|
-
end
|
146
|
-
|
147
|
-
exercise('Neither #run or #run_nonblock has been called. ') do
|
148
|
-
sandbox = Dia::Application.new(Dia::Profiles::NO_INTERNET, "")
|
149
|
-
@result = sandbox.running?
|
150
|
-
end
|
151
|
-
|
152
|
-
verify('#running? returns nil') do
|
153
|
-
@result == nil
|
154
|
-
end
|
155
|
-
|
156
|
-
end
|
157
|
-
|
158
|
-
suite('#terminate') do
|
159
|
-
|
160
|
-
setup do
|
161
|
-
@result = nil
|
162
|
-
@sandbox = Dia::Application.new(Dia::Profiles::NO_INTERNET, "sleep 10000")
|
163
|
-
end
|
164
|
-
|
165
|
-
exercise('#run_nonblock is called, blocking operation performed, ' \
|
166
|
-
'#terminate sent to process. ') do
|
167
|
-
@sandbox.run_nonblock
|
168
|
-
@result = @sandbox.terminate
|
169
|
-
end
|
170
|
-
|
171
|
-
verify('#terminate returns 1.') do
|
172
|
-
@result == 1
|
173
|
-
end
|
174
|
-
|
175
|
-
exercise('#run_nonblock is called, blocking operation performed, ' \
|
176
|
-
'#terminate sent to process. ') do
|
177
|
-
@sandbox.run_nonblock
|
178
|
-
@sandbox.terminate
|
179
|
-
@result = @sandbox.exit_status
|
180
|
-
end
|
181
|
-
|
182
|
-
verify('#exit_status returns nil, or a Process PID(PID) as a Fixnum.') do
|
183
|
-
@result == nil || @result.class == Fixnum
|
184
|
-
end
|
185
|
-
|
186
|
-
exercise('#run_nonblock is called, blocking operation is performed, ' \
|
187
|
-
'#terminate sent to process') do
|
188
|
-
@sandbox.run_nonblock
|
189
|
-
@sandbox.terminate
|
190
|
-
end
|
191
|
-
|
192
|
-
verify('#running? verifies the process is dead') do
|
193
|
-
@sandbox.running? == false
|
194
|
-
end
|
195
|
-
|
196
|
-
exercise('Neither #run or #run_nonblock has been called. ') do
|
197
|
-
sandbox = Dia::Application.new(Dia::Profiles::NO_INTERNET, "sleep 0")
|
198
|
-
@result = sandbox.terminate
|
199
|
-
end
|
200
|
-
|
201
|
-
verify('#terminate returns nil') do
|
202
|
-
@result == nil
|
203
|
-
end
|
204
|
-
|
205
|
-
end
|
206
|
-
|
207
|
-
suite('#exit_status') do
|
208
|
-
|
209
|
-
setup do
|
210
|
-
@result = nil
|
211
|
-
end
|
212
|
-
|
213
|
-
exercise('#run is called, exits process with status of 10. ') do
|
214
|
-
sandbox = Dia::Application.new(Dia::Profiles::NO_INTERNET, "ruby -e 'exit 10'")
|
215
|
-
sandbox.run
|
216
|
-
@result = sandbox.exit_status
|
217
|
-
end
|
218
|
-
|
219
|
-
verify('#exit_status returns 10') do
|
220
|
-
@result == 10
|
221
|
-
end
|
222
|
-
|
223
|
-
exercise('Neither #run or #run_nonblock has been called. ') do
|
224
|
-
sandbox = Dia::Application.new(Dia::Profiles::NO_INTERNET, "")
|
225
|
-
@result = sandbox.exit_status
|
226
|
-
end
|
227
|
-
|
228
|
-
verify('#exit_status returns nil') do
|
229
|
-
@result == nil
|
230
|
-
end
|
231
|
-
|
232
|
-
end
|
233
|
-
|
234
|
-
end
|
235
|
-
|
236
|
-
end
|