summaryrefslogtreecommitdiffstats
path: root/autotest/watcher.rb
diff options
context:
space:
mode:
Diffstat (limited to 'autotest/watcher.rb')
-rw-r--r--autotest/watcher.rb158
1 files changed, 79 insertions, 79 deletions
diff --git a/autotest/watcher.rb b/autotest/watcher.rb
index 99a7d1bb7..9f89a448c 100644
--- a/autotest/watcher.rb
+++ b/autotest/watcher.rb
@@ -2,137 +2,137 @@ ENV["WATCHR"] = "1"
ENV['AUTOTEST'] = 'true'
def run_comp(cmd)
- puts cmd
- results = []
- old_sync = $stdout.sync
- $stdout.sync = true
- line = []
- begin
- open("| #{cmd}", "r") do |f|
- until f.eof? do
- c = f.getc
- putc c
- line << c
- if c == ?\n
- results << if RUBY_VERSION >= "1.9" then
- line.join
- else
- line.pack "c*"
- end
- line.clear
- end
- end
+ puts cmd
+ results = []
+ old_sync = $stdout.sync
+ $stdout.sync = true
+ line = []
+ begin
+ open("| #{cmd}", "r") do |f|
+ until f.eof? do
+ c = f.getc
+ putc c
+ line << c
+ if c == ?\n
+ results << if RUBY_VERSION >= "1.9" then
+ line.join
+ else
+ line.pack "c*"
+ end
+ line.clear
end
- ensure
- $stdout.sync = old_sync
+ end
end
- results.join
+ ensure
+ $stdout.sync = old_sync
+ end
+ results.join
end
def clear
- #system("clear")
+ #system("clear")
end
def growl(message, status)
- # Strip the color codes
- message.gsub!(/\[\d+m/, '')
-
- growlnotify = `which growlnotify`.chomp
- return if growlnotify.empty?
- title = "Watchr Test Results"
- image = status == :pass ? "autotest/images/pass.png" : "autotest/images/fail.png"
- options = "-w -n Watchr --image '#{File.expand_path(image)}' -m '#{message}' '#{title}'"
- system %(#{growlnotify} #{options} &)
+ # Strip the color codes
+ message.gsub!(/\[\d+m/, '')
+
+ growlnotify = `which growlnotify`.chomp
+ return if growlnotify.empty?
+ title = "Watchr Test Results"
+ image = status == :pass ? "autotest/images/pass.png" : "autotest/images/fail.png"
+ options = "-w -n Watchr --image '#{File.expand_path(image)}' -m '#{message}' '#{title}'"
+ system %(#{growlnotify} #{options} &)
end
def file2specs(file)
- %w{spec/unit spec/integration}.collect { |d|
- file.sub('lib/puppet', d)
- }.find_all { |f|
- File.exist?(f)
- }
+ %w{spec/unit spec/integration}.collect { |d|
+ file.sub('lib/puppet', d)
+ }.find_all { |f|
+ File.exist?(f)
+ }
end
def file2test(file)
- result = file.sub('lib/puppet', 'test')
- return nil unless File.exist?(result)
- result
+ result = file.sub('lib/puppet', 'test')
+ return nil unless File.exist?(result)
+ result
end
def run_spec(command)
- clear
- result = run_comp(command).split("\n").last
- status = result.include?('0 failures') ? :pass : :fail
- growl result, status
+ clear
+ result = run_comp(command).split("\n").last
+ status = result.include?('0 failures') ? :pass : :fail
+ growl result, status
end
def run_test(command)
- clear
- result = run_comp(command).split("\n").last
- status = result.include?('0 failures, 0 errors') ? :pass : :fail
- growl result.split("\n").last rescue nil
+ clear
+ result = run_comp(command).split("\n").last
+ status = result.include?('0 failures, 0 errors') ? :pass : :fail
+ growl result.split("\n").last rescue nil
end
def run_test_file(file)
- run_test(%Q(#{file}))
+ run_test(%Q(#{file}))
end
def run_spec_files(files)
- files = Array(files)
- return if files.empty?
- opts = File.readlines('spec/spec.opts').collect { |l| l.chomp }.join(" ")
- run_spec("spec #{files.join(' ')}")
+ files = Array(files)
+ return if files.empty?
+ opts = File.readlines('spec/spec.opts').collect { |l| l.chomp }.join(" ")
+ run_spec("spec #{files.join(' ')}")
end
def run_all_tests
- run_test("rake unit")
+ run_test("rake unit")
end
def run_all_specs
- run_test("rake spec")
+ run_test("rake spec")
end
def run_suite
- run_all_tests
- run_all_specs
+ run_all_tests
+ run_all_specs
end
watch('spec/spec_helper.rb') { run_all_specs }
watch(%r{^spec/(unit|integration)/.*\.rb$}) { |md| run_spec_files(md[0]) }
watch(%r{^lib/puppet/(.*)\.rb$}) { |md|
- run_spec_files(file2specs(md[0]))
- if t = file2test(md[0])
- run_test_file(t)
- end
+ run_spec_files(file2specs(md[0]))
+ if t = file2test(md[0])
+ run_test_file(t)
+ end
}
watch(%r{^spec/lib/spec.*}) { |md| run_all_specs }
watch(%r{^spec/lib/monkey_patches/.*}) { |md| run_all_specs }
watch(%r{test/.+\.rb}) { |md|
- if md[0] =~ /\/lib\//
- run_all_tests
- else
- run_test_file(md[0])
- end
+ if md[0] =~ /\/lib\//
+ run_all_tests
+ else
+ run_test_file(md[0])
+ end
}
# Ctrl-\
Signal.trap 'QUIT' do
- puts " --- Running all tests ---\n\n"
- run_suite
+ puts " --- Running all tests ---\n\n"
+ run_suite
end
@interrupted = false
# Ctrl-C
Signal.trap 'INT' do
- if @interrupted
- @wants_to_quit = true
- abort("\n")
- else
- puts "Interrupt a second time to quit; wait for rerun of tests"
- @interrupted = true
- Kernel.sleep 1.5
- # raise Interrupt, nil # let the run loop catch it
- run_suite
- end
+ if @interrupted
+ @wants_to_quit = true
+ abort("\n")
+ else
+ puts "Interrupt a second time to quit; wait for rerun of tests"
+ @interrupted = true
+ Kernel.sleep 1.5
+ # raise Interrupt, nil # let the run loop catch it
+ run_suite
+ end
end