interface TestCaseParams {
    autoSelectIf: AutoSelectPredicate;
    cfgExcludeProperties: readonly (
        | "no-direct-fd-cycles"
        | "no-direct-cd-cycles"
        | "single-entry-and-exit"
        | "has-entry-and-exit"
        | "entry-reaches-all"
        | "exit-reaches-all"
    )[];
    flowrConfig: FlowrConfigOptions;
    getId: () => IdGenerator<object>;
    skipCompare: boolean;
    skipTreeSitter: boolean;
    sliceDirection?: SliceDirection;
    testCaseFailType: TestCaseFailType;
}

Properties

autoSelectIf: AutoSelectPredicate

Predicate allowing the inclusion of additional normalized nodes into the slice

cfgExcludeProperties: readonly (
    | "no-direct-fd-cycles"
    | "no-direct-cd-cycles"
    | "single-entry-and-exit"
    | "has-entry-and-exit"
    | "entry-reaches-all"
    | "exit-reaches-all"
)[]

Which CFG properties to exclude for CFG checks

flowrConfig: FlowrConfigOptions

The flowr configuration to be used for the test

getId: () => IdGenerator<object>

The RNode ID generator

skipCompare: boolean

Whether to skip AST comparison tests between the RShell and Tree-sitter (only relevant when issues are known)

skipTreeSitter: boolean

Disable Tree-sitter tests

sliceDirection?: SliceDirection

The direction of the slice, defaults to forward

testCaseFailType: TestCaseFailType

Denotes whether the tests should fail in all cases or only for shell or Tree-sitter tests