From 556d1d13ad6ce056fb52d920e36c08192c7103c5 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sun, 16 Feb 2025 23:08:46 +0200 Subject: change foo[...] to foo(...) syntax for deps test deps --- test/lib/dslkeywords/dependency_test.rb | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) (limited to 'test') diff --git a/test/lib/dslkeywords/dependency_test.rb b/test/lib/dslkeywords/dependency_test.rb index 324a756..393552f 100644 --- a/test/lib/dslkeywords/dependency_test.rb +++ b/test/lib/dslkeywords/dependency_test.rb @@ -5,25 +5,38 @@ require_relative '../../../lib/dsl' class RCMDependencyTest < Minitest::Test def test_depends_on + foo = nil + bar = nil + baz = nil + configure_from_scratch do - notify 'foo' do - depends_on notify['bar'], notify['baz'] + foo = notify 'foo' do + depends_on notify 'bar', 'baz' :foo_message end - notify 'bar' + bar = notify 'bar' - notify 'baz' do - depends_on notify['bar'] + baz = notify 'baz' do + depends_on notify 'bar' :baz_message end end + + assert_equal 2, foo.depends_on.keys.length + assert foo.depends_on?("notify('bar')") + assert foo.depends_on?("notify('baz')") + + assert_equal 0, bar.depends_on.keys.length + + assert_equal 1, baz.depends_on.keys.length + assert baz.depends_on?("notify('bar')") end def test_depends_on_invalid_resource assert_raises(RCM::ResourceDependencies::NoSuchResourceType) do configure_from_scratch do - notify { depends_on invalid['baz'] } + notify { depends_on invalid('baz') } end end end -- cgit v1.2.3 From a246ade229a2a1578358eb25fe5855bc5cf22732 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sun, 16 Feb 2025 23:15:45 +0200 Subject: sugar --- test/lib/dslkeywords/dependency_test.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'test') diff --git a/test/lib/dslkeywords/dependency_test.rb b/test/lib/dslkeywords/dependency_test.rb index 393552f..4a71485 100644 --- a/test/lib/dslkeywords/dependency_test.rb +++ b/test/lib/dslkeywords/dependency_test.rb @@ -24,8 +24,7 @@ class RCMDependencyTest < Minitest::Test end assert_equal 2, foo.depends_on.keys.length - assert foo.depends_on?("notify('bar')") - assert foo.depends_on?("notify('baz')") + assert foo.depends_on?("notify('bar')", "notify('baz')") assert_equal 0, bar.depends_on.keys.length -- cgit v1.2.3 From d64135e44904500d65b029fb31216a52d507a7be Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sun, 16 Feb 2025 23:49:20 +0200 Subject: can find resource objs --- test/lib/dslkeywords/dependency_test.rb | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'test') diff --git a/test/lib/dslkeywords/dependency_test.rb b/test/lib/dslkeywords/dependency_test.rb index 4a71485..e9bc205 100644 --- a/test/lib/dslkeywords/dependency_test.rb +++ b/test/lib/dslkeywords/dependency_test.rb @@ -27,6 +27,7 @@ class RCMDependencyTest < Minitest::Test assert foo.depends_on?("notify('bar')", "notify('baz')") assert_equal 0, bar.depends_on.keys.length + refute bar.depends_on?('foo') assert_equal 1, baz.depends_on.keys.length assert baz.depends_on?("notify('bar')") @@ -39,4 +40,12 @@ class RCMDependencyTest < Minitest::Test end end end + + def test_depends_on_non_existant_dependency + assert_raises(RCM::Resource::NoSuchResourceObject) do + configure_from_scratch do + notify { depends_on notify('nonexistant') } + end + end + end end -- cgit v1.2.3 From ed8cf0c0c285abab24479b7af3bc73f2c7340822 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Mon, 17 Feb 2025 00:12:20 +0200 Subject: can detect dependency loop --- test/lib/dslkeywords/dependency_test.rb | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'test') diff --git a/test/lib/dslkeywords/dependency_test.rb b/test/lib/dslkeywords/dependency_test.rb index e9bc205..f1280eb 100644 --- a/test/lib/dslkeywords/dependency_test.rb +++ b/test/lib/dslkeywords/dependency_test.rb @@ -48,4 +48,21 @@ class RCMDependencyTest < Minitest::Test end end end + + def test_dependency_loop + assert_raises(RCM::DependencyEvaluator::DependencyLoop) do + configure_from_scratch do + notify('loop') { depends_on notify('loop') } + end + end + end + + def test_dependency_loop_indirect + assert_raises(RCM::DependencyEvaluator::DependencyLoop) do + configure_from_scratch do + notify('loop') { depends_on notify('pool') } + notify('pool') { depends_on notify('loop') } + end + end + end end -- cgit v1.2.3 From e13d1a0a7df840bd86e68f6b9604c764c54cc60f Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Mon, 17 Feb 2025 00:20:47 +0200 Subject: use a set --- test/lib/dslkeywords/dependency_test.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'test') diff --git a/test/lib/dslkeywords/dependency_test.rb b/test/lib/dslkeywords/dependency_test.rb index f1280eb..aeb2790 100644 --- a/test/lib/dslkeywords/dependency_test.rb +++ b/test/lib/dslkeywords/dependency_test.rb @@ -23,13 +23,13 @@ class RCMDependencyTest < Minitest::Test end end - assert_equal 2, foo.depends_on.keys.length + assert_equal 2, foo.depends_on.count assert foo.depends_on?("notify('bar')", "notify('baz')") - assert_equal 0, bar.depends_on.keys.length + assert_equal 0, bar.depends_on.count refute bar.depends_on?('foo') - assert_equal 1, baz.depends_on.keys.length + assert_equal 1, baz.depends_on.count assert baz.depends_on?("notify('bar')") end -- cgit v1.2.3