diff options
author | Steve Kemp <steve@steve.org.uk> | 2012-11-23 15:27:45 +0000 |
---|---|---|
committer | Steve Kemp <steve@steve.org.uk> | 2012-11-23 15:27:45 +0000 |
commit | cd1750251483f82cafdfb8e6a92242097b4929c4 (patch) | |
tree | 835a09f626e1a84bacd8075a224f65b585d35034 | |
parent | 25650d2b649b8994755502e90707a148567686ca (diff) |
Updated to allow the tests to be inverted via "must *not* run ..."
-rw-r--r-- | lib/custodian/testfactory.rb | 7 | ||||
-rwxr-xr-x | t/test-custodian-testfactory.rb | 13 |
2 files changed, 16 insertions, 4 deletions
diff --git a/lib/custodian/testfactory.rb b/lib/custodian/testfactory.rb index ac2904a..934d6a7 100644 --- a/lib/custodian/testfactory.rb +++ b/lib/custodian/testfactory.rb @@ -34,10 +34,9 @@ module Custodian # # If this is an obvious protocol test. # - if ( line =~ /must\s+run\s+(\S+)(\s+|\.|$)/ ) - test_type = $1.dup + if ( line =~ /must\s+(not\s+)?run\s+(\S+)(\s+|\.|$)/ ) + test_type = $2.dup test_type.chomp!( "." ) - c = @@subclasses[test_type] if c c.new( line ) @@ -45,7 +44,7 @@ module Custodian raise ArgumentError, "Bad test type: #{test_type}" end else - raise "Unknown line given - Failed to instantiate a suitable protocol-test." + raise "Unknown line given - Failed to instantiate a suitable protocol-test: '#{line}'" end end diff --git a/t/test-custodian-testfactory.rb b/t/test-custodian-testfactory.rb index 383b0f0..9aeb6e1 100755 --- a/t/test-custodian-testfactory.rb +++ b/t/test-custodian-testfactory.rb @@ -125,5 +125,18 @@ class TestTestFactory < Test::Unit::TestCase end + + # + # Test the creation of inverted tests. + # + def test_inverted_tests + + + assert_nothing_raised do + assert( Custodian::TestFactory.create( "example.com must not run rsync." ) ) + assert( Custodian::TestFactory.create( "ftp://example.com/ must not run rsync." ) ) + assert( Custodian::TestFactory.create( "ftp://example.com/ must not run rsync on 333." ) ) + end + end end |