Skip to content

Commit 5632efd

Browse files
committed
Refactoring of baselines
1 parent 1a4298f commit 5632efd

File tree

207 files changed

+88
-222
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

207 files changed

+88
-222
lines changed

src/testRunner/unittests/tsbuild/amdModulesWithOut.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ namespace ts {
1919
modifyFs,
2020
modifyAgainFs
2121
}: VerifyOutFileScenarioInput) {
22-
verifyTscSerializedIncrementalEdits({
22+
verifyTscIncrementalEdits({
2323
scenario: "amdModulesWithOut",
2424
subScenario,
2525
fs: () => outFileFs,
@@ -28,11 +28,11 @@ namespace ts {
2828
modifyFs,
2929
incrementalScenarios: [
3030
{
31-
buildKind: BuildKind.IncrementalDtsUnchanged,
31+
subScenario: "incremental-declaration-doesnt-change",
3232
modifyFs: fs => appendText(fs, "/src/lib/file1.ts", "console.log(x);")
3333
},
3434
...(modifyAgainFs ? [{
35-
buildKind: BuildKind.IncrementalHeadersChange,
35+
subScenario: "incremental-headers-change-without-dts-changes",
3636
modifyFs: modifyAgainFs
3737
}] : emptyArray),
3838
]

src/testRunner/unittests/tsbuild/configFileErrors.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ namespace ts {
99
});
1010

1111
describe("unittests:: tsbuild:: configFileErrors:: reports syntax errors in config file", () => {
12-
verifyTscSerializedIncrementalEdits({
12+
verifyTscIncrementalEdits({
1313
scenario: "configFileErrors",
1414
subScenario: "reports syntax errors in config file",
1515
fs: () => loadProjectFromFiles({
@@ -29,19 +29,16 @@ namespace ts {
2929
commandLineArgs: ["--b", "/src/tsconfig.json"],
3030
incrementalScenarios: [
3131
{
32-
buildKind: BuildKind.IncrementalDtsUnchanged,
3332
modifyFs: fs => replaceText(fs, "/src/tsconfig.json", ",", `,
3433
"declaration": true,`),
3534
subScenario: "reports syntax errors after change to config file"
3635
},
3736
{
38-
buildKind: BuildKind.IncrementalDtsUnchanged,
3937
modifyFs: fs => appendText(fs, "/src/a.ts", "export function fooBar() { }"),
4038
subScenario: "reports syntax errors after change to ts file"
4139
},
4240
noChangeRun,
4341
{
44-
buildKind: BuildKind.IncrementalDtsChange,
4542
modifyFs: fs => fs.writeFileSync(
4643
"/src/tsconfig.json",
4744
JSON.stringify({

src/testRunner/unittests/tsbuild/containerOnlyReferenced.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
namespace ts {
22
describe("unittests:: tsbuild:: when containerOnly project is referenced", () => {
3-
verifyTscSerializedIncrementalEdits({
3+
verifyTscIncrementalEdits({
44
scenario: "containerOnlyReferenced",
55
subScenario: "verify that subsequent builds after initial build doesnt build anything",
66
fs: () => loadProjectFromDisk("tests/projects/containerOnlyReferenced"),

src/testRunner/unittests/tsbuild/emitDeclarationOnly.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ namespace ts {
99
});
1010

1111
function verifyEmitDeclarationOnly(disableMap?: true) {
12-
verifyTscSerializedIncrementalEdits({
12+
verifyTscIncrementalEdits({
1313
subScenario: `only dts output in circular import project with emitDeclarationOnly${disableMap ? "" : " and declarationMap"}`,
1414
fs: () => projFs,
1515
scenario: "emitDeclarationOnly",
@@ -18,15 +18,15 @@ namespace ts {
1818
(fs => replaceText(fs, "/src/tsconfig.json", `"declarationMap": true,`, "")) :
1919
undefined,
2020
incrementalScenarios: [{
21-
buildKind: BuildKind.IncrementalDtsChange,
21+
subScenario: "incremental-declaration-changes",
2222
modifyFs: fs => replaceText(fs, "/src/src/a.ts", "b: B;", "b: B; foo: any;"),
2323
}],
2424
});
2525
}
2626
verifyEmitDeclarationOnly();
2727
verifyEmitDeclarationOnly(/*disableMap*/ true);
2828

29-
verifyTscSerializedIncrementalEdits({
29+
verifyTscIncrementalEdits({
3030
subScenario: `only dts output in non circular imports project with emitDeclarationOnly`,
3131
fs: () => projFs,
3232
scenario: "emitDeclarationOnly",
@@ -37,15 +37,14 @@ namespace ts {
3737
},
3838
incrementalScenarios: [
3939
{
40-
buildKind: BuildKind.IncrementalDtsUnchanged,
40+
subScenario: "incremental-declaration-doesnt-change",
4141
modifyFs: fs => replaceText(fs, "/src/src/a.ts", "export interface A {", `class C { }
4242
export interface A {`),
4343

4444
},
4545
{
46-
buildKind: BuildKind.IncrementalDtsChange,
46+
subScenario: "incremental-declaration-changes",
4747
modifyFs: fs => replaceText(fs, "/src/src/a.ts", "b: B;", "b: B; foo: any;"),
48-
4948
},
5049
],
5150
});

src/testRunner/unittests/tsbuild/helpers.ts

Lines changed: 10 additions & 104 deletions
Original file line numberDiff line numberDiff line change
@@ -499,16 +499,18 @@ interface Symbol {
499499
}
500500

501501
export interface TscIncremental {
502-
buildKind: BuildKind;
503502
modifyFs: (fs: vfs.FileSystem) => void;
504-
subScenario?: string;
503+
subScenario: string;
505504
commandLineArgs?: readonly string[];
506505
cleanBuildDiscrepancies?: () => ESMap<string, CleanBuildDescrepancy>;
507506
}
508507

509508
export interface VerifyTsBuildInput extends VerifyTsBuildInputWorker {
510509
baselineIncremental?: boolean;
511510
}
511+
export interface VerifyTsBuildInputWorker extends TscCompile {
512+
incrementalScenarios: TscIncremental[];
513+
}
512514

513515
export function verifyTscIncrementalEdits(input: VerifyTsBuildInput) {
514516
verifyTscIncrementalEditsWorker(input);
@@ -520,106 +522,10 @@ interface Symbol {
520522
});
521523
}
522524
}
523-
524-
export interface VerifyTsBuildInputWorker extends TscCompile {
525-
incrementalScenarios: TscIncremental[];
526-
}
527525
function verifyTscIncrementalEditsWorker({
528526
subScenario, fs, scenario, commandLineArgs,
529527
baselineSourceMap, modifyFs, baselineReadFileCalls, baselinePrograms,
530528
incrementalScenarios
531-
}: VerifyTsBuildInputWorker) {
532-
describe(`tsc ${commandLineArgs.join(" ")} ${scenario}:: ${subScenario}`, () => {
533-
let tick: () => void;
534-
let sys: TscCompileSystem;
535-
let baseFs: vfs.FileSystem;
536-
before(() => {
537-
({ fs: baseFs, tick } = getFsWithTime(fs()));
538-
sys = tscCompile({
539-
scenario,
540-
subScenario,
541-
fs: () => baseFs.makeReadonly(),
542-
commandLineArgs,
543-
modifyFs: fs => {
544-
if (modifyFs) modifyFs(fs);
545-
tick();
546-
},
547-
baselineSourceMap,
548-
baselineReadFileCalls,
549-
baselinePrograms
550-
});
551-
Debug.assert(!!incrementalScenarios.length, `${scenario}/${subScenario}:: No incremental scenarios, you probably want to use verifyTsc instead.`);
552-
});
553-
after(() => {
554-
baseFs = undefined!;
555-
sys = undefined!;
556-
tick = undefined!;
557-
});
558-
describe("initialBuild", () => {
559-
verifyTscBaseline(() => sys);
560-
});
561-
562-
incrementalScenarios.forEach(({
563-
buildKind,
564-
modifyFs: incrementalModifyFs,
565-
subScenario: incrementalSubScenario,
566-
commandLineArgs: incrementalCommandLineArgs,
567-
cleanBuildDiscrepancies,
568-
}, index) => {
569-
describe(incrementalSubScenario || buildKind, () => {
570-
let newSys: TscCompileSystem;
571-
before(() => {
572-
Debug.assert(buildKind !== BuildKind.Initial, "Incremental edit cannot be initial compilation");
573-
tick();
574-
newSys = tscCompile({
575-
scenario,
576-
subScenario: incrementalSubScenario || subScenario,
577-
buildKind,
578-
fs: () => sys.vfs,
579-
commandLineArgs: incrementalCommandLineArgs || commandLineArgs,
580-
modifyFs: fs => {
581-
tick();
582-
incrementalModifyFs(fs);
583-
tick();
584-
},
585-
baselineSourceMap,
586-
baselineReadFileCalls,
587-
baselinePrograms
588-
});
589-
});
590-
after(() => {
591-
newSys = undefined!;
592-
});
593-
verifyTscBaseline(() => newSys);
594-
verifyIncrementalCorrectness(() => ({
595-
scenario,
596-
baseFs,
597-
newSys,
598-
commandLineArgs: incrementalCommandLineArgs || commandLineArgs,
599-
cleanBuildDiscrepancies,
600-
incrementalModifyFs,
601-
modifyFs,
602-
tick
603-
}), index, incrementalSubScenario || subScenario);
604-
});
605-
});
606-
});
607-
}
608-
609-
export function verifyTscSerializedIncrementalEdits(input: VerifyTsBuildInput) {
610-
verifyTscSerializedIncrementalEditsWorker(input);
611-
if (input.baselineIncremental) {
612-
verifyTscSerializedIncrementalEditsWorker({
613-
...input,
614-
subScenario: `${input.subScenario} with incremental`,
615-
commandLineArgs: [...input.commandLineArgs, "--incremental"],
616-
});
617-
}
618-
}
619-
function verifyTscSerializedIncrementalEditsWorker({
620-
subScenario, fs, scenario, commandLineArgs,
621-
baselineSourceMap, modifyFs, baselineReadFileCalls, baselinePrograms,
622-
incrementalScenarios
623529
}: VerifyTsBuildInputWorker) {
624530
describe(`tsc ${commandLineArgs.join(" ")} ${scenario}:: ${subScenario} serializedEdits`, () => {
625531
Debug.assert(!!incrementalScenarios.length, `${scenario}/${subScenario}:: No incremental scenarios, you probably want to use verifyTsc instead.`);
@@ -628,6 +534,7 @@ interface Symbol {
628534
let baseFs: vfs.FileSystem;
629535
let incrementalSys: TscCompileSystem[];
630536
before(() => {
537+
Debug.assert(!!incrementalScenarios.length, `${scenario}/${subScenario}:: No incremental scenarios, you probably want to use verifyTsc instead.`);
631538
({ fs: baseFs, tick } = getFsWithTime(fs()));
632539
sys = tscCompile({
633540
scenario,
@@ -643,15 +550,14 @@ interface Symbol {
643550
baselinePrograms
644551
});
645552
incrementalScenarios.forEach((
646-
{ buildKind, modifyFs, subScenario: incrementalSubScenario, commandLineArgs: incrementalCommandLineArgs },
553+
{ modifyFs, subScenario: incrementalSubScenario, commandLineArgs: incrementalCommandLineArgs },
647554
index
648555
) => {
649-
Debug.assert(buildKind !== BuildKind.Initial, "Incremental edit cannot be initial compilation");
650556
tick();
651557
(incrementalSys || (incrementalSys = [])).push(tscCompile({
652558
scenario,
653559
subScenario: incrementalSubScenario || subScenario,
654-
buildKind,
560+
diffWithInitial: true,
655561
fs: () => index === 0 ? sys.vfs : incrementalSys[index - 1].vfs,
656562
commandLineArgs: incrementalCommandLineArgs || commandLineArgs,
657563
modifyFs: fs => {
@@ -680,15 +586,15 @@ interface Symbol {
680586
incrementalSys.forEach((sys, index) => {
681587
const incrementalScenario = incrementalScenarios[index];
682588
texts.push("");
683-
texts.push(`Change:: ${incrementalScenario.subScenario || incrementalScenario.buildKind}`);
589+
texts.push(`Change:: ${incrementalScenario.subScenario}`);
684590
texts.push(sys.baseLine().text);
685591
});
686592
return { file, text: texts.join("\r\n") };
687593
}
688594
}));
689595
});
690596
describe("incremental correctness", () => {
691-
incrementalScenarios.forEach(({ commandLineArgs: incrementalCommandLineArgs, subScenario, buildKind, cleanBuildDiscrepancies }, index) => verifyIncrementalCorrectness(() => ({
597+
incrementalScenarios.forEach(({ commandLineArgs: incrementalCommandLineArgs, subScenario, cleanBuildDiscrepancies }, index) => verifyIncrementalCorrectness(() => ({
692598
scenario,
693599
baseFs,
694600
newSys: incrementalSys[index],
@@ -701,7 +607,7 @@ interface Symbol {
701607
},
702608
modifyFs,
703609
tick
704-
}), index, subScenario || buildKind));
610+
}), index, subScenario));
705611
});
706612
});
707613
}

src/testRunner/unittests/tsbuild/inferredTypeFromTransitiveModule.ts

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,42 +8,42 @@ namespace ts {
88
projFs = undefined!;
99
});
1010

11-
verifyTscSerializedIncrementalEdits({
11+
verifyTscIncrementalEdits({
1212
scenario: "inferredTypeFromTransitiveModule",
1313
subScenario: "inferred type from transitive module",
1414
fs: () => projFs,
1515
commandLineArgs: ["--b", "/src", "--verbose"],
1616
incrementalScenarios: [
1717
{
18-
buildKind: BuildKind.IncrementalDtsChange,
18+
subScenario: "incremental-declaration-changes",
1919
modifyFs: changeBarParam,
2020
},
2121
{
22-
buildKind: BuildKind.IncrementalDtsChange,
22+
subScenario: "incremental-declaration-changes",
2323
modifyFs: changeBarParamBack,
2424
},
2525
],
2626
});
2727

28-
verifyTscSerializedIncrementalEdits({
28+
verifyTscIncrementalEdits({
2929
subScenario: "inferred type from transitive module with isolatedModules",
3030
fs: () => projFs,
3131
scenario: "inferredTypeFromTransitiveModule",
3232
commandLineArgs: ["--b", "/src", "--verbose"],
3333
modifyFs: changeToIsolatedModules,
3434
incrementalScenarios: [
3535
{
36-
buildKind: BuildKind.IncrementalDtsChange,
36+
subScenario: "incremental-declaration-changes",
3737
modifyFs: changeBarParam
3838
},
3939
{
40-
buildKind: BuildKind.IncrementalDtsChange,
40+
subScenario: "incremental-declaration-changes",
4141
modifyFs: changeBarParamBack,
4242
},
4343
]
4444
});
4545

46-
verifyTscSerializedIncrementalEdits({
46+
verifyTscIncrementalEdits({
4747
scenario: "inferredTypeFromTransitiveModule",
4848
subScenario: "reports errors in files affected by change in signature with isolatedModules",
4949
fs: () => projFs,
@@ -56,20 +56,19 @@ bar("hello");`);
5656
},
5757
incrementalScenarios: [
5858
{
59-
buildKind: BuildKind.IncrementalDtsChange,
59+
subScenario: "incremental-declaration-changes",
6060
modifyFs: changeBarParam
6161
},
6262
{
63-
buildKind: BuildKind.IncrementalDtsChange,
63+
subScenario: "incremental-declaration-changes",
6464
modifyFs: changeBarParamBack,
6565
},
6666
{
67-
buildKind: BuildKind.IncrementalDtsChange,
67+
subScenario: "incremental-declaration-changes",
6868
modifyFs: changeBarParam
6969
},
7070
{
7171
subScenario: "Fix Error",
72-
buildKind: BuildKind.IncrementalDtsChange,
7372
modifyFs: fs => replaceText(fs, "/src/lazyIndex.ts", `bar("hello")`, "bar()")
7473
},
7574
]

src/testRunner/unittests/tsbuild/javascriptProjectEmit.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ namespace ts {
8888
commandLineArgs: ["-b", "/src"]
8989
});
9090

91-
verifyTscSerializedIncrementalEdits({
91+
verifyTscIncrementalEdits({
9292
scenario: "javascriptProjectEmit",
9393
subScenario: `modifies outfile js projects and concatenates them correctly`,
9494
fs: () => loadProjectFromFiles({
@@ -177,7 +177,7 @@ namespace ts {
177177
}, symbolLibContent),
178178
commandLineArgs: ["-b", "/src"],
179179
incrementalScenarios: [{
180-
buildKind: BuildKind.IncrementalDtsUnchanged,
180+
subScenario: "incremental-declaration-doesnt-change",
181181
modifyFs: fs => replaceText(fs, "/src/sub-project/index.js", "null", "undefined")
182182
}]
183183
});

src/testRunner/unittests/tsbuild/lateBoundSymbol.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
namespace ts {
22
describe("unittests:: tsbuild:: lateBoundSymbol:: interface is merged and contains late bound member", () => {
3-
verifyTscSerializedIncrementalEdits({
3+
verifyTscIncrementalEdits({
44
subScenario: "interface is merged and contains late bound member",
55
fs: () => loadProjectFromDisk("tests/projects/lateBoundSymbol"),
66
scenario: "lateBoundSymbol",
77
commandLineArgs: ["--b", "/src/tsconfig.json", "--verbose"],
88
incrementalScenarios: [
99
{
10-
buildKind: BuildKind.IncrementalDtsUnchanged,
10+
subScenario: "incremental-declaration-doesnt-change",
1111
modifyFs: fs => replaceText(fs, "/src/src/main.ts", "const x = 10;", ""),
1212
},
1313
{
14-
buildKind: BuildKind.IncrementalDtsUnchanged,
14+
subScenario: "incremental-declaration-doesnt-change",
1515
modifyFs: fs => appendText(fs, "/src/src/main.ts", "const x = 10;"),
1616
},
1717
]

0 commit comments

Comments
 (0)