Running ‘testthat.R’ [72s/105s]
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
  
  > 
  > renv:::renv_tests_init()
  > renv:::renv_tests_diagnostics()
  The following R libraries are set:
  
  	- /tmp/Rtmp37MvGa/renv-library-18c26fe14
  	- /tmp/Rtmp37MvGa/renv-system-library
  
  The following repositories are set:
  
  	CRAN: file:///tmp/Rtmp37MvGa/renv-repos-18c52f7698d
  
  The following renv root directory is being used:
  
  	- /tmp/Rtmp37MvGa/renv-root-18c792223cf
  
  The following renv cache directory is being used:
  
  	- /tmp/Rtmp37MvGa/renv-root-18c792223cf/cache/v5/R-4.0/x86_64-pc-linux-gnu
  
  The following packages are available in the test repositories:
  
  	bread, breakfast, brunch, egg, halloween, oatmeal, packrat,
  	renv, toast, unixonly
  
  The following PATH is set:
  
  	- /home/hornik/tmp/R.check/r-patched-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_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_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"
  	HOME                                               : "/home/hornik"
  	R_ARCH                                             : ""
  	R_HOME                                             : "/home/hornik/tmp/R.check/r-patched-gcc/Work/build"
  	R_LIBS                                             : "/tmp/RtmpB4Rp4W/RLIBS_70317081bbc8"
  	R_LIBS_SITE                                        : "no_such_dir"
  	R_LIBS_USER                                        : ""
  	R_USER                                             : <NA>
  	R_ZIPCMD                                           : "/usr/bin/zip"
  	TAR                                                : "/bin/tar"
  	TEMP                                               : <NA>
  	TMP                                                : <NA>
  	TMPDIR                                             : <NA>
  
  > 
  > reporter <- renv:::renv_tests_reporter()
  > test_check("renv", reporter = reporter)
  ── test-aaa.R ──────────────────────────────────────────────────────────────────
  [no test results to report]
  
  ── test-actions.R ──────────────────────────────────────────────────────────────
  ● we can query actions for a sample project ..................... [PASS /  9.9s]
  ● we can query actions when no lockfile has yet been  <...> ..... [PASS / 0.11s]
  
  ── 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.17s]
  
  ── test-authentication.R ───────────────────────────────────────────────────────
  ● renv.auth is respected in various contexts .................... [PASS / 0.16s]
  
  ── test-available-packages.R ───────────────────────────────────────────────────
  ● 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]
  
  ── test-base64.R ───────────────────────────────────────────────────────────────
  ● some sample strings can be base64-encoded ..................... [PASS / <0.1s]
  ● some random base64 strings can be round-tripped ............... [PASS / 0.45s]
  
  ── 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 .................. [PASS /  2.1s]
  ● we can bootstrap an archived version of renv .................. [PASS /  3.7s]
  ● we can install a version of renv from GitHub .................. [SKIP / <0.1s]
  ● bootstrap succeeds with empty repos ........................... [SKIP / <0.1s]
  
  ── test-cache.R ────────────────────────────────────────────────────────────────
  ● issues within the cache are reported .......................... [SKIP / <0.1s]
  ● use.cache project setting is honored .......................... [PASS /  0.3s]
  ● package installation does not fail with non-writabl <...> ..... [PASS /  2.3s]
  ● the cache is used even if RENV_PATHS_LIBRARY is non <...> ..... [PASS / 0.17s]
  ● 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.23s]
  
  ── 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.81s]
  ● 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]
  ● 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.0s]
  ● 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.22s]
  ● Suggest dependencies are used when requested .................. [PASS /  2.8s]
  ● 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]
  
  ── test-description.R ──────────────────────────────────────────────────────────
  ● snapshotting broken DESCRIPTION files is an error ............. [PASS / 0.17s]
  
  ── 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 still succeed even if HEAD request fails ............ [SKIP / <0.1s]
  ● downloads work with file URIs ................................. [PASS / <0.1s]
  ● downloads work with UNC paths on Windows ...................... [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.13s]
  ● 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]
  
  ── 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.19s]
  ● library/ is excluded from .gitignore as appropriate ........... [PASS / 0.12s]
  ● 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 ─────────────────────────────────────────────────────────────────
  ● we can initialize a project using 'breakfast' ................. [SKIP / <0.1s]
  ● we can initialize a project using 'toast' ..................... [PASS / 0.15s]
  ● we cannot initialize a project using 'brunch' ................. [PASS /  2.2s]
  ● attempts to initialize a project with a missing pac <...> ..... [PASS / 0.13s]
  ● 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.44s]
  ● init() restores project containing only a lockfile ............ [PASS / 0.66s]
  
  ── test-install.R ──────────────────────────────────────────────────────────────
  ● install works when DESCRIPTION contains no dependencies ....... [PASS / <0.1s]
  ● requested version in DESCRIPTION file is honored .............. [PASS /  2.5s]
  ● installation failure is well-reported ......................... [PASS / 0.53s]
  ● install forces update of dependencies as needed ............... [SKIP / <0.1s]
  ● packages can be installed from local sources .................. [PASS /  2.2s]
  ● 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.2s]
  ● 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]
  
  ── 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 ................. [PASS / <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.1s]
  ● 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]
  
  ── test-once.R ─────────────────────────────────────────────────────────────────
  ● renv_once() returns TRUE only once ............................ [PASS / <0.1s]
  
  ── test-packages.R ─────────────────────────────────────────────────────────────
  ● remote field updates are written to both DESCRIPTIO <...> ..... [PASS /  2.3s]
  
  ── 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]
  
  ── test-preflight.R ────────────────────────────────────────────────────────────
  ● snapshot preflight tests catch common issues .................. [PASS / <0.1s]
  ● renv warns when snapshotting missing dependencies ............. [SKIP / <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.24s]
  
  ── 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.1s]
  ● we can supply custom options to R CMD INSTALL ................. [PASS / 0.81s]
  
  ── test-rebuild.R ──────────────────────────────────────────────────────────────
  ● rebuild forces a package to rebuilt, bypassing cache .......... [PASS /  2.2s]
  
  ── 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 /  9.3s]
  
  ── 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]
  
  ── 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.17s]
  ● renv.records can be used to override records during <...> ..... [PASS / 0.28s]
  ● install.staged works as expected .............................. [PASS /  7.9s]
  ● renv::restore(lockfile = '/path/to/lockfile') works ........... [PASS / 0.23s]
  ● renv::restore(packages = <...>) works ......................... [PASS / 0.22s]
  ● restore ignores packages of incompatible architecture ......... [PASS /  3.0s]
  ● restore handled records without version set ................... [PASS / 0.15s]
  
  ── 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 / <0.1s]
  ● compatible local sources are preferred when available ......... [PASS / 0.28s]
  ● an explicitly-provided local source path can be used .......... [PASS / <0.1s]
  ● explicit path to binary packages work ......................... [SKIP / <0.1s]
  ● remotes::install_local() records are handled .................. [PASS /  2.2s]
  ● 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]
  
  ── 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.7s]
  ● snapshot failures are reported ................................ [PASS /  2.4s]
  ● broken symlinks are reported .................................. [PASS /  2.3s]
  ● multiple libraries can be used when snapshotting .............. [PASS /  5.2s]
  ● implicit snapshots only include packages currently used ....... [PASS / 0.34s]
  ● explicit snapshots only capture packages in DESCRIPTION ....... [PASS /  0.2s]
  ● 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.17s]
  ● snapshot ignores own package in package development <...> ..... [PASS / <0.1s]
  ● snapshot warns about unsatisfied dependencies ................. [PASS / 0.32s]
  ● snapshot records packages discovered in local sources ......... [PASS /  2.4s]
  ● snapshot prefers RemoteType to biocViews ...................... [PASS / <0.1s]
  ● parse errors cause snapshot to abort .......................... [PASS / 0.99s]
  ● records for packages available on other OSes are pr <...> ..... [PASS / 0.12s]
  ● .renvignore works during snapshot without an explic <...> ..... [PASS / 0.22s]
  ● snapshot(packages = ...) captures package dependencies ........ [PASS / 0.23s]
  ● snapshot() accepts relative library paths ..................... [PASS / 0.23s]
  
  ── test-status.R ───────────────────────────────────────────────────────────────
  ● status() works when there is no library ....................... [SKIP / <0.1s]
  ● status reports packages to be installed / changed ............. [PASS /  3.3s]
  
  ── 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-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]
  
  ══ Failed tests ════════════════════════════════════════════════════════════════
  ── Error (test-activate.R:6:3): renv can bootstrap itself if not installed ─────
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-activate.R:6:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-available-packages.R:5:3): renv_available_packages() errs on incorrect repository ──
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-available-packages.R:5:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-available-packages.R:17:3): renv handles multiple available source packages ──
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-available-packages.R:17:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-available-packages.R:41:3): renv_available_packages() succeeds with unnamed repositories ──
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-available-packages.R:41:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-available-packages.R:58:3): renv_available_packages_latest() respects pkgType option ──
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-available-packages.R:58:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-bioconductor.R:6:3): packages can be installed, restored from Bioconductor ──
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-bioconductor.R:6:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-bioconductor.R:45:3): renv::install(<bioc>, rebuild = TRUE) works ──
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-bioconductor.R:45:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-bootstrap.R:27:3): we can install a version of renv from GitHub ──
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-bootstrap.R:27:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-bootstrap.R:40:3): bootstrap succeeds with empty repos ──────────
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-bootstrap.R:40:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-cache.R:5:3): issues within the cache are reported ──────────────
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-cache.R:5:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-cache.R:101:3): malformed folders in the cache are ignored ──────
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-cache.R:101:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-cache.R:121:3): corrupt Meta/package.rds is detected ────────────
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-cache.R:121:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-config.R:74:1): we can query the default configuration values without issue ──
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::test_check("renv", reporter = reporter)
    2. │ └─testthat::test_dir(...)
    3. │   └─testthat:::test_files(...)
    4. │     └─testthat:::test_files(...)
    5. │       ├─testthat::with_reporter(...)
    6. │       │ ├─base::withRestarts(...)
    7. │       │ │ └─base:::withOneRestart(expr, restarts[[1L]])
    8. │       │ │   └─base:::doWithOneRestart(return(expr), restart)
    9. │       │ └─base::force(code)
   10. │       └─base::lapply(test_paths, test_one_file, env = env, wrap = wrap)
   11. │         └─testthat:::FUN(X[[i]], ...)
   12. │           └─testthat::source_file(path, child_env(env), wrap = wrap)
   13. │             └─testthat:::test_code(NULL, exprs, env)
   14. │               ├─base::tryCatch(...)
   15. │               │ └─base:::tryCatchList(expr, classes, parentenv, handlers)
   16. │               │   ├─base:::tryCatchOne(...)
   17. │               │   │ └─base:::doTryCatch(return(expr), name, parentenv, handler)
   18. │               │   └─base:::tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
   19. │               │     └─base:::tryCatchOne(expr, names, parentenv, handlers[[1L]])
   20. │               │       └─base:::doTryCatch(return(expr), name, parentenv, handler)
   21. │               ├─base::withCallingHandlers(...)
   22. │               └─base::eval(code, test_env)
   23. │                 └─base::eval(code, test_env)
   24. │                   ├─renv:::test_that(...) test-config.R:74:0
   25. │                   │ └─base::eval(call, envir = parent.frame()) helper-aaa.R:21:2
   26. │                   │   └─base::eval(call, envir = parent.frame())
   27. │                   └─testthat::test_that(...)
   28. │                     └─testthat:::test_code(desc, code, env = parent.frame(), reporter = reporter)
   29. │                       ├─base::tryCatch(...)
   30. │                       │ └─base:::tryCatchList(expr, classes, parentenv, handlers)
   31. │                       │   ├─base:::tryCatchOne(...)
   32. │                       │   │ └─base:::doTryCatch(return(expr), name, parentenv, handler)
   33. │                       │   └─base:::tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
   34. │                       │     └─base:::tryCatchOne(expr, names, parentenv, handlers[[1L]])
   35. │                       │       └─base:::doTryCatch(return(expr), name, parentenv, handler)
   36. │                       ├─base::withCallingHandlers(...)
   37. │                       └─testthat:::skip_empty()
   38. │                         └─base::stop(cond)
   39. └─(function (e) ...
   40.   └─testthat:::register_expectation(e, debug_end)
   41.     └─reporter$add_result(...)
   42.       └─testthat:::o_apply(...)
   43.         └─base::lapply(objects, f)
   44.           └─testthat:::FUN(X[[i]], ...)
   45.             └─x$add_result(...)
  ── Error (test-dependencies.R:226:1): recursive symlinks are handled ───────────
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::test_check("renv", reporter = reporter)
    2. │ └─testthat::test_dir(...)
    3. │   └─testthat:::test_files(...)
    4. │     └─testthat:::test_files(...)
    5. │       ├─testthat::with_reporter(...)
    6. │       │ ├─base::withRestarts(...)
    7. │       │ │ └─base:::withOneRestart(expr, restarts[[1L]])
    8. │       │ │   └─base:::doWithOneRestart(return(expr), restart)
    9. │       │ └─base::force(code)
   10. │       └─base::lapply(test_paths, test_one_file, env = env, wrap = wrap)
   11. │         └─testthat:::FUN(X[[i]], ...)
   12. │           └─testthat::source_file(path, child_env(env), wrap = wrap)
   13. │             └─testthat:::test_code(NULL, exprs, env)
   14. │               ├─base::tryCatch(...)
   15. │               │ └─base:::tryCatchList(expr, classes, parentenv, handlers)
   16. │               │   ├─base:::tryCatchOne(...)
   17. │               │   │ └─base:::doTryCatch(return(expr), name, parentenv, handler)
   18. │               │   └─base:::tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
   19. │               │     └─base:::tryCatchOne(expr, names, parentenv, handlers[[1L]])
   20. │               │       └─base:::doTryCatch(return(expr), name, parentenv, handler)
   21. │               ├─base::withCallingHandlers(...)
   22. │               └─base::eval(code, test_env)
   23. │                 └─base::eval(code, test_env)
   24. │                   ├─renv:::test_that(...) test-dependencies.R:226:0
   25. │                   │ └─base::eval(call, envir = parent.frame()) helper-aaa.R:21:2
   26. │                   │   └─base::eval(call, envir = parent.frame())
   27. │                   └─testthat::test_that(...)
   28. │                     └─testthat:::test_code(desc, code, env = parent.frame(), reporter = reporter)
   29. │                       ├─base::tryCatch(...)
   30. │                       │ └─base:::tryCatchList(expr, classes, parentenv, handlers)
   31. │                       │   ├─base:::tryCatchOne(...)
   32. │                       │   │ └─base:::doTryCatch(return(expr), name, parentenv, handler)
   33. │                       │   └─base:::tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
   34. │                       │     └─base:::tryCatchOne(expr, names, parentenv, handlers[[1L]])
   35. │                       │       └─base:::doTryCatch(return(expr), name, parentenv, handler)
   36. │                       ├─base::withCallingHandlers(...)
   37. │                       └─testthat:::skip_empty()
   38. │                         └─base::stop(cond)
   39. └─(function (e) ...
   40.   └─testthat:::register_expectation(e, debug_end)
   41.     └─reporter$add_result(...)
   42.       └─testthat:::o_apply(...)
   43.         └─base::lapply(objects, f)
   44.           └─testthat:::FUN(X[[i]], ...)
   45.             └─x$add_result(...)
  ── Error (test-download.R:5:3): we avoid downloading files twice ───────────────
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-download.R:5:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-download.R:53:3): we can successfully download files with different downloaders ──
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-download.R:53:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-download.R:96:3): downloads still succeed even if HEAD request fails ──
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-download.R:96:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-download.R:136:3): downloads work with UNC paths on Windows ─────
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-download.R:136:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-id.R:5:3): we can generate a unique ID ──────────────────────────
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-id.R:5:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-init.R:4:3): we can initialize a project using 'breakfast' ──────
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-init.R:4:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-init.R:57:3): the remotes field in a DESCRIPTION is honored ─────
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-init.R:57:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-install.R:67:3): install forces update of dependencies as needed ──
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-install.R:67:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-install.R:113:3): various remote styles can be used during install ──
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-install.R:113:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-install.R:156:3): Remotes fields in a project DESCRIPTION are respected ──
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-install.R:156:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-install.R:206:3): renv warns when installing an already-loaded package ──
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-install.R:206:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-install.R:215:3): renv::install() writes out Github fields for backwards compatibility ──
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-install.R:215:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-install.R:230:3): renv uses safe library paths on Windows ───────
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_if_not(renv_platform_windows()) test-install.R:230:2
    2. │ └─testthat::skip(message)
    3. │   └─base::stop(cond)
    4. └─(function (e) ...
    5.   └─testthat:::register_expectation(e, debug_end)
    6.     └─reporter$add_result(...)
    7.       └─testthat:::o_apply(...)
    8.         └─base::lapply(objects, f)
    9.           └─testthat:::FUN(X[[i]], ...)
   10.             └─x$add_result(...)
  ── Error (test-install.R:262:3): renv can install packages from Bitbucket ──────
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-install.R:262:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-install.R:269:3): renv can install packages from GitHub using remotes subdir syntax ──
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-install.R:269:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-json.R:45:3): we can parse a GitHub remotes specification ───────
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-json.R:45:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-json.R:55:3): we can parse a GitHub remotes specification with 'wininet' ──
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-json.R:55:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-migrate.R:17:3): a sample Packrat project can be migrated ───────
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─renv:::skip_if_no_packrat() test-migrate.R:17:2
    2. │ └─testthat::skip_on_cran() test-migrate.R:5:2
    3. │   └─testthat::skip_if(on_cran(), "On CRAN")
    4. │     └─testthat::skip(message)
    5. │       └─base::stop(cond)
    6. └─(function (e) ...
    7.   └─testthat:::register_expectation(e, debug_end)
    8.     └─reporter$add_result(...)
    9.       └─testthat:::o_apply(...)
   10.         └─base::lapply(objects, f)
   11.           └─testthat:::FUN(X[[i]], ...)
   12.             └─x$add_result(...)
  ── Error (test-migrate.R:56:3): a Packrat project with no library can be migrated ──
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─renv:::skip_if_no_packrat() test-migrate.R:56:2
    2. │ └─testthat::skip_on_cran() test-migrate.R:5:2
    3. │   └─testthat::skip_if(on_cran(), "On CRAN")
    4. │     └─testthat::skip(message)
    5. │       └─base::stop(cond)
    6. └─(function (e) ...
    7.   └─testthat:::register_expectation(e, debug_end)
    8.     └─reporter$add_result(...)
    9.       └─testthat:::o_apply(...)
   10.         └─base::lapply(objects, f)
   11.           └─testthat:::FUN(X[[i]], ...)
   12.             └─x$add_result(...)
  ── Error (test-mran.R:6:3): older binaries are installed from MRAN on Windows / macOS ──
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-mran.R:6:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-preflight.R:25:3): renv warns when snapshotting missing dependencies ──
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-preflight.R:25:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-profiles.R:5:3): library paths set in a user profile are overridden after load ──
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-profiles.R:5:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-profiles.R:34:3): .First is executed; library paths are restored after ──
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-profiles.R:34:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-python.R:12:3): we can activate Python with a project ───────────
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-python.R:12:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-python.R:26:3): we can activate Python with a virtualenv in a project ──
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-python.R:26:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-python.R:39:3): installed Python packages are snapshotted / restored [virtualenv] ──
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─renv:::skip_if_local() test-python.R:39:2
    2. │ └─testthat::skip_if(is.na(ci), "Running tests locally")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-python.R:88:3): installed Python packages are snapshotted / restored [conda] ──
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─renv:::skip_if_local() test-python.R:88:2
    2. │ └─testthat::skip_if(is.na(ci), "Running tests locally")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-remotes.R:5:3): we can parse a variety of remotes ───────────────
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-remotes.R:5:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-restore.R:13:3): we can restore packages after init ─────────────
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-restore.R:13:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-restore.R:30:3): restore can recover when required packages are missing ──
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-restore.R:30:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-retrieve.R:6:3): we can retrieve packages from CRAN ─────────────
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-retrieve.R:6:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-retrieve.R:21:3): we can retrieve packages from the CRAN archive ──
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-retrieve.R:21:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-retrieve.R:36:3): packages with an unknown source are retrieved from CRAN ──
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-retrieve.R:36:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-retrieve.R:51:3): we can retrieve packages from Bitbucket ───────
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-retrieve.R:51:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-retrieve.R:69:3): we can retrieve packages from git ─────────────
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-retrieve.R:69:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-retrieve.R:85:3): we can retrieve packages from GitHub ──────────
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-retrieve.R:85:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-retrieve.R:101:3): we can retrieve packages from GitHub (in a sub-directory) ──
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-retrieve.R:101:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-retrieve.R:119:3): we can retrieve packages from GitLab ─────────
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-retrieve.R:119:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-retrieve.R:134:3): we can retrieve packages with URLs ───────────
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-retrieve.R:134:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-retrieve.R:141:3): we can retrieve packages from URL sources ────
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-retrieve.R:141:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-retrieve.R:213:3): explicit path to binary packages work ────────
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_if_not(renv_platform_macos()) test-retrieve.R:213:2
    2. │ └─testthat::skip(message)
    3. │   └─base::stop(cond)
    4. └─(function (e) ...
    5.   └─testthat:::register_expectation(e, debug_end)
    6.     └─reporter$add_result(...)
    7.       └─testthat:::o_apply(...)
    8.         └─base::lapply(objects, f)
    9.           └─testthat:::FUN(X[[i]], ...)
   10.             └─x$add_result(...)
  ── Error (test-retrieve.R:240:3): we can retrieve packages from GitHub ─────────
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-retrieve.R:240:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-retrieve.R:257:3): we can retrieve packages from R repositories ──
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-retrieve.R:257:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-retrieve.R:272:3): we can retrieve files using file URIs ────────
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-retrieve.R:272:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-rspm.R:5:3): repository URLs are properly transformed for different platforms ──
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-rspm.R:5:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-rspm.R:17:3): a binary-specific URL is transformed before writing a lockfile ──
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-rspm.R:17:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-rspm.R:29:3): RSPM bits are preserved when writing lockfile ─────
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-rspm.R:29:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-rspm.R:41:3): RSPM is confirmed not supported on trusty ─────────
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-rspm.R:41:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-snapshot.R:130:3): a custom snapshot filter can be used ─────────
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-snapshot.R:130:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-status.R:5:3): status() works when there is no library ──────────
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-status.R:5:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-update.R:5:3): update() finds packages requiring updates from CRAN ──
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-update.R:5:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-update.R:24:3): update() can upgrade GitHub packages ────────────
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-update.R:24:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  ── Error (test-upgrade.R:5:3): the version of renv in a project can be changed (upgraded) ──
  Error: cannot add bindings to a locked environment
  Backtrace:
       █
    1. ├─testthat::skip_on_cran() test-upgrade.R:5:2
    2. │ └─testthat::skip_if(on_cran(), "On CRAN")
    3. │   └─testthat::skip(message)
    4. │     └─base::stop(cond)
    5. └─(function (e) ...
    6.   └─testthat:::register_expectation(e, debug_end)
    7.     └─reporter$add_result(...)
    8.       └─testthat:::o_apply(...)
    9.         └─base::lapply(objects, f)
   10.           └─testthat:::FUN(X[[i]], ...)
   11.             └─x$add_result(...)
  
  [ FAIL 67 | WARN 0 | SKIP 0 | PASS 395 ]
  Error: Test failures
  Execution halted