From 911f3387d2eb58d385125dc63d0d74b80530fe63 Mon Sep 17 00:00:00 2001 From: Philipp Baumann Date: Sun, 28 Jan 2024 17:18:58 +0100 Subject: [PATCH 01/25] add sys --- .github/workflows/test-coverage.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-coverage.yaml b/.github/workflows/test-coverage.yaml index a2036fda..4e0a2c3a 100644 --- a/.github/workflows/test-coverage.yaml +++ b/.github/workflows/test-coverage.yaml @@ -21,7 +21,7 @@ jobs: uses: DeterminateSystems/nix-installer-action@main - name: Test coverage - run: nix-shell -p R rPackages.covr rPackages.codetools rPackages.testthat --run "Rscript -e 'covr::codecov(quiet = FALSE, clean = FALSE, install_path = file.path(Sys.getenv(\"RUNNER_TEMP\"), \"package\"))' " + run: nix-shell -p R rPackages.covr rPackages.codetools rPackges.sys rPackages.testthat --run "Rscript -e 'covr::codecov(quiet = FALSE, clean = FALSE, install_path = file.path(Sys.getenv(\"RUNNER_TEMP\"), \"package\"))' " - name: Show testthat output if: always() From da510e00845835415d828f9821f4102a2d7120fb Mon Sep 17 00:00:00 2001 From: Philipp Baumann Date: Sun, 28 Jan 2024 17:22:43 +0100 Subject: [PATCH 02/25] fix typo --- .github/workflows/test-coverage.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-coverage.yaml b/.github/workflows/test-coverage.yaml index 4e0a2c3a..024ac899 100644 --- a/.github/workflows/test-coverage.yaml +++ b/.github/workflows/test-coverage.yaml @@ -21,7 +21,7 @@ jobs: uses: DeterminateSystems/nix-installer-action@main - name: Test coverage - run: nix-shell -p R rPackages.covr rPackages.codetools rPackges.sys rPackages.testthat --run "Rscript -e 'covr::codecov(quiet = FALSE, clean = FALSE, install_path = file.path(Sys.getenv(\"RUNNER_TEMP\"), \"package\"))' " + run: nix-shell -p R rPackages.covr rPackages.codetools rPackages.sys rPackages.testthat --run "Rscript -e 'covr::codecov(quiet = FALSE, clean = FALSE, install_path = file.path(Sys.getenv(\"RUNNER_TEMP\"), \"package\"))' " - name: Show testthat output if: always() From aad9583e251367197a6e8a3b10824ff6bde95c90 Mon Sep 17 00:00:00 2001 From: Philipp Baumann Date: Sun, 28 Jan 2024 17:34:04 +0100 Subject: [PATCH 03/25] quick tempdir diagnostics --- tests/testthat/test-find_rev.R | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/testthat/test-find_rev.R b/tests/testthat/test-find_rev.R index 7e7207b7..4a174ccb 100644 --- a/tests/testthat/test-find_rev.R +++ b/tests/testthat/test-find_rev.R @@ -173,6 +173,10 @@ testthat::test_that("Testing with_nix() if Nix is installed", { #skip_on_covr() path_subshell <- tempdir() + # CI diagnostics + cat("Current temporary directory", path_subshell) + f_tempdir <- dir(path = path_subshell, all.files = TRUE) + cat("Current files in", path_subhell, ":", f_tempdir) rix_init( project_path = path_subshell, From cc8b68a8e09a8573675f1ec8b9e8f0a1ab22bbfe Mon Sep 17 00:00:00 2001 From: Philipp Baumann Date: Sun, 28 Jan 2024 17:36:21 +0100 Subject: [PATCH 04/25] typo :-) --- tests/testthat/test-find_rev.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/testthat/test-find_rev.R b/tests/testthat/test-find_rev.R index 4a174ccb..a9b94036 100644 --- a/tests/testthat/test-find_rev.R +++ b/tests/testthat/test-find_rev.R @@ -176,7 +176,7 @@ testthat::test_that("Testing with_nix() if Nix is installed", { # CI diagnostics cat("Current temporary directory", path_subshell) f_tempdir <- dir(path = path_subshell, all.files = TRUE) - cat("Current files in", path_subhell, ":", f_tempdir) + cat("Current files in", path_subshell, ":", f_tempdir) rix_init( project_path = path_subshell, From c9bd1e6e227376615defc4ba6ead06d82bdf887c Mon Sep 17 00:00:00 2001 From: Philipp Baumann Date: Sun, 28 Jan 2024 17:46:38 +0100 Subject: [PATCH 05/25] add nix to subshell --- .github/workflows/test-coverage.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-coverage.yaml b/.github/workflows/test-coverage.yaml index 024ac899..100d41ae 100644 --- a/.github/workflows/test-coverage.yaml +++ b/.github/workflows/test-coverage.yaml @@ -21,7 +21,7 @@ jobs: uses: DeterminateSystems/nix-installer-action@main - name: Test coverage - run: nix-shell -p R rPackages.covr rPackages.codetools rPackages.sys rPackages.testthat --run "Rscript -e 'covr::codecov(quiet = FALSE, clean = FALSE, install_path = file.path(Sys.getenv(\"RUNNER_TEMP\"), \"package\"))' " + run: nix-shell -p nix R rPackages.covr rPackages.codetools rPackages.sys rPackages.testthat --run "Rscript -e 'covr::codecov(quiet = FALSE, clean = FALSE, install_path = file.path(Sys.getenv(\"RUNNER_TEMP\"), \"package\"))' " - name: Show testthat output if: always() From 0bb62bc340eb8e22008d8078075e036c5f6ac3e6 Mon Sep 17 00:00:00 2001 From: Philipp Baumann Date: Sun, 28 Jan 2024 18:54:19 +0100 Subject: [PATCH 06/25] --pure shell --- .github/workflows/test-coverage.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-coverage.yaml b/.github/workflows/test-coverage.yaml index 100d41ae..a0fc48a7 100644 --- a/.github/workflows/test-coverage.yaml +++ b/.github/workflows/test-coverage.yaml @@ -21,7 +21,7 @@ jobs: uses: DeterminateSystems/nix-installer-action@main - name: Test coverage - run: nix-shell -p nix R rPackages.covr rPackages.codetools rPackages.sys rPackages.testthat --run "Rscript -e 'covr::codecov(quiet = FALSE, clean = FALSE, install_path = file.path(Sys.getenv(\"RUNNER_TEMP\"), \"package\"))' " + run: nix-shell --pure -p nix R rPackages.covr rPackages.codetools rPackages.xml2 rPackages.sys rPackages.testthat --run "Rscript -e 'covr::codecov(quiet = FALSE, clean = FALSE, install_path = file.path(Sys.getenv(\"RUNNER_TEMP\"), \"package\"))' " - name: Show testthat output if: always() From 9a4d46c2b12a052b22b8456a3ce2ab4888cce1c7 Mon Sep 17 00:00:00 2001 From: Philipp Baumann Date: Sun, 28 Jan 2024 20:04:07 +0100 Subject: [PATCH 07/25] manual tempdir --- .github/workflows/test-coverage.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-coverage.yaml b/.github/workflows/test-coverage.yaml index a0fc48a7..b228119b 100644 --- a/.github/workflows/test-coverage.yaml +++ b/.github/workflows/test-coverage.yaml @@ -21,7 +21,7 @@ jobs: uses: DeterminateSystems/nix-installer-action@main - name: Test coverage - run: nix-shell --pure -p nix R rPackages.covr rPackages.codetools rPackages.xml2 rPackages.sys rPackages.testthat --run "Rscript -e 'covr::codecov(quiet = FALSE, clean = FALSE, install_path = file.path(Sys.getenv(\"RUNNER_TEMP\"), \"package\"))' " + run: nix-shell --pure -p nix R rPackages.covr rPackages.codetools rPackages.xml2 rPackages.sys rPackages.testthat --run "Rscript -e 'covr::codecov(quiet = FALSE, clean = FALSE, install_path = file.path(\"/home/runner/work/_temp\", \"package\"))' " - name: Show testthat output if: always() From ec86f138b97229799fc58ef3b56a93f8a0472808 Mon Sep 17 00:00:00 2001 From: Philipp Baumann Date: Sun, 28 Jan 2024 20:06:40 +0100 Subject: [PATCH 08/25] cacert needed --- .github/workflows/test-coverage.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-coverage.yaml b/.github/workflows/test-coverage.yaml index b228119b..8de779bb 100644 --- a/.github/workflows/test-coverage.yaml +++ b/.github/workflows/test-coverage.yaml @@ -21,7 +21,7 @@ jobs: uses: DeterminateSystems/nix-installer-action@main - name: Test coverage - run: nix-shell --pure -p nix R rPackages.covr rPackages.codetools rPackages.xml2 rPackages.sys rPackages.testthat --run "Rscript -e 'covr::codecov(quiet = FALSE, clean = FALSE, install_path = file.path(\"/home/runner/work/_temp\", \"package\"))' " + run: nix-shell --pure -p cacert nix R rPackages.covr rPackages.codetools rPackages.xml2 rPackages.sys rPackages.testthat --run "Rscript -e 'covr::codecov(quiet = FALSE, clean = FALSE, install_path = file.path(\"/home/runner/work/_temp\", \"package\"))' " - name: Show testthat output if: always() From 23ee260dd1908daa06815ed31eb579d37193dd19 Mon Sep 17 00:00:00 2001 From: Philipp Baumann Date: Sun, 28 Jan 2024 21:28:15 +0100 Subject: [PATCH 09/25] test with no session info output --- R/find_rev.R | 2 +- dev/flat_build_envs.Rmd | 2 +- tests/testthat/test-find_rev.R | 4 ---- 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/R/find_rev.R b/R/find_rev.R index eaf01377..8906b8df 100644 --- a/R/find_rev.R +++ b/R/find_rev.R @@ -1819,7 +1819,7 @@ quote_rnix <- function(expr, cat(ls()) cat("\n") cat("\n* `sessionInfo()` output:\n") - cat(capture.output(sessionInfo()), sep = "\n") + # cat(capture.output(sessionInfo()), sep = "\n") } ) # end of `bquote()` return(expr_quoted) diff --git a/dev/flat_build_envs.Rmd b/dev/flat_build_envs.Rmd index 7139eef8..880d6f70 100644 --- a/dev/flat_build_envs.Rmd +++ b/dev/flat_build_envs.Rmd @@ -2079,7 +2079,7 @@ quote_rnix <- function(expr, cat(ls()) cat("\n") cat("\n* `sessionInfo()` output:\n") - cat(capture.output(sessionInfo()), sep = "\n") + # cat(capture.output(sessionInfo()), sep = "\n") } ) # end of `bquote()` return(expr_quoted) diff --git a/tests/testthat/test-find_rev.R b/tests/testthat/test-find_rev.R index a9b94036..7e7207b7 100644 --- a/tests/testthat/test-find_rev.R +++ b/tests/testthat/test-find_rev.R @@ -173,10 +173,6 @@ testthat::test_that("Testing with_nix() if Nix is installed", { #skip_on_covr() path_subshell <- tempdir() - # CI diagnostics - cat("Current temporary directory", path_subshell) - f_tempdir <- dir(path = path_subshell, all.files = TRUE) - cat("Current files in", path_subshell, ":", f_tempdir) rix_init( project_path = path_subshell, From 8075c9346d2ef1c9094e17bb9bfc64a43478c6dc Mon Sep 17 00:00:00 2001 From: Philipp Baumann Date: Sun, 28 Jan 2024 22:08:42 +0100 Subject: [PATCH 10/25] quick devtools test --- .github/workflows/test-coverage.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test-coverage.yaml b/.github/workflows/test-coverage.yaml index 8de779bb..242ffdc5 100644 --- a/.github/workflows/test-coverage.yaml +++ b/.github/workflows/test-coverage.yaml @@ -20,9 +20,12 @@ jobs: - name: Install Nix uses: DeterminateSystems/nix-installer-action@main + - name: Test + run: nix-shell --pure -p cacert nix R rPackages.covr rPackages.codetools rPackages.xml2 rPackages.sys rPackages.devtools --run "Rscript -e 'devtools::test(pkg = file.path(\"/home/runner/work/_temp\", \"package\")'" + - name: Test coverage run: nix-shell --pure -p cacert nix R rPackages.covr rPackages.codetools rPackages.xml2 rPackages.sys rPackages.testthat --run "Rscript -e 'covr::codecov(quiet = FALSE, clean = FALSE, install_path = file.path(\"/home/runner/work/_temp\", \"package\"))' " - + - name: Show testthat output if: always() run: | From 4990fdd7b3edf985cb358ac67c2d40395b257a3e Mon Sep 17 00:00:00 2001 From: Philipp Baumann Date: Sun, 28 Jan 2024 22:11:13 +0100 Subject: [PATCH 11/25] try-error pkg location --- .github/workflows/test-coverage.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-coverage.yaml b/.github/workflows/test-coverage.yaml index 242ffdc5..7d215bd4 100644 --- a/.github/workflows/test-coverage.yaml +++ b/.github/workflows/test-coverage.yaml @@ -21,7 +21,7 @@ jobs: uses: DeterminateSystems/nix-installer-action@main - name: Test - run: nix-shell --pure -p cacert nix R rPackages.covr rPackages.codetools rPackages.xml2 rPackages.sys rPackages.devtools --run "Rscript -e 'devtools::test(pkg = file.path(\"/home/runner/work/_temp\", \"package\")'" + run: nix-shell --pure -p cacert nix R rPackages.covr rPackages.codetools rPackages.xml2 rPackages.sys rPackages.devtools --run "Rscript -e 'devtools::test()'" - name: Test coverage run: nix-shell --pure -p cacert nix R rPackages.covr rPackages.codetools rPackages.xml2 rPackages.sys rPackages.testthat --run "Rscript -e 'covr::codecov(quiet = FALSE, clean = FALSE, install_path = file.path(\"/home/runner/work/_temp\", \"package\"))' " From c982f34c3d5422d68d96ff887c1a0056c686148c Mon Sep 17 00:00:00 2001 From: Philipp Baumann Date: Sun, 28 Jan 2024 22:16:26 +0100 Subject: [PATCH 12/25] less deps for Nix-R devtools::test --- .github/workflows/test-coverage.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-coverage.yaml b/.github/workflows/test-coverage.yaml index 7d215bd4..f97e84f2 100644 --- a/.github/workflows/test-coverage.yaml +++ b/.github/workflows/test-coverage.yaml @@ -24,7 +24,7 @@ jobs: run: nix-shell --pure -p cacert nix R rPackages.covr rPackages.codetools rPackages.xml2 rPackages.sys rPackages.devtools --run "Rscript -e 'devtools::test()'" - name: Test coverage - run: nix-shell --pure -p cacert nix R rPackages.covr rPackages.codetools rPackages.xml2 rPackages.sys rPackages.testthat --run "Rscript -e 'covr::codecov(quiet = FALSE, clean = FALSE, install_path = file.path(\"/home/runner/work/_temp\", \"package\"))' " + run: nix-shell --pure -p cacert nix R rPackages.codetools rPackages.sys rPackages.testthat --run "Rscript -e 'covr::codecov(quiet = FALSE, clean = FALSE, install_path = file.path(\"/home/runner/work/_temp\", \"package\"))' " - name: Show testthat output if: always() From 71a18e3d4421c77a04544ff7816ded38493fe418 Mon Sep 17 00:00:00 2001 From: Philipp Baumann Date: Sun, 28 Jan 2024 22:58:01 +0100 Subject: [PATCH 13/25] add back covr --- .github/workflows/test-coverage.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-coverage.yaml b/.github/workflows/test-coverage.yaml index f97e84f2..cd24c2ac 100644 --- a/.github/workflows/test-coverage.yaml +++ b/.github/workflows/test-coverage.yaml @@ -24,7 +24,7 @@ jobs: run: nix-shell --pure -p cacert nix R rPackages.covr rPackages.codetools rPackages.xml2 rPackages.sys rPackages.devtools --run "Rscript -e 'devtools::test()'" - name: Test coverage - run: nix-shell --pure -p cacert nix R rPackages.codetools rPackages.sys rPackages.testthat --run "Rscript -e 'covr::codecov(quiet = FALSE, clean = FALSE, install_path = file.path(\"/home/runner/work/_temp\", \"package\"))' " + run: nix-shell --pure -p cacert nix R rPackages.covr rPackages.codetools rPackages.sys rPackages.testthat --run "Rscript -e 'covr::codecov(quiet = FALSE, clean = FALSE, install_path = file.path(\"/home/runner/work/_temp\", \"package\"))' " - name: Show testthat output if: always() From 91be77c5cbe7e72d2fd6c85bbbdbbda4acba5f9d Mon Sep 17 00:00:00 2001 From: Philipp Baumann Date: Sun, 28 Jan 2024 23:02:04 +0100 Subject: [PATCH 14/25] no custom install path (try-error) --- .github/workflows/test-coverage.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-coverage.yaml b/.github/workflows/test-coverage.yaml index cd24c2ac..a000919e 100644 --- a/.github/workflows/test-coverage.yaml +++ b/.github/workflows/test-coverage.yaml @@ -24,7 +24,7 @@ jobs: run: nix-shell --pure -p cacert nix R rPackages.covr rPackages.codetools rPackages.xml2 rPackages.sys rPackages.devtools --run "Rscript -e 'devtools::test()'" - name: Test coverage - run: nix-shell --pure -p cacert nix R rPackages.covr rPackages.codetools rPackages.sys rPackages.testthat --run "Rscript -e 'covr::codecov(quiet = FALSE, clean = FALSE, install_path = file.path(\"/home/runner/work/_temp\", \"package\"))' " + run: nix-shell --pure -p cacert nix R rPackages.covr rPackages.codetools rPackages.sys rPackages.testthat --run "Rscript -e 'covr::codecov(quiet = FALSE, clean = FALSE)' " - name: Show testthat output if: always() From 3e3c0345d30c4914c3774ffc720bd4ebf2336a14 Mon Sep 17 00:00:00 2001 From: Philipp Baumann Date: Sun, 28 Jan 2024 23:13:38 +0100 Subject: [PATCH 15/25] install_path makes no difference --- .github/workflows/test-coverage.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-coverage.yaml b/.github/workflows/test-coverage.yaml index a000919e..cd24c2ac 100644 --- a/.github/workflows/test-coverage.yaml +++ b/.github/workflows/test-coverage.yaml @@ -24,7 +24,7 @@ jobs: run: nix-shell --pure -p cacert nix R rPackages.covr rPackages.codetools rPackages.xml2 rPackages.sys rPackages.devtools --run "Rscript -e 'devtools::test()'" - name: Test coverage - run: nix-shell --pure -p cacert nix R rPackages.covr rPackages.codetools rPackages.sys rPackages.testthat --run "Rscript -e 'covr::codecov(quiet = FALSE, clean = FALSE)' " + run: nix-shell --pure -p cacert nix R rPackages.covr rPackages.codetools rPackages.sys rPackages.testthat --run "Rscript -e 'covr::codecov(quiet = FALSE, clean = FALSE, install_path = file.path(\"/home/runner/work/_temp\", \"package\"))' " - name: Show testthat output if: always() From b1e9bddb8e1e9e378c291203b30e1d0c5bf1faf1 Mon Sep 17 00:00:00 2001 From: Philipp Baumann Date: Mon, 29 Jan 2024 19:10:57 +0100 Subject: [PATCH 16/25] add git --- .github/workflows/test-coverage.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-coverage.yaml b/.github/workflows/test-coverage.yaml index cd24c2ac..16a0b28e 100644 --- a/.github/workflows/test-coverage.yaml +++ b/.github/workflows/test-coverage.yaml @@ -24,7 +24,7 @@ jobs: run: nix-shell --pure -p cacert nix R rPackages.covr rPackages.codetools rPackages.xml2 rPackages.sys rPackages.devtools --run "Rscript -e 'devtools::test()'" - name: Test coverage - run: nix-shell --pure -p cacert nix R rPackages.covr rPackages.codetools rPackages.sys rPackages.testthat --run "Rscript -e 'covr::codecov(quiet = FALSE, clean = FALSE, install_path = file.path(\"/home/runner/work/_temp\", \"package\"))' " + run: nix-shell --pure -p git cacert nix R rPackages.covr rPackages.codetools rPackages.sys rPackages.testthat --run "Rscript -e 'covr::codecov(quiet = FALSE, clean = FALSE, install_path = file.path(\"/home/runner/work/_temp\", \"package\"))' " - name: Show testthat output if: always() From 58439c05044290b9198be5203bdfef610ad4ef8c Mon Sep 17 00:00:00 2001 From: Philipp Baumann Date: Mon, 29 Jan 2024 19:14:42 +0100 Subject: [PATCH 17/25] add missing xml2 --- .github/workflows/test-coverage.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-coverage.yaml b/.github/workflows/test-coverage.yaml index 16a0b28e..ba1e8011 100644 --- a/.github/workflows/test-coverage.yaml +++ b/.github/workflows/test-coverage.yaml @@ -24,7 +24,7 @@ jobs: run: nix-shell --pure -p cacert nix R rPackages.covr rPackages.codetools rPackages.xml2 rPackages.sys rPackages.devtools --run "Rscript -e 'devtools::test()'" - name: Test coverage - run: nix-shell --pure -p git cacert nix R rPackages.covr rPackages.codetools rPackages.sys rPackages.testthat --run "Rscript -e 'covr::codecov(quiet = FALSE, clean = FALSE, install_path = file.path(\"/home/runner/work/_temp\", \"package\"))' " + run: nix-shell --pure -p git cacert nix R rPackages.covr rPackages.codetools rPackages.xml2 rPackages.sys rPackages.testthat --run "Rscript -e 'covr::codecov(quiet = FALSE, clean = FALSE, install_path = file.path(\"/home/runner/work/_temp\", \"package\"))' " - name: Show testthat output if: always() From 0353208e8b742df3bfc0e93d614a64710bb40ca8 Mon Sep 17 00:00:00 2001 From: Philipp Baumann Date: Mon, 29 Jan 2024 19:23:37 +0100 Subject: [PATCH 18/25] add httr --- .github/workflows/test-coverage.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-coverage.yaml b/.github/workflows/test-coverage.yaml index ba1e8011..2948c5e5 100644 --- a/.github/workflows/test-coverage.yaml +++ b/.github/workflows/test-coverage.yaml @@ -24,7 +24,7 @@ jobs: run: nix-shell --pure -p cacert nix R rPackages.covr rPackages.codetools rPackages.xml2 rPackages.sys rPackages.devtools --run "Rscript -e 'devtools::test()'" - name: Test coverage - run: nix-shell --pure -p git cacert nix R rPackages.covr rPackages.codetools rPackages.xml2 rPackages.sys rPackages.testthat --run "Rscript -e 'covr::codecov(quiet = FALSE, clean = FALSE, install_path = file.path(\"/home/runner/work/_temp\", \"package\"))' " + run: nix-shell --pure -p git cacert nix R rPackages.covr rPackages.codetools rPackages.xml2 rPackages.httr rPackages.sys rPackages.testthat --run "Rscript -e 'covr::codecov(quiet = FALSE, clean = FALSE, install_path = file.path(\"/home/runner/work/_temp\", \"package\"))' " - name: Show testthat output if: always() From 86996e612774f3ef4f4a0de103fbd71193cf710a Mon Sep 17 00:00:00 2001 From: Philipp Baumann Date: Mon, 29 Jan 2024 19:52:47 +0100 Subject: [PATCH 19/25] this is needed for local RStudio on MacOS --- R/find_rev.R | 1 + R/with_nix.R | 7 +++++++ dev/flat_with_nix.Rmd | 7 +++++++ 3 files changed, 15 insertions(+) diff --git a/R/find_rev.R b/R/find_rev.R index 9ad29d1f..e66cde35 100644 --- a/R/find_rev.R +++ b/R/find_rev.R @@ -33,3 +33,4 @@ find_rev <- function(r_version) { } } + diff --git a/R/with_nix.R b/R/with_nix.R index 275ea3b1..ef1cb7d6 100644 --- a/R/with_nix.R +++ b/R/with_nix.R @@ -799,6 +799,13 @@ with_expr_deparse <- function(expr) { #' @noRd nix_shell_available <- function() { + # for local tests via `devtools::test()` in RStudio + old_path <- Sys.getenv("PATH") + nix_path <- "/nix/var/nix/profiles/default/bin" + has_nix_path <- any(grepl(nix_path, old_path)) + if (isFALSE(has_nix_path)) { + Sys.setenv(PATH = paste(old_path, nix_path, sep = ":")) + } which_nix_shell <- Sys.which("nix-shell") if (nzchar(which_nix_shell)) { return(TRUE) diff --git a/dev/flat_with_nix.Rmd b/dev/flat_with_nix.Rmd index e4d02fd6..5eb6c66c 100644 --- a/dev/flat_with_nix.Rmd +++ b/dev/flat_with_nix.Rmd @@ -808,6 +808,13 @@ with_expr_deparse <- function(expr) { #' @noRd nix_shell_available <- function() { + # for local tests via `devtools::test()` in RStudio + old_path <- Sys.getenv("PATH") + nix_path <- "/nix/var/nix/profiles/default/bin" + has_nix_path <- any(grepl(nix_path, old_path)) + if (isFALSE(has_nix_path)) { + Sys.setenv(PATH = paste(old_path, nix_path, sep = ":")) + } which_nix_shell <- Sys.which("nix-shell") if (nzchar(which_nix_shell)) { return(TRUE) From 7663de8ca43d4390f9f272b49f5097f1e6a54626 Mon Sep 17 00:00:00 2001 From: Philipp Baumann Date: Mon, 29 Jan 2024 23:15:33 +0100 Subject: [PATCH 20/25] add another test with different R version --- dev/flat_with_nix.Rmd | 41 ++++++++++++++++++++++++++++++++-- tests/testthat/test-with_nix.R | 41 ++++++++++++++++++++++++++++++++-- 2 files changed, 78 insertions(+), 4 deletions(-) diff --git a/dev/flat_with_nix.Rmd b/dev/flat_with_nix.Rmd index 5eb6c66c..90c75a90 100644 --- a/dev/flat_with_nix.Rmd +++ b/dev/flat_with_nix.Rmd @@ -844,12 +844,49 @@ create_shell_nix <- function(path = file.path("inst", "extdata", ``` ```{r, tests-with_nix} +testthat::test_that("Test 2 for with_nix() if Nix is installed", { + + skip_if_not(nix_shell_available()) + + path_subshell <- tempdir() + + rix_init( + project_path = path_subshell, + rprofile_action = "overwrite", + message_type = "simple" + ) + + rix( + r_ver = "4.2.0", + overwrite = TRUE, + project_path = path_subshell + ) + + df <- data.frame(a = 1:3, b = 4:6) + + df_as_vector <- function(x) { + out <- as.vector(x = x, mode = "list") + return(out) + } + + out_subshell <- with_nix( + expr = function() df_as_vector(x = df), + program = "R", + exec_mode = "non-blocking", + project_path = path_subshell, + message_type = "verbose" + ) + + testthat::expect_false( + inherits(out_subshell, "data.frame") + ) +}) + + testthat::test_that("Testing with_nix() if Nix is installed", { skip_if_not(nix_shell_available()) - skip_on_covr() - path_subshell <- tempdir() rix_init( diff --git a/tests/testthat/test-with_nix.R b/tests/testthat/test-with_nix.R index ba20c7fd..f92a9a9a 100644 --- a/tests/testthat/test-with_nix.R +++ b/tests/testthat/test-with_nix.R @@ -1,11 +1,48 @@ # WARNING - Generated by {fusen} from dev/flat_with_nix.Rmd: do not edit by hand +testthat::test_that("Test 2 for with_nix() if Nix is installed", { + + skip_if_not(nix_shell_available()) + + path_subshell <- tempdir() + + rix_init( + project_path = path_subshell, + rprofile_action = "overwrite", + message_type = "simple" + ) + + rix( + r_ver = "4.2.0", + overwrite = TRUE, + project_path = path_subshell + ) + + df <- data.frame(a = 1:3, b = 4:6) + + df_as_vector <- function(x) { + out <- as.vector(x = x, mode = "list") + return(out) + } + + out_subshell <- with_nix( + expr = function() df_as_vector(x = df), + program = "R", + exec_mode = "non-blocking", + project_path = path_subshell, + message_type = "verbose" + ) + + testthat::expect_false( + inherits(out_subshell, "data.frame") + ) +}) + + testthat::test_that("Testing with_nix() if Nix is installed", { skip_if_not(nix_shell_available()) - skip_on_covr() - path_subshell <- tempdir() rix_init( From a65862b7a40dac93493caf7e10ef9a68770ba3f4 Mon Sep 17 00:00:00 2001 From: Philipp Baumann Date: Tue, 30 Jan 2024 07:20:01 +0100 Subject: [PATCH 21/25] add nix store to PATH if not there; nix_build test --- R/nix_build.R | 1 + dev/flat_nix_build.Rmd | 34 +++++++++++++++++++++++++++++++++ tests/testthat/test-nix_build.R | 32 +++++++++++++++++++++++++++++++ 3 files changed, 67 insertions(+) create mode 100644 tests/testthat/test-nix_build.R diff --git a/R/nix_build.R b/R/nix_build.R index 6e305e25..34fa3e3e 100644 --- a/R/nix_build.R +++ b/R/nix_build.R @@ -26,6 +26,7 @@ #' } nix_build <- function(project_path = ".", exec_mode = c("blocking", "non-blocking")) { + PATH <- set_nix_path() has_nix_build <- nix_build_installed() # TRUE if yes, FALSE if no nix_file <- file.path(project_path, "default.nix") diff --git a/dev/flat_nix_build.Rmd b/dev/flat_nix_build.Rmd index 743fa829..5f1460a5 100644 --- a/dev/flat_nix_build.Rmd +++ b/dev/flat_nix_build.Rmd @@ -39,6 +39,7 @@ session. #' } nix_build <- function(project_path = ".", exec_mode = c("blocking", "non-blocking")) { + PATH <- set_nix_path() has_nix_build <- nix_build_installed() # TRUE if yes, FALSE if no nix_file <- file.path(project_path, "default.nix") @@ -142,3 +143,36 @@ nix_build_exit_msg <- function(x) { return(err_msg) } ``` + +```{r, tests-nix_build} +testthat::test_that("Testing that `nix_build()` builds derivation", { + + skip_if_not(nix_shell_available()) + + path_subshell <- tempdir() + + rix_init( + project_path = path_subshell, + rprofile_action = "overwrite", + message_type = "simple" + ) + + rix( + r_ver = "latest", + overwrite = TRUE, + project_path = path_subshell + ) + + out <- nix_build( + project_path = path_subshell, + exec_mode = "blocking" + ) + + # exit status 0L is success + testthat::expect_true( + out$status == 0L + ) + + +}) +``` diff --git a/tests/testthat/test-nix_build.R b/tests/testthat/test-nix_build.R new file mode 100644 index 00000000..daacae49 --- /dev/null +++ b/tests/testthat/test-nix_build.R @@ -0,0 +1,32 @@ +# WARNING - Generated by {fusen} from dev/flat_nix_build.Rmd: do not edit by hand + +testthat::test_that("Testing that `nix_build()` builds derivation", { + + skip_if_not(nix_shell_available()) + + path_subshell <- tempdir() + + rix_init( + project_path = path_subshell, + rprofile_action = "overwrite", + message_type = "simple" + ) + + rix( + r_ver = "latest", + overwrite = TRUE, + project_path = path_subshell + ) + + out <- nix_build( + project_path = path_subshell, + exec_mode = "blocking" + ) + + # exit status 0L is success + testthat::expect_true( + out$status == 0L + ) + + +}) From a13decfc87a35f4244ca76430e2ba369c7d49c9d Mon Sep 17 00:00:00 2001 From: Philipp Baumann Date: Tue, 30 Jan 2024 08:10:04 +0100 Subject: [PATCH 22/25] fix `sessionInfo()` erroring on R 3.5.3 --- R/with_nix.R | 2 +- dev/flat_with_nix.Rmd | 11 ++++------- tests/testthat/test-with_nix.R | 9 +++------ 3 files changed, 8 insertions(+), 14 deletions(-) diff --git a/R/with_nix.R b/R/with_nix.R index ef1cb7d6..a32380ba 100644 --- a/R/with_nix.R +++ b/R/with_nix.R @@ -754,7 +754,7 @@ quote_rnix <- function(expr, cat(ls()) cat("\n") cat("\n* `sessionInfo()` output:\n") - cat(capture.output(sessionInfo()), sep = "\n") + try(cat(capture.output(sessionInfo()), sep = "\n")) } ) # end of `bquote()` return(expr_quoted) diff --git a/dev/flat_with_nix.Rmd b/dev/flat_with_nix.Rmd index 90c75a90..b723deab 100644 --- a/dev/flat_with_nix.Rmd +++ b/dev/flat_with_nix.Rmd @@ -763,7 +763,7 @@ quote_rnix <- function(expr, cat(ls()) cat("\n") cat("\n* `sessionInfo()` output:\n") - cat(capture.output(sessionInfo()), sep = "\n") + try(cat(capture.output(sessionInfo()), sep = "\n")) } ) # end of `bquote()` return(expr_quoted) @@ -864,13 +864,10 @@ testthat::test_that("Test 2 for with_nix() if Nix is installed", { df <- data.frame(a = 1:3, b = 4:6) - df_as_vector <- function(x) { - out <- as.vector(x = x, mode = "list") - return(out) - } - out_subshell <- with_nix( - expr = function() df_as_vector(x = df), + expr = function() { + as.vector(x = data.frame(a = 1:3, b = 4:6), mode = "list") + }, program = "R", exec_mode = "non-blocking", project_path = path_subshell, diff --git a/tests/testthat/test-with_nix.R b/tests/testthat/test-with_nix.R index f92a9a9a..fd8ee5f5 100644 --- a/tests/testthat/test-with_nix.R +++ b/tests/testthat/test-with_nix.R @@ -20,13 +20,10 @@ testthat::test_that("Test 2 for with_nix() if Nix is installed", { df <- data.frame(a = 1:3, b = 4:6) - df_as_vector <- function(x) { - out <- as.vector(x = x, mode = "list") - return(out) - } - out_subshell <- with_nix( - expr = function() df_as_vector(x = df), + expr = function() { + as.vector(x = data.frame(a = 1:3, b = 4:6), mode = "list") + }, program = "R", exec_mode = "non-blocking", project_path = path_subshell, From 58b95e322a2667044ba14aa4e8352b4ad29ebf1d Mon Sep 17 00:00:00 2001 From: Philipp Baumann Date: Tue, 30 Jan 2024 08:28:04 +0100 Subject: [PATCH 23/25] remove `_out.Rds` to make with_nix() error if Nix evall not successful --- R/with_nix.R | 2 ++ dev/flat_with_nix.Rmd | 2 ++ 2 files changed, 4 insertions(+) diff --git a/R/with_nix.R b/R/with_nix.R index a32380ba..8826b9d9 100644 --- a/R/with_nix.R +++ b/R/with_nix.R @@ -321,6 +321,8 @@ with_nix <- function(expr, print(out$stdout) } + unlink(file.path(temp_dir, "_out.Rds"), force = TRUE) + cat("") return(out) } diff --git a/dev/flat_with_nix.Rmd b/dev/flat_with_nix.Rmd index b723deab..04dc14a1 100644 --- a/dev/flat_with_nix.Rmd +++ b/dev/flat_with_nix.Rmd @@ -330,6 +330,8 @@ with_nix <- function(expr, print(out$stdout) } + unlink(file.path(temp_dir, "_out.Rds"), force = TRUE) + cat("") return(out) } From fa55027fc2d3a6a3c152a7d7f0194ccbb2cb9d21 Mon Sep 17 00:00:00 2001 From: Philipp Baumann Date: Tue, 30 Jan 2024 09:25:41 +0100 Subject: [PATCH 24/25] test nix_build in local runner dir --- dev/flat_nix_build.Rmd | 2 +- tests/testthat/test-nix_build.R | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dev/flat_nix_build.Rmd b/dev/flat_nix_build.Rmd index 5f1460a5..449d4e9d 100644 --- a/dev/flat_nix_build.Rmd +++ b/dev/flat_nix_build.Rmd @@ -149,7 +149,7 @@ testthat::test_that("Testing that `nix_build()` builds derivation", { skip_if_not(nix_shell_available()) - path_subshell <- tempdir() + path_subshell <- "." rix_init( project_path = path_subshell, diff --git a/tests/testthat/test-nix_build.R b/tests/testthat/test-nix_build.R index daacae49..9b91438b 100644 --- a/tests/testthat/test-nix_build.R +++ b/tests/testthat/test-nix_build.R @@ -4,7 +4,7 @@ testthat::test_that("Testing that `nix_build()` builds derivation", { skip_if_not(nix_shell_available()) - path_subshell <- tempdir() + path_subshell <- "." rix_init( project_path = path_subshell, From 5604af1783d593e9d803e85e799a5a51ad5d2450 Mon Sep 17 00:00:00 2001 From: Philipp Baumann Date: Tue, 30 Jan 2024 09:53:44 +0100 Subject: [PATCH 25/25] block the R nix session in tests --- dev/flat_with_nix.Rmd | 8 ++++---- tests/testthat/test-with_nix.R | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/dev/flat_with_nix.Rmd b/dev/flat_with_nix.Rmd index 04dc14a1..d6035e40 100644 --- a/dev/flat_with_nix.Rmd +++ b/dev/flat_with_nix.Rmd @@ -850,7 +850,7 @@ testthat::test_that("Test 2 for with_nix() if Nix is installed", { skip_if_not(nix_shell_available()) - path_subshell <- tempdir() + path_subshell <- "." rix_init( project_path = path_subshell, @@ -871,7 +871,7 @@ testthat::test_that("Test 2 for with_nix() if Nix is installed", { as.vector(x = data.frame(a = 1:3, b = 4:6), mode = "list") }, program = "R", - exec_mode = "non-blocking", + exec_mode = "blocking", project_path = path_subshell, message_type = "verbose" ) @@ -886,7 +886,7 @@ testthat::test_that("Testing with_nix() if Nix is installed", { skip_if_not(nix_shell_available()) - path_subshell <- tempdir() + path_subshell <- "." rix_init( project_path = path_subshell, @@ -908,7 +908,7 @@ testthat::test_that("Testing with_nix() if Nix is installed", { return(a) }, program = "R", - exec_mode = "non-blocking", + exec_mode = "blocking", project_path = path_subshell, message_type = "simple" ) diff --git a/tests/testthat/test-with_nix.R b/tests/testthat/test-with_nix.R index fd8ee5f5..7446e4e0 100644 --- a/tests/testthat/test-with_nix.R +++ b/tests/testthat/test-with_nix.R @@ -4,7 +4,7 @@ testthat::test_that("Test 2 for with_nix() if Nix is installed", { skip_if_not(nix_shell_available()) - path_subshell <- tempdir() + path_subshell <- "." rix_init( project_path = path_subshell, @@ -25,7 +25,7 @@ testthat::test_that("Test 2 for with_nix() if Nix is installed", { as.vector(x = data.frame(a = 1:3, b = 4:6), mode = "list") }, program = "R", - exec_mode = "non-blocking", + exec_mode = "blocking", project_path = path_subshell, message_type = "verbose" ) @@ -40,7 +40,7 @@ testthat::test_that("Testing with_nix() if Nix is installed", { skip_if_not(nix_shell_available()) - path_subshell <- tempdir() + path_subshell <- "." rix_init( project_path = path_subshell, @@ -62,7 +62,7 @@ testthat::test_that("Testing with_nix() if Nix is installed", { return(a) }, program = "R", - exec_mode = "non-blocking", + exec_mode = "blocking", project_path = path_subshell, message_type = "simple" )