Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Preserve test run history

Aperta
#301 2 commenti 0 reazioni 1 assegnatario Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@yunhsuan0510 ci sta già lavorando.

Dal 14/10/2026.

  • #305 di @yunhsuan0510 — aperta

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
62/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
javascript
Ambito
frontend, testing

Direzione di ricerca

Start in web/interview.js, where the Run tests handler and the Markdown export call reportMarkdown(), then read web/runners.js to see how each test result object is built, including where input is set only for custom or failed cases. Next, check web/render.js to see how the report is assembled. Done means each run is appended to a testHistory array, passing cases keep their input, and a Test Run History section appears in the exported Markdown, with regression tests under tests/browser/ covering it.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Description

Currently, the interview report only preserves the candidate's final version of the code. Intermediate code changes, failed test runs, and error messages during the interview are not fully recorded.

This makes it difficult for candidates to review their mistakes after the interview, understand why their solutions failed, and reflect on how they could improve their problem-solving approach.

Expected Behavior

  • Record each test run when the candidate clicks Run tests.
  • Preserve the timestamp, test results, expected values, actual values, and available error messages for each run.
  • Include a code snapshot only when the code differs from the previous test run, avoiding unnecessary duplication.
  • Keep only the 10 most recent test runs to limit the size of the exported Markdown report.
  • Include the test run history in the final Markdown interview report, alongside the existing final code and interview transcript.
  • Preserve previous records within the retained history instead of overwriting them with the latest test results. Display the additional records only in the Markdown report without adding them to Past Attempts Reports.

Proposed Solution

1. Record test run history

Update web/interview.js to add a testHistory array to the interview state.

Before executing tests, capture the current code, programming language, and timestamp. After execution, append a record containing:

  • Run number and timestamp
  • Programming language
  • Code snapshot, if the code has changed since the previous run
  • Number of passed and total tests
  • Setup errors and individual test case results
  • Available input values, expected outputs, actual outputs, and error messages

After recording each run, retain only the 10 most recent entries.

2. Avoid duplicate code snapshots

Compare the current code with the code from the previous test run.

  • If the code has changed, save a new code snapshot.
  • If the code has not changed, record the test results without duplicating the code snapshot.

This reduces the size of the exported report while preserving meaningful code changes.

3. Include test history in the Markdown report

Update web/render.js to accept a testHistory parameter and generate a Test Run History section.

Each run should include its timestamp, test summary, available test case details, and a code snapshot when applicable.

Update the Markdown export function in web/interview.js to pass state.testHistory to reportMarkdown().

The existing final code section and interview transcript should remain unchanged.

4. Add regression tests

Update the relevant tests under tests/browser/.

Example Result
Image
Lingua principale
Rust
Stelle
160
Fork
64
Merge medio
1g 9h
PR unite (30g)
114

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di sysprog21/codetrial

Tutte le issue di sysprog21/codetrial

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.