ThinkR-open / ThinkR-open/datadiff
[tests] Suite de tests : doublon octet pour octet, écritures dans le répertoire courant (politique CRAN), test « huge parquet » mort, redondances massives
Open
Nobody has claimed this yet.
- Dominant language
- R
- Stars
- 6
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
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")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). - Test mort : test-huge-parquet.R est inexécutable partout —
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. - 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, branchefile = NULLdedatadiff_report_html, gardesrequireNamespace.
Critères de succès
- Doublon supprimé ; test-key-parameter.R migré sur
tempfile()+on.exit(unlink()); fixtures orphelines supprimées ou utilisées. - test-huge-parquet.R : soit paramétré portable (fixtures générées, tailles réduites), soit déplacé hors de tests/ (dev/) ;
duckdb_memory_limitobtient au moins un test de fumée. - Redondances réduites via helpers/
purrr::walkparamétrés (objectif indicatif : -30 % de lignes sans perte de couverture). - Plus d'
expect_conditionnel silencieux (assertion sur la précondition d'abord). - Les helpers internes listés au point 6 ont chacun un test unitaire direct (dont les cas d'erreur des nouvelles gardes issue #17).
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the duplicated and unsafe cases in tests/testthat/test-key-parameter.R, then inspect test-huge-parquet.R and test-extraction-params.R. Run the testthat suite while consolidating the listed redundancies and adding direct coverage for the named helpers. Done means the duplicate, repository writes, dead or non-portable test, silent conditional assertions, and uncovered helper cases are addressed without losing coverage.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- r
- Domain
- testing-qa
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100