From 4e33703ed7afa63f277730f8ebcdc69474e847cd Mon Sep 17 00:00:00 2001 From: Dorchies David <david.dorchies@inrae.fr> Date: Tue, 22 Jun 2021 16:44:35 +0200 Subject: [PATCH] test(regression): add feature ignore specific items in compared variables --- .regressionignore | 8 ++++++-- tests/testthat/regression.R | 11 +++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/.regressionignore b/.regressionignore index f921ad27..0c4a490e 100644 --- a/.regressionignore +++ b/.regressionignore @@ -4,10 +4,14 @@ # ignored variable : [Topic]<SPACE>[Variable] or *<SPACE>[Variable] for every variable whatever the topic # Example for ignoring OutputsModel variable produced by example("RunModel_GR2M"): RunModel_GR2M OutputsModel -* RunOptions +* RunOptions$Outputs_Sim +* RunOptions$FeatFUN_MOD +* RunOptions$FortranOutputs +RunModel_CemaNeige RunOptions$Outputs_Cal Param_Sets_GR4J RunOptions_Cal Param_Sets_GR4J RunOptions_Val -* OutputsModel +* OutputsModel$Param +* OutputsModel$WarmUpQsim Param_Sets_GR4J OutputsModel_Val RunModel_Lag OutputsModelDown SeriesAggreg SimulatedMonthlyRegime diff --git a/tests/testthat/regression.R b/tests/testthat/regression.R index 84924b3a..147b73c5 100644 --- a/tests/testthat/regression.R +++ b/tests/testthat/regression.R @@ -13,6 +13,17 @@ CompareWithStable <- function(refVarFile, testDir, regIgnore) { if (file.exists(testVarFile)) { testVar <- readRDS(testVarFile) refVar <- readRDS(refVarFile) + if (!is.null(regIgnore)) { + regIgnore$mainVar <- gsub("\\$.*$", "", regIgnore[,2]) + varIgnore <- regIgnore[apply(regIgnore, 1, function(x) {v$var == x[3] && (x[1] == "*" || x[1] == v$topic)}), 2] + if (length(varIgnore) > 0) { + itemIgnore <- gsub("^.*\\$", "", varIgnore) + for(item in itemIgnore) { + testVar[[item]] <- NULL + refVar[[item]] <- NULL + } + } + } expect_equivalent(testVar, refVar) } }) -- GitLab