UNPKG

forge-mutation-tester

Version:

Mutation testing tool for Solidity smart contracts using Gambit

90 lines 3.23 kB
import { MutationResult } from '../types'; export declare class GambitService { private gambitPath; checkGambitInstalled(): Promise<boolean>; installGambit(): Promise<void>; compileProject(projectPath: string): Promise<void>; prepareProject(projectPath: string): Promise<void>; setupGambitConfig(projectPath: string): Promise<void>; setupGambitConfigWithoutDependencies(projectPath: string, includePatterns?: string[], excludePatterns?: string[]): Promise<void>; ensureSolcAvailable(projectPath: string): Promise<string>; runMutationTesting(projectPath: string): Promise<MutationResult[]>; /** * Filter source files based on include/exclude patterns * @param files List of files to filter * @param includePatterns Optional glob patterns to include * @param excludePatterns Optional glob patterns to exclude * @returns Filtered list of files */ private filterFilesByPatterns; runMutationTestingWithoutSetup(projectPath: string, numMutants?: number, includePatterns?: string[], excludePatterns?: string[], customRemappings?: string[]): Promise<MutationResult[]>; /** * Test a single mutant by replacing the original file, running tests, and restoring */ private testSingleMutant; /** * Parse mutants from Gambit output directory */ private parseGambitMutants; private parseGambitResults; getSurvivedMutations(results: MutationResult[]): Promise<MutationResult[]>; /** * Re-test only the previously survived mutations * This is much more efficient for iterative mode */ retestSurvivedMutations(projectPath: string, previousResults: MutationResult[]): Promise<MutationResult[]>; /** * Find existing mutant directories from previous runs */ private findMutantDirectories; /** * Generate comprehensive mutation analysis with Guardian Mutation Score */ generateMutationAnalysis(results: MutationResult[], projectPath: string): Promise<{ guardianScore: number; analysis: { summary: any; byFile: any; byMutationType: any; criticalGaps: any[]; recommendations: string[]; }; reportMarkdown: string; }>; /** * Calculate Guardian Mutation Score - a more sophisticated scoring system */ private calculateGuardianScore; /** * Get severity level for mutation types */ private getMutationSeverity; /** * Analyze mutations by file */ private analyzeByFile; /** * Analyze mutations by type */ private analyzeByMutationType; /** * Identify critical gaps that need immediate attention */ private identifyCriticalGaps; /** * Calculate priority score for a mutant based on various factors */ private calculateMutantPriority; /** * Generate actionable recommendations */ private generateRecommendations; /** * Generate detailed markdown mutation analysis report */ private generateMutationReport; private getScoreEmoji; private getScoreGrade; private describeMutationImpact; } //# sourceMappingURL=gambit.service.d.ts.map