Skip to content

Commit 1f3c8ef

Browse files
committed
failurePatterns: settings/emitters: stricter types
1 parent 1df4310 commit 1f3c8ef

File tree

2 files changed

+15
-14
lines changed

2 files changed

+15
-14
lines changed

src/config.ts

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,17 @@ export interface OptionConfig {
152152
statusBarVisibility: StatusBarOptionVisibility;
153153
}
154154

155+
export interface FailurePattern {
156+
regexp: string;
157+
file?: number;
158+
line?: number;
159+
message?: number;
160+
actual?: number;
161+
expected?: number;
162+
}
163+
164+
export type FailurePatternsConfig = (FailurePattern | string)[] | string;
165+
155166
export interface ExtensionConfigurationSettings {
156167
autoSelectActiveFolder: boolean;
157168
defaultActiveFolder: string | null;
@@ -174,7 +185,7 @@ export interface ExtensionConfigurationSettings {
174185
buildToolArgs: string[];
175186
parallelJobs: number;
176187
ctestPath: string;
177-
ctest: { parallelJobs: number; allowParallelJobs: boolean; testExplorerIntegrationEnabled: boolean; testSuiteDelimiter: string; testSuiteDelimiterMaxOccurrence: number; failurePatterns: Object; debugLaunchTarget: string | null };
188+
ctest: { parallelJobs: number; allowParallelJobs: boolean; testExplorerIntegrationEnabled: boolean; testSuiteDelimiter: string; testSuiteDelimiterMaxOccurrence: number; failurePatterns: FailurePatternsConfig; debugLaunchTarget: string | null };
178189
parseBuildDiagnostics: boolean;
179190
enabledOutputParsers: string[];
180191
debugConfig: CppDebugConfiguration;
@@ -397,7 +408,7 @@ export class ConfigurationReader implements vscode.Disposable {
397408
get testSuiteDelimiterMaxOccurrence(): number {
398409
return this.configData.ctest.testSuiteDelimiterMaxOccurrence;
399410
}
400-
get ctestFailurePatterns(): Object {
411+
get ctestFailurePatterns(): FailurePatternsConfig {
401412
return this.configData.ctest.failurePatterns;
402413
}
403414
get ctestDebugLaunchTarget(): string | null {
@@ -627,7 +638,7 @@ export class ConfigurationReader implements vscode.Disposable {
627638
parallelJobs: new vscode.EventEmitter<number>(),
628639
ctestPath: new vscode.EventEmitter<string>(),
629640
cpackPath: new vscode.EventEmitter<string>(),
630-
ctest: new vscode.EventEmitter<{ parallelJobs: number; allowParallelJobs: boolean; testExplorerIntegrationEnabled: boolean; testSuiteDelimiter: string; testSuiteDelimiterMaxOccurrence: number; failurePatterns: Object; debugLaunchTarget: string | null }>(),
641+
ctest: new vscode.EventEmitter<{ parallelJobs: number; allowParallelJobs: boolean; testExplorerIntegrationEnabled: boolean; testSuiteDelimiter: string; testSuiteDelimiterMaxOccurrence: number; failurePatterns: FailurePatternsConfig; debugLaunchTarget: string | null }>(),
631642
parseBuildDiagnostics: new vscode.EventEmitter<boolean>(),
632643
enabledOutputParsers: new vscode.EventEmitter<string[]>(),
633644
debugConfig: new vscode.EventEmitter<CppDebugConfiguration>(),

src/ctest.ts

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import { ProjectController } from '@cmt/projectController';
1717
import { extensionManager } from '@cmt/extension';
1818
import { CMakeProject } from '@cmt/cmakeProject';
1919
import { handleCoverageInfoFiles } from '@cmt/coverage';
20+
import { FailurePattern, FailurePatternsConfig } from '@cmt/config';
2021

2122
nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })();
2223
const localize: nls.LocalizeFunc = nls.loadMessageBundle();
@@ -132,17 +133,6 @@ interface ProjectCoverageConfig {
132133
coverageInfoFiles: string[];
133134
}
134135

135-
interface FailurePattern {
136-
regexp: string;
137-
file?: number;
138-
line?: number;
139-
message?: number;
140-
actual?: number;
141-
expected?: number;
142-
}
143-
144-
type FailurePatternsConfig = string | string[] | FailurePattern[];
145-
146136
export function searchOutputForFailures(patterns: FailurePatternsConfig, output: string): vscode.TestMessage[] {
147137
output = normalizeLF(output);
148138
const messages = [];

0 commit comments

Comments
 (0)