Contexte
L'audit de la suite (26 fichiers test-*.R, ~355 test_that) relève :
- Doublon exact : test-key-parameter.R:1-45 et :249-293 — même titre, même corps, dupliqué octet pour octet (« uses key parameter over YAML rules »).
- Écritures dans le répertoire courant : test-key-parameter.R:29, 61, 88, 126, 277 font
writeLines(..., "test_key_param.yaml") sans tempfile() ni on.exit() — contredit NEWS 0.4.4 (« all test files: replace hardcoded YAML paths with tempfile() ») et la politique CRAN. Les fixtures commitées tests/testthat/rules.yaml et test.yaml ne sont référencées par aucun test (restes probables de tels échecs).
- Test mort : test-huge-parquet.R est inexécutable partout —
skip_on_ci + variable d'env RUN_HUGE_PARQUET_TEST + chemins Windows en dur D:\things_reboot\data_a. Le paramètre duckdb_memory_limit n'a par ailleurs aucun test.
- Redondances compressibles : IEEE 754 testé en 7 copies quasi identiques (test-tolerance.R:580-656) en plus du kernel ; NA/NaN/Inf testés à 3 niveaux (kernel / add_tolerance_columns / ok) ; doublons de clés testés dans 3 fichiers dont 2 quasi identiques (test-key-parameter.R:139-330 vs test-edge-cases.R:238-345) ; paramètres d'extraction retestés dans test-main-integration.R ; test-parquet.R : 20 paires table/dataset non factorisées.
- Assertions conditionnelles silencieuses : test-extraction-params.R multiplie
if (length(extracts) > 0) { expect_...() } — un test peut passer sans rien vérifier.
- Fonctions sans test direct :
tol_col_bool/eq_col_bool/tol_col_passes/eq_col_passes, tol_col_counts/eq_col_counts, format_key_examples, lazy_nrow, is_non_local/is_arrow/arrow_dataset_to_duckdb, branche file = NULL de datadiff_report_html, gardes requireNamespace.
Critères de succès
Contexte
L'audit de la suite (26 fichiers test-*.R, ~355 test_that) relève :
writeLines(..., "test_key_param.yaml")sanstempfile()nion.exit()— contredit NEWS 0.4.4 (« all test files: replace hardcoded YAML paths with tempfile() ») et la politique CRAN. Les fixtures commitéestests/testthat/rules.yamlettest.yamlne sont référencées par aucun test (restes probables de tels échecs).skip_on_ci+ variable d'envRUN_HUGE_PARQUET_TEST+ chemins Windows en durD:\things_reboot\data_a. Le paramètreduckdb_memory_limitn'a par ailleurs aucun test.if (length(extracts) > 0) { expect_...() }— un test peut passer sans rien vérifier.tol_col_bool/eq_col_bool/tol_col_passes/eq_col_passes,tol_col_counts/eq_col_counts,format_key_examples,lazy_nrow,is_non_local/is_arrow/arrow_dataset_to_duckdb, branchefile = NULLdedatadiff_report_html, gardesrequireNamespace.Critères de succès
tempfile()+on.exit(unlink()); fixtures orphelines supprimées ou utilisées.duckdb_memory_limitobtient au moins un test de fumée.purrr::walkparamétrés (objectif indicatif : -30 % de lignes sans perte de couverture).expect_conditionnel silencieux (assertion sur la précondition d'abord).