Environment Variables

## DONT_BALANCE_TESTS_FOR_SUBSYSTEMS

If this value is true, the Phoronix Test Suite stress-run manager will not attempt to distribute the selected test(s) among available hardware subsystems. For stress runs with tests covering multiple subsystems (e.g. CPU, GPU, RAM), the default behavior is try to ensure the tests to run concurrently are as balanced across the tested subsystems as possible.

The value can be of type: boolean (TRUE / FALSE). The variable is relevant for: stress-run mode.

## DONT_TRY_TO_ENSURE_TESTS_ARE_UNIQUE

When running in the stress-run mode, the default behavior will try to ensure when tests are running concurrently that as many unique tests as possible are being run. Setting this value to try will avoid that check and just attempt to truly randomize the tests being run concurrently without regard for trying to avoid duplicates.

The value can be of type: boolean (TRUE / FALSE). The variable is relevant for: stress-run mode.

## FORCE_ABSOLUTE_MIN_TIMES_TO_RUN

This option is similar to FORCE_MIN_TIMES_TO_RUN but is *absolute* in ensuring each test will run at least that number of times and not subject to change of any timed cut-offs or other factors.

The value can be of type: positive integer. The variable is relevant for: test execution / benchmarking.

## FORCE_MIN_DURATION_PER_TEST

This option can be used to specify the minimum number of times to run a given benchmark. Rather than relying on a static times-to-run count, the test will keep looping until the time has exceeded this number (in minutes).

The value can be of type: positive integer. The variable is relevant for: test execution / benchmarking.

## FORCE_MIN_TIMES_TO_RUN

This option is similar to FORCE_TIMES_TO_RUN but is used for specifying the minimum possible number of times to run. Unlike FORCE_TIMES_TO_RUN, the run count can still exceed this value if the deviation between results or other factors are too high.

The value can be of type: positive integer. The variable is relevant for: test execution / benchmarking.

## FORCE_MIN_TIMES_TO_RUN_CUTOFF

Used in conjunction with the FORCE_MIN_TIMES_TO_RUN, the FORCE_MIN_TIMES_TO_RUN_CUTOFF can be used for specifyingg the amount of time (in minutes) before foregoing additional runs. This allows cutting off the testing early if this time threshold has been reached.

The value can be of type: positive integer. The variable is relevant for: test execution / benchmarking.

## FORCE_TIMES_TO_RUN

This option can be used to override the default number of times a given test is run. Rather than being specified by the individual test profile, FORCE_TIMES_TO_RUN allows for specifying the number of times to run each benchmark.

The value can be of type: positive integer. The variable is relevant for: test execution / benchmarking.

## FORCE_TIMES_TO_RUN_MULTIPLE

This option is similar to FORCE_TIMES_TO_RUN but the value is a multiple for how many times the test profile should be run respective to its default value. If the value is set to 2 and a given test profile by default is set to run 3 times, it would now instead be run a total of 6 times. This can be used for increasing the statistical significance of test results by using a multiple of the default rather than a static number as is the case with FORCE_TIMES_TO_RUN.

The value can be of type: positive integer. The variable is relevant for: test execution / benchmarking.

## GRAPH_HIGHLIGHT

If automatically generating an HTML or PDF result file from the command-line and wanting to highlight desired result identifier(s), GRAPH_HIGHLIGHT can be set to a comma delimited list of result identifiers to highlight / color differently than the rest.

The value can be of type: string. The variable is relevant for: result output generation.

## IGNORE_RUNS

This option can be used if wanting the Phoronix Test Suite to automatically toss out a specified result position when running a test profile multiple times. E.g. setting this value to 1 will toss out automatically the first run of each test profile or a value of 3 will toss out the third run of a given test. This overrides the IgnoreRuns option also available to individual test profiles. Multiple values for runs to ignore can be specified by delimiting with a comma.

The value can be of type: string. The variable is relevant for: test execution / benchmarking.

## LIMIT_ELAPSED_TEST_TIME

This option can be used for limiting the amount of time the benchmarking process runs. The value specified is the number of minutes to allow for benchmarking. After a test finishes if that number of minutes has been exceeded, the testing process will abort early and not run any remaining tests.

The value can be of type: positive integer. The variable is relevant for: test execution / benchmarking.

## LINUX_PERF

This option allows providing additional complementary per-test graphs looking at various Linux perf subsystem metrics such as cache usage, instructions executed, and other metrics. This requires you to have Linux's perf user-space utility already installed and performance counter access.

The value can be of type: boolean (TRUE / FALSE). The variable is relevant for: test execution / benchmarking. The variable depends upon functionality provided by the Phoronix Test Suite module: linux_perf.

## MONITOR

This option can be used for system sensor monitoring during test execution. The Phoronix Test Suite system_monitor module can monitor various exposed sensors and record them as part of the result file and present them as additional graphs / metrics in the result viewer. The exposed sensors varies by platform hardware/software. This functionality also requires PHP PCNTL support and thus is not available for some platforms (i.e. Windows).

The value can be of type: enumeration (all, cpu.peak-freq, cpu.temp, cpu.power, cpu.usage, gpu.freq, gpu.power, gpu.temp, hdd.temp, memory.usage, swap.usage, sys.power, sys.temp) Multiple options can be supplied when delimited by a comma.. The variable is relevant for: test execution / benchmarking. The variable depends upon functionality provided by the Phoronix Test Suite module: system_monitor.

## NO_COLOR

This option when enabled will force-disable the CLI/TUI text coloring. By default the Phoronix Test Suite will attempt to use CLI/TUI text colors and bolding of text for supported terminals.

The value can be of type: boolean (TRUE / FALSE).

## NO_COMPILER_MASK

By default the Phoronix Test Suite attempts to determine the intended system code compilers (namely C / C++ / Fortran) and to intercept the arguments being passed to them during test installation in order to record the prominent compiler flags being used. If this behavior causes problems for your system, NO_COMPILER_MASK can be enabled for debugging purposes to avoid this compiler intercepting/symlinking behavior.

The value can be of type: boolean (TRUE / FALSE). The variable is relevant for: test installation.

## NO_DOWNLOAD_CACHE

Enable this option if the Phoronix Test Suite should not attempt to discover and use any local/remote Phoronix Test Suite download cache when installing tests and attempting to find those files locally or on a LAN resource.

The value can be of type: boolean (TRUE / FALSE). The variable is relevant for: test installation.

## NO_EXTERNAL_DEPENDENCIES

Enabling this option will have the Phoronix Test Suite skip over attempting to detect and install any system/external dependencies needed to run desired test profiles. This should just be used in case of testing/evaluation purposes and may leave some tests unable to successfully build/install.

The value can be of type: boolean (TRUE / FALSE). The variable is relevant for: test installation.

## NO_FILE_HASH_CHECKS

Enable this option if you want to skip the MD5 / SHA256 file hash checks after downloading files with known MD5/SHA256 hashsums for verification. This is namely useful for select debugging scenarios and other situations where a file may have been trivially changed / re-packaged and wishing to still install a test even though the hash no longer matches until the test profile has been updated.

The value can be of type: boolean (TRUE / FALSE). The variable is relevant for: test installation.

## NO_HTTPS

Enable this option if wanting the Phoronix Test Suite when downloading resources to attempt to only use HTTP without any HTTPS connections. Note: some downloads may fail for servers that only support HTTPS.

The value can be of type: boolean (TRUE / FALSE).

## NO_PHODEVI_CACHE

This option will disable use of the built-in Phodevi (Phoronix Device Interface) cache of system software/hardware details. When enabled, the information is not cached and will be re-computed on each query. This is mainly useful for debugging purposes.

The value can be of type: boolean (TRUE / FALSE).

## OUTPUT_DIR

When exporting a result file, this option can be used for specifying the writable directory path where the exported result files should be saved to. The file-name will be automatically generated.

The value can be of type: string. The variable is relevant for: result output generation.

## OUTPUT_FILE

When exporting a result file, this option can be used for specifying the file name / file path and name of where to save the exported result file to rather than assuming the user home directory.

The value can be of type: string. The variable is relevant for: result output generation.

## PHODEVI_SANITIZE

This option can be used for stripping out part of a string on Phodevi (Phoronix Device Interface) hardware/software properties. Namely around the reported hardware/software information in result files if wanting any values / portions of strings stripped out from that information, such as for confidential hardware strings or other privacy concerns, PHODEVI_SANITIZE can be set. The value will be removed from read Phodevi hardware/software properties if set. Multiple strings to search for can be set by delimiting with a comma. If wanting to limit the sanitization to a particular property, the property value can be specified such as [property]=[value] to sanitisze like a value of "motherboard=ABCVENDOR" or CPU=ENGINEERING-SAMPLE to delete those strings rather than simply the string to remove that will look for matches in any property."

The value can be of type: string.

## PRESET_OPTIONS

PRESET_OPTIONS can be used for seeding the values of test profile run options from the environment (though the preferred approach for pre-configuring tests in an automated manner would be by constructing your own local test suite). For setting any test option(s) from an environment variable rather than being prompted for the options when running a test. Example: "PRESET_OPTIONS='stream.run-type=Add' phoronix-test-suite benchmark stream".

The value can be of type: string. The variable is relevant for: test execution / benchmarking.

## PRESET_OPTIONS_VALUES

This option is similar to PRESET_OPTIONS and uses the same syntax but rather than seeding the selected run option it uses the value verbatim as for what is passed to the test profile run option.

The value can be of type: string. The variable is relevant for: test execution / benchmarking.

## PTS_CONCURRENT_TEST_RUNS

This option is used in the stress run/benchmarking mode to indicate the number of tests to run concurrently as part of the stress run process.

The value can be of type: positive integer. The variable is relevant for: stress-run mode.

## PTS_DISPLAY_MODE

If you wish to load a non-default display mode for a single instance, specify the mode in this variable as an alternative to adjusting the user configuration file.

The value can be of type: enumeration (BASIC, BATCH, CONCISE, SHORT, DEFAULT).

## PTS_DOWNLOAD_CACHE

PTS_DOWNLOAD_CACHE can be used for setting a path to a directory on the system containing a Phoronix Test Suite download cache if located outside one of the default locations.

The value can be of type: string. The variable is relevant for: test installation.

## PTS_EXTRA_SYSTEM_LOGS_DIR

By default the Phoronix Test Suite collects common system logs (cpuinfo, lscpu, dmesg) during the benchmarking process when saving test results. If wanting to collect additional, arbitrary system log files specific to your operating environment or for other niche system information, this option can be set as a path to a directory containing such log files. Prior to running the Phoronix Test Suite simply set PTS_EXTRA_SYSTEM_LOGS_DIR to the directory where any files should be captured from following test completion.

The value can be of type: string. The variable is relevant for: test execution / benchmarking.

## PTS_IGNORE_MODULES

Enabling this option can be used for temporarily disabling Phoronix Test Suite modules from being loaded on a given run. This is primarily for debugging purposes.

The value can be of type: boolean (TRUE / FALSE). The variable is relevant for: modules.

## PTS_MODULES

This option can be used for specifying a comma-separated list of Phoronix Test Suite modules to load at start-time, complementary to the modules specified in the user configuration file. PTS_MODULES is namely used for development purposes or wanting to temporarily enable a given module.

The value can be of type: string. The variable is relevant for: modules.

## PTS_MODULE_SETUP

This option can be used for seeding a module's settings when running the phoronix-test-suite module-setup command. An example would be: "PTS_MODULE_SETUP='phoromatic.remote_host=http://www.phoromatic.com/; phoromatic.remote_account=123456; phoromatic.remote_verifier=ABCD' phoronix-test-suite module-setup phoromatic".

The value can be of type: string. The variable is relevant for: modules.

## PTS_SILENT_MODE

This option when enabled will yield slightly less verbose Phoronix Test Suite terminal output by silencing unnecessary messages / prompts.

The value can be of type: boolean (TRUE / FALSE).

## PTS_TEST_INSTALL_ROOT_PATH

This option can be used for overriding where tests are installed to on the system. An absolute writable directory path can be the value if wanting to override the default (or user configuration file specified) test installation directory path.

The value can be of type: string. The variable is relevant for: test installation, test execution / benchmarking, stress-run mode.

## REMOVE_TESTS_OLDER_THAN

This option with the cleanup module can be used for automatically un-installing/removing installed tests if they have not been run in a period of time. The value for REMOVE_TESTS_OLDER_THAN is the number of days the test can be installed without running until this module will clean-up/remove older tests.

The value can be of type: positive integer. The variable is relevant for: test execution / benchmarking. The variable depends upon functionality provided by the Phoronix Test Suite module: cleanup.

## REMOVE_TESTS_ON_COMPLETION

When this option is set to true, installed test profiles will be automatically removed/uninstalled when they are no longer in the current test execution queue. This is used for saving disk space / resources by automatically removing installed tests after they have been executed. For more persistent behavior is the RemoveTestInstallOnCompletion option within the Phoronix Test Suite user configuration file.

The value can be of type: boolean (TRUE / FALSE). The variable is relevant for: test execution / benchmarking.

## SKIP_EXTERNAL_DEPENDENCIES

Rather than NO_EXTERNAL_DEPENDENCIES to outright disable the Phoronix Test Suite external dependency handling, SKIP_EXTERNAL_DEPENDENCIES can be used with a value of a comma separated list of specific external dependencies to avoid. This is mostly useful for any external dependencies that may be out of date or fail to install on your platform.

The value can be of type: string. The variable is relevant for: test installation.

## SKIP_TESTING_SUBSYSTEMS

This option is similar to SKIP_TESTS but allows for specifying hardware subsystems (e.g. Graphics) to skip from installing/running any test profiles beloning to that subsystem type. Multiple subsystems can be specified when delimited by a comma.

The value can be of type: string. The variable is relevant for: test installation, test execution / benchmarking.

## SKIP_TESTS

SKIP_TESTS will skip the test installation and execution of any test identifiers specified by this option. Multiple test identifiers can be specified, delimited by a comma.

The value can be of type: string. The variable is relevant for: test installation, test execution / benchmarking.

## SKIP_TESTS_HAVING_ARGS

SKIP_TESTS_HAVING_ARGS will skip the test installation and execution of any tests where the specified test arguments match the given string. E.g. if wanting to skip all Vulkan tests in a result file but run just the OpenGL tests or similar where wanting to limit the tests being run from within a result file. Multiple values can be specified when delimited by a comma.

The value can be of type: string. The variable is relevant for: test installation, test execution / benchmarking.

## SKIP_TEST_SUPPORT_CHECKS

This debugging/validation option will have the Phoronix Test Suite skip any test support checks for a test profile (architecture compatibility, OS compatibility, etc) and just assume all tests are supported.

The value can be of type: boolean (TRUE / FALSE). The variable is relevant for: test installation, test execution / benchmarking.

## SORT_BY

This option can be used for specifying the sort order for commands like auto-sort-result-file whether to sort by identifier name, test length, etc.

Default Value: identifier

The value can be of type: enumeration (date, date-asc, date-desc, identifier).

## TERMINAL_WIDTH

This option is used for overriding the detected default of the terminal width for the CLI/TUI interface.

The value can be of type: positive integer.

## TEST_EXECUTION_SORT

This option can be used for controlling the sort order that the test profiles / benchmarks are run in, whether sorted or not and in what manner.

The value can be of type: enumeration (none, random, dependencies, test-estimated-time, test-estimated-time-desc, test, default). The variable is relevant for: test execution / benchmarking.

## TEST_EXEC_PREPEND

This option can be used if wanting to specify a binary (e.g. sudo, cgroup or other resource limiting binaries or performance counters) to be called as the binary pre-pended prior to running a test profile binary/script. This option is namely used for specialized use-cases.

The value can be of type: string. The variable is relevant for: test execution / benchmarking.

## TEST_RESULTS_DESCRIPTION

This option can be used for specifying the result file description for saving that string and not be prompted for providing a description during the test execution process.

The value can be of type: string. The variable is relevant for: test execution / benchmarking, stress-run mode.

## TEST_RESULTS_IDENTIFIER

This option can be used for specifying the result identifier for distinguishing this run within the saved result file.

The value can be of type: string. The variable is relevant for: test execution / benchmarking, stress-run mode.

## TEST_RESULTS_NAME

This option can be used for specifying the result file name for saving the test/benchmark results automatically to the given name.

The value can be of type: string. The variable is relevant for: test execution / benchmarking, stress-run mode.

## TEST_TIMEOUT_AFTER

When this variable is set, the value will can be set to "auto" or a positive integer. The value indicates the number of minutes until a test run should be aborted, such as for a safeguard against hung/deadlocked processes or other issues. Setting this to a high number as a backup would be recommended for fending off possible hangs / stalls in the testing process if the test does not quit. If the value is "auto", it will quit if the time of a test run exceeds 3x the average time it normally takes the particular test to complete its run. In the future, auto might be enabled by default in a future PTS release. This functionality requires system PHP PCNTL support (i.e. no Windows support).

The value can be of type: positive integer. The variable is relevant for: test execution / benchmarking. The variable depends upon functionality provided by the Phoronix Test Suite module: test_timeout.

## TOTAL_LOOP_COUNT

This option is used to specify a multiple if wishing to run each test multiple times rather than just once per saved result file.

The value can be of type: positive integer. The variable is relevant for: test execution / benchmarking.

## TOTAL_LOOP_TIME

This option is used to specify the amount of time (in minutes) to loop the testing during the Phoronix Test Suite stress run or normal benchmarking process.

The value can be of type: positive integer. The variable is relevant for: stress-run mode, test execution / benchmarking.

## TURBOSTAT_LOG

This option allows attaching "turbostat" outputs to the end of archived benchmark/test log files if interested in the Linux TurboStat information. This assumes you have turbostat available on the Linux system(s) and have permissions (root) for running turbostat.

The value can be of type: boolean (TRUE / FALSE). The variable is relevant for: test execution / benchmarking. The variable depends upon functionality provided by the Phoronix Test Suite module: turbostat.

## WATCHDOG_MAXIMUM_WAIT

Used in conjunction with the WATCHDOG_SENSOR option, this is the maximum amount of time to potentially wait when the watchdog is triggered for surpassing the threshold value. The value is the maximum number of minutes to wait being above the threshold.

The value can be of type: positive integer. The variable is relevant for: test execution / benchmarking. The variable depends upon functionality provided by the Phoronix Test Suite module: watchdog.

## WATCHDOG_SENSOR

This option will enable the watchdog module that checks system sensor values pre/interim/post benchmark execution. If the selected sensor(s) exceed the static threshold level, testing will be paused before continuing to any additional tests so that the system can sleep. Ideally this will allow the system to return to a more suitable state before resuming testing after the sensor value is back below the threshold or after a pre-defined maximum time limit to spend sleeping. This module is mostly focused on pausing testing should system core temperatures become too elevated to allow time for heat dissipation.

The value can be of type: enumeration (cpu.temp, gpu.temp, hdd.temp, sys.temp) Multiple options can be supplied when delimited by a comma.. The variable is relevant for: test execution / benchmarking. The variable depends upon functionality provided by the Phoronix Test Suite module: watchdog.

## WATCHDOG_SENSOR_THRESHOLD

Used in conjunction with the WATCHDOG_SENSOR option, the WATCHDOG_SENSOR_THRESHOLD specifies the threshold for the sensor reading when the testing should be paused (e.g. the Celsius cut-off temperature).

The value can be of type: positive integer. The variable is relevant for: test execution / benchmarking. The variable depends upon functionality provided by the Phoronix Test Suite module: watchdog.