Sha256: 4cdc9553a34242cddd6376d35bdac32e61d1b746d6979614d3a06766e84c5dc9

Contents?: true

Size: 1.24 KB

Versions: 4

Compression:

Stored size: 1.24 KB

Contents

#!/usr/bin/env ruby
#
#  Created by Luke A. Kanies on 2007-03-05.
#  Copyright (c) 2007. All rights reserved.

require 'puppettest'

class PuppetTest::TestCase < Test::Unit::TestCase
	include PuppetTest
    def self.confine(hash)
        @confines ||= {}
        hash.each do |message, result|
            @confines[message] = result
        end
    end

    def self.runnable?
        @messages ||= []
        return false unless @messages.empty?
        return true unless defined? @confines
        @confines.find_all do |message, result|
            ! result
        end.each do |message, result|
            @messages << message
        end

        return @messages.empty?
    end

    def self.suite
        # Always skip this parent class.  It'd be nice if there were a
        # "supported" way to do this.
        if self == PuppetTest::TestCase
            suite = Test::Unit::TestSuite.new(name)
            return suite
        elsif self.runnable?
            return super
        else
            if defined? $console
                puts "Skipping %s: %s" % [name, @messages.join(", ")]
            end
            suite = Test::Unit::TestSuite.new(name)
            return suite
        end
    end
end

# $Id: testcase.rb 2267 2007-03-08 06:03:36Z luke $

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
puppet-0.22.4 test/lib/puppettest/testcase.rb
puppet-0.23.0 test/lib/puppettest/testcase.rb
puppet-0.23.2 test/lib/puppettest/testcase.rb
puppet-0.23.1 test/lib/puppettest/testcase.rb