CRAN Package Check Results for Package reproducible

Last updated on 2025-12-20 03:48:56 CET.

Flavor Version Tinstall Tcheck Ttotal Status Flags
r-devel-linux-x86_64-debian-clang 2.1.2 16.19 247.25 263.44 OK
r-devel-linux-x86_64-debian-gcc 2.1.2 10.53 154.09 164.62 ERROR
r-devel-linux-x86_64-fedora-clang 2.1.2 28.00 364.23 392.23 ERROR
r-devel-linux-x86_64-fedora-gcc 2.1.2 26.00 344.03 370.03 ERROR
r-devel-windows-x86_64 2.1.2 17.00 360.00 377.00 OK
r-patched-linux-x86_64 2.1.2 18.36 229.02 247.38 OK
r-release-linux-x86_64 2.1.2 16.45 228.32 244.77 OK
r-release-macos-arm64 2.1.2 OK
r-release-macos-x86_64 2.1.2 10.00 216.00 226.00 OK
r-release-windows-x86_64 2.1.2 17.00 251.00 268.00 OK
r-oldrel-macos-arm64 2.1.2 OK
r-oldrel-macos-x86_64 2.1.2 11.00 225.00 236.00 OK
r-oldrel-windows-x86_64 2.1.2 22.00 287.00 309.00 ERROR

Check Details

Version: 2.1.2
Check: examples
Result: ERROR Running examples in ‘reproducible-Ex.R’ failed The error most likely occurred in: > base::assign(".ptime", proc.time(), pos = "CheckExEnv") > ### Name: Cache > ### Title: Saves a wide variety function call outputs to disk and > ### optionally RAM, for recovery later > ### Aliases: Cache > > ### ** Examples > > data.table::setDTthreads(2) > tmpDir <- file.path(tempdir()) > opts <- options(reproducible.cachePath = tmpDir) > > # Usage -- All below are equivalent; even where args are missing or provided, > # Cache evaluates using default values, if these are specified in formals(FUN) > a <- list() > b <- list(fun = rnorm) > bbb <- 1 > ee <- new.env(parent = emptyenv()) > ee$qq <- bbb > > a[[1]] <- Cache(rnorm(1)) # no evaluation prior to Cache No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Saved! Cache file: 422bae4ed2f770cc.rds; fn: rnorm > a[[2]] <- Cache(rnorm, 1) # no evaluation prior to Cache No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: rnorm, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous rnorm call > a[[3]] <- Cache(do.call, rnorm, list(1)) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: rnorm, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous rnorm call > a[[4]] <- Cache(do.call(rnorm, list(1))) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: rnorm, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous rnorm call > a[[5]] <- Cache(do.call(b$fun, list(1))) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: b$fun, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous b$fun call > a[[6]] <- Cache(do.call, b$fun, list(1)) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: b$fun, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous b$fun call > a[[7]] <- Cache(b$fun, 1) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: b$fun, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous b$fun call > a[[8]] <- Cache(b$fun(1)) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: $, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous $ call > a[[10]] <- Cache(quote(rnorm(1))) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: quote, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous quote call > a[[11]] <- Cache(stats::rnorm(1)) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: stats::rnorm, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous stats::rnorm call > a[[12]] <- Cache(stats::rnorm, 1) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: stats::rnorm, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous stats::rnorm call > a[[13]] <- Cache(rnorm(1, 0, get("bbb", inherits = FALSE))) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: rnorm, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous rnorm call > a[[14]] <- Cache(rnorm(1, 0, get("qq", inherits = FALSE, envir = ee))) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: rnorm, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous rnorm call > a[[15]] <- Cache(rnorm(1, bbb - bbb, get("bbb", inherits = FALSE))) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: rnorm, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous rnorm call > a[[16]] <- Cache(rnorm(sd = 1, 0, n = get("bbb", inherits = FALSE))) # change order No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: rnorm, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous rnorm call > a[[17]] <- Cache(rnorm(1, sd = get("ee", inherits = FALSE)$qq), mean = 0) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: rnorm, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous rnorm call > > # with base pipe -- this is put in quotes ('') because R version 4.0 can't understand this > # if you are using R >= 4.1 or R >= 4.2 if using the _ placeholder, > # then you can just use pipe normally > usingPipe1 <- "b$fun(1) |> Cache()" # base pipe > > # For long pipe, need to wrap sequence in { }, or else only last step is cached > usingPipe2 <- + '{"bbb" |> + parse(text = _) |> + eval() |> + rnorm()} |> + Cache()' > if (getRversion() >= "4.1") { + a[[9]] <- eval(parse(text = usingPipe1)) # recovers cached copy + } No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: $, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous $ call > if (getRversion() >= "4.2") { # uses the _ placeholder; only available in R >= 4.2 + a[[18]] <- eval(parse(text = usingPipe2)) # recovers cached copy + } There is an `eval` call in a chain of calls for Cache; eval is evaluated before Cache which may be undesired. Perhaps use `do.call` if the evaluation should not occur prior to Cache No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: rnorm, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous rnorm call > > length(unique(a)) == 1 # all same [1] FALSE > > ### Pipe -- have to use { } or else only final function is Cached > if (getRversion() >= "4.1") { + b1a <- 'sample(1e5, 1) |> rnorm() |> Cache()' + b1b <- 'sample(1e5, 1) |> rnorm() |> Cache()' + b2a <- '{sample(1e5, 1) |> rnorm()} |> Cache()' + b2b <- '{sample(1e5, 1) |> rnorm()} |> Cache()' + b1a <- eval(parse(text = b1a)) + b1b <- eval(parse(text = b1b)) + b2a <- eval(parse(text = b2a)) + b2b <- eval(parse(text = b2b)) + all.equal(b1a, b1b) # Not TRUE because the sample is run first + all.equal(b2a, b2b) # TRUE because of { } + } No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Saved! Cache file: d11bd9c8ba9018bd.rds; fn: rnorm No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Saved! Cache file: 402e48221b3093d3.rds; fn: rnorm No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Saved! Cache file: 65d6fc4cf6012274.rds; fn: rnorm No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: rnorm, 65d6fc4cf6012274.rds) ... Loaded! Cached result from previous rnorm call [1] "Attributes: < Component “.Cache”: Component “newCache”: 1 element mismatch >" > > ######################### > # Advanced examples > ######################### > > # .cacheExtra -- add something to digest > Cache(rnorm(1), .cacheExtra = "sfessee11") # adds something other than fn args No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Saved! Cache file: 15a06cafd7e0d37e.rds; fn: rnorm [1] -0.8980367 attr(,".Cache") attr(,".Cache")$newCache [1] TRUE attr(,"tags") [1] "cacheId:15a06cafd7e0d37e" attr(,"call") [1] "" > Cache(rnorm(1), .cacheExtra = "nothing") # even though fn is same, the extra is different No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Saved! Cache file: b35d37e57ba86333.rds; fn: rnorm [1] -1.154969 attr(,".Cache") attr(,".Cache")$newCache [1] TRUE attr(,"tags") [1] "cacheId:b35d37e57ba86333" attr(,"call") [1] "" > > # omitArgs -- remove something from digest (kind of the opposite of .cacheExtra) > Cache(rnorm(2, sd = 1), omitArgs = "sd") # removes one or more args from cache digest No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Saved! Cache file: d1e9b95723b3afa0.rds; fn: rnorm [1] 0.9472297 -1.0574249 attr(,".Cache") attr(,".Cache")$newCache [1] TRUE attr(,"tags") [1] "cacheId:d1e9b95723b3afa0" attr(,"call") [1] "" > Cache(rnorm(2, sd = 2), omitArgs = "sd") # b/c sd is not used, this is same as previous No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: rnorm, d1e9b95723b3afa0.rds) ... Loaded! Cached result from previous rnorm call [1] 0.9472297 -1.0574249 attr(,".Cache") attr(,".Cache")$newCache [1] FALSE attr(,"tags") [1] "cacheId:d1e9b95723b3afa0" attr(,"call") [1] "" > > # cacheId -- force the use of a digest -- can give undesired consequences > Cache(rnorm(3), cacheId = "k323431232") # sets the cacheId for this call No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. cacheId is not same as calculated hash. Manually searching for cacheId:k323431232 Saved! Cache file: k323431232.rds; fn: rnorm [1] 1.1062937 -1.7782129 0.8976231 attr(,".Cache") attr(,".Cache")$newCache [1] TRUE attr(,"tags") [1] "cacheId:k323431232" attr(,"call") [1] "" > Cache(runif(14), cacheId = "k323431232") # recovers same as above, i.e, rnorm(3) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. cacheId is not same as calculated hash. Manually searching for cacheId:k323431232 Object to retrieve (fn: runif, k323431232.rds) ... Loaded! Cached result from previous runif call [1] 1.1062937 -1.7782129 0.8976231 attr(,".Cache") attr(,".Cache")$newCache [1] FALSE attr(,"tags") [1] "cacheId:k323431232" attr(,"call") [1] "" > > # Turn off Caching session-wide > opts <- options(reproducible.useCache = FALSE) > Cache(rnorm(3)) # doesn't cache useCache is FALSE; skipping Cache on function rnorm (currently running nested Cache level 2) [1] 2.02496521 0.53554150 -0.01744317 > options(opts) > > # showSimilar can help with debugging why a Cache call isn't picking up a cached copy > Cache(rnorm(4), showSimilar = TRUE) # shows that the argument `n` is different No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Cache of 'rnorm' differs from the next closest cacheId(s) k323431232 of 'rnorm' different n Saved! Cache file: ad0ea27476c50b66.rds; fn: rnorm [1] -0.7316185 -0.4654665 -1.9341541 0.4765088 attr(,".Cache") attr(,".Cache")$newCache [1] TRUE attr(,"tags") [1] "cacheId:ad0ea27476c50b66" attr(,"call") [1] "" > > ############################################### > # devMode -- enables cache database to stay > # small even when developing code > ############################################### > opt <- options("reproducible.useCache" = "devMode") > clearCache(tmpDir, ask = FALSE) > centralTendency <- function(x) { + mean(x) + } > funnyData <- c(1, 1, 1, 1, 10) > uniqueUserTags <- c("thisIsUnique", "reallyUnique") > ranNumsB <- Cache(centralTendency, funnyData, cachePath = tmpDir, + userTags = uniqueUserTags) # sets new value to Cache Saved! Cache file: 197064fee76dde59.rds; fn: centralTendency > showCache(tmpDir) # 1 unique cacheId -- cacheId is 71cd24ec3b0d0cac Cache size: Total (including Rasters): 246 bytes Selected objects (not including Rasters): 246 bytes cacheId tagKey tagValue <char> <char> <char> 1: 197064fee76dde59 thisIsUnique thisIsUnique 2: 197064fee76dde59 reallyUnique reallyUnique 3: 197064fee76dde59 function centralTendency 4: 197064fee76dde59 class numeric 5: 197064fee76dde59 object.size 984 6: 197064fee76dde59 accessed 2025-12-19 18:11:49.923977 7: 197064fee76dde59 inCloud FALSE 8: 197064fee76dde59 fromDisk FALSE 9: 197064fee76dde59 resultHash 10: 197064fee76dde59 elapsedTimeDigest 0.002055407 secs 11: 197064fee76dde59 elapsedTimeFirstRun 0.0002291203 secs 12: 197064fee76dde59 otherFunctions 13: 197064fee76dde59 preDigest x:e4aa8de28dc6c1bb 14: 197064fee76dde59 preDigest .FUN:3df5c81377ae4909 createdDate <char> 1: 2025-12-19 18:11:49.925043 2: 2025-12-19 18:11:49.925043 3: 2025-12-19 18:11:49.925043 4: 2025-12-19 18:11:49.925043 5: 2025-12-19 18:11:49.925043 6: 2025-12-19 18:11:49.925043 7: 2025-12-19 18:11:49.925043 8: 2025-12-19 18:11:49.925043 9: 2025-12-19 18:11:49.925043 10: 2025-12-19 18:11:49.925043 11: 2025-12-19 18:11:49.925043 12: 2025-12-19 18:11:49.925043 13: 2025-12-19 18:11:49.925043 14: 2025-12-19 18:11:49.925043 > > # During development, we often redefine function internals > centralTendency <- function(x) { + median(x) + } > # When we rerun, we don't want to keep the "old" cache because the function will > # never again be defined that way. Here, because of userTags being the same, > # it will replace the entry in the Cache, effetively overwriting it, even though > # it has a different cacheId > ranNumsD <- Cache(centralTendency, funnyData, cachePath = tmpDir, userTags = uniqueUserTags) Error in `[.data.table`(isInRepoAlt, , `:=`(iden, identical(sum(get(.cacheTableTagColName("tag")) %in% : attempt access index 4/4 in VECTOR_ELT Calls: Cache -> devModeFn1 -> [ -> [.data.table Execution halted Flavor: r-devel-linux-x86_64-debian-gcc

Version: 2.1.2
Check: tests
Result: ERROR Running ‘test-all.R’ [62s/73s] Running the tests in ‘tests/test-all.R’ failed. Complete output: > library(testthat) > > # NOTE: ALL OPTIONS ARE BEING SET IN tests/testthat/setup.R > > ## run all tests using different combinations of env vars > if (nzchar(Sys.getenv("NOT_CRAN")) && as.logical(Sys.getenv("NOT_CRAN"))) { + Sys.setenv(R_REPRODUCIBLE_RASTER_READ = "raster::raster") + Sys.setenv(R_REPRODUCIBLE_USE_DBI = "false") + test_check("reproducible") + + Sys.setenv(R_REPRODUCIBLE_RASTER_READ = "raster::raster") + Sys.setenv(R_REPRODUCIBLE_USE_DBI = "true") + test_check("reproducible") + + Sys.setenv(R_REPRODUCIBLE_RASTER_READ = "terra::rast") ## default + Sys.setenv(R_REPRODUCIBLE_USE_DBI = "false") ## default + test_check("reproducible") + + Sys.setenv(R_REPRODUCIBLE_RASTER_READ = "terra::rast") + Sys.setenv(R_REPRODUCIBLE_USE_DBI = "true") + test_check("reproducible") + } else { + test_check("reproducible") + } Loading required package: reproducible Attaching package: 'data.table' The following object is masked from 'package:base': %notin% [ FAIL 1 | WARN 0 | SKIP 90 | PASS 456 ] ══ Skipped tests (90) ══════════════════════════════════════════════════════════ • No Drive token (3): 'test-misc.R:137:3', 'test-prepInputs.R:1199:3', 'test-prepInputs.R:1219:3' • On CRAN (82): 'test-cache.R:2:3', 'test-cache.R:748:3', 'test-cache.R:768:3', 'test-cache.R:961:3', 'test-cache.R:1515:3', 'test-cache.R:1561:3', 'test-cacheGeo.R:2:3', 'test-cloud.R:2:3', 'test-cloud.R:145:3', 'test-cloud.R:184:3', 'test-cloud.R:212:3', 'test-cloud.R:239:3', 'test-cluster.R:2:3', 'test-filesMissingExtension.R:2:3', 'test-filesMissingExtension.R:17:3', 'test-filesMissingExtension.R:32:3', 'test-filesMissingExtension.R:47:3', 'test-filesMissingExtension.R:62:3', 'test-gis.R:2:3', 'test-misc.R:62:3', 'test-postProcess.R:2:3', 'test-postProcess.R:232:3', 'test-postProcess.R:276:3', 'test-preProcessDoesntWork.R:2:3', 'test-preProcessDoesntWork.R:121:3', 'test-preProcessDoesntWork.R:135:3', 'test-preProcessDoesntWork.R:149:3', 'test-preProcessDoesntWork.R:179:3', 'test-preProcessWorks.R:2:3', 'test-preProcessWorks.R:13:3', 'test-preProcessWorks.R:24:3', 'test-preProcessWorks.R:35:3', 'test-preProcessWorks.R:57:3', 'test-preProcessWorks.R:82:3', 'test-preProcessWorks.R:96:3', 'test-preProcessWorks.R:113:3', 'test-preProcessWorks.R:128:3', 'test-preProcessWorks.R:143:3', 'test-preProcessWorks.R:165:3', 'test-preProcessWorks.R:179:3', 'test-preProcessWorks.R:202:3', 'test-preProcessWorks.R:233:3', 'test-preProcessWorks.R:257:3', 'test-preProcessWorks.R:270:3', 'test-preProcessWorks.R:286:3', 'test-preProcessWorks.R:302:3', 'test-preProcessWorks.R:315:3', 'test-preProcessWorks.R:328:3', 'test-preProcessWorks.R:348:3', 'test-preProcessWorks.R:361:3', 'test-preProcessWorks.R:374:3', 'test-preProcessWorks.R:391:3', 'test-preProcessWorks.R:409:3', 'test-preProcessWorks.R:438:3', 'test-preProcessWorks.R:459:3', 'test-preProcessWorks.R:487:3', 'test-preProcessWorks.R:543:3', 'test-preProcessWorks.R:569:3', 'test-preProcessWorks.R:672:3', 'test-prepInputs-large-files.R:2:3', 'test-prepInputs-large-files.R:35:3', 'test-prepInputs-large-files.R:61:3', 'test-prepInputs.R:2:3', 'test-prepInputs.R:180:3', 'test-prepInputs.R:327:3', 'test-prepInputs.R:1141:3', 'test-prepInputs.R:1337:3', 'test-prepInputs.R:1496:3', 'test-prepInputs.R:1571:3', 'test-prepInputs.R:1859:3', 'test-prepInputs.R:1883:3', 'test-prepInputsInNestedArchives.R:2:3', 'test-prepInputsInNestedArchives.R:13:3', 'test-prepInputsInNestedArchives.R:28:3', 'test-prepInputsInNestedArchives.R:39:3', 'test-prepInputsInNestedArchives.R:59:5', 'test-prepInputsInNestedArchives.R:82:5', 'test-prepInputsInNestedArchives.R:104:5', 'test-prepInputsInNestedArchives.R:141:5', 'test-prepInputsInNestedArchives.R:176:3', 'test-prepInputsInNestedArchives.R:208:3', 'test-symlinks.R:2:3' • The Google Drive url is dead (1): 'test-postProcess.R:342:3' • empty test (3): 'test-download.R:1:1', 'test-examples.R:1:1', 'test-preProcessWorks.R:467:1' • test cloudCache inside Cache -- Not fully written test (1): 'test-multipleCacheRepo.R:38:3' ══ Failed tests ════════════════════════════════════════════════════════════════ ── Error ('test-devMode.R:26:3'): test devMode ───────────────────────────────── Error in ``[.data.table`(isInRepoAlt, , `:=`(iden, identical(sum(get(.cacheTableTagColName("tag")) %in% userTags), length(userTags))), by = eval(.cacheTableHashColName()))`: attempt access index 4/4 in VECTOR_ELT Backtrace: ▆ 1. └─reproducible::Cache(...) at test-devMode.R:26:3 2. └─reproducible:::devModeFn1(...) 3. ├─...[] 4. └─data.table:::`[.data.table`(...) [ FAIL 1 | WARN 0 | SKIP 90 | PASS 456 ] Error: ! Test failures. Execution halted Flavor: r-devel-linux-x86_64-debian-gcc

Version: 2.1.2
Check: examples
Result: ERROR Running examples in ‘reproducible-Ex.R’ failed The error most likely occurred in: > ### Name: Cache > ### Title: Saves a wide variety function call outputs to disk and > ### optionally RAM, for recovery later > ### Aliases: Cache > > ### ** Examples > > data.table::setDTthreads(2) > tmpDir <- file.path(tempdir()) > opts <- options(reproducible.cachePath = tmpDir) > > # Usage -- All below are equivalent; even where args are missing or provided, > # Cache evaluates using default values, if these are specified in formals(FUN) > a <- list() > b <- list(fun = rnorm) > bbb <- 1 > ee <- new.env(parent = emptyenv()) > ee$qq <- bbb > > a[[1]] <- Cache(rnorm(1)) # no evaluation prior to Cache No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Saved! Cache file: 422bae4ed2f770cc.rds; fn: rnorm > a[[2]] <- Cache(rnorm, 1) # no evaluation prior to Cache No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: rnorm, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous rnorm call > a[[3]] <- Cache(do.call, rnorm, list(1)) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: rnorm, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous rnorm call > a[[4]] <- Cache(do.call(rnorm, list(1))) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: rnorm, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous rnorm call > a[[5]] <- Cache(do.call(b$fun, list(1))) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: b$fun, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous b$fun call > a[[6]] <- Cache(do.call, b$fun, list(1)) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: b$fun, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous b$fun call > a[[7]] <- Cache(b$fun, 1) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: b$fun, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous b$fun call > a[[8]] <- Cache(b$fun(1)) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: $, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous $ call > a[[10]] <- Cache(quote(rnorm(1))) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: quote, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous quote call > a[[11]] <- Cache(stats::rnorm(1)) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: stats::rnorm, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous stats::rnorm call > a[[12]] <- Cache(stats::rnorm, 1) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: stats::rnorm, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous stats::rnorm call > a[[13]] <- Cache(rnorm(1, 0, get("bbb", inherits = FALSE))) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: rnorm, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous rnorm call > a[[14]] <- Cache(rnorm(1, 0, get("qq", inherits = FALSE, envir = ee))) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: rnorm, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous rnorm call > a[[15]] <- Cache(rnorm(1, bbb - bbb, get("bbb", inherits = FALSE))) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: rnorm, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous rnorm call > a[[16]] <- Cache(rnorm(sd = 1, 0, n = get("bbb", inherits = FALSE))) # change order No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: rnorm, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous rnorm call > a[[17]] <- Cache(rnorm(1, sd = get("ee", inherits = FALSE)$qq), mean = 0) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: rnorm, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous rnorm call > > # with base pipe -- this is put in quotes ('') because R version 4.0 can't understand this > # if you are using R >= 4.1 or R >= 4.2 if using the _ placeholder, > # then you can just use pipe normally > usingPipe1 <- "b$fun(1) |> Cache()" # base pipe > > # For long pipe, need to wrap sequence in { }, or else only last step is cached > usingPipe2 <- + '{"bbb" |> + parse(text = _) |> + eval() |> + rnorm()} |> + Cache()' > if (getRversion() >= "4.1") { + a[[9]] <- eval(parse(text = usingPipe1)) # recovers cached copy + } No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: $, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous $ call > if (getRversion() >= "4.2") { # uses the _ placeholder; only available in R >= 4.2 + a[[18]] <- eval(parse(text = usingPipe2)) # recovers cached copy + } There is an `eval` call in a chain of calls for Cache; eval is evaluated before Cache which may be undesired. Perhaps use `do.call` if the evaluation should not occur prior to Cache No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: rnorm, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous rnorm call > > length(unique(a)) == 1 # all same [1] FALSE > > ### Pipe -- have to use { } or else only final function is Cached > if (getRversion() >= "4.1") { + b1a <- 'sample(1e5, 1) |> rnorm() |> Cache()' + b1b <- 'sample(1e5, 1) |> rnorm() |> Cache()' + b2a <- '{sample(1e5, 1) |> rnorm()} |> Cache()' + b2b <- '{sample(1e5, 1) |> rnorm()} |> Cache()' + b1a <- eval(parse(text = b1a)) + b1b <- eval(parse(text = b1b)) + b2a <- eval(parse(text = b2a)) + b2b <- eval(parse(text = b2b)) + all.equal(b1a, b1b) # Not TRUE because the sample is run first + all.equal(b2a, b2b) # TRUE because of { } + } No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Saved! Cache file: d11bd9c8ba9018bd.rds; fn: rnorm No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Saved! Cache file: 402e48221b3093d3.rds; fn: rnorm No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Saved! Cache file: 65d6fc4cf6012274.rds; fn: rnorm No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: rnorm, 65d6fc4cf6012274.rds) ... Loaded! Cached result from previous rnorm call [1] "Attributes: < Component “.Cache”: Component “newCache”: 1 element mismatch >" > > ######################### > # Advanced examples > ######################### > > # .cacheExtra -- add something to digest > Cache(rnorm(1), .cacheExtra = "sfessee11") # adds something other than fn args No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Saved! Cache file: 15a06cafd7e0d37e.rds; fn: rnorm [1] -0.8980367 attr(,".Cache") attr(,".Cache")$newCache [1] TRUE attr(,"tags") [1] "cacheId:15a06cafd7e0d37e" attr(,"call") [1] "" > Cache(rnorm(1), .cacheExtra = "nothing") # even though fn is same, the extra is different No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Saved! Cache file: b35d37e57ba86333.rds; fn: rnorm [1] -1.154969 attr(,".Cache") attr(,".Cache")$newCache [1] TRUE attr(,"tags") [1] "cacheId:b35d37e57ba86333" attr(,"call") [1] "" > > # omitArgs -- remove something from digest (kind of the opposite of .cacheExtra) > Cache(rnorm(2, sd = 1), omitArgs = "sd") # removes one or more args from cache digest No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Saved! Cache file: d1e9b95723b3afa0.rds; fn: rnorm [1] 0.9472297 -1.0574249 attr(,".Cache") attr(,".Cache")$newCache [1] TRUE attr(,"tags") [1] "cacheId:d1e9b95723b3afa0" attr(,"call") [1] "" > Cache(rnorm(2, sd = 2), omitArgs = "sd") # b/c sd is not used, this is same as previous No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: rnorm, d1e9b95723b3afa0.rds) ... Loaded! Cached result from previous rnorm call [1] 0.9472297 -1.0574249 attr(,".Cache") attr(,".Cache")$newCache [1] FALSE attr(,"tags") [1] "cacheId:d1e9b95723b3afa0" attr(,"call") [1] "" > > # cacheId -- force the use of a digest -- can give undesired consequences > Cache(rnorm(3), cacheId = "k323431232") # sets the cacheId for this call No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. cacheId is not same as calculated hash. Manually searching for cacheId:k323431232 Saved! Cache file: k323431232.rds; fn: rnorm [1] 1.1062937 -1.7782129 0.8976231 attr(,".Cache") attr(,".Cache")$newCache [1] TRUE attr(,"tags") [1] "cacheId:k323431232" attr(,"call") [1] "" > Cache(runif(14), cacheId = "k323431232") # recovers same as above, i.e, rnorm(3) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. cacheId is not same as calculated hash. Manually searching for cacheId:k323431232 Object to retrieve (fn: runif, k323431232.rds) ... Loaded! Cached result from previous runif call [1] 1.1062937 -1.7782129 0.8976231 attr(,".Cache") attr(,".Cache")$newCache [1] FALSE attr(,"tags") [1] "cacheId:k323431232" attr(,"call") [1] "" > > # Turn off Caching session-wide > opts <- options(reproducible.useCache = FALSE) > Cache(rnorm(3)) # doesn't cache useCache is FALSE; skipping Cache on function rnorm (currently running nested Cache level 2) [1] 2.02496521 0.53554150 -0.01744317 > options(opts) > > # showSimilar can help with debugging why a Cache call isn't picking up a cached copy > Cache(rnorm(4), showSimilar = TRUE) # shows that the argument `n` is different No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Cache of 'rnorm' differs from the next closest cacheId(s) k323431232 of 'rnorm' different n Saved! Cache file: ad0ea27476c50b66.rds; fn: rnorm [1] -0.7316185 -0.4654665 -1.9341541 0.4765088 attr(,".Cache") attr(,".Cache")$newCache [1] TRUE attr(,"tags") [1] "cacheId:ad0ea27476c50b66" attr(,"call") [1] "" > > ############################################### > # devMode -- enables cache database to stay > # small even when developing code > ############################################### > opt <- options("reproducible.useCache" = "devMode") > clearCache(tmpDir, ask = FALSE) > centralTendency <- function(x) { + mean(x) + } > funnyData <- c(1, 1, 1, 1, 10) > uniqueUserTags <- c("thisIsUnique", "reallyUnique") > ranNumsB <- Cache(centralTendency, funnyData, cachePath = tmpDir, + userTags = uniqueUserTags) # sets new value to Cache Saved! Cache file: 197064fee76dde59.rds; fn: centralTendency > showCache(tmpDir) # 1 unique cacheId -- cacheId is 71cd24ec3b0d0cac Cache size: Total (including Rasters): 246 bytes Selected objects (not including Rasters): 246 bytes cacheId tagKey tagValue <char> <char> <char> 1: 197064fee76dde59 thisIsUnique thisIsUnique 2: 197064fee76dde59 reallyUnique reallyUnique 3: 197064fee76dde59 function centralTendency 4: 197064fee76dde59 class numeric 5: 197064fee76dde59 object.size 984 6: 197064fee76dde59 accessed 2025-12-19 18:18:32.668639 7: 197064fee76dde59 inCloud FALSE 8: 197064fee76dde59 fromDisk FALSE 9: 197064fee76dde59 resultHash 10: 197064fee76dde59 elapsedTimeDigest 0.02628446 secs 11: 197064fee76dde59 elapsedTimeFirstRun 0.0004422665 secs 12: 197064fee76dde59 otherFunctions 13: 197064fee76dde59 preDigest x:e4aa8de28dc6c1bb 14: 197064fee76dde59 preDigest .FUN:3df5c81377ae4909 createdDate <char> 1: 2025-12-19 18:18:32.671305 2: 2025-12-19 18:18:32.671305 3: 2025-12-19 18:18:32.671305 4: 2025-12-19 18:18:32.671305 5: 2025-12-19 18:18:32.671305 6: 2025-12-19 18:18:32.671305 7: 2025-12-19 18:18:32.671305 8: 2025-12-19 18:18:32.671305 9: 2025-12-19 18:18:32.671305 10: 2025-12-19 18:18:32.671305 11: 2025-12-19 18:18:32.671305 12: 2025-12-19 18:18:32.671305 13: 2025-12-19 18:18:32.671305 14: 2025-12-19 18:18:32.671305 > > # During development, we often redefine function internals > centralTendency <- function(x) { + median(x) + } > # When we rerun, we don't want to keep the "old" cache because the function will > # never again be defined that way. Here, because of userTags being the same, > # it will replace the entry in the Cache, effetively overwriting it, even though > # it has a different cacheId > ranNumsD <- Cache(centralTendency, funnyData, cachePath = tmpDir, userTags = uniqueUserTags) Error in `[.data.table`(isInRepoAlt, , `:=`(iden, identical(sum(get(.cacheTableTagColName("tag")) %in% : attempt access index 4/4 in VECTOR_ELT Calls: Cache -> devModeFn1 -> [ -> [.data.table Execution halted Flavor: r-devel-linux-x86_64-fedora-clang

Version: 2.1.2
Check: tests
Result: ERROR Running ‘test-all.R’ [138s/263s] Running the tests in ‘tests/test-all.R’ failed. Complete output: > library(testthat) > > # NOTE: ALL OPTIONS ARE BEING SET IN tests/testthat/setup.R > > ## run all tests using different combinations of env vars > if (nzchar(Sys.getenv("NOT_CRAN")) && as.logical(Sys.getenv("NOT_CRAN"))) { + Sys.setenv(R_REPRODUCIBLE_RASTER_READ = "raster::raster") + Sys.setenv(R_REPRODUCIBLE_USE_DBI = "false") + test_check("reproducible") + + Sys.setenv(R_REPRODUCIBLE_RASTER_READ = "raster::raster") + Sys.setenv(R_REPRODUCIBLE_USE_DBI = "true") + test_check("reproducible") + + Sys.setenv(R_REPRODUCIBLE_RASTER_READ = "terra::rast") ## default + Sys.setenv(R_REPRODUCIBLE_USE_DBI = "false") ## default + test_check("reproducible") + + Sys.setenv(R_REPRODUCIBLE_RASTER_READ = "terra::rast") + Sys.setenv(R_REPRODUCIBLE_USE_DBI = "true") + test_check("reproducible") + } else { + test_check("reproducible") + } Loading required package: reproducible Attaching package: 'data.table' The following object is masked from 'package:base': %notin% [ FAIL 1 | WARN 0 | SKIP 90 | PASS 456 ] ══ Skipped tests (90) ══════════════════════════════════════════════════════════ • No Drive token (3): 'test-misc.R:137:3', 'test-prepInputs.R:1199:3', 'test-prepInputs.R:1219:3' • On CRAN (82): 'test-cache.R:2:3', 'test-cache.R:748:3', 'test-cache.R:768:3', 'test-cache.R:961:3', 'test-cache.R:1515:3', 'test-cache.R:1561:3', 'test-cacheGeo.R:2:3', 'test-cloud.R:2:3', 'test-cloud.R:145:3', 'test-cloud.R:184:3', 'test-cloud.R:212:3', 'test-cloud.R:239:3', 'test-cluster.R:2:3', 'test-filesMissingExtension.R:2:3', 'test-filesMissingExtension.R:17:3', 'test-filesMissingExtension.R:32:3', 'test-filesMissingExtension.R:47:3', 'test-filesMissingExtension.R:62:3', 'test-gis.R:2:3', 'test-misc.R:62:3', 'test-postProcess.R:2:3', 'test-postProcess.R:232:3', 'test-postProcess.R:276:3', 'test-preProcessDoesntWork.R:2:3', 'test-preProcessDoesntWork.R:121:3', 'test-preProcessDoesntWork.R:135:3', 'test-preProcessDoesntWork.R:149:3', 'test-preProcessDoesntWork.R:179:3', 'test-preProcessWorks.R:2:3', 'test-preProcessWorks.R:13:3', 'test-preProcessWorks.R:24:3', 'test-preProcessWorks.R:35:3', 'test-preProcessWorks.R:57:3', 'test-preProcessWorks.R:82:3', 'test-preProcessWorks.R:96:3', 'test-preProcessWorks.R:113:3', 'test-preProcessWorks.R:128:3', 'test-preProcessWorks.R:143:3', 'test-preProcessWorks.R:165:3', 'test-preProcessWorks.R:179:3', 'test-preProcessWorks.R:202:3', 'test-preProcessWorks.R:233:3', 'test-preProcessWorks.R:257:3', 'test-preProcessWorks.R:270:3', 'test-preProcessWorks.R:286:3', 'test-preProcessWorks.R:302:3', 'test-preProcessWorks.R:315:3', 'test-preProcessWorks.R:328:3', 'test-preProcessWorks.R:348:3', 'test-preProcessWorks.R:361:3', 'test-preProcessWorks.R:374:3', 'test-preProcessWorks.R:391:3', 'test-preProcessWorks.R:409:3', 'test-preProcessWorks.R:438:3', 'test-preProcessWorks.R:459:3', 'test-preProcessWorks.R:487:3', 'test-preProcessWorks.R:543:3', 'test-preProcessWorks.R:569:3', 'test-preProcessWorks.R:672:3', 'test-prepInputs-large-files.R:2:3', 'test-prepInputs-large-files.R:35:3', 'test-prepInputs-large-files.R:61:3', 'test-prepInputs.R:2:3', 'test-prepInputs.R:180:3', 'test-prepInputs.R:327:3', 'test-prepInputs.R:1141:3', 'test-prepInputs.R:1337:3', 'test-prepInputs.R:1496:3', 'test-prepInputs.R:1571:3', 'test-prepInputs.R:1859:3', 'test-prepInputs.R:1883:3', 'test-prepInputsInNestedArchives.R:2:3', 'test-prepInputsInNestedArchives.R:13:3', 'test-prepInputsInNestedArchives.R:28:3', 'test-prepInputsInNestedArchives.R:39:3', 'test-prepInputsInNestedArchives.R:59:5', 'test-prepInputsInNestedArchives.R:82:5', 'test-prepInputsInNestedArchives.R:104:5', 'test-prepInputsInNestedArchives.R:141:5', 'test-prepInputsInNestedArchives.R:176:3', 'test-prepInputsInNestedArchives.R:208:3', 'test-symlinks.R:2:3' • The Google Drive url is dead (1): 'test-postProcess.R:342:3' • empty test (3): 'test-download.R:1:1', 'test-examples.R:1:1', 'test-preProcessWorks.R:467:1' • test cloudCache inside Cache -- Not fully written test (1): 'test-multipleCacheRepo.R:38:3' ══ Failed tests ════════════════════════════════════════════════════════════════ ── Error ('test-devMode.R:26:3'): test devMode ───────────────────────────────── Error in ``[.data.table`(isInRepoAlt, , `:=`(iden, identical(sum(get(.cacheTableTagColName("tag")) %in% userTags), length(userTags))), by = eval(.cacheTableHashColName()))`: attempt access index 4/4 in VECTOR_ELT Backtrace: ▆ 1. └─reproducible::Cache(...) at test-devMode.R:26:3 2. └─reproducible:::devModeFn1(...) 3. ├─...[] 4. └─data.table:::`[.data.table`(...) [ FAIL 1 | WARN 0 | SKIP 90 | PASS 456 ] Error: ! Test failures. Execution halted Flavor: r-devel-linux-x86_64-fedora-clang

Version: 2.1.2
Check: examples
Result: ERROR Running examples in ‘reproducible-Ex.R’ failed The error most likely occurred in: > ### Name: Cache > ### Title: Saves a wide variety function call outputs to disk and > ### optionally RAM, for recovery later > ### Aliases: Cache > > ### ** Examples > > data.table::setDTthreads(2) > tmpDir <- file.path(tempdir()) > opts <- options(reproducible.cachePath = tmpDir) > > # Usage -- All below are equivalent; even where args are missing or provided, > # Cache evaluates using default values, if these are specified in formals(FUN) > a <- list() > b <- list(fun = rnorm) > bbb <- 1 > ee <- new.env(parent = emptyenv()) > ee$qq <- bbb > > a[[1]] <- Cache(rnorm(1)) # no evaluation prior to Cache No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Saved! Cache file: 422bae4ed2f770cc.rds; fn: rnorm > a[[2]] <- Cache(rnorm, 1) # no evaluation prior to Cache No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: rnorm, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous rnorm call > a[[3]] <- Cache(do.call, rnorm, list(1)) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: rnorm, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous rnorm call > a[[4]] <- Cache(do.call(rnorm, list(1))) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: rnorm, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous rnorm call > a[[5]] <- Cache(do.call(b$fun, list(1))) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: b$fun, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous b$fun call > a[[6]] <- Cache(do.call, b$fun, list(1)) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: b$fun, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous b$fun call > a[[7]] <- Cache(b$fun, 1) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: b$fun, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous b$fun call > a[[8]] <- Cache(b$fun(1)) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: $, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous $ call > a[[10]] <- Cache(quote(rnorm(1))) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: quote, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous quote call > a[[11]] <- Cache(stats::rnorm(1)) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: stats::rnorm, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous stats::rnorm call > a[[12]] <- Cache(stats::rnorm, 1) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: stats::rnorm, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous stats::rnorm call > a[[13]] <- Cache(rnorm(1, 0, get("bbb", inherits = FALSE))) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: rnorm, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous rnorm call > a[[14]] <- Cache(rnorm(1, 0, get("qq", inherits = FALSE, envir = ee))) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: rnorm, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous rnorm call > a[[15]] <- Cache(rnorm(1, bbb - bbb, get("bbb", inherits = FALSE))) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: rnorm, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous rnorm call > a[[16]] <- Cache(rnorm(sd = 1, 0, n = get("bbb", inherits = FALSE))) # change order No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: rnorm, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous rnorm call > a[[17]] <- Cache(rnorm(1, sd = get("ee", inherits = FALSE)$qq), mean = 0) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: rnorm, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous rnorm call > > # with base pipe -- this is put in quotes ('') because R version 4.0 can't understand this > # if you are using R >= 4.1 or R >= 4.2 if using the _ placeholder, > # then you can just use pipe normally > usingPipe1 <- "b$fun(1) |> Cache()" # base pipe > > # For long pipe, need to wrap sequence in { }, or else only last step is cached > usingPipe2 <- + '{"bbb" |> + parse(text = _) |> + eval() |> + rnorm()} |> + Cache()' > if (getRversion() >= "4.1") { + a[[9]] <- eval(parse(text = usingPipe1)) # recovers cached copy + } No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: $, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous $ call > if (getRversion() >= "4.2") { # uses the _ placeholder; only available in R >= 4.2 + a[[18]] <- eval(parse(text = usingPipe2)) # recovers cached copy + } There is an `eval` call in a chain of calls for Cache; eval is evaluated before Cache which may be undesired. Perhaps use `do.call` if the evaluation should not occur prior to Cache No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: rnorm, 422bae4ed2f770cc.rds) ... Loaded! Cached result from previous rnorm call > > length(unique(a)) == 1 # all same [1] FALSE > > ### Pipe -- have to use { } or else only final function is Cached > if (getRversion() >= "4.1") { + b1a <- 'sample(1e5, 1) |> rnorm() |> Cache()' + b1b <- 'sample(1e5, 1) |> rnorm() |> Cache()' + b2a <- '{sample(1e5, 1) |> rnorm()} |> Cache()' + b2b <- '{sample(1e5, 1) |> rnorm()} |> Cache()' + b1a <- eval(parse(text = b1a)) + b1b <- eval(parse(text = b1b)) + b2a <- eval(parse(text = b2a)) + b2b <- eval(parse(text = b2b)) + all.equal(b1a, b1b) # Not TRUE because the sample is run first + all.equal(b2a, b2b) # TRUE because of { } + } No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Saved! Cache file: d11bd9c8ba9018bd.rds; fn: rnorm No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Saved! Cache file: 402e48221b3093d3.rds; fn: rnorm No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Saved! Cache file: 65d6fc4cf6012274.rds; fn: rnorm No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: rnorm, 65d6fc4cf6012274.rds) ... Loaded! Cached result from previous rnorm call [1] "Attributes: < Component “.Cache”: Component “newCache”: 1 element mismatch >" > > ######################### > # Advanced examples > ######################### > > # .cacheExtra -- add something to digest > Cache(rnorm(1), .cacheExtra = "sfessee11") # adds something other than fn args No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Saved! Cache file: 15a06cafd7e0d37e.rds; fn: rnorm [1] -0.8980367 attr(,".Cache") attr(,".Cache")$newCache [1] TRUE attr(,"tags") [1] "cacheId:15a06cafd7e0d37e" attr(,"call") [1] "" > Cache(rnorm(1), .cacheExtra = "nothing") # even though fn is same, the extra is different No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Saved! Cache file: b35d37e57ba86333.rds; fn: rnorm [1] -1.154969 attr(,".Cache") attr(,".Cache")$newCache [1] TRUE attr(,"tags") [1] "cacheId:b35d37e57ba86333" attr(,"call") [1] "" > > # omitArgs -- remove something from digest (kind of the opposite of .cacheExtra) > Cache(rnorm(2, sd = 1), omitArgs = "sd") # removes one or more args from cache digest No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Saved! Cache file: d1e9b95723b3afa0.rds; fn: rnorm [1] 0.9472297 -1.0574249 attr(,".Cache") attr(,".Cache")$newCache [1] TRUE attr(,"tags") [1] "cacheId:d1e9b95723b3afa0" attr(,"call") [1] "" > Cache(rnorm(2, sd = 2), omitArgs = "sd") # b/c sd is not used, this is same as previous No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Object to retrieve (fn: rnorm, d1e9b95723b3afa0.rds) ... Loaded! Cached result from previous rnorm call [1] 0.9472297 -1.0574249 attr(,".Cache") attr(,".Cache")$newCache [1] FALSE attr(,"tags") [1] "cacheId:d1e9b95723b3afa0" attr(,"call") [1] "" > > # cacheId -- force the use of a digest -- can give undesired consequences > Cache(rnorm(3), cacheId = "k323431232") # sets the cacheId for this call No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. cacheId is not same as calculated hash. Manually searching for cacheId:k323431232 Saved! Cache file: k323431232.rds; fn: rnorm [1] 1.1062937 -1.7782129 0.8976231 attr(,".Cache") attr(,".Cache")$newCache [1] TRUE attr(,"tags") [1] "cacheId:k323431232" attr(,"call") [1] "" > Cache(runif(14), cacheId = "k323431232") # recovers same as above, i.e, rnorm(3) No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. cacheId is not same as calculated hash. Manually searching for cacheId:k323431232 Object to retrieve (fn: runif, k323431232.rds) ... Loaded! Cached result from previous runif call [1] 1.1062937 -1.7782129 0.8976231 attr(,".Cache") attr(,".Cache")$newCache [1] FALSE attr(,"tags") [1] "cacheId:k323431232" attr(,"call") [1] "" > > # Turn off Caching session-wide > opts <- options(reproducible.useCache = FALSE) > Cache(rnorm(3)) # doesn't cache useCache is FALSE; skipping Cache on function rnorm (currently running nested Cache level 2) [1] 2.02496521 0.53554150 -0.01744317 > options(opts) > > # showSimilar can help with debugging why a Cache call isn't picking up a cached copy > Cache(rnorm(4), showSimilar = TRUE) # shows that the argument `n` is different No cachePath supplied and getOption('reproducible.cachePath') is inside a temporary directory; this will not persist across R sessions. Cache of 'rnorm' differs from the next closest cacheId(s) k323431232 of 'rnorm' different n Saved! Cache file: ad0ea27476c50b66.rds; fn: rnorm [1] -0.7316185 -0.4654665 -1.9341541 0.4765088 attr(,".Cache") attr(,".Cache")$newCache [1] TRUE attr(,"tags") [1] "cacheId:ad0ea27476c50b66" attr(,"call") [1] "" > > ############################################### > # devMode -- enables cache database to stay > # small even when developing code > ############################################### > opt <- options("reproducible.useCache" = "devMode") > clearCache(tmpDir, ask = FALSE) > centralTendency <- function(x) { + mean(x) + } > funnyData <- c(1, 1, 1, 1, 10) > uniqueUserTags <- c("thisIsUnique", "reallyUnique") > ranNumsB <- Cache(centralTendency, funnyData, cachePath = tmpDir, + userTags = uniqueUserTags) # sets new value to Cache Saved! Cache file: 197064fee76dde59.rds; fn: centralTendency > showCache(tmpDir) # 1 unique cacheId -- cacheId is 71cd24ec3b0d0cac Cache size: Total (including Rasters): 246 bytes Selected objects (not including Rasters): 246 bytes cacheId tagKey tagValue <char> <char> <char> 1: 197064fee76dde59 thisIsUnique thisIsUnique 2: 197064fee76dde59 reallyUnique reallyUnique 3: 197064fee76dde59 function centralTendency 4: 197064fee76dde59 class numeric 5: 197064fee76dde59 object.size 984 6: 197064fee76dde59 accessed 2025-12-19 12:47:51.200848 7: 197064fee76dde59 inCloud FALSE 8: 197064fee76dde59 fromDisk FALSE 9: 197064fee76dde59 resultHash 10: 197064fee76dde59 elapsedTimeDigest 0.01083374 secs 11: 197064fee76dde59 elapsedTimeFirstRun 0.0004165173 secs 12: 197064fee76dde59 otherFunctions 13: 197064fee76dde59 preDigest x:e4aa8de28dc6c1bb 14: 197064fee76dde59 preDigest .FUN:3df5c81377ae4909 createdDate <char> 1: 2025-12-19 12:47:51.203353 2: 2025-12-19 12:47:51.203353 3: 2025-12-19 12:47:51.203353 4: 2025-12-19 12:47:51.203353 5: 2025-12-19 12:47:51.203353 6: 2025-12-19 12:47:51.203353 7: 2025-12-19 12:47:51.203353 8: 2025-12-19 12:47:51.203353 9: 2025-12-19 12:47:51.203353 10: 2025-12-19 12:47:51.203353 11: 2025-12-19 12:47:51.203353 12: 2025-12-19 12:47:51.203353 13: 2025-12-19 12:47:51.203353 14: 2025-12-19 12:47:51.203353 > > # During development, we often redefine function internals > centralTendency <- function(x) { + median(x) + } > # When we rerun, we don't want to keep the "old" cache because the function will > # never again be defined that way. Here, because of userTags being the same, > # it will replace the entry in the Cache, effetively overwriting it, even though > # it has a different cacheId > ranNumsD <- Cache(centralTendency, funnyData, cachePath = tmpDir, userTags = uniqueUserTags) Error in `[.data.table`(isInRepoAlt, , `:=`(iden, identical(sum(get(.cacheTableTagColName("tag")) %in% : attempt access index 4/4 in VECTOR_ELT Calls: Cache -> devModeFn1 -> [ -> [.data.table Execution halted Flavor: r-devel-linux-x86_64-fedora-gcc

Version: 2.1.2
Check: tests
Result: ERROR Running ‘test-all.R’ [124s/147s] Running the tests in ‘tests/test-all.R’ failed. Complete output: > library(testthat) > > # NOTE: ALL OPTIONS ARE BEING SET IN tests/testthat/setup.R > > ## run all tests using different combinations of env vars > if (nzchar(Sys.getenv("NOT_CRAN")) && as.logical(Sys.getenv("NOT_CRAN"))) { + Sys.setenv(R_REPRODUCIBLE_RASTER_READ = "raster::raster") + Sys.setenv(R_REPRODUCIBLE_USE_DBI = "false") + test_check("reproducible") + + Sys.setenv(R_REPRODUCIBLE_RASTER_READ = "raster::raster") + Sys.setenv(R_REPRODUCIBLE_USE_DBI = "true") + test_check("reproducible") + + Sys.setenv(R_REPRODUCIBLE_RASTER_READ = "terra::rast") ## default + Sys.setenv(R_REPRODUCIBLE_USE_DBI = "false") ## default + test_check("reproducible") + + Sys.setenv(R_REPRODUCIBLE_RASTER_READ = "terra::rast") + Sys.setenv(R_REPRODUCIBLE_USE_DBI = "true") + test_check("reproducible") + } else { + test_check("reproducible") + } Loading required package: reproducible Attaching package: 'data.table' The following object is masked from 'package:base': %notin% [ FAIL 1 | WARN 0 | SKIP 90 | PASS 456 ] ══ Skipped tests (90) ══════════════════════════════════════════════════════════ • No Drive token (3): 'test-misc.R:137:3', 'test-prepInputs.R:1199:3', 'test-prepInputs.R:1219:3' • On CRAN (82): 'test-cache.R:2:3', 'test-cache.R:748:3', 'test-cache.R:768:3', 'test-cache.R:961:3', 'test-cache.R:1515:3', 'test-cache.R:1561:3', 'test-cacheGeo.R:2:3', 'test-cloud.R:2:3', 'test-cloud.R:145:3', 'test-cloud.R:184:3', 'test-cloud.R:212:3', 'test-cloud.R:239:3', 'test-cluster.R:2:3', 'test-filesMissingExtension.R:2:3', 'test-filesMissingExtension.R:17:3', 'test-filesMissingExtension.R:32:3', 'test-filesMissingExtension.R:47:3', 'test-filesMissingExtension.R:62:3', 'test-gis.R:2:3', 'test-misc.R:62:3', 'test-postProcess.R:2:3', 'test-postProcess.R:232:3', 'test-postProcess.R:276:3', 'test-preProcessDoesntWork.R:2:3', 'test-preProcessDoesntWork.R:121:3', 'test-preProcessDoesntWork.R:135:3', 'test-preProcessDoesntWork.R:149:3', 'test-preProcessDoesntWork.R:179:3', 'test-preProcessWorks.R:2:3', 'test-preProcessWorks.R:13:3', 'test-preProcessWorks.R:24:3', 'test-preProcessWorks.R:35:3', 'test-preProcessWorks.R:57:3', 'test-preProcessWorks.R:82:3', 'test-preProcessWorks.R:96:3', 'test-preProcessWorks.R:113:3', 'test-preProcessWorks.R:128:3', 'test-preProcessWorks.R:143:3', 'test-preProcessWorks.R:165:3', 'test-preProcessWorks.R:179:3', 'test-preProcessWorks.R:202:3', 'test-preProcessWorks.R:233:3', 'test-preProcessWorks.R:257:3', 'test-preProcessWorks.R:270:3', 'test-preProcessWorks.R:286:3', 'test-preProcessWorks.R:302:3', 'test-preProcessWorks.R:315:3', 'test-preProcessWorks.R:328:3', 'test-preProcessWorks.R:348:3', 'test-preProcessWorks.R:361:3', 'test-preProcessWorks.R:374:3', 'test-preProcessWorks.R:391:3', 'test-preProcessWorks.R:409:3', 'test-preProcessWorks.R:438:3', 'test-preProcessWorks.R:459:3', 'test-preProcessWorks.R:487:3', 'test-preProcessWorks.R:543:3', 'test-preProcessWorks.R:569:3', 'test-preProcessWorks.R:672:3', 'test-prepInputs-large-files.R:2:3', 'test-prepInputs-large-files.R:35:3', 'test-prepInputs-large-files.R:61:3', 'test-prepInputs.R:2:3', 'test-prepInputs.R:180:3', 'test-prepInputs.R:327:3', 'test-prepInputs.R:1141:3', 'test-prepInputs.R:1337:3', 'test-prepInputs.R:1496:3', 'test-prepInputs.R:1571:3', 'test-prepInputs.R:1859:3', 'test-prepInputs.R:1883:3', 'test-prepInputsInNestedArchives.R:2:3', 'test-prepInputsInNestedArchives.R:13:3', 'test-prepInputsInNestedArchives.R:28:3', 'test-prepInputsInNestedArchives.R:39:3', 'test-prepInputsInNestedArchives.R:59:5', 'test-prepInputsInNestedArchives.R:82:5', 'test-prepInputsInNestedArchives.R:104:5', 'test-prepInputsInNestedArchives.R:141:5', 'test-prepInputsInNestedArchives.R:176:3', 'test-prepInputsInNestedArchives.R:208:3', 'test-symlinks.R:2:3' • The Google Drive url is dead (1): 'test-postProcess.R:342:3' • empty test (3): 'test-download.R:1:1', 'test-examples.R:1:1', 'test-preProcessWorks.R:467:1' • test cloudCache inside Cache -- Not fully written test (1): 'test-multipleCacheRepo.R:38:3' ══ Failed tests ════════════════════════════════════════════════════════════════ ── Error ('test-devMode.R:26:3'): test devMode ───────────────────────────────── Error in ``[.data.table`(isInRepoAlt, , `:=`(iden, identical(sum(get(.cacheTableTagColName("tag")) %in% userTags), length(userTags))), by = eval(.cacheTableHashColName()))`: attempt access index 4/4 in VECTOR_ELT Backtrace: ▆ 1. └─reproducible::Cache(...) at test-devMode.R:26:3 2. └─reproducible:::devModeFn1(...) 3. ├─...[] 4. └─data.table:::`[.data.table`(...) [ FAIL 1 | WARN 0 | SKIP 90 | PASS 456 ] Error: ! Test failures. Execution halted Flavor: r-devel-linux-x86_64-fedora-gcc

Version: 2.1.2
Check: examples
Result: ERROR Running examples in 'reproducible-Ex.R' failed The error most likely occurred in: > ### Name: gdalProject > ### Title: 3-Step postProcess sequence for SpatRasters using 'gdalwarp' > ### Aliases: gdalProject gdalResample gdalMask > > ### ** Examples > > # prepare dummy data -- 3 SpatRasters, 2 SpatVectors > # need 2 SpatRaster > rf <- system.file("ex/elev.tif", package = "terra") > elev1 <- terra::rast(rf) > #' > ras2 <- terra::deepcopy(elev1) > ras2[ras2 > 200 & ras2 < 300] <- NA_integer_ > terra::values(elev1) <- rep(1L, terra::ncell(ras2)) > #' > # a polygon vector > f <- system.file("ex/lux.shp", package = "terra") > vOrig <- terra::vect(f) Warning: PROJ: proj_identify: Cannot find proj.db (GDAL error 1) > v <- vOrig[1:2, ] > #' > utm <- terra::crs("epsg:23028") # $wkt Warning: PROJ: proj_create_from_database: Cannot find proj.db (GDAL error 1) Error: [rast] empty srs Execution halted Flavor: r-oldrel-windows-x86_64

Version: 2.1.2
Check: tests
Result: ERROR Running 'test-all.R' [118s] Running the tests in 'tests/test-all.R' failed. Complete output: > library(testthat) > > # NOTE: ALL OPTIONS ARE BEING SET IN tests/testthat/setup.R > > ## run all tests using different combinations of env vars > if (nzchar(Sys.getenv("NOT_CRAN")) && as.logical(Sys.getenv("NOT_CRAN"))) { + Sys.setenv(R_REPRODUCIBLE_RASTER_READ = "raster::raster") + Sys.setenv(R_REPRODUCIBLE_USE_DBI = "false") + test_check("reproducible") + + Sys.setenv(R_REPRODUCIBLE_RASTER_READ = "raster::raster") + Sys.setenv(R_REPRODUCIBLE_USE_DBI = "true") + test_check("reproducible") + + Sys.setenv(R_REPRODUCIBLE_RASTER_READ = "terra::rast") ## default + Sys.setenv(R_REPRODUCIBLE_USE_DBI = "false") ## default + test_check("reproducible") + + Sys.setenv(R_REPRODUCIBLE_RASTER_READ = "terra::rast") + Sys.setenv(R_REPRODUCIBLE_USE_DBI = "true") + test_check("reproducible") + } else { + test_check("reproducible") + } Loading required package: reproducible Command Line Error: Cannot find archive [ FAIL 1 | WARN 16 | SKIP 90 | PASS 398 ] ══ Skipped tests (90) ══════════════════════════════════════════════════════════ • No Drive token (3): 'test-misc.R:137:3', 'test-prepInputs.R:1199:3', 'test-prepInputs.R:1219:3' • On CRAN (82): 'test-cache.R:2:3', 'test-cache.R:748:3', 'test-cache.R:768:3', 'test-cache.R:961:3', 'test-cache.R:1515:3', 'test-cache.R:1561:3', 'test-cacheGeo.R:2:3', 'test-cloud.R:2:3', 'test-cloud.R:145:3', 'test-cloud.R:184:3', 'test-cloud.R:212:3', 'test-cloud.R:239:3', 'test-cluster.R:2:3', 'test-filesMissingExtension.R:2:3', 'test-filesMissingExtension.R:17:3', 'test-filesMissingExtension.R:32:3', 'test-filesMissingExtension.R:47:3', 'test-filesMissingExtension.R:62:3', 'test-gis.R:2:3', 'test-misc.R:62:3', 'test-postProcess.R:2:3', 'test-postProcess.R:232:3', 'test-postProcess.R:276:3', 'test-preProcessDoesntWork.R:2:3', 'test-preProcessDoesntWork.R:121:3', 'test-preProcessDoesntWork.R:135:3', 'test-preProcessDoesntWork.R:149:3', 'test-preProcessDoesntWork.R:179:3', 'test-preProcessWorks.R:2:3', 'test-preProcessWorks.R:13:3', 'test-preProcessWorks.R:24:3', 'test-preProcessWorks.R:35:3', 'test-preProcessWorks.R:57:3', 'test-preProcessWorks.R:82:3', 'test-preProcessWorks.R:96:3', 'test-preProcessWorks.R:113:3', 'test-preProcessWorks.R:128:3', 'test-preProcessWorks.R:143:3', 'test-preProcessWorks.R:165:3', 'test-preProcessWorks.R:179:3', 'test-preProcessWorks.R:202:3', 'test-preProcessWorks.R:233:3', 'test-preProcessWorks.R:257:3', 'test-preProcessWorks.R:270:3', 'test-preProcessWorks.R:286:3', 'test-preProcessWorks.R:302:3', 'test-preProcessWorks.R:315:3', 'test-preProcessWorks.R:328:3', 'test-preProcessWorks.R:348:3', 'test-preProcessWorks.R:361:3', 'test-preProcessWorks.R:374:3', 'test-preProcessWorks.R:391:3', 'test-preProcessWorks.R:409:3', 'test-preProcessWorks.R:438:3', 'test-preProcessWorks.R:459:3', 'test-preProcessWorks.R:487:3', 'test-preProcessWorks.R:543:3', 'test-preProcessWorks.R:569:3', 'test-preProcessWorks.R:672:3', 'test-prepInputs-large-files.R:2:3', 'test-prepInputs-large-files.R:35:3', 'test-prepInputs-large-files.R:61:3', 'test-prepInputs.R:2:3', 'test-prepInputs.R:180:3', 'test-prepInputs.R:327:3', 'test-prepInputs.R:1141:3', 'test-prepInputs.R:1337:3', 'test-prepInputs.R:1496:3', 'test-prepInputs.R:1571:3', 'test-prepInputs.R:1859:3', 'test-prepInputs.R:1883:3', 'test-prepInputsInNestedArchives.R:2:3', 'test-prepInputsInNestedArchives.R:13:3', 'test-prepInputsInNestedArchives.R:28:3', 'test-prepInputsInNestedArchives.R:39:3', 'test-prepInputsInNestedArchives.R:59:5', 'test-prepInputsInNestedArchives.R:82:5', 'test-prepInputsInNestedArchives.R:104:5', 'test-prepInputsInNestedArchives.R:141:5', 'test-prepInputsInNestedArchives.R:176:3', 'test-prepInputsInNestedArchives.R:208:3', 'test-symlinks.R:2:3' • The Google Drive url is dead (1): 'test-postProcess.R:342:3' • empty test (3): 'test-download.R:1:1', 'test-examples.R:1:1', 'test-preProcessWorks.R:467:1' • test cloudCache inside Cache -- Not fully written test (1): 'test-multipleCacheRepo.R:38:3' ══ Failed tests ════════════════════════════════════════════════════════════════ ── Error ('test-postProcessTerra.R:182:5'): testing terra ────────────────────── Error: [rast] empty srs Backtrace: ▆ 1. ├─terra::crs("epsg:23028") at test-postProcessTerra.R:182:5 2. └─terra::crs("epsg:23028") 3. └─terra (local) .local(x, ...) 4. ├─terra::rast(crs = x) 5. └─terra::rast(crs = x) 6. └─terra (local) .local(x = x, ...) 7. └─terra:::new_rast(...) 8. └─terra:::messages(r, "rast") 9. └─terra:::error(f, x@pntr$getError()) [ FAIL 1 | WARN 16 | SKIP 90 | PASS 398 ] Error: ! Test failures. Execution halted Flavor: r-oldrel-windows-x86_64

Version: 2.1.2
Check: re-building of vignette outputs
Result: ERROR Error(s) in re-building vignettes: --- re-building 'Intro-to-Cache.Rmd' using rmarkdown Quitting from Intro-to-Cache.Rmd:65-97 [function-level] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ <error/rlang_error> Error: ! [project] cannot get output boundaries for the target crs --- Backtrace: ▆ 1. ├─base::system.time(...) 2. ├─base::suppressWarnings(map1 <- terra::project(ras, newCRS)) 3. │ └─base::withCallingHandlers(...) 4. ├─terra::project(ras, newCRS) 5. └─terra::project(ras, newCRS) 6. └─terra (local) .local(x, ...) 7. └─terra:::messages(x, "project") 8. └─terra:::error(f, x@pntr$getError()) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Error: processing vignette 'Intro-to-Cache.Rmd' failed with diagnostics: [project] cannot get output boundaries for the target crs --- failed re-building 'Intro-to-Cache.Rmd' SUMMARY: processing the following file failed: 'Intro-to-Cache.Rmd' Error: Vignette re-building failed. Execution halted Flavor: r-oldrel-windows-x86_64