[SERVER-61293] Update the jstest.py and fixture.py interface Created: 05/Nov/21  Updated: 06/Dec/22

Status: Open
Project: Core Server
Component/s: Testing Infrastructure
Affects Version/s: None
Fix Version/s: 6.0 Desired

Type: Task Priority: Major - P3
Reporter: Robert Guo (Inactive) Assignee: Backlog - Server Tooling and Methods (STM) (Inactive)
Resolution: Unresolved Votes: 0
Labels: tig-qwin-eligible
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Assigned Teams:
Server Tooling & Methods
Backwards Compatibility: Fully Compatible
Participants:
Story Points: 3

 Description   

The mongo shell that gets created as part of jstest.py should be aware of fixtures since shell-spawned fixtures need a lot of the configuration passed into fixture.py

Right now a lot of the options for shell fixtures are done ad-hoc and mostly directly by accessing properties on the global config object, this is hard to test, and hard for someone to modify correctly if they're making a change to a fixture.

We should formalize resmoke's fixture config object, likely under fixturelib, and pass it to jstest.py for the shell's consumption, replacing current shell fixture options.

Considerations

  • Try to upfront testing locally before patches by copying over the TestData the shell sets in Evergreen for a variety of tasks and checking those options are consistent with runs locally.
  • Add unittests for the above that asserts values on the final testData object.

Generated at Thu Feb 08 05:52:04 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.