Permalink
Fetching contributors…
Cannot retrieve contributors at this time
93 lines (63 sloc) 1.71 KB
#
# testing ruote
#
# Thu Jan 6 21:49:01 JST 2011
#
require File.expand_path('../base', __FILE__)
#require 'ruote/participant'
class FtEngineOnTerminateTest < Test::Unit::TestCase
include FunctionalBase
def test_no_on_terminate
assert_nil @dashboard.on_terminate
end
def test_on_terminate
@dashboard.on_terminate = 'supervisor'
assert_equal(
[ 'define', {}, [ [ 'supervisor', {}, [] ] ] ],
@dashboard.on_terminate)
end
def test_on_terminate_tree
@dashboard.on_terminate = Ruote.define do
echo '${__terminate__.wfid} terminated'
end
#@dashboard.noisy = true
wfid = @dashboard.launch(Ruote.define do
echo 'main'
end)
@dashboard.wait_for(8)
assert_equal [ 'main', "#{wfid} terminated" ], @tracer.to_a
end
# on_terminate processes are not triggered for on_error processes.
#
def test_no_on_terminate_when_on_error
@dashboard.on_error = Ruote.define do
echo 'on_error'
end
@dashboard.on_terminate = Ruote.define do
echo 'on_terminate'
end
#@dashboard.noisy = true
wfid = @dashboard.launch(Ruote.define do
echo 'main'
error 'in main'
end)
@dashboard.wait_for(9)
assert_equal [ 'main', 'on_error' ], @tracer.to_a
end
# on_error processes are triggered for on_terminate processes as well.
#
def test_on_error_when_on_terminate
@dashboard.on_error = Ruote.define do
echo 'on_error'
end
@dashboard.on_terminate = Ruote.define do
error 'in on_terminate'
end
#@dashboard.noisy = true
wfid = @dashboard.launch(Ruote.define do
echo 'main'
end)
@dashboard.wait_for(11)
assert_equal [ 'main', 'on_error' ], @tracer.to_a
end
end