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

[PROPOSAL] Test every command-line option, including what the C code receives

Aperta
#2,408 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
42/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
c, rust
Ambito
cli, testing

Direzione di ricerca

Start by reading the existing argument tests from #2041 and the Rust parser in args.rs; trace how ccxr_parse_parameters passes settings into the C ccx_options structure. The proposal is split into small PRs: add a helper for checking C values, detect options without tests, then cover untested options and legacy spellings. Done means these paths and options have regression tests; coordinate with the author, who says they plan to work on it.

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

Descrizione

The Sample Platform NG page says: "We are not testing every possible argument... We broke some things on the rust migration that apparently flew under the radar."

Since the Rust argument parser replaced the C one, a number of options have broken without any test noticing:

  • old spellings rejected (#2367), negative --delay (#2370), ccextractor.cnf ignored (#2369)
  • --sentencecap / --kf missing most words (#2397)
  • bad time values crashing (#2374, #2386), --sendto / --buffersize (#2393)
  • still on master: --defaultcolor, -smi, --streamtype 0x24, combined debug flags (fixes ready)

Why the current tests (#2041) didn't catch these:

  1. About 38 of 171 options have no test at all, e.g. --defaultcolor, --smi, --stream, --stdin, --udp, --tcp.
  2. No test checks what the C code receives. The tests check the Rust Options after parsing, but bugs like --defaultcolor (wrong C type) and --sentencecap (list not sorted for C's bsearch) happen when the settings are handed to C.
  3. Most tests skip the real entry path (ccxr_parse_parameters, including the legacy-spelling conversion), which is how --delay -500 went unnoticed.

I'd like to add, in small PRs:

  1. A test helper that runs options through the real path (ccxr_parse_parameters → C ccx_options) and checks the C values.
  2. A test that fails when an option in args.rs has no test, so new options can't be added untested.
  3. Tests for the untested options, plus the old v0.94 spellings.

Does this direction sound good? i will work on this

Lingua principale
C
Stelle
908
Fork
595
Merge medio
3g 23h
PR unite (30g)
32

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 CCExtractor/ccextractor

Tutte le issue di CCExtractor/ccextractor

Issue simili

Altre issue su C

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.