ruote 0.9.18

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.
Files changed (291) hide show
  1. data/README.txt +24 -0
  2. data/bin/validate-workflow.rb +89 -0
  3. data/examples/about_state.rb +81 -0
  4. data/examples/bigflow.rb +19 -0
  5. data/examples/csv_weather.rb +23 -0
  6. data/examples/engine_template.rb +247 -0
  7. data/examples/flowtracing.rb +24 -0
  8. data/examples/homeworkreview.rb +68 -0
  9. data/examples/kotoba.rb +22 -0
  10. data/examples/mano_tracker.rb +172 -0
  11. data/examples/openwferu.rb +58 -0
  12. data/examples/quotereporter.rb +157 -0
  13. data/examples/scheduler_cron_usage.rb +48 -0
  14. data/examples/scheduler_usage.rb +56 -0
  15. data/lib/openwfe.rb +41 -0
  16. data/lib/openwfe/contextual.rb +111 -0
  17. data/lib/openwfe/def.rb +46 -0
  18. data/lib/openwfe/engine.rb +37 -0
  19. data/lib/openwfe/engine/engine.rb +756 -0
  20. data/lib/openwfe/engine/expool_methods.rb +172 -0
  21. data/lib/openwfe/engine/file_persisted_engine.rb +105 -0
  22. data/lib/openwfe/engine/participant_methods.rb +133 -0
  23. data/lib/openwfe/engine/status_methods.rb +353 -0
  24. data/lib/openwfe/engine/update_exp_methods.rb +112 -0
  25. data/lib/openwfe/exceptions.rb +51 -0
  26. data/lib/openwfe/expool/errorjournal.rb +476 -0
  27. data/lib/openwfe/expool/expressionpool.rb +1144 -0
  28. data/lib/openwfe/expool/expstorage.rb +403 -0
  29. data/lib/openwfe/expool/history.rb +174 -0
  30. data/lib/openwfe/expool/journal.rb +224 -0
  31. data/lib/openwfe/expool/journal_replay.rb +321 -0
  32. data/lib/openwfe/expool/parser.rb +242 -0
  33. data/lib/openwfe/expool/representation.rb +121 -0
  34. data/lib/openwfe/expool/threadedexpstorage.rb +188 -0
  35. data/lib/openwfe/expool/wfidgen.rb +388 -0
  36. data/lib/openwfe/expool/yamlexpstorage.rb +224 -0
  37. data/lib/openwfe/expressions/condition.rb +244 -0
  38. data/lib/openwfe/expressions/environment.rb +246 -0
  39. data/lib/openwfe/expressions/expressionmap.rb +258 -0
  40. data/lib/openwfe/expressions/fe_cancel.rb +109 -0
  41. data/lib/openwfe/expressions/fe_command.rb +241 -0
  42. data/lib/openwfe/expressions/fe_concurrence.rb +662 -0
  43. data/lib/openwfe/expressions/fe_cron.rb +259 -0
  44. data/lib/openwfe/expressions/fe_cursor.rb +259 -0
  45. data/lib/openwfe/expressions/fe_define.rb +192 -0
  46. data/lib/openwfe/expressions/fe_do.rb +168 -0
  47. data/lib/openwfe/expressions/fe_equals.rb +291 -0
  48. data/lib/openwfe/expressions/fe_filter.rb +129 -0
  49. data/lib/openwfe/expressions/fe_filter_definition.rb +168 -0
  50. data/lib/openwfe/expressions/fe_fqv.rb +250 -0
  51. data/lib/openwfe/expressions/fe_if.rb +303 -0
  52. data/lib/openwfe/expressions/fe_iterator.rb +145 -0
  53. data/lib/openwfe/expressions/fe_listen.rb +371 -0
  54. data/lib/openwfe/expressions/fe_losfor.rb +111 -0
  55. data/lib/openwfe/expressions/fe_misc.rb +421 -0
  56. data/lib/openwfe/expressions/fe_participant.rb +269 -0
  57. data/lib/openwfe/expressions/fe_reserve.rb +212 -0
  58. data/lib/openwfe/expressions/fe_save.rb +274 -0
  59. data/lib/openwfe/expressions/fe_sequence.rb +117 -0
  60. data/lib/openwfe/expressions/fe_set.rb +139 -0
  61. data/lib/openwfe/expressions/fe_sleep.rb +166 -0
  62. data/lib/openwfe/expressions/fe_step.rb +159 -0
  63. data/lib/openwfe/expressions/fe_subprocess.rb +168 -0
  64. data/lib/openwfe/expressions/fe_timeout.rb +127 -0
  65. data/lib/openwfe/expressions/fe_wait.rb +78 -0
  66. data/lib/openwfe/expressions/fe_when.rb +142 -0
  67. data/lib/openwfe/expressions/filter.rb +104 -0
  68. data/lib/openwfe/expressions/flowexpression.rb +847 -0
  69. data/lib/openwfe/expressions/iterator.rb +221 -0
  70. data/lib/openwfe/expressions/merge.rb +84 -0
  71. data/lib/openwfe/expressions/raw.rb +547 -0
  72. data/lib/openwfe/expressions/rprocdef.rb +375 -0
  73. data/lib/openwfe/expressions/time.rb +333 -0
  74. data/lib/openwfe/expressions/timeout.rb +178 -0
  75. data/lib/openwfe/expressions/value.rb +126 -0
  76. data/lib/openwfe/filterdef.rb +259 -0
  77. data/lib/openwfe/flowexpressionid.rb +357 -0
  78. data/lib/openwfe/listeners/listener.rb +97 -0
  79. data/lib/openwfe/listeners/listeners.rb +139 -0
  80. data/lib/openwfe/listeners/socketlisteners.rb +272 -0
  81. data/lib/openwfe/logging.rb +122 -0
  82. data/lib/openwfe/omixins.rb +95 -0
  83. data/lib/openwfe/orest/controlclient.rb +119 -0
  84. data/lib/openwfe/orest/definitions.rb +113 -0
  85. data/lib/openwfe/orest/exception.rb +60 -0
  86. data/lib/openwfe/orest/oldrestservlet.rb +279 -0
  87. data/lib/openwfe/orest/osocket.rb +148 -0
  88. data/lib/openwfe/orest/restclient.rb +176 -0
  89. data/lib/openwfe/orest/workitem.rb +206 -0
  90. data/lib/openwfe/orest/worklistclient.rb +272 -0
  91. data/lib/openwfe/orest/xmlcodec.rb +670 -0
  92. data/lib/openwfe/participants.rb +38 -0
  93. data/lib/openwfe/participants/enoparticipants.rb +230 -0
  94. data/lib/openwfe/participants/participant.rb +141 -0
  95. data/lib/openwfe/participants/participantmap.rb +249 -0
  96. data/lib/openwfe/participants/participants.rb +407 -0
  97. data/lib/openwfe/participants/soapparticipants.rb +135 -0
  98. data/lib/openwfe/participants/socketparticipants.rb +202 -0
  99. data/lib/openwfe/participants/storeparticipants.rb +254 -0
  100. data/lib/openwfe/rudefinitions.rb +130 -0
  101. data/lib/openwfe/service.rb +103 -0
  102. data/lib/openwfe/storage/yamlcustom.rb +106 -0
  103. data/lib/openwfe/storage/yamlfilestorage.rb +245 -0
  104. data/lib/openwfe/tools/flowtracer.rb +81 -0
  105. data/lib/openwfe/util/dollar.rb +217 -0
  106. data/lib/openwfe/util/irb.rb +86 -0
  107. data/lib/openwfe/util/observable.rb +144 -0
  108. data/lib/openwfe/util/ometa.rb +62 -0
  109. data/lib/openwfe/util/workqueue.rb +124 -0
  110. data/lib/openwfe/util/xml.rb +418 -0
  111. data/lib/openwfe/utils.rb +554 -0
  112. data/lib/openwfe/version.rb +37 -0
  113. data/lib/openwfe/workitem.rb +499 -0
  114. data/lib/openwfe/worklist/oldrest.rb +244 -0
  115. data/lib/openwfe/worklist/storelocks.rb +293 -0
  116. data/lib/openwfe/worklist/storeparticipant.rb +44 -0
  117. data/lib/openwfe/worklist/worklist.rb +297 -0
  118. data/test/README.txt +27 -0
  119. data/test/back_0916_test.rb +111 -0
  120. data/test/bm/bm_1_xml_vs_prog.rb +56 -0
  121. data/test/bm/bm_2_step.rb +109 -0
  122. data/test/bm/ft_0f_5ms.rb +35 -0
  123. data/test/bm/ft_26_load.rb +210 -0
  124. data/test/bm/ft_26b_load.rb +86 -0
  125. data/test/bm/ft_26c_load.rb +97 -0
  126. data/test/bm/ft_26d_load.rb +97 -0
  127. data/test/bm/ft_recu.rb +71 -0
  128. data/test/clone_test.rb +122 -0
  129. data/test/concurrence_test.rb +77 -0
  130. data/test/condition_test.rb +155 -0
  131. data/test/console_test.rb +12 -0
  132. data/test/cron_ltest.rb +15 -0
  133. data/test/description_test.rb +87 -0
  134. data/test/eno_test.rb +76 -0
  135. data/test/expmap_test.rb +54 -0
  136. data/test/expool_20031219_0916.tgz +0 -0
  137. data/test/fe_lookup_att_test.rb +62 -0
  138. data/test/fei_test.rb +181 -0
  139. data/test/file_persisted_engine_test.rb +64 -0
  140. data/test/file_persistence_test.rb +134 -0
  141. data/test/filep_cancel_test.rb +123 -0
  142. data/test/filter_test.rb +109 -0
  143. data/test/flowtestbase.rb +351 -0
  144. data/test/ft_0.rb +68 -0
  145. data/test/ft_0b_sequence.rb +36 -0
  146. data/test/ft_0c_testname.rb +33 -0
  147. data/test/ft_0d_participant.rb +30 -0
  148. data/test/ft_0e_multibody.rb +34 -0
  149. data/test/ft_10_loop.rb +134 -0
  150. data/test/ft_11_ppd.rb +415 -0
  151. data/test/ft_11b_ppd.rb +54 -0
  152. data/test/ft_12_blockparticipant.rb +97 -0
  153. data/test/ft_13_eno.rb +52 -0
  154. data/test/ft_14_subprocess.rb +88 -0
  155. data/test/ft_14b_subprocess.rb +192 -0
  156. data/test/ft_14c_subprocess.rb +68 -0
  157. data/test/ft_15_iterator.rb +216 -0
  158. data/test/ft_15b_iterator.rb +74 -0
  159. data/test/ft_16_fqv.rb +73 -0
  160. data/test/ft_17_condition.rb +84 -0
  161. data/test/ft_18_pname.rb +56 -0
  162. data/test/ft_1_unset.rb +175 -0
  163. data/test/ft_1b_unset.rb +39 -0
  164. data/test/ft_20_cron.rb +53 -0
  165. data/test/ft_21_cron.rb +87 -0
  166. data/test/ft_21b_cron_pause.rb +82 -0
  167. data/test/ft_22_history.rb +74 -0
  168. data/test/ft_23_when.rb +77 -0
  169. data/test/ft_23b_when.rb +70 -0
  170. data/test/ft_23c_wait.rb +80 -0
  171. data/test/ft_23d_cww.rb +58 -0
  172. data/test/ft_24_def.rb +44 -0
  173. data/test/ft_25_cancel.rb +89 -0
  174. data/test/ft_27_getflowpos.rb +147 -0
  175. data/test/ft_28_fileparticipant.rb +63 -0
  176. data/test/ft_29_httprb.rb +106 -0
  177. data/test/ft_2_concurrence.rb +135 -0
  178. data/test/ft_2b_concurrence.rb +188 -0
  179. data/test/ft_2c_concurrence.rb +64 -0
  180. data/test/ft_30_socketlistener.rb +203 -0
  181. data/test/ft_31_flowname.rb +40 -0
  182. data/test/ft_32_journal.rb +91 -0
  183. data/test/ft_32c_journal.rb +102 -0
  184. data/test/ft_32d_journal.rb +84 -0
  185. data/test/ft_33_description.rb +107 -0
  186. data/test/ft_34_cancelwfid.rb +80 -0
  187. data/test/ft_35_localdefs.rb +75 -0
  188. data/test/ft_36_subprocids.rb +97 -0
  189. data/test/ft_37_pnames.rb +70 -0
  190. data/test/ft_38_tag.rb +127 -0
  191. data/test/ft_38b_tag.rb +161 -0
  192. data/test/ft_38c_tag.rb +100 -0
  193. data/test/ft_39_reserve.rb +63 -0
  194. data/test/ft_39b_reserve.rb +84 -0
  195. data/test/ft_3_equals.rb +170 -0
  196. data/test/ft_3b_lookup_vf.rb +83 -0
  197. data/test/ft_40_defined.rb +61 -0
  198. data/test/ft_41_case.rb +110 -0
  199. data/test/ft_42_environments.rb +75 -0
  200. data/test/ft_43_pat10.rb +85 -0
  201. data/test/ft_44_save.rb +70 -0
  202. data/test/ft_44b_restore.rb +212 -0
  203. data/test/ft_45_citerator.rb +214 -0
  204. data/test/ft_46_pparams.rb +62 -0
  205. data/test/ft_47_filter.rb +160 -0
  206. data/test/ft_48_fe_filter.rb +88 -0
  207. data/test/ft_49_condition.rb +126 -0
  208. data/test/ft_4_misc.rb +237 -0
  209. data/test/ft_50_xml_attribute.rb +155 -0
  210. data/test/ft_51_stack.rb +55 -0
  211. data/test/ft_52_obs_participant.rb +123 -0
  212. data/test/ft_53_null_noop_participant.rb +62 -0
  213. data/test/ft_54_listen.rb +288 -0
  214. data/test/ft_54b_listen.rb +66 -0
  215. data/test/ft_54c_listen.rb +99 -0
  216. data/test/ft_55_ptimeout.rb +59 -0
  217. data/test/ft_56_timeout.rb +59 -0
  218. data/test/ft_57_a.rb +145 -0
  219. data/test/ft_58_ejournal.rb +151 -0
  220. data/test/ft_59_ps.rb +150 -0
  221. data/test/ft_59b_ps_for_pat.rb +58 -0
  222. data/test/ft_5_time.rb +118 -0
  223. data/test/ft_60_ecancel.rb +161 -0
  224. data/test/ft_61_elsub.rb +51 -0
  225. data/test/ft_62_procparticipant.rb +71 -0
  226. data/test/ft_63_pause.rb +124 -0
  227. data/test/ft_64_alias.rb +102 -0
  228. data/test/ft_64_clone.rb +69 -0
  229. data/test/ft_65_stringlaunch.rb +59 -0
  230. data/test/ft_66_subforget.rb +70 -0
  231. data/test/ft_67_schedlaunch.rb +116 -0
  232. data/test/ft_68_ifparticipant.rb +70 -0
  233. data/test/ft_69_cancelmissing.rb +51 -0
  234. data/test/ft_6_lambda.rb +64 -0
  235. data/test/ft_70_lookupvar.rb +55 -0
  236. data/test/ft_71_log.rb +60 -0
  237. data/test/ft_72_lookup_processes.rb +76 -0
  238. data/test/ft_73_cancel_sub.rb +139 -0
  239. data/test/ft_74_block_and_workitem_dup.rb +63 -0
  240. data/test/ft_75_ruby_attributes.rb +87 -0
  241. data/test/ft_76_merge_isolate.rb +88 -0
  242. data/test/ft_77_segments.rb +35 -0
  243. data/test/ft_78_eval.rb +150 -0
  244. data/test/ft_79_tticket.rb +187 -0
  245. data/test/ft_79b_tticket.rb +172 -0
  246. data/test/ft_79c_outcome.rb +56 -0
  247. data/test/ft_7_lose.rb +104 -0
  248. data/test/ft_7b_lose.rb +78 -0
  249. data/test/ft_80_spname.rb +91 -0
  250. data/test/ft_81_exp.rb +60 -0
  251. data/test/ft_82_trecu.rb +46 -0
  252. data/test/ft_83_badpause.rb +58 -0
  253. data/test/ft_84_updateexp.rb +198 -0
  254. data/test/ft_85_dolhash.rb +43 -0
  255. data/test/ft_86_dollar_fv.rb +68 -0
  256. data/test/ft_87_define.rb +74 -0
  257. data/test/ft_8_forget.rb +44 -0
  258. data/test/ft_9_cursor.rb +145 -0
  259. data/test/ft_9b_cursor.rb +105 -0
  260. data/test/ft_tests.rb +124 -0
  261. data/test/hash_test.rb +75 -0
  262. data/test/hparticipant_test.rb +164 -0
  263. data/test/lookup_att_test.rb +90 -0
  264. data/test/lookup_vf_test.rb +94 -0
  265. data/test/misc_test.rb +90 -0
  266. data/test/nut_0_irb.rb +20 -0
  267. data/test/obs_test.rb +142 -0
  268. data/test/orest_test.rb +251 -0
  269. data/test/param_test.rb +290 -0
  270. data/test/participant_test.rb +101 -0
  271. data/test/pending.rb +23 -0
  272. data/test/ps_representation.rb +133 -0
  273. data/test/rake_ltest.rb +38 -0
  274. data/test/rake_qtest.rb +68 -0
  275. data/test/raw_prog_test.rb +412 -0
  276. data/test/restart_cron_test.rb +136 -0
  277. data/test/restart_paused_test.rb +98 -0
  278. data/test/restart_sleep_test.rb +140 -0
  279. data/test/restart_tests.rb +18 -0
  280. data/test/restart_when_test.rb +112 -0
  281. data/test/ruby_procdef_test.rb +132 -0
  282. data/test/rutest_utils.rb +63 -0
  283. data/test/sec_test.rb +205 -0
  284. data/test/slock_test.rb +80 -0
  285. data/test/storage_test.rb +44 -0
  286. data/test/test.rb +3 -0
  287. data/test/timeout_test.rb +105 -0
  288. data/test/util_xml_test.rb +112 -0
  289. data/test/wfid_test.rb +175 -0
  290. data/test/wi_test.rb +75 -0
  291. metadata +433 -0
@@ -0,0 +1,56 @@
1
+
2
+ #
3
+ # Testing OpenWFEru
4
+ #
5
+ # John Mettraux at openwfe.org
6
+ #
7
+ # Fri May 9 13:43:26 JST 2008
8
+ #
9
+
10
+ require 'flowtestbase'
11
+
12
+
13
+ class FlowTest79c < Test::Unit::TestCase
14
+ include FlowTestBase
15
+
16
+ class Test0 < OpenWFE::ProcessDefinition
17
+
18
+ sequence do
19
+ step :a0, :outcomes => [ :a1, :a2 ], :default => :a2
20
+ _print "-"
21
+ step :a1, :outcomes => [ :a1, :a2 ], :default => :whatever
22
+ _print "-"
23
+ step :a2, :outcomes => [ :a1, :a2 ]
24
+ end
25
+
26
+ define "a0" do
27
+ sequence do
28
+ _print "a0"
29
+ #set :f => "outcome", :val => "a1"
30
+ set :f => "outcome", :val => "whatever"
31
+ end
32
+ end
33
+ define "a1" do
34
+ sequence do
35
+ _print "a1"
36
+ set :f => "outcome", :val => "a2"
37
+ end
38
+ end
39
+ define "a2" do
40
+ sequence do
41
+ _print "a2"
42
+ end
43
+ end
44
+ end
45
+
46
+ def test_0
47
+
48
+ #log_level_to_debug
49
+
50
+ #@engine.register_participant :alpha do |wi|
51
+ #end
52
+
53
+ dotest Test0, %w{ a0 a2 - a1 a2 - a2 }.join("\n")
54
+ end
55
+ end
56
+
data/test/ft_7_lose.rb ADDED
@@ -0,0 +1,104 @@
1
+
2
+ #
3
+ # Testing OpenWFE
4
+ #
5
+ # John Mettraux at openwfe.org
6
+ #
7
+ # Mon Dec 25 14:27:48 JST 2006
8
+ #
9
+
10
+ require 'rubygems'
11
+
12
+ require 'openwfe/def'
13
+ require 'flowtestbase'
14
+
15
+
16
+ class FlowTest7 < Test::Unit::TestCase
17
+ include FlowTestBase
18
+
19
+ #def setup
20
+ #end
21
+
22
+ #def teardown
23
+ #end
24
+
25
+ def test_lose_0
26
+ dotest(
27
+ '<process-definition name="'+name_of_test+'''" revision="0">
28
+ <sequence>
29
+
30
+ <concurrence count="1">
31
+ <lose>
32
+ <sequence>
33
+ <sleep for="2s" />
34
+ <print>I should not be printed</print>
35
+ </sequence>
36
+ </lose>
37
+ <sequence>
38
+ <print>ok 0</print>
39
+ </sequence>
40
+ </concurrence>
41
+
42
+ <print>- - -</print>
43
+
44
+ <concurrence count="1">
45
+ <lose>
46
+ <sequence>
47
+ <print>ok 1</print>
48
+ <set variable="v0" value="true" />
49
+ </sequence>
50
+ </lose>
51
+ <sequence>
52
+ <sleep for="400" />
53
+ <print>ok 2</print>
54
+ </sequence>
55
+ </concurrence>
56
+
57
+ <print>v0 : ${v0}</print>
58
+ <if>
59
+ <equals variable-value="v0" other-value="true" />
60
+ <print>ok 3</print>
61
+ </if>
62
+
63
+ <print>- - -</print>
64
+
65
+ <concurrence count="1">
66
+ <lose>
67
+ <sequence>
68
+ <sleep for="400" />
69
+ <!-- more than the 250 ms precision -->
70
+ <print>ok 4</print>
71
+ <set variable="v1" value="true" />
72
+ </sequence>
73
+ </lose>
74
+ <sequence>
75
+ <print>ok 5</print>
76
+ </sequence>
77
+ </concurrence>
78
+
79
+ <print>v1 : ${v1}</print>
80
+ <if>
81
+ <equals field-value="v1" other-value="true" />
82
+ <print>ok 6</print>
83
+ </if>
84
+
85
+ <print>done.</print>
86
+
87
+ </sequence>
88
+ </process-definition>''',
89
+ """ok 0
90
+ - - -
91
+ ok 1
92
+ ok 2
93
+ v0 : true
94
+ ok 3
95
+ - - -
96
+ ok 5
97
+ v1 :
98
+ done.""",
99
+ 3.000,
100
+ true)
101
+ end
102
+
103
+ end
104
+
@@ -0,0 +1,78 @@
1
+
2
+ #
3
+ # Testing OpenWFE
4
+ #
5
+ # John Mettraux at openwfe.org
6
+ #
7
+ # Mon Dec 25 14:27:48 JST 2006
8
+ #
9
+
10
+ require 'rubygems'
11
+
12
+ require 'openwfe/def'
13
+ require 'flowtestbase'
14
+
15
+
16
+ class FlowTest7b < Test::Unit::TestCase
17
+ include FlowTestBase
18
+
19
+ #def setup
20
+ #end
21
+
22
+ #def teardown
23
+ #end
24
+
25
+
26
+ def test_1
27
+
28
+ dotest(
29
+ '<process-definition name="'+name_of_test+'''" revision="0">
30
+ <sequence>
31
+ <concurrence
32
+ count="1"
33
+ >
34
+ <lose>
35
+ <sequence>
36
+ <sleep for="500" />
37
+ <print>a</print>
38
+ </sequence>
39
+ </lose>
40
+ <print>b</print>
41
+ </concurrence>
42
+ <print>c</print>
43
+ </sequence>
44
+ </process-definition>''',
45
+ "b\nc")
46
+ #true,
47
+ #true)
48
+ end
49
+
50
+
51
+ #
52
+ # TEST 2
53
+
54
+ class Test2 < OpenWFE::ProcessDefinition
55
+ sequence do
56
+ _print "before"
57
+ concurrence :count => 1 do
58
+ lose do
59
+ sequence do
60
+ _sleep :for => 350
61
+ _print "ok 4"
62
+ end
63
+ end
64
+ sequence do
65
+ _print "ok 5"
66
+ end
67
+ end
68
+ _print "after"
69
+ end
70
+ end
71
+
72
+ def test_2
73
+
74
+ dotest Test2, [ 'before', 'ok 5', 'after' ].join("\n")
75
+ end
76
+
77
+ end
78
+
@@ -0,0 +1,91 @@
1
+
2
+ #
3
+ # Testing OpenWFEru
4
+ #
5
+ # John Mettraux at openwfe.org
6
+ #
7
+ # Fri Jan 4 15:00:26 JST 2008
8
+ #
9
+ # Fighting bug #16791
10
+ # http://rubyforge.org/tracker/index.php?func=detail&aid=16791&group_id=2609&atid=10023
11
+ #
12
+
13
+ require 'flowtestbase'
14
+
15
+
16
+ class FlowTest80 < Test::Unit::TestCase
17
+ include FlowTestBase
18
+
19
+ #def setup
20
+ #end
21
+
22
+ #def teardown
23
+ #end
24
+
25
+ #
26
+ # Test 0
27
+ #
28
+
29
+ class Def0 < OpenWFE::ProcessDefinition
30
+ sequence do
31
+ subprocess :ref => "last_step"
32
+ last_step
33
+ end
34
+ process_definition :name => "last_step" do
35
+ _print "last_step"
36
+ end
37
+ end
38
+
39
+ def test_0
40
+ dotest Def0, ([ "last_step" ] * 2).join("\n")
41
+ end
42
+
43
+ TEST0B = %{
44
+ <process-definition name="def" revision="0b">
45
+ <sequence>
46
+ <subprocess ref="last_step" />
47
+ <last_step />
48
+ </sequence>
49
+ <process-definition name="last_step">
50
+ <print>last_step</print>
51
+ </process-definition>
52
+ </process-definition>
53
+ }.strip
54
+
55
+ def test_0b
56
+ dotest TEST0B, ([ "last_step" ] * 2).join("\n")
57
+ end
58
+
59
+ #
60
+ # Test 1
61
+ #
62
+ # Checking with participants
63
+ #
64
+
65
+ class Def1 < OpenWFE::ProcessDefinition
66
+ sequence do
67
+ mister_alpha
68
+ participant :ref => :mister_alpha
69
+ participant :ref => "mister_alpha"
70
+ #participant :ref => "mister-alpha"
71
+ mister_bravo
72
+ #participant :ref => :mister_bravo
73
+ #participant :ref => "mister_bravo"
74
+ participant :ref => "mister-bravo"
75
+ end
76
+ end
77
+
78
+ def test_1
79
+
80
+ @engine.register_participant :mister_alpha do
81
+ @tracer << "alpha\n"
82
+ end
83
+ @engine.register_participant "mister-bravo" do
84
+ @tracer << "bravo\n"
85
+ end
86
+
87
+ dotest Def1, ([ "alpha" ] * 3 + [ "bravo" ] * 2).join("\n")
88
+ end
89
+
90
+ end
91
+
data/test/ft_81_exp.rb ADDED
@@ -0,0 +1,60 @@
1
+
2
+ #
3
+ # Testing OpenWFEru
4
+ #
5
+ # John Mettraux at openwfe.org
6
+ #
7
+ # Sat Jan 5 22:57:53 JST 2008
8
+ #
9
+
10
+ require 'flowtestbase'
11
+
12
+
13
+ class FlowTest81 < Test::Unit::TestCase
14
+ include FlowTestBase
15
+
16
+ #def setup
17
+ #end
18
+
19
+ #def teardown
20
+ #end
21
+
22
+ #
23
+ # Test 0
24
+ #
25
+
26
+ class Def0 < OpenWFE::ProcessDefinition
27
+
28
+ sequence do
29
+
30
+ exp :name => "p0"
31
+ exp :name => "sub0"
32
+
33
+ exp :name => "sequence" do
34
+ p0
35
+ sub0
36
+ end
37
+
38
+ set :var => "a", :value => { "ref" => "p0" }
39
+ exp :name => "participant", :variable_attributes => "a"
40
+
41
+ exp :default => "p0"
42
+ exp :name => " ", :default => "p0"
43
+ end
44
+
45
+ process_definition :name => "sub0" do
46
+ _print "sub0"
47
+ end
48
+ end
49
+
50
+ def test_0
51
+
52
+ @engine.register_participant :p0 do
53
+ @tracer << "p0\n"
54
+ end
55
+
56
+ dotest Def0, %w{ p0 sub0 p0 sub0 p0 p0 p0 }.join("\n")
57
+ end
58
+
59
+ end
60
+
@@ -0,0 +1,46 @@
1
+
2
+ #
3
+ # Testing OpenWFEru
4
+ #
5
+ # John Mettraux at openwfe.org
6
+ #
7
+ # Sat Feb 16 19:07:42 JST 2008
8
+ #
9
+
10
+ require 'flowtestbase'
11
+
12
+
13
+ class FlowTest82 < Test::Unit::TestCase
14
+ include FlowTestBase
15
+
16
+ #def setup
17
+ #end
18
+
19
+ #def teardown
20
+ #end
21
+
22
+ #
23
+ # Test 0
24
+ #
25
+
26
+ class Test0 < OpenWFE::ProcessDefinition
27
+ sequence do
28
+ #_print "${r:fei.wfname}"
29
+ _print do
30
+ reval "$i += 1"
31
+ end
32
+ subprocess :ref => "Test", :unless => "${r:$i} == 3"
33
+ end
34
+ end
35
+
36
+ def test_0
37
+
38
+ log_level_to_debug
39
+
40
+ $i = 0
41
+
42
+ dotest Test0, "1\n2\n3"
43
+ end
44
+
45
+ end
46
+
@@ -0,0 +1,58 @@
1
+
2
+ #
3
+ # Testing OpenWFEru
4
+ #
5
+ # John Mettraux at openwfe.org
6
+ #
7
+ # Sat Feb 16 19:07:42 JST 2008
8
+ #
9
+
10
+ require 'flowtestbase'
11
+
12
+
13
+ class FlowTest83 < Test::Unit::TestCase
14
+ include FlowTestBase
15
+
16
+ #def setup
17
+ #end
18
+
19
+ #def teardown
20
+ #end
21
+
22
+ #
23
+ # Test 0
24
+ #
25
+
26
+ class Test0 < OpenWFE::ProcessDefinition
27
+ concurrence do
28
+ _loop do
29
+ alpha
30
+ end
31
+ _loop do
32
+ alpha
33
+ end
34
+ end
35
+ end
36
+
37
+ def test_0
38
+
39
+ @engine.register_participant :alpha do
40
+ sleep 0.002
41
+ end
42
+
43
+ fei = launch Test0
44
+
45
+ sleep 0.350
46
+
47
+ 1000.times do |i|
48
+ print "."
49
+ ps = @engine.process_status fei
50
+ assert ( ! ps.paused?)
51
+ #p ps.expressions.size
52
+ end
53
+
54
+ #dotest Test0, "1\n2\n3"
55
+ end
56
+
57
+ end
58
+