summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzegorz@gitlab.com>2017-07-22 05:19:02 +0000
committerGrzegorz Bizon <grzegorz@gitlab.com>2017-07-22 05:19:02 +0000
commitf6d2ac2bf14a136bc1d1714a519102b3a023331c (patch)
tree37c9f90909a8d5aa6f7863addf0b721ae56b2af9
parentb5c3666fcc5c74e6f8896dc6f994521e1e91c887 (diff)
parent000ddc96c5c9b58d898f6723bd122678d138e35d (diff)
downloadgitlab-ce-f6d2ac2bf14a136bc1d1714a519102b3a023331c.tar.gz
Merge branch '35368-fix-gcovr-regexp-matching' into 'master'
Fix the gcovr coverage regex by removing line separators before scanning Closes #35368 See merge request !13025
-rw-r--r--lib/gitlab/ci/trace/stream.rb1
-rw-r--r--spec/lib/gitlab/ci/trace/stream_spec.rb7
2 files changed, 8 insertions, 0 deletions
diff --git a/lib/gitlab/ci/trace/stream.rb b/lib/gitlab/ci/trace/stream.rb
index 5d6977106d6..aaba034474c 100644
--- a/lib/gitlab/ci/trace/stream.rb
+++ b/lib/gitlab/ci/trace/stream.rb
@@ -74,6 +74,7 @@ module Gitlab
match = ""
reverse_line do |line|
+ line.chomp!
matches = regex.scan(line)
next unless matches.is_a?(Array)
next if matches.empty?
diff --git a/spec/lib/gitlab/ci/trace/stream_spec.rb b/spec/lib/gitlab/ci/trace/stream_spec.rb
index 13f0338b6aa..3a132fb9989 100644
--- a/spec/lib/gitlab/ci/trace/stream_spec.rb
+++ b/spec/lib/gitlab/ci/trace/stream_spec.rb
@@ -300,5 +300,12 @@ describe Gitlab::Ci::Trace::Stream do
include_examples 'malicious regexp'
end
+
+ context 'multi-line data with rooted regexp' do
+ let(:data) { "\n65%\n" }
+ let(:regex) { '^(\d+)\%$' }
+
+ it { is_expected.to eq('65') }
+ end
end
end