openwferu 0.9.1 → 0.9.2
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 → README.txt} +16 -13
- data/bin/validate-workflow.rb +46 -22
- data/examples/README.txt +8 -0
- data/examples/homeworkreview.rb +66 -0
- data/examples/quotereporter.rb +154 -0
- data/lib/{openwferu.rb → openwfe.rb} +6 -8
- data/lib/{ru → openwfe}/contextual.rb +11 -3
- data/lib/{ru → openwfe/engine}/engine.rb +50 -36
- data/lib/{ru/participant.rb → openwfe/engine/file_persisted_engine.rb} +21 -22
- data/lib/openwfe/expool/expressionpool.rb +534 -0
- data/lib/openwfe/expool/expstorage.rb +184 -0
- data/lib/openwfe/expool/journalexpstorage.rb +312 -0
- data/lib/openwfe/expool/yamlexpstorage.rb +127 -0
- data/lib/{ru → openwfe/expressions}/environment.rb +19 -14
- data/lib/{ru → openwfe/expressions}/expressionmap.rb +48 -21
- data/lib/{ru → openwfe/expressions}/fe_concurrence.rb +111 -35
- data/lib/openwfe/expressions/fe_cursor.rb +236 -0
- data/lib/{ru → openwfe/expressions}/fe_define.rb +5 -5
- data/lib/openwfe/expressions/fe_fqv.rb +99 -0
- data/lib/openwfe/expressions/fe_iterator.rb +182 -0
- data/lib/{ru/fe_misc.rb → openwfe/expressions/fe_losfor.rb} +14 -56
- data/lib/openwfe/expressions/fe_misc.rb +102 -0
- data/lib/{ru → openwfe/expressions}/fe_participant.rb +25 -14
- data/lib/{ru → openwfe/expressions}/fe_raw.rb +39 -75
- data/lib/{ru/fe_base.rb → openwfe/expressions/fe_sequence.rb} +40 -35
- data/lib/{ru → openwfe/expressions}/fe_subprocess.rb +30 -14
- data/lib/{ru → openwfe/expressions}/fe_time.rb +59 -31
- data/lib/{ru → openwfe/expressions}/fe_utils.rb +42 -26
- data/lib/{ru → openwfe/expressions}/fe_value.rb +20 -14
- data/lib/openwfe/expressions/flowexpression.rb +434 -0
- data/lib/openwfe/expressions/raw_prog.rb +391 -0
- data/lib/openwfe/expressions/raw_xml.rb +128 -0
- data/lib/openwfe/flowexpressionid.rb +148 -0
- data/lib/{ru → openwfe}/logging.rb +10 -6
- data/lib/{osocket.rb → openwfe/osocket.rb} +36 -35
- data/lib/{otime.rb → openwfe/otime.rb} +71 -21
- data/lib/openwfe/participants/atomparticipants.rb +144 -0
- data/lib/openwfe/participants/enoparticipant.rb +73 -0
- data/lib/openwfe/participants/participant.rb +85 -0
- data/lib/{ru → openwfe/participants}/participantmap.rb +40 -12
- data/lib/{ru → openwfe/participants}/participants.rb +41 -12
- data/lib/openwfe/participants/soapparticipants.rb +96 -0
- data/lib/{controlclient.rb → openwfe/rest/controlclient.rb} +12 -13
- data/lib/{definitions.rb → openwfe/rest/definitions.rb} +3 -3
- data/lib/{exception.rb → openwfe/rest/exception.rb} +3 -3
- data/lib/{restclient.rb → openwfe/rest/restclient.rb} +13 -22
- data/lib/{worklistclient.rb → openwfe/rest/worklistclient.rb} +33 -46
- data/lib/openwfe/rest/xmlcodec.rb +575 -0
- data/lib/{ru → openwfe}/rudefinitions.rb +32 -4
- data/lib/{ru → openwfe}/service.rb +20 -8
- data/lib/openwfe/storage/yamlfilestorage.rb +159 -0
- data/lib/{ru → openwfe/util}/dollar.rb +10 -8
- data/lib/openwfe/util/lru_cache.rb +149 -0
- data/lib/{ru → openwfe/util}/scheduler.rb +18 -10
- data/lib/{ru → openwfe/util}/schedulers.rb +7 -7
- data/lib/{utils.rb → openwfe/utils.rb} +93 -9
- data/lib/openwfe/workitem.rb +366 -0
- data/lib/openwfe/worklist/worklists.rb +175 -0
- data/test/README.txt +27 -0
- data/test/atomtest.rb +99 -0
- data/test/crontest.rb +58 -0
- data/test/dollartest.rb +3 -3
- data/test/feitest.rb +42 -14
- data/test/file_persistence_test.rb +93 -0
- data/test/flowtestbase.rb +72 -26
- data/test/ft_0.rb +1 -97
- data/test/ft_0b_sequence.rb +33 -0
- data/test/ft_0c_testname.rb +29 -0
- data/test/ft_10_loop.rb +48 -0
- data/test/ft_11_ppd.rb +292 -0
- data/test/ft_12_blockparticipant.rb +45 -0
- data/test/ft_13_eno.rb +51 -0
- data/test/ft_14_subprocess.rb +90 -0
- data/test/ft_14b_subprocess.rb +40 -0
- data/test/ft_15_iterator.rb +70 -0
- data/test/ft_16_fqv.rb +57 -0
- data/test/ft_1_unset.rb +25 -1
- data/test/ft_2_concurrence.rb +10 -5
- data/test/ft_3_equals.rb +35 -1
- data/test/ft_4_misc.rb +16 -1
- data/test/ft_5_time.rb +26 -1
- data/test/ft_6_lambda.rb +2 -1
- data/test/{ft_7_losfor.rb → ft_7_lose.rb} +41 -35
- data/test/ft_8_forget.rb +46 -0
- data/test/ft_9_cursor.rb +94 -0
- data/test/journal_persistence_test.rb +147 -0
- data/test/misctest.rb +13 -9
- data/test/rake_ptest.rb +18 -0
- data/test/rake_qtest.rb +43 -0
- data/test/{fulltest.rb → rake_test.rb} +2 -2
- data/test/raw_prog_test.rb +236 -0
- data/test/rest_test.rb +189 -0
- data/test/rutest_utils.rb +1 -1
- data/test/timetest.rb +42 -34
- metadata +125 -82
- data/lib/codec.rb +0 -573
- data/lib/flowexpressionid.rb +0 -139
- data/lib/ru/expressionpool.rb +0 -382
- data/lib/ru/expressionstorage.rb +0 -99
- data/lib/ru/flowexpression.rb +0 -272
- data/lib/ru/ruutils.rb +0 -70
- data/lib/test.rb +0 -222
- data/lib/workitem.rb +0 -249
- data/test/quicktest.rb +0 -21
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
|
|
2
|
+
#
|
|
3
|
+
# Testing OpenWFE
|
|
4
|
+
#
|
|
5
|
+
# John Mettraux at openwfe.org
|
|
6
|
+
#
|
|
7
|
+
# Mon Oct 9 22:19:44 JST 2006
|
|
8
|
+
#
|
|
9
|
+
|
|
10
|
+
require 'flowtestbase'
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class FlowTest14b < FlowTestBase
|
|
14
|
+
|
|
15
|
+
#def setup
|
|
16
|
+
#end
|
|
17
|
+
|
|
18
|
+
#def teardown
|
|
19
|
+
#end
|
|
20
|
+
|
|
21
|
+
def test_subprocess_ref_0
|
|
22
|
+
#def xxxx_subprocess_ref_0
|
|
23
|
+
dotest(\
|
|
24
|
+
'''<process-definition name="subtest0" revision="0">
|
|
25
|
+
|
|
26
|
+
<sequence>
|
|
27
|
+
<subprocess ref="sub0" a="A" b="B" c="C" />
|
|
28
|
+
<sub0 a="A" b="B" c="C" />
|
|
29
|
+
</sequence>
|
|
30
|
+
|
|
31
|
+
<process-definition name="sub0">
|
|
32
|
+
<print>${a}${b}${c}</print>
|
|
33
|
+
</process-definition>
|
|
34
|
+
|
|
35
|
+
</process-definition>''', '''ABC
|
|
36
|
+
ABC''')
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
end
|
|
40
|
+
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
|
|
2
|
+
#
|
|
3
|
+
# Testing OpenWFE
|
|
4
|
+
#
|
|
5
|
+
# John Mettraux at openwfe.org
|
|
6
|
+
#
|
|
7
|
+
# Tue Jan 2 13:14:37 JST 2007
|
|
8
|
+
#
|
|
9
|
+
|
|
10
|
+
require 'openwfe/expressions/raw_prog'
|
|
11
|
+
require 'openwfe/participants/participants'
|
|
12
|
+
require 'openwfe/participants/enoparticipant'
|
|
13
|
+
require 'flowtestbase'
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class FlowTest15 < FlowTestBase
|
|
17
|
+
|
|
18
|
+
#def setup
|
|
19
|
+
#end
|
|
20
|
+
|
|
21
|
+
#def teardown
|
|
22
|
+
#end
|
|
23
|
+
|
|
24
|
+
#
|
|
25
|
+
# Test 0
|
|
26
|
+
#
|
|
27
|
+
|
|
28
|
+
class TestDefinition0 < OpenWFE::ProcessDefinition
|
|
29
|
+
def make
|
|
30
|
+
process_definition :name => "test0", :revision => "0" do
|
|
31
|
+
iterator :on_value => "x, y, z", :to_variable => "v0" do
|
|
32
|
+
_print "${f:__ip__} -- ${v0}"
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def test_ppd_0
|
|
39
|
+
dotest(
|
|
40
|
+
TestDefinition0,
|
|
41
|
+
"""0 -- x
|
|
42
|
+
1 -- y
|
|
43
|
+
2 -- z""")
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
#
|
|
47
|
+
# Test 1
|
|
48
|
+
#
|
|
49
|
+
|
|
50
|
+
class TestDefinition1 < OpenWFE::ProcessDefinition
|
|
51
|
+
def make
|
|
52
|
+
process_definition :name => "test1", :revision => "0" do
|
|
53
|
+
iterator :on_value => "x, y, z", :to_field => "f0" do
|
|
54
|
+
_print "${f:__ip__} -- ${f:f0}"
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def test_ppd_1
|
|
61
|
+
#def xxxx_ppd_1
|
|
62
|
+
dotest(
|
|
63
|
+
TestDefinition1,
|
|
64
|
+
"""0 -- x
|
|
65
|
+
1 -- y
|
|
66
|
+
2 -- z""")
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
end
|
|
70
|
+
|
data/test/ft_16_fqv.rb
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
|
|
2
|
+
#
|
|
3
|
+
# Testing OpenWFE
|
|
4
|
+
#
|
|
5
|
+
# John Mettraux at openwfe.org
|
|
6
|
+
#
|
|
7
|
+
# Mon Oct 9 22:19:44 JST 2006
|
|
8
|
+
#
|
|
9
|
+
|
|
10
|
+
require 'flowtestbase'
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class FlowTest16 < FlowTestBase
|
|
14
|
+
|
|
15
|
+
#def setup
|
|
16
|
+
#end
|
|
17
|
+
|
|
18
|
+
#def teardown
|
|
19
|
+
#end
|
|
20
|
+
|
|
21
|
+
def test_fqv_0
|
|
22
|
+
dotest(\
|
|
23
|
+
'''<process-definition name="n" revision="0">
|
|
24
|
+
<sequence>
|
|
25
|
+
<set variable="x"><q>y</q></set>
|
|
26
|
+
<print>x is "${x}"</print>
|
|
27
|
+
</sequence>
|
|
28
|
+
</process-definition>''',
|
|
29
|
+
'x is "y"')
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def test_fqv_1
|
|
33
|
+
dotest(\
|
|
34
|
+
'''<process-definition name="n" revision="0">
|
|
35
|
+
<sequence>
|
|
36
|
+
<set variable="x0"><q>y0</q></set>
|
|
37
|
+
<set variable="x1"><v>x0</v></set>
|
|
38
|
+
<print>x1 is "${x1}"</print>
|
|
39
|
+
</sequence>
|
|
40
|
+
</process-definition>''',
|
|
41
|
+
'x1 is "y0"')
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def test_fqv_2
|
|
45
|
+
dotest(\
|
|
46
|
+
'''<process-definition name="n" revision="0">
|
|
47
|
+
<sequence>
|
|
48
|
+
<set field="x0"><q>y0</q></set>
|
|
49
|
+
<set variable="x1"><f>x0</f></set>
|
|
50
|
+
<print>x1 is "${x1}"</print>
|
|
51
|
+
</sequence>
|
|
52
|
+
</process-definition>''',
|
|
53
|
+
'x1 is "y0"')
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
end
|
|
57
|
+
|
data/test/ft_1_unset.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
#
|
|
3
|
-
# Testing
|
|
3
|
+
# Testing OpenWFE
|
|
4
4
|
#
|
|
5
5
|
# John Mettraux at openwfe.org
|
|
6
6
|
#
|
|
@@ -148,5 +148,29 @@ unset')
|
|
|
148
148
|
</process-definition>''', 'false')
|
|
149
149
|
end
|
|
150
150
|
|
|
151
|
+
def test_set_with_nested_string_0
|
|
152
|
+
dotest(\
|
|
153
|
+
'''<process-definition name="set_a1f" revision="0">
|
|
154
|
+
<sequence>
|
|
155
|
+
<set variable="x">
|
|
156
|
+
${r:"1234".reverse}
|
|
157
|
+
</set>
|
|
158
|
+
<print>${x}</print>
|
|
159
|
+
</sequence>
|
|
160
|
+
</process-definition>''', '4321')
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
def test_set_with_nested_string_1
|
|
164
|
+
dotest(\
|
|
165
|
+
'''<process-definition name="set_a1f" revision="0">
|
|
166
|
+
<sequence>
|
|
167
|
+
<set field="x">
|
|
168
|
+
${r:"1234".reverse}
|
|
169
|
+
</set>
|
|
170
|
+
<print>${f:x}</print>
|
|
171
|
+
</sequence>
|
|
172
|
+
</process-definition>''', '4321')
|
|
173
|
+
end
|
|
174
|
+
|
|
151
175
|
end
|
|
152
176
|
|
data/test/ft_2_concurrence.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
#
|
|
3
|
-
# Testing
|
|
3
|
+
# Testing OpenWFE
|
|
4
4
|
#
|
|
5
5
|
# John Mettraux at openwfe.org
|
|
6
6
|
#
|
|
@@ -18,6 +18,7 @@ class FlowTest2 < FlowTestBase
|
|
|
18
18
|
#def teardown
|
|
19
19
|
#end
|
|
20
20
|
|
|
21
|
+
#def xxxx_con_0
|
|
21
22
|
def test_con_0
|
|
22
23
|
dotest(\
|
|
23
24
|
'''<process-definition name="con" revision="0">
|
|
@@ -25,11 +26,12 @@ class FlowTest2 < FlowTestBase
|
|
|
25
26
|
<print>a</print>
|
|
26
27
|
<print>b</print>
|
|
27
28
|
</concurrence>
|
|
28
|
-
</process-definition>''', [ '''a
|
|
29
|
+
</process-definition>''', [ '''a
|
|
29
30
|
b''', '''b
|
|
30
|
-
a''' ]
|
|
31
|
+
a''' ])
|
|
31
32
|
end
|
|
32
33
|
|
|
34
|
+
#def xxxx_con_1
|
|
33
35
|
def test_con_1
|
|
34
36
|
dotest(\
|
|
35
37
|
'''<process-definition name="con" revision="1">
|
|
@@ -37,9 +39,12 @@ a''' ], 0.1 )
|
|
|
37
39
|
count="1"
|
|
38
40
|
>
|
|
39
41
|
<print>a</print>
|
|
40
|
-
<
|
|
42
|
+
<sequence>
|
|
43
|
+
<sleep for="10s" />
|
|
44
|
+
<print>b</print>
|
|
45
|
+
</sequence>
|
|
41
46
|
</concurrence>
|
|
42
|
-
</process-definition>''',
|
|
47
|
+
</process-definition>''', "a", 0.1, false )
|
|
43
48
|
end
|
|
44
49
|
|
|
45
50
|
end
|
data/test/ft_3_equals.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
#
|
|
3
|
-
# Testing
|
|
3
|
+
# Testing OpenWFE
|
|
4
4
|
#
|
|
5
5
|
# John Mettraux at openwfe.org
|
|
6
6
|
#
|
|
@@ -80,5 +80,39 @@ class FlowTest3 < FlowTestBase
|
|
|
80
80
|
</process-definition>''', "ok")
|
|
81
81
|
end
|
|
82
82
|
|
|
83
|
+
def test_equals_0
|
|
84
|
+
dotest(\
|
|
85
|
+
'<process-definition name="'+test_name+'''" revision="0">
|
|
86
|
+
<sequence>
|
|
87
|
+
<set field="a" value="true" />
|
|
88
|
+
<print>${f:a}</print>
|
|
89
|
+
<if>
|
|
90
|
+
<equals field-value="a" other-value="true" />
|
|
91
|
+
<print>true</print>
|
|
92
|
+
<print>bad test_equals_0</print>
|
|
93
|
+
</if>
|
|
94
|
+
</sequence>
|
|
95
|
+
</process-definition>''',
|
|
96
|
+
"""true
|
|
97
|
+
true""")
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
def test_equals_1
|
|
101
|
+
dotest(\
|
|
102
|
+
'<process-definition name="'+test_name+'''" revision="0">
|
|
103
|
+
<sequence>
|
|
104
|
+
<set variable="a" value="true" />
|
|
105
|
+
<print>${a}</print>
|
|
106
|
+
<if>
|
|
107
|
+
<equals variable-value="a" other-value="true" />
|
|
108
|
+
<print>true</print>
|
|
109
|
+
<print>bad test_equals_1</print>
|
|
110
|
+
</if>
|
|
111
|
+
</sequence>
|
|
112
|
+
</process-definition>''',
|
|
113
|
+
"""true
|
|
114
|
+
true""")
|
|
115
|
+
end
|
|
116
|
+
|
|
83
117
|
end
|
|
84
118
|
|
data/test/ft_4_misc.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
#
|
|
3
|
-
# Testing
|
|
3
|
+
# Testing OpenWFE
|
|
4
4
|
#
|
|
5
5
|
# John Mettraux at openwfe.org
|
|
6
6
|
#
|
|
@@ -124,5 +124,20 @@ class FlowTest4 < FlowTestBase
|
|
|
124
124
|
</process-definition>''', "WWW")
|
|
125
125
|
end
|
|
126
126
|
|
|
127
|
+
def test_dru_4
|
|
128
|
+
dotest(\
|
|
129
|
+
'''<process-definition name="dru_4" revision="0">
|
|
130
|
+
<sequence>
|
|
131
|
+
<set variable="v">
|
|
132
|
+
<reval>@fei.workflow_definition_name</reval>
|
|
133
|
+
</set>
|
|
134
|
+
<print>${v}</print>
|
|
135
|
+
|
|
136
|
+
<print>${r:@fei.workflow_definition_name}</print>
|
|
137
|
+
</sequence>
|
|
138
|
+
</process-definition>''', """dru_4
|
|
139
|
+
dru_4""")
|
|
140
|
+
end
|
|
141
|
+
|
|
127
142
|
end
|
|
128
143
|
|
data/test/ft_5_time.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
#
|
|
3
|
-
# Testing
|
|
3
|
+
# Testing OpenWFE
|
|
4
4
|
#
|
|
5
5
|
# John Mettraux at openwfe.org
|
|
6
6
|
#
|
|
@@ -19,6 +19,7 @@ class FlowTest5 < FlowTestBase
|
|
|
19
19
|
#end
|
|
20
20
|
|
|
21
21
|
def test_sleep_0
|
|
22
|
+
#def xxxx_sleep_0
|
|
22
23
|
dotest(\
|
|
23
24
|
'''<process-definition name="sleep_0" revision="0">
|
|
24
25
|
<sequence>
|
|
@@ -29,6 +30,7 @@ class FlowTest5 < FlowTestBase
|
|
|
29
30
|
end
|
|
30
31
|
|
|
31
32
|
def test_sleep_1
|
|
33
|
+
#def xxxx_sleep_1
|
|
32
34
|
dotest(\
|
|
33
35
|
'''<process-definition name="sleep_1" revision="0">
|
|
34
36
|
<concurrence>
|
|
@@ -43,6 +45,7 @@ alpha""", 3)
|
|
|
43
45
|
end
|
|
44
46
|
|
|
45
47
|
def test_sleep_2
|
|
48
|
+
#def xxxx_sleep_2
|
|
46
49
|
dotest(\
|
|
47
50
|
'''<process-definition name="sleep_2" revision="0">
|
|
48
51
|
<sequence>
|
|
@@ -52,5 +55,27 @@ alpha""", 3)
|
|
|
52
55
|
</process-definition>''', """alpha""", 5)
|
|
53
56
|
end
|
|
54
57
|
|
|
58
|
+
def test_sleep_3
|
|
59
|
+
#def xxxx_sleep_3
|
|
60
|
+
dotest(\
|
|
61
|
+
'''<process-definition name="sleep_3" revision="0">
|
|
62
|
+
<sequence>
|
|
63
|
+
<sleep for="900" />
|
|
64
|
+
<print>alpha</print>
|
|
65
|
+
</sequence>
|
|
66
|
+
</process-definition>''', "alpha", 1.5)
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def test_sleep_4
|
|
70
|
+
#def xxxx_sleep_4
|
|
71
|
+
dotest(\
|
|
72
|
+
'''<process-definition name="sleep_4" revision="0">
|
|
73
|
+
<sequence>
|
|
74
|
+
<sleep for="1100" />
|
|
75
|
+
<print>alpha</print>
|
|
76
|
+
</sequence>
|
|
77
|
+
</process-definition>''', "", 1, true)
|
|
78
|
+
end
|
|
79
|
+
|
|
55
80
|
end
|
|
56
81
|
|
data/test/ft_6_lambda.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
#
|
|
3
|
-
# Testing
|
|
3
|
+
# Testing OpenWFE
|
|
4
4
|
#
|
|
5
5
|
# John Mettraux at openwfe.org
|
|
6
6
|
#
|
|
@@ -20,6 +20,7 @@ class FlowTest6 < FlowTestBase
|
|
|
20
20
|
#end
|
|
21
21
|
|
|
22
22
|
def test_lambda_0
|
|
23
|
+
#def xxxx_lambda_0
|
|
23
24
|
dotest(\
|
|
24
25
|
'''<process-definition name="lambda_0" revision="0">
|
|
25
26
|
<sequence>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
#
|
|
3
|
-
# Testing
|
|
3
|
+
# Testing OpenWFE
|
|
4
4
|
#
|
|
5
5
|
# John Mettraux at openwfe.org
|
|
6
6
|
#
|
|
@@ -18,15 +18,8 @@ class FlowTest7 < FlowTestBase
|
|
|
18
18
|
#def teardown
|
|
19
19
|
#end
|
|
20
20
|
|
|
21
|
-
def
|
|
22
|
-
|
|
23
|
-
"""<process-definition name='#{test_name}' revision='0'>
|
|
24
|
-
<print>#{test_name}</print>
|
|
25
|
-
</process-definition>""", "test_test_name")
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
#def test_lose_0
|
|
29
|
-
def xxxx_lose_0
|
|
21
|
+
def test_lose_0
|
|
22
|
+
#def xxxx_lose_0
|
|
30
23
|
dotest(\
|
|
31
24
|
'<process-definition name="'+test_name+'''" revision="0">
|
|
32
25
|
<sequence>
|
|
@@ -39,7 +32,7 @@ class FlowTest7 < FlowTestBase
|
|
|
39
32
|
</sequence>
|
|
40
33
|
</lose>
|
|
41
34
|
<sequence>
|
|
42
|
-
<print>ok</print>
|
|
35
|
+
<print>ok 0</print>
|
|
43
36
|
</sequence>
|
|
44
37
|
</concurrence>
|
|
45
38
|
|
|
@@ -48,7 +41,7 @@ class FlowTest7 < FlowTestBase
|
|
|
48
41
|
<concurrence count="1">
|
|
49
42
|
<lose>
|
|
50
43
|
<sequence>
|
|
51
|
-
<print>ok
|
|
44
|
+
<print>ok 1</print>
|
|
52
45
|
<set variable="v0" value="true" />
|
|
53
46
|
</sequence>
|
|
54
47
|
</lose>
|
|
@@ -56,14 +49,14 @@ class FlowTest7 < FlowTestBase
|
|
|
56
49
|
<sleep for="252" />
|
|
57
50
|
<!-- 250 or less is bad : the default scheduler precision
|
|
58
51
|
is 1/4 of second -->
|
|
59
|
-
<print>ok</print>
|
|
52
|
+
<print>ok 2</print>
|
|
60
53
|
</sequence>
|
|
61
54
|
</concurrence>
|
|
62
55
|
|
|
63
56
|
<print>v0 : ${v0}</print>
|
|
64
57
|
<if>
|
|
65
|
-
<equals
|
|
66
|
-
<print>ok</print>
|
|
58
|
+
<equals variable-value="v0" other-value="true" />
|
|
59
|
+
<print>ok 3</print>
|
|
67
60
|
</if>
|
|
68
61
|
|
|
69
62
|
<print>- - -</print>
|
|
@@ -71,52 +64,65 @@ class FlowTest7 < FlowTestBase
|
|
|
71
64
|
<concurrence count="1">
|
|
72
65
|
<lose>
|
|
73
66
|
<sequence>
|
|
74
|
-
|
|
75
|
-
<
|
|
67
|
+
<!--<sleep for="252" />-->
|
|
68
|
+
<sleep for="350" />
|
|
69
|
+
<!-- more than the 250 ms precision -->
|
|
70
|
+
<print>ok 4</print>
|
|
76
71
|
<set variable="v1" value="true" />
|
|
77
72
|
</sequence>
|
|
78
73
|
</lose>
|
|
79
74
|
<sequence>
|
|
80
|
-
<print>ok</print>
|
|
75
|
+
<print>ok 5</print>
|
|
81
76
|
</sequence>
|
|
82
77
|
</concurrence>
|
|
83
78
|
|
|
84
79
|
<print>v1 : ${v1}</print>
|
|
85
80
|
<if>
|
|
86
81
|
<equals field-value="v1" other-value="true" />
|
|
87
|
-
<print>ok</print>
|
|
82
|
+
<print>ok 6</print>
|
|
88
83
|
</if>
|
|
89
84
|
|
|
90
85
|
<print>done.</print>
|
|
91
86
|
|
|
92
87
|
</sequence>
|
|
93
|
-
</process-definition>''',
|
|
88
|
+
</process-definition>''',
|
|
89
|
+
"""ok 0
|
|
94
90
|
- - -
|
|
95
|
-
ok
|
|
96
|
-
ok
|
|
91
|
+
ok 1
|
|
92
|
+
ok 2
|
|
97
93
|
v0 : true
|
|
98
|
-
ok
|
|
94
|
+
ok 3
|
|
99
95
|
- - -
|
|
100
|
-
ok
|
|
96
|
+
ok 5
|
|
101
97
|
v1 :
|
|
102
|
-
done.""",
|
|
98
|
+
done.""",
|
|
99
|
+
3,
|
|
100
|
+
true)
|
|
103
101
|
end
|
|
104
102
|
|
|
105
103
|
def test_lose_1
|
|
106
104
|
#def xxxx_lose_1
|
|
107
105
|
dotest(\
|
|
108
106
|
'<process-definition name="'+test_name+'''" revision="0">
|
|
109
|
-
<
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
<
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
107
|
+
<sequence>
|
|
108
|
+
<concurrence
|
|
109
|
+
count="1"
|
|
110
|
+
>
|
|
111
|
+
<lose>
|
|
112
|
+
<sequence>
|
|
113
|
+
<sleep for="500" />
|
|
114
|
+
<print>a</print>
|
|
115
|
+
</sequence>
|
|
116
|
+
</lose>
|
|
117
|
+
<print>b</print>
|
|
118
|
+
</concurrence>
|
|
119
|
+
<print>c</print>
|
|
120
|
+
</sequence>
|
|
117
121
|
</process-definition>''',
|
|
118
|
-
|
|
119
|
-
|
|
122
|
+
"""b
|
|
123
|
+
c""",
|
|
124
|
+
0.1,
|
|
125
|
+
true)
|
|
120
126
|
end
|
|
121
127
|
|
|
122
128
|
end
|