Zum Inhalt springen

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.

Terminal window
# booleans
unittest --checkpoint-on-shutdown
unittest --no-checkpoint-on-shutdown
# other types
unittest --checkpoint-wal-size 100000

Die 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:

Terminal window
DUCKDB_TEST_CHECKPOINT_ON_SHUTDOWN=1 unittest

Liste 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