ES|QL: Implement GenerativeCsvTests #134697
Draft
+994
−44
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR is based on #134696, so merge that first.
Here I'm introducing a variant of the generative tests that runs on top of CSV rather than on a real ES cluster.
GenerativeCsvTests
is a mix ofCsvTests
andGenerativeRestTest
, most of the code is actually borrowed from these two classes.The intention is to run ES|QL generative tests in a setup that produces stable and deterministic results (no multi-threading, no multiple shards, no random order in the results and so on), so that we can also validate the output.
This PR also introduces some additional result validation to the command generators, made optional with a flag, so that it only runs in these tests (and not in
GenerativeIT
, that can't rely on stable results).