Skip to content

Fix test-data: load datasets via utils::data() and fix cols.csv header#12

Open
VincentGuyader wants to merge 1 commit into
mainfrom
fix/test-data-load-via-data-api
Open

Fix test-data: load datasets via utils::data() and fix cols.csv header#12
VincentGuyader wants to merge 1 commit into
mainfrom
fix/test-data-load-via-data-api

Conversation

@VincentGuyader
Copy link
Copy Markdown
Member

Contexte

La CI était rouge sur les 5 plateformes avec :

```
Error in `map2(names(datasets), rows, ~{ ... })`:
Can't recycle `.x` (size 0) to match `.y` (size 2).
```

Cause

Le test scannait `file.path(getwd(), "data")` — au runtime, `getwd()` est `tests/testthat/`, et il n'y a pas de dossier `data/` à cet endroit. La liste `datasets` était donc toujours vide. Les anciennes versions de `purrr`/`vctrs` toléraient silencieusement `map2(NULL, df, ...)`, mais le recycling 0→N est désormais une erreur dure.

Bonus : `tests/testthat/cols.csv` avait l'en-tête `row,colonne` au lieu de `col,colonne`, donc `cols$col` valait `NULL` — le test n'aurait jamais vraiment vérifié les colonnes même s'il s'était exécuté.

Fix

  • Charger les datasets via `utils::data(package = "inca3")`, qui est l'API correcte pour des datasets exportés par un package — plus de dépendance au `getwd()`.
  • Corriger l'en-tête de `cols.csv`.
  • Itérer en boucle avec `info=` pour que les futurs échecs pointent le dataset fautif.

Test

```

devtools::test()
ℹ Testing inca3
[ FAIL 0 | WARN 0 | SKIP 0 | PASS 54 ]
```

The tests scanned tests/testthat/data/, which never existed at runtime,
so the `datasets` list was always empty. Stricter recycling rules in
recent vctrs/purrr made the silent empty-list case fail loudly with
"Can't recycle .x (size 0) to match .y (size 2)".

Also fix the cols.csv header (row -> col) so cols$col is no longer NULL.
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