Running ‘testthat.R’ [15s/19s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > library("testthat")
  > library("rio")
  > test_check("rio", reporter = "summary")
  characterize: 
  characterize()/factorize(): ......
  check_file: ....................................
  compress: 
  Compressed files: ......  adding: file1b17502ad78cb3.csv (deflated 78%)
  ...........................  adding: mtcars1.csv (deflated 48%)
    adding: mtcars2.csv (deflated 50%)
    adding: mtcars3.csv (deflated 47%)
  .................  adding: file1b17503b58ca93.xlsx (deflated 11%)
  ...../usr/bin/tar: NA: Not found in archive
  /usr/bin/tar: Exiting with failure status due to previous errors
  .../usr/bin/tar: NA: Not found in archive
  /usr/bin/tar: Exiting with failure status due to previous errors
  .../usr/bin/tar: NA: Not found in archive
  /usr/bin/tar: Exiting with failure status due to previous errors
  .../usr/bin/tar: NA: Not found in archive
  /usr/bin/tar: Exiting with failure status due to previous errors
  .../usr/bin/tar: NA: Not found in archive
  /usr/bin/tar: Exiting with failure status due to previous errors
  .............S  adding: tmp/Rtmpe46XH3/file1b1750483ec2a3.csv (stored 0%)
  ....  adding: file_1.csv (deflated 48%)
    adding: file_2.csv (deflated 50%)
    adding: file_3.csv (deflated 47%)
  ...
  convert: ......
  create_outfiles: ........
  errors: ...........
  export_corner_cases: .........
  export_list: ....  adding: file_1.csv (deflated 48%)
    adding: file_2.csv (deflated 50%)
    adding: file_3.csv (deflated 47%)
  .  adding: file_1.csv (deflated 48%)
    adding: file_2.csv (deflated 50%)
    adding: file_3.csv (deflated 47%)
  ............  adding: file_1.csv (deflated 48%)
    adding: file_2.csv (deflated 50%)
    adding: file_3.csv (deflated 47%)
  .........S
  extensions: S
  format_R: ....
  format_arff: ..
  format_csv: ......................
  format_csvy: 1
  format_dbf: ...
  format_dif: .
  format_dta: ..........
  format_eviews: .
  format_external_packages: ...............
  format_feather: ..
  format_fortran: .
  format_fst: ..
  format_fwf: ...........
  format_html: ........................
  format_json: .......
  format_matlab: S
  format_mtp: 
  format_ods: .................
  format_parquet: ..
  format_psv: ....
  format_pzfx: .....
  format_qs: ..
  format_qs2: ..
  format_rdata: ....................
  format_rds: .....
  format_rec: 
  format_sas: ...
  format_sav: ........................
  format_syd: .
  format_tsv: ....
  format_xls: ....................
  format_xml: .................
  format_yml: S
  gather_attrs: ......................
  guess: ................
  identical: ..................
  import_list: .................................  adding: file1b1750fd2277c.csv (deflated 58%)
  ...  adding: mtcars1.csv (deflated 48%)
    adding: mtcars2.csv (deflated 50%)
    adding: mtcars3.csv (deflated 47%)
  ......................S  adding: file1b175025a4783a.ods (deflated 7%)
  ..  adding: file1b175066722688.fods (deflated 95%)
  ..  adding: file1b17501bdc4be7.xlsx (deflated 8%)
  ..  adding: file1b17507a29e83d.dta (deflated 89%)
  ..  adding: file1b175076cc668d.sav (deflated 62%)
  ..  adding: file1b17502b61a2b5.csv (deflated 58%)
  ..  adding: file1b1750408c7e16.csv2 (deflated 58%)
  ..  adding: file1b1750400485a6.qs (stored 0%)
  ..  adding: file1b17506525f3a8.qs2 (stored 0%)
  ..  adding: file1b17502d80fa6a.parquet (deflated 43%)
  ..  adding: file1b17504c0297e2.ods (deflated 7%)
  ...........
  mapping: ............
  matrix: ...
  remote: S
  set_class: ...................
  suggestions: SSS
  trust: ...................
  
  ══ Skipped ═════════════════════════════════════════════════════════════════════
  1. tar export error for R < 4.0.3 ('test_compress.R:101:5') - Reason: getRversion() >= "4.0.3" is TRUE
  
  2. tar export error for R < 4.0.3 ('test_export_list.R:67:5') - Reason: getRversion() >= "4.0.3" is TRUE
  
  3. (code run outside of `test_that()`) ('test_extensions.R:2:1') - Reason: On CRAN
  
  4. Export to and import from matlab ('test_format_matlab.R:4:5') - Reason: failing mysteriously
  
  5. (code run outside of `test_that()`) ('test_format_yml.R:1:1') - Reason: {yaml} is not installed
  
  6. URL #294 ('test_import_list.R:167:5') - Reason: On CRAN
  
  7. (code run outside of `test_that()`) ('test_remote.R:1:1') - Reason: On CRAN
  
  8. uninstalled_formats() ('test_suggestions.R:2:5') - Reason: On CRAN
  
  9. show_unsupported_formats (in the fully supported environment) on CI ('test_suggestions.R:13:5') - Reason: On CRAN
  
  10. show_unsupported_formats (in the partial supported environment) on CI ('test_suggestions.R:22:5') - Reason: On CRAN
  
  ══ Failed ══════════════════════════════════════════════════════════════════════
  ── 1. Error ('test_format_csvy.R:3:9'): Export to and import from CSVY ─────────
  Error in `(function (x, file = "", append = FALSE, quote = "auto", sep = getOption("datatable.fwrite.sep", ","), sep2 = c("", "|", ""), eol = if (.Platform$OS.type == "windows") "\r\n" else "\n", na = "", dec = ".", row.names = FALSE, col.names = TRUE, qmethod = c("double", "escape"), logical01 = getOption("datatable.logical01", FALSE), logicalAsInt = NULL, scipen = getOption("scipen", 0L), dateTimeAs = c("ISO", "squash", "epoch", "write.csv"), buffMB = 8L, nThread = getDTthreads(verbose), showProgress = getOption("datatable.showProgress",      interactive()), compress = c("auto", "none", "gzip"), compressLevel = 6L, yaml = FALSE, bom = FALSE, verbose = getOption("datatable.verbose", FALSE), encoding = "")  {     na = as.character(na[1L])     if (length(encoding) != 1L || !encoding %chin% c("", "UTF-8", "native")) {         stopf("Argument 'encoding' must be '', 'UTF-8' or 'native'.")     }     qmethod = match.arg(qmethod)     compress = match.arg(compress)     dateTimeAs = match.arg(dateTimeAs)     dateTimeAs = chmatch(dateTimeAs, c("ISO", "squash", "epoch", "write.csv")) - 1L     if (!is.null(logicalAsInt)) {         stopf("logicalAsInt has been renamed logical01 for consistency with fread.")     }     scipen = if (is.numeric(scipen))          as.integer(scipen)     else 0L     buffMB = as.integer(buffMB)     nThread = as.integer(nThread)     compressLevel = as.integer(compressLevel)     if (is.matrix(x)) {         messagef("x being coerced from class: matrix to data.table")         if (row.names && !is.null(rownames(x))) {             row.names = FALSE             x = as.data.table(x, keep.rownames = "")         }         else {             x = as.data.table(x)         }     }     stopifnot(is.list(x), identical(quote, "auto") || isTRUEorFALSE(quote), is.character(sep) && length(sep) == 1L && (nchar(sep) == 1L || identical(sep, "")), is.character(sep2) && length(sep2) == 3L && nchar(sep2[2L]) == 1L, is.character(dec) && length(dec) == 1L && nchar(dec) == 1L, dec != sep, is.character(eol) && length(eol) == 1L, length(qmethod) == 1L && qmethod %chin% c("double", "escape"), length(compress) == 1L && compress %chin% c("auto", "none", "gzip"), length(compressLevel) == 1L &&          0L <= compressLevel && compressLevel <= 9L, isTRUEorFALSE(col.names), isTRUEorFALSE(append), isTRUEorFALSE(row.names), isTRUEorFALSE(verbose), isTRUEorFALSE(showProgress), isTRUEorFALSE(logical01), isTRUEorFALSE(bom), length(na) == 1L, is.character(file) && length(file) == 1L && !is.na(file), length(buffMB) == 1L && !is.na(buffMB) && 1L <= buffMB && buffMB <= 1024L, length(nThread) == 1L && !is.na(nThread) && nThread >= 1L)     is_gzip = compress == "gzip" || (compress == "auto" && endsWithAny(file, ".gz"))     file = path.expand(file)     if (append && (file == "" || file.exists(file))) {         if (missing(col.names))              col.names = FALSE         if (verbose)              catf("Appending to existing file so setting bom=FALSE and yaml=FALSE\n")         bom = FALSE         yaml = FALSE     }     if (identical(quote, "auto"))          quote = NA     if (file == "") {         nThread = 1L         showProgress = FALSE         eol = "\n"     }     if (NCOL(x) == 0L && file != "") {         if (file.exists(file)) {             suggested <- if (append)                  ""             else gettextf("\nIf you intended to overwrite the file at %s with an empty one, please use file.remove first.", file)             warningf("Input has no columns; doing nothing.%s", suggested)             return(invisible())         }         else {             warningf("Input has no columns; creating an empty file at '%s' and exiting.", file)             file.create(file)             return(invisible())         }     }     yaml = if (!yaml)          ""     else {         if (!requireNamespace("yaml", quietly = TRUE))              stopf("'data.table' relies on the package 'yaml' to write the file header; please add this to your library with install.packages('yaml') and try again.")         schema_vec = sapply(x, class)         if (is.list(schema_vec))              schema_vec = sapply(schema_vec, `[`, 1L)         schema_vec = list(name = names(schema_vec), type = as.vector(schema_vec))         yaml_header = list(source = sprintf("R[v%s.%s]::data.table[v%s]::fwrite", R.version$major, R.version$minor, format(tryCatch(utils::packageVersion("data.table"), error = function(e) "DEV"))), creation_time_utc = format(Sys.time(), tz = "UTC"), schema = list(fields = lapply(seq_along(x), function(i) list(name = schema_vec$name[i], type = schema_vec$type[i]))), header = col.names, sep = sep, sep2 = sep2, eol = eol, na.strings = na, dec = dec, qmethod = qmethod, logical01 = logical01)         paste0("---", eol, yaml::as.yaml(yaml_header, line.sep = eol), "---", eol)     }     file = enc2native(file)     if (encoding %chin% c("UTF-8", "native")) {         enc = switch(encoding, `UTF-8` = enc2utf8, native = enc2native)         x = lapply(x, function(x) {             if (is.character(x))                  x = enc(x)             if (is.factor(x))                  levels(x) = enc(levels(x))             x         })     }     .Call(CfwriteR, x, file, sep, sep2, eol, na, dec, quote, qmethod == "escape", append, row.names, col.names, logical01, scipen, dateTimeAs, buffMB, nThread, showProgress, is_gzip, compressLevel, bom, yaml, verbose, encoding)     invisible() })(dec = ".", yaml = TRUE, x = structure(list(Sepal.Length = c(5.1, 4.9, 4.7, 4.6, 5, 5.4, 4.6, 5, 4.4, 4.9, 5.4, 4.8, 4.8, 4.3, 5.8, 5.7, 5.4, 5.1, 5.7, 5.1, 5.4, 5.1, 4.6, 5.1, 4.8, 5, 5, 5.2, 5.2, 4.7, 4.8, 5.4, 5.2, 5.5, 4.9, 5, 5.5, 4.9, 4.4, 5.1, 5, 4.5, 4.4, 5, 5.1, 4.8, 5.1, 4.6, 5.3, 5, 7, 6.4, 6.9, 5.5, 6.5, 5.7, 6.3, 4.9, 6.6, 5.2, 5, 5.9, 6, 6.1, 5.6, 6.7, 5.6, 5.8, 6.2, 5.6, 5.9, 6.1, 6.3, 6.1, 6.4, 6.6, 6.8, 6.7, 6, 5.7, 5.5, 5.5, 5.8, 6, 5.4, 6, 6.7, 6.3, 5.6, 5.5, 5.5, 6.1, 5.8, 5,  5.6, 5.7, 5.7, 6.2, 5.1, 5.7, 6.3, 5.8, 7.1, 6.3, 6.5, 7.6, 4.9, 7.3, 6.7, 7.2, 6.5, 6.4, 6.8, 5.7, 5.8, 6.4, 6.5, 7.7, 7.7, 6, 6.9, 5.6, 7.7, 6.3, 6.7, 7.2, 6.2, 6.1, 6.4, 7.2, 7.4, 7.9, 6.4, 6.3, 6.1, 7.7, 6.3, 6.4, 6, 6.9, 6.7, 6.9, 5.8, 6.8, 6.7, 6.7, 6.3, 6.5, 6.2, 5.9), Sepal.Width = c(3.5, 3, 3.2, 3.1, 3.6, 3.9, 3.4, 3.4, 2.9, 3.1, 3.7, 3.4, 3, 3, 4, 4.4, 3.9, 3.5, 3.8, 3.8, 3.4, 3.7, 3.6, 3.3, 3.4, 3, 3.4, 3.5, 3.4, 3.2, 3.1, 3.4, 4.1, 4.2, 3.1, 3.2, 3.5, 3.6, 3, 3.4, 3.5, 2.3, 3.2, 3.5,  3.8, 3, 3.8, 3.2, 3.7, 3.3, 3.2, 3.2, 3.1, 2.3, 2.8, 2.8, 3.3, 2.4, 2.9, 2.7, 2, 3, 2.2, 2.9, 2.9, 3.1, 3, 2.7, 2.2, 2.5, 3.2, 2.8, 2.5, 2.8, 2.9, 3, 2.8, 3, 2.9, 2.6, 2.4, 2.4, 2.7, 2.7, 3, 3.4, 3.1, 2.3, 3, 2.5, 2.6, 3, 2.6, 2.3, 2.7, 3, 2.9, 2.9, 2.5, 2.8, 3.3, 2.7, 3, 2.9, 3, 3, 2.5, 2.9, 2.5, 3.6, 3.2, 2.7, 3, 2.5, 2.8, 3.2, 3, 3.8, 2.6, 2.2, 3.2, 2.8, 2.8, 2.7, 3.3, 3.2, 2.8, 3, 2.8, 3, 2.8, 3.8, 2.8, 2.8, 2.6, 3, 3.4, 3.1, 3, 3.1, 3.1, 3.1, 2.7, 3.2, 3.3, 3, 2.5, 3, 3.4, 3), Petal.Length = c(1.4,  1.4, 1.3, 1.5, 1.4, 1.7, 1.4, 1.5, 1.4, 1.5, 1.5, 1.6, 1.4, 1.1, 1.2, 1.5, 1.3, 1.4, 1.7, 1.5, 1.7, 1.5, 1, 1.7, 1.9, 1.6, 1.6, 1.5, 1.4, 1.6, 1.6, 1.5, 1.5, 1.4, 1.5, 1.2, 1.3, 1.4, 1.3, 1.5, 1.3, 1.3, 1.3, 1.6, 1.9, 1.4, 1.6, 1.4, 1.5, 1.4, 4.7, 4.5, 4.9, 4, 4.6, 4.5, 4.7, 3.3, 4.6, 3.9, 3.5, 4.2, 4, 4.7, 3.6, 4.4, 4.5, 4.1, 4.5, 3.9, 4.8, 4, 4.9, 4.7, 4.3, 4.4, 4.8, 5, 4.5, 3.5, 3.8, 3.7, 3.9, 5.1, 4.5, 4.5, 4.7, 4.4, 4.1, 4, 4.4, 4.6, 4, 3.3, 4.2, 4.2, 4.2, 4.3, 3, 4.1, 6, 5.1, 5.9, 5.6, 5.8,  6.6, 4.5, 6.3, 5.8, 6.1, 5.1, 5.3, 5.5, 5, 5.1, 5.3, 5.5, 6.7, 6.9, 5, 5.7, 4.9, 6.7, 4.9, 5.7, 6, 4.8, 4.9, 5.6, 5.8, 6.1, 6.4, 5.6, 5.1, 5.6, 6.1, 5.6, 5.5, 4.8, 5.4, 5.6, 5.1, 5.1, 5.9, 5.7, 5.2, 5, 5.2, 5.4, 5.1), Petal.Width = c(0.2, 0.2, 0.2, 0.2, 0.2, 0.4, 0.3, 0.2, 0.2, 0.1, 0.2, 0.2, 0.1, 0.1, 0.2, 0.4, 0.4, 0.3, 0.3, 0.3, 0.2, 0.4, 0.2, 0.5, 0.2, 0.2, 0.4, 0.2, 0.2, 0.2, 0.2, 0.4, 0.1, 0.2, 0.2, 0.2, 0.2, 0.1, 0.2, 0.2, 0.3, 0.3, 0.2, 0.6, 0.4, 0.3, 0.2, 0.2, 0.2, 0.2, 1.4, 1.5, 1.5, 1.3,  1.5, 1.3, 1.6, 1, 1.3, 1.4, 1, 1.5, 1, 1.4, 1.3, 1.4, 1.5, 1, 1.5, 1.1, 1.8, 1.3, 1.5, 1.2, 1.3, 1.4, 1.4, 1.7, 1.5, 1, 1.1, 1, 1.2, 1.6, 1.5, 1.6, 1.5, 1.3, 1.3, 1.3, 1.2, 1.4, 1.2, 1, 1.3, 1.2, 1.3, 1.3, 1.1, 1.3, 2.5, 1.9, 2.1, 1.8, 2.2, 2.1, 1.7, 1.8, 1.8, 2.5, 2, 1.9, 2.1, 2, 2.4, 2.3, 1.8, 2.2, 2.3, 1.5, 2.3, 2, 2, 1.8, 2.1, 1.8, 1.8, 1.8, 2.1, 1.6, 1.9, 2, 2.2, 1.5, 1.4, 2.3, 2.4, 1.8, 1.8, 2.1, 2.4, 2.3, 1.9, 2.3, 2.5, 2.3, 1.9, 2, 2.3, 1.8), Species = structure(c(1L, 1L, 1L, 1L, 1L, 1L,  1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,  3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), levels = c("setosa", "versicolor", "virginica"), class = "factor")), class = "data.frame", row.names = c(NA, -150L)), file = structure("/tmp/Rtmpe46XH3/file1b1750286afe1b.csvy", class = c("rio_csvy", "character")), sep = ",", row.names = FALSE, col.names = TRUE, append = FALSE)`: 'data.table' relies on the package 'yaml' to write the file header; please add this to your library with install.packages('yaml') and try again.
  Backtrace:
       ▆
    1. └─withr::with_tempfile(...) at test_format_csvy.R:2:5
    2.   └─base::eval(substitute(code), envir = env)
    3.     └─base::eval(substitute(code), envir = env)
    4.       ├─base::suppressWarnings(export(iris, iris_file)) at test_format_csvy.R:3:9
    5.       │ └─base::withCallingHandlers(...)
    6.       └─rio::export(iris, iris_file)
    7.         ├─rio:::.export(file = file, x = x, ...)
    8.         └─rio:::.export.rio_csvy(file = file, x = x, ...)
    9.           └─rio:::export_delim(...)
   10.             └─rio:::.docall(...)
   11.               ├─R.utils::doCall(...)
   12.               ├─R.utils::doCall.default(...)
   13.               │ └─base::do.call(.fcn, args = args, envir = envir)
   14.               └─data.table (local) `<fn>`(...)
   15.                 └─data.table:::stopf("'data.table' relies on the package 'yaml' to write the file header; please add this to your library with install.packages('yaml') and try again.")
   16.                   └─data.table:::raise_condition(...)
  
  ══ DONE ════════════════════════════════════════════════════════════════════════
  Error:
  ! Test failures.
  Execution halted