summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2017-01-26 18:15:52 +0000
committerDouwe Maan <douwe@gitlab.com>2017-01-26 18:15:52 +0000
commitd391f743841132375ccf9f9aaddb649ded83f584 (patch)
tree9522f1b5ed0d16f5e44946ca433189bf35afdb2c
parent5d8e9bd522721636f107a839dbe4194fc7dacace (diff)
parent050103f2093c914b70a61ee23fba86942b5b9cc2 (diff)
downloadgitlab-ce-d391f743841132375ccf9f9aaddb649ded83f584.tar.gz
Merge branch 'fix-trace-reader-encoding' into 'master'
Make sure TraceReader uses Encoding.default_external Closes #27052 See merge request !8801
-rw-r--r--lib/gitlab/ci/trace_reader.rb1
-rw-r--r--spec/lib/gitlab/ci/trace_reader_spec.rb16
2 files changed, 15 insertions, 2 deletions
diff --git a/lib/gitlab/ci/trace_reader.rb b/lib/gitlab/ci/trace_reader.rb
index 37e51536e8f..1d7ddeb3e0f 100644
--- a/lib/gitlab/ci/trace_reader.rb
+++ b/lib/gitlab/ci/trace_reader.rb
@@ -42,6 +42,7 @@ module Gitlab
end
chunks.join.lines.last(max_lines).join
+ .force_encoding(Encoding.default_external)
end
end
end
diff --git a/spec/lib/gitlab/ci/trace_reader_spec.rb b/spec/lib/gitlab/ci/trace_reader_spec.rb
index f06d78694d6..ff5551bf703 100644
--- a/spec/lib/gitlab/ci/trace_reader_spec.rb
+++ b/spec/lib/gitlab/ci/trace_reader_spec.rb
@@ -11,13 +11,25 @@ describe Gitlab::Ci::TraceReader do
last_lines = random_lines
expected = lines.last(last_lines).join
+ result = subject.read(last_lines: last_lines)
- expect(subject.read(last_lines: last_lines)).to eq(expected)
+ expect(result).to eq(expected)
+ expect(result.encoding).to eq(Encoding.default_external)
end
end
it 'returns everything if trying to get too many lines' do
- expect(build_subject.read(last_lines: lines.size * 2)).to eq(lines.join)
+ result = build_subject.read(last_lines: lines.size * 2)
+
+ expect(result).to eq(lines.join)
+ expect(result.encoding).to eq(Encoding.default_external)
+ end
+
+ it 'returns all contents if last_lines is not specified' do
+ result = build_subject.read
+
+ expect(result).to eq(lines.join)
+ expect(result.encoding).to eq(Encoding.default_external)
end
it 'raises an error if not passing an integer for last_lines' do