Skip to content

Commit c0f1818

Browse files
committed
WIP
1 parent f63bf71 commit c0f1818

23 files changed

+216
-210
lines changed

.vscode/launch.template.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
"bdd",
3131
"--no-timeouts",
3232
"--colors",
33-
"built/local/run.js",
33+
"built/local/testRunner/Harness.js",
3434
"-f",
3535
// You can change this to be the name of a specific test file (without the file extension)
3636
// to consistently launch the same test
@@ -46,7 +46,7 @@
4646
"preLaunchTask": "tests",
4747
"console": "integratedTerminal",
4848
"outFiles": [
49-
"${workspaceRoot}/built/local/run.js"
49+
"${workspaceRoot}/built/local/testRunner/Harness.js"
5050
]
5151
},
5252
{

Gulpfile.js

Lines changed: 169 additions & 168 deletions
Large diffs are not rendered by default.

src/compiler/sys.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1025,7 +1025,7 @@ export let sys: System = (() => {
10251025
}
10261026
},
10271027
getExecutingFilePath() {
1028-
return __filename;
1028+
return _path.join(_path.dirname(__filename), "..", _path.basename(__filename)); // COMPAT: return path in root of our dir, rather than direct location of sys impl
10291029
},
10301030
getCurrentDirectory() {
10311031
return process.cwd();

src/harness/Harness.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import "../services/services"; // ensure services setup code is called
2+
import "./harnessGlobals";
13
export * from "./runnerbase";
24
export * from "./harnessIO";
35
export * from "./typeWriter";

src/harness/fakesHosts.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { matchFiles, FileSystemEntries, notImplemented, generateDjb2Hash, Source
55
import { TextDocument } from "./documents";
66
import { SortedMap } from "./collections";
77
import { lightMode } from "./Harness";
8-
import * as ts from "./ts";
8+
import * as ts from "../compiler/ts";
99
/**
1010
* Fake implementations of various compiler dependencies.
1111
*/

src/harness/harnessIO.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ function createNodeIO(): IO {
150150
log: s => console.log(s),
151151
args: () => sys.args,
152152
getExecutingFilePath: () => sys.getExecutingFilePath(),
153-
getWorkspaceRoot: () => resolve(__dirname, "../.."),
153+
getWorkspaceRoot: () => resolve(__dirname, "../../.."),
154154
exit: exitCode => sys.exit(exitCode),
155155
readDirectory: (path, extension, exclude, include, depth) => sys.readDirectory(path, extension, exclude, include, depth),
156156
getAccessibleFileSystemEntries,

src/server/session.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
import { HostCancellationToken, CompilerOptions, getEmitDeclarations, Diagnostic, flattenDiagnosticMessageText, diagnosticCategoryName, map, DiagnosticRelatedInformation, getLineAndCharacterOfPosition, LineAndCharacter, TextChange, textSpanEnd, Debug, OperationCanceledException, MultiMap, Path, flatMapToMutable, isArray, flatMap, deduplicate, equateValues, DocumentPosition, contains, UserPreferences, RenameLocation, documentSpansEqual, firstOrUndefined, ReferencedSymbol, ReferencedSymbolDefinitionInfo, createTextSpan, find, createMap, Push, DocumentSpan, TextSpan, PossibleProgramFileInfo, getSnapshotText, perfLogger, WithMetadata, isString, arrayFrom, filter, concatenate, DefinitionInfo, EmitOutput, ImplementationLocation, TextInsertion, DocumentHighlights, RenameInfo, identity, displayPartsToString, ScriptKind, QuickInfo, createTextSpanFromBounds, formatting, mapDefined, startsWith, compareStringsCaseSensitiveUI, fileExtensionIs, Extension, singleIterator, normalizePath, NavigationBarItem, NavigationTree, NavigateToItem, getSupportedCodeFixes, TextRange, RefactorEditInfo, FileTextChanges, CodeActionCommand, toArray, CodeAction, stringContains, SelectionRange, CallHierarchyItem, CallHierarchyIncomingCall, CallHierarchyOutgoingCall, mapOneOrMany, toFileNameLowerCase, createMapFromTemplate, version, mapIterator, arrayIterator, mapDefinedIterator, arrayReverseIterator, FormatCodeSettings, first, computeLineAndCharacterOfPosition, computeLineStarts } from "./ts";
2-
import { Project, NormalizedPath, isInferredProject, isExternalProject, protocol, Logger, LogLevel, indent, ServerHost, ProjectService, emptyArray, toNormalizedPath, isConfiguredProject, ITypingsInstaller, ProjectServiceEventHandler, GcTimer, ProjectServiceOptions, PerformanceEvent, ProjectServiceEvent, ProjectsUpdatedInBackgroundEvent, ProjectLoadingStartEvent, ProjectLoadingFinishEvent, LargeFileReferencedEvent, ConfigFileDiagEvent, ProjectLanguageServiceStateEvent, ProjectInfoTelemetryEvent, ProjectKind, Msg, updateProjectIfDirty, ScriptInfo, Errors, convertFormatOptions, convertUserPreferences, convertScriptKindName, stringifyIndented, ScriptInfoOrConfig, isConfigFile } from "./ts.server";
3-
import { Location, DiagnosticWithFileName, CommandTypes, Message, RequestCompletedEventBody, ProjectLoadingStartEventBody, ProjectLoadingFinishEventBody, LargeFileReferencedEventBody, ConfigFileDiagnosticEventBody, ProjectLanguageServiceStateEventName, ProjectLanguageServiceStateEventBody, TelemetryEventName, TelemetryEventBody, ProjectsUpdatedInBackgroundEventBody, FileRequestArgs, Response, DiagnosticEventKind, DiagnosticEventBody, EncodedSyntacticClassificationsRequestArgs, EncodedSemanticClassificationsRequestArgs, DiagnosticWithLinePosition, CompilerOptionsDiagnosticsRequestArgs, FileLocationRequestArgs, FileSpanWithContext, DefinitionInfoAndBoundSpan, FileSpan, OccurrencesResponseItem, SyntacticDiagnosticsSyncRequestArgs, SemanticDiagnosticsSyncRequestArgs, SuggestionDiagnosticsSyncRequestArgs, JsxClosingTagRequestArgs, DocumentHighlightsRequestArgs, DocumentHighlightsItem, SetCompilerOptionsForInferredProjectsArgs, ProjectInfoRequestArgs, ProjectInfo, RenameRequestArgs, RenameResponseBody, RenameInfoSuccess, SpanGroup, ReferencesResponseBody, ReferencesResponseItem, OutliningSpan, TodoCommentRequestArgs, SpanOfEnclosingCommentRequestArgs, IndentationRequestArgs, BraceCompletionRequestArgs, QuickInfoResponseBody, FormatRequestArgs, CodeEdit, FormatOnKeyRequestArgs, CompletionsRequestArgs, CompletionEntry, CompletionInfo, CompletionDetailsRequestArgs, CompletionEntryDetails, CompileOnSaveAffectedFileListSingleProject, CompileOnSaveEmitFileRequestArgs, SignatureHelpRequestArgs, SignatureHelpItems, ChangeRequestArgs, ReloadRequestArgs, NavtoRequestArgs, NavtoItem, FileLocationOrRangeRequestArgs, GetApplicableRefactorsRequestArgs, ApplicableRefactorInfo, GetEditsForRefactorRequestArgs, OrganizeImportsRequestArgs, FileCodeEdits, GetEditsForFileRenameRequestArgs, CodeFixRequestArgs, CodeFixAction, GetCombinedCodeFixRequestArgs, CombinedCodeActions, ApplyCodeActionCommandRequestArgs, FileRangeRequestArgs, ConfigurePluginRequestArguments, SelectionRangeRequestArgs, Request, StatusResponseBody, OpenExternalProjectRequest, OpenExternalProjectsRequest, CloseExternalProjectRequest, SynchronizeProjectListRequest, UpdateOpenRequest, ApplyChangedToOpenFilesRequest, DefinitionRequest, EmitOutputRequest, FileLocationRequest, RenameRequest, RenameFullRequest, OpenRequest, QuickInfoRequest, FileRequest, TodoCommentRequest, IndentationRequest, BraceCompletionRequest, DocCommentTemplateRequest, SpanOfEnclosingCommentRequest, FormatRequest, FormatOnKeyRequest, CompletionsRequest, CompletionDetailsRequest, CompileOnSaveAffectedFileListRequest, CompileOnSaveEmitFileRequest, SignatureHelpRequest, CompilerOptionsDiagnosticsRequest, EncodedSyntacticClassificationsRequest, EncodedSemanticClassificationsRequest, SemanticDiagnosticsSyncRequest, SyntacticDiagnosticsSyncRequest, SuggestionDiagnosticsSyncRequest, GeterrRequest, GeterrForProjectRequest, ChangeRequest, ConfigureRequest, ReloadRequest, SavetoRequestArgs, NavtoRequest, DocumentHighlightsRequest, SetCompilerOptionsForInferredProjectsRequest, ProjectInfoRequest, JsxClosingTagRequest, CodeFixRequest, GetCombinedCodeFixRequest, ApplyCodeActionCommandRequest, GetApplicableRefactorsRequest, GetEditsForRefactorRequest, OrganizeImportsRequest, GetEditsForFileRenameRequest, ConfigurePluginRequest, SelectionRangeRequest, PrepareCallHierarchyRequest, ProvideCallHierarchyIncomingCallsRequest, ProvideCallHierarchyOutgoingCallsRequest, TextSpanWithContext } from "./ts.server.protocol";
1+
import { HostCancellationToken, CompilerOptions, getEmitDeclarations, Diagnostic, flattenDiagnosticMessageText, diagnosticCategoryName, map, DiagnosticRelatedInformation, getLineAndCharacterOfPosition, LineAndCharacter, TextChange, textSpanEnd, Debug, OperationCanceledException, MultiMap, Path, flatMapToMutable, isArray, flatMap, deduplicate, equateValues, DocumentPosition, contains, UserPreferences, RenameLocation, documentSpansEqual, firstOrUndefined, ReferencedSymbol, ReferencedSymbolDefinitionInfo, createTextSpan, find, createMap, Push, DocumentSpan, TextSpan, PossibleProgramFileInfo, getSnapshotText, perfLogger, WithMetadata, arrayFrom, filter, concatenate, DefinitionInfo, EmitOutput, ImplementationLocation, TextInsertion, DocumentHighlights, RenameInfo, identity, displayPartsToString, ScriptKind, QuickInfo, createTextSpanFromBounds, formatting, mapDefined, startsWith, compareStringsCaseSensitiveUI, fileExtensionIs, Extension, singleIterator, normalizePath, NavigationBarItem, NavigationTree, NavigateToItem, getSupportedCodeFixes, TextRange, RefactorEditInfo, FileTextChanges, CodeActionCommand, toArray, CodeAction, stringContains, SelectionRange, createMapFromTemplate, version, mapIterator, arrayIterator, mapDefinedIterator, arrayReverseIterator, FormatCodeSettings, first, computeLineAndCharacterOfPosition, computeLineStarts, isString, CallHierarchyItem, CallHierarchyIncomingCall, CallHierarchyOutgoingCall, mapOneOrMany, toFileNameLowerCase } from "./ts";
2+
import { Project, NormalizedPath, isInferredProject, isExternalProject, Logger, LogLevel, indent, ServerHost, ProjectService, emptyArray, toNormalizedPath, isConfiguredProject, ITypingsInstaller, ProjectServiceEventHandler, GcTimer, ProjectServiceOptions, ProjectServiceEvent, ProjectsUpdatedInBackgroundEvent, ProjectLoadingStartEvent, ProjectLoadingFinishEvent, LargeFileReferencedEvent, ConfigFileDiagEvent, ProjectLanguageServiceStateEvent, ProjectInfoTelemetryEvent, ProjectKind, Msg, updateProjectIfDirty, ScriptInfo, Errors, convertFormatOptions, convertUserPreferences, convertScriptKindName, stringifyIndented, ScriptInfoOrConfig, isConfigFile, PerformanceEvent } from "./ts.server";
3+
import { Location, DiagnosticWithFileName, CommandTypes, Message, RequestCompletedEventBody, ProjectLoadingStartEventBody, ProjectLoadingFinishEventBody, LargeFileReferencedEventBody, ConfigFileDiagnosticEventBody, ProjectLanguageServiceStateEventName, ProjectLanguageServiceStateEventBody, TelemetryEventName, TelemetryEventBody, ProjectsUpdatedInBackgroundEventBody, FileRequestArgs, Response, DiagnosticEventKind, DiagnosticEventBody, EncodedSyntacticClassificationsRequestArgs, EncodedSemanticClassificationsRequestArgs, DiagnosticWithLinePosition, CompilerOptionsDiagnosticsRequestArgs, FileLocationRequestArgs, FileSpanWithContext, DefinitionInfoAndBoundSpan, FileSpan, OccurrencesResponseItem, SyntacticDiagnosticsSyncRequestArgs, SemanticDiagnosticsSyncRequestArgs, SuggestionDiagnosticsSyncRequestArgs, JsxClosingTagRequestArgs, DocumentHighlightsRequestArgs, DocumentHighlightsItem, SetCompilerOptionsForInferredProjectsArgs, ProjectInfoRequestArgs, ProjectInfo, RenameRequestArgs, RenameResponseBody, RenameInfoSuccess, SpanGroup, ReferencesResponseBody, ReferencesResponseItem, OutliningSpan, TodoCommentRequestArgs, SpanOfEnclosingCommentRequestArgs, IndentationRequestArgs, BraceCompletionRequestArgs, QuickInfoResponseBody, FormatRequestArgs, CodeEdit, FormatOnKeyRequestArgs, CompletionsRequestArgs, CompletionEntry, CompletionInfo, CompletionDetailsRequestArgs, CompletionEntryDetails, CompileOnSaveAffectedFileListSingleProject, CompileOnSaveEmitFileRequestArgs, SignatureHelpRequestArgs, SignatureHelpItems, ChangeRequestArgs, ReloadRequestArgs, NavtoRequestArgs, NavtoItem, FileLocationOrRangeRequestArgs, GetApplicableRefactorsRequestArgs, ApplicableRefactorInfo, GetEditsForRefactorRequestArgs, OrganizeImportsRequestArgs, FileCodeEdits, GetEditsForFileRenameRequestArgs, CodeFixRequestArgs, CodeFixAction, GetCombinedCodeFixRequestArgs, CombinedCodeActions, ApplyCodeActionCommandRequestArgs, FileRangeRequestArgs, ConfigurePluginRequestArguments, SelectionRangeRequestArgs, Request, StatusResponseBody, OpenExternalProjectRequest, OpenExternalProjectsRequest, CloseExternalProjectRequest, SynchronizeProjectListRequest, UpdateOpenRequest, ApplyChangedToOpenFilesRequest, DefinitionRequest, EmitOutputRequest, FileLocationRequest, RenameRequest, RenameFullRequest, OpenRequest, QuickInfoRequest, FileRequest, TodoCommentRequest, IndentationRequest, BraceCompletionRequest, DocCommentTemplateRequest, SpanOfEnclosingCommentRequest, FormatRequest, FormatOnKeyRequest, CompletionsRequest, CompletionDetailsRequest, CompileOnSaveAffectedFileListRequest, CompileOnSaveEmitFileRequest, SignatureHelpRequest, CompilerOptionsDiagnosticsRequest, EncodedSyntacticClassificationsRequest, EncodedSemanticClassificationsRequest, SemanticDiagnosticsSyncRequest, SyntacticDiagnosticsSyncRequest, SuggestionDiagnosticsSyncRequest, GeterrRequest, GeterrForProjectRequest, ChangeRequest, ConfigureRequest, ReloadRequest, SavetoRequestArgs, NavtoRequest, DocumentHighlightsRequest, SetCompilerOptionsForInferredProjectsRequest, ProjectInfoRequest, JsxClosingTagRequest, CodeFixRequest, GetCombinedCodeFixRequest, ApplyCodeActionCommandRequest, GetApplicableRefactorsRequest, GetEditsForRefactorRequest, OrganizeImportsRequest, GetEditsForFileRenameRequest, ConfigurePluginRequest, SelectionRangeRequest, TextSpanWithContext, PrepareCallHierarchyRequest, ProvideCallHierarchyIncomingCallsRequest, ProvideCallHierarchyOutgoingCallsRequest } from "./ts.server.protocol";
44
import * as ts from "./ts";
5+
import * as protocol from "./ts.server.protocol";
56
interface StackTraceError extends Error {
67
stack?: string;
78
}

src/testRunner/Harness.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1+
import * as Parallel from "./Harness.Parallel";
2+
export { Parallel };
13
export * from "../harness/Harness";
24
export * from "./fourslashRunner";
35
export * from "./compilerRunner";
46
export * from "./externalCompileRunner";
57
export * from "./test262Runner";
68
export * from "./runner";
7-
import * as Parallel from "./Harness.Parallel";
8-
export { Parallel };
9+
import "./ts"; // include all the unit tests

src/testRunner/compilerRunner.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { FileBasedTest, RunnerBase, TestRunnerKind, IO, getFileBasedTestConfigurationDescription, FileBasedTestConfiguration, TestCaseParser, Compiler, getFileBasedTestConfigurations, Baseline } from "./Harness";
22
import { normalizeSeparators, basename } from "./vpath";
3-
import { some, getDirectoryPath, CompilerOptions, cloneCompilerOptions, combinePaths, isRootedDiskPath, getNormalizedAbsolutePath, fileExtensionIs, Extension, length, toPath, identity } from "./ts";
3+
import { some, getDirectoryPath, CompilerOptions, cloneCompilerOptions, combinePaths, isRootedDiskPath, getNormalizedAbsolutePath, fileExtensionIs, Extension, length, toPath, identity } from "../services/ts";
44
import { CompilationResult } from "./compiler";
55
import { sanitizeTraceResolutionLogEntry, removeTestPathPrefixes } from "./Utils";
66
import * as vpath from "./vpath";

src/testRunner/externalCompileRunner.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { RunnerBase, IO, isWorker, Baseline, TestRunnerKind } from "./Harness";
2-
import { Debug, flatten, comparePathsCaseSensitive, compareValues, compareStringsCaseSensitive, stringContains } from "./ts";
2+
import { Debug, flatten, comparePathsCaseSensitive, compareValues, compareStringsCaseSensitive, stringContains } from "../compiler/ts";
33
const fs: typeof import("fs") = require("fs");
44
const path: typeof import("path") = require("path");
55
const del: typeof import("del") = require("del");

0 commit comments

Comments
 (0)