Don't return error if directory doesn't exist yet

This commit is contained in:
James Allen 2014-12-09 11:25:23 +00:00
parent 42af7c4e63
commit 1313b06fb7
2 changed files with 26 additions and 16 deletions

View file

@ -47,9 +47,8 @@ module.exports = OutputFileFinder =
proc.on "error", callback proc.on "error", callback
proc.on "close", (code) -> proc.on "close", (code) ->
if code != 0 if code != 0
error = new Error("find returned non-zero exit code: #{code}") logger.warn {directory, code}, "find returned error, directory likely doesn't exist"
return callback(error) return callback null, []
fileList = stdout.trim().split("\n") fileList = stdout.trim().split("\n")
fileList = fileList.map (file) -> fileList = fileList.map (file) ->
# Strip leading directory # Strip leading directory

View file

@ -11,7 +11,7 @@ describe "OutputFileFinder", ->
@OutputFileFinder = SandboxedModule.require modulePath, requires: @OutputFileFinder = SandboxedModule.require modulePath, requires:
"fs": @fs = {} "fs": @fs = {}
"child_process": spawn: @spawn = sinon.stub() "child_process": spawn: @spawn = sinon.stub()
"logger-sharelatex": { log: sinon.stub() } "logger-sharelatex": { log: sinon.stub(), warn: sinon.stub() }
@directory = "/test/dir" @directory = "/test/dir"
@callback = sinon.stub() @callback = sinon.stub()
@ -43,15 +43,26 @@ describe "OutputFileFinder", ->
@directory = "/base/dir" @directory = "/base/dir"
@OutputFileFinder._getAllFiles @directory, @callback @OutputFileFinder._getAllFiles @directory, @callback
@proc.stdout.emit( describe "successfully", ->
"data", beforeEach ->
["/base/dir/main.tex", "/base/dir/chapters/chapter1.tex"].join("\n") + "\n" @proc.stdout.emit(
) "data",
@proc.emit "close", 0 ["/base/dir/main.tex", "/base/dir/chapters/chapter1.tex"].join("\n") + "\n"
)
it "should call the callback with the relative file paths", -> @proc.emit "close", 0
@callback.calledWith(
null, it "should call the callback with the relative file paths", ->
["main.tex", "chapters/chapter1.tex"] @callback.calledWith(
).should.equal true null,
["main.tex", "chapters/chapter1.tex"]
).should.equal true
describe "when the directory doesn't exist", ->
beforeEach ->
@proc.emit "close", 1
it "should call the callback with a blank array", ->
@callback.calledWith(
null,
[]
).should.equal true