Skip to content

Commit dc7c9ba

Browse files
Andy HansonRyanCavanaugh
authored andcommitted
Avoid eagerly computing test payload (#27851)
1 parent 9168bd4 commit dc7c9ba

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

src/testRunner/compilerRunner.ts

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const enum CompilerTestType {
55
}
66

77
interface CompilerFileBasedTest extends Harness.FileBasedTest {
8-
payload?: Harness.TestCaseParser.TestCaseContent;
8+
readonly content?: string;
99
}
1010

1111
class CompilerBaselineRunner extends RunnerBase {
@@ -74,7 +74,14 @@ class CompilerBaselineRunner extends RunnerBase {
7474
// Mocha holds onto the closure environment of the describe callback even after the test is done.
7575
// Everything declared here should be cleared out in the "after" callback.
7676
let compilerTest!: CompilerTest;
77-
before(() => { compilerTest = new CompilerTest(fileName, test && test.payload, configuration); });
77+
before(() => {
78+
let payload;
79+
if (test && test.content) {
80+
const rootDir = test.file.indexOf("conformance") === -1 ? "tests/cases/compiler/" : ts.getDirectoryPath(test.file) + "/";
81+
payload = Harness.TestCaseParser.makeUnitsFromTest(test.content, test.file, rootDir);
82+
}
83+
compilerTest = new CompilerTest(fileName, payload, configuration);
84+
});
7885
it(`Correct errors for ${fileName}`, () => { compilerTest.verifyDiagnostics(); });
7986
it(`Correct module resolution tracing for ${fileName}`, () => { compilerTest.verifyModuleResolution(); });
8087
it(`Correct sourcemap content for ${fileName}`, () => { compilerTest.verifySourceMapRecord(); });
@@ -189,11 +196,9 @@ class CompilerTest {
189196
public static getConfigurations(file: string): CompilerFileBasedTest {
190197
// also see `parseCompilerTestConfigurations` in tests/webTestServer.ts
191198
const content = Harness.IO.readFile(file)!;
192-
const rootDir = file.indexOf("conformance") === -1 ? "tests/cases/compiler/" : ts.getDirectoryPath(file) + "/";
193-
const payload = Harness.TestCaseParser.makeUnitsFromTest(content, file, rootDir);
194199
const settings = Harness.TestCaseParser.extractCompilerSettings(content);
195200
const configurations = Harness.getFileBasedTestConfigurations(settings, /*varyBy*/ ["module", "target"]);
196-
return { file, payload, configurations };
201+
return { file, configurations, content };
197202
}
198203

199204
public verifyDiagnostics() {

0 commit comments

Comments
 (0)