blob: 8c1136dfa2a8f0894c879595a913422fc68a28eb (
plain)
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
|
require "spec_helper"
require "mixlib/shellout/helper"
require "logger"
# to use this helper you need to either:
# 1. use mixlib-log which has a trace level
# 2. monkeypatch a trace level into ruby's logger like this
# 3. override the __io_for_live_stream method
#
class Logger
module Severity; TRACE = -1; end
def trace(progname = nil, &block); add(TRACE, nil, progname, &block); end
def trace?; @level <= TRACE; end
end
describe Mixlib::ShellOut::Helper, ruby: ">= 2.3" do
class TestClass
include Mixlib::ShellOut::Helper
# this is a hash-like object
def __config
{}
end
# this is a train transport connection or nil
def __transport_connection
nil
end
# this is a logger-like object
def __log
Logger.new(IO::NULL)
end
end
let(:test_class) { TestClass.new }
it "works to run a trivial ruby command" do
expect(test_class.shell_out("ruby -e 'exit 0'")).to be_kind_of(Mixlib::ShellOut)
end
end
|