weel 1.99.112 → 1.99.113
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.
- 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
|