diff --git a/NEWS.md b/NEWS.md index e1555410..f0ae3a7e 100644 --- a/NEWS.md +++ b/NEWS.md @@ -4,6 +4,10 @@ - `✖` : `check_failure` class object. This indicates an error that does not impact the validation process. - `ⓧ` : `check_error` class object. This also indicates early termination of the validation process. - `☒` : `check_exec_error` class object. This indicates an error in the execution of a check function. +* `hub_validations` class object `combine()` method now ensures that check names are made unique across all `hub_validations` objects being combined. +* Additional improvements to `hub_validations` class object `print()` method. + - Check results for each file validated are now split and printed under file name header. + - The check name that can be used to access the check result from the `hub_validations` object is now included as the prefix to the check result message instead of the file name (#76). * `octolog` dependency removed. This removes the annotation of validation results onto GitHub Action workflow logs (#113). # hubValidations 0.5.1 diff --git a/R/hub_validations_methods.R b/R/hub_validations_methods.R index 71781b43..a8fb7681 100644 --- a/R/hub_validations_methods.R +++ b/R/hub_validations_methods.R @@ -8,27 +8,39 @@ print.hub_validations <- function(x, ...) { if (length(x) == 0L) { msg <- cli::format_inline("Empty {.cls hub_validations}") + cli::cli_inform(msg) } else { - msg <- stats::setNames( - paste( - fs::path_file(purrr::map_chr(x, "where")), - purrr::map_chr(x, "message"), - sep = ": " - ), - dplyr::case_when( - purrr::map_lgl(x, ~ rlang::inherits_any(.x, "check_success")) ~ "v", - purrr::map_lgl(x, ~ rlang::inherits_any(.x, "check_failure")) ~ "x", - purrr::map_lgl(x, ~ rlang::inherits_any(.x, "check_exec_warn")) ~ "!", - purrr::map_lgl(x, ~ rlang::inherits_any(.x, "check_error")) ~ "circle_cross", - purrr::map_lgl(x, ~ rlang::inherits_any(.x, "check_exec_error")) ~ "lower_block_8", - purrr::map_lgl(x, ~ rlang::inherits_any(.x, "check_info")) ~ "i", - TRUE ~ "*" + print_file <- function(file_name, x) { + x <- x[get_filenames(x) == file_name] + msg <- stats::setNames( + paste( + apply_cli_span_class(names(x), class = "check_name"), + purrr::map_chr(x, "message"), + sep = ": " + ), + dplyr::case_when( + is_check_class(x, "check_success") ~ "v", + is_check_class(x, "check_failure") ~ "x", + is_check_class(x, "check_exec_warn") ~ "!", + is_check_class(x, "check_error") ~ "circle_cross", + is_check_class(x, "check_exec_error") ~ "lower_block_8", + is_check_class(x, "check_info") ~ "i", + TRUE ~ "*" + ) ) + + cli::cli_div(class = "hub_validations", theme = hub_validation_theme) + cli::cli_h2(file_name) + cli::cli_inform(msg) + cli::cli_end() + } + + purrr::walk( + .x = get_filenames(x, unique = TRUE), + .f = function(file_name, x) print_file(file_name, x), + x = x ) } - cli::cli_div(class = "hub_validations", theme = hub_validation_theme) - cli::cli_inform(msg) - cli::cli_end() } @@ -48,8 +60,16 @@ combine.hub_validations <- function(...) { purrr::compact() %>% validate_internal_class(class = "hub_validations") - structure(c(...), - class = c("hub_validations", "list") + combined <- c(...) + if (is.null(names(combined))) { + combined_names <- NULL + } else { + combined_names <- make.unique(names(combined), sep = "_") + } + structure( + combined, + class = c("hub_validations", "list"), + names = combined_names ) } @@ -102,5 +122,45 @@ hub_validation_theme <- list( paste0(cli::col_red(cli::symbol$checkbox_on), " ") }, "text-exdent" = 2L + ), + "span.check_name" = list( + "before" = "[", + "after" = "]", + color = "grey" + ), + "h2" = list( + fmt = function(x) { + cli::col_br_cyan( + paste0( + cli::symbol$line, cli::symbol$line, + " ", cli::style_underline(x), " ", + cli::symbol$line, cli::symbol$line, + cli::symbol$line, cli::symbol$line + ) + ) + } ) ) + +apply_cli_span_class <- function(x, class = "check_name") { + paste0("{.", class, " ", x, "}") +} + +is_check_class <- function(x, + class = c( + "check_success", "check_failure", + "check_exec_warn", "check_error", + "check_exec_error", "check_info" + )) { + class <- rlang::arg_match(class) + purrr::map_lgl(x, ~ rlang::inherits_any(.x, class)) +} + +get_filenames <- function(x, unique = FALSE) { + filenames <- fs::path_file(purrr::map_chr(x, "where")) + if (unique) { + unique(filenames) + } else { + filenames + } +} diff --git a/R/validate_pr.R b/R/validate_pr.R index 15b37c41..0c9f1915 100644 --- a/R/validate_pr.R +++ b/R/validate_pr.R @@ -285,7 +285,7 @@ check_pr_modf_del_files <- function(pr_df, file_type = c( purrr::compact() as_hub_validations(out) %>% - purrr::set_names(sprintf("%s_mod_%i", file_type, seq_along(out))) + purrr::set_names(sprintf("%s_mod", file_type)) } diff --git a/tests/testthat/_snaps/validate_model_data.md b/tests/testthat/_snaps/validate_model_data.md index db423a85..fb695db4 100644 --- a/tests/testthat/_snaps/validate_model_data.md +++ b/tests/testthat/_snaps/validate_model_data.md @@ -249,72 +249,84 @@ Code validate_model_data(hub_path, file_path) Message - v 2022-10-08-team1-goodmodel.csv: File could be read successfully. - v 2022-10-08-team1-goodmodel.csv: `round_id_col` name is valid. - v 2022-10-08-team1-goodmodel.csv: `round_id` column "origin_date" contains a single, unique round ID value. - v 2022-10-08-team1-goodmodel.csv: All `round_id_col` "origin_date" values match submission `round_id` from file name. - v 2022-10-08-team1-goodmodel.csv: Column names are consistent with expected round task IDs and std column names. - v 2022-10-08-team1-goodmodel.csv: Column data types match hub schema. - v 2022-10-08-team1-goodmodel.csv: `tbl` contains valid values/value combinations. - v 2022-10-08-team1-goodmodel.csv: All combinations of task ID column/`output_type`/`output_type_id` values are unique. - v 2022-10-08-team1-goodmodel.csv: Required task ID/output type/output type ID combinations all present. - v 2022-10-08-team1-goodmodel.csv: Values in column `value` all valid with respect to modeling task config. - v 2022-10-08-team1-goodmodel.csv: Values in `value` column are non-decreasing as output_type_ids increase for all unique task ID value/output type combinations of quantile or cdf output types. - i 2022-10-08-team1-goodmodel.csv: No pmf output types to check for sum of 1. Check skipped. + + -- 2022-10-08-team1-goodmodel.csv ---- + + v [file_read]: File could be read successfully. + v [valid_round_id_col]: `round_id_col` name is valid. + v [unique_round_id]: `round_id` column "origin_date" contains a single, unique round ID value. + v [match_round_id]: All `round_id_col` "origin_date" values match submission `round_id` from file name. + v [colnames]: Column names are consistent with expected round task IDs and std column names. + v [col_types]: Column data types match hub schema. + v [valid_vals]: `tbl` contains valid values/value combinations. + v [rows_unique]: All combinations of task ID column/`output_type`/`output_type_id` values are unique. + v [req_vals]: Required task ID/output type/output type ID combinations all present. + v [value_col_valid]: Values in column `value` all valid with respect to modeling task config. + v [value_col_non_desc]: Values in `value` column are non-decreasing as output_type_ids increase for all unique task ID value/output type combinations of quantile or cdf output types. + i [value_col_sum1]: No pmf output types to check for sum of 1. Check skipped. # validate_model_data print method work [ansi] Code validate_model_data(hub_path, file_path) Message - v 2022-10-08-team1-goodmodel.csv: File could be read successfully. - v 2022-10-08-team1-goodmodel.csv: `round_id_col` name is valid. - v 2022-10-08-team1-goodmodel.csv: `round_id` column "origin_date" contains a single, unique round ID value. - v 2022-10-08-team1-goodmodel.csv: All `round_id_col` "origin_date" values match submission `round_id` from file name. - v 2022-10-08-team1-goodmodel.csv: Column names are consistent with expected round task IDs and std column names. - v 2022-10-08-team1-goodmodel.csv: Column data types match hub schema. - v 2022-10-08-team1-goodmodel.csv: `tbl` contains valid values/value combinations. - v 2022-10-08-team1-goodmodel.csv: All combinations of task ID column/`output_type`/`output_type_id` values are unique. - v 2022-10-08-team1-goodmodel.csv: Required task ID/output type/output type ID combinations all present. - v 2022-10-08-team1-goodmodel.csv: Values in column `value` all valid with respect to modeling task config. - v 2022-10-08-team1-goodmodel.csv: Values in `value` column are non-decreasing as output_type_ids increase for all unique task ID value/output type combinations of quantile or cdf output types. - i 2022-10-08-team1-goodmodel.csv: No pmf output types to check for sum of 1. Check skipped. + + -- 2022-10-08-team1-goodmodel.csv ---- + + v [file_read]: File could be read successfully. + v [valid_round_id_col]: `round_id_col` name is valid. + v [unique_round_id]: `round_id` column "origin_date" contains a single, unique round ID value. + v [match_round_id]: All `round_id_col` "origin_date" values match submission `round_id` from file name. + v [colnames]: Column names are consistent with expected round task IDs and std column names. + v [col_types]: Column data types match hub schema. + v [valid_vals]: `tbl` contains valid values/value combinations. + v [rows_unique]: All combinations of task ID column/`output_type`/`output_type_id` values are unique. + v [req_vals]: Required task ID/output type/output type ID combinations all present. + v [value_col_valid]: Values in column `value` all valid with respect to modeling task config. + v [value_col_non_desc]: Values in `value` column are non-decreasing as output_type_ids increase for all unique task ID value/output type combinations of quantile or cdf output types. + i [value_col_sum1]: No pmf output types to check for sum of 1. Check skipped. # validate_model_data print method work [unicode] Code validate_model_data(hub_path, file_path) Message - ✔ 2022-10-08-team1-goodmodel.csv: File could be read successfully. - ✔ 2022-10-08-team1-goodmodel.csv: `round_id_col` name is valid. - ✔ 2022-10-08-team1-goodmodel.csv: `round_id` column "origin_date" contains a single, unique round ID value. - ✔ 2022-10-08-team1-goodmodel.csv: All `round_id_col` "origin_date" values match submission `round_id` from file name. - ✔ 2022-10-08-team1-goodmodel.csv: Column names are consistent with expected round task IDs and std column names. - ✔ 2022-10-08-team1-goodmodel.csv: Column data types match hub schema. - ✔ 2022-10-08-team1-goodmodel.csv: `tbl` contains valid values/value combinations. - ✔ 2022-10-08-team1-goodmodel.csv: All combinations of task ID column/`output_type`/`output_type_id` values are unique. - ✔ 2022-10-08-team1-goodmodel.csv: Required task ID/output type/output type ID combinations all present. - ✔ 2022-10-08-team1-goodmodel.csv: Values in column `value` all valid with respect to modeling task config. - ✔ 2022-10-08-team1-goodmodel.csv: Values in `value` column are non-decreasing as output_type_ids increase for all unique task ID value/output type combinations of quantile or cdf output types. - ℹ 2022-10-08-team1-goodmodel.csv: No pmf output types to check for sum of 1. Check skipped. + + ── 2022-10-08-team1-goodmodel.csv ──── + + ✔ [file_read]: File could be read successfully. + ✔ [valid_round_id_col]: `round_id_col` name is valid. + ✔ [unique_round_id]: `round_id` column "origin_date" contains a single, unique round ID value. + ✔ [match_round_id]: All `round_id_col` "origin_date" values match submission `round_id` from file name. + ✔ [colnames]: Column names are consistent with expected round task IDs and std column names. + ✔ [col_types]: Column data types match hub schema. + ✔ [valid_vals]: `tbl` contains valid values/value combinations. + ✔ [rows_unique]: All combinations of task ID column/`output_type`/`output_type_id` values are unique. + ✔ [req_vals]: Required task ID/output type/output type ID combinations all present. + ✔ [value_col_valid]: Values in column `value` all valid with respect to modeling task config. + ✔ [value_col_non_desc]: Values in `value` column are non-decreasing as output_type_ids increase for all unique task ID value/output type combinations of quantile or cdf output types. + ℹ [value_col_sum1]: No pmf output types to check for sum of 1. Check skipped. # validate_model_data print method work [fancy] Code validate_model_data(hub_path, file_path) Message - ✔ 2022-10-08-team1-goodmodel.csv: File could be read successfully. - ✔ 2022-10-08-team1-goodmodel.csv: `round_id_col` name is valid. - ✔ 2022-10-08-team1-goodmodel.csv: `round_id` column "origin_date" contains a single, unique round ID value. - ✔ 2022-10-08-team1-goodmodel.csv: All `round_id_col` "origin_date" values match submission `round_id` from file name. - ✔ 2022-10-08-team1-goodmodel.csv: Column names are consistent with expected round task IDs and std column names. - ✔ 2022-10-08-team1-goodmodel.csv: Column data types match hub schema. - ✔ 2022-10-08-team1-goodmodel.csv: `tbl` contains valid values/value combinations. - ✔ 2022-10-08-team1-goodmodel.csv: All combinations of task ID column/`output_type`/`output_type_id` values are unique. - ✔ 2022-10-08-team1-goodmodel.csv: Required task ID/output type/output type ID combinations all present. - ✔ 2022-10-08-team1-goodmodel.csv: Values in column `value` all valid with respect to modeling task config. - ✔ 2022-10-08-team1-goodmodel.csv: Values in `value` column are non-decreasing as output_type_ids increase for all unique task ID value/output type combinations of quantile or cdf output types. - ℹ 2022-10-08-team1-goodmodel.csv: No pmf output types to check for sum of 1. Check skipped. + + ── 2022-10-08-team1-goodmodel.csv ──── + + ✔ [file_read]: File could be read successfully. + ✔ [valid_round_id_col]: `round_id_col` name is valid. + ✔ [unique_round_id]: `round_id` column "origin_date" contains a single, unique round ID value. + ✔ [match_round_id]: All `round_id_col` "origin_date" values match submission `round_id` from file name. + ✔ [colnames]: Column names are consistent with expected round task IDs and std column names. + ✔ [col_types]: Column data types match hub schema. + ✔ [valid_vals]: `tbl` contains valid values/value combinations. + ✔ [rows_unique]: All combinations of task ID column/`output_type`/`output_type_id` values are unique. + ✔ [req_vals]: Required task ID/output type/output type ID combinations all present. + ✔ [value_col_valid]: Values in column `value` all valid with respect to modeling task config. + ✔ [value_col_non_desc]: Values in `value` column are non-decreasing as output_type_ids increase for all unique task ID value/output type combinations of quantile or cdf output types. + ℹ [value_col_sum1]: No pmf output types to check for sum of 1. Check skipped. # validate_model_data errors correctly diff --git a/tests/testthat/_snaps/validate_model_file.md b/tests/testthat/_snaps/validate_model_file.md index 6286e623..a0bab3cc 100644 --- a/tests/testthat/_snaps/validate_model_file.md +++ b/tests/testthat/_snaps/validate_model_file.md @@ -62,122 +62,158 @@ Code validate_model_file(hub_path, file_path = "team1-goodmodel/2022-10-08-team1-goodmodel.csv") Message - v 2022-10-08-team1-goodmodel.csv: File exists at path 'model-output/team1-goodmodel/2022-10-08-team1-goodmodel.csv'. - v 2022-10-08-team1-goodmodel.csv: File name "2022-10-08-team1-goodmodel.csv" is valid. - v 2022-10-08-team1-goodmodel.csv: File directory name matches `model_id` metadata in file name. - v 2022-10-08-team1-goodmodel.csv: `round_id` is valid. - v 2022-10-08-team1-goodmodel.csv: File is accepted hub format. - v 2022-10-08-team1-goodmodel.csv: Metadata file exists at path 'model-metadata/team1-goodmodel.yaml'. + + -- 2022-10-08-team1-goodmodel.csv ---- + + v [file_exists]: File exists at path 'model-output/team1-goodmodel/2022-10-08-team1-goodmodel.csv'. + v [file_name]: File name "2022-10-08-team1-goodmodel.csv" is valid. + v [file_location]: File directory name matches `model_id` metadata in file name. + v [round_id_valid]: `round_id` is valid. + v [file_format]: File is accepted hub format. + v [metadata_exists]: Metadata file exists at path 'model-metadata/team1-goodmodel.yaml'. --- Code validate_model_file(hub_path, file_path = "team1-goodmodel/2022-10-15-team1-goodmodel.csv") Message - (x) 2022-10-15-team1-goodmodel.csv: File does not exist at path 'model-output/team1-goodmodel/2022-10-15-team1-goodmodel.csv'. + + -- 2022-10-15-team1-goodmodel.csv ---- + + (x) [file_exists]: File does not exist at path 'model-output/team1-goodmodel/2022-10-15-team1-goodmodel.csv'. --- Code validate_model_file(hub_path, file_path = "team1-goodmodel/2022-10-15-hub-baseline.csv") Message - v 2022-10-15-hub-baseline.csv: File exists at path 'model-output/team1-goodmodel/2022-10-15-hub-baseline.csv'. - v 2022-10-15-hub-baseline.csv: File name "2022-10-15-hub-baseline.csv" is valid. - x 2022-10-15-hub-baseline.csv: File directory name must match `model_id` metadata in file name. File should be submitted to directory "hub-baseline" not "team1-goodmodel" - v 2022-10-15-hub-baseline.csv: `round_id` is valid. - v 2022-10-15-hub-baseline.csv: File is accepted hub format. - v 2022-10-15-hub-baseline.csv: Metadata file exists at path 'model-metadata/hub-baseline.yml'. + + -- 2022-10-15-hub-baseline.csv ---- + + v [file_exists]: File exists at path 'model-output/team1-goodmodel/2022-10-15-hub-baseline.csv'. + v [file_name]: File name "2022-10-15-hub-baseline.csv" is valid. + x [file_location]: File directory name must match `model_id` metadata in file name. File should be submitted to directory "hub-baseline" not "team1-goodmodel" + v [round_id_valid]: `round_id` is valid. + v [file_format]: File is accepted hub format. + v [metadata_exists]: Metadata file exists at path 'model-metadata/hub-baseline.yml'. # validate_model_file print method work [ansi] Code validate_model_file(hub_path, file_path = "team1-goodmodel/2022-10-08-team1-goodmodel.csv") Message - v 2022-10-08-team1-goodmodel.csv: File exists at path model-output/team1-goodmodel/2022-10-08-team1-goodmodel.csv. - v 2022-10-08-team1-goodmodel.csv: File name "2022-10-08-team1-goodmodel.csv" is valid. - v 2022-10-08-team1-goodmodel.csv: File directory name matches `model_id` metadata in file name. - v 2022-10-08-team1-goodmodel.csv: `round_id` is valid. - v 2022-10-08-team1-goodmodel.csv: File is accepted hub format. - v 2022-10-08-team1-goodmodel.csv: Metadata file exists at path model-metadata/team1-goodmodel.yaml. + + -- 2022-10-08-team1-goodmodel.csv ---- + + v [file_exists]: File exists at path model-output/team1-goodmodel/2022-10-08-team1-goodmodel.csv. + v [file_name]: File name "2022-10-08-team1-goodmodel.csv" is valid. + v [file_location]: File directory name matches `model_id` metadata in file name. + v [round_id_valid]: `round_id` is valid. + v [file_format]: File is accepted hub format. + v [metadata_exists]: Metadata file exists at path model-metadata/team1-goodmodel.yaml. --- Code validate_model_file(hub_path, file_path = "team1-goodmodel/2022-10-15-team1-goodmodel.csv") Message - (x) 2022-10-15-team1-goodmodel.csv: File does not exist at path model-output/team1-goodmodel/2022-10-15-team1-goodmodel.csv. + + -- 2022-10-15-team1-goodmodel.csv ---- + + (x) [file_exists]: File does not exist at path model-output/team1-goodmodel/2022-10-15-team1-goodmodel.csv. --- Code validate_model_file(hub_path, file_path = "team1-goodmodel/2022-10-15-hub-baseline.csv") Message - v 2022-10-15-hub-baseline.csv: File exists at path model-output/team1-goodmodel/2022-10-15-hub-baseline.csv. - v 2022-10-15-hub-baseline.csv: File name "2022-10-15-hub-baseline.csv" is valid. - x 2022-10-15-hub-baseline.csv: File directory name must match `model_id` metadata in file name. File should be submitted to directory "hub-baseline" not "team1-goodmodel" - v 2022-10-15-hub-baseline.csv: `round_id` is valid. - v 2022-10-15-hub-baseline.csv: File is accepted hub format. - v 2022-10-15-hub-baseline.csv: Metadata file exists at path model-metadata/hub-baseline.yml. + + -- 2022-10-15-hub-baseline.csv ---- + + v [file_exists]: File exists at path model-output/team1-goodmodel/2022-10-15-hub-baseline.csv. + v [file_name]: File name "2022-10-15-hub-baseline.csv" is valid. + x [file_location]: File directory name must match `model_id` metadata in file name. File should be submitted to directory "hub-baseline" not "team1-goodmodel" + v [round_id_valid]: `round_id` is valid. + v [file_format]: File is accepted hub format. + v [metadata_exists]: Metadata file exists at path model-metadata/hub-baseline.yml. # validate_model_file print method work [unicode] Code validate_model_file(hub_path, file_path = "team1-goodmodel/2022-10-08-team1-goodmodel.csv") Message - ✔ 2022-10-08-team1-goodmodel.csv: File exists at path 'model-output/team1-goodmodel/2022-10-08-team1-goodmodel.csv'. - ✔ 2022-10-08-team1-goodmodel.csv: File name "2022-10-08-team1-goodmodel.csv" is valid. - ✔ 2022-10-08-team1-goodmodel.csv: File directory name matches `model_id` metadata in file name. - ✔ 2022-10-08-team1-goodmodel.csv: `round_id` is valid. - ✔ 2022-10-08-team1-goodmodel.csv: File is accepted hub format. - ✔ 2022-10-08-team1-goodmodel.csv: Metadata file exists at path 'model-metadata/team1-goodmodel.yaml'. + + ── 2022-10-08-team1-goodmodel.csv ──── + + ✔ [file_exists]: File exists at path 'model-output/team1-goodmodel/2022-10-08-team1-goodmodel.csv'. + ✔ [file_name]: File name "2022-10-08-team1-goodmodel.csv" is valid. + ✔ [file_location]: File directory name matches `model_id` metadata in file name. + ✔ [round_id_valid]: `round_id` is valid. + ✔ [file_format]: File is accepted hub format. + ✔ [metadata_exists]: Metadata file exists at path 'model-metadata/team1-goodmodel.yaml'. --- Code validate_model_file(hub_path, file_path = "team1-goodmodel/2022-10-15-team1-goodmodel.csv") Message - ⓧ 2022-10-15-team1-goodmodel.csv: File does not exist at path 'model-output/team1-goodmodel/2022-10-15-team1-goodmodel.csv'. + + ── 2022-10-15-team1-goodmodel.csv ──── + + ⓧ [file_exists]: File does not exist at path 'model-output/team1-goodmodel/2022-10-15-team1-goodmodel.csv'. --- Code validate_model_file(hub_path, file_path = "team1-goodmodel/2022-10-15-hub-baseline.csv") Message - ✔ 2022-10-15-hub-baseline.csv: File exists at path 'model-output/team1-goodmodel/2022-10-15-hub-baseline.csv'. - ✔ 2022-10-15-hub-baseline.csv: File name "2022-10-15-hub-baseline.csv" is valid. - ✖ 2022-10-15-hub-baseline.csv: File directory name must match `model_id` metadata in file name. File should be submitted to directory "hub-baseline" not "team1-goodmodel" - ✔ 2022-10-15-hub-baseline.csv: `round_id` is valid. - ✔ 2022-10-15-hub-baseline.csv: File is accepted hub format. - ✔ 2022-10-15-hub-baseline.csv: Metadata file exists at path 'model-metadata/hub-baseline.yml'. + + ── 2022-10-15-hub-baseline.csv ──── + + ✔ [file_exists]: File exists at path 'model-output/team1-goodmodel/2022-10-15-hub-baseline.csv'. + ✔ [file_name]: File name "2022-10-15-hub-baseline.csv" is valid. + ✖ [file_location]: File directory name must match `model_id` metadata in file name. File should be submitted to directory "hub-baseline" not "team1-goodmodel" + ✔ [round_id_valid]: `round_id` is valid. + ✔ [file_format]: File is accepted hub format. + ✔ [metadata_exists]: Metadata file exists at path 'model-metadata/hub-baseline.yml'. # validate_model_file print method work [fancy] Code validate_model_file(hub_path, file_path = "team1-goodmodel/2022-10-08-team1-goodmodel.csv") Message - ✔ 2022-10-08-team1-goodmodel.csv: File exists at path model-output/team1-goodmodel/2022-10-08-team1-goodmodel.csv. - ✔ 2022-10-08-team1-goodmodel.csv: File name "2022-10-08-team1-goodmodel.csv" is valid. - ✔ 2022-10-08-team1-goodmodel.csv: File directory name matches `model_id` metadata in file name. - ✔ 2022-10-08-team1-goodmodel.csv: `round_id` is valid. - ✔ 2022-10-08-team1-goodmodel.csv: File is accepted hub format. - ✔ 2022-10-08-team1-goodmodel.csv: Metadata file exists at path model-metadata/team1-goodmodel.yaml. + + ── 2022-10-08-team1-goodmodel.csv ──── + + ✔ [file_exists]: File exists at path model-output/team1-goodmodel/2022-10-08-team1-goodmodel.csv. + ✔ [file_name]: File name "2022-10-08-team1-goodmodel.csv" is valid. + ✔ [file_location]: File directory name matches `model_id` metadata in file name. + ✔ [round_id_valid]: `round_id` is valid. + ✔ [file_format]: File is accepted hub format. + ✔ [metadata_exists]: Metadata file exists at path model-metadata/team1-goodmodel.yaml. --- Code validate_model_file(hub_path, file_path = "team1-goodmodel/2022-10-15-team1-goodmodel.csv") Message - ⓧ 2022-10-15-team1-goodmodel.csv: File does not exist at path model-output/team1-goodmodel/2022-10-15-team1-goodmodel.csv. + + ── 2022-10-15-team1-goodmodel.csv ──── + + ⓧ [file_exists]: File does not exist at path model-output/team1-goodmodel/2022-10-15-team1-goodmodel.csv. --- Code validate_model_file(hub_path, file_path = "team1-goodmodel/2022-10-15-hub-baseline.csv") Message - ✔ 2022-10-15-hub-baseline.csv: File exists at path model-output/team1-goodmodel/2022-10-15-hub-baseline.csv. - ✔ 2022-10-15-hub-baseline.csv: File name "2022-10-15-hub-baseline.csv" is valid. - ✖ 2022-10-15-hub-baseline.csv: File directory name must match `model_id` metadata in file name. File should be submitted to directory "hub-baseline" not "team1-goodmodel" - ✔ 2022-10-15-hub-baseline.csv: `round_id` is valid. - ✔ 2022-10-15-hub-baseline.csv: File is accepted hub format. - ✔ 2022-10-15-hub-baseline.csv: Metadata file exists at path model-metadata/hub-baseline.yml. + + ── 2022-10-15-hub-baseline.csv ──── + + ✔ [file_exists]: File exists at path model-output/team1-goodmodel/2022-10-15-hub-baseline.csv. + ✔ [file_name]: File name "2022-10-15-hub-baseline.csv" is valid. + ✖ [file_location]: File directory name must match `model_id` metadata in file name. File should be submitted to directory "hub-baseline" not "team1-goodmodel" + ✔ [round_id_valid]: `round_id` is valid. + ✔ [file_format]: File is accepted hub format. + ✔ [metadata_exists]: Metadata file exists at path model-metadata/hub-baseline.yml. diff --git a/tests/testthat/_snaps/validate_pr.md b/tests/testthat/_snaps/validate_pr.md index 919f1302..9ae58713 100644 --- a/tests/testthat/_snaps/validate_pr.md +++ b/tests/testthat/_snaps/validate_pr.md @@ -247,7 +247,7 @@ ..$ call : chr "check_config_hub_valid" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_success" "hub_check" "rlang_message" "message" ... - $ model_output_mod_1 :List of 6 + $ model_output_mod :List of 6 ..$ message : chr "Previously submitted model output files must not be modified. \n 'model-output/hub-baseline/2022-10-08-hub-base"| __truncated__ ..$ trace : NULL ..$ parent : NULL @@ -255,7 +255,7 @@ ..$ call : chr "check_pr_modf_del_file" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_error" "hub_check" "rlang_error" "error" ... - $ model_output_mod_2 :List of 6 + $ model_output_mod_1 :List of 6 ..$ message : chr "Previously submitted model output files must not be removed. \n 'model-output/team1-goodmodel/2022-10-15-team1-"| __truncated__ ..$ trace : NULL ..$ parent : NULL @@ -263,7 +263,7 @@ ..$ call : chr "check_pr_modf_del_file" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_error" "hub_check" "rlang_error" "error" ... - $ model_metadata_mod_1 :List of 6 + $ model_metadata_mod :List of 6 ..$ message : chr "Previously submitted model metadata files must not be removed. \n 'model-metadata/team1-goodmodel.yaml' removed." ..$ trace : NULL ..$ parent : NULL @@ -412,37 +412,37 @@ ..$ call : chr "check_tbl_spl_n" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_info" "hub_check" "rlang_message" "message" ... - $ file_exists :List of 4 + $ file_exists_1 :List of 4 ..$ message : chr "File exists at path 'model-output/team1-goodmodel/2022-10-22-team1-goodmodel.csv'. \n " ..$ where : 'fs_path' chr "team1-goodmodel/2022-10-22-team1-goodmodel.csv" ..$ call : chr "check_file_exists" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_success" "hub_check" "rlang_message" "message" ... - $ file_name :List of 4 + $ file_name_1 :List of 4 ..$ message : chr "File name \"2022-10-22-team1-goodmodel.csv\" is valid. \n " ..$ where : 'fs_path' chr "team1-goodmodel/2022-10-22-team1-goodmodel.csv" ..$ call : chr "check_file_name" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_success" "hub_check" "rlang_message" "message" ... - $ file_location :List of 4 + $ file_location_1 :List of 4 ..$ message : chr "File directory name matches `model_id`\n metadata in file name. \n " ..$ where : 'fs_path' chr "team1-goodmodel/2022-10-22-team1-goodmodel.csv" ..$ call : chr "check_file_location" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_success" "hub_check" "rlang_message" "message" ... - $ round_id_valid :List of 4 + $ round_id_valid_1 :List of 4 ..$ message : chr "`round_id` is valid. \n " ..$ where : 'fs_path' chr "team1-goodmodel/2022-10-22-team1-goodmodel.csv" ..$ call : chr "check_valid_round_id" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_success" "hub_check" "rlang_message" "message" ... - $ file_format :List of 4 + $ file_format_1 :List of 4 ..$ message : chr "File is accepted hub format. \n " ..$ where : 'fs_path' chr "team1-goodmodel/2022-10-22-team1-goodmodel.csv" ..$ call : chr "check_file_format" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_success" "hub_check" "rlang_message" "message" ... - $ metadata_exists :List of 6 + $ metadata_exists_1 :List of 6 ..$ message : chr "Metadata file does not exist at path 'model-metadata/team1-goodmodel.yml' or\n "| __truncated__ ..$ trace : NULL ..$ parent : NULL @@ -463,7 +463,7 @@ ..$ call : chr "check_config_hub_valid" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_success" "hub_check" "rlang_message" "message" ... - $ model_output_mod_1 :List of 6 + $ model_output_mod :List of 6 ..$ message : chr "Previously submitted model output files must not be modified. \n 'model-output/hub-baseline/2022-10-08-hub-base"| __truncated__ ..$ trace : NULL ..$ parent : NULL @@ -471,7 +471,7 @@ ..$ call : chr "check_pr_modf_del_file" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_failure" "hub_check" "rlang_error" "error" ... - $ model_output_mod_2 :List of 6 + $ model_output_mod_1 :List of 6 ..$ message : chr "Previously submitted model output files must not be removed. \n 'model-output/team1-goodmodel/2022-10-15-team1-"| __truncated__ ..$ trace : NULL ..$ parent : NULL @@ -479,7 +479,7 @@ ..$ call : chr "check_pr_modf_del_file" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_failure" "hub_check" "rlang_error" "error" ... - $ model_metadata_mod_1 :List of 6 + $ model_metadata_mod :List of 6 ..$ message : chr "Previously submitted model metadata files must not be removed. \n 'model-metadata/team1-goodmodel.yaml' removed." ..$ trace : NULL ..$ parent : NULL @@ -628,37 +628,37 @@ ..$ call : chr "check_tbl_spl_n" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_info" "hub_check" "rlang_message" "message" ... - $ file_exists :List of 4 + $ file_exists_1 :List of 4 ..$ message : chr "File exists at path 'model-output/team1-goodmodel/2022-10-22-team1-goodmodel.csv'. \n " ..$ where : 'fs_path' chr "team1-goodmodel/2022-10-22-team1-goodmodel.csv" ..$ call : chr "check_file_exists" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_success" "hub_check" "rlang_message" "message" ... - $ file_name :List of 4 + $ file_name_1 :List of 4 ..$ message : chr "File name \"2022-10-22-team1-goodmodel.csv\" is valid. \n " ..$ where : 'fs_path' chr "team1-goodmodel/2022-10-22-team1-goodmodel.csv" ..$ call : chr "check_file_name" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_success" "hub_check" "rlang_message" "message" ... - $ file_location :List of 4 + $ file_location_1 :List of 4 ..$ message : chr "File directory name matches `model_id`\n metadata in file name. \n " ..$ where : 'fs_path' chr "team1-goodmodel/2022-10-22-team1-goodmodel.csv" ..$ call : chr "check_file_location" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_success" "hub_check" "rlang_message" "message" ... - $ round_id_valid :List of 4 + $ round_id_valid_1 :List of 4 ..$ message : chr "`round_id` is valid. \n " ..$ where : 'fs_path' chr "team1-goodmodel/2022-10-22-team1-goodmodel.csv" ..$ call : chr "check_valid_round_id" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_success" "hub_check" "rlang_message" "message" ... - $ file_format :List of 4 + $ file_format_1 :List of 4 ..$ message : chr "File is accepted hub format. \n " ..$ where : 'fs_path' chr "team1-goodmodel/2022-10-22-team1-goodmodel.csv" ..$ call : chr "check_file_format" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_success" "hub_check" "rlang_message" "message" ... - $ metadata_exists :List of 6 + $ metadata_exists_1 :List of 6 ..$ message : chr "Metadata file does not exist at path 'model-metadata/team1-goodmodel.yml' or\n "| __truncated__ ..$ trace : NULL ..$ parent : NULL @@ -679,19 +679,19 @@ ..$ call : chr "check_config_hub_valid" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_success" "hub_check" "rlang_message" "message" ... - $ model_output_mod_1 :List of 4 + $ model_output_mod :List of 4 ..$ message : chr "Previously submitted model output file\n 'model-output/hub-baseline/2022-10-08-hub-baseline.csv' modified." ..$ where : 'fs_path' chr "hub-baseline/2022-10-08-hub-baseline.csv" ..$ call : chr "check_pr_modf_del_file" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_info" "hub_check" "rlang_message" "message" ... - $ model_output_mod_2 :List of 4 + $ model_output_mod_1 :List of 4 ..$ message : chr "Previously submitted model output file\n 'model-output/team1-goodmodel/2022-10-15-team1-goodmodel.csv' removed." ..$ where : 'fs_path' chr "team1-goodmodel/2022-10-15-team1-goodmodel.csv" ..$ call : chr "check_pr_modf_del_file" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_info" "hub_check" "rlang_message" "message" ... - $ model_metadata_mod_1 :List of 4 + $ model_metadata_mod :List of 4 ..$ message : chr "Previously submitted model metadata file\n 'model-metadata/team1-goodmodel.yaml' removed." ..$ where : 'fs_path' chr "team1-goodmodel.yaml" ..$ call : chr "check_pr_modf_del_file" @@ -838,37 +838,37 @@ ..$ call : chr "check_tbl_spl_n" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_info" "hub_check" "rlang_message" "message" ... - $ file_exists :List of 4 + $ file_exists_1 :List of 4 ..$ message : chr "File exists at path 'model-output/team1-goodmodel/2022-10-22-team1-goodmodel.csv'. \n " ..$ where : 'fs_path' chr "team1-goodmodel/2022-10-22-team1-goodmodel.csv" ..$ call : chr "check_file_exists" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_success" "hub_check" "rlang_message" "message" ... - $ file_name :List of 4 + $ file_name_1 :List of 4 ..$ message : chr "File name \"2022-10-22-team1-goodmodel.csv\" is valid. \n " ..$ where : 'fs_path' chr "team1-goodmodel/2022-10-22-team1-goodmodel.csv" ..$ call : chr "check_file_name" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_success" "hub_check" "rlang_message" "message" ... - $ file_location :List of 4 + $ file_location_1 :List of 4 ..$ message : chr "File directory name matches `model_id`\n metadata in file name. \n " ..$ where : 'fs_path' chr "team1-goodmodel/2022-10-22-team1-goodmodel.csv" ..$ call : chr "check_file_location" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_success" "hub_check" "rlang_message" "message" ... - $ round_id_valid :List of 4 + $ round_id_valid_1 :List of 4 ..$ message : chr "`round_id` is valid. \n " ..$ where : 'fs_path' chr "team1-goodmodel/2022-10-22-team1-goodmodel.csv" ..$ call : chr "check_valid_round_id" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_success" "hub_check" "rlang_message" "message" ... - $ file_format :List of 4 + $ file_format_1 :List of 4 ..$ message : chr "File is accepted hub format. \n " ..$ where : 'fs_path' chr "team1-goodmodel/2022-10-22-team1-goodmodel.csv" ..$ call : chr "check_file_format" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_success" "hub_check" "rlang_message" "message" ... - $ metadata_exists :List of 6 + $ metadata_exists_1 :List of 6 ..$ message : chr "Metadata file does not exist at path 'model-metadata/team1-goodmodel.yml' or\n "| __truncated__ ..$ trace : NULL ..$ parent : NULL @@ -1030,37 +1030,37 @@ ..$ call : chr "check_tbl_spl_n" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_info" "hub_check" "rlang_message" "message" ... - $ file_exists :List of 4 + $ file_exists_1 :List of 4 ..$ message : chr "File exists at path 'model-output/team1-goodmodel/2022-10-22-team1-goodmodel.csv'. \n " ..$ where : 'fs_path' chr "team1-goodmodel/2022-10-22-team1-goodmodel.csv" ..$ call : chr "check_file_exists" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_success" "hub_check" "rlang_message" "message" ... - $ file_name :List of 4 + $ file_name_1 :List of 4 ..$ message : chr "File name \"2022-10-22-team1-goodmodel.csv\" is valid. \n " ..$ where : 'fs_path' chr "team1-goodmodel/2022-10-22-team1-goodmodel.csv" ..$ call : chr "check_file_name" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_success" "hub_check" "rlang_message" "message" ... - $ file_location :List of 4 + $ file_location_1 :List of 4 ..$ message : chr "File directory name matches `model_id`\n metadata in file name. \n " ..$ where : 'fs_path' chr "team1-goodmodel/2022-10-22-team1-goodmodel.csv" ..$ call : chr "check_file_location" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_success" "hub_check" "rlang_message" "message" ... - $ round_id_valid :List of 4 + $ round_id_valid_1 :List of 4 ..$ message : chr "`round_id` is valid. \n " ..$ where : 'fs_path' chr "team1-goodmodel/2022-10-22-team1-goodmodel.csv" ..$ call : chr "check_valid_round_id" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_success" "hub_check" "rlang_message" "message" ... - $ file_format :List of 4 + $ file_format_1 :List of 4 ..$ message : chr "File is accepted hub format. \n " ..$ where : 'fs_path' chr "team1-goodmodel/2022-10-22-team1-goodmodel.csv" ..$ call : chr "check_file_format" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_success" "hub_check" "rlang_message" "message" ... - $ metadata_exists :List of 6 + $ metadata_exists_1 :List of 6 ..$ message : chr "Metadata file does not exist at path 'model-metadata/team1-goodmodel.yml' or\n "| __truncated__ ..$ trace : NULL ..$ parent : NULL @@ -1081,7 +1081,7 @@ ..$ call : chr "check_config_hub_valid" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_success" "hub_check" "rlang_message" "message" ... - $ model_output_mod_1 :List of 6 + $ model_output_mod :List of 6 ..$ message : chr "Previously submitted model output files must not be removed. \n 'model-output/team1-goodmodel/2022-10-15-team1-"| __truncated__ ..$ trace : NULL ..$ parent : NULL @@ -1089,7 +1089,7 @@ ..$ call : chr "check_pr_modf_del_file" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_error" "hub_check" "rlang_error" "error" ... - $ model_metadata_mod_1 :List of 6 + $ model_metadata_mod :List of 6 ..$ message : chr "Previously submitted model metadata files must not be removed. \n 'model-metadata/team1-goodmodel.yaml' removed." ..$ trace : NULL ..$ parent : NULL @@ -1238,37 +1238,37 @@ ..$ call : chr "check_tbl_spl_n" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_info" "hub_check" "rlang_message" "message" ... - $ file_exists :List of 4 + $ file_exists_1 :List of 4 ..$ message : chr "File exists at path 'model-output/team1-goodmodel/2022-10-22-team1-goodmodel.csv'. \n " ..$ where : 'fs_path' chr "team1-goodmodel/2022-10-22-team1-goodmodel.csv" ..$ call : chr "check_file_exists" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_success" "hub_check" "rlang_message" "message" ... - $ file_name :List of 4 + $ file_name_1 :List of 4 ..$ message : chr "File name \"2022-10-22-team1-goodmodel.csv\" is valid. \n " ..$ where : 'fs_path' chr "team1-goodmodel/2022-10-22-team1-goodmodel.csv" ..$ call : chr "check_file_name" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_success" "hub_check" "rlang_message" "message" ... - $ file_location :List of 4 + $ file_location_1 :List of 4 ..$ message : chr "File directory name matches `model_id`\n metadata in file name. \n " ..$ where : 'fs_path' chr "team1-goodmodel/2022-10-22-team1-goodmodel.csv" ..$ call : chr "check_file_location" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_success" "hub_check" "rlang_message" "message" ... - $ round_id_valid :List of 4 + $ round_id_valid_1 :List of 4 ..$ message : chr "`round_id` is valid. \n " ..$ where : 'fs_path' chr "team1-goodmodel/2022-10-22-team1-goodmodel.csv" ..$ call : chr "check_valid_round_id" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_success" "hub_check" "rlang_message" "message" ... - $ file_format :List of 4 + $ file_format_1 :List of 4 ..$ message : chr "File is accepted hub format. \n " ..$ where : 'fs_path' chr "team1-goodmodel/2022-10-22-team1-goodmodel.csv" ..$ call : chr "check_file_format" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_success" "hub_check" "rlang_message" "message" ... - $ metadata_exists :List of 6 + $ metadata_exists_1 :List of 6 ..$ message : chr "Metadata file does not exist at path 'model-metadata/team1-goodmodel.yml' or\n "| __truncated__ ..$ trace : NULL ..$ parent : NULL @@ -1283,13 +1283,13 @@ str(mod_checks_exec_error[1:5]) Output List of 5 - $ valid_config :List of 4 + $ valid_config :List of 4 ..$ message : chr "All hub config files are valid. \n " ..$ where : chr "mod_exec_error_hub" ..$ call : chr "check_config_hub_valid" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_success" "hub_check" "rlang_message" "message" ... - $ model_output_mod_1:List of 6 + $ model_output_mod:List of 6 ..$ message : chr "Could not check submission window for file \"team1-goodmodel/2022-10-team1-goodmodel.csv\". EXEC ERROR: Error i"| __truncated__ ..$ trace : NULL ..$ parent : NULL @@ -1297,19 +1297,19 @@ ..$ call : chr "check_pr_modf_del_file" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_exec_error" "hub_check" "rlang_error" "error" ... - $ file_exists :List of 4 + $ file_exists :List of 4 ..$ message : chr "File exists at path 'model-output/team1-goodmodel/2022-10-22-team1-goodmodel.csv'. \n " ..$ where : 'fs_path' chr "team1-goodmodel/2022-10-22-team1-goodmodel.csv" ..$ call : chr "check_file_exists" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_success" "hub_check" "rlang_message" "message" ... - $ file_name :List of 4 + $ file_name :List of 4 ..$ message : chr "File name \"2022-10-22-team1-goodmodel.csv\" is valid. \n " ..$ where : 'fs_path' chr "team1-goodmodel/2022-10-22-team1-goodmodel.csv" ..$ call : chr "check_file_name" ..$ use_cli_format: logi TRUE ..- attr(*, "class")= chr [1:5] "check_success" "hub_check" "rlang_message" "message" ... - $ file_location :List of 4 + $ file_location :List of 4 ..$ message : chr "File directory name matches `model_id`\n metadata in file name. \n " ..$ where : 'fs_path' chr "team1-goodmodel/2022-10-22-team1-goodmodel.csv" ..$ call : chr "check_file_location" diff --git a/vignettes/articles/hub-validations-class.Rmd b/vignettes/articles/hub-validations-class.Rmd index b67c9916..8641aebb 100644 --- a/vignettes/articles/hub-validations-class.Rmd +++ b/vignettes/articles/hub-validations-class.Rmd @@ -48,7 +48,7 @@ Ultimately, both will cause overall validation to fail. The ` ## `hub_validations` print method -`hub_validations` objects have their own print method which displays the result, the file name and message of each check: +`hub_validations` objects have their own print method which displays the result, the check name and message of each check: - `✔` indicates a check was successful (a `` condition class object was returned) - `✖` indicates a check failed but, because it does not affect downstream checks, validation was able to proceed (a `` condition class object was returned)