1
0
mirror of https://github.com/jordansissel/fpm synced 2025-09-03 04:50:48 +02:00
fpm/spec/spec_setup.rb
Jordan Sissel eed91f9dd5 Use program_exists? instead of program_in_path?
This additionally checks that the program exists and is executable if
the path given is either a path or a program name.
2014-02-09 22:25:38 -08:00

41 lines
974 B
Ruby

require "rubygems" # for ruby 1.8
require "insist" # gem "insist"
require "cabin" # gem "cabin"
require "tmpdir" # stdlib
require "tempfile" # stdlib
require "fileutils" # stdlib
# put "lib" in RUBYLIB
$: << File.join(File.dirname(File.dirname(__FILE__)), "lib")
# for method "program_exists?" etc
require "fpm/util"
include FPM::Util
# Enable debug logs if requested.
if $DEBUG or ENV["DEBUG"]
Cabin::Channel.get.level = :debug
Cabin::Channel.get.subscribe(STDOUT)
end
spec_logger = Cabin::Channel.get("rspec")
spec_logger.subscribe(STDOUT)
spec_logger.level = :warn
# Quiet the output of all system() calls
module Kernel
alias_method :orig_system, :system
def system(*args)
old_stdout = $stdout.clone
old_stderr = $stderr.clone
null = File.new("/dev/null", "w")
$stdout.reopen(null)
$stderr.reopen(null)
value = orig_system(*args)
$stdout.reopen(old_stdout)
$stderr.reopen(old_stderr)
null.close
return value
end
end