Running ‘testthat.R’ [71s/164s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > 
  > library(testthat)
  > library(renv)
  
  Attaching package: 'renv'
  
  The following object is masked from 'package:stats':
  
      update
  
  The following objects are masked from 'package:utils':
  
      history, upgrade
  
  The following objects are masked from 'package:base':
  
      load, remove
  
  > 
  > run <- function() {
  + 
  +   # check whether we can run tests here
  +   if (!renv:::renv_tests_supported()) {
  +     message("renv does not support running tests on this platform.")
  +     return(FALSE)
  +   }
  + 
  +   # try to initialize for testing
  +   status <- tryCatch(
  +     renv:::renv_tests_init(),
  +     error = identity
  +   )
  + 
  +   if (inherits(status, "error")) {
  +     message("renv encountered one or more problems while initializing tests.")
  +     message(status$message)
  +     return(FALSE)
  +   }
  + 
  +   # run test diagnostics
  +   status <- tryCatch(
  +     renv:::renv_tests_diagnostics(),
  +     error = identity
  +   )
  + 
  +   if (inherits(status, "error")) {
  +     message("renv encountered one or more problems while printing diagnostics.")
  +     message(status$message)
  +     return(FALSE)
  +   }
  + 
  +   # run the tests
  +   reporter <- renv:::renv_tests_reporter()
  +   test_check("renv", reporter = reporter)
  + 
  + }
  > 
  > run()
  The following R libraries are set:
  
  	- /home/hornik/tmp/scratch/Rtmpr7318a/renv-library-72132e9b38f
  	- /home/hornik/tmp/scratch/Rtmpr7318a/renv-system-library
  
  The following repositories are set:
  
  	CRAN: file:///home/hornik/tmp/scratch/Rtmpr7318a/renv-repos-72146d571de
  
  The following renv root directory is being used:
  
  	- /home/hornik/tmp/scratch/Rtmpr7318a/renv-root-721dcf8b91
  
  The following renv cache directory is being used:
  
  	- /home/hornik/tmp/scratch/Rtmpr7318a/renv-root-721dcf8b91/cache/v5/R-4.2-r80631/x86_64-pc-linux-gnu
  
  The following packages are available in the test repositories:
  $CRAN
       Package Version              Path
  1      bread   0.0.1              <NA>
  2      bread   1.0.0              <NA>
  3  breakfast   0.0.1              <NA>
  4  breakfast   1.0.0              <NA>
  5     brunch   0.0.1              <NA>
  6     brunch   1.0.0              <NA>
  7        egg   0.0.1              <NA>
  8        egg   1.0.0              <NA>
  9  halloween   0.0.1              <NA>
  10 halloween   1.0.0              <NA>
  11   oatmeal   0.0.1              <NA>
  12   oatmeal   1.0.0              <NA>
  13   packrat   0.0.1              <NA>
  14   packrat   0.5.0              <NA>
  15      renv   0.0.1              <NA>
  16      renv   1.0.0              <NA>
  17     toast   0.0.1              <NA>
  18     toast   1.0.0              <NA>
  19  unixonly   0.0.1              <NA>
  20  unixonly   1.0.0              <NA>
  21     bread   1.0.0 4.2.0/Recommended
  22 breakfast   1.0.0 4.2.0/Recommended
  23    brunch   1.0.0 4.2.0/Recommended
  24       egg   1.0.0 4.2.0/Recommended
  25 halloween   1.0.0 4.2.0/Recommended
  26   oatmeal   1.0.0 4.2.0/Recommended
  27   packrat   0.5.0 4.2.0/Recommended
  28      renv   1.0.0 4.2.0/Recommended
  29     toast   1.0.0 4.2.0/Recommended
  30  unixonly   1.0.0 4.2.0/Recommended
  
  The following PATH is set:
  
  	- /home/hornik/tmp/R.check/r-devel-gcc/Work/PKGS/renv.Rcheck/R_check_bin
  	- /home/hornik/bin
  	- /usr/local/bin
  	- /usr/bin
  	- /bin
  
  The following environment variables of interest are set:
  
  	_R_BIND_S3_DISPATCH_FORCE_IDENTICAL_METHODS_       : "false"
  	_R_CHECK_ALWAYS_LOG_VIGNETTE_OUTPUT_               : "true"
  	_R_CHECK_AUTOCONF_                                 : "true"
  	_R_CHECK_BOGUS_RETURN_                             : "true"
  	_R_CHECK_CODETOOLS_PROFILE_                        : "suppressPartialMatchArgs=false"
  	_R_CHECK_CODE_ASSIGN_TO_GLOBALENV_                 : "true"
  	_R_CHECK_CODE_ATTACH_                              : "true"
  	_R_CHECK_CODE_DATA_INTO_GLOBALENV_                 : "true"
  	_R_CHECK_CODE_USAGE_VIA_NAMESPACES_                : "true"
  	_R_CHECK_CODE_USAGE_WITH_ONLY_BASE_ATTACHED_       : "true"
  	_R_CHECK_COMPILATION_FLAGS_                        : "true"
  	_R_CHECK_CRAN_INCOMING_CHECK_URLS_IN_PARALLEL_     : "true"
  	_R_CHECK_DEPENDS_ONLY_DATA_                        : "true"
  	_R_CHECK_DEPRECATED_DEFUNCT_                       : "true"
  	_R_CHECK_DOC_SIZES2_                               : "true"
  	_R_CHECK_DOTCODE_RETVAL_                           : "true"
  	_R_CHECK_DOT_FIRSTLIB_                             : "true"
  	_R_CHECK_EXAMPLE_TIMING_CPU_TO_ELAPSED_THRESHOLD_  : "2.5"
  	_R_CHECK_EXECUTABLES_EXCLUSIONS_                   : "false"
  	_R_CHECK_FORCE_SUGGESTS_                           : "false"
  	_R_CHECK_FUTURE_FILE_TIMESTAMPS_                   : "true"
  	_R_CHECK_FUTURE_FILE_TIMESTAMPS_LEEWAY_            : "6h"
  	_R_CHECK_INSTALL_DEPENDS_                          : "true"
  	_R_CHECK_INTERNALS2_                               : "1"
  	_R_CHECK_LENGTH_1_CONDITION_                       : "package:_R_CHECK_PACKAGE_NAME_,verbose"
  	_R_CHECK_LICENSE_                                  : "TRUE"
  	_R_CHECK_LIMIT_CORES_                              : "true"
  	_R_CHECK_MATRIX_DATA_                              : "true"
  	_R_CHECK_NO_RECOMMENDED_                           : "true"
  	_R_CHECK_NO_STOP_ON_TEST_ERROR_                    : "true"
  	_R_CHECK_OVERWRITE_REGISTERED_S3_METHODS_          : "true"
  	_R_CHECK_PACKAGES_USED_IGNORE_UNUSED_IMPORTS_      : "true"
  	_R_CHECK_PACKAGES_USED_IN_TESTS_USE_SUBDIRS_       : "true"
  	_R_CHECK_PACKAGE_DATASETS_SUPPRESS_NOTES_          : "true"
  	_R_CHECK_PACKAGE_NAME_                             : "renv"
  	_R_CHECK_PKG_SIZES_                                : "false"
  	_R_CHECK_PRAGMAS_                                  : "true"
  	_R_CHECK_RD_LINE_WIDTHS_                           : "true"
  	_R_CHECK_REPLACING_IMPORTS_                        : "true"
  	_R_CHECK_R_DEPENDS_                                : "true"
  	_R_CHECK_R_ON_PATH_                                : "true"
  	_R_CHECK_S3_METHODS_NOT_REGISTERED_                : "true"
  	_R_CHECK_SCREEN_DEVICE_                            : "stop"
  	_R_CHECK_SERIALIZATION_                            : "true"
  	_R_CHECK_SHLIB_OPENMP_FLAGS_                       : "true"
  	_R_CHECK_SRC_MINUS_W_IMPLICIT_                     : "true"
  	_R_CHECK_SUGGESTS_ONLY_                            : "true"
  	_R_CHECK_SUPPRESS_RANDR_MESSAGE_                   : "true"
  	_R_CHECK_SYSTEM_CLOCK_                             : "false"
  	_R_CHECK_TESTS_NLINES_                             : "0"
  	_R_CHECK_TEST_TIMING_                              : "yes"
  	_R_CHECK_TEST_TIMING_CPU_TO_ELAPSED_THRESHOLD_     : "2.5"
  	_R_CHECK_THINGS_IN_CHECK_DIR_                      : "true"
  	_R_CHECK_THINGS_IN_TEMP_DIR_EXCLUDE_               : "^(ompi|pulse|runtime-)"
  	_R_CHECK_TIMINGS_                                  : "0"
  	_R_CHECK_TOPLEVEL_FILES_                           : "true"
  	_R_CHECK_VC_DIRS_                                  : "true"
  	_R_CHECK_VIGNETTES_NLINES_                         : "10000"
  	_R_CHECK_VIGNETTES_SKIP_RUN_MAYBE_                 : "true"
  	_R_CHECK_VIGNETTE_TIMING_                          : "yes"
  	_R_CHECK_VIGNETTE_TIMING_CPU_TO_ELAPSED_THRESHOLD_ : "2.5"
  	_R_CHECK_VIGNETTE_TITLES_                          : "true"
  	_R_CHECK_XREFS_USE_ALIASES_FROM_CRAN_              : "true"
  	_R_GC_FAIL_ON_ERROR_                               : "true"
  	_R_OPTIONS_STRINGS_AS_FACTORS_                     : "false"
  	_R_S3_METHOD_LOOKUP_BASEENV_AFTER_GLOBALENV_       : "true"
  	_R_SHLIB_BUILD_OBJECTS_SYMBOL_TABLES_              : "true"
  	_R_STOP_ON_XTFRM_DATA_FRAME_                       : "true"
  	HOME                                               : "/home/hornik"
  	R_ARCH                                             : ""
  	R_HOME                                             : "/home/hornik/tmp/R.check/r-devel-gcc/Work/build"
  	R_LIBS                                             : "/home/hornik/tmp/scratch/RtmpJLm3v9/RLIBS_329214082daf"
  	R_LIBS_SITE                                        : "NULL"
  	R_LIBS_USER                                        : "NULL"
  	R_USER                                             : <NA>
  	R_ZIPCMD                                           : "/usr/bin/zip"
  	TAR                                                : "/bin/tar"
  	TEMP                                               : <NA>
  	TMP                                                : <NA>
  	TMPDIR                                             : "/home/hornik/tmp/scratch"
  
  ── test-aaa.R ──────────────────────────────────────────────────────────────────
  [no test results to report]
  
  ── test-actions.R ──────────────────────────────────────────────────────────────
  • we can query actions for a sample project ..................... [PASS /   12s]
  • we can query actions when no lockfile has yet been  <...> ..... [PASS / 0.18s]
  • bare usages of actions work as expected ....................... [PASS / 0.21s]
  
  ── test-activate.R ─────────────────────────────────────────────────────────────
  • renv can bootstrap itself if not installed .................... [SKIP / <0.1s]
  
  ── test-archive.R ──────────────────────────────────────────────────────────────
  • renv reports errors when decompressing invalid archives ....... [PASS / <0.1s]
  • we can successfully compress / decompress some samp <...> ..... [PASS / 0.16s]
  
  ── test-authentication.R ───────────────────────────────────────────────────────
  • renv.auth is respected in various contexts .................... [PASS /  0.1s]
  
  ── test-available-packages.R ───────────────────────────────────────────────────
  • renv_available_packages() returns NULL when no repos set ...... [SKIP / <0.1s]
  • renv_available_packages() errs on incorrect repository ........ [SKIP / <0.1s]
  • renv handles multiple available source packages ............... [SKIP / <0.1s]
  • renv_available_packages() succeeds with unnamed rep <...> ..... [SKIP / <0.1s]
  • renv_available_packages_latest() respects pkgType option ...... [SKIP / <0.1s]
  • local sources are preferred when available .................... [SKIP / <0.1s]
  • available packages database refreshed on http_proxy <...> ..... [SKIP / <0.1s]
  
  ── test-base64.R ───────────────────────────────────────────────────────────────
  • some sample strings can be base64-encoded ..................... [PASS / <0.1s]
  • some random base64 strings can be round-tripped ............... [PASS / 0.51s]
  
  ── test-bioconductor.R ─────────────────────────────────────────────────────────
  • packages can be installed, restored from Bioconductor ......... [SKIP / <0.1s]
  • renv::install(<bioc>, rebuild = TRUE) works ................... [SKIP / <0.1s]
  
  ── test-bootstrap.R ────────────────────────────────────────────────────────────
  • we can bootstrap the current version of renv .................. [SKIP / <0.1s]
  • we can bootstrap an archived version of renv .................. [SKIP / <0.1s]
  • we can install a version of renv from GitHub .................. [SKIP / <0.1s]
  • bootstrap succeeds with empty repos ........................... [SKIP / <0.1s]
  • bootstrap functions don't depend on non-bootstrap APIs ........ [PASS / <0.1s]
  • bootstrapping functions standalone ............................ [PASS /  5.3s]
  
  ── test-cache.R ────────────────────────────────────────────────────────────────
  • issues within the cache are reported .......................... [SKIP / <0.1s]
  • use.cache project setting is honored .......................... [PASS / 0.39s]
  • package installation does not fail with non-writabl <...> ..... [PASS /  3.2s]
  • the cache is used even if RENV_PATHS_LIBRARY is non <...> ..... [PASS / 0.14s]
  • malformed folders in the cache are ignored .................... [SKIP / <0.1s]
  • corrupt Meta/package.rds is detected .......................... [SKIP / <0.1s]
  
  ── test-clean.R ────────────────────────────────────────────────────────────────
  • clean removes stale lockfiles ................................. [PASS / 0.18s]
  
  ── test-config.R ───────────────────────────────────────────────────────────────
  • config variables read from appropriate scope .................. [PASS / <0.1s]
  • invalid configuration options are reported .................... [PASS / <0.1s]
  • values are coerced as appropriate ............................. [PASS / <0.1s]
  • functions are returned as-is for '*' types .................... [PASS / <0.1s]
  • we can query options without warnings ......................... [PASS / <0.1s]
  • invalid configuration options trigger a warning ............... [PASS / <0.1s]
  • we can query the default configuration values witho <...> ..... [SKIP / <0.1s]
  
  ── test-consent.R ──────────────────────────────────────────────────────────────
  • init fails if no consent has been provided .................... [PASS / <0.1s]
  
  ── test-defer.R ────────────────────────────────────────────────────────────────
  • defer evaluates in appropriate environment .................... [PASS / <0.1s]
  • defer captures arguments properly ............................. [PASS / <0.1s]
  • defer works with arbitrary expressions ........................ [PASS / <0.1s]
  
  ── test-dependencies.R ─────────────────────────────────────────────────────────
  • .Rproj files requesting devtools is handled ................... [PASS / <0.1s]
  • usages of library, etc. are properly handled .................. [PASS / <0.1s]
  • parse errors are okay in .Rmd documents ....................... [PASS / 0.69s]
  • inline chunks are parsed for dependencies ..................... [PASS / <0.1s]
  • usages of S4 tools are discovered ............................. [PASS / <0.1s]
  • the package name is validated when inferring dependencies ..... [PASS / <0.1s]
  • empty chunks don't cause issues during dependency r <...> ..... [PASS / <0.1s]
  • pacman::p_load() usages are understood ........................ [PASS / <0.1s]
  • import:: usages are understood ................................ [PASS / <0.1s]
  • box::use() usages are handled ................................. [PASS / <0.1s]
  • targets::tar_option_set() dependencies are handled ............ [PASS / <0.1s]
  • renv warns when large number of files found ................... [PASS / <0.1s]
  • evil knitr chunks are handled ................................. [PASS / <0.1s]
  • renv_dependencies_requires warns once ......................... [PASS / <0.1s]
  • the presence of an rsconnect folder forces dependen <...> ..... [PASS / <0.1s]
  • dependencies can accept multiple files ........................ [PASS / <0.1s]
  • dependencies can infer the root directory ..................... [PASS / <0.1s]
  • no warnings are produced when crawling dependencies ........... [PASS /  1.1s]
  • Suggests are dev. deps for non-package projects ............... [PASS / <0.1s]
  • Suggests are _not_ dev. deps for package projects ............. [PASS / <0.1s]
  • packages referenced by modules::import() are discovered ....... [PASS / <0.1s]
  • dependencies specified in R Markdown site generator <...> ..... [PASS / <0.1s]
  • Suggest dependencies are ignored by default ................... [PASS / 0.34s]
  • Suggest dependencies are used when requested .................. [PASS /  3.5s]
  • a call to geom_hex() implies a dependency on ggplot2 .......... [PASS / <0.1s]
  • empty fields are handled in DESCRIPTION ....................... [PASS / <0.1s]
  • recursive symlinks are handled ................................ [SKIP / <0.1s]
  • .renvignore can be used to ignore all but certain files ....... [PASS / <0.1s]
  • exercise chunks are ignored ................................... [PASS / <0.1s]
  • dependencies in R functions can be found ...................... [PASS / <0.1s]
  • dependencies in dotfiles are discovered ....................... [PASS / <0.1s]
  • reused knitr chunks are handled ............................... [PASS / <0.1s]
  • empty / missing labels are handled ............................ [PASS / <0.1s]
  • only dependencies in a top-level DESCRIPTION file a <...> ..... [PASS / <0.1s]
  • multiple output formats are handled ........................... [PASS / <0.1s]
  
  ── test-description.R ──────────────────────────────────────────────────────────
  • snapshotting broken DESCRIPTION files is an error ............. [PASS /  0.3s]
  
  ── test-download.R ─────────────────────────────────────────────────────────────
  • we avoid downloading files twice .............................. [SKIP / <0.1s]
  • we can successfully tweak the user agent string ............... [PASS / <0.1s]
  • we can successfully download files with different d <...> ..... [SKIP / <0.1s]
  • downloads work with file URIs ................................. [PASS / <0.1s]
  • downloads work with UNC paths on Windows ...................... [SKIP / <0.1s]
  • we can check that a URL is available .......................... [SKIP / <0.1s]
  
  ── test-environment-variables.R ────────────────────────────────────────────────
  • renv_envvars_save() is idempotent ............................. [PASS / <0.1s]
  
  ── test-errors.R ───────────────────────────────────────────────────────────────
  • tracebacks are captured by catch .............................. [PASS / <0.1s]
  
  ── test-file-backed.R ──────────────────────────────────────────────────────────
  • file-backed entries are discarded after the file is <...> ..... [PASS / <0.1s]
  • file-backed entries are discarded after the file is <...> ..... [PASS / <0.1s]
  
  ── test-files.R ────────────────────────────────────────────────────────────────
  • directories can be copied ..................................... [PASS / <0.1s]
  • directories can be moved ...................................... [PASS / <0.1s]
  • attempts to link files work ................................... [PASS / <0.1s]
  • scoped backups are cleared as necessary ....................... [PASS / <0.1s]
  • renv tempfiles are deleted at end of scope .................... [PASS / <0.1s]
  • renv_file_find finds parent files ............................. [PASS / <0.1s]
  • attempts to overwrite existing files are handled ap <...> ..... [PASS / <0.1s]
  • permissions, timestamps are preserved ......................... [PASS / 0.22s]
  • renv can list files not representable in the native <...> ..... [PASS / <0.1s]
  
  ── test-hash.R ─────────────────────────────────────────────────────────────────
  • whitespace does not affect hash ............................... [PASS / <0.1s]
  
  ── test-hydrate.R ──────────────────────────────────────────────────────────────
  • hydrate does not change library paths ......................... [PASS / <0.1s]
  • hydrate(update = FALSE) does not update older packages ........ [PASS /  3.5s]
  
  ── test-id.R ───────────────────────────────────────────────────────────────────
  • we can generate a unique ID ................................... [SKIP / <0.1s]
  
  ── test-infrastructure.R ───────────────────────────────────────────────────────
  • renv.lock is added to .Rbuildignore ........................... [PASS / 0.12s]
  • infrastructure can be removed ................................. [PASS / 0.23s]
  • library/ is excluded from .gitignore as appropriate ........... [PASS / 0.29s]
  • whitespace in infrastructure file is preserved ................ [PASS / <0.1s]
  • lines are commented, uncommented as appropriate ............... [PASS / <0.1s]
  • comments after a required line are preserved .................. [PASS / <0.1s]
  • the project .Rprofile is removed if only autoloader <...> ..... [PASS / <0.1s]
  • the renv .gitignore is updated for sub-projects ............... [PASS / <0.1s]
  
  ── test-init.R ─────────────────────────────────────────────────────────────────
  • init() automatically installs referenced packages ............. [SKIP / <0.1s]
  • we can initialize a project using 'breakfast' ................. [SKIP / <0.1s]
  • we can initialize a project using 'toast' ..................... [PASS / 0.19s]
  • we cannot initialize a project using 'brunch' ................. [PASS /  2.5s]
  • attempts to initialize a project with a missing pac <...> ..... [PASS / 0.24s]
  • the remotes field in a DESCRIPTION is honored ................. [SKIP / <0.1s]
  • renv::init(bare = TRUE) initializes a project witho <...> ..... [PASS / <0.1s]
  • init succeeds even if there are parse errors in project ....... [PASS / 0.86s]
  • init() restores project containing only a lockfile ............ [PASS /  1.2s]
  • init() works in path containing accented characters ........... [PASS / 0.21s]
  
  ── test-install.R ──────────────────────────────────────────────────────────────
  • install works when DESCRIPTION contains no dependencies ....... [PASS / <0.1s]
  • requested version in DESCRIPTION file is honored .............. [PASS / 0.21s]
  • installation failure is well-reported ......................... [PASS / <0.1s]
  • install forces update of dependencies as needed ............... [SKIP / <0.1s]
  • packages can be installed from local sources .................. [PASS /  2.8s]
  • various remote styles can be used during install .............. [SKIP / <0.1s]
  • Remotes fields in a project DESCRIPTION are respected ......... [SKIP / <0.1s]
  • source packages in .zip files can be installed ................ [PASS /  2.7s]
  • renv warns when installing an already-loaded package .......... [SKIP / <0.1s]
  • renv::install() writes out Github fields for backwa <...> ..... [SKIP / <0.1s]
  • renv uses safe library paths on Windows ....................... [SKIP / <0.1s]
  • renv uses safe library path when needed ....................... [PASS / <0.1s]
  • renv can install packages from Bitbucket ...................... [SKIP / <0.1s]
  • renv can install packages from GitHub using remotes <...> ..... [SKIP / <0.1s]
  • install via version succeeds .................................. [SKIP / <0.1s]
  • install() installs inferred dependencies ...................... [SKIP / <0.1s]
  • install() prefers local sources when available ................ [SKIP / <0.1s]
  • packages can be installed from the archive w/libcurl .......... [SKIP / <0.1s]
  • issue #609 .................................................... [SKIP / <0.1s]
  
  ── test-internal.R ─────────────────────────────────────────────────────────────
  • R files have balanced covr exclusions ......................... [PASS / <0.1s]
  
  ── test-json.R ─────────────────────────────────────────────────────────────────
  • sample JSON strings can be read ............................... [PASS / <0.1s]
  • sample R objects can be converted to JSON ..................... [PASS / <0.1s]
  • empty R lists are converted as expected ....................... [PASS / <0.1s]
  • we can parse a GitHub remotes specification ................... [SKIP / <0.1s]
  • we can parse a GitHub remotes specification with 'w <...> ..... [SKIP / <0.1s]
  • we can read json containing escape characters ................. [FAIL / <0.1s]
  • JSON null is read as R NULL ................................... [PASS / <0.1s]
  
  ── test-load.R ─────────────────────────────────────────────────────────────────
  • invalid lockfile entries are reported ......................... [PASS / <0.1s]
  • renv/settings.R is sourced on load if available ............... [PASS / <0.1s]
  • errors when sourcing user profile are reported ................ [PASS / <0.1s]
  
  ── test-lock.R ─────────────────────────────────────────────────────────────────
  • lockfiles can be created, destroyed ........................... [PASS / 0.11s]
  • lockfile locks are removed via callback ....................... [PASS / <0.1s]
  • nested locks are handled correctly ............................ [PASS / <0.1s]
  • multiple calls to renv_scope_lock() do the right thing ........ [PASS /  0.1s]
  
  ── test-lockfile.R ─────────────────────────────────────────────────────────────
  • lockfiles can be read from file ............................... [PASS / <0.1s]
  • lockfiles can be diffed ....................................... [PASS / <0.1s]
  • named characters are serialized as expected ................... [PASS / <0.1s]
  • lockfiles can be read from either format ...................... [PASS / <0.1s]
  • we can serialize lockfiles using unnamed repositories ......... [PASS / <0.1s]
  
  ── test-migrate.R ──────────────────────────────────────────────────────────────
  • a sample Packrat project can be migrated ...................... [SKIP / <0.1s]
  • a Packrat project with no library can be migrated ............. [SKIP / <0.1s]
  
  ── test-miscellaneous.R ────────────────────────────────────────────────────────
  • long lines and be printed ..................................... [PASS / <0.1s]
  • unmatched dots cause an error ................................. [PASS / <0.1s]
  
  ── test-mran.R ─────────────────────────────────────────────────────────────────
  • older binaries are installed from MRAN on Windows / macOS ..... [SKIP / <0.1s]
  • we can install packages from MRAN ............................. [SKIP / <0.1s]
  
  ── test-once.R ─────────────────────────────────────────────────────────────────
  • renv_once() returns TRUE only once ............................ [PASS / <0.1s]
  
  ── test-packages.R ─────────────────────────────────────────────────────────────
  • remote field updates are written to both DESCRIPTIO <...> ..... [PASS /  3.2s]
  
  ── test-parse.R ────────────────────────────────────────────────────────────────
  • code containing multibyte characters can be parsed ............ [PASS / <0.1s]
  
  ── test-patches.R ──────────────────────────────────────────────────────────────
  • a bad TAR is repaired ......................................... [PASS / <0.1s]
  
  ── test-paths.R ────────────────────────────────────────────────────────────────
  • all renv paths live within tempdir() during tests ............. [PASS / <0.1s]
  • the cache path can be set through an environment variable ..... [PASS / <0.1s]
  • we can construct paths to multiple files with path APIs ....... [PASS / <0.1s]
  • RENV_PATHS_PREFIX is respected ................................ [PASS / <0.1s]
  • RENV_PATHS_PREFIX is not normalized ........................... [PASS / <0.1s]
  • renv_path_normalize is correctly initialized .................. [PASS / <0.1s]
  • UTF-8 paths can be normalized ................................. [PASS / <0.1s]
  
  ── test-platform.R ─────────────────────────────────────────────────────────────
  • /etc/os-release files can be parsed ........................... [PASS / <0.1s]
  
  ── test-preflight.R ────────────────────────────────────────────────────────────
  • snapshot preflight tests catch common issues .................. [PASS / <0.1s]
  • renv warns when snapshotting missing dependencies ............. [SKIP / <0.1s]
  
  ── test-profile.R ──────────────────────────────────────────────────────────────
  • a profile changes the default library / lockfile path ......... [PASS / <0.1s]
  • profile-specific dependencies can be written .................. [PASS / <0.1s]
  • profile-specific dependencies can be declared in DE <...> ..... [PASS / <0.1s]
  
  ── test-profiles.R ─────────────────────────────────────────────────────────────
  • library paths set in a user profile are overridden  <...> ..... [SKIP / <0.1s]
  • .First is executed; library paths are restored after .......... [SKIP / <0.1s]
  
  ── test-properties.R ───────────────────────────────────────────────────────────
  • properties can be read successfully ........................... [PASS / <0.1s]
  • quoted properties are unquoted ................................ [PASS / <0.1s]
  
  ── test-purge.R ────────────────────────────────────────────────────────────────
  • we can purge packages from the cache .......................... [PASS / 0.19s]
  
  ── test-python.R ───────────────────────────────────────────────────────────────
  • we can activate Python with a project ......................... [SKIP / <0.1s]
  • we can activate Python with a virtualenv in a project ......... [SKIP / <0.1s]
  • installed Python packages are snapshotted / restore <...> ..... [SKIP / <0.1s]
  • installed Python packages are snapshotted / restore <...> ..... [SKIP / <0.1s]
  
  ── test-r.R ────────────────────────────────────────────────────────────────────
  • we can use R CMD build to build a package ..................... [PASS /  3.4s]
  • we can supply custom options to R CMD INSTALL ................. [PASS /  1.2s]
  
  ── test-rebuild.R ──────────────────────────────────────────────────────────────
  • rebuild forces a package to rebuilt, bypassing cache .......... [PASS /  3.0s]
  • rebuild installs latest-available package if not in <...> ..... [PASS /  3.1s]
  
  ── test-record.R ───────────────────────────────────────────────────────────────
  • an existing lockfile can be updated ........................... [PASS / 0.21s]
  • renv::record(<package>) also records version .................. [PASS / <0.1s]
  
  ── test-records.R ──────────────────────────────────────────────────────────────
  • renv_records_select() handles missing packages gracefully ..... [PASS / <0.1s]
  • we can format records in various ways ......................... [PASS / <0.1s]
  
  ── test-rehash.R ───────────────────────────────────────────────────────────────
  • rehash() migrates cached packages as expected ................. [PASS /   12s]
  
  ── test-remotes.R ──────────────────────────────────────────────────────────────
  • we can parse a variety of remotes ............................. [SKIP / <0.1s]
  • subdirectories are parsed in remotes .......................... [PASS / <0.1s]
  • custom hosts can be supplied .................................. [PASS / <0.1s]
  • paths specified with '.' are treated as local ................. [PASS / <0.1s]
  
  ── test-renvignore.R ───────────────────────────────────────────────────────────
  • .renvignore ignores files, directories ........................ [PASS / <0.1s]
  • ignore patterns are constructed correctly ..................... [PASS / <0.1s]
  • empty .renvignore does not ignore anything .................... [PASS / <0.1s]
  • negated .renvignore patterns are handled ...................... [PASS / <0.1s]
  
  ── test-repos.R ────────────────────────────────────────────────────────────────
  • we can query our local repository during tests ................ [PASS / <0.1s]
  • repository names are not lost in the lockfile ................. [PASS / <0.1s]
  • trailing slashes are removed from repositories on load ........ [PASS / <0.1s]
  
  ── test-restore.R ──────────────────────────────────────────────────────────────
  • library permissions are validated before restore .............. [PASS / <0.1s]
  • we can restore packages after init ............................ [SKIP / <0.1s]
  • restore can recover when required packages are missing ........ [SKIP / <0.1s]
  • restore(clean = TRUE) removes packages not in the l <...> ..... [PASS / 0.32s]
  • renv.records can be used to override records during <...> ..... [PASS / 0.32s]
  • install.staged works as expected .............................. [PASS /   24s]
  • renv::restore(lockfile = '/path/to/lockfile') works ........... [PASS / 0.32s]
  • renv::restore(packages = <...>) works ......................... [PASS / 0.52s]
  • restore ignores packages of incompatible architecture ......... [PASS /  3.1s]
  • restore handled records without version set ................... [PASS / 0.17s]
  • restore doesn't re-use active library paths ................... [PASS / 0.23s]
  
  ── test-retrieve.R ─────────────────────────────────────────────────────────────
  • we can retrieve packages from CRAN ............................ [SKIP / <0.1s]
  • we can retrieve packages from the CRAN archive ................ [SKIP / <0.1s]
  • packages with an unknown source are retrieved from CRAN ....... [SKIP / <0.1s]
  • we can retrieve packages from Bitbucket ....................... [SKIP / <0.1s]
  • we can retrieve packages from git ............................. [SKIP / <0.1s]
  • we can retrieve packages from GitHub .......................... [SKIP / <0.1s]
  • we can retrieve packages from GitHub (in a sub-directory) ..... [SKIP / <0.1s]
  • we can retrieve packages from GitLab .......................... [SKIP / <0.1s]
  • we can retrieve packages with URLs ............................ [SKIP / <0.1s]
  • we can retrieve packages from URL sources ..................... [SKIP / <0.1s]
  • we can retrieve packages from local sources ................... [PASS /  3.1s]
  • compatible local sources are preferred when available ......... [PASS /  6.0s]
  • an explicitly-provided local source path can be used .......... [PASS /  3.1s]
  • explicit path to binary packages work ......................... [SKIP / <0.1s]
  • remotes::install_local() records are handled .................. [PASS /  2.8s]
  • we can retrieve packages from GitHub .......................... [SKIP / <0.1s]
  • we can retrieve packages from R repositories .................. [SKIP / <0.1s]
  • we can retrieve files using file URIs ......................... [SKIP / <0.1s]
  
  ── test-rmd.R ──────────────────────────────────────────────────────────────────
  • The chunk header parser works as expected ..................... [PASS / <0.1s]
  
  ── test-rspm.R ─────────────────────────────────────────────────────────────────
  • repository URLs are properly transformed for differ <...> ..... [SKIP / <0.1s]
  • a binary-specific URL is transformed before writing <...> ..... [SKIP / <0.1s]
  • RSPM bits are preserved when writing lockfile ................. [SKIP / <0.1s]
  • RSPM is confirmed not supported on trusty ..................... [SKIP / <0.1s]
  
  ── test-sandbox.R ──────────────────────────────────────────────────────────────
  • the sandbox can be activated and deactivated .................. [PASS / <0.1s]
  • multiple attempts to activate sandbox are handled ............. [PASS / <0.1s]
  • re-activate sandbox when all is said and done ................. [PASS / <0.1s]
  
  ── test-scaffold.R ─────────────────────────────────────────────────────────────
  • renv.lock is created when scaffold is called .................. [PASS / <0.1s]
  
  ── test-scope.R ────────────────────────────────────────────────────────────────
  • .libPaths() scoping works as expected ......................... [PASS / <0.1s]
  • options() scoping works as expected ........................... [PASS / <0.1s]
  • environment variable scoping works as expected ................ [PASS / <0.1s]
  • nested attempts to scope libpaths are properly handled ........ [PASS / <0.1s]
  • renv_scope_trace works ........................................ [PASS / <0.1s]
  
  ── test-settings.R ─────────────────────────────────────────────────────────────
  • renv.settings can be used to provide defaults ................. [PASS / <0.1s]
  • non-persistent settings exist in R session; not in file ....... [PASS / <0.1s]
  • users can request specific versions of R for lockfile ......... [PASS / <0.1s]
  
  ── test-snapshot.R ─────────────────────────────────────────────────────────────
  • snapshot is idempotent ........................................ [PASS / 0.16s]
  • snapshot failures are reported ................................ [PASS /  3.0s]
  • broken symlinks are reported .................................. [PASS /  3.2s]
  • multiple libraries can be used when snapshotting .............. [PASS /  6.2s]
  • implicit snapshots only include packages currently used ....... [PASS / 0.39s]
  • explicit snapshots only capture packages in DESCRIPTION ....... [PASS / 0.35s]
  • a custom snapshot filter can be used .......................... [SKIP / <0.1s]
  • snapshots that take too long produce a warning ................ [PASS / 0.22s]
  • snapshotted packages from CRAN include the Reposito <...> ..... [PASS / <0.1s]
  • snapshot failures due to bad library / packages are <...> ..... [PASS / <0.1s]
  • snapshot ignores own package in package development <...> ..... [PASS / <0.1s]
  • snapshot warns about unsatisfied dependencies ................. [PASS /  5.9s]
  • snapshot records packages discovered in local sources ......... [PASS /  3.4s]
  • snapshot prefers RemoteType to biocViews ...................... [PASS / <0.1s]
  • parse errors cause snapshot to abort .......................... [PASS / 0.97s]
  • records for packages available on other OSes are pr <...> ..... [PASS / 0.25s]
  • .renvignore works during snapshot without an explic <...> ..... [PASS / 0.21s]
  • snapshot(packages = ...) captures package dependencies ........ [PASS / 0.45s]
  • snapshot() accepts relative library paths ..................... [PASS / 0.72s]
  
  ── test-status.R ───────────────────────────────────────────────────────────────
  • status() works when there is no library ....................... [SKIP / <0.1s]
  • status reports packages to be installed / changed ............. [PASS /  4.2s]
  • status reports packages which are used but not installed ...... [PASS / 0.19s]
  
  ── test-update.R ───────────────────────────────────────────────────────────────
  • update() finds packages requiring updates from CRAN ........... [SKIP / <0.1s]
  • update() can upgrade GitHub packages .......................... [SKIP / <0.1s]
  
  ── test-upgrade.R ──────────────────────────────────────────────────────────────
  • the version of renv in a project can be changed (up <...> ..... [SKIP / <0.1s]
  
  ── test-use.R ──────────────────────────────────────────────────────────────────
  • use() works as intended ....................................... [PASS / 0.19s]
  
  ── test-utils.R ────────────────────────────────────────────────────────────────
  • common utils work as expected ................................. [PASS / <0.1s]
  • bind_list handles named lists ................................. [PASS / <0.1s]
  • bind_list warns on name collision ............................. [PASS / <0.1s]
  • versions are compared as expected ............................. [PASS / <0.1s]
  • inject inserts text at expected anchor point .................. [PASS / <0.1s]
  • aliased_path() correctly forms aliased path ................... [PASS / <0.1s]
  • memoize avoids evaluating expression multiple times ........... [PASS / <0.1s]
  • delegate() handles basic forwarding ........................... [PASS / <0.1s]
  • delegate() handles missingness ................................ [PASS / <0.1s]
  
  ══ Skipped tests ═══════════════════════════════════════════════════════════════
  • [.First is executed; library paths are restored after]: On CRAN (1)
  • [RSPM bits are preserved when writing lockfile]: On CRAN (1)
  • [RSPM is confirmed not supported on trusty]: On CRAN (1)
  • [Remotes fields in a project DESCRIPTION are respected]: On CRAN (1)
  • [a Packrat project with no library can be migrated]: On CRAN (1)
  • [a binary-specific URL is transformed before writing a lockfile]: On CRAN (1)
  • [a custom snapshot filter can be used]: On CRAN (1)
  • [a sample Packrat project can be migrated]: On CRAN (1)
  • [available packages database refreshed on http_proxy change]: On CRAN (1)
  • [bootstrap succeeds with empty repos]: On CRAN (1)
  • [corrupt Meta/package.rds is detected]: On CRAN (1)
  • [downloads work with UNC paths on Windows]: On CRAN (1)
  • [explicit path to binary packages work]: renv_platform_macos() is not TRUE (1)
  • [init() automatically installs referenced packages]: On CRAN (1)
  • [install forces update of dependencies as needed]: On CRAN (1)
  • [install via version succeeds]: On CRAN (1)
  • [install() installs inferred dependencies]: On CRAN (1)
  • [install() prefers local sources when available]: On CRAN (1)
  • [installed Python packages are snapshotted / restored [conda]]: Running tests locally (1)
  • [installed Python packages are snapshotted / restored [virtualenv]]: Running tests locally (1)
  • [issue #609]: On CRAN (1)
  • [issues within the cache are reported]: On CRAN (1)
  • [library paths set in a user profile are overridden after load]: On CRAN (1)
  • [local sources are preferred when available]: On CRAN (1)
  • [malformed folders in the cache are ignored]: On CRAN (1)
  • [older binaries are installed from MRAN on Windows / macOS]: On CRAN (1)
  • [packages can be installed from the archive w/libcurl]: On CRAN (1)
  • [packages can be installed, restored from Bioconductor]: On CRAN (1)
  • [packages with an unknown source are retrieved from CRAN]: On CRAN (1)
  • [recursive symlinks are handled]: empty test (1)
  • [renv can bootstrap itself if not installed]: On CRAN (1)
  • [renv can install packages from Bitbucket]: On CRAN (1)
  • [renv can install packages from GitHub using remotes subdir syntax]: On CRAN (1)
  • [renv handles multiple available source packages]: On CRAN (1)
  • [renv uses safe library paths on Windows]: renv_platform_windows() is not TRUE (1)
  • [renv warns when installing an already-loaded package]: On CRAN (1)
  • [renv warns when snapshotting missing dependencies]: On CRAN (1)
  • [renv::install() writes out Github fields for backwards compatibility]: On CRAN (1)
  • [renv::install(<bioc>, rebuild = TRUE) works]: On CRAN (1)
  • [renv_available_packages() errs on incorrect repository]: On CRAN (1)
  • [renv_available_packages() returns NULL when no repos set]: On CRAN (1)
  • [renv_available_packages() succeeds with unnamed repositories]: On CRAN (1)
  • [renv_available_packages_latest() respects pkgType option]: On CRAN (1)
  • [repository URLs are properly transformed for different platforms]: On CRAN (1)
  • [restore can recover when required packages are missing]: On CRAN (1)
  • [status() works when there is no library]: On CRAN (1)
  • [the remotes field in a DESCRIPTION is honored]: On CRAN (1)
  • [the version of renv in a project can be changed (upgraded)]: On CRAN (1)
  • [update() can upgrade GitHub packages]: On CRAN (1)
  • [update() finds packages requiring updates from CRAN]: On CRAN (1)
  • [various remote styles can be used during install]: On CRAN (1)
  • [we avoid downloading files twice]: On CRAN (1)
  • [we can activate Python with a project]: On CRAN (1)
  • [we can activate Python with a virtualenv in a project]: On CRAN (1)
  • [we can bootstrap an archived version of renv]: On CRAN (1)
  • [we can bootstrap the current version of renv]: On CRAN (1)
  • [we can check that a URL is available]: On CRAN (1)
  • [we can generate a unique ID]: On CRAN (1)
  • [we can initialize a project using 'breakfast']: On CRAN (1)
  • [we can install a version of renv from GitHub]: On CRAN (1)
  • [we can install packages from MRAN]: On CRAN (1)
  • [we can parse a GitHub remotes specification with 'wininet']: On CRAN (1)
  • [we can parse a GitHub remotes specification]: On CRAN (1)
  • [we can parse a variety of remotes]: On CRAN (1)
  • [we can query the default configuration values without issue]: empty test (1)
  • [we can restore packages after init]: On CRAN (1)
  • [we can retrieve files using file URIs]: On CRAN (1)
  • [we can retrieve packages from Bitbucket]: On CRAN (1)
  • [we can retrieve packages from CRAN]: On CRAN (1)
  • [we can retrieve packages from GitHub (in a sub-directory)]: On CRAN (1)
  • [we can retrieve packages from GitHub]: On CRAN (2)
  • [we can retrieve packages from GitLab]: On CRAN (1)
  • [we can retrieve packages from R repositories]: On CRAN (1)
  • [we can retrieve packages from URL sources]: On CRAN (1)
  • [we can retrieve packages from git]: On CRAN (1)
  • [we can retrieve packages from the CRAN archive]: On CRAN (1)
  • [we can retrieve packages with URLs]: On CRAN (1)
  • [we can successfully download files with different downloaders]: On CRAN (1)
  
  ══ Failed tests ════════════════════════════════════════════════════════════════
  ── Failure (test-json.R:83:3): we can read json containing escape characters ───
  `actual` not equal to `expected`.
  Component "data": 1 string mismatch
  
  [ FAIL 1 | WARN 0 | SKIP 79 | PASS 445 ]
  Error: Test failures
  Execution halted