diff options
author | Steve Kemp <steve@steve.org.uk> | 2012-11-15 08:17:13 +0000 |
---|---|---|
committer | Steve Kemp <steve@steve.org.uk> | 2012-11-15 08:17:13 +0000 |
commit | d896e42306c5c7761a14a2d88b6d2ed04401b03c (patch) | |
tree | 6689009b26dc65f6a0f8604d1ae84613cc22cb3a /t | |
parent | 6c78bd44932582c29ca04f826c21e3ede81dd898 (diff) |
Throw an exception if we attempt to redefine a macro.
Diffstat (limited to 't')
-rwxr-xr-x | t/test-parser.rb | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/t/test-parser.rb b/t/test-parser.rb index c3e782f..f405433 100755 --- a/t/test-parser.rb +++ b/t/test-parser.rb @@ -57,7 +57,6 @@ class TestParser < Test::Unit::TestCase assert_nothing_raised do MonitorConfig.new("/dev/null" ) end - end @@ -171,6 +170,41 @@ class TestParser < Test::Unit::TestCase + # + # Redefinining a macro should cause an error + # + def test_duplicate_macro + + + # + # Create the parser. + # + parser = MonitorConfig.new("/dev/null" ) + + + # + # With nothing loaded we should have zero macros - so the + # count of our macros hash should be zero + # + macros = parser.macros + assert( macros.empty? ) + assert( macros.size() == 0 ) + + + # + # Define a macro twice. The first will work, the second will fail + # + assert_nothing_raised do + parser.define_macro( "FOO is kvm1.vm.bytemark.co.uk and kvm2.vm.bytemark.co.uk." ) + end + + assert_raise ArgumentError do + parser.define_macro( "FOO is kvm1.vm.bytemark.co.uk and kvm2.vm.bytemark.co.uk." ) + end + end + + + # # Test that we can define macros with only a single host. |