Implement CLI debug option
This commit is contained in:
@@ -112,6 +112,15 @@ module Producer::Core
|
||||
end
|
||||
end
|
||||
|
||||
context 'with debug option' do
|
||||
let(:options) { %w[-d] }
|
||||
|
||||
it 'assigns the given target to the env' do
|
||||
cli.parse_arguments!
|
||||
expect(cli.env).to be_debug
|
||||
end
|
||||
end
|
||||
|
||||
context 'with combined options' do
|
||||
let(:options) { %w[-vn]}
|
||||
|
||||
|
@@ -26,6 +26,10 @@ module Producer::Core
|
||||
expect(env.verbose).to be false
|
||||
end
|
||||
|
||||
it 'assigns debug as false' do
|
||||
expect(env.debug).to be false
|
||||
end
|
||||
|
||||
it 'assigns dry run as false' do
|
||||
expect(env.dry_run).to be false
|
||||
end
|
||||
@@ -168,6 +172,13 @@ module Producer::Core
|
||||
end
|
||||
end
|
||||
|
||||
describe '#debug?' do
|
||||
it 'returns true when debug is enabled' do
|
||||
env.debug = true
|
||||
expect(env).to be_debug
|
||||
end
|
||||
end
|
||||
|
||||
describe '#dry_run?' do
|
||||
it 'returns true when dry run is enabled' do
|
||||
env.dry_run = true
|
||||
|
@@ -23,14 +23,15 @@ module Producer
|
||||
end
|
||||
|
||||
describe '#format' do
|
||||
let(:message) { 'some exception' }
|
||||
let(:exception) { Exception.new(message) }
|
||||
|
||||
before { exception.set_backtrace %w[back trace] }
|
||||
def exception
|
||||
begin fail 'original exception' rescue fail 'some exception' end
|
||||
rescue
|
||||
$!.tap { |o| o.set_backtrace %w[back trace] }
|
||||
end
|
||||
|
||||
it 'formats the message' do
|
||||
expect(formatter.format exception)
|
||||
.to match /^Exception: some exception$/
|
||||
.to match /^RuntimeError: some exception$/
|
||||
end
|
||||
|
||||
it 'indents the backtrace' do
|
||||
@@ -43,6 +44,14 @@ module Producer
|
||||
it 'excludes producer code from the backtrace' do
|
||||
expect(formatter.format exception).not_to include 'producer-core'
|
||||
end
|
||||
|
||||
context 'when debug is enabled' do
|
||||
let(:debug) { true }
|
||||
|
||||
it 'does not exclude producer code from the backtrace' do
|
||||
expect(formatter.format exception).to include 'producer-core'
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user