mojo test
Execute unit, integration, and documentation tests.
Synopsis
mojo test [options] <input>
mojo test [options] <input>
Description
Execute the given Mojo tests.
Options
Collection options
--collect-only
, --co
Only collect tests, don't execute them.
--filter <REGEX>
A POSIX extended regular expression regex string that will be used to filter test IDs. See https://en.wikibooks.org/wiki/Regular_Expressions/POSIX-Extended_Regular_Expressions for more information.
Test run options
--debug
Launch a debugger session with mojo debug
. This is not supported for docstring tests. Most debug flags are supported, including --vscode
.
Compilation options
--no-optimization
, -O0
Disables compiler optimizations. This might reduce the amount of time it takes to compile the Mojo source file. It might also reduce the runtime performance of the compiled executable.
-I <PATH>
Appends the given path to the list of directories to search for imported Mojo files.
-D <KEY=VALUE>
Defines a named value that can be used from within the Mojo source file being executed. For example, -D foo=42
defines a name foo
that, when queried with the sys.param_env
module from within the Mojo program, would yield the compile-time value 42
.
Target options
--target-triple <TRIPLE>
Sets the compilation target triple. Defaults to the host target.
--target-cpu <CPU>
Sets the compilation target CPU. Defaults to the host CPU.
--target-features <FEATURES>
Sets the compilation target CPU features. Defaults to the host features.
--march <ARCHITECTURE>
Sets the architecture for which to generate code.
--mcpu <CPU>
Sets the CPU for which to generate code.
--mtune <TUNE>
Sets the CPU for which to tune code.
Compilation diagnostic options
Controls how the Mojo compiler outputs diagnostics related to compiling and running Mojo source code.
--diagnose-missing-doc-strings
Emits diagnostics for missing or partial doc strings.
--validate-doc-strings
Emits errors for invalid doc strings instead of warnings.
--max-notes-per-diagnostic <INTEGER>
When the Mojo compiler emits diagnostics, it sometimes also prints notes with additional information. This option sets an upper threshold on the number of notes that can be printed with a diagnostic. If not specified, the default maximum is 10.
Debugger options
--X <ARG>
Passes ARG as an argument to the debugger when the debug session is launched using the debugger command-line interface. This option can be specified multiple times. It is ignored when using the RPC mode.
Debug server options
--vscode
Launches the debug session on VS Code via the Mojo extension.
--rpc
Alias for --vscode.
--terminal <TERMINAL>
The type of terminal to use when starting a launch debug session.
console
(default): the debuggee will be launched in the default environment for the editor. If using VS Code, this will be the Debug Console.dedicated
: the debuggee will be launched in a dedicated terminal within the editor.
--port <PORT>
Uses the given PORT to communicate with the RPC debug server. Defaults to trying all ports from 12355 to 12364 inclusive.
Experimental compilation options
--debug-level <LEVEL>
, -g (LEVEL=full)
Sets the level of debug info to use at compilation. The value must be one of: none
(the default value), line-tables
, or full
. Please note that there are issues when generating debug info for some Mojo programs that have yet to be addressed.
--sanitize <CHECK>
Turns on runtime checks. The following values are supported: address
(detects memory issues), and thread
(detects multi-threading issues). Please note that these checks are not currently supported when executing Mojo programs.
--debug-info-language <LANGUAGE>
Sets the language to emit as part of the debug info. The supported languages are: Mojo
, and C
. C
is the default, and is useful to enable rudimentary debugging and binary introspection in tools that don't understand Mojo.
Common options
--diagnostic-format <FORMAT>
The format in which diagnostics and error messages are printed. Must be one of "text" or "json" ("text" is the default).
--help
, -h
Displays help information.
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!
😔 What went wrong?