Running 'api.R' [174s]
  Running 'assert-vignettes.R' [0s]
  Running 'backup.R' [0s]
  Running 'check.R' [169s]
  Running 'current_script.R' [170s]
  Running 'debug.R' [153s]
  Running 'filter_files.R' [157s]
  Running 'find_files.R' [0s]
  Running 'install.R' [0s]
  Running 'startup.R' [0s]
  Running 'startup_session_options.R' [0s]
  Running 'sysinfo.R' [160s]
  Running 'unload.R' [0s]
Running the tests in 'tests/api.R' failed.
Complete output:
  > options(startup.dryrun = TRUE)
  > 
  > message("*** api() ...")
  *** api() ...
  > 
  > message("*** api()")
  *** api()
  > api <- startup:::api()
  > stopifnot(is.list(api), length(api) > 0)
  > 
  > message("*** renviron_d()")
  *** renviron_d()
  > res <- startup::renviron_d()
  > stopifnot(all.equal(res, api))
  > 
  > message("*** rprofile_d()")
  *** rprofile_d()
  > res <- startup::rprofile_d()
  > stopifnot(all.equal(res, api))
  > 
  > res <- startup::rprofile_d(all = TRUE)
  > 
  > message("*** startup(unload = FALSE)")
  *** startup(unload = FALSE)
  > res <- startup::startup(unload = FALSE)
  Warning messages:
  1: startup::check(): Environment variable 'R_LIBS_SITE' specifies a non-existing folder ''NULL'' (expands to 'd:\Rcompile\CRANpkg\local\4.4\startup.Rcheck\tests\'NULL'') which R ignores and therefore are not used in .libPaths(). To create this folder, call dir.create("'NULL'", recursive = TRUE) 
  2: startup::check(): Environment variable 'R_LIBS_USER' specifies a non-existing folder ''NULL'' (expands to 'd:\Rcompile\CRANpkg\local\4.4\startup.Rcheck\tests\'NULL'') which R ignores and therefore are not used in .libPaths(). To create this folder, call dir.create("'NULL'", recursive = TRUE) 
  3: startup::check(): Environment variable 'R_ENVIRON_USER' specifies a non-existing startup file ''no_such_file'' (expands to 'd:\Rcompile\CRANpkg\local\4.4\startup.Rcheck\tests\'no_such_file'') which R will silently ignore 
  > stopifnot(all.equal(res, api))
  > 
  > message("*** startup(debug = TRUE)")
  *** startup(debug = TRUE)
  > ## Fake some settings / calls to cover more code
  > options(startup.debug.commandArgs = commandArgs()[1])
  > save.image(file = ".RData")
  > res <- startup::startup(debug = TRUE)
  0.000s: System information:
  0.001s: - R_HOME: 'D:/RCompile/recent/R' (existing folder)
  0.001s: - R call: D:\RCompile\recent\R/bin/x64/Rterm.exe -f api.R --restore --save --vanilla
  0.002s: - Current directory: 'd:/Rcompile/CRANpkg/local/4.4/startup.Rcheck/tests'
  0.002s: - User's home directory: '~' => 'C:\Users\CRAN\Documents' (existing folder)
  0.002s: - User's 'startup' config directory: 'C:\Users\CRAN\AppData\Local\R\config\R\startup' (non-existing directory)
  0.003s: - Search path: '.GlobalEnv', 'package:stats', 'package:graphics', 'package:grDevices', 'package:utils', 'package:datasets', 'package:methods', 'Autoloads', 'package:base'
  0.003s: - Loaded namespaces: 'compiler', 'startup', 'graphics', 'tools', 'utils', 'grDevices', 'stats', 'datasets', 'methods', 'base'
  0.003s: The following has already been processed by R:
  0.004s: - R_ENVIRON: ''
  0.004s: - R_ENVIRON_USER: ''no_such_file'' (non-existing file)
  0.005s: - tempdir(): 'D:\temp\RtmpuC7h1a' (existing folder)
  0.005s:   - TMPDIR: 'D:\temp'
  0.005s:   - TMP: 'D:\temp'
  0.005s:   - TEMP: 'D:\temp'
  0.006s: - R_LIBS: 'D:\temp\Rtmp6dcRhd\RLIBS_7d74362619e5'
  0.006s: - R_LIBS_SITE: ''NULL''
  0.006s: - R_LIBS_USER: ''NULL''
  0.006s: - R_SCRIPT_DEFAULT_PACKAGES (only if Rscript was used): ''
  0.007s: - R_DEFAULT_PACKAGES: '' (= 'base,methods,datasets,utils,grDevices,graphics,stats')
  0.008s: - 'D:/RCompile/recent/R/library/base/R/Rprofile' (157 code lines; 7426 bytes)
  0.009s: - R_PROFILE: ''
  0.009s: - R_PROFILE_USER: ''
  0.010s: - R_TESTS: 'startup.Rs' (1 code lines; 131 bytes)
  0.010s: startup::startup()-specific processing ...
  0.018s: - unloading the 'startup' package
  0.019s: - Search path: '.GlobalEnv', 'package:stats', 'package:graphics', 'package:grDevices', 'package:utils', 'package:datasets', 'package:methods', 'Autoloads', 'package:base'
  0.019s: - Loaded namespaces: 'compiler', 'graphics', 'tools', 'utils', 'grDevices', 'stats', 'datasets', 'methods', 'base'
  0.019s: startup::startup()-specific processing ... done
  0.019s: The following will be processed next by R:
  0.019s: - R_HISTFILE: ''
  0.020s: - .First(): no such function on search()
  0.020s: - Remaining packages per R_DEFAULT_PACKAGES to be attached by base::.First.sys() (in order): 
  0.020s: - The R just-in-time (JIT) compiler:
  0.021s:   - R_ENABLE_JIT: <not set>
  0.021s:   - JIT compiler enabled by default
  0.021s: The following will be processed when R terminates:
  0.021s: - .Last(): no such function on search()
  0.022s: - .Last.sys(): in 'package:base' (position 9 on search()); circumvented by quit(runLast = FALSE)
  > str(res)
  List of 3
   $ renviron_d:function (sibling = FALSE, all = FALSE, unload = FALSE, skip = NA, dryrun = NA, 
      debug = NA, paths = NULL)  
   $ rprofile_d:function (sibling = FALSE, all = FALSE, check = NA, unload = FALSE, skip = NA, 
      on_error = c("error", "warning", "immediate.warning", "message", "ignore"), 
      dryrun = NA, debug = NA, paths = NULL)  
   $ unload    :function (debug = FALSE)  
  > stopifnot(all.equal(res, api))
  > file.remove(".RData")
  [1] TRUE
  > options(startup.debug.commandArgs = NULL)
  > 
  > options(startup.dryrun = FALSE)
  > 
  > message("*** api() ... DONE")
  *** api() ... DONE
  > 
  > rm(list = c("api", "res"))
  > 
  > proc.time()
     user  system elapsed 
     0.25    0.09    0.28 
Running the tests in 'tests/check.R' failed.
Complete output:
  > message("*** Checks ...")
  *** Checks ...
  > 
  > startup::check(fix = FALSE)
  > startup::check(all = TRUE, fix = FALSE)
  > 
  > startup:::check_rprofile_eof()
  > startup:::check_rprofile_eof(all = TRUE)
  > 
  > startup:::check_rprofile_update_packages()
  NULL
  > startup:::check_rprofile_update_packages(all = TRUE)
  NULL
  > 
  > startup:::check_options()
  > 
  > oopts <- options(encoding = "C")
  > res <- tryCatch({
  +   startup:::check_options()
  + }, warning = identity)
  > if (!interactive()) stopifnot(inherits(res, "simpleWarning"))
  > options(oopts)
  > 
  > message("*** Checks - test files ...")
  *** Checks - test files ...
  > 
  > path <- system.file("Rprofile.d,checks", package = "startup")
  > path_tmp <- tempdir()
  > file.copy(path, path_tmp, recursive = TRUE, overwrite = TRUE)
  [1] TRUE
  > 
  > files <- startup:::list_d_files(path_tmp)
  > print(files)
  [1] "D:\\temp\\Rtmpi8SH62/Rprofile.d,checks/an_error.R"          
  [2] "D:\\temp\\Rtmpi8SH62/Rprofile.d,checks/change_of_encoding.R"
  [3] "D:\\temp\\Rtmpi8SH62/Rprofile.d,checks/missing_newline.R"   
  [4] "D:\\temp\\Rtmpi8SH62/Rprofile.d,checks/update_packages.R"   
  > 
  > res <- tryCatch({
  +   startup:::check_rprofile_eof(files = files, fix = FALSE)
  + }, error = identity)
  > stopifnot(inherits(res, "simpleError"))
  > 
  > res <- tryCatch({
  +   startup:::check_rprofile_eof(files = files)
  + }, warning = identity)
  Backed up R startup file: 'D:\temp\Rtmpi8SH62/Rprofile.d,checks/missing_newline.R' (338 bytes) -> 'D:\temp\Rtmpi8SH62/Rprofile.d,checks/missing_newline.R.bak.20240323-220836' (338 bytes)
  > stopifnot(inherits(res, "simpleWarning"))
  > 
  > res <- tryCatch({
  +   startup:::check_rprofile_update_packages(files = files)
  + }, error = identity)
  > stopifnot(inherits(res, "simpleError"))
  > 
  > 
  > message("*** Checks - test files ... DONE")
  *** Checks - test files ... DONE
  > 
  > message("*** File name capitalization ...")
  *** File name capitalization ...
  > 
  > for (what in c("Renviron", "Rprofile")) {
  +   file <- sprintf(".%s", what)
  +   pathname <- file.path(tempdir(), file)
  +   cat("dummy", file = pathname)
  +   res <- startup:::warn_file_capitalization(pathname, what)
  +   stopifnot(isTRUE(res))
  +   file.remove(pathname)
  +   
  +   file <- toupper(file)
  +   pathname <- file.path(tempdir(), file)
  +   cat("dummy", file = pathname)
  +   res <- startup:::warn_file_capitalization(pathname, what)
  +   stopifnot(!isTRUE(res))
  + 
  +   res <- tryCatch({
  +     startup:::warn_file_capitalization(pathname, what)
  +   }, warning = identity)
  +   stopifnot(inherits(res, "warning"))
  +   file.remove(pathname)
  + }
  Warning messages:
  1: startup::startup(): Detected non-standard, platform-dependent letter casing of an 'Renviron' file. Please rename file to use the officially supported casing: 'D:/temp/Rtmpi8SH62/.RENVIRON' -> 'D:/temp/Rtmpi8SH62/.Renviron' 
  2: startup::startup(): Detected non-standard, platform-dependent letter casing of an 'Rprofile' file. Please rename file to use the officially supported casing: 'D:/temp/Rtmpi8SH62/.RPROFILE' -> 'D:/temp/Rtmpi8SH62/.Rprofile' 
  > 
  > message("*** File name capitalization ... DONE")
  *** File name capitalization ... DONE
  > 
  > message("*** Checks ... DONE")
  *** Checks ... DONE
  > 
  > proc.time()
     user  system elapsed 
     0.26    0.09    0.31 
Running the tests in 'tests/current_script.R' failed.
Complete output:
  > message("*** current_script() ...")
  *** current_script() ...
  > 
  > res <- startup::current_script()
  > print(res)
  [1] NA
  > stopifnot(is.character(res), length(res) == 1L, is.na(res))
  > 
  > startup:::current_script_pathname("foo")
  [1] "foo"
  > res <- startup::current_script()
  > print(res)
  [1] "foo"
  > stopifnot(is.character(res), length(res) == 1L, res == "foo")
  > 
  > startup:::current_script_pathname(NA_character_)
  [1] NA
  > res <- startup::current_script()
  > print(res)
  [1] NA
  > stopifnot(is.character(res), length(res) == 1L, is.na(res))
  > 
  > message("*** current_script() ... DONE")
  *** current_script() ... DONE
  > 
  > proc.time()
     user  system elapsed 
     0.18    0.06    0.23 
Running the tests in 'tests/debug.R' failed.
Complete output:
  > message("*** debug() ...")
  *** debug() ...
  > 
  > debug <- startup:::debug ## non-exported
  > is_debug_on <- startup::is_debug_on
  > 
  > print(debug())
  [1] FALSE
  > print(is_debug_on())
  [1] FALSE
  > 
  > print(debug(TRUE))
  [1] TRUE
  > stopifnot(is_debug_on())
  > 
  > startup:::log("Hello")
  0.000s: Hello
  > startup:::logf("Hello %s", "world")
  0.000s: Hello world
  > startup:::logp(str(1:10))
  0.004s:  int [1:10] 1 2 3 4 5 6 7 8 9 10
  0.004s: NULL
  > 
  > print(debug(FALSE))
  [1] FALSE
  > stopifnot(!is_debug_on())
  > 
  > message("*** debug() ... DONE")
  *** debug() ... DONE
  > 
  > rm(list = "debug")
  > 
  > proc.time()
     user  system elapsed 
     0.17    0.06    0.23 
Running the tests in 'tests/filter_files.R' failed.
Complete output:
  > filter_files <- startup:::filter_files
  > sysinfo <- startup:::sysinfo()
  > sysinfo$os <- "linux"
  > sysinfo$rstudio <- TRUE
  > sysinfo$wine <- FALSE
  > sysinfo$interactive <- FALSE
  > Sys.setenv(FOO = "abc")
  > Sys.setenv(BAR = "123")
  > Sys.unsetenv("UNKNOWN")
  > 
  > message("*** filter_files() ...")
  *** filter_files() ...
  > 
  > filesets <- list(
  +   A = c("a" = TRUE, "b" = TRUE, "package=<non-existing-package>" = FALSE,
  +         "package=startup" = TRUE),
  +   B = c("a,os=linux" = TRUE, "b,os=windows" = FALSE, "os=linux,os=osx" = FALSE,
  +         "package=startup,os=linux" = TRUE),
  +   C = c("a,os=linux" = TRUE, "b,os!=linux" = FALSE, "c,os!=windows" = TRUE),
  +   D = c("package!=startup" = FALSE, "package!=<non-existing-package>" = TRUE),
  +   E = c("os=linux,package!=startup" = FALSE,
  +         "os=linux,package!=<non-existing-package>" = TRUE),
  +   F = c("a" = TRUE, "/home/alice/.Rprofile.d/package=foo" = FALSE),
  +   G = c("a" = TRUE, "/home/alice/.Rprofile.d/package!=foo" = TRUE),
  +   H = c("/home/alice/.Rprofile.d/rstudio=T/wine=0" = TRUE),
  +   I = c("/home/alice/.Rprofile.d/rstudio!=f/wine!=1" = TRUE),
  +   J = c("/home/alice/.Rprofile.d/interactive=TRUE" = FALSE,
  +         "/home/alice/.Rprofile.d/interactive=FALSE" = TRUE),
  +   K = c("/home/alice/.Rprofile.d/interactive=TRUE/package=fortunes" = FALSE),
  +   L = c("/home/alice/.Rprofile.d/package=startup,package=base" = TRUE),
  +   M = c("/home/alice/.Rprofile.d/package=startup,package!=base" = FALSE),
  +   N = c("/home/alice/.Rprofile.d/FOO=abc,BAR=123" = TRUE),
  +   O = c("/home/alice/.Rprofile.d/FOO=abc,BAR!=321" = TRUE),
  +   P = c("/home/alice/.Rprofile.d/FOO=abc,BAR!=123" = FALSE),
  +   Q = c("/home/alice/.Rprofile.d/FOO=abc/BAR=123/help" = TRUE),
  +   R = c("/home/alice/.Rprofile.d/UNKNOWN=42/test" = FALSE),
  +   S = c("/home/alice/.Rprofile.d/UNKNOWN!=42/test" = TRUE)
  + )
  > 
  > ## Test with filename extensions *.R as well
  > filesets2 <- lapply(filesets, FUN = function(f) {
  +   names(f) <- sprintf("%s.R", names(f))
  +   f
  + })
  > names(filesets2) <- sprintf("%s.R", names(filesets))
  > #filesets <- c(filesets, filesets2)
  > 
  > 
  > for (kk in seq_along(filesets)) {
  +   message(sprintf("File set #%d (%s) ...", kk, names(filesets)[kk]))
  + 
  +   files <- filesets[[kk]]
  +   files_truth <- names(files)[files]
  +   files <- names(files)
  +   cat("Before:\n")
  +   print(files)
  + 
  +   files_filtered <- filter_files(files, info = sysinfo)
  +   cat("After:\n")
  +   print(files_filtered)
  +   cat("Expected:\n")
  +   print(files_truth)
  +   
  +   stopifnot(all.equal(files_filtered, files_truth, check.attributes = FALSE))
  + 
  +   message(sprintf("File set #%d (%s) ... DONE", kk, names(filesets)[kk]))
  + }
  File set #1 (A) ...
  Before:
  [1] "a"                              "b"                             
  [3] "package=<non-existing-package>" "package=startup"               
  After:
  [1] "a"               "b"               "package=startup"
  Expected:
  [1] "a"               "b"               "package=startup"
  File set #1 (A) ... DONE
  File set #2 (B) ...
  Before:
  [1] "a,os=linux"               "b,os=windows"            
  [3] "os=linux,os=osx"          "package=startup,os=linux"
  After:
  [1] "a,os=linux"               "package=startup,os=linux"
  Expected:
  [1] "a,os=linux"               "package=startup,os=linux"
  File set #2 (B) ... DONE
  File set #3 (C) ...
  Before:
  [1] "a,os=linux"    "b,os!=linux"   "c,os!=windows"
  After:
  [1] "a,os=linux"    "c,os!=windows"
  Expected:
  [1] "a,os=linux"    "c,os!=windows"
  File set #3 (C) ... DONE
  File set #4 (D) ...
  Before:
  [1] "package!=startup"                "package!=<non-existing-package>"
  After:
  [1] "package!=<non-existing-package>"
  Expected:
  [1] "package!=<non-existing-package>"
  File set #4 (D) ... DONE
  File set #5 (E) ...
  Before:
  [1] "os=linux,package!=startup"               
  [2] "os=linux,package!=<non-existing-package>"
  After:
  [1] "os=linux,package!=<non-existing-package>"
  Expected:
  [1] "os=linux,package!=<non-existing-package>"
  File set #5 (E) ... DONE
  File set #6 (F) ...
  Before:
  [1] "a"                                   "/home/alice/.Rprofile.d/package=foo"
  After:
  [1] "a"
  Expected:
  [1] "a"
  File set #6 (F) ... DONE
  File set #7 (G) ...
  Before:
  [1] "a"                                   
  [2] "/home/alice/.Rprofile.d/package!=foo"
  After:
  [1] "a"                                   
  [2] "/home/alice/.Rprofile.d/package!=foo"
  Expected:
  [1] "a"                                   
  [2] "/home/alice/.Rprofile.d/package!=foo"
  File set #7 (G) ... DONE
  File set #8 (H) ...
  Before:
  [1] "/home/alice/.Rprofile.d/rstudio=T/wine=0"
  After:
  [1] "/home/alice/.Rprofile.d/rstudio=T/wine=0"
  Expected:
  [1] "/home/alice/.Rprofile.d/rstudio=T/wine=0"
  File set #8 (H) ... DONE
  File set #9 (I) ...
  Before:
  [1] "/home/alice/.Rprofile.d/rstudio!=f/wine!=1"
  After:
  [1] "/home/alice/.Rprofile.d/rstudio!=f/wine!=1"
  Expected:
  [1] "/home/alice/.Rprofile.d/rstudio!=f/wine!=1"
  File set #9 (I) ... DONE
  File set #10 (J) ...
  Before:
  [1] "/home/alice/.Rprofile.d/interactive=TRUE" 
  [2] "/home/alice/.Rprofile.d/interactive=FALSE"
  After:
  [1] "/home/alice/.Rprofile.d/interactive=FALSE"
  Expected:
  [1] "/home/alice/.Rprofile.d/interactive=FALSE"
  File set #10 (J) ... DONE
  File set #11 (K) ...
  Before:
  [1] "/home/alice/.Rprofile.d/interactive=TRUE/package=fortunes"
  After:
  character(0)
  Expected:
  character(0)
  File set #11 (K) ... DONE
  File set #12 (L) ...
  Before:
  [1] "/home/alice/.Rprofile.d/package=startup,package=base"
  After:
  [1] "/home/alice/.Rprofile.d/package=startup,package=base"
  Expected:
  [1] "/home/alice/.Rprofile.d/package=startup,package=base"
  File set #12 (L) ... DONE
  File set #13 (M) ...
  Before:
  [1] "/home/alice/.Rprofile.d/package=startup,package!=base"
  After:
  character(0)
  Expected:
  character(0)
  File set #13 (M) ... DONE
  File set #14 (N) ...
  Before:
  [1] "/home/alice/.Rprofile.d/FOO=abc,BAR=123"
  After:
  [1] "/home/alice/.Rprofile.d/FOO=abc,BAR=123"
  Expected:
  [1] "/home/alice/.Rprofile.d/FOO=abc,BAR=123"
  File set #14 (N) ... DONE
  File set #15 (O) ...
  Before:
  [1] "/home/alice/.Rprofile.d/FOO=abc,BAR!=321"
  After:
  [1] "/home/alice/.Rprofile.d/FOO=abc,BAR!=321"
  Expected:
  [1] "/home/alice/.Rprofile.d/FOO=abc,BAR!=321"
  File set #15 (O) ... DONE
  File set #16 (P) ...
  Before:
  [1] "/home/alice/.Rprofile.d/FOO=abc,BAR!=123"
  After:
  character(0)
  Expected:
  character(0)
  File set #16 (P) ... DONE
  File set #17 (Q) ...
  Before:
  [1] "/home/alice/.Rprofile.d/FOO=abc/BAR=123/help"
  After:
  [1] "/home/alice/.Rprofile.d/FOO=abc/BAR=123/help"
  Expected:
  [1] "/home/alice/.Rprofile.d/FOO=abc/BAR=123/help"
  File set #17 (Q) ... DONE
  File set #18 (R) ...
  Before:
  [1] "/home/alice/.Rprofile.d/UNKNOWN=42/test"
  After:
  character(0)
  attr(,"unknown_keys")
  attr(,"unknown_keys")$`/home/alice/.Rprofile.d/UNKNOWN=42/test`
  [1] "UNKNOWN"
  
  Expected:
  character(0)
  File set #18 (R) ... DONE
  File set #19 (S) ...
  Before:
  [1] "/home/alice/.Rprofile.d/UNKNOWN!=42/test"
  After:
  [1] "/home/alice/.Rprofile.d/UNKNOWN!=42/test"
  Expected:
  [1] "/home/alice/.Rprofile.d/UNKNOWN!=42/test"
  File set #19 (S) ... DONE
  > 
  > message("*** filter_files() ... DONE")
  *** filter_files() ... DONE
  > 
  > proc.time()
     user  system elapsed 
     0.23    0.09    0.29 
Running the tests in 'tests/sysinfo.R' failed.
Complete output:
  > message("*** sysinfo() ...")
  *** sysinfo() ...
  > 
  > message("- Base R system information:")
  - Base R system information:
  > 
  > utils::str(list(
  +   "capabilities()"     = as.list(capabilities()),
  +   .Machine             = .Machine,
  +   .Platform            = .Platform,
  +   R.version            = R.version,
  +   "Sys.info()"         = as.list(Sys.info())
  + ))
  List of 5
   $ capabilities():List of 19
    ..$ jpeg       : logi TRUE
    ..$ png        : logi TRUE
    ..$ tiff       : logi TRUE
    ..$ tcltk      : logi TRUE
    ..$ X11        : logi FALSE
    ..$ aqua       : logi FALSE
    ..$ http/ftp   : logi TRUE
    ..$ sockets    : logi TRUE
    ..$ libxml     : logi FALSE
    ..$ fifo       : logi TRUE
    ..$ cledit     : logi FALSE
    ..$ iconv      : logi TRUE
    ..$ NLS        : logi TRUE
    ..$ Rprof      : logi TRUE
    ..$ profmem    : logi TRUE
    ..$ cairo      : logi TRUE
    ..$ ICU        : logi TRUE
    ..$ long.double: logi TRUE
    ..$ libcurl    : logi TRUE
   $ .Machine      :List of 29
    ..$ double.eps               : num 2.22e-16
    ..$ double.neg.eps           : num 1.11e-16
    ..$ double.xmin              : num 2.23e-308
    ..$ double.xmax              : num 1.8e+308
    ..$ double.base              : int 2
    ..$ double.digits            : int 53
    ..$ double.rounding          : int 5
    ..$ double.guard             : int 0
    ..$ double.ulp.digits        : int -52
    ..$ double.neg.ulp.digits    : int -53
    ..$ double.exponent          : int 11
    ..$ double.min.exp           : int -1022
    ..$ double.max.exp           : int 1024
    ..$ integer.max              : int 2147483647
    ..$ sizeof.long              : int 4
    ..$ sizeof.longlong          : int 8
    ..$ sizeof.longdouble        : int 16
    ..$ sizeof.pointer           : int 8
    ..$ sizeof.time_t            : int 8
    ..$ longdouble.eps           : num 1.08e-19
    ..$ longdouble.neg.eps       : num 5.42e-20
    ..$ longdouble.digits        : int 64
    ..$ longdouble.rounding      : int 5
    ..$ longdouble.guard         : int 0
    ..$ longdouble.ulp.digits    : int -63
    ..$ longdouble.neg.ulp.digits: int -64
    ..$ longdouble.exponent      : int 15
    ..$ longdouble.min.exp       : int -16382
    ..$ longdouble.max.exp       : int 16384
   $ .Platform     :List of 8
    ..$ OS.type   : chr "windows"
    ..$ file.sep  : chr "/"
    ..$ dynlib.ext: chr ".dll"
    ..$ GUI       : chr "RTerm"
    ..$ endian    : chr "little"
    ..$ pkgType   : chr "win.binary"
    ..$ path.sep  : chr ";"
    ..$ r_arch    : chr "x64"
   $ R.version     :List of 15
    ..$ platform      : chr "x86_64-w64-mingw32"
    ..$ arch          : chr "x86_64"
    ..$ os            : chr "mingw32"
    ..$ crt           : chr "ucrt"
    ..$ system        : chr "x86_64, mingw32"
    ..$ status        : chr "Under development (unstable)"
    ..$ major         : chr "4"
    ..$ minor         : chr "4.0"
    ..$ year          : chr "2024"
    ..$ month         : chr "03"
    ..$ day           : chr "22"
    ..$ svn rev       : chr "86169"
    ..$ language      : chr "R"
    ..$ version.string: chr "R Under development (unstable) (2024-03-22 r86169 ucrt)"
    ..$ nickname      : chr "Unsuffered Consequences"
    ..- attr(*, "class")= chr "simple.list"
   $ Sys.info()    :List of 8
    ..$ sysname       : chr "Windows"
    ..$ release       : chr "Server x64"
    ..$ version       : chr "build 20348"
    ..$ nodename      : chr "CRANWIN3"
    ..$ machine       : chr "x86-64"
    ..$ login         : chr "CRAN"
    ..$ user          : chr "CRAN"
    ..$ effective_user: chr "CRAN"
  > 
  > message("- Session information:")
  - Session information:
  > print(utils::sessionInfo())
  R Under development (unstable) (2024-03-22 r86169 ucrt)
  Platform: x86_64-w64-mingw32/x64
  Running under: Windows Server 2022 x64 (build 20348)
  
  Matrix products: default
  
  
  locale:
  [1] LC_COLLATE=C                 LC_CTYPE=German_Germany.utf8
  [3] LC_MONETARY=C                LC_NUMERIC=C                
  [5] LC_TIME=C                   
  
  time zone: Europe/Berlin
  tzcode source: internal
  
  attached base packages:
  [1] stats     graphics  grDevices utils     datasets  methods   base     
  
  loaded via a namespace (and not attached):
  [1] compiler_4.4.0
  > 
  > 
  > message("- sysinfo():")
  - sysinfo():
  > print(startup::sysinfo())
  $sysname
  [1] "Windows"
  
  $release
  [1] "Server x64"
  
  $version
  [1] "build 20348"
  
  $nodename
  [1] "CRANWIN3"
  
  $machine
  [1] "x86-64"
  
  $login
  [1] "CRAN"
  
  $user
  [1] "CRAN"
  
  $effective_user
  [1] "CRAN"
  
  $os
  [1] "windows"
  
  $gui
  [1] "RTerm"
  
  $interactive
  [1] FALSE
  
  $rapp
  [1] FALSE
  
  $rgui
  [1] FALSE
  
  $rstudio
  [1] FALSE
  
  $rstudioterm
  [1] FALSE
  
  $microsoftr
  [1] FALSE
  
  $ess
  [1] FALSE
  
  $radian
  [1] FALSE
  
  $rtichoke
  [1] FALSE
  
  $rice
  [1] FALSE
  
  $pqr
  [1] FALSE
  
  $wine
  [1] FALSE
  
  $dirname
  [1] "tests"
  
  $quiet
  [1] FALSE
  
  $save
  [1] TRUE
  
  > 
  > message("*** sysinfo() ... DONE")
  *** sysinfo() ... DONE
  > 
  > proc.time()
     user  system elapsed 
     0.20    0.09    0.28