From d027ed719dfdfabb687985ec6d4c6301953102cc Mon Sep 17 00:00:00 2001 From: Pascal Betz Date: Thu, 8 Sep 2016 15:30:16 +0200 Subject: [PATCH] Reformat Regexp Fix show template (missing tr) Separate exercise/verify --- app/helpers/sidekiq_helper.rb | 9 +++++++++ app/views/admin/background_jobs/show.html.haml | 7 ++++--- spec/helpers/sidekiq_helper_spec.rb | 5 +++++ 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/app/helpers/sidekiq_helper.rb b/app/helpers/sidekiq_helper.rb index 82ab26408df..37650ca642b 100644 --- a/app/helpers/sidekiq_helper.rb +++ b/app/helpers/sidekiq_helper.rb @@ -1,6 +1,15 @@ module SidekiqHelper SIDEKIQ_PS_REGEXP = /\A([^\s]+)\s+([^\s]+)\s+([^\s]+)\s+([^\s]+)\s+(.+)\s+(sidekiq.*\])\s+\z/ + SIDEKIQ_PS_REGEXP = /\A + (?\d+)\s+ + (?[\d\.,]+)\s+ + (?[\d\.,]+)\s+ + (?[DRSTWXZNLsl\+<]+)\s+ + (?.+)\s+ + (?sidekiq.*\])\s+ + \z/x + def parse_sidekiq_ps(line) match = line.match(SIDEKIQ_PS_REGEXP) if match diff --git a/app/views/admin/background_jobs/show.html.haml b/app/views/admin/background_jobs/show.html.haml index 058919635da..05855db963a 100644 --- a/app/views/admin/background_jobs/show.html.haml +++ b/app/views/admin/background_jobs/show.html.haml @@ -28,9 +28,10 @@ %th COMMAND %tbody - @sidekiq_processes.each do |process| - %td= gitlab_config.user - - parse_sidekiq_ps(process).each do |value| - %td= value + %tr + %td= gitlab_config.user + - parse_sidekiq_ps(process).each do |value| + %td= value .clearfix %p %i.fa.fa-exclamation-circle diff --git a/spec/helpers/sidekiq_helper_spec.rb b/spec/helpers/sidekiq_helper_spec.rb index 2eb1c816bc5..d60839b78ec 100644 --- a/spec/helpers/sidekiq_helper_spec.rb +++ b/spec/helpers/sidekiq_helper_spec.rb @@ -5,30 +5,35 @@ describe SidekiqHelper do it 'parses line with time' do line = '55137 10,0 2,1 S+ 2:30pm sidekiq 4.1.4 gitlab [0 of 25 busy] ' parts = helper.parse_sidekiq_ps(line) + expect(parts).to eq(['55137', '10,0', '2,1', 'S+', '2:30pm', 'sidekiq 4.1.4 gitlab [0 of 25 busy]']) end it 'parses line with date' do line = '55137 10,0 2,1 S+ Aug 4 sidekiq 4.1.4 gitlab [0 of 25 busy] ' parts = helper.parse_sidekiq_ps(line) + expect(parts).to eq(['55137', '10,0', '2,1', 'S+', 'Aug 4', 'sidekiq 4.1.4 gitlab [0 of 25 busy]']) end it 'parses line with two digit date' do line = '55137 10,0 2,1 S+ Aug 04 sidekiq 4.1.4 gitlab [0 of 25 busy] ' parts = helper.parse_sidekiq_ps(line) + expect(parts).to eq(['55137', '10,0', '2,1', 'S+', 'Aug 04', 'sidekiq 4.1.4 gitlab [0 of 25 busy]']) end it 'parses line with dot as float separator' do line = '55137 10.0 2.1 S+ 2:30pm sidekiq 4.1.4 gitlab [0 of 25 busy] ' parts = helper.parse_sidekiq_ps(line) + expect(parts).to eq(['55137', '10.0', '2.1', 'S+', '2:30pm', 'sidekiq 4.1.4 gitlab [0 of 25 busy]']) end it 'does fail gracefully on line not matching the format' do line = '55137 10.0 2.1 S+ 2:30pm something' parts = helper.parse_sidekiq_ps(line) + expect(parts).to eq(['?', '?', '?', '?', '?', '?']) end end