diff options
author | Douwe Maan <douwe@gitlab.com> | 2017-06-27 19:41:23 +0000 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2017-06-27 19:41:23 +0000 |
commit | dfad12ed0d1eaf4e61b63cced4a844b4b584e90f (patch) | |
tree | 2fa51b824c88caa6d20f180dbffc469d814a1b2b | |
parent | 585e6aa5b20b31b1de01f7c5aa9aea67d7a377f4 (diff) | |
parent | 758e020019860c611237e23a8898fa59c9bca5eb (diff) | |
download | gitlab-ce-dfad12ed0d1eaf4e61b63cced4a844b4b584e90f.tar.gz |
Merge branch 'backport-system-check-fix' into 'master'
Make the SimpleExecutor rescue exceptions in the executing Checks
See merge request !12487
-rw-r--r-- | lib/system_check/simple_executor.rb | 2 | ||||
-rw-r--r-- | spec/lib/system_check/simple_executor_spec.rb | 24 |
2 files changed, 26 insertions, 0 deletions
diff --git a/lib/system_check/simple_executor.rb b/lib/system_check/simple_executor.rb index dc2d4643a01..e5986612908 100644 --- a/lib/system_check/simple_executor.rb +++ b/lib/system_check/simple_executor.rb @@ -75,6 +75,8 @@ module SystemCheck check.show_error end + rescue StandardError => e + $stdout.puts "Exception: #{e.message}".color(:red) end private diff --git a/spec/lib/system_check/simple_executor_spec.rb b/spec/lib/system_check/simple_executor_spec.rb index a5c6170cd7d..795f11ee1f8 100644 --- a/spec/lib/system_check/simple_executor_spec.rb +++ b/spec/lib/system_check/simple_executor_spec.rb @@ -75,6 +75,24 @@ describe SystemCheck::SimpleExecutor, lib: true do end end + class BugousCheck < SystemCheck::BaseCheck + CustomError = Class.new(StandardError) + set_name 'my bugous check' + + def check? + raise CustomError, 'omg' + end + end + + before do + @rainbow = Rainbow.enabled + Rainbow.enabled = false + end + + after do + Rainbow.enabled = @rainbow + end + describe '#component' do it 'returns stored component name' do expect(subject.component).to eq('Test') @@ -219,5 +237,11 @@ describe SystemCheck::SimpleExecutor, lib: true do end end end + + context 'when there is an exception' do + it 'rescues the exception' do + expect{ subject.run_check(BugousCheck) }.not_to raise_exception + end + end end end |