I recently tried to run jsCore locally with my usual invocation:
python3 buildscripts/resmoke.py run --suites=core -j 40 --continueOnFailure
However, several tests failed:
jstests/core/collection_uuid_find.js jstests/core/collection_uuid_write_commands.js jstests/core/collection_uuid_index_commands.js jstests/core/collection_uuid_coll_mod.js jstests/core/collection_uuid_rename_collection.js
The reason is that these tests are all tagged with featureFlagCommandsAcceptCollectionUUID. This means that the tests should only be permitted to run when featureFlagCommandsAcceptCollectionUUID is toggled on. However, the local resmoke.py invocation mentioned above will run the server in its default configuration without the feature flags for any in-progress features enabled. It also has no mechanism to exclude tests which are tagged based on feature flags.
Ideally, there would be an easy way to run the core test suite locally without a complex command line invocation or any extra steps. At least in my workflow, I do this regularly to confirm that I haven't broken anything fundamental before I move onto running a larger battery of tests.
I don't particularly care if this mechanism simulates the release builders or the "all feature flags" builders. In other words, it could either enable all the feature flags (except for the "fully disabled" ones) and run the entire jsCore suite. Alternatively, it could make the method of excluding feature flag tagged tests more automated, so that I didn't need to anything special to exclude tests that won't pass in the server's default configuration.
- related to
-
SERVER-62992 Remove need for resmoke.ini
- Closed