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