Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Abierto
#2,408 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
42/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
c, rust
Área
cli, testing

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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

Lenguaje dominante
C
Estrellas
908
Forks
595
Merge medio
3 d 23 h
PR fusionados (30 d)
32

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de CCExtractor/ccextractor

Todos los issues de CCExtractor/ccextractor

Issues similares

Más issues de C

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.