summaryrefslogtreecommitdiff
path: root/spec/tasks
diff options
context:
space:
mode:
authorJames Edwards-Jones <jedwardsjones@gitlab.com>2017-02-07 21:14:04 +0000
committerJames Edwards-Jones <jedwardsjones@gitlab.com>2017-02-07 22:19:16 +0000
commit62ae61ed96005c42d3de597a0c8b17f233e46f2e (patch)
tree8983ec78738136e38706be09ec0b33f78816b20e /spec/tasks
parent8abdabdb3ad9e4b87893f24042de077cd4a7d791 (diff)
downloadgitlab-ce-62ae61ed96005c42d3de597a0c8b17f233e46f2e.tar.gz
CI runs lint on shell scripts in lib/supportjej-lint-scripts-and-config
Diffstat (limited to 'spec/tasks')
-rw-r--r--spec/tasks/config_lint_spec.rb27
1 files changed, 27 insertions, 0 deletions
diff --git a/spec/tasks/config_lint_spec.rb b/spec/tasks/config_lint_spec.rb
new file mode 100644
index 00000000000..c32f9a740b7
--- /dev/null
+++ b/spec/tasks/config_lint_spec.rb
@@ -0,0 +1,27 @@
+require 'rake_helper'
+Rake.application.rake_require 'tasks/config_lint'
+
+describe ConfigLint do
+ let(:files){ ['lib/support/fake.sh'] }
+
+ it 'errors out if any bash scripts have errors' do
+ expect { ConfigLint.run(files){ system('exit 1') } }.to raise_error(SystemExit)
+ end
+
+ it 'passes if all scripts are fine' do
+ expect { ConfigLint.run(files){ system('exit 0') } }.not_to raise_error
+ end
+end
+
+describe 'config_lint rake task' do
+ before(:each) do
+ # Prevent `system` from actually being called
+ allow(Kernel).to receive(:system).and_return(true)
+ end
+
+ it 'runs lint on shell scripts' do
+ expect(Kernel).to receive(:system).with('bash', '-n', 'lib/support/init.d/gitlab')
+
+ run_rake_task('config_lint')
+ end
+end