@eagleoutice/flowr-dev
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
39 lines (38 loc) • 2.56 kB
TypeScript
import { type LintingResult, LintingRuleCertainty } from '../linter-format';
import type { MergeableRecord } from '../../util/objects';
import { LintingRuleTag } from '../linter-tags';
import type { FunctionInfo } from '../../queries/catalog/dependencies-query/function-info/function-info';
export interface SoftwareHasTestsResult extends LintingResult {
readonly message: string;
}
export interface SoftwareHasTestsConfig extends MergeableRecord {
/** Additional test function patterns beyond the defaults */
readonly additionalTestFunctions: FunctionInfo[];
}
export interface SoftwareHasTestsMetadata extends MergeableRecord {
readonly testFilesFound: number;
readonly testCallsFound: number;
}
export declare const SOFTWARE_HAS_TESTS: {
readonly createSearch: (config: SoftwareHasTestsConfig) => import("../../search/flowr-search-builder").FlowrSearchBuilder<"from-query", [], import("../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation, import("../../search/flowr-search").FlowrSearchElements<import("../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation, import("../../search/flowr-search").FlowrSearchElement<import("../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>[]>>;
readonly processSearchResult: (elements: import("../../search/flowr-search").FlowrSearchElements<import("../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation, import("../../search/flowr-search").FlowrSearchElement<import("../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>[]>, _config: SoftwareHasTestsConfig, data: import("../../project/flowr-analyzer").ReadonlyFlowrAnalysisProvider<import("../../r-bridge/parser").KnownParser>) => {
results: SoftwareHasTestsResult[];
'.meta': {
testFilesFound: number;
testCallsFound: number;
};
};
readonly prettyPrint: {
readonly query: (result: SoftwareHasTestsResult) => string;
readonly full: (result: SoftwareHasTestsResult) => string;
};
readonly info: {
readonly name: "Software Has Tests";
readonly description: "Checks whether the software project has tests (test files in a test directory or test function calls in R code).";
readonly tags: readonly [LintingRuleTag.Usability, LintingRuleTag.Reproducibility];
readonly certainty: LintingRuleCertainty.BestEffort;
readonly defaultConfig: {
readonly additionalTestFunctions: readonly [];
};
};
};