• Temporarily sets the config to the given value for all tests in the suite.

    Parameters

    • config: {
          defaultEngine?: "r-shell" | "tree-sitter";
          engines?: readonly (
              | undefined
              | {
                  lax?: boolean;
                  treeSitterWasmPath?: string;
                  type?: "tree-sitter";
                  wasmPath?: string;
                  [key: string]: unknown;
              }
              | { rPath?: string; type?: "r-shell"; [key: string]: unknown }
          )[];
          ignoreSourceCalls?: boolean;
          semantics?: {
              environment?: {
                  overwriteBuiltIns?: {
                      definitions?: readonly (
                          | undefined
                          | { assumePrimitive?: ...; names?: ...; suffixes?: ...; type?: ... }
                          | { assumePrimitive?: ...; names?: ...; type?: ...; value?: ... }
                          | {
                              assumePrimitive?: ...;
                              config?: ...;
                              names?: ...;
                              processor?: ...;
                              type?: ...;
                          }
                      )[];
                      loadDefaults?: boolean;
                  };
              };
          };
          solver?: {
              pointerTracking?: boolean;
              resolveSource?: {
                  dropPaths?: DropPathsOption;
                  ignoreCapitalization?: boolean;
                  inferWorkingDirectory?: InferWorkingDirectory;
                  searchPath?: readonly (undefined | string)[];
              };
              slicer?: { threshold?: number };
              variables?: VariableResolve;
          };
          [key: string]: unknown;
      }
      • [key: string]: unknown
      • Optional ReadonlydefaultEngine?: "r-shell" | "tree-sitter"

        The default engine to use for interacting with R code. If this is undefined, an arbitrary engine from engines will be used.

      • Optional Readonlyengines?: readonly (
            | undefined
            | {
                lax?: boolean;
                treeSitterWasmPath?: string;
                type?: "tree-sitter";
                wasmPath?: string;
                [key: string]: unknown;
            }
            | { rPath?: string; type?: "r-shell"; [key: string]: unknown }
        )[]

        The engines to use for interacting with R code. Currently, supports TreeSitterEngineConfig and RShellEngineConfig. An empty array means all available engines will be used.

      • Optional ReadonlyignoreSourceCalls?: boolean

        Whether source calls should be ignored, causing processSourceCall's behavior to be skipped

      • Optional Readonlysemantics?: {
            environment?: {
                overwriteBuiltIns?: {
                    definitions?: readonly (
                        | undefined
                        | { assumePrimitive?: ...; names?: ...; suffixes?: ...; type?: ... }
                        | { assumePrimitive?: ...; names?: ...; type?: ...; value?: ... }
                        | {
                            assumePrimitive?: ...;
                            config?: ...;
                            names?: ...;
                            processor?: ...;
                            type?: ...;
                        }
                    )[];
                    loadDefaults?: boolean;
                };
            };
        }

        Configure language semantics and how flowR handles them

        • Optional Readonlyenvironment?: {
              overwriteBuiltIns?: {
                  definitions?: readonly (
                      | undefined
                      | { assumePrimitive?: ...; names?: ...; suffixes?: ...; type?: ... }
                      | { assumePrimitive?: ...; names?: ...; type?: ...; value?: ... }
                      | {
                          assumePrimitive?: ...;
                          config?: ...;
                          names?: ...;
                          processor?: ...;
                          type?: ...;
                      }
                  )[];
                  loadDefaults?: boolean;
              };
          }

          Semantics regarding the handling of the environment

          • Optional ReadonlyoverwriteBuiltIns?: {
                definitions?: readonly (
                    | undefined
                    | { assumePrimitive?: ...; names?: ...; suffixes?: ...; type?: ... }
                    | { assumePrimitive?: ...; names?: ...; type?: ...; value?: ... }
                    | {
                        assumePrimitive?: ...;
                        config?: ...;
                        names?: ...;
                        processor?: ...;
                        type?: ...;
                    }
                )[];
                loadDefaults?: boolean;
            }

            Do you want to overwrite (parts) of the builtin definition?

            • Optional Readonlydefinitions?: readonly (
                  | undefined
                  | { assumePrimitive?: ...; names?: ...; suffixes?: ...; type?: ... }
                  | { assumePrimitive?: ...; names?: ...; type?: ...; value?: ... }
                  | {
                      assumePrimitive?: ...;
                      config?: ...;
                      names?: ...;
                      processor?: ...;
                      type?: ...;
                  }
              )[]

              The definitions to load

            • Optional ReadonlyloadDefaults?: boolean

              Should the default configuration still be loaded?

      • Optional Readonlysolver?: {
            pointerTracking?: boolean;
            resolveSource?: {
                dropPaths?: DropPathsOption;
                ignoreCapitalization?: boolean;
                inferWorkingDirectory?: InferWorkingDirectory;
                searchPath?: readonly (undefined | string)[];
            };
            slicer?: { threshold?: number };
            variables?: VariableResolve;
        }

        How to resolve constants, constraints, cells, …

        • Optional ReadonlypointerTracking?: boolean

          Whether to track pointers in the dataflow graph, if not, the graph will be over-approximated wrt. containers and accesses

        • Optional ReadonlyresolveSource?: {
              dropPaths?: DropPathsOption;
              ignoreCapitalization?: boolean;
              inferWorkingDirectory?: InferWorkingDirectory;
              searchPath?: readonly (undefined | string)[];
          }

          If lax source calls are active, flowR searches for sourced files much more freely, based on the configurations you give it. This option is only in effect if ignoreSourceCalls is set to false.

          • Optional ReadonlydropPaths?: DropPathsOption

            Allow to drop the first or all parts of the sourced path, if it is relative.

          • Optional ReadonlyignoreCapitalization?: boolean

            search for filenames matching in the lowercase

          • Optional ReadonlyinferWorkingDirectory?: InferWorkingDirectory

            try to infer the working directory from the main or any script to analyze.

          • Optional ReadonlysearchPath?: readonly (undefined | string)[]

            Additionally search in these paths

        • Optionalslicer?: { threshold?: number }

          The configuration for flowR's slicer

          • Optional Readonlythreshold?: number

            The maximum number of iterations to perform on a single function call during slicing

        • Optional Readonlyvariables?: VariableResolve

          How to resolve variables and their values

    Returns void