From 15a1ff44b9fede1833db6d7b45b4178f0b6fac57 Mon Sep 17 00:00:00 2001 From: Lorenz Walthert Date: Sun, 31 Mar 2024 21:21:20 +0800 Subject: [PATCH] with parallel tests, we can't rely on order, so tests requiring the pre-commit executable should be either placed in the conda tests file or be skipped if installation method is conda --- tests/testthat/test-conda.R | 36 ++++++++++++++++++++++++++++++++++++ tests/testthat/test-setup.R | 37 ------------------------------------- 2 files changed, 36 insertions(+), 37 deletions(-) diff --git a/tests/testthat/test-conda.R b/tests/testthat/test-conda.R index c326e6507..c4a7f1e42 100644 --- a/tests/testthat/test-conda.R +++ b/tests/testthat/test-conda.R @@ -202,3 +202,39 @@ if (!on_cran()) { } }) } + +test_that("Autoupdate is not conducted when renv present in incompatible setup", { + skip_on_cran() + + # mock old pre-commit and renv versions + local_mocked_bindings(version_precommit = function(...) "2.13.0") + + local_test_setup( + git = TRUE, use_precommit = TRUE, install_hooks = FALSE, open = FALSE + ) + initial <- rev_read() %>% + rev_as_pkg_version() + # simulate adding {renv} + writeLines("", "renv.lock") + + # should downgrade rev + expect_error( + ensure_renv_precommit_compat( + package_version_renv = package_version("0.13.0"), root = getwd() + ), + "Please update" + ) + downgraded <- rev_read() %>% + rev_as_pkg_version() + expect_true(downgraded == initial) + + # simulate removing {renv} should be updated + fs::file_delete("renv.lock") + expect_warning( + ensure_renv_precommit_compat( + package_version("0.13.0"), + root = getwd() + ), + NA + ) +}) diff --git a/tests/testthat/test-setup.R b/tests/testthat/test-setup.R index a2261c564..a2519755e 100644 --- a/tests/testthat/test-setup.R +++ b/tests/testthat/test-setup.R @@ -82,40 +82,3 @@ test_that("Pre-commit CI setup works", { ) expect_error(use_ci(root = getwd(), open = FALSE), "o `.pre-commit-config.yaml`") }) - - -test_that("Autoupdate is not conducted when renv present in incompatible setup", { - skip_on_cran() - - # mock old pre-commit and renv versions - mockery::stub(ensure_renv_precommit_compat, "version_precommit", "2.13.0") - - local_test_setup( - git = TRUE, use_precommit = TRUE, install_hooks = FALSE, open = FALSE - ) - initial <- rev_read() %>% - rev_as_pkg_version() - # simulate adding {renv} - writeLines("", "renv.lock") - - # should downgrade rev - expect_error( - ensure_renv_precommit_compat( - package_version_renv = package_version("0.13.0"), root = getwd() - ), - "Please update" - ) - downgraded <- rev_read() %>% - rev_as_pkg_version() - expect_true(downgraded == initial) - - # simulate removing {renv} should be updated - fs::file_delete("renv.lock") - expect_warning( - ensure_renv_precommit_compat( - package_version("0.13.0"), - root = getwd() - ), - NA - ) -})