summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShinya Maeda <shinya@gitlab.com>2018-03-02 23:30:31 +0900
committerShinya Maeda <shinya@gitlab.com>2018-03-06 21:43:20 +0900
commit7bbd5f6e31036a9ab6305b14eedbad25c5501648 (patch)
tree2b8c992c83b2761339a63f01a2ab7562143000cc
parent481d0bc3db1c83fe50d6e1441d0d13aa227a757b (diff)
downloadgitlab-ce-7bbd5f6e31036a9ab6305b14eedbad25c5501648.tar.gz
Define Trace::ArchiveError to make it explit as an error
-rw-r--r--lib/gitlab/ci/trace.rb8
-rw-r--r--spec/lib/gitlab/ci/trace_spec.rb10
2 files changed, 9 insertions, 9 deletions
diff --git a/lib/gitlab/ci/trace.rb b/lib/gitlab/ci/trace.rb
index 256cd2c5e4a..c5356af2f02 100644
--- a/lib/gitlab/ci/trace.rb
+++ b/lib/gitlab/ci/trace.rb
@@ -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
diff --git a/spec/lib/gitlab/ci/trace_spec.rb b/spec/lib/gitlab/ci/trace_spec.rb
index 66520f6236c..1c73043cfbd 100644
--- a/spec/lib/gitlab/ci/trace_spec.rb
+++ b/spec/lib/gitlab/ci/trace_spec.rb
@@ -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