Sha256: 0fd4ca05648eb29858e5607a8003af789acebcc2e77c348613ed2b33ed7186a9

Contents?: true

Size: 1.29 KB

Versions: 5

Compression:

Stored size: 1.29 KB

Contents

# vim: syntax=ruby
# From http://pastie.caboo.se/115692, linked from rickbradley

require 'autotest/redgreen'
require 'autotest/timestamp'

Autotest.send(:alias_method, :real_find_files, :find_files)
Autotest.send(:define_method, :find_files) do |*args| 
  real_find_files.reject do |k, v|
    if (ENV['AUTOTEST'] and !ENV['AUTOTEST'].empty?)
      !Regexp.new(ENV['AUTOTEST']).match(k)
    end
  end
end

module Autotest::Growl

  def self.growl title, msg, img, pri=0, sticky="" 
    system "growlnotify -n autotest --image #{img} -p #{pri} -m #{msg.inspect} #{title} #{sticky}" 
  end

  Autotest.add_hook :ran_command do |at|
    image_root = "~/.autotest_images" 
    results = [at.results].flatten.join("\n")
    output = results.slice(/(\d+)\stests,\s(\d+)\sassertions,\s(\d+)\sfailures,\s(\d+)\serrors/)
    if output
      if $~[3].to_i > 0 || $~[4].to_i > 0
        growl "FAIL", "#{output}", "#{image_root}/fail.png", 2
      else
        growl "Pass", "#{output}", "#{image_root}/pass.png" 
      end
    end

    output = results.slice(/(\d+)\sexamples,\s(\d+)\sfailures?(,\s+\d+\s+pending)?/)
    if output
      if $~[2].to_i > 0 || $~[4].to_i > 0
        growl "FAIL", "#{output}", "#{image_root}/fail.png", 2
      else
        growl "Pass", "#{output}", "#{image_root}/pass.png" 
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
puppet-0.24.9 ext/autotest/config
puppet-0.24.7 ext/autotest/config
puppet-0.24.6 ext/autotest/config
puppet-0.24.5 ext/autotest/config
puppet-0.24.8 ext/autotest/config