-
Type: Improvement
-
Resolution: Duplicate
-
Priority: Major - P3
-
None
-
Affects Version/s: 3.5.1
-
Component/s: Testing Infrastructure
Currently, tasks and variants in everygreen.yml both define the storageEngine argument to resmoke.py. The tasks define either mmapv1 or wiredTiger and a variant that uses a different storage engine would override that.
The override is implicitly enabled by having the resmoke arguments defined for a variant ("test_flags") be passed in later than the resmoke arguments for the task ("resmoke_args").
The side-effect of this ordering is subtle and could cause breakages when we we make changes to how resmoke is invoked.
A better way would be to make the storage engine a variable. E.g.
- <<: *task_template name: jsCore commands: - func: "do setup" - func: "run tests" vars: resmoke_args: --suites=core --storageEngine=mmapv1 run_multiple_jobs: true
becomes:
- <<: *task_template name: jsCore_mmapv1 commands: - func: "do setup" - func: "run tests" vars: resmoke_args: --suites=core run_multiple_jobs: true task_storage_engine: 'mmapv1'
Variants can similarly define a variant_storage_engine which can then explicitly override the storage engine of the task when constructing resmoke arguments in run_tests (or define task definitions without storage engines)
- duplicates
-
SERVER-32036 Remove _WT tasks in evergreen.yml
- Closed
-
SERVER-31976 Refactor mmapv1 tests into dedicated buildvariants
- Closed