From f47d0b76a57726251691ef80a9b2af52662bc5ea Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Sun, 17 May 2026 11:46:18 +0100 Subject: [PATCH 01/10] Updated perf profile --- .../perf_files/armadillo_azure-pipeline.csv | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/tests/testthat/perf_files/armadillo_azure-pipeline.csv b/tests/testthat/perf_files/armadillo_azure-pipeline.csv index 03d36d8f..2ad6282b 100644 --- a/tests/testthat/perf_files/armadillo_azure-pipeline.csv +++ b/tests/testthat/perf_files/armadillo_azure-pipeline.csv @@ -1,14 +1,20 @@ "refer_name","rate","lower_tolerance","upper_tolerance" -"conndisconn::perf::simple0","0.1651","0.5","2" -"ds.abs::perf::0","6.273","0.5","2" -"ds.asInteger::perf:0","5.731","0.5","2" -"ds.asList::perf:0","12.74","0.5","2" -"ds.asNumeric::perf:0","5.637","0.5","2" -"ds.assign::perf::0","10.46","0.5","2" -"ds.class::perf::combine:0","12.69","0.5","2" -"ds.colnames::perf:0","9.518","0.5","2" +"conndisconn::perf::simple0","0.1601","0.5","2" +"ds.abs::perf::0","17.68","0.5","2" +"ds.asCharacter::perf:0","16.19","0.5","2" +"ds.asDataMatrix::perf:0","17.28","0.5","2" +"ds.asInteger::perf:0","17.29","0.5","2" +"ds.asList::perf:0","16.78","0.5","2" +"ds.asLogical::perf:0","17.81","0.5","2" +"ds.asMatrix::perf:0","17.22","0.5","2" +"ds.asNumeric::perf:0","17.50","0.5","2" +"ds.assign::perf::0","12.59","0.5","2" +"ds.class::perf::combine:0","12.55","0.5","2" +"ds.colnames::perf:0","9.708","0.5","2" "ds.exists::perf::combine:0","25.33","0.5","2" "ds.length::perf::combine:0","25.45","0.5","2" +"ds.log::perf::0","25.37","0.5","2" "ds.mean::perf::combine:0","25.37","0.5","2" "ds.mean::perf::split:0","25.74","0.5","2" +"ds.sqrt::perf::0","17.70","0.5","2" "void::perf::void::0","56310.0","0.5","2" From 67c9ca7142b1fd7706865dc38996567bad99a260 Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Sun, 17 May 2026 21:32:01 +0100 Subject: [PATCH 02/10] Updated 'perf_rate.R' --- tests/testthat/perf_tests/perf_rate.R | 43 ++++++++++++++++++++++++--- 1 file changed, 39 insertions(+), 4 deletions(-) diff --git a/tests/testthat/perf_tests/perf_rate.R b/tests/testthat/perf_tests/perf_rate.R index 0384bf63..8d762207 100644 --- a/tests/testthat/perf_tests/perf_rate.R +++ b/tests/testthat/perf_tests/perf_rate.R @@ -1,5 +1,5 @@ #------------------------------------------------------------------------------- -# Copyright (c) 2024-2025 Arjuna Technologies, Newcastle upon Tyne. All rights reserved. +# Copyright (c) 2024-2026 Arjuna Technologies, Newcastle upon Tyne. All rights reserved. # # This program and the accompanying materials # are made available under the terms of the GNU Public License v3.0. @@ -8,12 +8,36 @@ # along with this program. If not, see . #------------------------------------------------------------------------------- -.perf.reference.filename <- 'perf_files/default_perf_profile.csv' +.perf.reference.filename.base.prefix <- 'perf_files/' +.perf.reference.filename.base.postfix <- '_perf-profile.csv' +.perf.reference.save.filename <- NULL .perf.reference <- NULL .load.pref <- function() { - .perf.reference <<- read.csv(.perf.reference.filename, header = TRUE, sep = ",") + if (ds.test_env$driver == "OpalDriver") + perf.reference.filename.driver.infix <- "opal" + else if (ds.test_env$driver == "ArmadilloDriver") + perf.reference.filename.driver.infix <- "armadillo" + else if (ds.test_env$driver == "DSLiteDriver") + perf.reference.filename.driver.infix <- "dslite" + else + { + perf.reference.filename.infix <- "unknown" + warning("Unknown performance profile driver, using 'unknown'") + } + + perf.profile <- base::Sys.getenv("PERF_PROFILE") + if (nchar(perf.profile) > 0) + perf.reference.filename.platform.infix <- base::tolower(perf.profile) + else + { + perf.reference.filename.platform.infix <- "default" + warning("Unknown performance profile platform, using 'default'") + } + + perf.reference.filename <- paste(.perf.reference.filename.base.prefix, perf.reference.filename.driver.infix, '_', perf.reference.filename.platform.infix, .perf.reference.filename.base.postfix, sep = "") + .perf.reference <<- read.csv(perf.reference.filename, header = TRUE, sep = ",") } perf.reference.save <- function(perf.ref.name, rate, tolerance.lower, tolerance.upper) { @@ -22,11 +46,22 @@ perf.reference.save <- function(perf.ref.name, rate, tolerance.lower, tolerance. .perf.reference[nrow(.perf.reference)+1,] <- c(perf.ref.name, rate, tolerance.lower, tolerance.upper) - write.csv(.perf.reference, .perf.reference.filename, row.names = FALSE) + if (is.null(.perf.reference.save.filename)) + { + .perf.reference.save.filename <<- base::tempfile(pattern = "perf_file_", fileext = ".csv") + message(paste0("Additional perf record added to '", .perf.reference.save.filename, "'")) + } + + write.csv(.perf.reference, .perf.reference.save.filename, row.names = FALSE) .perf.reference <<- .perf.reference } +# Obtain performance test duration from PERF_DURATION_SEC environment variable, otherwise default.duration argument, otherwise "30". +perf.testduration <- function(default.duration = 30) { + base::as.integer(base::Sys.getenv("PERF_DURATION_SEC", unset = base::as.character(default.duration))) +} + perf.reference.rate <- function(perf.ref.name) { if (is.null(.perf.reference)) .load.pref() From 2b3151f77c3a5ae591d9be24d2821eb356744a53 Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Mon, 18 May 2026 10:43:40 +0100 Subject: [PATCH 03/10] Fix result file names --- ...v => armadillo_azure-pipeline_perf-profile.csv} | 0 ...v => armadillo_hp-laptop-quay_perf-profile.csv} | 0 ....csv => dslite_hp-laptop-quay_perf-profile.csv} | 0 tests/testthat/perf_files/opal_azure-pipeline.csv | 14 -------------- ...le.csv => opal_azure-pipeline_perf-profile.csv} | 0 ...ay.csv => opal_hp-laptop-quay_perf-profile.csv} | 0 6 files changed, 14 deletions(-) rename tests/testthat/perf_files/{armadillo_azure-pipeline.csv => armadillo_azure-pipeline_perf-profile.csv} (100%) rename tests/testthat/perf_files/{armadillo_hp-laptop_quay.csv => armadillo_hp-laptop-quay_perf-profile.csv} (100%) rename tests/testthat/perf_files/{dslite_hp-laptop_quay.csv => dslite_hp-laptop-quay_perf-profile.csv} (100%) delete mode 100644 tests/testthat/perf_files/opal_azure-pipeline.csv rename tests/testthat/perf_files/{default_perf_profile.csv => opal_azure-pipeline_perf-profile.csv} (100%) rename tests/testthat/perf_files/{opal_hp-laptop_quay.csv => opal_hp-laptop-quay_perf-profile.csv} (100%) diff --git a/tests/testthat/perf_files/armadillo_azure-pipeline.csv b/tests/testthat/perf_files/armadillo_azure-pipeline_perf-profile.csv similarity index 100% rename from tests/testthat/perf_files/armadillo_azure-pipeline.csv rename to tests/testthat/perf_files/armadillo_azure-pipeline_perf-profile.csv diff --git a/tests/testthat/perf_files/armadillo_hp-laptop_quay.csv b/tests/testthat/perf_files/armadillo_hp-laptop-quay_perf-profile.csv similarity index 100% rename from tests/testthat/perf_files/armadillo_hp-laptop_quay.csv rename to tests/testthat/perf_files/armadillo_hp-laptop-quay_perf-profile.csv diff --git a/tests/testthat/perf_files/dslite_hp-laptop_quay.csv b/tests/testthat/perf_files/dslite_hp-laptop-quay_perf-profile.csv similarity index 100% rename from tests/testthat/perf_files/dslite_hp-laptop_quay.csv rename to tests/testthat/perf_files/dslite_hp-laptop-quay_perf-profile.csv diff --git a/tests/testthat/perf_files/opal_azure-pipeline.csv b/tests/testthat/perf_files/opal_azure-pipeline.csv deleted file mode 100644 index 9f1ae6e5..00000000 --- a/tests/testthat/perf_files/opal_azure-pipeline.csv +++ /dev/null @@ -1,14 +0,0 @@ -"refer_name","rate","lower_tolerance","upper_tolerance" -"conndisconn::perf::simple0","0.2725","0.5","2" -"ds.abs::perf::0","2.677","0.5","2" -"ds.asInteger::perf:0","2.294","0.5","2" -"ds.asList::perf:0","4.587","0.5","2" -"ds.asNumeric::perf:0","2.185","0.5","2" -"ds.assign::perf::0","5.490","0.5","2" -"ds.class::perf::combine:0","4.760","0.5","2" -"ds.colnames::perf:0","4.218","0.5","2" -"ds.exists::perf::combine:0","11.09","0.5","2" -"ds.length::perf::combine:0","9.479","0.5","2" -"ds.mean::perf::combine:0","9.650","0.5","2" -"ds.mean::perf::split:0","11.26","0.5","2" -"void::perf::void::0","46250.0","0.5","2" diff --git a/tests/testthat/perf_files/default_perf_profile.csv b/tests/testthat/perf_files/opal_azure-pipeline_perf-profile.csv similarity index 100% rename from tests/testthat/perf_files/default_perf_profile.csv rename to tests/testthat/perf_files/opal_azure-pipeline_perf-profile.csv diff --git a/tests/testthat/perf_files/opal_hp-laptop_quay.csv b/tests/testthat/perf_files/opal_hp-laptop-quay_perf-profile.csv similarity index 100% rename from tests/testthat/perf_files/opal_hp-laptop_quay.csv rename to tests/testthat/perf_files/opal_hp-laptop-quay_perf-profile.csv From 566fc17bb138303772ba3f4159747a1a642b3392 Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Mon, 18 May 2026 15:00:47 +0100 Subject: [PATCH 04/10] Reworking to latest Opal --- armadillo_azure-pipelines.yml | 1 - docker-compose_armadillo.yml | 5 ++--- docker-compose_opal.yml | 5 +++-- .../connection_to_datasets/login_details.R | 16 ++++++++-------- .../obiba_opal-upload_testing_datasets.R | 4 ++-- 5 files changed, 15 insertions(+), 16 deletions(-) diff --git a/armadillo_azure-pipelines.yml b/armadillo_azure-pipelines.yml index 2fba0a0a..ebca240b 100644 --- a/armadillo_azure-pipelines.yml +++ b/armadillo_azure-pipelines.yml @@ -535,7 +535,6 @@ jobs: echo 'branch:'$(branchName) >> $(datetime).txt echo 'os:'$(lsb_release -ds) >> $(datetime).txt echo 'R:'$(R --version | head -n 1) >> $(datetime).txt - echo 'opal:'$(opal system --opal localhost:8443 --user administrator --password "datashield_test&" --version) >> $(datetime).txt workingDirectory: $(Pipeline.Workspace)/logs displayName: 'Write versions to file' diff --git a/docker-compose_armadillo.yml b/docker-compose_armadillo.yml index 37c44cda..d7d98b91 100644 --- a/docker-compose_armadillo.yml +++ b/docker-compose_armadillo.yml @@ -3,7 +3,7 @@ services: hostname: armadillo ports: - 8080:8080 - image: datashield/armadillo_citest:5.11.0 + image: datashield/armadillo_citest:latest environment: LOGGING_CONFIG: 'classpath:logback-file.xml' AUDIT_LOG_PATH: '/app/logs/audit.log' @@ -16,7 +16,6 @@ services: default: hostname: default - image: datashield/rock-quebrada-lamda:latest -# image: datashield/rserver-panda-lamda:devel + image: datashield/rock_citest-permissive:latest environment: DEBUG: "FALSE" diff --git a/docker-compose_opal.yml b/docker-compose_opal.yml index a62dec67..70bffd8d 100644 --- a/docker-compose_opal.yml +++ b/docker-compose_opal.yml @@ -3,6 +3,7 @@ services: image: datashield/opal_citest:latest ports: - 8443:8443 + - 8080:8080 links: - mongo - rock @@ -15,11 +16,11 @@ services: - ROCK_HOSTS=rock:8085 - ROCK_ADMINISTRATOR_PASSWORD=foobar mongo: - image: mongo:4.4.15 + image: mongo:8.0 environment: - MONGO_INITDB_ROOT_USERNAME=root - MONGO_INITDB_ROOT_PASSWORD=foobar rock: - image: datashield/rock-quebrada-lamda-permissive:latest + image: datashield/rock_citest-permissive:latest environment: DEBUG: "FALSE" diff --git a/tests/testthat/connection_to_datasets/login_details.R b/tests/testthat/connection_to_datasets/login_details.R index 2ce4ca2d..81395474 100644 --- a/tests/testthat/connection_to_datasets/login_details.R +++ b/tests/testthat/connection_to_datasets/login_details.R @@ -22,12 +22,12 @@ if (! is.null(getOption("default_driver"))) { } if ((ds.test_env$driver == "DSLiteDriver") || (ds.test_env$driver == "OpalDriver")) { - ds.test_env$ping_address <- paste("https://", ds.test_env$server_ip_address, ":8443", sep="") - ds.test_env$ping_config <- config(timeout=5, ssl_verifyhost=0, ssl_verifypeer=0) + ds.test_env$ping_address <- paste("http://", ds.test_env$server_ip_address, ":8080", sep="") + ds.test_env$ping_config <- config(timeout=5) - ds.test_env$ip_address_1 <- paste("https://", ds.test_env$server_ip_address, ":8443", sep="") - ds.test_env$ip_address_2 <- paste("https://", ds.test_env$server_ip_address, ":8443", sep="") - ds.test_env$ip_address_3 <- paste("https://", ds.test_env$server_ip_address, ":8443", sep="") + ds.test_env$ip_address_1 <- paste("http://", ds.test_env$server_ip_address, ":8080", sep="") + ds.test_env$ip_address_2 <- paste("http://", ds.test_env$server_ip_address, ":8080", sep="") + ds.test_env$ip_address_3 <- paste("http://", ds.test_env$server_ip_address, ":8080", sep="") ds.test_env$user_1 <- getOption("opal.user", "administrator") ds.test_env$user_2 <- getOption("opal.user", "administrator") @@ -37,9 +37,9 @@ if ((ds.test_env$driver == "DSLiteDriver") || (ds.test_env$driver == "OpalDriver ds.test_env$password_2 <- getOption("opal.password", "datashield_test&") ds.test_env$password_3 <- getOption("opal.password", "datashield_test&") - ds.test_env$options_1 <- "list(ssl_verifyhost=0, ssl_verifypeer=0)" - ds.test_env$options_2 <- "list(ssl_verifyhost=0, ssl_verifypeer=0)" - ds.test_env$options_3 <- "list(ssl_verifyhost=0, ssl_verifypeer=0)" + ds.test_env$options_1 <- "list()" + ds.test_env$options_2 <- "list()" + ds.test_env$options_3 <- "list()" ds.test_env$secure_login_details <- TRUE } else if (ds.test_env$driver == "ArmadilloDriver") { diff --git a/tests/testthat/data_files/obiba_opal-upload_testing_datasets.R b/tests/testthat/data_files/obiba_opal-upload_testing_datasets.R index ae79d2e6..2913e3ec 100644 --- a/tests/testthat/data_files/obiba_opal-upload_testing_datasets.R +++ b/tests/testthat/data_files/obiba_opal-upload_testing_datasets.R @@ -17,8 +17,8 @@ upload_testing_dataset_table <- function(opal, project_name, table_name, local_f opal.table_save(opal, data, project_name, table_name, id.name = "_row_id_", force = TRUE) } -# opal <- opal.login('administrator','datashield_test&', url='https://192.168.56.100:8443/', opts = list(ssl_verifyhost=0, ssl_verifypeer=0)) -opal <- opal.login('administrator','datashield_test&', url='https://localhost:8443/', opts = list(ssl_verifyhost=0, ssl_verifypeer=0)) +# opal <- opal.login('administrator','datashield_test&', url='https://192.168.56.100:8/', opts = list(ssl_verifyhost=0, ssl_verifypeer=0)) +opal <- opal.login('administrator','datashield_test&', url='http://localhost:8080/', opts = list()) upload_testing_dataset_table(opal, 'ANTHRO', 'anthro1', 'ANTHRO/anthro1.rda') upload_testing_dataset_table(opal, 'ANTHRO', 'anthro2', 'ANTHRO/anthro2.rda') From 3369b38036043734479b7960819895806e7caf8b Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Tue, 19 May 2026 14:45:43 +0100 Subject: [PATCH 05/10] Updated performance profile --- .../armadillo_hp-laptop-quay_perf-profile.csv | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/tests/testthat/perf_files/armadillo_hp-laptop-quay_perf-profile.csv b/tests/testthat/perf_files/armadillo_hp-laptop-quay_perf-profile.csv index 9ac69853..89fe83c9 100644 --- a/tests/testthat/perf_files/armadillo_hp-laptop-quay_perf-profile.csv +++ b/tests/testthat/perf_files/armadillo_hp-laptop-quay_perf-profile.csv @@ -1,9 +1,13 @@ "refer_name","rate","lower_tolerance","upper_tolerance" "conndisconn::perf::simple0","0.04918","0.5","2" -"ds.abs::perf::0","1.184","0.5","2" -"ds.asInteger::perf:0","1.297","0.5","2" -"ds.asList::perf:0","2.884","0.5","2" -"ds.asNumeric::perf:0","1.354","0.5","2" +"ds.abs::perf::0","6.327","0.5","2" +"ds.asCharacter::perf::0","4.048","0.5","2" +"ds.asDataMatrix::perf::0","4.206","0.5","2" +"ds.asInteger::perf:0","4.309","0.5","2" +"ds.asList::perf:0","8.058","0.5","2" +"ds.asLogical::perf::0","4.793","0.5","2" +"ds.asMatrix::perf::0","4.840","0.5","2" +"ds.asNumeric::perf:0","6.555","0.5","2" "ds.assign::perf::0","2.745","0.5","2" "ds.class::perf::combine:0","3.261","0.5","2" "ds.colnames::perf:0","2.404","0.5","2" @@ -11,4 +15,5 @@ "ds.length::perf::combine:0","7.835","0.5","2" "ds.mean::perf::combine:0","8.127","0.5","2" "ds.mean::perf::split:0","8.109","0.5","2" +"ds.sqrt::perf::0","5.569","0.5","2" "void::perf::void::0","20280.0","0.5","2" From 560519830ef2b14f609d9c0c5f6fd0be54cbfa0e Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Wed, 20 May 2026 13:07:37 +0100 Subject: [PATCH 06/10] Fixed use of Danger function in testing --- tests/testthat/test-smk_dgr-ds.asCharacter.R | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tests/testthat/test-smk_dgr-ds.asCharacter.R b/tests/testthat/test-smk_dgr-ds.asCharacter.R index 48a2fbd1..224c8616 100644 --- a/tests/testthat/test-smk_dgr-ds.asCharacter.R +++ b/tests/testthat/test-smk_dgr-ds.asCharacter.R @@ -30,10 +30,13 @@ test_that("setup", { # context("ds.asCharacter::smk_dgr::simple test") test_that("simple test", { res <- ds.asCharacter("D$LAB_TSC") + expect_equal(length(res), 0) - expect_equal(length(res), 2) - expect_equal(res$is.object.created, "A data object has been created in all specified data sources") - expect_equal(res$validity.check, " appears valid in all sources") + newobj <- ds.DANGERvarsEXTRACT('ascharacter.newobj') + + expect_equal(length(newobj), 2) + expect_true(all(c("list") %in% class(newobj[[1]]))) + expect_true(all(c("data.frame") %in% class(newobj[[2]]))) }) # From 429183f65bf3cee02b5911edd7500b5471ae8410 Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Thu, 21 May 2026 16:19:53 +0100 Subject: [PATCH 07/10] Fixed server image user --- tests/docker/armadillo/standard/config/application.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/docker/armadillo/standard/config/application.yml b/tests/docker/armadillo/standard/config/application.yml index 54e90c36..be4ed07d 100644 --- a/tests/docker/armadillo/standard/config/application.yml +++ b/tests/docker/armadillo/standard/config/application.yml @@ -14,7 +14,7 @@ armadillo: # oidc-admin-user: user@yourdomain.org profiles: - name: default - image: datashield/rock-quebrada-lamda-permissive:latest + image: datashield/rock_citest-permissive:latest port: 8085 host: default package-whitelist: # Packages for 'permissive' From a51cbec7cf368335b2d8ab458b335dabb7215070 Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Thu, 21 May 2026 16:20:54 +0100 Subject: [PATCH 08/10] Fixed network config for Opal --- .../connection_to_datasets/login_details.R | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/testthat/connection_to_datasets/login_details.R b/tests/testthat/connection_to_datasets/login_details.R index 81395474..2ce4ca2d 100644 --- a/tests/testthat/connection_to_datasets/login_details.R +++ b/tests/testthat/connection_to_datasets/login_details.R @@ -22,12 +22,12 @@ if (! is.null(getOption("default_driver"))) { } if ((ds.test_env$driver == "DSLiteDriver") || (ds.test_env$driver == "OpalDriver")) { - ds.test_env$ping_address <- paste("http://", ds.test_env$server_ip_address, ":8080", sep="") - ds.test_env$ping_config <- config(timeout=5) + ds.test_env$ping_address <- paste("https://", ds.test_env$server_ip_address, ":8443", sep="") + ds.test_env$ping_config <- config(timeout=5, ssl_verifyhost=0, ssl_verifypeer=0) - ds.test_env$ip_address_1 <- paste("http://", ds.test_env$server_ip_address, ":8080", sep="") - ds.test_env$ip_address_2 <- paste("http://", ds.test_env$server_ip_address, ":8080", sep="") - ds.test_env$ip_address_3 <- paste("http://", ds.test_env$server_ip_address, ":8080", sep="") + ds.test_env$ip_address_1 <- paste("https://", ds.test_env$server_ip_address, ":8443", sep="") + ds.test_env$ip_address_2 <- paste("https://", ds.test_env$server_ip_address, ":8443", sep="") + ds.test_env$ip_address_3 <- paste("https://", ds.test_env$server_ip_address, ":8443", sep="") ds.test_env$user_1 <- getOption("opal.user", "administrator") ds.test_env$user_2 <- getOption("opal.user", "administrator") @@ -37,9 +37,9 @@ if ((ds.test_env$driver == "DSLiteDriver") || (ds.test_env$driver == "OpalDriver ds.test_env$password_2 <- getOption("opal.password", "datashield_test&") ds.test_env$password_3 <- getOption("opal.password", "datashield_test&") - ds.test_env$options_1 <- "list()" - ds.test_env$options_2 <- "list()" - ds.test_env$options_3 <- "list()" + ds.test_env$options_1 <- "list(ssl_verifyhost=0, ssl_verifypeer=0)" + ds.test_env$options_2 <- "list(ssl_verifyhost=0, ssl_verifypeer=0)" + ds.test_env$options_3 <- "list(ssl_verifyhost=0, ssl_verifypeer=0)" ds.test_env$secure_login_details <- TRUE } else if (ds.test_env$driver == "ArmadilloDriver") { From 0840616ad64d40530cd587f8881a78bb95e9eb97 Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Fri, 22 May 2026 14:36:45 +0100 Subject: [PATCH 09/10] Rework 'useFancyQuotes' option during tests --- tests/testthat.R | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/testthat.R b/tests/testthat.R index 389ee66c..b262d97d 100644 --- a/tests/testthat.R +++ b/tests/testthat.R @@ -9,5 +9,8 @@ library(testthat) library(dsBaseClient) -if (identical(Sys.getenv("NOT_CRAN"), "true")) +if (identical(Sys.getenv("NOT_CRAN"), "true")) { + ufq_opt <- base::options(useFancyQuotes = FALSE) test_check("dsBaseClient") + base::options(useFancyQuotes = ufq_opt) +} From 1c2bebf69cf16c323484cdc81d1da047666894d2 Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Fri, 22 May 2026 15:03:03 +0100 Subject: [PATCH 10/10] Fixed use of 'useFancyQuotes' option --- tests/testthat/setup.R | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/testthat/setup.R b/tests/testthat/setup.R index 5980e9df..02275ef1 100644 --- a/tests/testthat/setup.R +++ b/tests/testthat/setup.R @@ -33,6 +33,7 @@ source("connection_to_datasets/init_testing_datasets.R") source("connection_to_datasets/init_studies_datasets.R") source("connection_to_datasets/init_discordant_datasets.R") source("connection_to_datasets/init_mediation_datasets.R") -options(datashield.errors.print = FALSE) +base::options(datashield.errors.print = FALSE) +base::options(useFancyQuotes = FALSE) # context("setup - done")