From 12f78176caa7d467421d980b311e9ddc69e27be0 Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Fri, 13 Feb 2026 12:06:43 +0000 Subject: [PATCH 1/6] Add 'deprecated' tests --- tests/testthat/test-smk-ds.look.R | 2 +- tests/testthat/test-smk-ds.meanByClass.R | 14 +++++----- tests/testthat/test-smk-ds.message.R | 10 ++++---- tests/testthat/test-smk-ds.subset.R | 30 +++++++++++++--------- tests/testthat/test-smk-ds.subsetByClass.R | 4 +-- 5 files changed, 33 insertions(+), 27 deletions(-) diff --git a/tests/testthat/test-smk-ds.look.R b/tests/testthat/test-smk-ds.look.R index f4a65683..63e05719 100644 --- a/tests/testthat/test-smk-ds.look.R +++ b/tests/testthat/test-smk-ds.look.R @@ -27,7 +27,7 @@ test_that("setup", { # context("ds.look::smk") test_that("simple look", { - res <- ds.look("lengthDS('D$LAB_TSC')") + res <- expect_warning(ds.look("lengthDS('D$LAB_TSC')"), "'ds.look' is deprecated.", fixed = TRUE) expect_length(res, 1) expect_length(res$output, 3) diff --git a/tests/testthat/test-smk-ds.meanByClass.R b/tests/testthat/test-smk-ds.meanByClass.R index 2c5aba86..1604a81e 100644 --- a/tests/testthat/test-smk-ds.meanByClass.R +++ b/tests/testthat/test-smk-ds.meanByClass.R @@ -26,10 +26,11 @@ test_that("setup", { # # context("ds.meanByClass::smk::LAB_TSC across PM_BMI_CATEGORICAL categories where both vectors are 'loose'") -ds.assign("D$LAB_TSC", "ldl") -ds.assign("D$PM_BMI_CATEGORICAL", "pm_bmi") test_that("LAB_TSC_across_", { - res <- ds.meanByClass(x='ldl~pm_bmi') + ds.assign("D$LAB_TSC", "ldl") + ds.assign("D$PM_BMI_CATEGORICAL", "pm_bmi") + + res <- expect_warning(ds.meanByClass(x='ldl~pm_bmi'), "'ds.meanByClass' is deprecated.", fixed = TRUE) expect_length(res, 6) expect_equal(res[[1]], '2753') @@ -41,8 +42,8 @@ test_that("LAB_TSC_across_", { }) # context("ds.meanByClass::smk::calculate the mean proportion for LAB_HDL across PM_BMI_CATEGORICAL categories") -res <- ds.meanByClass(x='D', outvar='LAB_HDL', covar='PM_BMI_CATEGORICAL') test_that("LAB_HDL_across_PM_BMI_CATEGORICAL", { + res <- expect_warning(ds.meanByClass(x='D', outvar='LAB_HDL', covar='PM_BMI_CATEGORICAL'), "'ds.meanByClass' is deprecated.", fixed = TRUE) expect_length(res, 6) expect_equal(res[[1]], '2753') @@ -55,8 +56,8 @@ test_that("LAB_HDL_across_PM_BMI_CATEGORICAL", { # context("ds.meanByClass::smk::calculate the mean proportion for LAB_HDL & LAB_TSC across bmi categories") -res <- ds.meanByClass(x='D', outvar=c('LAB_HDL','LAB_TSC'), covar=c('PM_BMI_CATEGORICAL')) test_that("LAB_HDL-LAB_TSC_across_PM_BMI_CATEGORICAL", { + res <- expect_warning(ds.meanByClass(x='D', outvar=c('LAB_HDL','LAB_TSC'), covar=c('PM_BMI_CATEGORICAL')), "'ds.meanByClass' is deprecated.", fixed = TRUE) expect_length(res, 12) expect_equal(res[[1]], '2753') @@ -77,10 +78,9 @@ test_that("LAB_HDL-LAB_TSC_across_PM_BMI_CATEGORICAL", { # context("ds.meanByClass::smk::calculate the mean proportion for LAB_HDL across gender bmi and diabetes status categories") # res <- ds.meanByClass(datasources=ds.test_env$connection.opal, x='D', outvar=c('LAB_HDL','LAB_TSC'), covar=c('GENDER','PM_BMI_CATEGORICAL','DIS_DIAB')) - # context("ds.meanByClass::smk::calculate the mean proportion for LAB_HDL across PM_BMI_CATEGORICAL categories, split") -res <- ds.meanByClass(x='D', outvar='LAB_HDL', covar='PM_BMI_CATEGORICAL', type='split') test_that("LAB_HDL_across_PM_BMI_CATEGORICAL", { + res <- expect_warning(ds.meanByClass(x='D', outvar='LAB_HDL', covar='PM_BMI_CATEGORICAL', type='split'), "'ds.meanByClass' is deprecated.", fixed = TRUE) expect_length(res, 3) expect_length(res$sim1, 6) diff --git a/tests/testthat/test-smk-ds.message.R b/tests/testthat/test-smk-ds.message.R index bc357263..a1227189 100644 --- a/tests/testthat/test-smk-ds.message.R +++ b/tests/testthat/test-smk-ds.message.R @@ -28,7 +28,7 @@ test_that("setup", { # context("ds.message::smk") test_that("not exists - request message", { - message.res <- ds.message('Test') + message.res <- expect_warning(ds.message('Test'), "'ds.meanByClass' is deprecated.", fixed = TRUE) expect_length(message.res, 3) expect_equal(message.res$sim1, "Error: the object does not exist in this datasource", fixed=TRUE) @@ -39,7 +39,7 @@ test_that("not exists - request message", { test_that("exists - request message", { ds.list("D$LAB_TSC", "Test") - message.res <- ds.message('Test') + message.res <- expect_warning(ds.message('Test'), "'ds.meanByClass' is deprecated.", fixed = TRUE) expect_length(message.res, 3) expect_equal(message.res$sim1, "ALL OK: there are no studysideMessage(s) on this datasource", fixed=TRUE) @@ -52,7 +52,7 @@ test_that("partial - request message - conn 1", { ds.list("D$LAB_TSC", newobj="TestP", datasources=ds.test_env$connections[1]) - message.res <- ds.message('TestP') + message.res <- expect_warning(ds.message('TestP'), "'ds.meanByClass' is deprecated.", fixed = TRUE) expect_length(message.res, 3) expect_equal(message.res$sim1, "ALL OK: there are no studysideMessage(s) on this datasource", fixed=TRUE) @@ -67,7 +67,7 @@ test_that("partial - request message - conn 2", { ds.list("D$LAB_TSC", newobj="TestP", datasources=ds.test_env$connections[2]) - message.res <- ds.message('TestP') + message.res <- expect_warning(ds.message('TestP'), "'ds.meanByClass' is deprecated.", fixed = TRUE) expect_length(message.res, 3) expect_equal(message.res$sim1, "Error: the object does not exist in this datasource", fixed=TRUE) @@ -82,7 +82,7 @@ test_that("partial - request message - conn 3", { ds.list("D$LAB_TSC", newobj="TestP", datasources=ds.test_env$connections[3]) - message.res <- ds.message('TestP') + message.res <- expect_warning(ds.message('TestP'), "'ds.meanByClass' is deprecated.", fixed = TRUE) expect_length(message.res, 3) expect_equal(message.res$sim1, "Error: the object does not exist in this datasource", fixed=TRUE) diff --git a/tests/testthat/test-smk-ds.subset.R b/tests/testthat/test-smk-ds.subset.R index 88fecdd2..b4f2a4bc 100644 --- a/tests/testthat/test-smk-ds.subset.R +++ b/tests/testthat/test-smk-ds.subset.R @@ -26,9 +26,11 @@ test_that("setup", { # # context("ds.subset::smk::generate a subset of the assigned table (by default the table is named 'D') with the first 50 observations and the two first columns") -ds.subset(datasources=ds.test_env$connections, subset='subD', x='D', rows=c(1:50), cols=c(1,2)) -res <- ds.exists('subD') test_that("subD_exists", { + expect_warning(ds.subset(datasources=ds.test_env$connections, subset='subD', x='D', rows=c(1:50), cols=c(1,2)), "'ds.dataFrameSubset' is deprecated.", fixed = TRUE) + + res <- ds.exists('subD') + expect_length(res, 3) expect_true(res$sim1) expect_true(res$sim2) @@ -36,9 +38,11 @@ test_that("subD_exists", { }) # context("ds.subset::smk::generate a subset of the assigned table (by default the table is named 'D') with the first 50 observations and the two first columns referred to by their names") -ds.subset(subset='subD2', x='D', rows=c(1:50), cols = c('DIS_DIAB','PM_BMI_CONTINUOUS')) -res <- ds.exists('subD2') test_that("subD2_exists", { + expect_warning(ds.subset(subset='subD2', x='D', rows=c(1:50), cols = c('DIS_DIAB','PM_BMI_CONTINUOUS')), "'ds.dataFrameSubset' is deprecated.", fixed = TRUE) + + res <- ds.exists('subD2') + expect_length(res, 3) expect_true(res$sim1) expect_true(res$sim2) @@ -46,9 +50,11 @@ test_that("subD2_exists", { }) # context("ds.subset::smk::generate a subset of the table D with bmi values greater than or equal to 25.") -ds.subset(datasources=ds.test_env$connections, subset='subD3', x='D', logical='PM_BMI_CONTINUOUS>=', threshold=25) -res <- ds.exists('subD3') test_that("subD3_exists", { + expect_warning(ds.subset(datasources=ds.test_env$connections, subset='subD3', x='D', logical='PM_BMI_CONTINUOUS>=', threshold=25), "'ds.dataFrameSubset' is deprecated.", fixed = TRUE) + + res <- ds.exists('subD3') + expect_length(res, 3) expect_true(res$sim1) expect_true(res$sim2) @@ -56,10 +62,10 @@ test_that("subD3_exists", { }) # context("ds.subset::smk::get the logarithmic values of the variable 'lab_hdl' and generate a subset with the first 50 observations of that new vector.") -# ds.assign(toAssign='log(D$LAB_HDL)', newobj='logHDL') -# ds.subset(datasources=ds.test_env$connections, subset="subLAB_HDL", x="logHDL", rows=c(1:50)) -# res <- ds.exists('subLAB_HDL') # test_that("subLAB_HDL_exists", { +# ds.assign(toAssign='log(D$LAB_HDL)', newobj='logHDL') +# ds.subset(datasources=ds.test_env$connections, subset="subLAB_HDL", x="logHDL", rows=c(1:50)) +# res <- ds.exists('subLAB_HDL') # expect_length(res, 3) # expect_true(res$sim1) # expect_true(res$sim2) @@ -67,10 +73,10 @@ test_that("subD3_exists", { # }) # context("ds.subset::smk::get the variable 'PM_BMI_CONTINUOUS' from the dataframe 'D' and generate a subset bmi vector with bmi values greater than or equal to 25") -# ds.assign(toAssign='D$PM_BMI_CONTINUOUS', newobj='BMI') -# ds.subset(datasources=ds.test_env$connections, subset='subBMI', x='BMI', logical='>=', threshold=25) -# res <- ds.exists('subBMI') # test_that("subBMI_exists", { +# ds.assign(toAssign='D$PM_BMI_CONTINUOUS', newobj='BMI') +# ds.subset(datasources=ds.test_env$connections, subset='subBMI', x='BMI', logical='>=', threshold=25) +# res <- ds.exists('subBMI') # expect_length(res, 3) # expect_true(res$sim1) # expect_true(res$sim2) diff --git a/tests/testthat/test-smk-ds.subsetByClass.R b/tests/testthat/test-smk-ds.subsetByClass.R index 71420fcb..acb907df 100644 --- a/tests/testthat/test-smk-ds.subsetByClass.R +++ b/tests/testthat/test-smk-ds.subsetByClass.R @@ -27,7 +27,7 @@ test_that("setup", { # context("ds.subsetByClass::smk") test_that("gender implicit", { - res <- ds.subsetByClass(x='D', subsets='subclasses1') + res <- expect_warning(ds.subsetByClass(x='D', subsets='subclasses1'), "'ds.dataFrameSubset' is deprecated.", fixed = TRUE) expect_true(is.null(res)) @@ -46,7 +46,7 @@ test_that("gender implicit", { }) test_that("gender explicit", { - res <- ds.subsetByClass(x='D', subsets='subclasses2', variables='GENDER') + res <- expect_warning(ds.subsetByClass(x='D', subsets='subclasses2', variables='GENDER'), "'ds.dataFrameSubset' is deprecated.", fixed = TRUE) expect_true(is.null(res)) From ad8fd41c99256cbf2ea440c697ae2426e8d15a09 Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Fri, 13 Feb 2026 14:00:44 +0000 Subject: [PATCH 2/6] Updated cimg/base image --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 8018f4eb..6e5886cb 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,7 +6,7 @@ jobs: dsbaseclient: docker: # - image: cimg/base:current - - image: cimg/base:2024.11 + - image: cimg/base:2026.02 resource_class: small steps: - checkout From bc62de08cab7d90fd9db4289d662f531681018cf Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Fri, 13 Feb 2026 14:59:51 +0000 Subject: [PATCH 3/6] Fixes to typos in 'deprecated's --- tests/testthat/test-smk-ds.message.R | 10 +++++----- tests/testthat/test-smk-ds.subset.R | 6 +++--- tests/testthat/test-smk-ds.subsetByClass.R | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/tests/testthat/test-smk-ds.message.R b/tests/testthat/test-smk-ds.message.R index a1227189..eb4428a8 100644 --- a/tests/testthat/test-smk-ds.message.R +++ b/tests/testthat/test-smk-ds.message.R @@ -28,7 +28,7 @@ test_that("setup", { # context("ds.message::smk") test_that("not exists - request message", { - message.res <- expect_warning(ds.message('Test'), "'ds.meanByClass' is deprecated.", fixed = TRUE) + message.res <- expect_warning(ds.message('Test'), "'ds.message' is deprecated.", fixed = TRUE) expect_length(message.res, 3) expect_equal(message.res$sim1, "Error: the object does not exist in this datasource", fixed=TRUE) @@ -39,7 +39,7 @@ test_that("not exists - request message", { test_that("exists - request message", { ds.list("D$LAB_TSC", "Test") - message.res <- expect_warning(ds.message('Test'), "'ds.meanByClass' is deprecated.", fixed = TRUE) + message.res <- expect_warning(ds.message('Test'), "'ds.message' is deprecated.", fixed = TRUE) expect_length(message.res, 3) expect_equal(message.res$sim1, "ALL OK: there are no studysideMessage(s) on this datasource", fixed=TRUE) @@ -52,7 +52,7 @@ test_that("partial - request message - conn 1", { ds.list("D$LAB_TSC", newobj="TestP", datasources=ds.test_env$connections[1]) - message.res <- expect_warning(ds.message('TestP'), "'ds.meanByClass' is deprecated.", fixed = TRUE) + message.res <- expect_warning(ds.message('TestP'), "'ds.message' is deprecated.", fixed = TRUE) expect_length(message.res, 3) expect_equal(message.res$sim1, "ALL OK: there are no studysideMessage(s) on this datasource", fixed=TRUE) @@ -67,7 +67,7 @@ test_that("partial - request message - conn 2", { ds.list("D$LAB_TSC", newobj="TestP", datasources=ds.test_env$connections[2]) - message.res <- expect_warning(ds.message('TestP'), "'ds.meanByClass' is deprecated.", fixed = TRUE) + message.res <- expect_warning(ds.message('TestP'), "'ds.message' is deprecated.", fixed = TRUE) expect_length(message.res, 3) expect_equal(message.res$sim1, "Error: the object does not exist in this datasource", fixed=TRUE) @@ -82,7 +82,7 @@ test_that("partial - request message - conn 3", { ds.list("D$LAB_TSC", newobj="TestP", datasources=ds.test_env$connections[3]) - message.res <- expect_warning(ds.message('TestP'), "'ds.meanByClass' is deprecated.", fixed = TRUE) + message.res <- expect_warning(ds.message('TestP'), "'ds.message' is deprecated.", fixed = TRUE) expect_length(message.res, 3) expect_equal(message.res$sim1, "Error: the object does not exist in this datasource", fixed=TRUE) diff --git a/tests/testthat/test-smk-ds.subset.R b/tests/testthat/test-smk-ds.subset.R index b4f2a4bc..df37ca36 100644 --- a/tests/testthat/test-smk-ds.subset.R +++ b/tests/testthat/test-smk-ds.subset.R @@ -27,7 +27,7 @@ test_that("setup", { # context("ds.subset::smk::generate a subset of the assigned table (by default the table is named 'D') with the first 50 observations and the two first columns") test_that("subD_exists", { - expect_warning(ds.subset(datasources=ds.test_env$connections, subset='subD', x='D', rows=c(1:50), cols=c(1,2)), "'ds.dataFrameSubset' is deprecated.", fixed = TRUE) + expect_warning(ds.subset(datasources=ds.test_env$connections, subset='subD', x='D', rows=c(1:50), cols=c(1,2)), "'ds.subset' is deprecated.", fixed = TRUE) res <- ds.exists('subD') @@ -39,7 +39,7 @@ test_that("subD_exists", { # context("ds.subset::smk::generate a subset of the assigned table (by default the table is named 'D') with the first 50 observations and the two first columns referred to by their names") test_that("subD2_exists", { - expect_warning(ds.subset(subset='subD2', x='D', rows=c(1:50), cols = c('DIS_DIAB','PM_BMI_CONTINUOUS')), "'ds.dataFrameSubset' is deprecated.", fixed = TRUE) + expect_warning(ds.subset(subset='subD2', x='D', rows=c(1:50), cols = c('DIS_DIAB','PM_BMI_CONTINUOUS')), "'ds.subset' is deprecated.", fixed = TRUE) res <- ds.exists('subD2') @@ -51,7 +51,7 @@ test_that("subD2_exists", { # context("ds.subset::smk::generate a subset of the table D with bmi values greater than or equal to 25.") test_that("subD3_exists", { - expect_warning(ds.subset(datasources=ds.test_env$connections, subset='subD3', x='D', logical='PM_BMI_CONTINUOUS>=', threshold=25), "'ds.dataFrameSubset' is deprecated.", fixed = TRUE) + expect_warning(ds.subset(datasources=ds.test_env$connections, subset='subD3', x='D', logical='PM_BMI_CONTINUOUS>=', threshold=25), "'ds.subset' is deprecated.", fixed = TRUE) res <- ds.exists('subD3') diff --git a/tests/testthat/test-smk-ds.subsetByClass.R b/tests/testthat/test-smk-ds.subsetByClass.R index acb907df..dbdc8bbb 100644 --- a/tests/testthat/test-smk-ds.subsetByClass.R +++ b/tests/testthat/test-smk-ds.subsetByClass.R @@ -27,7 +27,7 @@ test_that("setup", { # context("ds.subsetByClass::smk") test_that("gender implicit", { - res <- expect_warning(ds.subsetByClass(x='D', subsets='subclasses1'), "'ds.dataFrameSubset' is deprecated.", fixed = TRUE) + res <- expect_warning(ds.subsetByClass(x='D', subsets='subclasses1'), "'ds.subsetByClass' is deprecated.", fixed = TRUE) expect_true(is.null(res)) @@ -46,7 +46,7 @@ test_that("gender implicit", { }) test_that("gender explicit", { - res <- expect_warning(ds.subsetByClass(x='D', subsets='subclasses2', variables='GENDER'), "'ds.dataFrameSubset' is deprecated.", fixed = TRUE) + res <- expect_warning(ds.subsetByClass(x='D', subsets='subclasses2', variables='GENDER'), "'ds.subsetByClass' is deprecated.", fixed = TRUE) expect_true(is.null(res)) From a9ab443470c1e7374baa972d588e6a38a58e0e7e Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Fri, 13 Feb 2026 15:02:53 +0000 Subject: [PATCH 4/6] Update perf profile for 'dslite' on 'hp-laptop-quay' --- .../testthat/perf_files/dslite_hp-laptop-quay_perf-profile.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/testthat/perf_files/dslite_hp-laptop-quay_perf-profile.csv b/tests/testthat/perf_files/dslite_hp-laptop-quay_perf-profile.csv index 5d552ae0..9774d803 100644 --- a/tests/testthat/perf_files/dslite_hp-laptop-quay_perf-profile.csv +++ b/tests/testthat/perf_files/dslite_hp-laptop-quay_perf-profile.csv @@ -6,7 +6,7 @@ "ds.asNumeric::perf:0","9.11018116242571","0.5","2" "ds.assign::perf::0","20.7627800741047","0.5","2" "ds.class::perf::combine:0","16.4968034024194","0.5","2" -"ds.colnames::perf:0","12.2919611789594","0.5","2" +"ds.colnames::perf:0","39.559281","0.5","2" "ds.exists::perf::combine:0","41.3622556042039","0.5","2" "ds.length::perf::combine:0","41.0818690662793","0.5","2" "ds.mean::perf::combine:0","40.9888639028757","0.5","2" From 78acfa655fac40bed425ff69b47f51e0ccc55be4 Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Fri, 13 Feb 2026 16:08:17 +0000 Subject: [PATCH 5/6] Attempt lower case variable name --- armadillo_azure-pipelines.yml | 2 +- azure-pipelines.yml | 2 +- opal_azure-pipelines.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/armadillo_azure-pipelines.yml b/armadillo_azure-pipelines.yml index 57ef048b..ea948a75 100644 --- a/armadillo_azure-pipelines.yml +++ b/armadillo_azure-pipelines.yml @@ -34,7 +34,7 @@ variables: branchName: $(Build.SourceBranchName) test_filter: '*' _r_check_system_clock_: 0 - PERF_PROFILE: 'azure-pipeline' + perf.profile: 'azure-pipeline' ######################################################################################### diff --git a/azure-pipelines.yml b/azure-pipelines.yml index bc8851fb..88767c07 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -32,7 +32,7 @@ variables: branchName: $(Build.SourceBranchName) test_filter: '*' _r_check_system_clock_: 0 - PERF_PROFILE: 'azure-pipeline' + perf.profile: 'azure-pipeline' ######################################################################################### diff --git a/opal_azure-pipelines.yml b/opal_azure-pipelines.yml index 917c223a..d14a7e9a 100644 --- a/opal_azure-pipelines.yml +++ b/opal_azure-pipelines.yml @@ -34,7 +34,7 @@ variables: branchName: $(Build.SourceBranchName) test_filter: '*' _r_check_system_clock_: 0 - PERF_PROFILE: 'azure-pipeline' + perf.profile: 'azure-pipeline' ######################################################################################### From c1c5bce92003fc22b1b79e8ff33906aeffd50474 Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Fri, 13 Feb 2026 16:14:23 +0000 Subject: [PATCH 6/6] Perf file update --- tests/testthat/perf_files/opal_hp-laptop-quay_perf-profile.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/testthat/perf_files/opal_hp-laptop-quay_perf-profile.csv b/tests/testthat/perf_files/opal_hp-laptop-quay_perf-profile.csv index 334cd62c..563b84ec 100644 --- a/tests/testthat/perf_files/opal_hp-laptop-quay_perf-profile.csv +++ b/tests/testthat/perf_files/opal_hp-laptop-quay_perf-profile.csv @@ -6,7 +6,7 @@ "ds.asNumeric::perf:0","0.692813012683229","0.5","2" "ds.assign::perf::0","1.89351857736982","0.5","2" "ds.class::perf::combine:0","1.62870246867488","0.5","2" -"ds.colnames::perf:0","1.32209430785405","0.5","2" +"ds.colnames::perf:0","2.7125071","0.5","2" "ds.exists::perf::combine:0","3.45004426293124","0.5","2" "ds.length::perf::combine:0","2.78832377100152","0.5","2" "ds.mean::perf::combine:0","2.7801284055162","0.5","2"