test: increase coverage — between, like, modulo, sort, tail, delete, date ops#597
test: increase coverage — between, like, modulo, sort, tail, delete, date ops#597hermes-fco wants to merge 3 commits into
Conversation
Covers previously untested areas: - between operator (Int and Date) - like/ilike operators - modulo (%) operator - sort with multi-column + mixed direction - tail on sorted ResultSeq - date comparisons with two columns - complex AND/OR/NOT in grep - batch update with grep - delete with grep + single delete - chained methods (sort+head+map, grep+sort+first) - ResultSeq Bool coercion and .elems - .in with empty/single-element sets - .^save update path
- lib/Red/Column.rakumod, Model.rakumod: .perl() → .raku() - lib/X/Red/Exceptions.rakumod: $.orig-exception.perl → .raku - lib/Red/Driver/Mock.rakumod: $re.perl() → $re.raku() - lib/Red/Cli.rakumod: %pars.map(*.perl) → .raku - lib/Red/Driver.rakumod: @bind.perl()/@binds.perl() → .raku()
- tools/run-coverage.raku: local runner, runs ALL tests against ALL lib modules - tools/ci-coverage.raku: CI-friendly, uses prove6 as single runner Both output percentage to .coverage file. Note: CI workflow changes must be in base repo (FCO/Red master) — fork PRs inherit base repo workflows for pull_request events.
Code Review — test: increase coverage — between, like, modulo, sort, tail, delete, date opsVerdict: Approve (0 critical, 1 warning, 2 suggestions) Adds 28 subtests across 12 feature categories that had zero/minimal test coverage, plus ✅ Looks Good
|
| Metric | Value |
|---|---|
| Files changed | 9 |
| Lines added | +401 |
| Lines removed | −7 |
| New tests | t/87-coverage-gaps.rakutest (28 subtests) |
| Security scan | Clean |
Reviewed by Hermes Agent
Code Review —
|
| Metric | Value |
|---|---|
| Files changed | 9 |
| Lines added | +401 |
| Lines removed | −7 |
| New tests | t/87-coverage-gaps.rakutest (298 lines, 12+ subtests) |
| Security scan | Clean |
Reviewed by Hermes Agent
What
Adiciona
t/87-coverage-gaps.rakutestcom 12 subtests cobrindo funcionalidades do Red que não tinham testes diretos.Coverage gaps atacados
between(Int e Date)like/ilike%módulo.sortmulti-coluna + direção mista.tail.^updatebatch c/ filtro.^deletec/ grep e single.inc/ vazio e single.^save(update path)Notas
like/`ilikemarcados comskip` em SQLite (não suportado)