mirror of
https://github.com/mongodb/mongo.git
synced 2024-11-24 00:17:37 +01:00
5339a049c1
GitOrigin-RevId: 4498272aa5000aff8fc8effec2b3c8e96ba98ea6
41 lines
1.3 KiB
Markdown
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
|