mongo/docs/test_commands.md
Steve McClure 32e8f260de SERVER-124136 Format markdown via prettier: wrap lines and use width of 100 (#52231)
GitOrigin-RevId: 3305c1e2ee3a6a2c3a5b2b7883b0f491a59ed646
2026-04-21 19:20:11 +00:00

41 lines
1.3 KiB
Markdown

# Test Commands
All test commands are denoted with the `.testOnly()` modifier to the `MONGO_REGISTER_COMMAND`
invocation. For example:
```c++
MONGO_REGISTER_COMMAND(EchoCommand).testOnly();
```
## How to enable
To be able to run these commands, the server must be started with the `enableTestCommands=1` server
parameter (e.g. `--setParameter enableTestCommands=1`). Resmoke.py often sets this server parameter
for testing.
## Examples
Some often-used commands that are test-only:
- [configureFailPoint][fail_point_cmd]
- [replSetTest][repl_set_test_cmd]
- [sleep][sleep_cmd]
As a very rough estimate, about 10% of all server commands are test-only. These additional commands
will appear in `db.runCommand({listCommands: 1})` when the server has test commands enabled.
## Test Command Infrastructure
A few pointers to relevant code that sets this up:
- [test_commands_enabled.h][test_commands_enabled]
- [MONGO_REGISTER_COMMAND][register_command]
[empty_capped_cmd]: ../src/mongo/db/commands/test_commands.cpp
[fail_point_cmd]: ../src/mongo/db/commands/fail_point_cmd.cpp
[register_command]: ../src/mongo/db/commands.h
[repl_set_test_cmd]: ../src/mongo/db/repl/repl_set_commands.cpp
[sleep_cmd]: ../src/mongo/db/commands/sleep_command.cpp
[test_commands_enabled]: ../src/mongo/db/commands/test_commands_enabled.h