diff --git a/src/harness/compilerRunner.ts b/src/harness/compilerRunner.ts index fd49078d041..5a0317dee38 100644 --- a/src/harness/compilerRunner.ts +++ b/src/harness/compilerRunner.ts @@ -61,12 +61,6 @@ class CompilerBaselineRunner extends RunnerBase { var otherFiles: { unitName: string; content: string }[]; var harnessCompiler: Harness.Compiler.HarnessCompiler; - var declFileCompilationResult: { - declInputFiles: { unitName: string; content: string }[]; - declOtherFiles: { unitName: string; content: string }[]; - declResult: Harness.Compiler.CompilerResult; - }; - var createNewInstance = false; before(() => { @@ -143,7 +137,6 @@ class CompilerBaselineRunner extends RunnerBase { toBeCompiled = undefined; otherFiles = undefined; harnessCompiler = undefined; - declFileCompilationResult = undefined; }); function getByteOrderMarkText(file: Harness.Compiler.GeneratedFile): string { @@ -179,13 +172,6 @@ class CompilerBaselineRunner extends RunnerBase { } }); - // Compile .d.ts files - it('Correct compiler generated.d.ts for ' + fileName, () => { - declFileCompilationResult = harnessCompiler.compileDeclarationFiles(toBeCompiled, otherFiles, result, function (settings) { - harnessCompiler.setCompilerSettings(tcSettings); - }, options); - }); - it('Correct JS output for ' + fileName, () => { if (!ts.fileExtensionIs(lastUnit.name, '.d.ts') && this.emit) { @@ -223,6 +209,10 @@ class CompilerBaselineRunner extends RunnerBase { } } + var declFileCompilationResult = harnessCompiler.compileDeclarationFiles(toBeCompiled, otherFiles, result, function (settings) { + harnessCompiler.setCompilerSettings(tcSettings); + }, options); + if (declFileCompilationResult && declFileCompilationResult.declResult.errors.length) { jsCode += '\r\n\r\n//// [DtsFileErrors]\r\n'; jsCode += '\r\n\r\n'; diff --git a/src/harness/rwcRunner.ts b/src/harness/rwcRunner.ts index 8d22b1da1d8..085f66f1a3e 100644 --- a/src/harness/rwcRunner.ts +++ b/src/harness/rwcRunner.ts @@ -28,12 +28,6 @@ module RWC { var compilerOptions: ts.CompilerOptions; var baselineOpts: Harness.Baseline.BaselineOptions = { Subfolder: 'rwc' }; var baseName = /(.*)\/(.*).json/.exec(ts.normalizeSlashes(jsonPath))[2]; - // Compile .d.ts files - var declFileCompilationResult: { - declInputFiles: { unitName: string; content: string }[]; - declOtherFiles: { unitName: string; content: string }[]; - declResult: Harness.Compiler.CompilerResult; - }; after(() => { // Mocha holds onto the closure environment of the describe callback even after the test is done. @@ -44,7 +38,6 @@ module RWC { compilerOptions = undefined; baselineOpts = undefined; baseName = undefined; - declFileCompilationResult = undefined; }); it('can compile', () => { @@ -103,11 +96,6 @@ module RWC { } }); - // Baselines - it('Correct compiler generated.d.ts', () => { - declFileCompilationResult = Harness.Compiler.getCompiler().compileDeclarationFiles(inputFiles, otherFiles, compilerResult, /*settingscallback*/ undefined, compilerOptions); - }); - it('has the expected emitted code', () => { Harness.Baseline.runBaseline('has the expected emitted code', baseName + '.output.js', () => { @@ -152,9 +140,12 @@ module RWC { }, false, baselineOpts); }); - it('has no errors in generated declaration files', () => { + // Ideally, a generated declaration file will have no errors. But we allow generated + // declaration file errors as part of the baseline. + it('has the expected errors in generated declaration files', () => { if (compilerOptions.declaration && !compilerResult.errors.length) { - Harness.Baseline.runBaseline('has no errors in generated declaration files', baseName + '.dts.errors.txt', () => { + Harness.Baseline.runBaseline('has the expected errors in generated declaration files', baseName + '.dts.errors.txt', () => { + var declFileCompilationResult = Harness.Compiler.getCompiler().compileDeclarationFiles(inputFiles, otherFiles, compilerResult, /*settingscallback*/ undefined, compilerOptions); if (declFileCompilationResult.declResult.errors.length === 0) { return null; }