summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/gitlab/popen.rb3
-rw-r--r--spec/lib/gitlab/popen_spec.rb9
2 files changed, 11 insertions, 1 deletions
diff --git a/lib/gitlab/popen.rb b/lib/gitlab/popen.rb
index d10269f4438..f9559012c4a 100644
--- a/lib/gitlab/popen.rb
+++ b/lib/gitlab/popen.rb
@@ -3,11 +3,12 @@ require 'open3'
module Gitlab
module Popen
- def popen(cmd, path)
+ def popen(cmd, path=nil)
unless cmd.is_a?(Array)
raise "System commands must be given as an array of strings"
end
+ path ||= Dir.pwd
vars = { "PWD" => path }
options = { chdir: path }
diff --git a/spec/lib/gitlab/popen_spec.rb b/spec/lib/gitlab/popen_spec.rb
index a4a0846b7b9..76d506eb3c0 100644
--- a/spec/lib/gitlab/popen_spec.rb
+++ b/spec/lib/gitlab/popen_spec.rb
@@ -32,5 +32,14 @@ describe 'Gitlab::Popen', no_db: true do
end
end
+ context 'without a directory argument' do
+ before do
+ @output, @status = @klass.new.popen(%W(ls))
+ end
+
+ it { @status.should be_zero }
+ it { @output.should include('spec') }
+ end
+
end