Konfiguration des Unit-Testers
Es gibt drei Wege, Optionen für den Unit-Tester zu setzen:
Die vollständige Liste der verfügbaren Optionen finden Sie in der Liste der Konfigurationsoptionen.
Kommandozeilenargumente
Alle verfügbaren Optionen finden Sie in der Liste der Konfigurationsoptionen.
# booleansunittest --checkpoint-on-shutdownunittest --no-checkpoint-on-shutdown
# other typesunittest --checkpoint-wal-size 100000Die Kommandozeilenoptionen --settings, --on-init und --init-script können verwendet werden, um die DuckDB-Konfiguration festzulegen.
Konfigurationsdatei
Eine JSON-Datei, die mit --test-config übergeben werden kann.
Alle verfügbaren Optionen finden Sie in der Liste der Konfigurationsoptionen; ersetzen Sie - durch _.
Beispiel:
{ "checkpoint_wal_size": 100000, "checkpoint_on_shutdown": "false"}Die folgenden zusätzlichen Optionen können ebenfalls in der Konfigurationsdatei verwendet werden:
| Option | Beschreibung |
|---|---|
extends |
Liste von Konfigurationsdateien, von denen geerbt wird |
inherit_skip_tests |
Pfad der Konfiguration, von der skip_tests geerbt wird |
skip_tests |
Zu überspringende Tests |
Beispiel:
{ "extends": ["base_config.json"], "inherit_skip_tests": "test/configs/force_storage.json", "skip_tests": [ { "reason": "Contains explicit use of the memory catalog.", "paths": [ "test/sql/attach/attach_use_rollback.test", "test/sql/function/list/lambdas/arrow/warn_deprecated_arrow.test", "test/sql/cte/warn_deprecated_union_in_using_key.test" ] } ]}Umgebungsvariablen
Die meisten Konfigurationsoptionen können auch als Umgebungsvariablen gesetzt werden, mit dem Präfix DUCKDB_TEST_, in Großbuchstaben und mit Unterstrichen:
Beispiel:
DUCKDB_TEST_CHECKPOINT_ON_SHUTDOWN=1 unittestListe der Konfigurationsoptionen
Die folgenden Konfigurationsoptionen sind verfügbar:
| Option | Beschreibung |
|---|---|
| `–autoloading <none | available |
--base-config <path> |
Konfigurationsdatei, die geladen wird und als Grundlage für die Anfangseinstellungen dient |
--block-size <num> |
Blockzuweisungsgröße; muss eine Zweierpotenz sein |
--checkpoint-on-shutdown, --no-checkpoint-on-shutdown |
Ob beim Herunterfahren der Datenbank ein Checkpoint geschrieben wird |
--checkpoint-wal-size <num> |
Größe in Bytes, ab der ein automatischer Checkpoint ausgelöst wird |
--comment <string> |
Zusätzliche frei formulierte Kommentarzeile |
--data-dir <path> |
Wurzelverzeichnis für Testdaten; Standard WORKING_DIR/data. Relative Werte werden relativ zum cwd des jeweiligen Tests aufgelöst; absolute/remote Werte (z. B. az://...) werden unverändert verwendet. |
| `–database-destroy <on | off |
--description <string> |
Beschreibung der Konfiguration |
--emit-on-skip |
Gibt pro übersprungenem Test eine SKIP_TEST-Markierung aus |
--emit-test-events |
Schreibt JSON mit Test-Ereignissen nach stderr |
--force-reload |
Erzwingt das Neuladen des Test-Frameworks |
--force-restart, --no-force-restart |
Erzwingt einen Neustart der Datenbank zwischen den Läufen |
--force-storage |
Testet mit persistenter Speicherdatei |
--init-script <path> |
SQL-Skript, das beim Init ausgeführt wird |
--initial-db <path> |
Pfad der initialen Datenbank |
--keep-home |
Verwendet $HOME/USERPROFILE statt des sandboxed Temp-Verzeichnis-Home |
--max-test-threads <num> |
Maximale Anzahl Threads, die der Test-Runner selbst verwendet (z. B. für concurrent loop) |
--max-threads <num> |
Maximale Anzahl Threads während der Tests |
--on-cleanup <string> |
SQL-Anweisungen, die am Testende ausgeführt werden |
--on-init <string> |
SQL-Anweisungen, die beim Init ausgeführt werden |
--on-load <string> |
SQL-Anweisungen, die beim expliziten Laden ausgeführt werden |
--on-new-connection <string> |
SQL-Anweisungen, die bei einer Verbindung ausgeführt werden |
--one-initialize |
Initialisiert Puffer mit allen 1; siehe auch --zero-initialize |
--require <extension_name> |
Fehlt die Erweiterung: Tests, die sie benötigen, schlagen fehl statt übersprungen zu werden |
| `–run-id <‘auto’ | |
--select-tag <string> |
Wählt Tests, die dem genannten Tag entsprechen (als Singleton-Menge; mehrere Mengen werden ODER-verknüpft) |
--select-tag-set <comma-separated strings> |
Wählt Tests, die allen genannten Tags entsprechen (mehrere Mengen werden ODER-verknüpft) |
--settings <list[struct]> |
Setzt die DuckDB-Konfiguration; das Struct sollte die Schlüssel name und value haben |
--skip-compiled, --no-skip-compiled |
Überspringt kompilierte Tests |
--skip-error-messages <comma-separated strings> |
Überspringt statt fehlzuschlagen Tests, die mit einer Meldung fehlschlagen, die eine dieser Teilzeichenketten enthält |
--skip-tag <string> |
Überspringt Tests, die dem genannten Tag entsprechen (als Singleton-Menge; mehrere Mengen werden ODER-verknüpft) |
--skip-tag-set <comma-separated strings> |
Überspringt Tests, die allen genannten Tags entsprechen (mehrere Mengen werden ODER-verknüpft) |
| `–sort-style <none | rowsort |
--statically-loaded-extensions <comma-separated strings> |
Zu ladende Erweiterungen (aus den statisch verfügbaren) |
--stdin |
Liest ein einzelnes sqllogictest-Skript von stdin |
--storage-fuzzer, --no-storage-fuzzer |
Führt Storage-Fuzzer-Tests aus |
--storage-version <string> |
Standardmäßig zu verwendende Speicherversion der Datenbank |
--summarize-failures, --no-summarize-failures |
Gibt nach dem Lauf eine Zusammenfassung aller Testfehler aus |
--temp-dir-base <path> |
Überschreibt die Wurzel des Temp-Verzeichnisbaums; kann lokal oder remote sein (z. B. s3://) |
| `–temp-dir-create <never | on-absent |
| `–temp-dir-destroy <never | on-success |
| `–temp-dir-run-id <on | off>` |
| `–temp-dir-test-id <on | off>` |
--test-config <path> |
Pfad zu einer Konfigurationsdatei |
--test-dir <path> |
Überschreibt das Standard-Arbeitsverzeichnis des Test-Runners, in Tests verfügbar als {WORKING_DIRECTORY} |
--test-env <list[struct]> |
Die Testvariablen; das Struct sollte die Schlüssel env_name und env_value haben |
--test-memory-leaks, --no-test-memory-leaks |
Führt Tests auf Speicherlecks aus |
--verify-vector <string> |
Führt die Vektorprüfung für einen bestimmten Vektortyp aus (Optionen: dictionary_expression, dictionary_operator, constant_operator, sequence_operator, nested_shuffle, variant_vector) |
--zero-initialize |
Initialisiert Puffer mit allen 0; siehe auch --one-initialize |