-
Notifications
You must be signed in to change notification settings - Fork 1.1k
/
Copy pathspec_setup.rb
54 lines (49 loc) · 1.27 KB
/
spec_setup.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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
require "net/http" # stdlib
require "json" # stdlib
require "yaml" # 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)
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
Cabin::Channel.get.level = :error
spec_logger = Cabin::Channel.get("rspec")
spec_logger.subscribe(STDOUT)
spec_logger.level = :error
# 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