Skip to content

Commit ca15f5b

Browse files
committed
Do not skip reference checking when the diff is empty
We still need to be able to delete the reference files when the results of tsc and dte are identical. Signed-off-by: Hana Joo <hanajoo@google.com>
1 parent e8030e2 commit ca15f5b

2 files changed

Lines changed: 18 additions & 13 deletions

File tree

src/harness/harnessIO.ts

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1063,7 +1063,12 @@ export namespace Compiler {
10631063
tsSources: readonly TestFile[],
10641064
prettyErrors: boolean | undefined,
10651065
reason: string | undefined,
1066+
expectNull?: boolean,
10661067
) {
1068+
if (expectNull) {
1069+
// eslint-disable-next-line no-null/no-null
1070+
return Baseline.runBaseline(type + "/" + baselinePath.replace(/\.tsx?/, `.d.ts.diff`), /*actual*/ null);
1071+
}
10671072
const Diff = require("diff");
10681073
const dteContent = declarationContent(dteDeclarationFiles, tsSources, dteDiagnostics, prettyErrors);
10691074
const tscContent = declarationContent(tscDeclarationFiles, tsSources, tscDiagnostics, prettyErrors);
@@ -1122,17 +1127,21 @@ export namespace Compiler {
11221127
errors: readonly ts.Diagnostic[],
11231128
tsSources: readonly TestFile[],
11241129
prettyErrors?: boolean,
1130+
expectNull?: boolean,
11251131
) {
1126-
let code = "";
1127-
code += "//// [" + header + "] ////\r\n\r\n";
1132+
if (expectNull) {
1133+
// eslint-disable-next-line no-null/no-null
1134+
return Baseline.runBaseline(type + "/" + baselinePath.replace(/\.tsx?/, `.d.ts`), /*actual*/ null);
1135+
}
1136+
1137+
let code = "//// [" + header + "] ////\r\n\r\n";
11281138

11291139
code += sourceContent(tsSources);
11301140

11311141
code += "\r\n\r\n/// [Declarations] ////\r\n\r\n";
11321142
code += declarationContent(declarationFiles, tsSources, errors, prettyErrors);
11331143

1134-
// eslint-disable-next-line no-null/no-null
1135-
Baseline.runBaseline(type + "/" + baselinePath.replace(/\.tsx?/, `.d.ts`), code.length > 0 ? code : null);
1144+
Baseline.runBaseline(type + "/" + baselinePath.replace(/\.tsx?/, `.d.ts`), code);
11361145
}
11371146

11381147
export function doDeclarationMapBaseline(
@@ -1143,8 +1152,7 @@ export namespace Compiler {
11431152
declarationMapFiles: readonly TestFile[],
11441153
tsSources: readonly TestFile[],
11451154
) {
1146-
let code = "";
1147-
code += "//// [" + header + "] ////\r\n\r\n";
1155+
let code = "//// [" + header + "] ////\r\n\r\n";
11481156

11491157
code += sourceContent(tsSources);
11501158

@@ -1153,8 +1161,7 @@ export namespace Compiler {
11531161
code += "\r\n\r\n/// [Declarations Maps] ////\r\n\r\n";
11541162
code += declarationSourceMapContent(declarationFiles, declarationMapFiles, tsSources);
11551163

1156-
// eslint-disable-next-line no-null/no-null
1157-
Baseline.runBaseline(type + "/" + baselinePath.replace(/\.tsx?/, `.d.ts.map`), code.length > 0 ? code : null);
1164+
Baseline.runBaseline(type + "/" + baselinePath.replace(/\.tsx?/, `.d.ts.map`), code);
11581165
}
11591166

11601167
export function doJsEmitBaseline(baselinePath: string, header: string, options: ts.CompilerOptions, result: compiler.CompilationResult, tsConfigFiles: readonly TestFile[], toBeCompiled: readonly TestFile[], otherFiles: readonly TestFile[], harnessSettings: TestCaseParser.CompilerSettings) {

src/testRunner/compilerRunner.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -615,7 +615,6 @@ class IsolatedDeclarationTest extends CompilerTestBase {
615615
return this.harnessSettings.isolatedDeclarationDiffReason;
616616
}
617617
verifyDteOutput() {
618-
if (this.isOutputEquivalent && this.isDiagnosticEquivalent) return;
619618
Compiler.doDeclarationBaseline(
620619
this.configuredName,
621620
this.baselinePath + "/dte",
@@ -624,10 +623,10 @@ class IsolatedDeclarationTest extends CompilerTestBase {
624623
ts.concatenate(this.dteDiagnostics, this.tscNonIsolatedDeclarationsErrors),
625624
this.allFiles,
626625
this.options.pretty,
626+
this.isOutputEquivalent && this.isDiagnosticEquivalent,
627627
);
628628
}
629629
verifyTscOutput() {
630-
if (this.isOutputEquivalent && this.isDiagnosticEquivalent) return;
631630
Compiler.doDeclarationBaseline(
632631
this.configuredName,
633632
this.baselinePath + "/tsc",
@@ -636,6 +635,7 @@ class IsolatedDeclarationTest extends CompilerTestBase {
636635
ts.concatenate(this.tscIsolatedDeclarationsErrors, this.tscNonIsolatedDeclarationsErrors),
637636
this.allFiles,
638637
this.options.pretty,
638+
this.isOutputEquivalent && this.isDiagnosticEquivalent,
639639
);
640640
}
641641
verifyDteMapOutput() {
@@ -672,9 +672,6 @@ class IsolatedDeclarationTest extends CompilerTestBase {
672672
}
673673
}
674674
verifyDiff() {
675-
if (this.isOutputEquivalent && this.isDiagnosticEquivalent) {
676-
return;
677-
}
678675
Compiler.doDeclarationDiffBaseline(
679676
this.configuredName,
680677
this.baselinePath + "/diff",
@@ -686,6 +683,7 @@ class IsolatedDeclarationTest extends CompilerTestBase {
686683
this.allFiles,
687684
this.options.pretty,
688685
this.diffReason,
686+
this.isOutputEquivalent && this.isDiagnosticEquivalent
689687
);
690688
}
691689

0 commit comments

Comments
 (0)