Skip to content

Commit 60f295f

Browse files
committed
Cleanup of options of project runner
1 parent 885babc commit 60f295f

File tree

361 files changed

+539
-543
lines changed

Some content is hidden

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

361 files changed

+539
-543
lines changed

src/harness/projectsRunner.ts

Lines changed: 29 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,11 @@ interface ProjectRunnerTestCase {
66
scenario: string;
77
projectRoot: string; // project where it lives - this also is the current directory when compiling
88
inputFiles: string[]; // list of input files to be given to program
9-
out?: string; // --out
10-
outDir?: string; // --outDir
11-
sourceMap?: boolean; // --map
12-
mapRoot?: string; // --mapRoot
139
resolveMapRoot?: boolean; // should we resolve this map root and give compiler the absolute disk path as map root?
14-
sourceRoot?: string; // --sourceRoot
1510
resolveSourceRoot?: boolean; // should we resolve this source root and give compiler the absolute disk path as map root?
16-
declaration?: boolean; // --d
1711
baselineCheck?: boolean; // Verify the baselines of output files, if this is false, we will write to output to the disk but there is no verification of baselines
1812
runTest?: boolean; // Run the resulting test
1913
bug?: string; // If there is any bug associated with this test case
20-
noResolve?: boolean;
21-
rootDir?: string; // --rootDir
2214
}
2315

2416
interface ProjectRunnerTestCaseResolutionInfo extends ProjectRunnerTestCase {
@@ -58,7 +50,7 @@ class ProjectRunner extends RunnerBase {
5850
}
5951

6052
private runProjectTestCase(testCaseFileName: string) {
61-
let testCase: ProjectRunnerTestCase;
53+
let testCase: ProjectRunnerTestCase & ts.CompilerOptions;
6254

6355
let testFileText: string = null;
6456
try {
@@ -69,7 +61,7 @@ class ProjectRunner extends RunnerBase {
6961
}
7062

7163
try {
72-
testCase = <ProjectRunnerTestCase>JSON.parse(testFileText);
64+
testCase = <ProjectRunnerTestCase & ts.CompilerOptions>JSON.parse(testFileText);
7365
}
7466
catch (e) {
7567
assert(false, "Testcase: " + testCaseFileName + " does not contain valid json format: " + e.message);
@@ -155,18 +147,35 @@ class ProjectRunner extends RunnerBase {
155147
};
156148

157149
function createCompilerOptions(): ts.CompilerOptions {
158-
return {
159-
declaration: !!testCase.declaration,
160-
sourceMap: !!testCase.sourceMap,
161-
outFile: testCase.out,
162-
outDir: testCase.outDir,
150+
// Set the special options that depend on other testcase options
151+
let compilerOptions: ts.CompilerOptions = {
163152
mapRoot: testCase.resolveMapRoot && testCase.mapRoot ? Harness.IO.resolvePath(testCase.mapRoot) : testCase.mapRoot,
164153
sourceRoot: testCase.resolveSourceRoot && testCase.sourceRoot ? Harness.IO.resolvePath(testCase.sourceRoot) : testCase.sourceRoot,
165154
module: moduleKind,
166155
moduleResolution: ts.ModuleResolutionKind.Classic, // currently all tests use classic module resolution kind, this will change in the future
167-
noResolve: testCase.noResolve,
168-
rootDir: testCase.rootDir
169156
};
157+
158+
// Set the values specified using json
159+
let optionNameMap: ts.Map<ts.CommandLineOption> = {};
160+
ts.forEach(ts.optionDeclarations, option => {
161+
optionNameMap[option.name] = option;
162+
});
163+
for (let name in testCase) {
164+
if (name !== "mapRoot" && name !== "sourceRoot" && ts.hasProperty(optionNameMap, name)) {
165+
let option = optionNameMap[name];
166+
let optType = option.type;
167+
let value = <any>testCase[name];
168+
if (typeof optType !== "string") {
169+
let key = value.toLowerCase();
170+
if (ts.hasProperty(optType, key)) {
171+
value = optType[key];
172+
}
173+
}
174+
compilerOptions[option.name] = value;
175+
}
176+
}
177+
178+
return compilerOptions;
170179
}
171180

172181
function getSourceFile(fileName: string, languageVersion: ts.ScriptTarget): ts.SourceFile {
@@ -342,26 +351,9 @@ class ProjectRunner extends RunnerBase {
342351
let compilerResult: BatchCompileProjectTestCaseResult;
343352

344353
function getCompilerResolutionInfo() {
345-
let resolutionInfo: ProjectRunnerTestCaseResolutionInfo = {
346-
scenario: testCase.scenario,
347-
projectRoot: testCase.projectRoot,
348-
inputFiles: testCase.inputFiles,
349-
out: testCase.out,
350-
outDir: testCase.outDir,
351-
sourceMap: testCase.sourceMap,
352-
mapRoot: testCase.mapRoot,
353-
resolveMapRoot: testCase.resolveMapRoot,
354-
sourceRoot: testCase.sourceRoot,
355-
resolveSourceRoot: testCase.resolveSourceRoot,
356-
declaration: testCase.declaration,
357-
baselineCheck: testCase.baselineCheck,
358-
runTest: testCase.runTest,
359-
bug: testCase.bug,
360-
rootDir: testCase.rootDir,
361-
resolvedInputFiles: ts.map(compilerResult.program.getSourceFiles(), inputFile => inputFile.fileName),
362-
emittedFiles: ts.map(compilerResult.outputFiles, outputFile => outputFile.emittedFileName)
363-
};
364-
354+
let resolutionInfo: ProjectRunnerTestCaseResolutionInfo & ts.CompilerOptions = JSON.parse(JSON.stringify(testCase));
355+
resolutionInfo.resolvedInputFiles = ts.map(compilerResult.program.getSourceFiles(), inputFile => inputFile.fileName);
356+
resolutionInfo.emittedFiles = ts.map(compilerResult.outputFiles, outputFile => outputFile.emittedFileName);
365357
return resolutionInfo;
366358
}
367359

tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/amd/mapRootAbsolutePathMixedSubfolderNoOutdir.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
"test.ts"
66
],
77
"sourceMap": true,
8-
"mapRoot": "tests/cases/projects/outputdir_mixed_subfolder/mapFiles",
9-
"resolveMapRoot": true,
108
"declaration": true,
119
"baselineCheck": true,
10+
"mapRoot": "tests/cases/projects/outputdir_mixed_subfolder/mapFiles",
11+
"resolveMapRoot": true,
1212
"resolvedInputFiles": [
1313
"lib.d.ts",
1414
"ref/m1.ts",

tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/node/mapRootAbsolutePathMixedSubfolderNoOutdir.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
"test.ts"
66
],
77
"sourceMap": true,
8-
"mapRoot": "tests/cases/projects/outputdir_mixed_subfolder/mapFiles",
9-
"resolveMapRoot": true,
108
"declaration": true,
119
"baselineCheck": true,
10+
"mapRoot": "tests/cases/projects/outputdir_mixed_subfolder/mapFiles",
11+
"resolveMapRoot": true,
1212
"resolvedInputFiles": [
1313
"lib.d.ts",
1414
"ref/m1.ts",

tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
],
77
"outDir": "outdir/simple",
88
"sourceMap": true,
9-
"mapRoot": "tests/cases/projects/outputdir_mixed_subfolder/mapFiles",
10-
"resolveMapRoot": true,
119
"declaration": true,
1210
"baselineCheck": true,
11+
"mapRoot": "tests/cases/projects/outputdir_mixed_subfolder/mapFiles",
12+
"resolveMapRoot": true,
1313
"resolvedInputFiles": [
1414
"lib.d.ts",
1515
"ref/m1.ts",

tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
],
77
"outDir": "outdir/simple",
88
"sourceMap": true,
9-
"mapRoot": "tests/cases/projects/outputdir_mixed_subfolder/mapFiles",
10-
"resolveMapRoot": true,
119
"declaration": true,
1210
"baselineCheck": true,
11+
"mapRoot": "tests/cases/projects/outputdir_mixed_subfolder/mapFiles",
12+
"resolveMapRoot": true,
1313
"resolvedInputFiles": [
1414
"lib.d.ts",
1515
"ref/m1.ts",

tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/amd/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
],
77
"out": "bin/test.js",
88
"sourceMap": true,
9-
"mapRoot": "tests/cases/projects/outputdir_mixed_subfolder/mapFiles",
10-
"resolveMapRoot": true,
119
"declaration": true,
1210
"baselineCheck": true,
11+
"mapRoot": "tests/cases/projects/outputdir_mixed_subfolder/mapFiles",
12+
"resolveMapRoot": true,
1313
"resolvedInputFiles": [
1414
"lib.d.ts",
1515
"ref/m1.ts",

tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
],
77
"out": "bin/test.js",
88
"sourceMap": true,
9-
"mapRoot": "tests/cases/projects/outputdir_mixed_subfolder/mapFiles",
10-
"resolveMapRoot": true,
119
"declaration": true,
1210
"baselineCheck": true,
11+
"mapRoot": "tests/cases/projects/outputdir_mixed_subfolder/mapFiles",
12+
"resolveMapRoot": true,
1313
"resolvedInputFiles": [
1414
"lib.d.ts",
1515
"ref/m1.ts",

tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
"out": "bin/outAndOutDirFile.js",
88
"outDir": "outdir/outAndOutDirFolder",
99
"sourceMap": true,
10-
"mapRoot": "tests/cases/projects/outputdir_mixed_subfolder/mapFiles",
11-
"resolveMapRoot": true,
1210
"declaration": true,
1311
"baselineCheck": true,
12+
"mapRoot": "tests/cases/projects/outputdir_mixed_subfolder/mapFiles",
13+
"resolveMapRoot": true,
1414
"resolvedInputFiles": [
1515
"lib.d.ts",
1616
"ref/m1.ts",

tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
"out": "bin/outAndOutDirFile.js",
88
"outDir": "outdir/outAndOutDirFolder",
99
"sourceMap": true,
10-
"mapRoot": "tests/cases/projects/outputdir_mixed_subfolder/mapFiles",
11-
"resolveMapRoot": true,
1210
"declaration": true,
1311
"baselineCheck": true,
12+
"mapRoot": "tests/cases/projects/outputdir_mixed_subfolder/mapFiles",
13+
"resolveMapRoot": true,
1414
"resolvedInputFiles": [
1515
"lib.d.ts",
1616
"ref/m1.ts",

tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/amd/mapRootAbsolutePathModuleMultifolderNoOutdir.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
"test.ts"
66
],
77
"sourceMap": true,
8-
"mapRoot": "tests/cases/projects/outputdir_module_multifolder/mapFiles",
9-
"resolveMapRoot": true,
108
"declaration": true,
119
"baselineCheck": true,
10+
"mapRoot": "tests/cases/projects/outputdir_module_multifolder/mapFiles",
11+
"resolveMapRoot": true,
1212
"resolvedInputFiles": [
1313
"lib.d.ts",
1414
"ref/m1.ts",

tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/node/mapRootAbsolutePathModuleMultifolderNoOutdir.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
"test.ts"
66
],
77
"sourceMap": true,
8-
"mapRoot": "tests/cases/projects/outputdir_module_multifolder/mapFiles",
9-
"resolveMapRoot": true,
108
"declaration": true,
119
"baselineCheck": true,
10+
"mapRoot": "tests/cases/projects/outputdir_module_multifolder/mapFiles",
11+
"resolveMapRoot": true,
1212
"resolvedInputFiles": [
1313
"lib.d.ts",
1414
"ref/m1.ts",

tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
],
77
"outDir": "outdir/simple",
88
"sourceMap": true,
9-
"mapRoot": "tests/cases/projects/outputdir_module_multifolder/mapFiles",
10-
"resolveMapRoot": true,
119
"declaration": true,
1210
"baselineCheck": true,
11+
"mapRoot": "tests/cases/projects/outputdir_module_multifolder/mapFiles",
12+
"resolveMapRoot": true,
1313
"resolvedInputFiles": [
1414
"lib.d.ts",
1515
"ref/m1.ts",

tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
],
77
"outDir": "outdir/simple",
88
"sourceMap": true,
9-
"mapRoot": "tests/cases/projects/outputdir_module_multifolder/mapFiles",
10-
"resolveMapRoot": true,
119
"declaration": true,
1210
"baselineCheck": true,
11+
"mapRoot": "tests/cases/projects/outputdir_module_multifolder/mapFiles",
12+
"resolveMapRoot": true,
1313
"resolvedInputFiles": [
1414
"lib.d.ts",
1515
"ref/m1.ts",

tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
],
77
"out": "bin/test.js",
88
"sourceMap": true,
9-
"mapRoot": "tests/cases/projects/outputdir_module_multifolder/mapFiles",
10-
"resolveMapRoot": true,
119
"declaration": true,
1210
"baselineCheck": true,
11+
"mapRoot": "tests/cases/projects/outputdir_module_multifolder/mapFiles",
12+
"resolveMapRoot": true,
1313
"resolvedInputFiles": [
1414
"lib.d.ts",
1515
"ref/m1.ts",

tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
],
77
"out": "bin/test.js",
88
"sourceMap": true,
9-
"mapRoot": "tests/cases/projects/outputdir_module_multifolder/mapFiles",
10-
"resolveMapRoot": true,
119
"declaration": true,
1210
"baselineCheck": true,
11+
"mapRoot": "tests/cases/projects/outputdir_module_multifolder/mapFiles",
12+
"resolveMapRoot": true,
1313
"resolvedInputFiles": [
1414
"lib.d.ts",
1515
"ref/m1.ts",

tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/amd/mapRootAbsolutePathModuleSimpleNoOutdir.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
"test.ts"
66
],
77
"sourceMap": true,
8-
"mapRoot": "tests/cases/projects/outputdir_module_simple/mapFiles",
9-
"resolveMapRoot": true,
108
"declaration": true,
119
"baselineCheck": true,
10+
"mapRoot": "tests/cases/projects/outputdir_module_simple/mapFiles",
11+
"resolveMapRoot": true,
1212
"resolvedInputFiles": [
1313
"lib.d.ts",
1414
"m1.ts",

tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/node/mapRootAbsolutePathModuleSimpleNoOutdir.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
"test.ts"
66
],
77
"sourceMap": true,
8-
"mapRoot": "tests/cases/projects/outputdir_module_simple/mapFiles",
9-
"resolveMapRoot": true,
108
"declaration": true,
119
"baselineCheck": true,
10+
"mapRoot": "tests/cases/projects/outputdir_module_simple/mapFiles",
11+
"resolveMapRoot": true,
1212
"resolvedInputFiles": [
1313
"lib.d.ts",
1414
"m1.ts",

tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
],
77
"outDir": "outdir/simple",
88
"sourceMap": true,
9-
"mapRoot": "tests/cases/projects/outputdir_module_simple/mapFiles",
10-
"resolveMapRoot": true,
119
"declaration": true,
1210
"baselineCheck": true,
11+
"mapRoot": "tests/cases/projects/outputdir_module_simple/mapFiles",
12+
"resolveMapRoot": true,
1313
"resolvedInputFiles": [
1414
"lib.d.ts",
1515
"m1.ts",

tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
],
77
"outDir": "outdir/simple",
88
"sourceMap": true,
9-
"mapRoot": "tests/cases/projects/outputdir_module_simple/mapFiles",
10-
"resolveMapRoot": true,
119
"declaration": true,
1210
"baselineCheck": true,
11+
"mapRoot": "tests/cases/projects/outputdir_module_simple/mapFiles",
12+
"resolveMapRoot": true,
1313
"resolvedInputFiles": [
1414
"lib.d.ts",
1515
"m1.ts",

tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/mapRootAbsolutePathModuleSimpleSpecifyOutputFile.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
],
77
"out": "bin/test.js",
88
"sourceMap": true,
9-
"mapRoot": "tests/cases/projects/outputdir_module_simple/mapFiles",
10-
"resolveMapRoot": true,
119
"declaration": true,
1210
"baselineCheck": true,
11+
"mapRoot": "tests/cases/projects/outputdir_module_simple/mapFiles",
12+
"resolveMapRoot": true,
1313
"resolvedInputFiles": [
1414
"lib.d.ts",
1515
"m1.ts",

tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/mapRootAbsolutePathModuleSimpleSpecifyOutputFile.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
],
77
"out": "bin/test.js",
88
"sourceMap": true,
9-
"mapRoot": "tests/cases/projects/outputdir_module_simple/mapFiles",
10-
"resolveMapRoot": true,
119
"declaration": true,
1210
"baselineCheck": true,
11+
"mapRoot": "tests/cases/projects/outputdir_module_simple/mapFiles",
12+
"resolveMapRoot": true,
1313
"resolvedInputFiles": [
1414
"lib.d.ts",
1515
"m1.ts",

tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/amd/mapRootAbsolutePathModuleSubfolderNoOutdir.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
"test.ts"
66
],
77
"sourceMap": true,
8-
"mapRoot": "tests/cases/projects/outputdir_module_subfolder/mapFiles",
9-
"resolveMapRoot": true,
108
"declaration": true,
119
"baselineCheck": true,
10+
"mapRoot": "tests/cases/projects/outputdir_module_subfolder/mapFiles",
11+
"resolveMapRoot": true,
1212
"resolvedInputFiles": [
1313
"lib.d.ts",
1414
"ref/m1.ts",

tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/node/mapRootAbsolutePathModuleSubfolderNoOutdir.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
"test.ts"
66
],
77
"sourceMap": true,
8-
"mapRoot": "tests/cases/projects/outputdir_module_subfolder/mapFiles",
9-
"resolveMapRoot": true,
108
"declaration": true,
119
"baselineCheck": true,
10+
"mapRoot": "tests/cases/projects/outputdir_module_subfolder/mapFiles",
11+
"resolveMapRoot": true,
1212
"resolvedInputFiles": [
1313
"lib.d.ts",
1414
"ref/m1.ts",

0 commit comments

Comments
 (0)