Skip to content

Commit 72d390c

Browse files
committed
Get test suites running
1 parent 0c5afda commit 72d390c

19 files changed

+478
-431
lines changed

Diff for: Gulpfile.js

+7-3
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ const cmdLineOptions = require("./scripts/build/options");
1919
const copyright = "CopyrightNotice.txt";
2020
const cleanTasks = [];
2121

22-
const testRunner = "./built/local/testRunner/_namespaces/Harness.js";
22+
const testRunner = "./built/local/testRunner/runner.js";
2323

2424
const buildScripts = () => buildProject("scripts");
2525
task("scripts", buildScripts);
@@ -94,6 +94,10 @@ const localize = async () => {
9494
}
9595
};
9696

97+
const buildAll = () => buildProject("src");
98+
99+
task("moduleBuild", parallel(generateLibs, series(buildScripts, localize, buildAll)));
100+
97101
const buildDebugTools = () => buildProject("src/debug");
98102
const cleanDebugTools = () => cleanProject("src/debug");
99103
cleanTasks.push(cleanDebugTools);
@@ -439,7 +443,7 @@ const preTest = parallel(buildTsc, buildTests, buildServices, buildLssl);
439443
preTest.displayName = "preTest";
440444

441445
const runTests = () => runConsoleTests(testRunner, "mocha-fivemat-progress-reporter", /*runInParallel*/ false, /*watchMode*/ false);
442-
task("runtests", series(/*preBuild, preTest,*/ runTests)); // TODO(jakebailey): fix this for modules
446+
task("runtests", series(/*preBuild, preTest,*/ task("moduleBuild"), runTests)); // TODO(jakebailey): fix this for modules
443447
task("runtests").description = "Runs the tests using the built run.js file.";
444448
task("runtests").flags = {
445449
"-t --tests=<regex>": "Pattern for tests to run.",
@@ -458,7 +462,7 @@ task("runtests").flags = {
458462
};
459463

460464
const runTestsParallel = () => runConsoleTests(testRunner, "min", /*runInParallel*/ cmdLineOptions.workers > 1, /*watchMode*/ false);
461-
task("runtests-parallel", series(/*preBuild, preTest,*/ runTestsParallel)); // TODO(jakebailey): fix this for modules
465+
task("runtests-parallel", series(/*preBuild, preTest,*/ task("moduleBuild"), runTestsParallel)); // TODO(jakebailey): fix this for modules
462466
task("runtests-parallel").description = "Runs all the tests in parallel using the built run.js file.";
463467
task("runtests-parallel").flags = {
464468
" --light": "Run tests in light mode (fewer verifications, but tests run faster).",

Diff for: src/compiler/sys.ts

+8-1
Original file line numberDiff line numberDiff line change
@@ -1522,7 +1522,14 @@ export let sys: System = (() => {
15221522
}
15231523
},
15241524
getExecutingFilePath() {
1525-
return __filename;
1525+
// This function previously returned a path like `built/local/tsc.js`.
1526+
// Now, with a module output, this file is now `built/local/compiler/sys.js`.
1527+
// We want to return a file that looks like the old one, so that callers
1528+
// can locate other assets like the lib.d.ts files.
1529+
//
1530+
// TODO(jakebailey): replace this function with one that returns the path
1531+
// to the lib folder (or package path)?.
1532+
return _path.join(_path.dirname(__dirname), "fake.js");
15261533
},
15271534
getCurrentDirectory,
15281535
getDirectories,

Diff for: src/server/_namespaces/ts.server.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ export * from "../../jsTyping/_namespaces/ts.server";
44
export * from "../types";
55
export * from "../utilitiesPublic";
66
export * from "../utilities";
7+
import * as protocol from "./ts.server.protocol";
8+
export { protocol };
79
export * from "../scriptInfo";
810
export * from "../typingsCache";
911
export * from "../project";
@@ -12,5 +14,3 @@ export * from "../moduleSpecifierCache";
1214
export * from "../packageJsonCache";
1315
export * from "../session";
1416
export * from "../scriptVersionCache";
15-
import * as protocol from "./ts.server.protocol";
16-
export { protocol };

Diff for: src/testRunner/_namespaces/Harness.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@
22

33
export * from "../../harness/_namespaces/Harness";
44
export * from "../../loggedIO/_namespaces/Harness";
5+
6+
import * as Parallel from "./Harness.Parallel";
7+
export { Parallel };
8+
59
export * from "../fourslashRunner";
610
export * from "../compilerRunner";
711
export * from "../externalCompileRunner";
812
export * from "../test262Runner";
913
export * from "../runner";
10-
import * as Parallel from "./Harness.Parallel";
11-
export { Parallel };

Diff for: src/testRunner/_namespaces/tests.ts

+186
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,186 @@
1+
// Tests; see tsconfig.json list
2+
3+
import "../unittests/asserts";
4+
import "../unittests/base64";
5+
import "../unittests/builder";
6+
import "../unittests/comments";
7+
import "../unittests/compilerCore";
8+
import "../unittests/convertToBase64";
9+
import "../unittests/customTransforms";
10+
import "../unittests/factory";
11+
import "../unittests/incrementalParser";
12+
import "../unittests/jsDocParsing";
13+
import "../unittests/jsonParserRecovery";
14+
import "../unittests/moduleResolution";
15+
import "../unittests/parsePseudoBigInt";
16+
import "../unittests/paths";
17+
import "../unittests/printer";
18+
import "../unittests/programApi";
19+
import "../unittests/publicApi";
20+
import "../unittests/reuseProgramStructure";
21+
import "../unittests/semver";
22+
import "../unittests/transform";
23+
import "../unittests/config/commandLineParsing";
24+
import "../unittests/config/configurationExtension";
25+
import "../unittests/config/convertCompilerOptionsFromJson";
26+
import "../unittests/config/convertTypeAcquisitionFromJson";
27+
import "../unittests/config/initializeTSConfig";
28+
import "../unittests/config/matchFiles";
29+
import "../unittests/config/projectReferences";
30+
import "../unittests/config/showConfig";
31+
import "../unittests/config/tsconfigParsing";
32+
import "../unittests/config/tsconfigParsingWatchOptions";
33+
import "../unittests/evaluation/arraySpread";
34+
import "../unittests/evaluation/asyncArrow";
35+
import "../unittests/evaluation/asyncGenerator";
36+
import "../unittests/evaluation/awaiter";
37+
import "../unittests/evaluation/destructuring";
38+
import "../unittests/evaluation/externalModules";
39+
import "../unittests/evaluation/forAwaitOf";
40+
import "../unittests/evaluation/forOf";
41+
import "../unittests/evaluation/optionalCall";
42+
import "../unittests/evaluation/objectRest";
43+
import "../unittests/evaluation/superInStaticInitializer";
44+
import "../unittests/evaluation/templateLiteral";
45+
import "../unittests/evaluation/updateExpressionInModule";
46+
import "../unittests/services/cancellableLanguageServiceOperations";
47+
import "../unittests/services/colorization";
48+
import "../unittests/services/convertToAsyncFunction";
49+
import "../unittests/services/documentRegistry";
50+
import "../unittests/services/extract/constants";
51+
import "../unittests/services/extract/functions";
52+
import "../unittests/services/extract/symbolWalker";
53+
import "../unittests/services/extract/ranges";
54+
import "../unittests/services/hostNewLineSupport";
55+
import "../unittests/services/languageService";
56+
import "../unittests/services/organizeImports";
57+
import "../unittests/services/patternMatcher";
58+
import "../unittests/services/preProcessFile";
59+
import "../unittests/services/textChanges";
60+
import "../unittests/services/transpile";
61+
import "../unittests/tsbuild/amdModulesWithOut";
62+
import "../unittests/tsbuild/clean";
63+
import "../unittests/tsbuild/configFileErrors";
64+
import "../unittests/tsbuild/configFileExtends";
65+
import "../unittests/tsbuild/containerOnlyReferenced";
66+
import "../unittests/tsbuild/declarationEmit";
67+
import "../unittests/tsbuild/demo";
68+
import "../unittests/tsbuild/emitDeclarationOnly";
69+
import "../unittests/tsbuild/emptyFiles";
70+
import "../unittests/tsbuild/exitCodeOnBogusFile";
71+
import "../unittests/tsbuild/graphOrdering";
72+
import "../unittests/tsbuild/inferredTypeFromTransitiveModule";
73+
import "../unittests/tsbuild/javascriptProjectEmit";
74+
import "../unittests/tsbuild/lateBoundSymbol";
75+
import "../unittests/tsbuild/moduleResolution";
76+
import "../unittests/tsbuild/moduleSpecifiers";
77+
import "../unittests/tsbuild/noEmitOnError";
78+
import "../unittests/tsbuild/outFile";
79+
import "../unittests/tsbuild/outputPaths";
80+
import "../unittests/tsbuild/publicApi";
81+
import "../unittests/tsbuild/referencesWithRootDirInParent";
82+
import "../unittests/tsbuild/resolveJsonModule";
83+
import "../unittests/tsbuild/sample";
84+
import "../unittests/tsbuild/transitiveReferences";
85+
import "../unittests/tsbuildWatch/configFileErrors";
86+
import "../unittests/tsbuildWatch/demo";
87+
import "../unittests/tsbuildWatch/moduleResolution";
88+
import "../unittests/tsbuildWatch/noEmit";
89+
import "../unittests/tsbuildWatch/noEmitOnError";
90+
import "../unittests/tsbuildWatch/programUpdates";
91+
import "../unittests/tsbuildWatch/projectsBuilding";
92+
import "../unittests/tsbuildWatch/publicApi";
93+
import "../unittests/tsbuildWatch/reexport";
94+
import "../unittests/tsbuildWatch/watchEnvironment";
95+
import "../unittests/tsc/cancellationToken";
96+
import "../unittests/tsc/composite";
97+
import "../unittests/tsc/declarationEmit";
98+
import "../unittests/tsc/forceConsistentCasingInFileNames";
99+
import "../unittests/tsc/incremental";
100+
import "../unittests/tsc/listFilesOnly";
101+
import "../unittests/tsc/projectReferences";
102+
import "../unittests/tsc/redirect";
103+
import "../unittests/tsc/runWithoutArgs";
104+
import "../unittests/tscWatch/consoleClearing";
105+
import "../unittests/tscWatch/emit";
106+
import "../unittests/tscWatch/nodeNextWatch";
107+
import "../unittests/tscWatch/emitAndErrorUpdates";
108+
import "../unittests/tscWatch/forceConsistentCasingInFileNames";
109+
import "../unittests/tscWatch/incremental";
110+
import "../unittests/tscWatch/moduleResolution";
111+
import "../unittests/tscWatch/programUpdates";
112+
import "../unittests/tscWatch/projectsWithReferences";
113+
import "../unittests/tscWatch/resolutionCache";
114+
import "../unittests/tscWatch/sourceOfProjectReferenceRedirect";
115+
import "../unittests/tscWatch/watchApi";
116+
import "../unittests/tscWatch/watchEnvironment";
117+
import "../unittests/tsserver/applyChangesToOpenFiles";
118+
import "../unittests/tsserver/autoImportProvider";
119+
import "../unittests/tsserver/auxiliaryProject";
120+
import "../unittests/tsserver/cachingFileSystemInformation";
121+
import "../unittests/tsserver/cancellationToken";
122+
import "../unittests/tsserver/compileOnSave";
123+
import "../unittests/tsserver/completions";
124+
import "../unittests/tsserver/completionsIncomplete";
125+
import "../unittests/tsserver/configFileSearch";
126+
import "../unittests/tsserver/configuredProjects";
127+
import "../unittests/tsserver/declarationFileMaps";
128+
import "../unittests/tsserver/documentRegistry";
129+
import "../unittests/tsserver/duplicatePackages";
130+
import "../unittests/tsserver/dynamicFiles";
131+
import "../unittests/tsserver/events/largeFileReferenced";
132+
import "../unittests/tsserver/events/projectLanguageServiceState";
133+
import "../unittests/tsserver/events/projectLoading";
134+
import "../unittests/tsserver/events/projectUpdatedInBackground";
135+
import "../unittests/tsserver/exportMapCache";
136+
import "../unittests/tsserver/externalProjects";
137+
import "../unittests/tsserver/forceConsistentCasingInFileNames";
138+
import "../unittests/tsserver/formatSettings";
139+
import "../unittests/tsserver/getApplicableRefactors";
140+
import "../unittests/tsserver/getEditsForFileRename";
141+
import "../unittests/tsserver/getExportReferences";
142+
import "../unittests/tsserver/getFileReferences";
143+
import "../unittests/tsserver/importHelpers";
144+
import "../unittests/tsserver/inlayHints";
145+
import "../unittests/tsserver/inferredProjects";
146+
import "../unittests/tsserver/jsdocTag";
147+
import "../unittests/tsserver/languageService";
148+
import "../unittests/tsserver/maxNodeModuleJsDepth";
149+
import "../unittests/tsserver/metadataInResponse";
150+
import "../unittests/tsserver/moduleResolution";
151+
import "../unittests/tsserver/moduleSpecifierCache";
152+
import "../unittests/tsserver/navTo";
153+
import "../unittests/tsserver/occurences";
154+
import "../unittests/tsserver/openFile";
155+
import "../unittests/tsserver/packageJsonInfo";
156+
import "../unittests/tsserver/partialSemanticServer";
157+
import "../unittests/tsserver/plugins";
158+
import "../unittests/tsserver/projectErrors";
159+
import "../unittests/tsserver/projectReferenceCompileOnSave";
160+
import "../unittests/tsserver/projectReferenceErrors";
161+
import "../unittests/tsserver/projectReferences";
162+
import "../unittests/tsserver/projectReferencesSourcemap";
163+
import "../unittests/tsserver/projects";
164+
import "../unittests/tsserver/projectsWithReferences";
165+
import "../unittests/tsserver/refactors";
166+
import "../unittests/tsserver/reload";
167+
import "../unittests/tsserver/reloadProjects";
168+
import "../unittests/tsserver/rename";
169+
import "../unittests/tsserver/resolutionCache";
170+
import "../unittests/tsserver/session";
171+
import "../unittests/tsserver/skipLibCheck";
172+
import "../unittests/tsserver/smartSelection";
173+
import "../unittests/tsserver/symlinkCache";
174+
import "../unittests/tsserver/symLinks";
175+
import "../unittests/tsserver/syntacticServer";
176+
import "../unittests/tsserver/syntaxOperations";
177+
import "../unittests/tsserver/textStorage";
178+
import "../unittests/tsserver/telemetry";
179+
import "../unittests/tsserver/typeAquisition";
180+
import "../unittests/tsserver/typeOnlyImportChains";
181+
import "../unittests/tsserver/typeReferenceDirectives";
182+
import "../unittests/tsserver/typingsInstaller";
183+
import "../unittests/tsserver/versionCache";
184+
import "../unittests/tsserver/watchEnvironment";
185+
import "../unittests/tsserver/webServer";
186+
import "../unittests/debugDeprecation";

Diff for: src/testRunner/_namespaces/ts.projectSystem.ts

-66
Original file line numberDiff line numberDiff line change
@@ -1,69 +1,3 @@
11
/* Generated file to emulate the ts.projectSystem namespace. */
22

33
export * from "../unittests/tsserver/helpers";
4-
export * from "../unittests/tsserver/applyChangesToOpenFiles";
5-
export * from "../unittests/tsserver/autoImportProvider";
6-
export * from "../unittests/tsserver/auxiliaryProject";
7-
export * from "../unittests/tsserver/cachingFileSystemInformation";
8-
export * from "../unittests/tsserver/cancellationToken";
9-
export * from "../unittests/tsserver/compileOnSave";
10-
export * from "../unittests/tsserver/completions";
11-
export * from "../unittests/tsserver/completionsIncomplete";
12-
export * from "../unittests/tsserver/configFileSearch";
13-
export * from "../unittests/tsserver/configuredProjects";
14-
export * from "../unittests/tsserver/declarationFileMaps";
15-
export * from "../unittests/tsserver/documentRegistry";
16-
export * from "../unittests/tsserver/duplicatePackages";
17-
export * from "../unittests/tsserver/dynamicFiles";
18-
export * from "../unittests/tsserver/events/largeFileReferenced";
19-
export * from "../unittests/tsserver/events/projectLanguageServiceState";
20-
export * from "../unittests/tsserver/events/projectLoading";
21-
export * from "../unittests/tsserver/events/projectUpdatedInBackground";
22-
export * from "../unittests/tsserver/exportMapCache";
23-
export * from "../unittests/tsserver/externalProjects";
24-
export * from "../unittests/tsserver/forceConsistentCasingInFileNames";
25-
export * from "../unittests/tsserver/formatSettings";
26-
export * from "../unittests/tsserver/getApplicableRefactors";
27-
export * from "../unittests/tsserver/getEditsForFileRename";
28-
export * from "../unittests/tsserver/getExportReferences";
29-
export * from "../unittests/tsserver/getFileReferences";
30-
export * from "../unittests/tsserver/importHelpers";
31-
export * from "../unittests/tsserver/inlayHints";
32-
export * from "../unittests/tsserver/inferredProjects";
33-
export * from "../unittests/tsserver/jsdocTag";
34-
export * from "../unittests/tsserver/languageService";
35-
export * from "../unittests/tsserver/maxNodeModuleJsDepth";
36-
export * from "../unittests/tsserver/metadataInResponse";
37-
export * from "../unittests/tsserver/moduleResolution";
38-
export * from "../unittests/tsserver/moduleSpecifierCache";
39-
export * from "../unittests/tsserver/navTo";
40-
export * from "../unittests/tsserver/occurences";
41-
export * from "../unittests/tsserver/openFile";
42-
export * from "../unittests/tsserver/packageJsonInfo";
43-
export * from "../unittests/tsserver/partialSemanticServer";
44-
export * from "../unittests/tsserver/plugins";
45-
export * from "../unittests/tsserver/projectErrors";
46-
export * from "../unittests/tsserver/projectReferenceCompileOnSave";
47-
export * from "../unittests/tsserver/projectReferenceErrors";
48-
export * from "../unittests/tsserver/projectReferences";
49-
export * from "../unittests/tsserver/projectReferencesSourcemap";
50-
export * from "../unittests/tsserver/projects";
51-
export * from "../unittests/tsserver/projectsWithReferences";
52-
export * from "../unittests/tsserver/refactors";
53-
export * from "../unittests/tsserver/reload";
54-
export * from "../unittests/tsserver/reloadProjects";
55-
export * from "../unittests/tsserver/rename";
56-
export * from "../unittests/tsserver/resolutionCache";
57-
export * from "../unittests/tsserver/skipLibCheck";
58-
export * from "../unittests/tsserver/smartSelection";
59-
export * from "../unittests/tsserver/symlinkCache";
60-
export * from "../unittests/tsserver/symLinks";
61-
export * from "../unittests/tsserver/syntacticServer";
62-
export * from "../unittests/tsserver/syntaxOperations";
63-
export * from "../unittests/tsserver/telemetry";
64-
export * from "../unittests/tsserver/typeAquisition";
65-
export * from "../unittests/tsserver/typeOnlyImportChains";
66-
export * from "../unittests/tsserver/typeReferenceDirectives";
67-
export * from "../unittests/tsserver/typingsInstaller";
68-
export * from "../unittests/tsserver/watchEnvironment";
69-
export * from "../unittests/tsserver/webServer";

Diff for: src/testRunner/_namespaces/ts.server.ts

-1
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,3 @@ export * from "../../webServer/_namespaces/ts.server";
66
export * from "../../typingsInstallerCore/_namespaces/ts.server";
77
export * from "../../harness/_namespaces/ts.server";
88
export * from "../../loggedIO/_namespaces/ts.server";
9-
export * from "../unittests/tsserver/session";

Diff for: src/testRunner/_namespaces/ts.textStorage.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
/* Generated file to emulate the ts.textStorage namespace. */
22

3-
export * from "../unittests/tsserver/textStorage";
3+
export {};

0 commit comments

Comments
 (0)