| CODENOTIFIER | HelpYou are not signed inSign in |
Project: OpenWFEru
Revision: 1650
Author: jmettraux
Date: 07 Apr 2008 23:41:35
Changes:added tests for cancelling processes with subprocesses
Files:| ... | ...@@ -34,4 +34,5 @@ | |
| 34 | 34 | require 'ft_14_subprocess' |
| 35 | 35 | require 'ft_14b_subprocess' |
| 36 | require 'ft_14c_subprocess' | |
| 36 | 37 | require 'ft_15_iterator' |
| 37 | 38 | require 'ft_15b_iterator' |
| ... | ...@@ -20,6 +20,6 @@ | |
| 20 | 20 | #end |
| 21 | 21 | |
| 22 | def test_subprocess_ref_0 | |
| 23 | dotest(\ | |
| 22 | def test_0 | |
| 23 | dotest( | |
| 24 | 24 | '''<process-definition name="subtest0" revision="0"> |
| 25 | 25 | |
| ... | ...@@ -33,6 +33,6 @@ | |
| 33 | 33 | end |
| 34 | 34 | |
| 35 | def test_subprocess_ref_1 | |
| 36 | dotest(\ | |
| 35 | def test_1 | |
| 36 | dotest( | |
| 37 | 37 | '''<process-definition name="subtest0" revision="0"> |
| 38 | 38 | |
| ... | ...@@ -46,10 +46,9 @@ | |
| 46 | 46 | </process-definition> |
| 47 | 47 | |
| 48 | </process-definition>''', '''ok | |
| 49 | ok''') | |
| 48 | </process-definition>''', "ok\nok") | |
| 50 | 49 | end |
| 51 | 50 | |
| 52 | def test_subprocess_ref_2 | |
| 53 | dotest(\ | |
| 51 | def test_2 | |
| 52 | dotest( | |
| 54 | 53 | '''<process-definition name="subtest0" revision="0"> |
| 55 | 54 | |
| ... | ...@@ -63,10 +62,9 @@ | |
| 63 | 62 | </process-definition> |
| 64 | 63 | |
| 65 | </process-definition>''', '''ok | |
| 66 | after''') | |
| 64 | </process-definition>''', "ok\nafter") | |
| 67 | 65 | end |
| 68 | 66 | |
| 69 | def test_subprocess_ref_3 | |
| 70 | dotest(\ | |
| 67 | def test_3 | |
| 68 | dotest( | |
| 71 | 69 | '''<process-definition name="subtest0" revision="0"> |
| 72 | 70 | |
| ... | ...@@ -84,6 +82,5 @@ | |
| 84 | 82 | </process-definition> |
| 85 | 83 | |
| 86 | </process-definition>''', '''ok : in | |
| 87 | after : out''') | |
| 84 | </process-definition>''', "ok : in\nafter : out") | |
| 88 | 85 | end |
| 89 | 86 |
| ... | ...@@ -8,4 +8,6 @@ | |
| 8 | 8 | # |
| 9 | 9 | |
| 10 | require 'rubygems' | |
| 11 | ||
| 10 | 12 | require 'openwfe/def' |
| 11 | 13 | require 'flowtestbase' |
| ... | ...@@ -25,6 +27,7 @@ | |
| 25 | 27 | # TEST 0 |
| 26 | 28 | |
| 27 | def test_subprocess_ref_0 | |
| 28 | dotest(\ | |
| 29 | def test_0 | |
| 30 | ||
| 31 | dotest( | |
| 29 | 32 | '''<process-definition name="subtest0" revision="0"> |
| 30 | 33 | |
| ... | ...@@ -38,6 +41,6 @@ | |
| 38 | 41 | </process-definition> |
| 39 | 42 | |
| 40 | </process-definition>''', '''ABC | |
| 41 | ABC''') | |
| 43 | </process-definition>''', | |
| 44 | "ABC\nABC") | |
| 42 | 45 | end |
| 43 | 46 | |
| ... | ...@@ -47,16 +50,15 @@ | |
| 47 | 50 | |
| 48 | 51 | class SubTest1 < OpenWFE::ProcessDefinition |
| 49 | def make | |
| 50 | 52 | |
| 51 | sub1 "toto", :a => "A" | |
| 53 | sub1 "toto", :a => "A" | |
| 52 | 54 | |
| 53 | process_definition :name => :sub1 do | |
| 54 | _print "${0} ${a}" | |
| 55 | end | |
| 55 | process_definition :name => :sub1 do | |
| 56 | _print "${0} ${a}" | |
| 56 | 57 | end |
| 57 | 58 | end |
| 58 | 59 | |
| 59 | def test_sub_1 | |
| 60 | dotest(SubTest1, "toto A") | |
| 60 | def test_1 | |
| 61 | ||
| 62 | dotest SubTest1, "toto A" | |
| 61 | 63 | end |
| 62 | 64 | |
| ... | ...@@ -65,7 +67,7 @@ | |
| 65 | 67 | # TEST 1b |
| 66 | 68 | |
| 67 | def test_subprocess_ref_1b | |
| 68 | #def xxxx_subprocess_ref_1b | |
| 69 | dotest(\ | |
| 69 | def test_1b | |
| 70 | ||
| 71 | dotest( | |
| 70 | 72 | '''<process-definition name="subtest0" revision="0"> |
| 71 | 73 | |
| ... | ...@@ -80,6 +82,5 @@ | |
| 80 | 82 | |
| 81 | 83 | </process-definition>''', |
| 82 | """zero A | |
| 83 | rei A""") | |
| 84 | "zero A\nrei A") | |
| 84 | 85 | end |
| 85 | 86 | |
| ... | ...@@ -104,7 +105,7 @@ | |
| 104 | 105 | end |
| 105 | 106 | |
| 106 | def test_sub_2 | |
| 107 | dotest(SubTest2, """a | |
| 108 | c d""") | |
| 107 | def test_2 | |
| 108 | ||
| 109 | dotest SubTest2, "a \nc d" | |
| 109 | 110 | end |
| 110 | 111 | |
| ... | ...@@ -122,9 +123,70 @@ | |
| 122 | 123 | end |
| 123 | 124 | |
| 124 | def test_sub_3 | |
| 125 | def test_3 | |
| 125 | 126 | |
| 126 | 127 | dotest SubTest3, "c d" |
| 127 | 128 | end |
| 128 | 129 | |
| 130 | # | |
| 131 | # TEST 4 | |
| 132 | ||
| 133 | class Test4 < OpenWFE::ProcessDefinition | |
| 134 | sub0 | |
| 135 | process_definition :name => "sub0" do | |
| 136 | toto | |
| 137 | end | |
| 138 | end | |
| 139 | ||
| 140 | def test_4 | |
| 141 | ||
| 142 | #log_level_to_debug | |
| 143 | ||
| 144 | @engine.register_participant "toto", OpenWFE::NullParticipant | |
| 145 | ||
| 146 | fei = @engine.launch Test4 | |
| 147 | ||
| 148 | sleep 0.350 | |
| 149 | ||
| 150 | #puts @engine.get_expression_storage | |
| 151 | assert_equal 8, @engine.get_expression_storage.size | |
| 152 | ||
| 153 | @engine.cancel_process fei | |
| 154 | ||
| 155 | sleep 0.350 | |
| 156 | ||
| 157 | assert_equal 1, @engine.get_expression_storage.size | |
| 158 | end | |
| 159 | ||
| 160 | # | |
| 161 | # TEST 5 | |
| 162 | ||
| 163 | class Test5 < OpenWFE::ProcessDefinition | |
| 164 | sub0 :forget => true | |
| 165 | process_definition :name => "sub0" do | |
| 166 | toto | |
| 167 | end | |
| 168 | end | |
| 169 | ||
| 170 | def test_5 | |
| 171 | ||
| 172 | #log_level_to_debug | |
| 173 | ||
| 174 | @engine.register_participant "toto", OpenWFE::NullParticipant | |
| 175 | ||
| 176 | fei = @engine.launch Test5 | |
| 177 | ||
| 178 | sleep 0.350 | |
| 179 | ||
| 180 | #puts @engine.get_expression_storage | |
| 181 | assert_equal 4, @engine.get_expression_storage.size | |
| 182 | ||
| 183 | @engine.cancel_process fei.wfid + ".0" | |
| 184 | # cancelling the remaining subprocess | |
| 185 | ||
| 186 | sleep 0.350 | |
| 187 | ||
| 188 | assert_equal 1, @engine.get_expression_storage.size | |
| 189 | end | |
| 190 | ||
| 129 | 191 | end |
| 130 | 192 |