diff --git a/services/clsi/app/js/OutputFileFinder.js b/services/clsi/app/js/OutputFileFinder.js index 1f62a7568d..38fdc7945e 100644 --- a/services/clsi/app/js/OutputFileFinder.js +++ b/services/clsi/app/js/OutputFileFinder.js @@ -2,6 +2,7 @@ let OutputFileFinder const async = require('async') const fs = require('fs') const Path = require('path') +const _ = require('lodash') const { spawn } = require('child_process') const logger = require('logger-sharelatex') @@ -32,7 +33,8 @@ module.exports = OutputFileFinder = { }) }, - _getAllFiles(directory, _callback) { + _getAllFiles(directory, callback) { + callback = _.once(callback) // don't include clsi-specific files/directories in the output list const EXCLUDE_DIRS = [ '-name', diff --git a/services/clsi/test/unit/js/OutputFileFinderTests.js b/services/clsi/test/unit/js/OutputFileFinderTests.js index 4afa25e83e..8744c6e779 100644 --- a/services/clsi/test/unit/js/OutputFileFinderTests.js +++ b/services/clsi/test/unit/js/OutputFileFinderTests.js @@ -28,6 +28,9 @@ describe('OutputFileFinder', function () { fs: (this.fs = {}), child_process: { spawn: (this.spawn = sinon.stub()) }, 'logger-sharelatex': { log: sinon.stub(), warn: sinon.stub() } + }, + globals: { + Math // used by lodash } }) this.directory = '/test/dir'