1
0
mirror of https://github.com/jordansissel/fpm synced 2025-02-22 01:41:13 +01:00
fpm/spec/spec_setup.rb
2024-12-19 13:34:08 -08:00

53 lines
1.2 KiB
Ruby

require "rubygems" # for ruby 1.8
require "insist" # gem "insist"
require "cabin" # gem "cabin"
require "tmpdir" # stdlib
require "tempfile" # stdlib
require "fileutils" # stdlib
require "date" # stdlib
# put "lib" in RUBYLIB
$: << File.join(File.dirname(File.dirname(__FILE__)), "lib")
# for method "program_exists?" etc
require "fpm/util"
include FPM::Util
Cabin::Channel.get.level = :error
spec_logger = Cabin::Channel.get("rspec")
spec_logger.subscribe(STDOUT)
spec_logger.level = :error
# Enable debug logs if requested.
if $DEBUG or ENV["DEBUG"]
Cabin::Channel.get.level = :debug
Cabin::Channel.get.subscribe(STDOUT)
else
class << Cabin::Channel.get
alias_method :subscribe_, :subscribe
def subscribe(io)
return if io == STDOUT
subscribe_(io)
#puts caller.join("\n")
end
end
end
# 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