Toolverse
Wszystkie skille

differential-fuzzer

autor: tursodatabase

Porównuj wyniki Turso z SQLite, aby wyłapać błędy w logice bazy danych

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Testowanie
Wyświetlenia
2

O skillu

Differential Fuzzer to narzędzie do testowania poprawności bazy danych Turso. Generuje losowe instrukcje SQL i porównuje ich wyniki z SQLite, aby znaleźć rozbieżności i błędy. Umożliwia uruchamianie testów jednorazowo lub w pętli ciągłej, z możliwością ustawienia seed dla powtarzalności, liczby instrukcji, tabel i kolumn. Przydatne dla deweloperów pracujących nad Turso, którzy chcą upewnić się, że ich implementacja bazy danych zachowuje się identycznie jak SQLite.

Jak używać

  1. Przejdź do katalogu projektu Turso i zlokalizuj folder testing/differential-oracle/fuzzer/, gdzie znajduje się narzędzie.

  2. Uruchom podstawowy test za pomocą polecenia cargo run --bin differential_fuzzer. Domyślnie wykonuje 100 losowych instrukcji SQL z losowym seed.

  3. Aby powtórzyć test z tym samym zestawem instrukcji, użyj flagi --seed z konkretną liczbą, na przykład cargo run --bin differential_fuzzer -- --seed 12345.

  4. Dostosuj parametry testu według potrzeb: użyj -n dla liczby instrukcji (np. -n 1000), -t dla liczby tabel (np. -t 5), -c dla liczby kolumn na tabelę (np. -c 10). Dodaj --verbose, aby wyświetlić każdą wygenerowaną instrukcję SQL.

  5. Jeśli chcesz debugować błędy, dodaj flagę --keep-files, aby zachować pliki .db na dysku po zakończeniu testu.

  6. Do ciągłego testowania uruchom fuzzer w trybie pętli poleceniem cargo run --bin differential_fuzzer -- loop, które będzie działać nieskończenie, lub cargo run --bin differential_fuzzer -- loop 50, aby wykonać 50 iteracji.

Podobne skille