openwferu 0.9.9 → 0.9.10
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/examples/kotoba.rb +22 -0
- data/lib/openwfe/engine/engine.rb +46 -10
- data/lib/openwfe/expool/expressionpool.rb +84 -71
- data/lib/openwfe/expool/history.rb +6 -2
- data/lib/openwfe/expool/journal.rb +9 -3
- data/lib/openwfe/expool/journal_replay.rb +8 -5
- data/lib/openwfe/expressions/fe_participant.rb +32 -1
- data/lib/openwfe/filterdef.rb +1 -1
- data/lib/openwfe/omixins.rb +70 -0
- data/lib/openwfe/participants/participantmap.rb +14 -1
- data/lib/openwfe/rest/definitions.rb +2 -1
- data/lib/openwfe/rest/xmlcodec.rb +56 -27
- data/lib/openwfe/util/kotoba.rb +2 -2
- data/lib/openwfe/util/workqueue.rb +177 -0
- data/lib/openwfe/utils.rb +52 -13
- data/lib/openwfe/version.rb +1 -1
- data/lib/openwfe/worklist/storeparticipant.rb +7 -4
- data/test/fei_test.rb +12 -1
- data/test/flowtestbase.rb +21 -8
- data/test/ft_0b_sequence.rb +6 -4
- data/test/ft_10_loop.rb +10 -5
- data/test/ft_10b_loop2.rb +5 -2
- data/test/ft_11_ppd.rb +12 -5
- data/test/ft_1_unset.rb +22 -13
- data/test/ft_23c_wait.rb +10 -6
- data/test/ft_25_cancel.rb +11 -5
- data/test/ft_27_getflowpos.rb +21 -4
- data/test/ft_28_fileparticipant.rb +1 -1
- data/test/ft_2c_concurrence.rb +8 -4
- data/test/ft_30_socketlistener.rb +8 -0
- data/test/ft_32_journal.rb +11 -2
- data/test/ft_34_cancelwfid.rb +4 -0
- data/test/ft_36_subprocids.rb +2 -1
- data/test/ft_37_pnames.rb +1 -1
- data/test/ft_38_tag.rb +5 -5
- data/test/ft_39_reserve.rb +1 -41
- data/test/ft_39b_reserve.rb +70 -0
- data/test/ft_40_defined.rb +2 -1
- data/test/ft_42_environments.rb +1 -2
- data/test/ft_45_citerator.rb +16 -4
- data/test/ft_46_pparams.rb +3 -0
- data/test/ft_49_condition.rb +2 -1
- data/test/ft_50_xml_attribute.rb +72 -3
- data/test/ft_51_stack.rb +58 -0
- data/test/ft_52_obs_participant.rb +127 -0
- data/test/ft_7b_lose.rb +5 -4
- data/test/ft_tests.rb +3 -0
- data/test/hparticipant_test.rb +21 -18
- data/test/misc_test.rb +9 -0
- data/test/param_test.rb +6 -0
- data/test/rake_test.rb +1 -0
- data/test/scheduler_test.rb +21 -0
- data/test/sec_test.rb +14 -27
- data/test/timeout_test.rb +6 -2
- metadata +8 -2
data/test/flowtestbase.rb
CHANGED
@@ -20,6 +20,7 @@ require 'rutest_utils'
|
|
20
20
|
include OpenWFE
|
21
21
|
|
22
22
|
|
23
|
+
#$SLEEP_TIME = 0.100
|
23
24
|
$WORKFLOW_ENGINE_CLASS = Engine
|
24
25
|
|
25
26
|
persistence = ENV["__persistence__"]
|
@@ -27,8 +28,10 @@ persistence = ENV["__persistence__"]
|
|
27
28
|
require "openwfe/engine/file_persisted_engine" if persistence
|
28
29
|
|
29
30
|
if persistence == "pure-persistence"
|
31
|
+
#$SLEEP_TIME = 0.999
|
30
32
|
$WORKFLOW_ENGINE_CLASS = FilePersistedEngine
|
31
33
|
elsif persistence == "cached-persistence"
|
34
|
+
#$SLEEP_TIME = 0.250
|
32
35
|
$WORKFLOW_ENGINE_CLASS = CachedFilePersistedEngine
|
33
36
|
end
|
34
37
|
|
@@ -37,7 +40,6 @@ puts
|
|
37
40
|
puts "testing with engine of class " + $WORKFLOW_ENGINE_CLASS.to_s
|
38
41
|
puts
|
39
42
|
|
40
|
-
#class FlowTestBase < Test::Unit::TestCase
|
41
43
|
module FlowTestBase
|
42
44
|
|
43
45
|
attr_reader \
|
@@ -86,10 +88,6 @@ module FlowTestBase
|
|
86
88
|
@engine.stop if @engine
|
87
89
|
end
|
88
90
|
|
89
|
-
#def default_test ()
|
90
|
-
# assert true
|
91
|
-
#end
|
92
|
-
|
93
91
|
protected
|
94
92
|
|
95
93
|
def print_exp_list (l)
|
@@ -123,14 +121,29 @@ module FlowTestBase
|
|
123
121
|
|
124
122
|
fei = @engine.launch(li)
|
125
123
|
|
126
|
-
#
|
127
|
-
@engine.get_scheduler.join_until_no_more_jobs
|
124
|
+
#if join == true
|
125
|
+
# @engine.get_scheduler.join_until_no_more_jobs
|
126
|
+
#elsif join.is_a?(Numeric)
|
127
|
+
# sleep join
|
128
|
+
#end
|
129
|
+
#if join.is_a?(Numeric)
|
130
|
+
# sleep join
|
131
|
+
#elsif join == true
|
132
|
+
# @engine.wait_for_engine
|
133
|
+
#else
|
134
|
+
# sleep $SLEEP_TIME
|
135
|
+
#end
|
136
|
+
if join.is_a?(Numeric)
|
137
|
+
sleep join
|
138
|
+
else
|
139
|
+
@engine.wait_for fei
|
140
|
+
end
|
128
141
|
|
129
142
|
trace = @tracer.to_s
|
130
143
|
|
131
144
|
#puts "...'#{trace}' ?= '#{expectedTrace}'"
|
132
145
|
|
133
|
-
if expectedTrace.kind_of?
|
146
|
+
if expectedTrace.kind_of?(Array)
|
134
147
|
|
135
148
|
result = false
|
136
149
|
expectedTrace.each do |etrace|
|
data/test/ft_0b_sequence.rb
CHANGED
@@ -20,14 +20,16 @@ class FlowTest0b < Test::Unit::TestCase
|
|
20
20
|
#end
|
21
21
|
|
22
22
|
def test_sequence
|
23
|
-
dotest(
|
24
|
-
'''
|
23
|
+
dotest(
|
24
|
+
'''
|
25
|
+
<process-definition name="n" revision="0">
|
25
26
|
<sequence>
|
26
27
|
<print>a</print>
|
27
28
|
<print>b</print>
|
28
29
|
</sequence>
|
29
|
-
</process-definition>
|
30
|
-
|
30
|
+
</process-definition>
|
31
|
+
'''.strip,
|
32
|
+
"a\nb")
|
31
33
|
end
|
32
34
|
|
33
35
|
end
|
data/test/ft_10_loop.rb
CHANGED
@@ -42,7 +42,8 @@ class FlowTest10 < Test::Unit::TestCase
|
|
42
42
|
</loop>
|
43
43
|
</sequence>
|
44
44
|
</process-definition>''',
|
45
|
-
$s
|
45
|
+
$s,
|
46
|
+
true)
|
46
47
|
end
|
47
48
|
|
48
49
|
#def xxxx_loop_1
|
@@ -60,7 +61,8 @@ class FlowTest10 < Test::Unit::TestCase
|
|
60
61
|
</loop>
|
61
62
|
</sequence>
|
62
63
|
</process-definition>''',
|
63
|
-
$s
|
64
|
+
$s,
|
65
|
+
true)
|
64
66
|
end
|
65
67
|
|
66
68
|
#def xxxx_loop_2
|
@@ -76,7 +78,8 @@ class FlowTest10 < Test::Unit::TestCase
|
|
76
78
|
</loop>
|
77
79
|
</sequence>
|
78
80
|
</process-definition>''',
|
79
|
-
$s
|
81
|
+
$s,
|
82
|
+
true)
|
80
83
|
end
|
81
84
|
|
82
85
|
#def xxxx_loop_3
|
@@ -92,7 +95,8 @@ class FlowTest10 < Test::Unit::TestCase
|
|
92
95
|
</loop>
|
93
96
|
</sequence>
|
94
97
|
</process-definition>''',
|
95
|
-
$s
|
98
|
+
$s,
|
99
|
+
true)
|
96
100
|
end
|
97
101
|
|
98
102
|
#def xxxx_loop_4
|
@@ -108,7 +112,8 @@ class FlowTest10 < Test::Unit::TestCase
|
|
108
112
|
</loop>
|
109
113
|
</sequence>
|
110
114
|
</process-definition>''',
|
111
|
-
$s
|
115
|
+
$s,
|
116
|
+
true)
|
112
117
|
end
|
113
118
|
|
114
119
|
end
|
data/test/ft_10b_loop2.rb
CHANGED
data/test/ft_11_ppd.rb
CHANGED
@@ -76,8 +76,11 @@ c""")
|
|
76
76
|
#def xxxx_ppd_1
|
77
77
|
dotest(
|
78
78
|
TestDefinition1,
|
79
|
-
"""
|
80
|
-
|
79
|
+
"""
|
80
|
+
toto:nada
|
81
|
+
ftoto:_nada__321
|
82
|
+
""".strip,
|
83
|
+
true)
|
81
84
|
end
|
82
85
|
|
83
86
|
|
@@ -104,7 +107,8 @@ ftoto:_nada__321""")
|
|
104
107
|
#def xxxx_ppd_2
|
105
108
|
dotest(
|
106
109
|
TestDefinition2,
|
107
|
-
"toto:nada"
|
110
|
+
"toto:nada",
|
111
|
+
true)
|
108
112
|
end
|
109
113
|
|
110
114
|
|
@@ -189,8 +193,11 @@ end
|
|
189
193
|
|
190
194
|
dotest(
|
191
195
|
TestDefinition4,
|
192
|
-
"""
|
193
|
-
|
196
|
+
"""
|
197
|
+
a
|
198
|
+
b
|
199
|
+
""".strip,
|
200
|
+
0.300)
|
194
201
|
|
195
202
|
assert \
|
196
203
|
s == CODE4,
|
data/test/ft_1_unset.rb
CHANGED
@@ -21,16 +21,19 @@ class FlowTest1 < Test::Unit::TestCase
|
|
21
21
|
|
22
22
|
#def xxxx_unset_0
|
23
23
|
def test_unset_0
|
24
|
-
dotest(
|
25
|
-
'''
|
24
|
+
dotest(
|
25
|
+
'''
|
26
|
+
<process-definition name="n" revision="0">
|
26
27
|
<sequence>
|
27
28
|
<set variable="x" value="y" />
|
28
29
|
<print>set ${x} ${v:x}</print>
|
29
30
|
<unset variable="x" />
|
30
31
|
<print>unset ${x} ${v:x}</print>
|
31
32
|
</sequence>
|
32
|
-
</process-definition>
|
33
|
-
|
33
|
+
</process-definition>
|
34
|
+
'''.strip,
|
35
|
+
"set y y\nunset",
|
36
|
+
true)
|
34
37
|
end
|
35
38
|
|
36
39
|
#def xxxx_unset_1
|
@@ -63,35 +66,41 @@ unset y')
|
|
63
66
|
|
64
67
|
#def xxxx_unset_3
|
65
68
|
def test_unset_3
|
66
|
-
dotest(
|
67
|
-
'''
|
69
|
+
dotest(
|
70
|
+
'''
|
71
|
+
<process-definition name="n" revision="0">
|
68
72
|
<sequence>
|
69
73
|
<set variable="//x" value="y" />
|
70
74
|
<print>set ${x}</print>
|
71
75
|
<unset variable="//x" />
|
72
76
|
<print>unset ${x}</print>
|
73
77
|
</sequence>
|
74
|
-
</process-definition>
|
75
|
-
|
78
|
+
</process-definition>
|
79
|
+
'''.strip,
|
80
|
+
"set y\nunset",
|
81
|
+
true)
|
76
82
|
end
|
77
83
|
|
78
84
|
#def xxxx_unset_4
|
79
85
|
def test_unset_4
|
80
|
-
dotest(
|
81
|
-
'''
|
86
|
+
dotest(
|
87
|
+
'''
|
88
|
+
<process-definition name="n" revision="0">
|
82
89
|
<sequence>
|
83
90
|
<set variable="/x" value="y" />
|
84
91
|
<print>set ${x}</print>
|
85
92
|
<unset variable="x" />
|
86
93
|
<print>unset ${x}</print>
|
87
94
|
</sequence>
|
88
|
-
</process-definition>
|
89
|
-
|
95
|
+
</process-definition>
|
96
|
+
'''.strip,
|
97
|
+
"set y\nunset",
|
98
|
+
true)
|
90
99
|
end
|
91
100
|
|
92
101
|
#def xxxx_unset_5
|
93
102
|
def test_unset_5
|
94
|
-
dotest(
|
103
|
+
dotest(
|
95
104
|
'''<process-definition name="n" revision="0">
|
96
105
|
<sequence>
|
97
106
|
<set variable="/x" value="y" />
|
data/test/ft_23c_wait.rb
CHANGED
@@ -45,10 +45,12 @@ class FlowTest23c < Test::Unit::TestCase
|
|
45
45
|
def test_0
|
46
46
|
dotest(
|
47
47
|
Wait0c,
|
48
|
-
"""
|
48
|
+
"""
|
49
|
+
before done
|
49
50
|
after when
|
50
|
-
over
|
51
|
-
|
51
|
+
over
|
52
|
+
""".strip,
|
53
|
+
3)
|
52
54
|
end
|
53
55
|
|
54
56
|
#
|
@@ -77,10 +79,12 @@ over""",
|
|
77
79
|
def test_1
|
78
80
|
dotest(
|
79
81
|
Wait1c,
|
80
|
-
"""
|
82
|
+
"""
|
83
|
+
before done
|
81
84
|
after when
|
82
|
-
over
|
83
|
-
|
85
|
+
over
|
86
|
+
""".strip,
|
87
|
+
4)
|
84
88
|
end
|
85
89
|
|
86
90
|
end
|
data/test/ft_25_cancel.rb
CHANGED
@@ -24,15 +24,18 @@ class FlowTest25 < Test::Unit::TestCase
|
|
24
24
|
# TEST 0
|
25
25
|
|
26
26
|
def test_cancel_0
|
27
|
-
dotest(
|
28
|
-
'''
|
27
|
+
dotest(
|
28
|
+
'''
|
29
|
+
<process-definition name="25_cancel" revision="0">
|
29
30
|
<sequence>
|
30
31
|
<print>before</print>
|
31
32
|
<cancel-process/>
|
32
33
|
<print>after</print>
|
33
34
|
</sequence>
|
34
|
-
</process-definition>
|
35
|
-
|
35
|
+
</process-definition>
|
36
|
+
'''.strip,
|
37
|
+
"before",
|
38
|
+
0.500)
|
36
39
|
end
|
37
40
|
|
38
41
|
|
@@ -52,7 +55,10 @@ class FlowTest25 < Test::Unit::TestCase
|
|
52
55
|
end
|
53
56
|
|
54
57
|
def test_cancel_1
|
55
|
-
dotest(
|
58
|
+
dotest(
|
59
|
+
TestDefinition1,
|
60
|
+
"before",
|
61
|
+
0.500)
|
56
62
|
end
|
57
63
|
|
58
64
|
|
data/test/ft_27_getflowpos.rb
CHANGED
@@ -43,28 +43,43 @@ class FlowTest27 < Test::Unit::TestCase
|
|
43
43
|
|
44
44
|
fei = @engine.launch(TestDefinition0)
|
45
45
|
|
46
|
+
sleep 0.500
|
47
|
+
|
46
48
|
l = @engine.get_expression_pool.get_flow_position(fei.wfid)
|
47
49
|
|
48
50
|
#print_exp_list(l)
|
49
51
|
|
50
|
-
|
51
|
-
l.size
|
52
|
-
"get_flow_position() returned #{l.size} elements"
|
52
|
+
assert_equal \
|
53
|
+
l.size, 3, "get_flow_position() returned #{l.size} elements"
|
53
54
|
|
54
55
|
wi = sp.first_workitem
|
55
56
|
|
56
57
|
sp.forward(wi)
|
57
58
|
|
59
|
+
@engine.wait_for fei
|
60
|
+
|
58
61
|
assert_equal sp.size, 0
|
59
62
|
end
|
60
63
|
|
61
64
|
|
65
|
+
#
|
66
|
+
# TEST 0b
|
67
|
+
|
68
|
+
class Gfp27b < ProcessDefinition
|
69
|
+
sequence do
|
70
|
+
store_p
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
62
74
|
#def xxxx_gfp_0b
|
63
75
|
def test_gfp_0b
|
64
76
|
|
65
77
|
sp = @engine.register_participant("store_p", OpenWFE::YamlParticipant)
|
66
78
|
|
67
|
-
fei = @engine.launch
|
79
|
+
#fei = @engine.launch TestDefinition0
|
80
|
+
fei = @engine.launch Gfp27b
|
81
|
+
|
82
|
+
sleep 0.500
|
68
83
|
|
69
84
|
l = @engine.get_flow_position(fei.wfid)
|
70
85
|
#
|
@@ -92,6 +107,8 @@ class FlowTest27 < Test::Unit::TestCase
|
|
92
107
|
|
93
108
|
sp.forward(wi)
|
94
109
|
|
110
|
+
@engine.wait_for fei
|
111
|
+
|
95
112
|
assert_equal sp.size, 0
|
96
113
|
end
|
97
114
|
|
data/test/ft_2c_concurrence.rb
CHANGED
@@ -30,9 +30,10 @@ class FlowTest2c < Test::Unit::TestCase
|
|
30
30
|
</concurrence>
|
31
31
|
</process-definition>''',
|
32
32
|
[ '''a
|
33
|
-
b''',
|
34
|
-
|
35
|
-
|
33
|
+
b''',
|
34
|
+
'''b
|
35
|
+
a'''
|
36
|
+
])
|
36
37
|
end
|
37
38
|
|
38
39
|
|
@@ -53,7 +54,10 @@ a''' ],
|
|
53
54
|
end
|
54
55
|
|
55
56
|
def test_con_1
|
56
|
-
dotest(
|
57
|
+
dotest(
|
58
|
+
TestCon2c1,
|
59
|
+
"a\nc\nb",
|
60
|
+
2)
|
57
61
|
end
|
58
62
|
|
59
63
|
end
|
@@ -58,6 +58,8 @@ class FlowTest30 < Test::Unit::TestCase
|
|
58
58
|
#puts ">>>#{reply}<<<"
|
59
59
|
assert (reply.match "^.fei .*0.$")
|
60
60
|
|
61
|
+
sleep 0.100
|
62
|
+
|
61
63
|
trace = @tracer.to_s
|
62
64
|
|
63
65
|
assert_equal trace, "ok"
|
@@ -87,6 +89,8 @@ class FlowTest30 < Test::Unit::TestCase
|
|
87
89
|
#puts ">>>#{reply}<<<"
|
88
90
|
assert (reply.match "^.fei .*0.$")
|
89
91
|
|
92
|
+
sleep 0.100
|
93
|
+
|
90
94
|
trace = @tracer.to_s
|
91
95
|
|
92
96
|
assert_equal trace, "ok1"
|
@@ -118,6 +122,8 @@ class FlowTest30 < Test::Unit::TestCase
|
|
118
122
|
#puts ">>>#{reply}<<<"
|
119
123
|
assert (reply.match "^.fei .*0.$")
|
120
124
|
|
125
|
+
sleep 0.100
|
126
|
+
|
121
127
|
trace = @tracer.to_s
|
122
128
|
|
123
129
|
assert_equal trace, "ok2"
|
@@ -164,6 +170,8 @@ class FlowTest30 < Test::Unit::TestCase
|
|
164
170
|
|
165
171
|
trace = trace.strip
|
166
172
|
|
173
|
+
sleep 0.300
|
174
|
+
|
167
175
|
assert_equal @tracer.to_s, trace
|
168
176
|
end
|
169
177
|
|
data/test/ft_32_journal.rb
CHANGED
@@ -50,13 +50,14 @@ class FlowTest32 < Test::Unit::TestCase
|
|
50
50
|
@tracer << "bravo\n"
|
51
51
|
end
|
52
52
|
|
53
|
-
fei = dotest(TestDefinition0, "alpha\nbravo")
|
53
|
+
#fei = dotest(TestDefinition0, "alpha\nbravo")
|
54
|
+
fei = dotest(TestDefinition0, "alpha\nbravo", 0.250)
|
54
55
|
|
55
56
|
journal_service = @engine.application_context["journal"]
|
56
57
|
|
57
58
|
fn = journal_service.donedir + "/" + fei.wfid + ".journal"
|
58
59
|
|
59
|
-
#journal_service.analyze fn
|
60
|
+
#puts journal_service.analyze fn
|
60
61
|
|
61
62
|
#sleep(10)
|
62
63
|
|
@@ -68,6 +69,12 @@ class FlowTest32 < Test::Unit::TestCase
|
|
68
69
|
#
|
69
70
|
# flow waits
|
70
71
|
|
72
|
+
sleep 0.250
|
73
|
+
|
74
|
+
#puts
|
75
|
+
#puts @engine.get_expression_storage.to_s
|
76
|
+
#puts
|
77
|
+
|
71
78
|
assert_equal @engine.get_expression_storage.size, 6
|
72
79
|
|
73
80
|
journal_service.replay fn, 18, true
|
@@ -76,6 +83,8 @@ class FlowTest32 < Test::Unit::TestCase
|
|
76
83
|
#
|
77
84
|
# flow resumes
|
78
85
|
|
86
|
+
sleep 0.500
|
87
|
+
|
79
88
|
assert_equal @engine.get_expression_storage.size, 1
|
80
89
|
end
|
81
90
|
|
data/test/ft_34_cancelwfid.rb
CHANGED
@@ -39,6 +39,8 @@ class FlowTest34 < Test::Unit::TestCase
|
|
39
39
|
|
40
40
|
fei = @engine.launch(TestCancelWfid0)
|
41
41
|
|
42
|
+
sleep 0.500
|
43
|
+
|
42
44
|
@engine.cancel_process(fei.wfid)
|
43
45
|
|
44
46
|
l = @engine.list_processes()
|
@@ -56,6 +58,8 @@ class FlowTest34 < Test::Unit::TestCase
|
|
56
58
|
|
57
59
|
fei = @engine.launch(TestCancelWfid0)
|
58
60
|
|
61
|
+
sleep 0.500
|
62
|
+
|
59
63
|
@engine.cancel_process(fei.wfid)
|
60
64
|
|
61
65
|
#l = @engine.list_processes()
|
data/test/ft_36_subprocids.rb
CHANGED
data/test/ft_37_pnames.rb
CHANGED
data/test/ft_38_tag.rb
CHANGED
@@ -38,7 +38,7 @@ class FlowTest38 < Test::Unit::TestCase
|
|
38
38
|
|
39
39
|
def test_tag_0
|
40
40
|
|
41
|
-
dotest(TestTag0, "blah"
|
41
|
+
dotest(TestTag0, "blah")
|
42
42
|
end
|
43
43
|
|
44
44
|
|
@@ -63,13 +63,13 @@ class FlowTest38 < Test::Unit::TestCase
|
|
63
63
|
|
64
64
|
count = 0
|
65
65
|
|
66
|
-
@engine.register_participant
|
66
|
+
@engine.register_participant :count do
|
67
67
|
count += 1
|
68
68
|
end
|
69
69
|
|
70
|
-
dotest
|
70
|
+
dotest TestTag1, "blah\nhello", 2
|
71
71
|
|
72
|
-
assert_equal count,
|
72
|
+
assert_equal count, 1
|
73
73
|
end
|
74
74
|
|
75
75
|
|
@@ -97,7 +97,7 @@ class FlowTest38 < Test::Unit::TestCase
|
|
97
97
|
count += 1
|
98
98
|
end
|
99
99
|
|
100
|
-
dotest
|
100
|
+
dotest TestTag2, "hello\nblah", true
|
101
101
|
|
102
102
|
assert_equal count, 1
|
103
103
|
end
|
data/test/ft_39_reserve.rb
CHANGED
@@ -60,47 +60,7 @@ class FlowTest39 < Test::Unit::TestCase
|
|
60
60
|
# Test 2
|
61
61
|
#
|
62
62
|
|
63
|
-
|
64
|
-
#
|
65
|
-
# doesn't prove it enough though...
|
66
|
-
#
|
67
|
-
concurrence do
|
68
|
-
reserve :mutex => :toto do
|
69
|
-
sequence do
|
70
|
-
test_alpha
|
71
|
-
test_bravo
|
72
|
-
end
|
73
|
-
end
|
74
|
-
reserve :mutex => :toto do
|
75
|
-
sequence do
|
76
|
-
test_charly
|
77
|
-
test_delta
|
78
|
-
end
|
79
|
-
end
|
80
|
-
end
|
81
|
-
end
|
82
|
-
|
83
|
-
def test_2
|
84
|
-
|
85
|
-
dotest(
|
86
|
-
TestReserve39a2,
|
87
|
-
[
|
88
|
-
"""
|
89
|
-
test-charly
|
90
|
-
test-delta
|
91
|
-
test-alpha
|
92
|
-
test-bravo
|
93
|
-
""".strip,
|
94
|
-
"""
|
95
|
-
test-alpha
|
96
|
-
test-bravo
|
97
|
-
test-charly
|
98
|
-
test-delta
|
99
|
-
""".strip,
|
100
|
-
],
|
101
|
-
true)
|
102
|
-
end
|
103
|
-
|
63
|
+
# moved to ft_39b_reserve.rb
|
104
64
|
|
105
65
|
#
|
106
66
|
# Test 3
|