test_that("bioc is standalone", { ## baseenv() makes sure that the remotes package env is not used env <- new.env(parent = baseenv()) env$bioc <- bioconductor stenv <- env$bioc$.internal objs <- ls(stenv, all.names = TRUE) funs <- Filter(function(x) is.function(stenv[[x]]), objs) funobjs <- mget(funs, stenv) expect_message( mapply(codetools::checkUsage, funobjs, funs, MoreArgs = list(report = message)), NA) }) test_that("we can parse the YAML config", { skip_if_offline() expect_silent(yaml <- bioconductor$get_yaml_config(forget = TRUE)) expect_true(length(yaml) > 20) map <- bioconductor$get_version_map() expect_true("release" %in% map$bioc_status) expect_true("devel" %in% map$bioc_status) expect_true("future" %in% map$bioc_status) expect_true(inherits(bioconductor$get_release_version(), "package_version")) expect_true(inherits(bioconductor$get_devel_version(), "package_version")) }) test_that("internal map is current", { # If there is a new bioc version out, then we'll error. # This is to notify us that we need to update the package's # internal map. skip_on_cran() skip_if_offline() expect_equal( bioconductor$get_release_version(), package_version("3.18")) }) test_that("set of repos are correct", { # Compare our set of repos to the set returned by BiocManager. # They should match. If they don't we need to update the package. skip_if_offline() skip_on_cran() skip_without_package("BiocManager") withr::local_envvar(list(BIOC_VERSION = NA, BIOC_MIRROR = NA)) withr::local_options(list(Bioc_mirror = NULL)) # We can only run this if the matching R version is new enough, # so we skip on other platforms dev_ver <- bioconductor$get_devel_version() map <- bioconductor$get_version_map() required <- map$r_version[map$bioc_version == dev_ver] if (!getRversion()[, 1:2] %in% required) skip("Needs newer R version") my_repos <- bioconductor$get_repos(dev_ver) bm_repos <- asNamespace("BiocManager")$repositories(version = dev_ver) bm_repos <- bm_repos[names(bm_repos) != "CRAN"] expect_equal(sort(names(my_repos)), sort(names(bm_repos))) expect_equal(my_repos, bm_repos[names(my_repos)]) }) test_that("bioc_install_repos", { expect_equal( bioc_install_repos("3.1.0"), bioc_install_repos(bioc_ver = "3.0") ) expect_equal( bioc_install_repos("3.1.1"), bioc_install_repos(bioc_ver = "3.0") ) expect_equal( bioc_install_repos("3.2"), bioc_install_repos(bioc_ver = "3.2") ) expect_equal( bioc_install_repos("3.3"), bioc_install_repos(bioc_ver = "3.4") ) expect_equal( bioc_install_repos("3.4"), bioc_install_repos(bioc_ver = "3.6") ) expect_equal( bioc_install_repos("3.5"), bioc_install_repos(bioc_ver = "3.8") ) # This particular version needs to do a connection test for https support skip_on_cran() skip_if_offline() expect_equal( bioc_install_repos("3.2.2"), bioc_install_repos(bioc_ver = "3.2") ) }) test_that("CRANextras exists in versions prior to Bioc 3.6", { expect_equal( names(bioc_install_repos(bioc_ver = "3.5")), c("BioCsoft", "BioCann", "BioCexp", "BioCextra") ) expect_equal( names(bioc_install_repos(bioc_ver = "3.6")), c("BioCsoft", "BioCann", "BioCexp") ) })