weel 1.99.112 → 1.99.113
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/weel.rb +3 -10
- data/test/basic/tc_wf_control.rb +20 -20
- data/test/basic/tc_wf_stop.rb +34 -0
- data/weel.gemspec +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ccdb4515278ad68f38a35abef85197ca3f0732131f93c2323fe3e8cb1123df39
|
4
|
+
data.tar.gz: c436c8bf90eca6a370d67a71c14ef094507b43802ce2bf6b10bb9d863034a814
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 055bc4890e45536bd725110f837b57f6fb810811ae9b17ce94c9f0f286ba73e3dc19bf6d6170455f3a687d3dac500e2dac6e5886922ba17e601034a562f808ff
|
7
|
+
data.tar.gz: 9e18656c48d1e8bb0d580e2eb0336161df469a38da3964eab0af0fa4d19593f85c40a20a55cd5a6299d113ccb4a1ef023531bf47d031f2ef5a0469ea8f23e13a
|
data/lib/weel.rb
CHANGED
@@ -322,7 +322,7 @@ class WEEL
|
|
322
322
|
|
323
323
|
def initialize(arguments,position=nil,continue=nil); end
|
324
324
|
|
325
|
-
def prepare(readonly, endpoints, parameters
|
325
|
+
def prepare(readonly, endpoints, parameters); parameters; end
|
326
326
|
def additional; {}; end
|
327
327
|
|
328
328
|
def activity_handle(passthrough, parameters); end
|
@@ -460,10 +460,9 @@ class WEEL
|
|
460
460
|
@__weel_connectionwrapper_args = []
|
461
461
|
@__weel_state = :ready
|
462
462
|
@__weel_status = Status.new(0,"undefined")
|
463
|
-
@__weel_replay = false
|
464
463
|
@__weel_sim = -1
|
465
464
|
end #}}}
|
466
|
-
attr_accessor :__weel_search_positions, :__weel_positions, :__weel_main, :__weel_data, :__weel_endpoints, :__weel_connectionwrapper, :__weel_connectionwrapper_args
|
465
|
+
attr_accessor :__weel_search_positions, :__weel_positions, :__weel_main, :__weel_data, :__weel_endpoints, :__weel_connectionwrapper, :__weel_connectionwrapper_args
|
467
466
|
attr_reader :__weel_state, :__weel_status
|
468
467
|
|
469
468
|
# DSL-Constructs for atomic calls to external services (calls) and pure context manipulations (manipulate).
|
@@ -885,7 +884,7 @@ class WEEL
|
|
885
884
|
connectionwrapper.manipulate(rs,prepare,'Activity ' + position.to_s)
|
886
885
|
end
|
887
886
|
end
|
888
|
-
params = connectionwrapper.prepare(rs,endpoint,parameters
|
887
|
+
params = connectionwrapper.prepare(rs,endpoint,parameters)
|
889
888
|
raise Signal::Stop unless connectionwrapper.vote_sync_before(params)
|
890
889
|
raise Signal::Skip if self.__weel_state == :stopping || self.__weel_state == :finishing
|
891
890
|
|
@@ -1101,7 +1100,6 @@ class WEEL
|
|
1101
1100
|
if newState == :stopping || newState == :finishing
|
1102
1101
|
@__weel_status.nudge!
|
1103
1102
|
__weel_recursive_continue(@__weel_main)
|
1104
|
-
__weel_replay = false
|
1105
1103
|
end
|
1106
1104
|
|
1107
1105
|
@__weel_connectionwrapper::inform_state_change @__weel_connectionwrapper_args, @__weel_state
|
@@ -1258,11 +1256,6 @@ public
|
|
1258
1256
|
end
|
1259
1257
|
end # }}}
|
1260
1258
|
|
1261
|
-
def replay
|
1262
|
-
@dslr.__weel_replay = true
|
1263
|
-
start
|
1264
|
-
end
|
1265
|
-
|
1266
1259
|
def sim # {{{
|
1267
1260
|
stat = @dslr.__weel_state
|
1268
1261
|
return nil unless stat == :ready || stat == :stopped
|
data/test/basic/tc_wf_control.rb
CHANGED
@@ -18,26 +18,26 @@ class TestWorkflowControl < Test::Unit::TestCase
|
|
18
18
|
assert(@wf.data[:x] == "begin_Handler_Dummy_Result_end", "Ending environment not correct, see result=#{@wf.data[:x].inspect}")
|
19
19
|
end
|
20
20
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
21
|
+
def test_stop
|
22
|
+
@wf.description do
|
23
|
+
call :a_test_1_1, :endpoint1
|
24
|
+
call :a_test_1_2, :endpoint1, parameters: { :call => Proc.new{ sleep 0.5 } }
|
25
|
+
call :a_test_1_3, :endpoint1
|
26
|
+
end
|
27
|
+
@wf.search WEEL::Position.new(:a_test_1_1, :at)
|
28
|
+
wf = @wf.start
|
29
|
+
sleep(0.2)
|
30
|
+
@wf.stop.join
|
31
|
+
wf.join
|
32
|
+
wf_assert("DONE a_test_1_1")
|
33
|
+
wf_assert("STOPPED a_test_1_2")
|
34
|
+
wf_assert("DONE a_test_1_2",false)
|
35
|
+
wf_assert("CALL a_test_1_2:")
|
36
|
+
assert(@wf.state == :stopped, "Stopped workflow has wrong state, #{@wf.state} instead of :stopped")
|
37
|
+
assert(@wf.positions.is_a?(Array), "@wf.positions has wrong type, should be an array, it is: #{@wf.positions.inspect}")
|
38
|
+
assert(@wf.positions[0].position == :a_test_1_2, "Stop-position has wrong value: #{@wf.positions[0].position} instead of :a_test_2_1")
|
39
|
+
assert(@wf.positions[0].detail == :at, "Stop-Position is not :at")
|
40
|
+
end
|
41
41
|
# def test_continue
|
42
42
|
# @wf.description do
|
43
43
|
# call :a_test_1_1, :endpoint1
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require File.expand_path(::File.dirname(__FILE__) + '/../TestWorkflow')
|
3
|
+
|
4
|
+
class TestWorkflowControl < Test::Unit::TestCase
|
5
|
+
include TestMixin
|
6
|
+
|
7
|
+
def test_stop
|
8
|
+
@wf.description do
|
9
|
+
call :a_test_1_1, :endpoint1
|
10
|
+
call :a_test_1_2, :endpoint1, parameters: { :call => Proc.new{ sleep 0.5 } }
|
11
|
+
call :a_test_1_3, :endpoint1
|
12
|
+
end
|
13
|
+
@wf.search WEEL::Position.new(:a_test_1_1, :at)
|
14
|
+
wf = @wf.start
|
15
|
+
sleep(0.2)
|
16
|
+
@wf.stop.join
|
17
|
+
wf.join
|
18
|
+
wf_assert("DONE a_test_1_1")
|
19
|
+
wf_assert("STOPPED a_test_1_2")
|
20
|
+
wf_assert("DONE a_test_1_2")
|
21
|
+
wf_assert("CALL a_test_1_2:")
|
22
|
+
assert(@wf.state == :stopped, "Stopped workflow has wrong state, #{@wf.state} instead of :stopped")
|
23
|
+
assert(@wf.positions.is_a?(Array), "@wf.positions has wrong type, should be an array, it is: #{@wf.positions.inspect}")
|
24
|
+
assert(@wf.positions[0].position == :a_test_1_2, "Stop-position has wrong value: #{@wf.positions[0].position} instead of :a_test_2_1")
|
25
|
+
assert(@wf.positions[0].detail == :after, "Stop-Position is not :at")
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_stops
|
29
|
+
1.upto 1000 do |i|
|
30
|
+
puts '.'
|
31
|
+
test_stop
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
data/weel.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: weel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.99.
|
4
|
+
version: 1.99.113
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Juergen eTM Mangler
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2024-03-01 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: test-unit
|
@@ -58,6 +58,7 @@ files:
|
|
58
58
|
- test/basic/tc_search.rb
|
59
59
|
- test/basic/tc_state.rb
|
60
60
|
- test/basic/tc_wf_control.rb
|
61
|
+
- test/basic/tc_wf_stop.rb
|
61
62
|
- test/complex/tc_generalsynchonizingmerge_loopsearch.rb
|
62
63
|
- test/complex/tc_parallel_stop.rb
|
63
64
|
- test/complexsearch/tc_search.rb
|
@@ -122,6 +123,7 @@ test_files:
|
|
122
123
|
- test/basic/tc_search.rb
|
123
124
|
- test/basic/tc_state.rb
|
124
125
|
- test/basic/tc_wf_control.rb
|
126
|
+
- test/basic/tc_wf_stop.rb
|
125
127
|
- test/complex/tc_generalsynchonizingmerge_loopsearch.rb
|
126
128
|
- test/complex/tc_parallel_stop.rb
|
127
129
|
- test/complexsearch/tc_search.rb
|