apex-mutation-testing 1.5.2 → 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/lib/adapter/apexClassRepository.d.ts +14 -1
- package/lib/adapter/apexClassRepository.js +93 -31
- package/lib/adapter/apexClassRepository.js.map +1 -1
- package/lib/mutator/experimentalSwitchMutator.d.ts +7 -0
- package/lib/mutator/experimentalSwitchMutator.js +18 -1
- package/lib/mutator/experimentalSwitchMutator.js.map +1 -1
- package/lib/mutator/mutationListener.d.ts +2 -0
- package/lib/mutator/mutationListener.js +20 -8
- package/lib/mutator/mutationListener.js.map +1 -1
- package/lib/reporter/HTMLReporter.js +68 -12
- package/lib/reporter/HTMLReporter.js.map +1 -1
- package/lib/service/configReader.js +8 -1
- package/lib/service/configReader.js.map +1 -1
- package/lib/service/mutantGenerator.d.ts +12 -4
- package/lib/service/mutantGenerator.js +16 -12
- package/lib/service/mutantGenerator.js.map +1 -1
- package/lib/service/mutationTestingService.d.ts +0 -1
- package/lib/service/mutationTestingService.js +61 -30
- package/lib/service/mutationTestingService.js.map +1 -1
- package/lib/service/typeDiscoverer.d.ts +12 -0
- package/lib/service/typeDiscoverer.js +46 -2
- package/lib/service/typeDiscoverer.js.map +1 -1
- package/npm-shrinkwrap.json +1210 -1207
- package/oclif.manifest.json +1 -1
- package/package.json +34 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutantGenerator.js","sourceRoot":"","sources":["../../src/service/mutantGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"mutantGenerator.js","sourceRoot":"","sources":["../../src/service/mutantGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,6 @@ export declare class MutationTestingService {
|
|
|
22
22
|
calculateScore(mutationResult: ApexMutationTestResult): number;
|
|
23
23
|
private buildMutantResult;
|
|
24
24
|
private calculateMutationPosition;
|
|
25
|
-
private convertAbsoluteIndexToLineColumn;
|
|
26
25
|
private filterTestMethods;
|
|
27
26
|
private createAdapters;
|
|
28
27
|
private fetchApexClass;
|
|
@@ -6,6 +6,30 @@ import { MutantGenerator } from './mutantGenerator.js';
|
|
|
6
6
|
import { formatDuration, timeExecution } from './timeUtils.js';
|
|
7
7
|
import { TypeDiscoverer } from './typeDiscoverer.js';
|
|
8
8
|
import { ApexClassTypeMatcher, SObjectTypeMatcher } from './typeMatcher.js';
|
|
9
|
+
/**
|
|
10
|
+
* Advance a 1-indexed (line, column) cursor through `text`, returning the
|
|
11
|
+
* position immediately AFTER the last character. Handles tokens whose text
|
|
12
|
+
* spans newlines (multi-line string literals, block comments).
|
|
13
|
+
*
|
|
14
|
+
* Used to compute the Stryker `end` position for a mutation: ANTLR tokens
|
|
15
|
+
* expose `line` and `charPositionInLine` for the START of the token but not
|
|
16
|
+
* past the end; walking `endToken.text` closes that gap without needing a
|
|
17
|
+
* separate line-offset index over the whole source.
|
|
18
|
+
*/
|
|
19
|
+
function advancePosition(text, startLine, startColumn) {
|
|
20
|
+
let line = startLine;
|
|
21
|
+
let column = startColumn;
|
|
22
|
+
for (let i = 0; i < text.length; i++) {
|
|
23
|
+
if (text.charCodeAt(i) === 10 /* \n */) {
|
|
24
|
+
line++;
|
|
25
|
+
column = 1;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
column++;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return { line, column };
|
|
32
|
+
}
|
|
9
33
|
const errorStrategies = [
|
|
10
34
|
{
|
|
11
35
|
matches: msg => msg.startsWith('Deployment failed:'),
|
|
@@ -64,17 +88,17 @@ export class MutationTestingService {
|
|
|
64
88
|
async process() {
|
|
65
89
|
const { apexClassRepository, apexTestRunner } = this.createAdapters();
|
|
66
90
|
const apexClass = await this.fetchApexClass(apexClassRepository);
|
|
67
|
-
const
|
|
91
|
+
const typeAnalysis = await this.discoverTypes(apexClass, apexClassRepository);
|
|
68
92
|
const deployTime = await this.verifyCompilation(apexClass, apexClassRepository);
|
|
69
93
|
await this.verifyTestClassCompilation(apexClassRepository);
|
|
70
94
|
const { testMethodsPerLine, testTime } = await this.runBaselineTests(apexTestRunner);
|
|
71
95
|
const coveredLines = this.extractCoveredLines(testMethodsPerLine);
|
|
72
|
-
const { mutations, mutantGenerator } = this.generateMutations(apexClass, coveredLines,
|
|
96
|
+
const { mutations, mutantGenerator, tokenStream } = this.generateMutations(apexClass, coveredLines, typeAnalysis);
|
|
73
97
|
this.displayTimeEstimate(deployTime, testTime, mutations.length);
|
|
74
98
|
if (this.dryRun) {
|
|
75
99
|
return this.buildDryRunResult(apexClass, mutations);
|
|
76
100
|
}
|
|
77
|
-
const result = await this.executeMutationLoop(apexClass, mutations, mutantGenerator, testMethodsPerLine, apexTestRunner, apexClassRepository);
|
|
101
|
+
const result = await this.executeMutationLoop(apexClass, mutations, mutantGenerator, tokenStream, testMethodsPerLine, apexTestRunner, apexClassRepository);
|
|
78
102
|
await this.rollback(apexClass, apexClassRepository);
|
|
79
103
|
return result;
|
|
80
104
|
}
|
|
@@ -90,7 +114,7 @@ export class MutationTestingService {
|
|
|
90
114
|
}
|
|
91
115
|
buildMutantResult(mutation, testResult, targetInfo) {
|
|
92
116
|
const mutationStatus = testResult.summary.outcome === 'Passed' ? 'Survived' : 'Killed';
|
|
93
|
-
const location = this.calculateMutationPosition(mutation
|
|
117
|
+
const location = this.calculateMutationPosition(mutation);
|
|
94
118
|
const originalText = this.extractMutationOriginalText(mutation);
|
|
95
119
|
return {
|
|
96
120
|
id: `${this.apexClassName}-${targetInfo.line}-${targetInfo.column}-${targetInfo.tokenIndex}-${Date.now()}`,
|
|
@@ -101,22 +125,27 @@ export class MutationTestingService {
|
|
|
101
125
|
original: originalText,
|
|
102
126
|
};
|
|
103
127
|
}
|
|
104
|
-
calculateMutationPosition(mutation
|
|
128
|
+
calculateMutationPosition(mutation) {
|
|
105
129
|
const start = mutation.target.startToken;
|
|
106
130
|
const end = mutation.target.endToken;
|
|
107
|
-
if (start.startIndex
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
131
|
+
if (start.startIndex === undefined ||
|
|
132
|
+
end.stopIndex === undefined ||
|
|
133
|
+
end.text === undefined) {
|
|
134
|
+
throw new Error(`Failed to calculate position for mutation: ${mutation.mutationName}`);
|
|
111
135
|
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
136
|
+
// ANTLR tokens expose the position of the FIRST character directly.
|
|
137
|
+
// The Stryker `end` position is exclusive (one past the last char), so
|
|
138
|
+
// we walk endToken.text to advance from the end token's own start.
|
|
139
|
+
// This correctly handles tokens that span newlines (multi-line string
|
|
140
|
+
// literals, block comments).
|
|
117
141
|
return {
|
|
118
|
-
|
|
119
|
-
|
|
142
|
+
start: {
|
|
143
|
+
line: start.line,
|
|
144
|
+
column: start.charPositionInLine + 1,
|
|
145
|
+
},
|
|
146
|
+
// ANTLR tokens always expose `text`; treat an undefined text as a
|
|
147
|
+
// programmer error rather than silently swallowing with an empty default.
|
|
148
|
+
end: advancePosition(end.text, end.line, end.charPositionInLine + 1),
|
|
120
149
|
};
|
|
121
150
|
}
|
|
122
151
|
filterTestMethods(testMethodsPerLine) {
|
|
@@ -170,9 +199,9 @@ export class MutationTestingService {
|
|
|
170
199
|
const typeDiscoverer = new TypeDiscoverer()
|
|
171
200
|
.withMatcher(apexClassMatcher)
|
|
172
201
|
.withMatcher(sObjectMatcher);
|
|
173
|
-
const
|
|
202
|
+
const analysis = await typeDiscoverer.analyzeFull(apexClass.Body);
|
|
174
203
|
this.spinner.stop('Done');
|
|
175
|
-
return
|
|
204
|
+
return analysis;
|
|
176
205
|
}
|
|
177
206
|
async verifyCompilation(apexClass, apexClassRepository) {
|
|
178
207
|
this.spinner.start(`Verifying "${this.apexClassName}" apex class compilation`, undefined, { stdout: true });
|
|
@@ -237,11 +266,11 @@ export class MutationTestingService {
|
|
|
237
266
|
}
|
|
238
267
|
return coveredLines;
|
|
239
268
|
}
|
|
240
|
-
generateMutations(apexClass, coveredLines,
|
|
269
|
+
generateMutations(apexClass, coveredLines, typeAnalysis) {
|
|
241
270
|
this.spinner.start(`Generating mutants for "${this.apexClassName}" ApexClass`, undefined, { stdout: true });
|
|
242
271
|
const mutantGenerator = new MutantGenerator();
|
|
243
272
|
const mutatorFilter = this.buildMutatorFilter();
|
|
244
|
-
const mutations = mutantGenerator.compute(apexClass.Body, coveredLines, typeRegistry, mutatorFilter, this.skipPatterns, this.allowedLines);
|
|
273
|
+
const { mutations, tokenStream } = mutantGenerator.compute(apexClass.Body, coveredLines, typeAnalysis.typeRegistry, mutatorFilter, this.skipPatterns, this.allowedLines, { tree: typeAnalysis.tree, tokenStream: typeAnalysis.tokenStream });
|
|
245
274
|
if (mutations.length === 0) {
|
|
246
275
|
this.spinner.stop('0 mutations generated');
|
|
247
276
|
throw new Error(this.messages.getMessage('error.noMutations', [
|
|
@@ -250,7 +279,7 @@ export class MutationTestingService {
|
|
|
250
279
|
]));
|
|
251
280
|
}
|
|
252
281
|
this.spinner.stop(`${mutations.length} mutations generated`);
|
|
253
|
-
return { mutations, mutantGenerator };
|
|
282
|
+
return { mutations, mutantGenerator, tokenStream };
|
|
254
283
|
}
|
|
255
284
|
buildMutatorFilter() {
|
|
256
285
|
if (this.includeMutators)
|
|
@@ -279,13 +308,13 @@ export class MutationTestingService {
|
|
|
279
308
|
id: `${this.apexClassName}-${mutation.target.startToken.line}-${mutation.target.startToken.charPositionInLine}-${mutation.target.startToken.tokenIndex}-${Date.now()}`,
|
|
280
309
|
mutatorName: mutation.mutationName,
|
|
281
310
|
status: 'Pending',
|
|
282
|
-
location: this.calculateMutationPosition(mutation
|
|
311
|
+
location: this.calculateMutationPosition(mutation),
|
|
283
312
|
replacement: mutation.replacement,
|
|
284
313
|
original: this.extractMutationOriginalText(mutation),
|
|
285
314
|
})),
|
|
286
315
|
};
|
|
287
316
|
}
|
|
288
|
-
async executeMutationLoop(apexClass, mutations, mutantGenerator, testMethodsPerLine, apexTestRunner, apexClassRepository) {
|
|
317
|
+
async executeMutationLoop(apexClass, mutations, mutantGenerator, tokenStream, testMethodsPerLine, apexTestRunner, apexClassRepository) {
|
|
289
318
|
const mutationResults = {
|
|
290
319
|
sourceFile: this.apexClassName,
|
|
291
320
|
sourceFileContent: apexClass.Body,
|
|
@@ -309,7 +338,7 @@ export class MutationTestingService {
|
|
|
309
338
|
info: `${remainingText}Running ${testMethods.size} tests methods for "${mutation.replacement}" mutation at line ${mutation.target.startToken.line}`,
|
|
310
339
|
});
|
|
311
340
|
}
|
|
312
|
-
const { mutantResult, progressMessage } = await this.evaluateMutation(mutation, mutantGenerator, apexClass, testMethodsPerLine, apexTestRunner, apexClassRepository);
|
|
341
|
+
const { mutantResult, progressMessage } = await this.evaluateMutation(mutation, mutantGenerator, tokenStream, apexClass, testMethodsPerLine, apexTestRunner, apexClassRepository);
|
|
313
342
|
mutationResults.mutants.push(mutantResult);
|
|
314
343
|
++mutationCount;
|
|
315
344
|
const updatedRemainingText = this.formatRemainingTime(loopStartTime, mutationCount, mutations.length);
|
|
@@ -320,8 +349,8 @@ export class MutationTestingService {
|
|
|
320
349
|
this.progress.finish({ info: 'All mutations evaluated' });
|
|
321
350
|
return mutationResults;
|
|
322
351
|
}
|
|
323
|
-
async evaluateMutation(mutation, mutantGenerator, apexClass, testMethodsPerLine, apexTestRunner, apexClassRepository) {
|
|
324
|
-
const mutatedVersion = mutantGenerator.mutate(mutation);
|
|
352
|
+
async evaluateMutation(mutation, mutantGenerator, tokenStream, apexClass, testMethodsPerLine, apexTestRunner, apexClassRepository) {
|
|
353
|
+
const mutatedVersion = mutantGenerator.mutate(mutation, tokenStream);
|
|
325
354
|
const targetInfo = {
|
|
326
355
|
line: mutation.target.startToken.line,
|
|
327
356
|
column: mutation.target.startToken.charPositionInLine,
|
|
@@ -342,7 +371,7 @@ export class MutationTestingService {
|
|
|
342
371
|
}
|
|
343
372
|
catch (error) {
|
|
344
373
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
345
|
-
const location = this.calculateMutationPosition(mutation
|
|
374
|
+
const location = this.calculateMutationPosition(mutation);
|
|
346
375
|
const originalText = this.extractMutationOriginalText(mutation);
|
|
347
376
|
const strategy = errorStrategies.find(s => s.matches(errorMessage));
|
|
348
377
|
const classification = strategy.classify(errorMessage, targetInfo);
|
|
@@ -371,13 +400,15 @@ export class MutationTestingService {
|
|
|
371
400
|
return `Remaining: ${formatDuration(remainingMs)} | `;
|
|
372
401
|
}
|
|
373
402
|
async rollback(apexClass, apexClassRepository) {
|
|
403
|
+
this.spinner.start(`Rolling back "${this.apexClassName}" ApexClass to its original state`, undefined, { stdout: true });
|
|
374
404
|
try {
|
|
375
|
-
this.spinner.start(`Rolling back "${this.apexClassName}" ApexClass to its original state`, undefined, { stdout: true });
|
|
376
405
|
await apexClassRepository.update(apexClass);
|
|
377
406
|
this.spinner.stop('Done');
|
|
378
407
|
}
|
|
379
|
-
catch {
|
|
380
|
-
this.spinner.stop('
|
|
408
|
+
catch (error) {
|
|
409
|
+
this.spinner.stop(`Rollback FAILED — '${this.apexClassName}' remains in a mutated state on the target org. Redeploy the original class manually.`);
|
|
410
|
+
const cause = error instanceof Error ? error.message : String(error);
|
|
411
|
+
throw new Error(`Rollback of '${this.apexClassName}' failed. The class on the target org is still in a mutated state. Redeploy manually. Underlying cause: ${cause}`);
|
|
381
412
|
}
|
|
382
413
|
}
|
|
383
414
|
extractMutationOriginalText(mutation) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutationTestingService.js","sourceRoot":"","sources":["../../src/service/mutationTestingService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mutationTestingService.js","sourceRoot":"","sources":["../../src/service/mutationTestingService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,19 @@
|
|
|
1
|
+
import { ParserRuleContext } from 'antlr4ts';
|
|
2
|
+
import { CommonTokenStream } from 'apex-parser';
|
|
1
3
|
import { TypeRegistry } from '../type/TypeRegistry.js';
|
|
2
4
|
import { TypeMatcher } from './typeMatcher.js';
|
|
5
|
+
/**
|
|
6
|
+
* Result of a full parse + type analysis. The tree and tokenStream are
|
|
7
|
+
* reused by MutantGenerator so we parse the class exactly once per run.
|
|
8
|
+
*/
|
|
9
|
+
export interface TypeAnalysisResult {
|
|
10
|
+
typeRegistry: TypeRegistry;
|
|
11
|
+
tree: ParserRuleContext;
|
|
12
|
+
tokenStream: CommonTokenStream;
|
|
13
|
+
}
|
|
3
14
|
export declare class TypeDiscoverer {
|
|
4
15
|
private matchers;
|
|
5
16
|
withMatcher(matcher: TypeMatcher): this;
|
|
6
17
|
analyze(code: string): Promise<TypeRegistry>;
|
|
18
|
+
analyzeFull(code: string): Promise<TypeAnalysisResult>;
|
|
7
19
|
}
|
|
@@ -75,7 +75,46 @@ class TypeDiscoverListener {
|
|
|
75
75
|
if (elementType !== undefined) {
|
|
76
76
|
methodInfo.elementType = elementType;
|
|
77
77
|
}
|
|
78
|
-
|
|
78
|
+
// Key by name+arity so Apex overloads do not clobber one another.
|
|
79
|
+
// Apex allows overloaded methods with identical names but different parameter counts;
|
|
80
|
+
// keying by name alone caused the last-parsed overload to win silently.
|
|
81
|
+
const arity = this.countFormalParameters(ctx);
|
|
82
|
+
const key = `${methodName}/${arity}`;
|
|
83
|
+
this._methodTypeTable.set(key, methodInfo);
|
|
84
|
+
// Preserve name-only lookup for callers that have no arity context.
|
|
85
|
+
// Name-only lookup resolves to the first declared overload (deterministic).
|
|
86
|
+
if (!this._methodTypeTable.has(methodName)) {
|
|
87
|
+
this._methodTypeTable.set(methodName, methodInfo);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
countFormalParameters(ctx) {
|
|
91
|
+
// Locate formalParameters child (child 3 in `<returnType> <name> ( formalParameters )`)
|
|
92
|
+
// and count comma-separated entries. Falls back to 0 if the shape is unexpected.
|
|
93
|
+
/* c8 ignore next -- defensive: parser always populates children on a method decl */
|
|
94
|
+
const children = ctx.children ?? [];
|
|
95
|
+
for (const child of children) {
|
|
96
|
+
const text = child.text;
|
|
97
|
+
if (text?.startsWith('(') && text.endsWith(')')) {
|
|
98
|
+
const inner = text.slice(1, -1).trim();
|
|
99
|
+
if (inner.length === 0)
|
|
100
|
+
return 0;
|
|
101
|
+
// crude param count — commas at depth 0 only
|
|
102
|
+
let depth = 0;
|
|
103
|
+
let count = 1;
|
|
104
|
+
for (let i = 0; i < inner.length; i++) {
|
|
105
|
+
const ch = inner[i];
|
|
106
|
+
if (ch === '<' || ch === '(')
|
|
107
|
+
depth++;
|
|
108
|
+
else if (ch === '>' || ch === ')')
|
|
109
|
+
depth--;
|
|
110
|
+
else if (ch === ',' && depth === 0)
|
|
111
|
+
count++;
|
|
112
|
+
}
|
|
113
|
+
return count;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
/* c8 ignore next -- defensive: well-formed method declaration always contains (...) */
|
|
117
|
+
return 0;
|
|
79
118
|
}
|
|
80
119
|
exitMethodDeclaration(_ctx) {
|
|
81
120
|
/* istanbul ignore next -- defensive guard: exit always follows enter */
|
|
@@ -146,6 +185,10 @@ export class TypeDiscoverer {
|
|
|
146
185
|
return this;
|
|
147
186
|
}
|
|
148
187
|
async analyze(code) {
|
|
188
|
+
const { typeRegistry } = await this.analyzeFull(code);
|
|
189
|
+
return typeRegistry;
|
|
190
|
+
}
|
|
191
|
+
async analyzeFull(code) {
|
|
149
192
|
const lexer = new ApexLexer(new CaseInsensitiveInputStream('other', code));
|
|
150
193
|
const tokenStream = new CommonTokenStream(lexer);
|
|
151
194
|
const parser = new ApexParser(tokenStream);
|
|
@@ -155,7 +198,8 @@ export class TypeDiscoverer {
|
|
|
155
198
|
for (const matcher of this.matchers) {
|
|
156
199
|
await matcher.populate?.();
|
|
157
200
|
}
|
|
158
|
-
|
|
201
|
+
const typeRegistry = new TypeRegistry(listener.methodTypeTable, listener.variableScopes, listener.classFields, this.matchers);
|
|
202
|
+
return { typeRegistry, tree, tokenStream };
|
|
159
203
|
}
|
|
160
204
|
}
|
|
161
205
|
//# sourceMappingURL=typeDiscoverer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeDiscoverer.js","sourceRoot":"","sources":["../../src/service/typeDiscoverer.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EACT,UAAU,EAEV,0BAA0B,EAC1B,iBAAiB,EACjB,eAAe,GAChB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"typeDiscoverer.js","sourceRoot":"","sources":["../../src/service/typeDiscoverer.ts"],"names":[],"mappings":"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"}
|