diff --git a/CHANGELOG.md b/CHANGELOG.md index 825a755c..53333252 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Improved Output formatting and colorization +### Fixed + +- navigation to source file related issue + ## [4.0.2] - 2021-11-22 ### Added diff --git a/src/AbstractExecutable.ts b/src/AbstractExecutable.ts index e42bcc8c..b62dba46 100644 --- a/src/AbstractExecutable.ts +++ b/src/AbstractExecutable.ts @@ -782,6 +782,7 @@ export abstract class AbstractExecutable implements Disposable { } resolved = await this.resolveText(resolved); + resolved = pathlib.normalize(resolved); resolved = this._findFilePath(resolved); this.shared.log.debug('_resolveSourceFilePath:', file, '=>', resolved); @@ -789,8 +790,8 @@ export abstract class AbstractExecutable implements Disposable { return resolved; } - protected _findFilePath(matchedPath: string): string { - if (pathlib.isAbsolute(matchedPath)) return matchedPath; + private _findFilePath(path: string): string { + if (pathlib.isAbsolute(path)) return path; const directoriesToCheck: string[] = [pathlib.dirname(this.properties.path)]; @@ -804,9 +805,9 @@ export abstract class AbstractExecutable implements Disposable { ) directoriesToCheck.push(this.shared.workspaceFolder.uri.fsPath); - const found = getAbsolutePath(matchedPath, directoriesToCheck); + const found = getAbsolutePath(path, directoriesToCheck); - return found || matchedPath; + return found || path; } public sendStaticEvents( diff --git a/src/framework/GoogleTestExecutable.ts b/src/framework/GoogleTestExecutable.ts index fc3d7632..9bab8241 100644 --- a/src/framework/GoogleTestExecutable.ts +++ b/src/framework/GoogleTestExecutable.ts @@ -14,7 +14,7 @@ import { TestGrouping } from '../TestGroupingInterface'; import { TestResultBuilder } from '../TestResultBuilder'; import { XmlParser, XmlTag, XmlTagProcessor } from '../util/XmlParser'; import { LineProcessor, TextStreamParser } from '../util/TextStreamParser'; -import { debugAssert, debugBreak } from '../util/DevelopmentHelper'; +import { assert, debugBreak } from '../util/DevelopmentHelper'; export class GoogleTestExecutable extends AbstractExecutable { public constructor(shared: WorkspaceShared, execInfo: RunnableProperties, private readonly _argumentPrefix: string) { @@ -318,8 +318,8 @@ class TestSuiteListingProcessor implements XmlTagProcessor { onopentag(tag: XmlTag): void { switch (tag.name) { case 'testcase': { - debugAssert(this.suiteName); - debugAssert(tag.attribs.name); + assert(this.suiteName); + assert(tag.attribs.name); this.create( tag.attribs.name, this.suiteName!,