[SERVER-62330] ABT testing infrastructure Created: 31/Dec/21  Updated: 06/Dec/22  Resolved: 13/Jul/22

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Major - P3
Reporter: Nicholas Zolnierz Assignee: Backlog - Query Optimization
Resolution: Won't Do Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
is related to SERVER-66928 Investigate golden testing framework ... Closed
Assigned Teams:
Query Optimization
Sprint: QO 2022-02-07
Participants:

 Description   

This ticket is ambiguous at the time of writing, but the motivation is to update the unit tests from the fuzzer to avoid large string comparisons on ABT dumps. Some ideas from the design:

  1. Callback/registration mechanism with an overload on ABT type (similar to OnCommand helpers)
  2. Tailored methods to look for a certain pattern/structure in the ABT
  3. std::visit type method on ABT. Not strictly a test feature, could be useful elsewhere.
  4. bindAboveBelow sort of thing, similar to the way rewrites are triggered
  5. Explain to BSON, then implement helper methods to interact with that (e.g. existing tests)
  6. Should we tailor helper methods to interrogate a path element sub-tree?
  7. Add configurable options to ABT->BSON that collapses/simplifies that resulting tree
  8. Iterator type interface, but in what order?


 Comments   
Comment by Hana Pearlman [ 13/Jul/22 ]

As decided in design review and some other meetings, we'll use golden testing to handle ABT translation unit tests. I think that mostly takes away the need for this ticket, so I'm closing in favor of SERVER-66928. Maybe in the course of that ticket we'll find that it's useful to have one or more of the above suggestions. For example, we may choose to change the tests to assert on only part of a translated ABT , so something like option 2, 5, or 7 could be helpful. We can re-open this or file a new ticket as necessary.

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