Search
K

Configuration Parameters

stable_branch

The stable branch is the name of the main working branch in the repository. For example, you can use main as the stable branch name.
Type: string
This configuration is mandatory and requires a user-provided value.
To set the stable branch, run the following command:
redefine config set stable_branch=<stable_branch_name>

time_limit

The time limit represents the maximum clock time for an optimized run, measured in seconds. It defines the overall duration of the testing phase from start to end. For example, to set a time limit of exactly 5 minutes, configure the value as 300 seconds.
Unlike the time budget, the time limit refers to the precise start-to-end time. If a run is expected to take 5 minutes with 3 parallel processes, the configured time limit should still be 300 seconds.
Type: float
Default value: 0
To set the time limit, use the following command:
redefine config set time_limit=<time_limit_in_seconds>

min_accuracy

The min_accuracy configuration acts as a safety measure against drops in accuracy. It ensures continuous test execution until the desired accuracy is achieved, within a predefined time limit. This helps prevent scenarios of extended test duration or sudden infrastructure changes causing inadequate test coverage.
Type: float the range is [0, 1]
Default value: 0 meaning do not use min_accuracy
To set the minimum accuracy, use the following command:
redefine config set min_accuracy=<min_accuracy>

flaky_filter_threshold

The flaky_filter_threshold config is used to skip tests with a high flake rate, which is defined as the percentage of test runs in the last 30 days that were flaky. To skip tests based on flakiness, set the value of theflaky_filter_threshold to a number between 0.01 and 1, representing the maximum allowable flake rate as a percentage. For example, setting it to 0.15 would skip tests with a flake rate of 15% or higher.
Type: float the range is [0, 1]
Default value: 1.0 meaning don't skip any tests
To set the value of the flaky_filter_threshold, run the following command:
redefine config set flaky_filter_threshold=<threshold_value>

report_tests_metadata

This config determines whether Redefine should send non-anonymized test metadata to the server. The test metadata includes information such as test and file names, and its purpose is to provide insights into the Test Inspection Dashboard. If this config is set to false, the test metadata will be anonymized and will not be sent to the server.
Note that this metadata is sent only for the tests and not for the code.
Default value: true (Tests metadata will be sent to Redefine's server for analysis).
To set the value of this config, use the following command:
redefine config set report_tests_metadata=<true/false>

fallback_strategy

This config determines how Redefine should behave in case of a failure or error.
The available options are:
  • FALLBACK_STRATEGY_RUN_ALL: If an error occurs, Redefine will run all tests.
  • FALLBACK_STRATEGY_RUN_NOTHING: If an error occurs, Redefine will not run any tests.
Note that this config is used only in case of an error or failure. If everything runs smoothly, the value of fallback_strategy will not affect the behavior of Redefine.
Type: enum
Default value: FALLBACK_STRATEGY_RUN_ALL
To set the value of this config, use the following command:
redefine config set fallback_strategy=<fallback_strategy>

slack_bot_enabled

To enable AI Slack Notifications, you should configure Redefine's Slack integration to send the messages from the CI.
Type: boolean
Default value: false
Run the following command before starting Redefine in your CI workflow:
redefine config set slack_bot_enabled=true

disable_openai

To disable the OpenAI integration within the AI Slack Notifications, you may configure the Slack bot to now share information with OpenAI.
Type: boolean
Default value: false
Run the following command before starting Redefine in your CI workflow:
redefine config set disable_openai=true

file_based_prediction

To ensure the test execution order within each test file remains consistent, configure redefine to predict according to it.
Type: boolean
Default value: false
Run the following command before starting Redefine in your CI workflow:
redefine config set file_based_prediction=true

skip_known_failures

To reduce developer friction and prevent all changes from being blocked until the failed tests are fixed, we should skip tests that have already failed on the main branch. This approach will streamline the development process and allow continuous progress even while addressing the failed tests.
Type: boolean
Default value: true for Optimize Mode
Default value: false for Fail-Fast Mode
Default value: false for Prioritize Mode
To set the value of this config, use the following command:
redefine config set skip_known_failures=true

auto_uninstall

By default, Redefine automatically uninstalls after the first test executions to avoid impact for unrelated test executions. However, in certain scenarios, it may be necessary to keep the installation continuous for multiple consecutive test executions to ensure a valid Redefine installation. In such cases, it is recommended to modify the default behavior and set the auto_uninstall value to false.
Type: boolean
default value: true
redefine config set auto_uninstall=false

run_tests_on_file_change

This configuration controls whether Redefine automatically executes tests within a changed test file. By default, this configuration is enabled (true) to ensure running tests after changing them.
Type: boolean
Default value: true To set the value of this config, use the following command:
redefine config set run_tests_on_file_change=false