AMR/tests/tinytest.R

83 lines
3.8 KiB
R
Raw Normal View History

2019-02-04 12:24:07 +01:00
# ==================================================================== #
# TITLE: #
2022-10-05 09:12:22 +02:00
# AMR: An R Package for Working with Antimicrobial Resistance Data #
2019-02-04 12:24:07 +01:00
# #
# SOURCE CODE: #
2020-07-08 14:48:06 +02:00
# https://github.com/msberends/AMR #
2019-02-04 12:24:07 +01:00
# #
# PLEASE CITE THIS SOFTWARE AS: #
# Berends MS, Luz CF, Friedrich AW, et al. (2022). #
# AMR: An R Package for Working with Antimicrobial Resistance Data. #
# Journal of Statistical Software, 104(3), 1-31. #
2023-05-27 10:39:22 +02:00
# https://doi.org/10.18637/jss.v104.i03 #
2022-10-05 09:12:22 +02:00
# #
2022-12-27 15:16:15 +01:00
# Developed at the University of Groningen and the University Medical #
# Center Groningen in The Netherlands, in collaboration with many #
# colleagues from around the world, see our website. #
2019-02-04 12:24:07 +01:00
# #
# This R package is free software; you can freely use and distribute #
# it for both personal and commercial purposes under the terms of the #
# GNU General Public License version 2.0 (GNU GPL-2), as published by #
# the Free Software Foundation. #
# We created this package for both routine data analysis and academic #
# research and it was publicly released in the hope that it will be #
# useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. #
2020-10-08 11:16:03 +02:00
# #
# Visit our website for the full manual and a complete tutorial about #
# how to conduct AMR data analysis: https://msberends.github.io/AMR/ #
2019-02-04 12:24:07 +01:00
# ==================================================================== #
2022-10-05 09:12:22 +02:00
# we use {tinytest} instead of {testthat} because it does not rely on recent R versions - we want to test on R >= 3.0.
# Run them in RStudio using:
2022-10-31 13:25:41 +01:00
# rstudioapi::jobRunScript("tests/tinytest.R", name = "AMR Unit Tests", workingDir = getwd(), exportEnv = "tinytest_results")
2022-10-05 09:12:22 +02:00
2022-10-31 13:25:41 +01:00
# test only on GitHub Actions and at using RStudio jobs - not on CRAN as tests are lengthy
if (tryCatch(isTRUE(AMR:::import_fn("isJob", "rstudioapi")()), error = function(e) FALSE) ||
2023-01-23 15:01:21 +01:00
identical(Sys.getenv("R_RUN_TINYTEST"), "true")) {
2021-05-16 09:25:36 +02:00
# env var 'R_LIBS_USER' got overwritten during 'R CMD check' in GitHub Actions, so:
.libPaths(c(Sys.getenv("R_LIBS_USER_GH_ACTIONS"), .libPaths()))
2022-08-28 19:17:12 +02:00
if (AMR:::pkg_is_available("tinytest", also_load = TRUE)) {
2021-05-16 10:50:00 +02:00
library(AMR)
2022-10-05 09:12:22 +02:00
# set language
2022-08-28 19:17:12 +02:00
set_AMR_locale("English")
2022-10-05 09:12:22 +02:00
# set some functions if on old R
if (getRversion() < "3.2.0") {
anyNA <- AMR:::anyNA
dir.exists <- AMR:::dir.exists
file.size <- AMR:::file.size
file.mtime <- AMR:::file.mtime
isNamespaceLoaded <- AMR:::isNamespaceLoaded
lengths <- AMR:::lengths
}
if (getRversion() < "3.3.0") {
strrep <- AMR:::strrep
}
if (getRversion() < "3.5.0") {
isFALSE <- AMR:::isFALSE
}
if (getRversion() < "3.6.0") {
str2lang <- AMR:::str2lang
# trims() was introduced in 3.3.0, but its argument `whitespace` only in 3.6.0
trimws <- AMR:::trimws
}
if (getRversion() < "4.0.0") {
deparse1 <- AMR:::deparse1
}
2023-03-11 14:24:34 +01:00
2022-10-05 09:12:22 +02:00
# start the unit tests
2023-07-13 10:42:37 +02:00
suppressMessages(
out <- test_package("AMR",
testdir = ifelse(dir.exists("inst/tinytest"),
2023-07-13 10:42:37 +02:00
"inst/tinytest",
"tinytest"
),
2023-10-20 14:51:48 +02:00
verbose = FALSE,
2023-07-13 10:42:37 +02:00
color = FALSE
)
2022-08-28 10:31:50 +02:00
)
2022-08-28 19:17:12 +02:00
cat("\n\nSUMMARY:\n")
2021-05-20 13:42:17 +02:00
print(summary(out))
2021-05-16 10:50:00 +02:00
}
2021-05-15 21:36:22 +02:00
}