Skip to content

test: expand Rust coverage for Silver - #42

Merged
JacobOptimiza merged 2 commits into
mainfrom
test/rust-coverage-silver-close
Aug 16, 2026
Merged

test: expand Rust coverage for Silver#42
JacobOptimiza merged 2 commits into
mainfrom
test/rust-coverage-silver-close

Conversation

@JacobOptimiza

@JacobOptimiza JacobOptimiza commented Aug 16, 2026

Copy link
Copy Markdown
Owner

Resumen

Bloque amplio de tests Rust para cerrar coverage Silver, en una sola iteración de implementación.

Métrica principal: PRODUCTION-ONLY

Los tests son inline (#[cfg(test)]) y el reporte raw de cargo-llvm-cov los incluye en el denominador, por lo que la cifra raw es sólo informativa. La evidencia principal es PRODUCTION-ONLY: derivada de los datos raw de llvm-cov (JSON export) excluyendo exclusivamente los items #[cfg(test)] (módulos mod tests completos, brace-matched, y funciones test-only individuales). Sin excluir ningún archivo de producción, main.rs, app.rs, terminal.rs ni ramas host-specific.

PRODUCTION-ONLY PRE (base a8e3d8e) / POST (HEAD)

  • lines: 986/1834 (53.76%) -> 1610/1838 (87.60%)
  • regions: 1638/3247 (50.45%) -> 2809/3255 (86.30%)
  • functions: 113/188 (60.11%) -> 169/189 (89.42%)

PRODUCTION-ONLY lines por archivo (POST)

Archivo lines regions
app.rs 1128/1187 (95.03%) 93.79%
config.rs 227/234 (97.01%) 95.79%
i18n.rs 127/127 (100%) 99.37%
input.rs 42/69 (60.87%) 64.29%
main.rs 51/122 (41.80%) 44.87%
model.rs 13/13 (100%) 100%
render.rs 14/33 (42.42%) 42.11%
terminal.rs 8/53 (15.09%) 14.29%

Gaps restantes (no perseguidos por diseño): Terminal::enter/size/drop, read_key, Renderer::draw, run()/main(), detect_system_locale — HOST_WIN32 / TERMINAL_IO.

RAW cargo-llvm-cov (informativo, incluye código de tests inline)

  • PRE: lines 1751/2636 (66.43%), regions 3620/5249 (68.97%), functions 208/283 (73.50%)
  • POST: lines 3333/3580 (93.10%), regions 7397/7899 (93.64%), functions 352/372 (94.62%)

Tests

  • PRE/POST: 83 -> 171 (26 lib + 145 bin)
  • Eliminados 2 tests de bajo valor: detect_language_prints_a_supported_locale_tag (HOST_WIN32, aserción trivial) y renderer_draws_rows_and_skips_unchanged_ones (escribía ANSI al stdout real sin validar output; render_rows ya cubre la generación de UI de forma determinista)

Refactor behavior-preserving

App::render dividido en render (wrapper: terminal.size() -> render_rows -> renderer.draw) y render_rows(width, height) (generación pura de filas, mínimos 42x12 inalterados). Sin cambios de API pública, contenido ni orden de rows.

Áreas cubiertas

  • app.rs: state machine completa por Key en todos los modos, filtrado fuzzy, favoritos/aliases/refresh/navegación, editor de comandos, confirmaciones, render de todos los paneles/prompts/footers ES+EN, scroll
  • config.rs: parse_tsv completo, round trips con escapado, load/save, toggles, orden estable
  • i18n.rs: tabla completa TextId, format_binding, footers, títulos
  • input.rs: map_key completo, shortcut_slot
  • main.rs: argument_value, parse_shortcut_index, try_config_command (todos los subcomandos)
  • model.rs / render.rs / terminal.rs: funciones puras y helpers

Confirmaciones

  • Sin exclusiones de cobertura, sin ignore-filename-regex, sin cfg especial en producción
  • Sin dependencias nuevas
  • Comportamiento de producción sin cambios (sólo la extracción descrita)

Comandos: cargo llvm-cov --workspace --all-targets --summary-only y --json --output-path target/cov-*.json (cargo-llvm-cov 0.8.7); analizador production-only temporal bajo target/ (no commiteado)

@JacobOptimiza
JacobOptimiza merged commit 001714a into main Aug 16, 2026
11 checks passed
@JacobOptimiza
JacobOptimiza deleted the test/rust-coverage-silver-close branch August 16, 2026 16:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant