diff options
| author | Steve Kemp <steve@steve.org.uk> | 2012-11-15 08:27:15 +0000 | 
|---|---|---|
| committer | Steve Kemp <steve@steve.org.uk> | 2012-11-15 08:27:15 +0000 | 
| commit | 265df51045f6aaaaa5f5456ce14ed63ea2f47010 (patch) | |
| tree | 59c8c05dafc7b698def7f51a1f72aa2c9c01bd76 | |
| parent | 077b06319d012f6d237c171d25f3b7300da6b383 (diff) | |
  Raise an exception on a bogus line - and test for that.
| -rwxr-xr-x | lib/custodian/parser.rb | 3 | ||||
| -rwxr-xr-x | t/test-parser.rb | 26 | 
2 files changed, 27 insertions, 2 deletions
| diff --git a/lib/custodian/parser.rb b/lib/custodian/parser.rb index 77d9c98..5556da0 100755 --- a/lib/custodian/parser.rb +++ b/lib/custodian/parser.rb @@ -439,8 +439,7 @@ class MonitorConfig        ret      else -      puts "Unknown line: '#{line}'" -      exit( 0 ) +      raise ArgumentError, "Unknown line: '#{line}'"      end    end diff --git a/t/test-parser.rb b/t/test-parser.rb index f405433..8de513b 100755 --- a/t/test-parser.rb +++ b/t/test-parser.rb @@ -510,6 +510,32 @@ class TestParser < Test::Unit::TestCase + +  # +  #  Test that an exception is raised on a malformed line. +  # +  def test_bogus + +    parser = MonitorConfig.new("/dev/null" ) + + +    assert_nothing_raised do +      parser.parse_line( "# This is a test" ) +      parser.parse_line( "foo must run ssh." ) +    end + +    assert_raise ArgumentError do +      parser.parse_line( "steve is bored." ) +    end + +    assert_raise ArgumentError do +      parser.parse_line( "steve.com must ." ) +    end + +  end + + +    #    # Test we can add tests which don't contain a trailing period.    # | 
