apache / apache/datafusion

Run sqllogictests multiple times with random fuzzed configurations

Offen
#9,746 1 Kommentar 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen
enhancement
Vorherrschende Sprache
Rust
Sterne
9.3k
Forks
2.4k
Ø Merge
3 T. 11 Std.
Gemergte PRs (30 T.)
360

Beschreibung

### Is your feature request related to a problem or challenge?

A thought coming off of fixing #9736 is that we could likely proactively identify issues like this by modifying sqllogictests to run multiple times with a variety of randomized configs.

### Describe the solution you'd like

Perhaps this function https://github.com/apache/arrow-datafusion/blob/6c6305159711fbca43ff7798faa52aaebcb2e7d3/datafusion/sqllogictest/src/test_context.rs#L67
could be modified to set random configs over a range of valid values.

Then this could be modified to run in a loop a set number of times based on a passed option with a default.

https://github.com/apache/arrow-datafusion/blob/6c6305159711fbca43ff7798faa52aaebcb2e7d3/datafusion/sqllogictest/bin/sqllogictests.rs#L90

### Describe alternatives you've considered

If this results in tests taking too long, the default could be 1 run, but occasionally (prior to a release perhaps) a longer test with many runs could be run.

### Additional context

_No response_

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Lies datafusion/sqllogictest/src/test_context.rs rund um die verlinkte Funktion und untersuche anschließend datafusion/sqllogictest/bin/sqllogictests.rs rund um die verlinkte Option. Bestimme, wie zufällige gültige Konfigurationen erzeugt werden und wie die Anzahl der Durchläufe übergeben und standardmäßig gesetzt werden soll. Als erledigt gilt dies, wenn sqllogictests Durchläufe mit zufälligen Konfigurationen wiederholen kann und dabei ein Standardwert von einem Durchlauf erhalten bleibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
rust
Bereich
testing-qa
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.