From af4ed80e87542d72b7603a3aab3f2edc6652d999 Mon Sep 17 00:00:00 2001 From: Tim Cadman <41470917+timcadman@users.noreply.github.com> Date: Mon, 10 Feb 2025 14:48:46 +0100 Subject: [PATCH 01/11] test: added tidyverse to setup --- scripts/release/install_release_script_dependencies.R | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/release/install_release_script_dependencies.R b/scripts/release/install_release_script_dependencies.R index c59496704..ce9265a52 100755 --- a/scripts/release/install_release_script_dependencies.R +++ b/scripts/release/install_release_script_dependencies.R @@ -35,7 +35,8 @@ packages <- c( "DSMolgenisArmadillo", "purrr", "stringr", - "tibble" + "tibble", + "dsTidyverseClient" ) install_requirements_from_cran <- function(packages) { From 579c98a8bdadf3d609c9b9cb9bc44695c1951d87 Mon Sep 17 00:00:00 2001 From: Tim Cadman <41470917+timcadman@users.noreply.github.com> Date: Mon, 10 Feb 2025 17:23:41 +0100 Subject: [PATCH 02/11] test: started adding tidyverse tests --- scripts/release/lib/common-functions.R | 4 +- scripts/release/test-cases/donkey-tidyverse.R | 192 ++++++++++++++++++ 2 files changed, 195 insertions(+), 1 deletion(-) create mode 100644 scripts/release/test-cases/donkey-tidyverse.R diff --git a/scripts/release/lib/common-functions.R b/scripts/release/lib/common-functions.R index 37f0bb127..0c6f75a40 100644 --- a/scripts/release/lib/common-functions.R +++ b/scripts/release/lib/common-functions.R @@ -267,4 +267,6 @@ xenon_fail_msg <- list( clt_class = "did not create a clientside object with the expected class", clt_var = "did not create a clientside object with the expected variable names", clt_list_names = "did not return a clientside list with the expected names", - clt_dim = "did not return a clientside object with the expected dimensions") + clt_dim = "did not return a clientside object with the expected dimensions", + srv_dim = "did not return a serverside object with the expected dimensions", + srv_lvl = "did not return a serverside object with the expected levels") diff --git a/scripts/release/test-cases/donkey-tidyverse.R b/scripts/release/test-cases/donkey-tidyverse.R new file mode 100644 index 000000000..7f8333183 --- /dev/null +++ b/scripts/release/test-cases/donkey-tidyverse.R @@ -0,0 +1,192 @@ +library(dsTidyverseClient) + +verify_arrange <- function() { + ds_function_name <- "ds.arrange" + cli_alert_info(sprintf("Checking %s", ds_function_name)) + ds.arrange( + df.name = "mtcars", + tidy_expr = list(cyl), + newobj = "ordered_df", + datasources = conns + ) + + res <- ds.class("ordered_df", datasources = conns)[[1]] + verify_output( + function_name = ds_function_name, object = res, + expected = "data.frame", + fail_msg = xenon_fail_msg$srv_class + ) + +} + +verify_as_tibble <- function() { + ds_function_name <- "ds.as_tibble" + cli_alert_info(sprintf("Checking %s", ds_function_name)) + ds.as_tibble( + x = "mtcars", + newobj = "mtcars_tib", + datasources = conns + ) + + res <- ds.class("mtcars_tib", datasources = conns)[[1]] + + verify_output( + function_name = ds_function_name, object = res, + expected = c("tbl_df", "tbl", "data.frame"), + fail_msg = xenon_fail_msg$srv_class + ) +} + +verify_bind_cols <- function() { + ds_function_name <- "ds.bind_cols" + cli_alert_info(sprintf("Checking %s", ds_function_name)) + ds.bind_cols( + to_combine = list(mtcars, mtcars), + newobj = "cols_bound", + datasources = conns + ) + + res <- ds.dim("cols_bound", datasources = conns)[[1]] + verify_output( + function_name = ds_function_name, object = res, + expected = as.integer(c(32, 22)), + fail_msg = xenon_fail_msg$srv_dim + ) +} + +verify_bind_rows <- function() { + ds_function_name <- "ds.bind_rows" + cli_alert_info(sprintf("Checking %s", ds_function_name)) + ds.bind_rows( + to_combine = list(mtcars, mtcars), + newobj = "rows_bound", + datasources = conns + ) + + res <- ds.dim("rows_bound", datasources = conns)[[1]] + + verify_output( + function_name = ds_function_name, object = res, + expected = as.integer(c(64, 11)), + fail_msg = xenon_fail_msg$srv_dim + ) +} + +verify_case_when <- function() { + ds_function_name <- "ds.case_when" + cli_alert_info(sprintf("Checking %s", ds_function_name)) + ds.case_when( + tidy_expr = list( + mtcars$mpg < 20 ~ "low", + mtcars$mpg >= 20 & mtcars$mpg < 30 ~ "medium", + mtcars$mpg >= 30 ~ "high" + ), + newobj = "test", + datasources = conns + ) + + res <- names(ds.table("test", datasources = conns)$output.list$TABLES.COMBINED_all.sources_counts) + + verify_output( + function_name = ds_function_name, object = res, + expected = c("high", "low", "medium", "NA"), + fail_msg = xenon_fail_msg$srv_lvl + ) +} + +verify_distinct <- function() { + ds_function_name <- "ds.distinct" + cli_alert_info(sprintf("Checking %s", ds_function_name)) + ds.distinct( + df.name = "mtcars", + tidy_expr = list(cyl, carb), + newobj = "dist_df", + datasources = conns + ) + + res <- ds.dim("dist_df", datasources = conns)[[1]] + + verify_output( + function_name = ds_function_name, object = res, + expected = as.integer(c(9, 2)), + fail_msg = xenon_fail_msg$srv_dim + ) +} + +verify_filter <- function() { + ds_function_name <- "ds.filter" + cli_alert_info(sprintf("Checking %s", ds_function_name)) + ds.filter( + df.name = "mtcars", + tidy_expr = list(cyl == 4 & mpg > 20), + newobj = "filtered", + datasources = conns + ) + + res <- ds.dim("filtered", datasources = conns)[[1]] + + verify_output( + function_name = ds_function_name, object = res, + expected = as.integer(c(11, 11)), + fail_msg = xenon_fail_msg$srv_dim + ) +} + +verify_group_by <- function() { + ds_function_name <- "ds.group_by" + cli_alert_info(sprintf("Checking %s", ds_function_name)) + ds.group_by( + df.name = "mtcars", + tidy_expr = list(mpg, cyl), + newobj = "grouped", + datasources = conns + ) + + res <- ds.class("grouped", datasources = conns)[[1]] + + verify_output( + function_name = ds_function_name, object = res, + expected = c("grouped_df", "tbl_df", "tbl", "data.frame"), + fail_msg = xenon_fail_msg$srv_class + ) +} + +verify_ungroup <- function() { + ds_function_name <- "ds.ungroup" + cli_alert_info(sprintf("Checking %s", ds_function_name)) + ds.ungroup("mtcars_group", "ungrouped_df", datasources = conns) + + res <- ds.class("ungrouped_df", datasources = conns)[[1]] + + verify_output( + function_name = ds_function_name, object = res, + expected = c("tbl_df", "tbl", "data.frame"), + fail_msg = xenon_fail_msg$srv_class + ) +} + +# group_by +# group_keys +# if_else +# mutate +# rename +# select +# slice + + +run_tidyverse_tests <- function(skip_tests) { + test_name <- "donkey-tidyverse" + if (do_skip_test(test_name, skip_tests)) { + return() + } + verify_arrange() + verify_as_tibble() + verify_bind_cols() + verify_bind_rows() + verify_case_when() + verify_distinct() + verify_filter() + verify_group_by() + verify_ungroup() + cli_alert_success(sprintf("%s passed!", test_name)) +} From 5d34ef06316030575fd77c69176843ce16449fc2 Mon Sep 17 00:00:00 2001 From: Tim Cadman <41470917+timcadman@users.noreply.github.com> Date: Mon, 10 Feb 2025 17:24:03 +0100 Subject: [PATCH 03/11] call tidyverse tests in main script --- scripts/release/release-test.R | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/release/release-test.R b/scripts/release/release-test.R index a6b690494..602fadd50 100755 --- a/scripts/release/release-test.R +++ b/scripts/release/release-test.R @@ -153,6 +153,10 @@ run_omics_tests(project = project1, url = test_config$armadillo_url, token = tok user = test_config$user, admin_pwd = test_config$admin_pwd, interactive = test_config$interactive, update_auto = test_config$update_auto) +cli_alert_info("Testing dsTidyverse") +source("test-cases/donkey-tidyverse.R") +run_tidyverse_tests(skip_tests = test_config$skip_tests) + cli_h2("Removing data as admin") source("test-cases/remove-data.R") # Add link_project once module works dm_clean_up(user = test_config$user, admin_pwd = test_config$admin_pwd, required_projects = list(project1), update_auto = test_config$update_auto, url = test_config$armadillo_url, skip_tests = test_config$skip_tests, interactive = test_config$interactive) From 6a1c36c8a9fe30cd708cfe66effd6fa8bb6f5986 Mon Sep 17 00:00:00 2001 From: Tim Cadman <41470917+timcadman@users.noreply.github.com> Date: Mon, 10 Feb 2025 17:28:12 +0100 Subject: [PATCH 04/11] fix: pass dest argument in function, create all directories that don't exist --- scripts/release/test-cases/download-tables.R | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/release/test-cases/download-tables.R b/scripts/release/test-cases/download-tables.R index a9276e5df..1dadd8609 100644 --- a/scripts/release/test-cases/download-tables.R +++ b/scripts/release/test-cases/download-tables.R @@ -1,6 +1,6 @@ -create_dir_if_not_exists <- function(directory) { +create_dir_if_not_exists <- function(dest, directory) { if (!dir.exists(paste0(dest, directory))) { - dir.create(paste0(dest, directory)) + dir.create(paste0(dest, directory), recursive = TRUE) } } @@ -13,7 +13,7 @@ download_test_files <- function(urls, dest) { folder <- splitted[length(splitted) - 1] filename <- splitted[length(splitted)] cli_alert_info(paste0("Downloading ", filename)) - download.file(download_url, paste0(dest, folder, "/", filename), quiet = TRUE) + download.file(download_url, paste0(dest, folder, "/", filename), quiet = FALSE) cli_progress_update() } cli_progress_done() @@ -28,8 +28,8 @@ download_tables <- function(dest, service_location, skip_tests, default_parquet_ if (!dir.exists(default_parquet_path)) { cli_alert_info("Downloading tables") cli_alert_danger(paste0("Unable to locate data/lifecycle, attempting to download test files into: ", dest)) - create_dir_if_not_exists("core") - create_dir_if_not_exists("outcome") + create_dir_if_not_exists(dest, "core") + create_dir_if_not_exists(dest, "outcome") test_files_url_template <- "https://github.com/molgenis/molgenis-service-armadillo/raw/master/data/shared-lifecycle/%s/%srep.parquet" download_test_files( c( From 970685e3f1c711bcbed396339a585154d9276336 Mon Sep 17 00:00:00 2001 From: Tim Cadman <41470917+timcadman@users.noreply.github.com> Date: Tue, 11 Feb 2025 09:39:59 +0100 Subject: [PATCH 05/11] fix: download tables for survival analysis if they don't exist --- scripts/release/test-cases/download-tables.R | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/scripts/release/test-cases/download-tables.R b/scripts/release/test-cases/download-tables.R index 1dadd8609..a0e80e50d 100644 --- a/scripts/release/test-cases/download-tables.R +++ b/scripts/release/test-cases/download-tables.R @@ -30,18 +30,21 @@ download_tables <- function(dest, service_location, skip_tests, default_parquet_ cli_alert_danger(paste0("Unable to locate data/lifecycle, attempting to download test files into: ", dest)) create_dir_if_not_exists(dest, "core") create_dir_if_not_exists(dest, "outcome") - test_files_url_template <- "https://github.com/molgenis/molgenis-service-armadillo/raw/master/data/shared-lifecycle/%s/%srep.parquet" + create_dir_if_not_exists(dest, "survival") + test_files_url_template <- "https://github.com/molgenis/molgenis-service-armadillo/raw/master/data/shared-lifecycle/%s/%s.parquet" download_test_files( c( - sprintf(test_files_url_template, "core", "non"), - sprintf(test_files_url_template, "core", "yearly"), - sprintf(test_files_url_template, "core", "monthly"), - sprintf(test_files_url_template, "core", "trimester"), - sprintf(test_files_url_template, "outcome", "non"), - sprintf(test_files_url_template, "outcome", "yearly") + sprintf(test_files_url_template, "core", "nonrep"), + sprintf(test_files_url_template, "core", "yearlyrep"), + sprintf(test_files_url_template, "core", "monthlyrep"), + sprintf(test_files_url_template, "core", "trimesterrep"), + sprintf(test_files_url_template, "outcome", "nonrep"), + sprintf(test_files_url_template, "outcome", "yearlyrep"), + sprintf(test_files_url_template, "survival", "veteran") ), dest ) + cli_alert_success("Tables downloaded") } else { cli_alert_success("Tables not downloaded: available locally") From aa706f52b386f6fabf6cacdd9c50fca77491803f Mon Sep 17 00:00:00 2001 From: Tim Cadman <41470917+timcadman@users.noreply.github.com> Date: Tue, 11 Feb 2025 14:52:24 +0100 Subject: [PATCH 06/11] tests: added tests for all tidyverse functions --- scripts/release/test-cases/donkey-tidyverse.R | 136 ++++++++++++++++-- 1 file changed, 125 insertions(+), 11 deletions(-) diff --git a/scripts/release/test-cases/donkey-tidyverse.R b/scripts/release/test-cases/donkey-tidyverse.R index 7f8333183..385855358 100644 --- a/scripts/release/test-cases/donkey-tidyverse.R +++ b/scripts/release/test-cases/donkey-tidyverse.R @@ -1,5 +1,12 @@ library(dsTidyverseClient) +assign_tidyverse_data <- function(project, data_path) { + cli_alert_info(sprintf("Assigning table: [%s%s/mtcars]", project, data_path)) + datashield.assign.table(conns, "mtcars", sprintf("%s%s/mtcars", project, data_path)) + cli_alert_info(sprintf("Assigning table: [%s%s/mtcars_group]", project, data_path)) + datashield.assign.table(conns, "mtcars_group", sprintf("%s%s/mtcars_group", project, data_path)) +} + verify_arrange <- function() { ds_function_name <- "ds.arrange" cli_alert_info(sprintf("Checking %s", ds_function_name)) @@ -137,7 +144,7 @@ verify_group_by <- function() { cli_alert_info(sprintf("Checking %s", ds_function_name)) ds.group_by( df.name = "mtcars", - tidy_expr = list(mpg, cyl), + tidy_expr = list(cyl), newobj = "grouped", datasources = conns ) @@ -155,30 +162,131 @@ verify_ungroup <- function() { ds_function_name <- "ds.ungroup" cli_alert_info(sprintf("Checking %s", ds_function_name)) ds.ungroup("mtcars_group", "ungrouped_df", datasources = conns) - res <- ds.class("ungrouped_df", datasources = conns)[[1]] verify_output( function_name = ds_function_name, object = res, - expected = c("tbl_df", "tbl", "data.frame"), + expected = "data.frame", fail_msg = xenon_fail_msg$srv_class ) } -# group_by -# group_keys -# if_else -# mutate -# rename -# select -# slice +verify_group_keys <- function() { + ds_function_name <- "ds.group_keys" + cli_alert_info(sprintf("Checking %s", ds_function_name)) + res <- ds.group_keys("grouped", datasources = conns)$armadillo + + verify_output( + function_name = ds_function_name, object = res, + expected = tibble(cyl = c(4, 6, 8)), + fail_msg = xenon_fail_msg$clt_grp + ) +} + +verify_if_else <- function() { + ds_function_name <- "ds.if_else" + cli_alert_info(sprintf("Checking %s", ds_function_name)) + + ds.if_else( + condition = list(mtcars$mpg > 20), + "high", + "low", + newobj = "test", + datasources = conns + ) + + res <- names(ds.table("test", datasources = conns)$output.list$TABLES.COMBINED_all.sources_counts) + + verify_output( + function_name = ds_function_name, object = res, + expected = c("high", "low", "NA"), + fail_msg = xenon_fail_msg$srv_lvl + ) +} + +verify_mutate <- function() { + ds_function_name <- "ds.mutate" + cli_alert_info(sprintf("Checking %s", ds_function_name)) + + ds.mutate( + df.name = "mtcars", + tidy_expr = list(mpg_trans = cyl * 1000, new_var = (hp - drat) / qsec), + newobj = "new", + datasources = conns + ) + + res <- ds.colnames("new")$armadillo + + verify_output( + function_name = ds_function_name, object = res, + expected = c("mpg", "cyl", "disp", "hp", "drat", "wt", "qsec", "vs", "am", "gear", "carb", "mpg_trans", "new_var"), + fail_msg = xenon_fail_msg$srv_var + ) +} + +verify_rename <- function() { + ds_function_name <- "ds.rename" + cli_alert_info(sprintf("Checking %s", ds_function_name)) + + ds.rename( + df.name = "mtcars", + tidy_expr = list(test_1 = mpg, test_2 = drat), + newobj = "mpg_drat", + datasources = conns + ) + res <- ds.colnames("mpg_drat", datasources = conns)$armadillo + + verify_output( + function_name = ds_function_name, object = res, + expected = c("test_1", "cyl", "disp", "hp", "test_2", "wt", "qsec", "vs", "am", "gear", "carb"), + fail_msg = xenon_fail_msg$srv_var + ) +} +verify_select <- function() { + ds_function_name <- "ds.select" + cli_alert_info(sprintf("Checking %s", ds_function_name)) + + ds.select( + df.name = "mtcars", + tidy_expr = list(mpg:drat), + newobj = "mpg_drat", + datasources = conns + ) + res <- ds.colnames("mpg_drat", datasources = conns)$armadillo + + verify_output( + function_name = ds_function_name, object = res, + expected = c("mpg", "cyl", "disp", "hp", "drat"), + fail_msg = xenon_fail_msg$srv_var + ) +} + +verify_slice <- function() { + ds_function_name <- "ds.slice" + cli_alert_info(sprintf("Checking %s", ds_function_name)) + + ds.slice( + df.name = "mtcars", + tidy_expr = list(1:5), + newobj = "sliced", + datasources = conns + ) + + res <- ds.dim("sliced", datasources = conns)[[1]] + + verify_output( + function_name = ds_function_name, object = res, + expected = as.integer(c(5, 11)), + fail_msg = xenon_fail_msg$srv_dim) +} -run_tidyverse_tests <- function(skip_tests) { +run_tidyverse_tests <- function(skip_tests, project, data_path) { test_name <- "donkey-tidyverse" if (do_skip_test(test_name, skip_tests)) { return() } + assign_tidyverse_data(project, data_path) verify_arrange() verify_as_tibble() verify_bind_cols() @@ -188,5 +296,11 @@ run_tidyverse_tests <- function(skip_tests) { verify_filter() verify_group_by() verify_ungroup() + verify_group_keys() + verify_if_else() + verify_mutate() + verify_rename() + verify_select() + verify_slice() cli_alert_success(sprintf("%s passed!", test_name)) } From 0e5f0220a6ce38a55aab626f3e328e5da1df902a Mon Sep 17 00:00:00 2001 From: Tim Cadman <41470917+timcadman@users.noreply.github.com> Date: Tue, 11 Feb 2025 14:52:45 +0100 Subject: [PATCH 07/11] test: added error messages for tests --- scripts/release/lib/common-functions.R | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/release/lib/common-functions.R b/scripts/release/lib/common-functions.R index 0c6f75a40..ae7c2819e 100644 --- a/scripts/release/lib/common-functions.R +++ b/scripts/release/lib/common-functions.R @@ -269,4 +269,7 @@ xenon_fail_msg <- list( clt_list_names = "did not return a clientside list with the expected names", clt_dim = "did not return a clientside object with the expected dimensions", srv_dim = "did not return a serverside object with the expected dimensions", - srv_lvl = "did not return a serverside object with the expected levels") + srv_lvl = "did not return a serverside object with the expected levels", + clt_grp = "did not return a clientside object with the expected number of groups", + srv_var = "did not create a serverside object with the expected variable names" + ) From f218480fdf2ef26532d8b1ce28df9fa578473c02 Mon Sep 17 00:00:00 2001 From: Tim Cadman <41470917+timcadman@users.noreply.github.com> Date: Tue, 11 Feb 2025 14:53:25 +0100 Subject: [PATCH 08/11] pass correct arguments, print datashield errors --- scripts/release/release-test.R | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/scripts/release/release-test.R b/scripts/release/release-test.R index 602fadd50..fb0e2cff4 100755 --- a/scripts/release/release-test.R +++ b/scripts/release/release-test.R @@ -40,6 +40,8 @@ library(dsBaseClient) library(DSMolgenisArmadillo) library(resourcer) +options(datashield.errors.print = TRUE) + cli_alert_info("Loading common functions") source("lib/common-functions.R") cli_alert_success("Functions loaded") @@ -82,7 +84,7 @@ create_test_project(target_project_name = project1, skip_tests = test_config$ski cli_h2("Uploading test data") source("test-cases/upload-data.R") -upload_test_data(project = project1, dest = test_config$default_parquet_path, skip_tests = test_config$skip_tests) +upload_test_data(project = project1, dest = test_config$dest, default_parquet_path = test_config$default_parquet_path, skip_tests = test_config$skip_tests) cli_h2("Uploading resource source file") source("test-cases/upload-resource.R") @@ -155,7 +157,7 @@ run_omics_tests(project = project1, url = test_config$armadillo_url, token = tok cli_alert_info("Testing dsTidyverse") source("test-cases/donkey-tidyverse.R") -run_tidyverse_tests(skip_tests = test_config$skip_tests) +run_tidyverse_tests(project = project1, data_path = "/tidyverse", skip_tests = test_config$skip_tests) cli_h2("Removing data as admin") source("test-cases/remove-data.R") # Add link_project once module works @@ -164,7 +166,7 @@ datashield.logout(conns) cli_h2("Testing basic authentification") source("test-cases/basic-auth.R") -verify_basic_auth(url = test_config$armadillo_url, admin_pwd = test_config$admin_pwd, dest = test_config$default_parquet_path, skip_tests = test_config$skip_tests) +verify_basic_auth(url = test_config$armadillo_url, admin_pwd = test_config$admin_pwd, dest = test_config$dest, skip_tests = test_config$skip_tests) cli_alert_info("Testing done") cli_alert_info("Please test rest of UI manually, if impacted this release") From cb3d288db1be46c1a5583fd250a2e49c9f645674 Mon Sep 17 00:00:00 2001 From: Tim Cadman <41470917+timcadman@users.noreply.github.com> Date: Tue, 11 Feb 2025 14:54:18 +0100 Subject: [PATCH 09/11] add check for default parquet path --- scripts/release/test-cases/upload-data.R | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/scripts/release/test-cases/upload-data.R b/scripts/release/test-cases/upload-data.R index 10607d401..1b33cc7dc 100644 --- a/scripts/release/test-cases/upload-data.R +++ b/scripts/release/test-cases/upload-data.R @@ -1,11 +1,14 @@ -upload_test_data <- function(project, dest, skip_tests) { +library(dplyr) + +upload_test_data <- function(project, dest, default_parquet_path, skip_tests) { test_name <- "upload-data" if (do_skip_test(test_name, skip_tests)) { return() } - + + if(dir.exists(default_parquet_path)){dest <- default_parquet_path} + cli_alert_info("Reading parquet files for core variables") - print(dest) nonrep <- read_parquet_with_message("core/nonrep", dest) yearlyrep <- read_parquet_with_message("core/yearlyrep", dest) monthlyrep <- read_parquet_with_message("core/monthlyrep", dest) @@ -50,5 +53,8 @@ upload_test_data <- function(project, dest, skip_tests) { cli_alert_danger(paste0(colnames(trimesterrep), "!=", cols)) exit_test("Colnames incorrect") } + + cli_alert_info("Uploading tidyverse test table") + armadillo.upload_table(project, "tidyverse", mtcars) cli_alert_success(sprintf("%s passed!", test_name)) } From 0afd903fe560eed77dadf7547cedd9b10cbb07c3 Mon Sep 17 00:00:00 2001 From: Tim Cadman <41470917+timcadman@users.noreply.github.com> Date: Tue, 11 Feb 2025 15:04:01 +0100 Subject: [PATCH 10/11] test: fixed mistake --- scripts/release/test-cases/donkey-tidyverse.R | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/release/test-cases/donkey-tidyverse.R b/scripts/release/test-cases/donkey-tidyverse.R index 385855358..443a0ec33 100644 --- a/scripts/release/test-cases/donkey-tidyverse.R +++ b/scripts/release/test-cases/donkey-tidyverse.R @@ -161,12 +161,12 @@ verify_group_by <- function() { verify_ungroup <- function() { ds_function_name <- "ds.ungroup" cli_alert_info(sprintf("Checking %s", ds_function_name)) - ds.ungroup("mtcars_group", "ungrouped_df", datasources = conns) + ds.ungroup("grouped", "ungrouped_df", datasources = conns) res <- ds.class("ungrouped_df", datasources = conns)[[1]] verify_output( function_name = ds_function_name, object = res, - expected = "data.frame", + expected = c("tbl_df", "tbl", "data.frame"), fail_msg = xenon_fail_msg$srv_class ) } From b042825534affdd75c60a6165dc6eb0695d4525f Mon Sep 17 00:00:00 2001 From: Tim Cadman <41470917+timcadman@users.noreply.github.com> Date: Tue, 18 Feb 2025 12:58:34 +0100 Subject: [PATCH 11/11] try: skip tidyverse tests in CI --- docker/ci/ci.env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/ci/ci.env b/docker/ci/ci.env index 561e7ab39..0d7a9f59f 100644 --- a/docker/ci/ci.env +++ b/docker/ci/ci.env @@ -6,7 +6,7 @@ INTERACTIVE=N AS_DOCKER_CONTAINER=Y -SKIP_TESTS=Y +SKIP_TESTS=donkey-tidyverse DO_TESTS= PROFILE=xenon