Accessing Symflower's settings in CLI
Type symflower --help
for a full list of configuration options.
Symflower's configuration options in CLI
Available commands
fix
: Fix errors in source code files.help
: Show help message. (alias:h
)language-server
: Starts the LSP based language server. (alias:ls
)lint
: Lint files.run
: Execute a program symbolically.symbols
: List symbols of files.test
: Executes tests symbolically.test-runner
: Executes tests.trace
: Analyze a trace file.unit-test-skeletons
: Generate test templates. (alias:uts
)unit-tests
: Generate test suites (BETA). (default command) (alias:ut
)update
: Download and install the latest version of Symflower.version
: Print the version of Symflower. (alias:v
)
The following command line arguments (or environment variables) can be used to change the default behavior of Symflower.
General options
Log output options
--debug
(SYMFLOWER_LOG_DEBUG
): Set log output to debugging mode.--quiet
(SYMFLOWER_LOG_QUIET
): Set log output to error mode.--verbose
(SYMFLOWER_LOG_VERBOSE
): Set log output to verbose mode.
Directory path settings
--cache-path=
(SYMFLOWER_CACHE_PATH
): The path to the cache directory. If not set, a temporary "cache" directory is created.--share-path=
(SYMFLOWER_SHARE_PATH
): Optional path to the share directory of the Symflower binary to store assets, caches and configurations.--log-path=
(SYMFLOWER_LOG_PATH
): The file path to write logs to instead of printing them.
Performance options
--memory-limit=
(SYMFLOWER_MEMORY_LIMIT
): Stop analysis if memory usage exceeds the given number of MB. Zero means no limit. (default:1024
)
Help options
-h
,--help
: Show the help message.
unit-tests
command options
By default, the symflower unit-tests
generate test suites (BETA).
--code-disable-fetch-dependencies
(SYMFLOWER_CODE_DISABLE_FETCH_DEPENDENCIES
): Disable downloading dependencies upon analyzing source code.--tests-path=
: Overwrites the path where test files are placed into.--test-generation-solver-timeout=
(SYMFLOWER_TEST_GENERATION_SOLVER_TIMEOUT
): Overwrites the default timeout in seconds for how long each solver call can run during the generation of test inputs. (default:10
)--test-generation-timeout=
(SYMFLOWER_TEST_GENERATION_TIMEOUT
): Overwrites the default timeout in seconds for the execution time for generating test inputs for one function. (default:60
)--java-test-framework=[automatic|JUnit4|JUnit5]
(SYMFLOWER_TEST_GENERATION_TEST_FRAMEWORK_JAVA
): Test framework for generating Java unit tests. (default: automatic)--test-style=[basic|table-driven-symflower]
(SYMFLOWER_TEST_GENERATION_TEST_STYLE
): Style of the generated unit tests. (default: table-driven-symflower)
General options
--output=
: Print all results in the given encoding. (go|json|none) (default: none)--version
: Print the version of this program.--version-revision
: Print the revision of this program.
Workspace options
--language=
: Analyze with this language. By default all languages are used.--workspace=
: The root directory of the project to analyze. (default: .)
unit-tests
command arguments
These are the options that are not passed via flags, but via positional arguments.
filters
: Limit the analysis to files and functions that match one of the filter patterns. Each filter is of the form<file-pattern>[::<function-regex>]
. If no filters are defined, all files and functions are analyzed.