diff --git a/R/nix_build_helpers.R b/R/nix_build_helpers.R index b2c2a43e..fe4363c5 100644 --- a/R/nix_build_helpers.R +++ b/R/nix_build_helpers.R @@ -115,6 +115,14 @@ poll_sys_proc_nonblocking <- function(cmd, status <- sys::exec_status(proc, wait = TRUE) + if (is.na(status)) { + tools::pskill(pid = proc) + stop( + "`nix_build()` likely interrupted by SIGINT (ctrl+c)\n", + "Stop process with PID ", proc + ) + } + if (isFALSE(is_quiet)) { if (status == 0L) { cat(paste0("\n==> `", what, "` succeeded!")) diff --git a/R/with_nix.R b/R/with_nix.R index 5b1e7b43..7c144106 100644 --- a/R/with_nix.R +++ b/R/with_nix.R @@ -326,10 +326,12 @@ with_nix <- function(expr, if (nzchar(LD_LIBRARY_PATH_default)) { # set old LD_LIBRARY_PATH (only if system's R session and if it wasn't # `""`) - on.exit({ - Sys.setenv(LD_LIBRARY_PATH = LD_LIBRARY_PATH_default) - }, - add = TRUE) + on.exit( + { + Sys.setenv(LD_LIBRARY_PATH = LD_LIBRARY_PATH_default) + }, + add = TRUE + ) } } diff --git a/tests/testthat/test-fetchers.R b/tests/testthat/test-fetchers.R index 39236fd4..c2aa8b01 100644 --- a/tests/testthat/test-fetchers.R +++ b/tests/testthat/test-fetchers.R @@ -1,4 +1,5 @@ testthat::test_that("Test fetchgit works", { + testthat::skip_on_cran() testthat::expect_equal( fetchgit( list( @@ -12,6 +13,7 @@ testthat::test_that("Test fetchgit works", { }) testthat::test_that("Test fetchgit fails gracefully", { + testthat::skip_on_cran() testthat::expect_error( fetchgit( list( @@ -24,6 +26,7 @@ testthat::test_that("Test fetchgit fails gracefully", { }) testthat::test_that("Test fetchgit works with gitlab packages", { + testthat::skip_on_cran() testthat::expect_equal( fetchgit( list( @@ -39,6 +42,7 @@ testthat::test_that("Test fetchgit works with gitlab packages", { testthat::test_that("Test fetchzip works", { + testthat::skip_on_cran() testthat::expect_equal( fetchzip("AER@1.2-8"), "\n (pkgs.rPackages.buildRPackage {\n name = \"AER\";\n src = pkgs.fetchzip {\n url = \"https://cran.r-project.org/src/contrib/Archive/AER/AER_1.2-8.tar.gz\";\n sha256 = \"sha256-OqxXcnUX/2C6wfD5fuNayc8OU+mstI3tt4eBVGQZ2S0=\";\n };\n propagatedBuildInputs = builtins.attrValues {\n inherit (pkgs.rPackages) \n car\n lmtest\n sandwich\n survival\n zoo\n Formula;\n };\n })\n" @@ -46,6 +50,7 @@ testthat::test_that("Test fetchzip works", { }) testthat::test_that("Test fetchzip fails gracefully", { + testthat::skip_on_cran() testthat::expect_error( fetchzip("AER@999999"), "Are these correct?" @@ -53,6 +58,7 @@ testthat::test_that("Test fetchzip fails gracefully", { }) testthat::test_that("Test fetchgits", { + testthat::skip_on_cran() testthat::expect_equal( fetchgits( list( @@ -73,6 +79,7 @@ testthat::test_that("Test fetchgits", { }) testthat::test_that("Test fetchzips works", { + testthat::skip_on_cran() testthat::expect_equal( fetchzips( c("dplyr@0.8.0", "AER@1.2-8") @@ -83,6 +90,7 @@ testthat::test_that("Test fetchzips works", { testthat::test_that("Test fetchpkgs works", { + testthat::skip_on_cran() testthat::expect_equal( fetchpkgs( git_pkgs = list( diff --git a/tests/testthat/test-rix.R b/tests/testthat/test-rix.R index 88bda9e2..25290826 100644 --- a/tests/testthat/test-rix.R +++ b/tests/testthat/test-rix.R @@ -400,13 +400,14 @@ testthat::test_that("rix(), frozen_edge", { ) - on.exit({ - system( - paste0("sed -i 's/", frozen_edge_commit, "/REVISION/' _snaps/rix/frozen_edge_default.nix") - ) - unlink(path_default_nix, recursive = TRUE, force = FALSE) - }, - add = TRUE + on.exit( + { + system( + paste0("sed -i 's/", frozen_edge_commit, "/REVISION/' _snaps/rix/frozen_edge_default.nix") + ) + unlink(path_default_nix, recursive = TRUE, force = FALSE) + }, + add = TRUE ) })