- using R Under development (unstable) (2025-02-20 r87772)
- using platform: x86_64-pc-linux-gnu
- R was compiled by
gcc-14 (Debian 14.2.0-16) 14.2.0
GNU Fortran (Debian 14.2.0-16) 14.2.0
- running under: Debian GNU/Linux trixie/sid
- using session charset: UTF-8
- checking for file ‘PubChemR/DESCRIPTION’ ... OK
- checking extension type ... Package
- this is package ‘PubChemR’ version ‘2.1.3’
- package encoding: UTF-8
- 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 ‘PubChemR’ can be installed ... OK
See the install log for details.
- 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 ... [1s/2s] OK
- checking whether the package can be loaded with stated dependencies ... [1s/1s] OK
- checking whether the package can be unloaded cleanly ... [1s/2s] OK
- checking whether the namespace can be loaded with stated dependencies ... [1s/1s] OK
- checking whether the namespace can be unloaded cleanly ... [1s/2s] OK
- checking loading without being on the library search path ... [1s/2s] 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 ... [9s/12s] OK
- checking Rd files ... [0s/1s] 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 ... [1s/72s] ERROR
Running examples in ‘PubChemR-Ex.R’ failed
The error most likely occurred in:
> base::assign(".ptime", proc.time(), pos = "CheckExEnv")
> ### Name: download
> ### Title: Download Content from PubChem and Save to a File
> ### Aliases: download
>
> ### ** Examples
>
> # Download JSON file for the compound "aspirin" into "Aspirin.JSON"
> # A folder named "Compound" will be created under current directory"
> download(
+ filename = "Aspirin",
+ outformat = "json",
+ path = "./Compound",
+ identifier = "aspirin",
+ namespace = "name",
+ domain = "compound",
+ overwrite = TRUE
+ )
Error in curl::curl_fetch_memory(url, handle = handle) :
Timeout was reached [pubchem.ncbi.nlm.nih.gov]: Resolving timed out after 10000 milliseconds
Calls: download ... request_fetch.write_memory -> <Anonymous> -> raise_libcurl_error
Execution halted
Examples with CPU (user + system) or elapsed time > 5s
user system elapsed
AIDs-SIDs-CIDs 0.087 0.021 60.156
- checking for unstated dependencies in ‘tests’ ... OK
- checking tests ... [5s/358s] ERROR
Running ‘testthat.R’ [5s/358s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
> # This file is part of the standard setup for testthat.
> # It is recommended that you do not modify it.
> #
> # Where should you do additional test configuration?
> # Learn more about the roles of various files in:
> # * https://r-pkgs.org/testing-design.html#sec-tests-files-overview
> # * https://testthat.r-lib.org/articles/special-files.html
>
> library(testthat)
> library(PubChemR)
>
> # Functions used globally in package tests (testthat) ----
> allSuccess <- function(object){
+ all(unlist(lapply(object$result, "[[", "success")))
+ }
>
> testRequest <- function(object, ...){
+ test_that(paste0("pulling via '", request_args(object, "namespace"), "' is succesfull"), {
+ expect_true(allSuccess(object))
+ })
+
+ test_that("prints output to the R Console", {
+ expect_output(print(object))
+ })
+ }
>
> # Set 'skipTests' FALSE to run test codes. This is set TRUE to skip
> # all tests on GitHub actions since some of PubChem requests were incomplete due to
> # timeout and/or API related issues. BUILD & CHECK actions on GitHub returns error
> # even if all tests were passed on local installations of R.
> skipTests <- FALSE
>
> if (!skipTests){
+ test_check("PubChemR")
+ }
Error in curl::curl_fetch_memory(url, handle = handle) :
Timeout was reached [pubchem.ncbi.nlm.nih.gov]: Resolving timed out after 10000 milliseconds
Error in curl::curl_fetch_memory(url, handle = handle) :
Timeout was reached [pubchem.ncbi.nlm.nih.gov]: Resolving timed out after 10000 milliseconds
Error in curl::curl_fetch_memory(url, handle = handle) :
Timeout was reached [pubchem.ncbi.nlm.nih.gov]: Resolving timed out after 10000 milliseconds
Error in curl::curl_fetch_memory(url, handle = handle) :
Timeout was reached [pubchem.ncbi.nlm.nih.gov]: Connection timed out after 10000 milliseconds
The file has been saved to '/tmp/RtmpBnDmiI/aspirin.sdf'
Request failed [400]. Retrying in 3.3 seconds...
Request failed [400]. Retrying in 1 seconds...
SDF file saved successfully:
File Name: 'aspirin_20250221_134939.sdf'
Saved at: /tmp/RtmpBnDmiI
SDF file saved successfully:
File Name: 'file.sdf'
Saved at: /tmp/RtmpBnDmiI
'path' is not specified. Saving files into a temporary folder.
SDF file saved successfully:
File Name: 'file.sdf'
Saved at: /tmp/RtmpBnDmiI
Failed to retrieve synonyms for identifier 'aspirin': <text>:1:9: unexpected symbol
1: Timeout was
^
Failed to retrieve synonyms for identifier 'ibuprofen': <text>:1:9: unexpected symbol
1: Timeout was
^
Failed to retrieve synonyms for identifier 'aspirin': <text>:1:9: unexpected symbol
1: Timeout was
^
Failed to retrieve synonyms for identifier '2244': <text>:1:9: unexpected symbol
1: Timeout was
^
Failed to retrieve synonyms for identifier 'dncr': <text>:1:9: unexpected symbol
1: Timeout was
^
[ FAIL 22 | WARN 11 | SKIP 0 | PASS 179 ]
══ Failed tests ════════════════════════════════════════════════════════════════
── Failure ('test-00_globals.R:66:3'): succesfully returned primary class of given object ──
primaryClass(instance(tmp)) (`actual`) not equal to "PubChemInstance" (`expected`).
`actual`: "NULL"
`expected`: "PubChemInstance"
── Error ('test-00_globals.R:83:3'): slot details successfully printed ─────────
<subscriptOutOfBoundsError/error/condition>
Error in `x[[1]]`: subscript out of bounds
Backtrace:
▆
1. ├─testthat::expect_output(printSlotDetails(find_last_layer(pview$result))) at test-00_globals.R:83:3
2. │ └─testthat:::quasi_capture(...)
3. │ ├─testthat (local) .capture(...)
4. │ │ └─testthat::capture_output_lines(code, print, width = width)
5. │ │ └─testthat:::eval_with_output(code, print = print, width = width)
6. │ │ ├─withr::with_output_sink(path, withVisible(code))
7. │ │ │ └─base::force(code)
8. │ │ └─base::withVisible(code)
9. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
10. ├─PubChemR:::printSlotDetails(find_last_layer(pview$result))
11. └─PubChemR:::find_last_layer(pview$result)
── Error ('test-00_globals.R:90:3'): section details successfully printed ──────
Error in `UseMethod("section")`: no applicable method for 'section' applied to an object of class "NULL"
Backtrace:
▆
1. ├─PubChemR::section(pview, "S1") at test-00_globals.R:90:3
2. └─PubChemR:::section.PugViewInstance(pview, "S1")
3. ├─base::do.call("section", call_args)
4. └─PubChemR::section(object = NULL, .id = "S1", .verbose = FALSE)
── Failure ('test-download.R:51:5'): overwrite file if it already exists. ──────
identical(ctime, mtime) is not FALSE
`actual`: TRUE
`expected`: FALSE
── Failure ('test-download.R:119:3'): create 'path' if it does not exist. ──────
all(file.exists(json_file), file.exists(sdf_file)) is not TRUE
`actual`: FALSE
`expected`: TRUE
── Failure ('test-get_sids.R:24:5'): SIDs succesfully returns 'data.frame' and 'list' ──
{
...
} is not TRUE
`actual`: FALSE
`expected`: TRUE
Backtrace:
▆
1. └─PubChemR (local) toDataFrame(object) at test-get_sids.R:24:5
2. └─testthat::expect_true(...) at test-get_sids.R:5:3
── Failure ('test-get_sids.R:24:5'): SIDs succesfully returns 'data.frame' and 'list' ──
{
...
} is not TRUE
`actual`: FALSE
`expected`: TRUE
Backtrace:
▆
1. └─PubChemR (local) toDataFrame(object) at test-get_sids.R:24:5
2. └─testthat::expect_true(...) at test-get_sids.R:5:3
── Failure ('test-get_sids.R:24:5'): SIDs succesfully returns 'data.frame' and 'list' ──
{
...
} is not TRUE
`actual`: FALSE
`expected`: TRUE
Backtrace:
▆
1. └─PubChemR (local) toDataFrame(object) at test-get_sids.R:24:5
2. └─testthat::expect_true(...) at test-get_sids.R:5:3
── Failure ('test-get_sids.R:53:3'): pulling sids for multiple identifiers with undefined input. ──
sids$result[[1]]$success is not TRUE
`actual` is NULL
`expected` is a logical vector (TRUE)
── Failure ('test-get_sids.R:54:3'): pulling sids for multiple identifiers with undefined input. ──
sids$result[[2]]$success is not FALSE
`actual` is NULL
`expected` is a logical vector (FALSE)
── Failure ('test-get_sids.R:63:3'): undefined/incorrect identifier returns error ──
sids$result[[1]]$success is not FALSE
`actual` is NULL
`expected` is a logical vector (FALSE)
── Failure ('test-get_sids.R:64:3'): undefined/incorrect identifier returns error ──
!is.null(sids$result[[1]]$error) is not TRUE
`actual`: FALSE
`expected`: TRUE
── Failure ('test-get_substances.R:10:3'): instance() is succesfull. ───────────
`print\(instance\(subs, "aspirin"\)\)` does not match "Substance Data from PubChem Database".
Actual value: "NULL"
Backtrace:
▆
1. └─testthat::expect_output(print(instance(subs, "aspirin")), "Substance Data from PubChem Database") at test-get_substances.R:10:3
2. └─testthat::expect_match(...)
3. └─testthat:::expect_match_(...)
── Failure ('test-get_substances.R:27:3'): incorrect/undefined substance identifier returns error ──
{
...
} is not FALSE
`actual`: TRUE
`expected`: FALSE
── Failure ('test-get_substances.R:30:3'): incorrect/undefined substance identifier returns error ──
all(!is.null(tmp$result[[1]]$error), is.list(tmp$result[[1]]$error)) is not TRUE
`actual`: FALSE
`expected`: TRUE
── Failure ('test-get_substances.R:36:3'): '.verbose' works as expected ────────
retrieve(...) returns invisibly, not visibly.
── Failure ('test-get_substances.R:39:3'): '.verbose' works as expected ────────
retrieve(...) returns invisibly, not visibly.
── Failure ('test-get_substances.R:45:3'): NULL returns for unknown/empty slots. ──
retrieve(...) is not NULL
`actual` is a character vector ('The object passed to \'retrieve\' is NULL. Please provide a valid object of the expected class.')
`expected` is NULL
── Failure ('test-get_substances.R:50:3'): return error for unavailable substance idx. ──
`retrieve(tmp, .slot = "comment", .to.data.frame = TRUE, .idx = 66666)` did not throw the expected error.
── Failure ('test-get_synonyms.R:10:3'): synonyms returns list or data.frame correctly ──
{
...
} is not TRUE
`actual`: FALSE
`expected`: TRUE
── Failure ('test-get_synonyms.R:59:3'): return error for incomplete/unknown identifiers ──
allSuccess(tmp) is not FALSE
`actual`: TRUE
`expected`: FALSE
── Failure ('test-get_synonyms.R:60:3'): return error for incomplete/unknown identifiers ──
is.null(tmp$result[[1]]$error) is not FALSE
`actual`: TRUE
`expected`: FALSE
[ FAIL 22 | WARN 11 | SKIP 0 | PASS 179 ]
Error: Test failures
Execution halted
- checking for unstated dependencies in vignettes ... OK
- checking package vignettes ... OK
- checking re-building of vignette outputs ... [63s/279s] ERROR
Error(s) in re-building vignettes:
...
--- re-building ‘Enhancing_Chemical_Data_Access_with_PubChemR.Rmd’ using rmarkdown
Quitting from lines 108-109 [unnamed-chunk-9] (Enhancing_Chemical_Data_Access_with_PubChemR.Rmd)
Error: processing vignette 'Enhancing_Chemical_Data_Access_with_PubChemR.Rmd' failed with diagnostics:
no applicable method for 'sectionList' applied to an object of class "NULL"
--- failed re-building ‘Enhancing_Chemical_Data_Access_with_PubChemR.Rmd’
--- re-building ‘Exploring_Chemical_Data_with_PubChemR.Rmd’ using rmarkdown
--- finished re-building ‘Exploring_Chemical_Data_with_PubChemR.Rmd’
--- re-building ‘Working_with_PubChemR_to_Access_Chemical_Data.Rmd’ using rmarkdown
--- finished re-building ‘Working_with_PubChemR_to_Access_Chemical_Data.Rmd’
SUMMARY: processing the following file failed:
‘Enhancing_Chemical_Data_Access_with_PubChemR.Rmd’
Error: Vignette re-building failed.
Execution halted
- checking PDF version of manual ... [5s/7s] OK
- checking HTML version of manual ... [1s/1s] OK
- checking for non-standard things in the check directory ... NOTE
Found the following files/directories:
‘Compound’
- DONE
Status: 3 ERRORs, 1 NOTE