From 1f149ccfd7f8cf8c6ace3a2cf4ac3a2232a6c98a Mon Sep 17 00:00:00 2001 From: Sheetal Nandi Date: Mon, 9 Sep 2019 14:09:28 -0700 Subject: [PATCH] Use clean and written files to verify the tsbuild incremental compilation = clean build compilation --- .../unittests/tsbuild/amdModulesWithOut.ts | 8 --- .../unittests/tsbuild/emitDeclarationOnly.ts | 22 ------ src/testRunner/unittests/tsbuild/helpers.ts | 18 ++--- .../inferredTypeFromTransitiveModule.ts | 7 -- .../unittests/tsbuild/lateBoundSymbol.ts | 5 -- src/testRunner/unittests/tsbuild/outFile.ts | 1 - src/testRunner/unittests/tsbuild/sample.ts | 68 ------------------- 7 files changed, 7 insertions(+), 122 deletions(-) diff --git a/src/testRunner/unittests/tsbuild/amdModulesWithOut.ts b/src/testRunner/unittests/tsbuild/amdModulesWithOut.ts index e28f1ffc840..19413d89989 100644 --- a/src/testRunner/unittests/tsbuild/amdModulesWithOut.ts +++ b/src/testRunner/unittests/tsbuild/amdModulesWithOut.ts @@ -82,10 +82,6 @@ namespace ts { incrementalHeaderChangedBuild: modifyAgainFs ? { modifyFs: modifyAgainFs } : undefined, - outputFiles: [ - ...outputFiles[project.lib], - ...outputFiles[project.app] - ], baselineOnly: true }); } @@ -232,10 +228,6 @@ ${internal} export enum internalEnum { a, b, c }`); [Diagnostics.Building_project_0, sources[project.app][source.config]], ] }, - outputFiles: [ - ...libOutputFile, - ...outputFiles[project.app] - ], baselineOnly: true, verifyDiagnostics: true }); diff --git a/src/testRunner/unittests/tsbuild/emitDeclarationOnly.ts b/src/testRunner/unittests/tsbuild/emitDeclarationOnly.ts index 1999737a50f..73dc36c1a0a 100644 --- a/src/testRunner/unittests/tsbuild/emitDeclarationOnly.ts +++ b/src/testRunner/unittests/tsbuild/emitDeclarationOnly.ts @@ -18,19 +18,6 @@ namespace ts { proj: "emitDeclarationOnly", rootNames: ["/src"], lastProjectOutput: `/src/lib/index.d.ts`, - outputFiles: [ - "/src/lib/a.d.ts", - "/src/lib/b.d.ts", - "/src/lib/c.d.ts", - "/src/lib/index.d.ts", - "/src/tsconfig.tsbuildinfo", - ...(disableMap ? emptyArray : [ - "/src/lib/a.d.ts.map", - "/src/lib/b.d.ts.map", - "/src/lib/c.d.ts.map", - "/src/lib/index.d.ts.map" - ]) - ], initialBuild: { modifyFs: disableMap ? (fs => replaceText(fs, "/src/tsconfig.json", `"declarationMap": true,`, "")) : @@ -64,15 +51,6 @@ namespace ts { proj: "emitDeclarationOnly", rootNames: ["/src"], lastProjectOutput: `/src/lib/a.d.ts`, - outputFiles: [ - "/src/lib/a.d.ts", - "/src/lib/b.d.ts", - "/src/lib/c.d.ts", - "/src/tsconfig.tsbuildinfo", - "/src/lib/a.d.ts.map", - "/src/lib/b.d.ts.map", - "/src/lib/c.d.ts.map", - ], initialBuild: { modifyFs: fs => { fs.rimrafSync("/src/src/index.ts"); diff --git a/src/testRunner/unittests/tsbuild/helpers.ts b/src/testRunner/unittests/tsbuild/helpers.ts index 88a9d403454..5d656589b71 100644 --- a/src/testRunner/unittests/tsbuild/helpers.ts +++ b/src/testRunner/unittests/tsbuild/helpers.ts @@ -267,7 +267,7 @@ interface Symbol { if (baselineSourceMap) generateSourceMapBaselineFiles(fs, mapDefinedIterator(writtenFiles.keys(), f => f.endsWith(".map") ? f : undefined)); generateBuildInfoSectionBaselineFiles(fs, expectedBuildInfoFilesForSectionBaselines || emptyArray); fs.makeReadonly(); - return { fs, actualReadFileMap, host, builder }; + return { fs, actualReadFileMap, host, builder, writtenFiles }; } function generateBaseline(fs: vfs.FileSystem, proj: string, scenario: string, subScenario: string, baseFs: vfs.FileSystem) { @@ -314,7 +314,6 @@ Mismatch Actual(path, actual, expected): ${JSON.stringify(arrayFrom(mapDefinedIt expectedBuildInfoFilesForSectionBaselines?: ReadonlyArray; lastProjectOutput: string; initialBuild: BuildState; - outputFiles?: ReadonlyArray; incrementalDtsChangedBuild?: BuildState; incrementalDtsUnchangedBuild?: BuildState; incrementalHeaderChangedBuild?: BuildState; @@ -324,7 +323,7 @@ Mismatch Actual(path, actual, expected): ${JSON.stringify(arrayFrom(mapDefinedIt } export function verifyTsbuildOutput({ - scenario, projFs, time, tick, proj, rootNames, outputFiles, baselineOnly, verifyDiagnostics, + scenario, projFs, time, tick, proj, rootNames, baselineOnly, verifyDiagnostics, baselineSourceMap, expectedBuildInfoFilesForSectionBaselines, lastProjectOutput, initialBuild, incrementalDtsChangedBuild, incrementalDtsUnchangedBuild, incrementalHeaderChangedBuild }: VerifyTsBuildInput) { @@ -417,22 +416,19 @@ Mismatch Actual(path, actual, expected): ${JSON.stringify(arrayFrom(mapDefinedIt }); } it(`Verify emit output file text is same when built clean`, () => { - const expectedOutputFiles = Debug.assertDefined(outputFiles); - const { fs } = build({ + const { fs, writtenFiles } = build({ fs: newFs.shadow(), tick, rootNames, modifyFs: fs => { // Delete output files - for (const outputFile of expectedOutputFiles) { - if (fs.existsSync(outputFile)) { - fs.rimrafSync(outputFile); - } - } + const host = new fakes.SolutionBuilderHost(fs); + const builder = createSolutionBuilder(host, rootNames, { clean: true }); + builder.clean(); }, }); - for (const outputFile of expectedOutputFiles) { + for (const outputFile of arrayFrom(writtenFiles.keys())) { const expectedText = fs.existsSync(outputFile) ? fs.readFileSync(outputFile, "utf8") : undefined; const actualText = newFs.existsSync(outputFile) ? newFs.readFileSync(outputFile, "utf8") : undefined; assert.equal(actualText, expectedText, `File: ${outputFile}`); diff --git a/src/testRunner/unittests/tsbuild/inferredTypeFromTransitiveModule.ts b/src/testRunner/unittests/tsbuild/inferredTypeFromTransitiveModule.ts index 301f9894fde..81822df5652 100644 --- a/src/testRunner/unittests/tsbuild/inferredTypeFromTransitiveModule.ts +++ b/src/testRunner/unittests/tsbuild/inferredTypeFromTransitiveModule.ts @@ -17,13 +17,6 @@ namespace ts { proj: "inferredTypeFromTransitiveModule", rootNames: ["/src"], lastProjectOutput: `/src/obj/index.js`, - outputFiles: [ - "/src/obj/bar.js", "/src/obj/bar.d.ts", - "/src/obj/bundling.js", "/src/obj/bundling.d.ts", - "/src/obj/lazyIndex.js", "/src/obj/lazyIndex.d.ts", - "/src/obj/index.js", "/src/obj/index.d.ts", - "/src/obj/tsconfig.tsbuildinfo" - ], initialBuild: { modifyFs: noop, expectedDiagnostics: [ diff --git a/src/testRunner/unittests/tsbuild/lateBoundSymbol.ts b/src/testRunner/unittests/tsbuild/lateBoundSymbol.ts index 781dd6938b9..72c7c0b80e2 100644 --- a/src/testRunner/unittests/tsbuild/lateBoundSymbol.ts +++ b/src/testRunner/unittests/tsbuild/lateBoundSymbol.ts @@ -17,11 +17,6 @@ namespace ts { proj: "lateBoundSymbol", rootNames: ["/src/tsconfig.json"], lastProjectOutput: "/src/src/main.js", - outputFiles: [ - "/src/src/hkt.js", - "/src/src/main.js", - "/src/tsconfig.tsbuildinfo", - ], initialBuild: { modifyFs: noop, expectedDiagnostics: [ diff --git a/src/testRunner/unittests/tsbuild/outFile.ts b/src/testRunner/unittests/tsbuild/outFile.ts index f813f61542c..dfc6d4cc327 100644 --- a/src/testRunner/unittests/tsbuild/outFile.ts +++ b/src/testRunner/unittests/tsbuild/outFile.ts @@ -303,7 +303,6 @@ namespace ts { expectedDiagnostics: dtsUnchanged && dtsUnchanged.expectedDiagnostics, expectedReadFiles: dtsUnchanged && dtsUnchanged.expectedReadFiles } : undefined, - outputFiles: expectedOutputFiles, baselineOnly }); } diff --git a/src/testRunner/unittests/tsbuild/sample.ts b/src/testRunner/unittests/tsbuild/sample.ts index 8e921c97aee..7e3f12bc4e7 100644 --- a/src/testRunner/unittests/tsbuild/sample.ts +++ b/src/testRunner/unittests/tsbuild/sample.ts @@ -693,22 +693,6 @@ class someClass { }`), ], ) }, - outputFiles: [ - "/src/core/anotherModule.js", - "/src/core/anotherModule.d.ts", - "/src/core/anotherModule.d.ts.map", - "/src/core/index.js", - "/src/core/index.d.ts", - "/src/core/index.d.ts.map", - "/src/core/tsconfig.tsbuildinfo", - "/src/logic/index.js", - "/src/logic/index.js.map", - "/src/logic/index.d.ts", - "/src/logic/tsconfig.tsbuildinfo", - "/src/tests/index.js", - "/src/tests/index.d.ts", - "/src/tests/tsconfig.tsbuildinfo", - ] }); verifyTsbuildOutput({ @@ -757,22 +741,6 @@ class someClass { }`), ] ) }, - outputFiles: [ - "/src/core/anotherModule.js", - "/src/core/anotherModule.d.ts", - "/src/core/anotherModule.d.ts.map", - "/src/core/index.js", - "/src/core/index.d.ts", - "/src/core/index.d.ts.map", - "/src/core/tsconfig.tsbuildinfo", - "/src/logic/index.js", - "/src/logic/index.js.map", - "/src/logic/decls/index.d.ts", - "/src/logic/tsconfig.tsbuildinfo", - "/src/tests/index.js", - "/src/tests/index.d.ts", - "/src/tests/tsconfig.tsbuildinfo", - ], }); verifyTsbuildOutput({ @@ -814,22 +782,6 @@ class someClass { }`), ] ) }, - outputFiles: [ - "/src/core/anotherModule.js", - "/src/core/anotherModule.d.ts", - "/src/core/anotherModule.d.ts.map", - "/src/core/index.js", - "/src/core/index.d.ts", - "/src/core/index.d.ts.map", - "/src/core/tsconfig.tsbuildinfo", - "/src/logic/index.js", - "/src/logic/index.js.map", - "/src/logic/index.d.ts", - "/src/logic/ownFile.tsbuildinfo", - "/src/tests/index.js", - "/src/tests/index.d.ts", - "/src/tests/tsconfig.tsbuildinfo", - ] }); verifyTsbuildOutput({ @@ -861,13 +813,6 @@ class someClass { }`), [Diagnostics.Building_project_0, "/src/core/tsconfig.json"] ] }, - outputFiles: [ - "/src/core/anotherModule.js", - "/src/core/anotherModule.d.ts", - "/src/core/index.js", - "/src/core/index.d.ts", - "/src/core/tsconfig.tsbuildinfo", - ], baselineOnly: true, verifyDiagnostics: true }); @@ -910,13 +855,6 @@ class someClass { }`), [Diagnostics.Building_project_0, "/src/core/tsconfig.json"] ] }, - outputFiles: [ - "/src/core/anotherModule.js", - "/src/core/anotherModule.d.ts", - "/src/core/index.js", - "/src/core/index.d.ts", - "/src/core/tsconfig.tsbuildinfo", - ], baselineOnly: true, verifyDiagnostics: true }); @@ -950,11 +888,6 @@ class someClass { }`), [Diagnostics.Building_project_0, "/src/core/tsconfig.json"] ] }, - outputFiles: [ - "/src/core/anotherModule.js", - "/src/core/index.js", - "/src/core/tsconfig.tsbuildinfo", - ], baselineOnly: true, verifyDiagnostics: true }); @@ -1002,7 +935,6 @@ class someClass { }`), [Diagnostics.Building_project_0, "/src/tests/tsconfig.json"] ] }, - outputFiles: [], baselineOnly: true, verifyDiagnostics: true });