* using log directory ‘/srv/hornik/tmp/CRAN_pretest/datapackage.Rcheck’ * using R Under development (unstable) (2025-03-10 r87916) * using platform: x86_64-pc-linux-gnu * R was compiled by Debian clang version 19.1.7 (1+b1) Debian flang-new version 19.1.7 (1+b1) * running under: Debian GNU/Linux trixie/sid * using session charset: UTF-8 * checking for file ‘datapackage/DESCRIPTION’ ... OK * checking extension type ... Package * this is package ‘datapackage’ version ‘0.1.0’ * package encoding: UTF-8 * checking CRAN incoming feasibility ... [3s/6s] NOTE Maintainer: ‘Jan van der Laan ’ New submission * checking package namespace information ... OK * checking package dependencies ... OK * checking if this is a source package ... OK * checking if there is a namespace ... OK * checking for executable files ... OK * checking for hidden files and directories ... OK * checking for portable file names ... OK * checking for sufficient/correct file permissions ... OK * checking whether package ‘datapackage’ can be installed ... [2s/2s] OK * checking package directory ... OK * checking for future file timestamps ... OK * checking ‘build’ directory ... OK * checking DESCRIPTION meta-information ... OK * checking top-level files ... OK * checking for left-over files ... OK * checking index information ... OK * checking package subdirectories ... OK * checking code files for non-ASCII characters ... OK * checking R files for syntax errors ... OK * checking whether the package can be loaded ... [0s/0s] OK * checking whether the package can be loaded with stated dependencies ... [0s/0s] OK * checking whether the package can be unloaded cleanly ... [0s/0s] OK * checking whether the namespace can be loaded with stated dependencies ... [0s/0s] OK * checking whether the namespace can be unloaded cleanly ... [0s/0s] OK * checking loading without being on the library search path ... [0s/0s] OK * checking use of S3 registration ... OK * checking dependencies in R code ... OK * checking S3 generic/method consistency ... OK * checking replacement functions ... OK * checking foreign function calls ... OK * checking R code for possible problems ... [5s/5s] OK * checking Rd files ... [0s/0s] OK * checking Rd metadata ... OK * checking Rd line widths ... OK * checking Rd cross-references ... OK * checking for missing documentation entries ... OK * checking for code/documentation mismatches ... OK * checking Rd \usage sections ... OK * checking Rd contents ... OK * checking for unstated dependencies in examples ... OK * checking installed files from ‘inst/doc’ ... OK * checking files in ‘vignettes’ ... OK * checking examples ... [0s/0s] OK * checking for unstated dependencies in ‘tests’ ... OK * checking tests ... [6s/6s] ERROR Running ‘bareNumber.R’ [0s/0s] Running ‘boolean.R’ [0s/0s] Running ‘check_constraint.R’ [0s/0s] Running ‘csv_reader.R’ [0s/0s] Running ‘csv_writer.R’ [0s/0s] Running ‘date.R’ [0s/0s] Running ‘datetime.R’ [0s/0s] Running ‘dp_check_dataresource.R’ [0s/0s] Running ‘dp_check_field.R’ [0s/0s] Running ‘dp_generate_dataresource.R’ [0s/0s] Running ‘dp_generate_fielddescriptor.R’ [0s/0s] Running ‘dp_save_as_datapackage.R’ [0s/0s] Running ‘dp_write_data.R’ [0s/0s] Running ‘dp_write_data2.R’ [0s/0s] Running ‘example01.R’ [0s/0s] Running ‘fixed_width.R’ [0s/0s] Running ‘helpers.R’ [0s/0s] Running ‘integer.R’ [0s/0s] Running ‘new_dataresource.R’ [0s/0s] Running ‘number.R’ [0s/0s] Running ‘properties_fielddescriptor.R’ [0s/0s] Running ‘string.R’ [0s/0s] Running ‘time.R’ [0s/0s] Running ‘year.R’ [0s/0s] Running ‘yearmonth.R’ [0s/0s] Running the tests in ‘tests/csv_writer.R’ failed. Complete output: > library(datapackage) > source("helpers.R") > > > fn <- tempfile() > dir.create(fn, recursive = TRUE, showWarnings = FALSE) > > > # We are going to reuse the datapackage for different > # variations of the resources > datapackage <- list( + name = "test", + resources = list() + ) > datapackage <- structure(datapackage, + class = c("readonlydatapackage", "datapackage"), + filename = "datapackage.json", + path = fn) > > > > # === SIMPLE EXAMPLE > data <- data.frame( + col1 = c(1L, 2L), + col2 = c("A", "B") + ) > resource <- list( + name = "test", + path = "test.csv", + schema = list( + fields = list( + list(name = "col1", type = "integer"), + list(name = "col2", type = "string") + ) + ), + dialect = list( + delimiter = ";", + decimalChar = "," + ) + ) > expected <- c('"col1";"col2"', '1;"A"', '2;"B"') > resource <- structure(resource, class = "dataresource") > datapackage$resources[[1]] <- resource > csv_writer(data, "test", datapackage) > res <- readLines(file.path(fn, "test.csv")) > expect_equal(res, expected) > csv_writer(data, "test", datapackage, use_fwrite = TRUE) > res <- readLines(file.path(fn, "test.csv")) > expect_equal(res, expected) > > res <- dp_get_data(datapackage, "test") > expect_equal(res$col1, data$col1, attributes = FALSE) > expect_equal(res$col2, data$col2, attributes = FALSE) > > > # === DECIMALCHAR IN FIELD > data <- data.frame( + col1 = c(1.22, -2.33), + col2 = c(1000.10, NA) + ) > resource <- list( + name = "test", + path = "test.csv", + schema = list( + fields = list( + list(name = "col1", type = "number", decimalChar = ","), + list(name = "col2", type = "number", decimalChar = ",") + ) + ), + dialect = list( + delimiter = ";" + ) + ) > expected <- c('"col1";"col2"', '1,22;1000,1', '-2,33;') > resource <- structure(resource, class = "dataresource") > datapackage$resources[[1]] <- resource > csv_writer(data, "test", datapackage) > res <- readLines(file.path(fn, "test.csv")) > expect_equal(res, expected) > > csv_writer(data, "test", datapackage, use_fwrite = TRUE) > res <- readLines(file.path(fn, "test.csv")) > expect_equal(res, expected) > > res <- dp_get_data(datapackage, "test") > expect_equal(res$col1, data$col1, attributes = FALSE) > expect_equal(res$col2, data$col2, attributes = FALSE) > > > # === DECIMALCHAR IN DIALECT > data <- data.frame( + col1 = c(1.22, -2.33), + col2 = c(1000.10, NA) + ) > resource <- list( + name = "test", + path = "test.csv", + schema = list( + fields = list( + list(name = "col1", type = "number"), + list(name = "col2", type = "number") + ) + ), + dialect = list( + delimiter = ";", + decimalChar = "," + ) + ) > expected <- c('"col1";"col2"', '1,22;1000,1', '-2,33;') > resource <- structure(resource, class = "dataresource") > datapackage$resources[[1]] <- resource > csv_writer(data, "test", datapackage) > res <- readLines(file.path(fn, "test.csv")) > expect_equal(res, expected) > > csv_writer(data, "test", datapackage, use_fwrite = TRUE) > res <- readLines(file.path(fn, "test.csv")) > expect_equal(res, expected) > > res <- dp_get_data(datapackage, "test") > expect_equal(res$col1, data$col1, attributes = FALSE) > expect_equal(res$col2, data$col2, attributes = FALSE) > > > # === GROUPCHAR > data <- data.frame( + col1 = c(1.22, -2.33), + col2 = c(1000.10, NA) + ) > resource <- list( + name = "test", + path = "test.csv", + schema = list( + fields = list( + list(name = "col1", type = "number", groupChar = " "), + list(name = "col2", type = "number", groupChar = " ") + ) + ), + dialect = list( + delimiter = ";", + decimalChar = "," + ) + ) > expected <- c('"col1";"col2"', '"1,22";"1 000,1"', '"-2,33";') > resource <- structure(resource, class = "dataresource") > datapackage$resources[[1]] <- resource > csv_writer(data, "test", datapackage) > res <- readLines(file.path(fn, "test.csv")) > expect_equal(res, expected) > > csv_writer(data, "test", datapackage, use_fwrite = TRUE) > res <- readLines(file.path(fn, "test.csv")) > expect_equal(res, expected) > > res <- dp_get_data(datapackage, "test") > expect_equal(res$col1, data$col1, attributes = FALSE) > expect_equal(res$col2, data$col2, attributes = FALSE) > > > # === NUULSEQUENCE > data <- data.frame( + col1 = c(1.22, -2.33), + col2 = c(1000.10, NA) + ) > resource <- list( + name = "test", + path = "test.csv", + schema = list( + fields = list( + list(name = "col1", type = "number"), + list(name = "col2", type = "number") + ) + ), + dialect = list( + nullSequence = "FOO" + ) + ) > expected <- c('"col1","col2"', '1.22,1000.1', '-2.33,FOO') > resource <- structure(resource, class = "dataresource") > datapackage$resources[[1]] <- resource > csv_writer(data, "test", datapackage) > res <- readLines(file.path(fn, "test.csv")) > expect_equal(res, expected) > > csv_writer(data, "test", datapackage, use_fwrite = TRUE) > res <- readLines(file.path(fn, "test.csv")) > expect_equal(res, expected) > > res <- dp_get_data(datapackage, "test") > expect_equal(res$col1, data$col1, attributes = FALSE) > expect_equal(res$col2, data$col2, attributes = FALSE) > > > # === LOGICAL > data <- data.frame( + col1 = c(TRUE, FALSE), + col2 = c(TRUE, NA) + ) > resource <- list( + name = "test", + path = "test.csv", + schema = list( + fields = list( + list(name = "col1", type = "boolean"), + list(name = "col2", type = "boolean") + ) + ), + dialect = list( + delimiter = ";", + decimalChar = "," + ) + ) > expected <- c('"col1";"col2"', 'TRUE;TRUE', 'FALSE;') > resource <- structure(resource, class = "dataresource") > datapackage$resources[[1]] <- resource > csv_writer(data, "test", datapackage) > res <- readLines(file.path(fn, "test.csv")) > expect_equal(res, expected) > > csv_writer(data, "test", datapackage, use_fwrite = TRUE) > res <- readLines(file.path(fn, "test.csv")) > expect_equal(res, expected) > > res <- dp_get_data(datapackage, "test") > expect_equal(res$col1, data$col1, attributes = FALSE) > expect_equal(res$col2, data$col2, attributes = FALSE) > > > > # === LOGICAL > data <- data.frame( + col1 = c(TRUE, FALSE), + col2 = c(TRUE, NA) + ) > resource <- list( + name = "test", + path = "test.csv", + schema = list( + fields = list( + list(name = "col1", type = "boolean", + trueValues = c("RIGHT", "right"), + falseValues = c("NOT RIGHT")), + list(name = "col2", type = "boolean") + ) + ), + dialect = list( + delimiter = ";", + decimalChar = "," + ) + ) > expected <- c('"col1";"col2"', '"RIGHT";TRUE', '"NOT RIGHT";') > resource <- structure(resource, class = "dataresource") > datapackage$resources[[1]] <- resource > csv_writer(data, "test", datapackage) > res <- readLines(file.path(fn, "test.csv")) > expect_equal(res, expected) > > csv_writer(data, "test", datapackage, use_fwrite = TRUE) > res <- readLines(file.path(fn, "test.csv")) > expect_equal(res, expected) > > res <- dp_get_data(datapackage, "test") > expect_equal(res$col1, data$col1, attributes = FALSE) > expect_equal(res$col2, data$col2, attributes = FALSE) > > > # === DATE > data <- data.frame( + col1 = as.Date(c("2025-01-01", "2024-12-31")), + col2 = as.Date(c("2000-06-10", NA)) + ) > resource <- list( + name = "test", + path = "test.csv", + schema = list( + fields = list( + list(name = "col1", type = "date"), + list(name = "col2", type = "date", format = "%d-%m-%Y") + ) + ), + dialect = list( + delimiter = ";", + decimalChar = "," + ) + ) > expected <- c('"col1";"col2"', '"2025-01-01";"10-06-2000"', '"2024-12-31";') > resource <- structure(resource, class = "dataresource") > datapackage$resources[[1]] <- resource > csv_writer(data, "test", datapackage) > res <- readLines(file.path(fn, "test.csv")) > expect_equal(res, expected) > > csv_writer(data, "test", datapackage, use_fwrite = TRUE) > res <- readLines(file.path(fn, "test.csv")) > expect_equal(res, expected) > > res <- dp_get_data(datapackage, "test") > expect_equal(res$col1, data$col1, attributes = FALSE) > expect_equal(res$col2, data$col2, attributes = FALSE) > > > # === DATETIME > data <- data.frame( + col1 = as.POSIXct(c("2025-01-01 14:15:16", "2024-12-31 13:12:11"), tz = "CET"), + col2 = as.POSIXct(c("2000-06-10 00:01:02", NA), tz = "CET") + ) > resource <- list( + name = "test", + path = "test.csv", + schema = list( + fields = list( + list(name = "col1", type = "datetime"), + list(name = "col2", type = "datetime", format = "%d-%m-%Y %H:%M:%S") + ) + ), + dialect = list( + delimiter = ";", + decimalChar = "," + ) + ) > expected <- c('"col1";"col2"', '"2025-01-01T14:15:16+01:00";"10-06-2000 00:01:02"', '"2024-12-31T13:12:11+01:00";') > resource <- structure(resource, class = "dataresource") > datapackage$resources[[1]] <- resource > csv_writer(data, "test", datapackage) > res <- readLines(file.path(fn, "test.csv")) > expect_equal(res, expected) Error in expect_equal(res, expected) : isTRUE(all.equal(x, y)) is not TRUE Calls: expect_equal -> stopifnot Execution halted Running the tests in ‘tests/datetime.R’ failed. Complete output: > library(datapackage) > source("helpers.R") > > # === NO FORMAT > fielddescriptor <- list( + name = "datetime", + title = "A datetime field", + description = "A description", + type = "datetime" + ) > res <- dp_to_datetime(c("2020-01-01T12:13", "2022-12-31T12:13:14,15", "", NA), + fielddescriptor = fielddescriptor) > expect_equal(res, as.POSIXct(c("2020-01-01 12:13:00", "2022-12-31 12:13:14.15", NA, NA)), attributes = FALSE) > expect_attribute(res, "fielddescriptor", fielddescriptor) > suppressWarnings(expect_error( + dp_to_datetime(c("2022/01/01 14:12", "2024/01/31 12:23:12", "", NA), fielddescriptor = fielddescriptor) + )) > > # === DEFAULT FORMAT > fielddescriptor <- list( + name = "datetime", + title = "A datetime field", + description = "A description", + type = "datetime", + format = "default" + ) > res <- dp_to_datetime(c("2020-01-01T12:13", "2022-12-31T12:13:14,15", "", NA), + fielddescriptor = fielddescriptor) > expect_equal(res, as.POSIXct(c("2020-01-01 12:13:00", "2022-12-31 12:13:14.15", NA, NA)), attributes = FALSE) > expect_attribute(res, "fielddescriptor", fielddescriptor) > suppressWarnings(expect_error( + dp_to_datetime(c("2022/01/01 14:12", "2024/01/31 12:23:12", "", NA), fielddescriptor = fielddescriptor) + )) > > # === ANY FORMAT > fielddescriptor <- list( + name = "datetime", + title = "A datetime field", + description = "A description", + type = "datetime", + format = "any" + ) > res <- dp_to_datetime(c("2020/01/01 12:13", "2022/12/31 12:13:14,15", "", NA), + fielddescriptor = fielddescriptor) > expect_equal(res, as.POSIXct(c("2020-01-01 12:13:00", "2022-12-31 12:13:14.15", NA, NA)), attributes = FALSE) > expect_attribute(res, "fielddescriptor", fielddescriptor) > > # === %Y%M.. FORMAT > fielddescriptor <- list( + name = "datetime", + title = "A datetime field", + description = "A description", + type = "datetime", + format = "%m/%d/%Y %H:%M:%S" + ) > res <- dp_to_datetime(c("01/01/2020 12:13:00", "12/31/2022 12:13:14.15", "", NA), + fielddescriptor = fielddescriptor) > expect_equal(res, as.POSIXct(c("2020-01-01 12:13:00", "2022-12-31 12:13:14.15", NA, NA)), attributes = FALSE) > expect_attribute(res, "fielddescriptor", fielddescriptor) > suppressWarnings(expect_error( + dp_to_datetime(c("2022/01/01 14:12", "2024/01/31 12:23:12", "", NA), fielddescriptor = fielddescriptor) + )) > > # === NO FIELDDESCRIPTOR > fielddescriptor <- list( + type = "datetime" + ) > res <- dp_to_datetime(c("2020-01-01T12:13", "2022-12-31T12:13:14,15", "", NA)) > expect_equal(res, as.POSIXct(c("2020-01-01 12:13:00", "2022-12-31 12:13:14.15", NA, NA)), attributes = FALSE) > expect_attribute(res, "fielddescriptor", fielddescriptor) > suppressWarnings(expect_error( + dp_to_datetime(c("2022/01/01 14:12", "2024/01/31 12:23:12", "", NA), fielddescriptor = fielddescriptor) + )) > > > # === MISSINGVALUES > fielddescriptor <- list( + name = "datetime", + title = "A datetime field", + description = "A description", + type = "datetime", + missingValues = "--" + ) > res <- dp_to_datetime(c("2020-01-01T12:13", "2022-12-31T12:13:14,15", "--", NA), + fielddescriptor = fielddescriptor) > expect_equal(res, as.POSIXct(c("2020-01-01 12:13:00", "2022-12-31 12:13:14.15", NA, NA)), attributes = FALSE) > expect_attribute(res, "fielddescriptor", fielddescriptor) > suppressWarnings(expect_error( + res <- dp_to_datetime(c("2020-01-01T12:13", "2022-12-31T12:13:14,15", "", NA), + fielddescriptor = fielddescriptor) + )) > suppressWarnings(expect_error( + res <- dp_to_datetime(c("2020-01-01T12:13", "2022-12-31T12:13:14,15", "---", NA), + fielddescriptor = fielddescriptor) + )) > > > # === NUMERIC > res <- dp_to_datetime(0) > expect_equal(res, as.POSIXct("1970-01-01 00:00:00", tz = "GMT"), attributes = FALSE) > expect_attribute(res, "fielddescriptor", list(type = "datetime")) > > # === DATE > res <- dp_to_datetime(as.POSIXlt("1970-01-01 00:00")) > expect_equal(res, as.POSIXct("1970-01-01 00:00:00"), attributes = FALSE) > expect_attribute(res, "fielddescriptor", list(type = "datetime")) > > > # ============================================================================= > # csv_colclass > res <- datapackage:::csv_colclass_datetime() > expect_equal(res, "character") > > res <- datapackage:::csv_colclass(list(type = "datetime")) > expect_equal(res, "character") > > > # ============================================================================= > # csv_format > > res <- datapackage:::csv_format_datetime(as.POSIXct("2020-01-01 12:30", tz = "CET")) > expect_equal(res, "2020-01-01T12:30:00+01:00") Error in expect_equal(res, "2020-01-01T12:30:00+01:00") : isTRUE(all.equal(x, y)) is not TRUE Calls: expect_equal -> stopifnot Execution halted * checking for unstated dependencies in vignettes ... OK * checking package vignettes ... OK * checking re-building of vignette outputs ... [2s/2s] OK * checking PDF version of manual ... [3s/3s] OK * checking HTML version of manual ... [1s/1s] OK * checking for non-standard things in the check directory ... OK * checking for detritus in the temp directory ... OK * DONE Status: 1 ERROR, 1 NOTE