diff --git a/app/coffee/CompileManager.coffee b/app/coffee/CompileManager.coffee index 5d2bebb..a47f0f8 100644 --- a/app/coffee/CompileManager.coffee +++ b/app/coffee/CompileManager.coffee @@ -44,7 +44,9 @@ module.exports = CompileManager = # set up environment variables for chktex env = {} - if request.check? + # only run chktex on LaTeX files (not knitr .Rtex files or any others) + isLaTeXFile = request.rootResourcePath?.match(/\.tex$/i) + if request.check? and isLaTeXFile env['CHKTEX_OPTIONS'] = '-nall -e9 -e10 -w15 -w16' if request.check is 'error' env['CHKTEX_EXIT_ON_ERROR'] = 1 diff --git a/test/unit/coffee/CompileManagerTests.coffee b/test/unit/coffee/CompileManagerTests.coffee index d2b6a10..5b07124 100644 --- a/test/unit/coffee/CompileManagerTests.coffee +++ b/test/unit/coffee/CompileManagerTests.coffee @@ -98,6 +98,41 @@ describe "CompileManager", -> .calledWith(@compileDir + "/" + @rootResourcePath) .should.equal true + describe "with a check option", -> + beforeEach -> + @request.check = "error" + @CompileManager.doCompile @request, @callback + + it "should run chktex", -> + @LatexRunner.runLatex + .calledWith("#{@project_id}-#{@user_id}", { + directory: @compileDir + mainFile: @rootResourcePath + compiler: @compiler + timeout: @timeout + image: @image + environment: {'CHKTEX_OPTIONS': '-nall -e9 -e10 -w15 -w16', 'CHKTEX_EXIT_ON_ERROR':1} + }) + .should.equal true + + describe "with a knitr file and check options", -> + beforeEach -> + @request.rootResourcePath = "main.Rtex" + @request.check = "error" + @CompileManager.doCompile @request, @callback + + it "should not run chktex", -> + @LatexRunner.runLatex + .calledWith("#{@project_id}-#{@user_id}", { + directory: @compileDir + mainFile: "main.Rtex" + compiler: @compiler + timeout: @timeout + image: @image + environment: @env + }) + .should.equal true + describe "clearProject", -> describe "succesfully", -> beforeEach ->