buildscripts/smoke_tests/README.md
Smoke test suites are suites that are meant to be run locally during iterative development as a way to get a decent sense of whether a change to a given component has not broken the core functionality of that component. They are not meant to replace running a patch build before merging in a change, but are a way to get relatively quick feedback locally.
Below is information about the smoke test suites available for each team and how to run them.
Tests are tagged with catalog-and-routing. To run:
bazel test --test_output=summary --test_tag_filters=-intermediate_debug,catalog-and-routing //...
Tests are tagged with server-integration-smoke. To run:
bazel test --test_output=summary --test_tag_filters=-intermediate_debug,server-integration-smoke //...
The integration tests for the smoke test are tagged with replication-smoke. To run:
bazel test --test_tag_filters=replication-smoke //...
This should be run in conjunction with the unit tests, which can be run with the following:
bazel test --test_output=summary --test_tag_filters=-intermediate_debug //src/mongo/db/repl/...
To run both combined:
bazel test --test_output=summary --test_tag_filters=mongo_unittest,replication-smoke,-intermediate_debug //src/mongo/db/repl/... //buildscripts/smoke_tests/...
Tests are tagged with server-programmability. To run:
bazel test --test_output=summary --test_tag_filters=-intermediate_debug,server-programmability //...
The smoke test suites for storage execution are divided up into components. The smoke test suite for all of the components that storage execution owns can be run with the following:
bazel test --test_output=summary --test_tag_filters=-intermediate_debug,server-bsoncolumn,server-collection-write-path,server-external-sorter,server-index-builds,server-key-string,server-storage-engine-integration,server-timeseries-bucket-catalog,server-tracking-allocators,server-ttl //...
The individual components owned by storage execution are as follows:
The unit tests for the server-bsoncolumn component can be run with the following:
bazel test --test_output=summary --test_tag_filters=-intermediate_debug,server-bsoncolumn //...
There are currently no smoke test integration tests for this component.
The unit and integration tests for the server-collection-write-path component can be run with the following:
bazel test --test_output=summary --test_tag_filters=-intermediate_debug,server-collection-write-path //...
The unit tests for the server-external-sorter component can be run with the following:
bazel test --test_output=summary --test_tag_filters=-intermediate_debug,server-external-sorter //...
There are currently no smoke test integration tests for this component.
The unit and integration tests for the server-index-builds component can be run with the following:
bazel test --test_output=summary --test_tag_filters=-intermediate_debug,server-index-builds //...
The unit tests for the server-key-string component can be run with the following:
bazel test --test_output=summary --test_tag_filters=-intermediate_debug,server-key-string //...
There are currently no smoke test integration tests for this component.
The unit and integration tests for the server-storage-engine-integration component can be run with the following:
bazel test --test_output=summary --test_tag_filters=-intermediate_debug,server-storage-engine-integration //...
The unit tests for the server-timeseries-bucket-catalog component can be run with the following:
bazel test --test_output=summary --test_tag_filters=-intermediate_debug,server-timeseries-bucket-catalog //...
There are currently no smoke test integration tests for this component.
The unit tests for the server-tracking-allocators component can be run with the following:
bazel test --test_output=summary --test_tag_filters=-intermediate_debug,server-tracking-allocators //...
There are currently no smoke test integration tests for this component.
The unit and integration tests for the server-ttl component can be run with the following:
bazel test --test_output=summary --test_tag_filters=-intermediate_debug,server-ttl //...
The tests for the streams component can be run with the following:
bazel test --test_output=summary --test_tag_filters=-intermediate_debug,streams-smoke --streams_release_build=True //...
When running smoke_tests.py, also include --streams_release_build=True:
python buildscripts/smoke_tests/smoke_tests.py streams --//bazel/config:streams_release_build=True