Define Trace::ArchiveError to make it explit as an error

This commit is contained in:
Shinya Maeda 2018-03-02 23:30:31 +09:00
parent 481d0bc3db
commit 7bbd5f6e31
2 changed files with 9 additions and 9 deletions

View File

@ -1,6 +1,8 @@
module Gitlab
module Ci
class Trace
ArchiveError = Class.new(StandardError)
attr_reader :job
delegate :old_trace, to: :job
@ -94,8 +96,8 @@ module Gitlab
end
def archive!
raise 'Already archived' if trace_artifact
raise 'Job is not finished yet' unless job.complete?
raise ArchiveError, 'Already archived' if trace_artifact
raise ArchiveError, 'Job is not finished yet' unless job.complete?
if current_path
File.open(current_path) do |stream|
@ -124,7 +126,7 @@ module Gitlab
temp_path = File.join(dir_path, "job.log")
FileUtils.touch(temp_path)
size = IO.copy_stream(src_stream, temp_path)
raise 'Not all saved' unless size == src_stream.size
raise ArchiveError, 'Failed to copy stream' unless size == src_stream.size
yield(temp_path)
end

View File

@ -463,11 +463,10 @@ describe Gitlab::Ci::Trace do
context 'when failed to create clone file' do
before do
allow_any_instance_of(described_class)
.to receive(:clone_file!).and_raise('Not all saved')
allow(IO).to receive(:copy_stream).and_return(0)
end
it_behaves_like 'source trace file stays intact', error: 'Not all saved'
it_behaves_like 'source trace file stays intact', error: Gitlab::Ci::Trace::ArchiveError
end
context 'when failed to create job artifact record' do
@ -494,11 +493,10 @@ describe Gitlab::Ci::Trace do
context 'when failed to create clone file' do
before do
allow_any_instance_of(described_class)
.to receive(:clone_file!).and_raise('Not all saved')
allow(IO).to receive(:copy_stream).and_return(0)
end
it_behaves_like 'source trace in database stays intact', error: 'Not all saved'
it_behaves_like 'source trace in database stays intact', error: Gitlab::Ci::Trace::ArchiveError
end
context 'when failed to create job artifact record' do