Toolverse
Wszystkie skille

extract-fuzzer-repro

autor: noir-lang

Wyodrębnij projekt Noir z logów fuzzer testów CI i odtwórz błędy lokalnie

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Testowanie
Wyświetlenia
3

O skillu

Umiejętność Claude'a do automatycznego ekstrakcji minimalnego projektu Noir z logów błędów fuzzer testów w GitHub Actions. Gdy test CI fuzzer zawiedzie, ta umiejętność wyciąga wygenerowany kod źródłowy, dane wejściowe ABI i flagi kompilatora potrzebne do odtworzenia problemu na lokalnej maszynie. Oszczędza czas debugowania, eliminując ręczne kopiowanie i parsowanie logów.

Jak używać

  1. Przejdź do uruchomienia GitHub Actions, które zawiera nieudany test fuzzer, i skopiuj adres URL strony zadania. Adres ma format: https://github.com/noir-lang/noir/actions/runs/RUN_ID/job/JOB_ID — wyodrębnij z niego JOB_ID.

  2. Pobierz logi zadania za pomocą GitHub CLI, uruchamiając polecenie z JOB_ID z poprzedniego kroku. Logi zostaną zapisane do pliku tekstowego, który będziesz analizować.

  3. Przeszukaj logi w poszukiwaniu sekcji AST zawierającej wygenerowany kod Noir. Szukaj linii zaczynających się od "unconstrained fn main" lub "fn main" — to będzie kod źródłowy do odtworzenia. Zwróć uwagę na sekcję "ABI Inputs" poniżej kodu, która zawiera wartości testowe.

  4. Sprawdź logi pod kątem specjalnych flag kompilatora wymaganych do odtworzenia błędu, takich jak "-Zenums" dla wyrażeń match lub flagi optymalizacyjne. Zanotuj wszystkie flagi wymienione w logach — będą potrzebne do uruchomienia projektu.

  5. Utwórz nowy projekt Noir za pomocą nargo, a następnie skopiuj wyodrębniony kod AST do pliku src/main.nr. Utwórz plik Prover.toml i wpisz tam wartości ABI Inputs z logów.

  6. Uruchom projekt lokalnie za pomocą nargo execute, dołączając wszystkie flagi kompilatora zanotowane w kroku 4. Jeśli błąd się powtórzy, odtworzenie jest udane i możesz zacząć debugowanie.

Podobne skille