Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-63104

Make it easy to run jsCore locally again in a world with tests tagged by feature flag

    • Fully Compatible
    • v6.1, v6.0, v5.0

      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.

            Assignee:
            trevor.guidry@mongodb.com Trevor Guidry
            Reporter:
            david.storch@mongodb.com David Storch
            Votes:
            5 Vote for this issue
            Watchers:
            15 Start watching this issue

              Created:
              Updated:
              Resolved: