girke-lab / ChemmineR

Cheminformatics Toolkit for R
13 stars 7 forks source link

[macOS] Multiple errors in tests #19

Open barracuda156 opened 1 year ago

barracuda156 commented 1 year ago

What do I do wrong? :)

R version 4.3.1 (2023-06-16) -- "Beagle Scouts"
Copyright (C) 2023 The R Foundation for Statistical Computing
Platform: powerpc-apple-darwin10.0.0d2 (32-bit)

> BiocGenerics:::testPackage("ChemmineR")
======= testing fpset ===============================================
======= folding... 
Loading required package: RSQLite
[1] "createing db"
[1] "createing db"
Timing stopped at: 0.196 0.018 0.218
Error : cannot rollback - no transaction is active
In addition: There were 12 warnings (use warnings() to see them)
[1] "createing db"
Timing stopped at: 0.037 0.01 0.051
Error in checkTrue("new" %in% features) : Test not TRUE

Timing stopped at: 0.014 0.001 0.015
Error in value[[3L]](cond) : 
  error in findCompounds: no such table: feature_mw
Timing stopped at: 0.012 0.001 0.013
Error in value[[3L]](cond) : 
  error in findCompounds: no such table: feature_mw
Timing stopped at: 0 0 0.001
Error in DEACTIVATED("local test") : local test
Timing stopped at: 0 0 0
Error in DEACTIVATED("local test only") : local test only
found 0 ids
integer(0)
Timing stopped at: 0.015 0.001 0.017
Error in checkEqualsNumeric(length(ids), 100) : 
  Mean absolute difference: 100

In addition: Warning message:
RSQLite::dbGetException() is deprecated, please switch to using standard error handling via tryCatch(). 
starting parBatchByIndex
Loading required package: snow
 int(0) 
NULL
Timing stopped at: 0.089 0.042 2.574
Error in file(file, "r") : cannot open the connection
In addition: Warning message:
In file(file, "r") :
  cannot open file 'parBatch.out': No such file or directory
[1] "loading duplications"
Timing stopped at: 0.079 0.004 0.084
Error : cannot rollback - no transaction is active
fetching features: 
Timing stopped at: 0.065 0.001 0.066
Error in checkEquals(nrow(features), 100) : Mean absolute difference: 100

Timing stopped at: 0 0 0
Error in DEACTIVATED("causing timeout on bioc, disabling for now") : 
  causing timeout on bioc, disabling for now
test.formatConversions
Timing stopped at: 0 0 0
Error in DEACTIVATED("removed old version of function") : 
  removed old version of function
In addition: Warning messages:
1: call dbDisconnect() when finished working with a connection 
2: In for (i in seq_len(n)) { :
  closing unused connection 5 (<-localhost:11097)
3: In for (i in seq_len(n)) { :
  closing unused connection 4 (<-localhost:11097)
4: In for (i in seq_len(n)) { :
  closing unused connection 3 (<-localhost:11097)
Timing stopped at: 0 0 0
Error in DEACTIVATED("just for manual testing") : just for manual testing
Timing stopped at: 0 0 0
Error in DEACTIVATED("requires local files") : requires local files
Timing stopped at: 0 0 0.001
Error in DEACTIVATED("fails on ubuntu 16.04") : fails on ubuntu 16.04
Timing stopped at: 0 0 0
Error in DEACTIVATED("Causes SSL protocol version error on BioC") : 
  Causes SSL protocol version error on BioC
[1] "rotable bonds: "
CMP1 CMP2 CMP3 CMP4 CMP5 
  24   20   14   30   10 
[1] "650001" "650002" "650003" "650004" "650005"

RUNIT TEST PROTOCOL -- Fri Oct 27 06:37:43 2023 
*********************************************** 
Number of test functions: 23 
Number of deactivated test functions: 8 
Number of errors: 5 
Number of failures: 3 

1 Test Suite : 
ChemmineR RUnit Tests - 23 test functions, 5 errors, 3 failures
ERROR in test_ba.loadSdf: Error : cannot rollback - no transaction is active
FAILURE in test_bn.addNewFeatures: Error in checkTrue("new" %in% features) : Test not TRUE

ERROR in test_ca.findCompounds: Error in value[[3L]](cond) : 
  error in findCompounds: no such table: feature_mw
ERROR in test_da.getCompounds: Error in value[[3L]](cond) : 
  error in findCompounds: no such table: feature_mw
DEACTIVATED test_ea.comparison: local test
DEACTIVATED test_ea.dupDescriptors: local test only
FAILURE in test_fa.getALlCompoundIds: Error in checkEqualsNumeric(length(ids), 100) : 
  Mean absolute difference: 100

ERROR in test_fa.parBatchByIndex: Error in file(file, "r") : cannot open the connection
ERROR in test_ga.addDups: Error : cannot rollback - no transaction is active
FAILURE in test_ga.getCompoundFeatures: Error in checkEquals(nrow(features), 100) : Mean absolute difference: 100

DEACTIVATED test.3dCoords: causing timeout on bioc, disabling for now
DEACTIVATED test.genAPDescriptors: removed old version of function
DEACTIVATED test.largestComponent: just for manual testing
DEACTIVATED test.parseV3000: requires local files
DEACTIVATED test.propOB: fails on ubuntu 16.04
DEACTIVATED test.pubchemPUG: Causes SSL protocol version error on BioC

Test files with failing tests

   test_db.R 
     test_ba.loadSdf 
     test_bn.addNewFeatures 
     test_ca.findCompounds 
     test_da.getCompounds 
     test_ea.comparison 
     test_ea.dupDescriptors 
     test_fa.getALlCompoundIds 
     test_fa.parBatchByIndex 
     test_ga.addDups 
     test_ga.getCompoundFeatures 

   test_general.R 
     test.3dCoords 
     test.genAPDescriptors 
     test.largestComponent 
     test.parseV3000 
     test.propOB 
     test.pubchemPUG 

Error in BiocGenerics:::testPackage("ChemmineR") : 
  unit tests failed for package ChemmineR
Execution halted
barracuda156 commented 1 year ago

Examples log: ChemmineR-Ex.txt

khoran commented 1 year ago

All the tests pass when I run them. Can you give me a single, small, reproducible example of a failure?

barracuda156 commented 1 year ago

@khoran I trust you, and I do not claim that there is something wrong with your code. It is quite likely that a) either something does not work with 10.6 SDK or b) some additional setting are needed on our side for this to work.

If you could advise where to look, that would be of great help.

khoran commented 1 year ago

Well, a reproducible failure would be helpful. The test output is not very clear. Can you just try to use ChemmineR in general until you find something that doesn't work, and then send me the code to reproduce it?

barracuda156 commented 1 year ago

Let me try if I can reproduce these on an Intel machine; if yes, that would likely be reproducible generally.

khoran commented 1 year ago

Actually, I should clarify, I meant reproducible for you, ie, the error occurs every time you run it. I can see how that was confusing though since usually, I would want something I can reproduce myself. That is of course ideal, but if I can at least see a clear example of a failure you're having, that tells me more about where the problem is and then I can make a better suggestion for where you should look next.

barracuda156 commented 1 year ago

Ok, here are results from 10.6.8 x86_64, which, while not identical to powerpc setup (different compiler, importantly), is similar in terms of SDK:

--->  Testing R-ChemmineR
* using log directory ‘/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_R_R-ChemmineR/R-ChemmineR/work/ChemmineR/ChemmineR.Rcheck’
* using R version 4.3.2 (2023-10-31)
* using platform: x86_64-apple-darwin10.8.0 (64-bit)
* R was compiled by
    clang version 11.1.0
    GNU Fortran (MacPorts gcc12 12.3.0_3+stdlib_flag) 12.3.0
* running under: OS X Snow Leopard 10.6.8
* using session charset: UTF-8
* using option ‘--ignore-vignettes’
* checking for file ‘ChemmineR/DESCRIPTION’ ... OK
* checking extension type ... Package
* this is package ‘ChemmineR’ version ‘3.54.0’
* 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 ‘ChemmineR’ can be installed ... OK
* used C++ compiler: ‘clang version 11.1.0’
* used SDK: ‘NA’‘NA’‘NA’‘NA’‘NA’‘NA’
* checking installed package size ... OK
* checking package directory ... OK
* checking DESCRIPTION meta-information ... NOTE
Package listed in more than one of Depends, Imports, Suggests, Enhances:
  ‘png’
A package should be listed in only one of these fields.
* checking top-level files ... OK
* checking for left-over files ... OK
* checking index information ... OK
* checking package subdirectories ... OK
* checking R files for non-ASCII characters ... OK
* checking R files for syntax errors ... OK
* checking whether the package can be loaded ... OK
* checking whether the package can be loaded with stated dependencies ... OK
* checking whether the package can be unloaded cleanly ... OK
* checking whether the namespace can be loaded with stated dependencies ... OK
* checking whether the namespace can be unloaded cleanly ... OK
* checking startup messages can be suppressed ... OK
* checking dependencies in R code ... NOTE
'library' or 'require' calls in package code:
  ‘ChemmineDrugs’ ‘ChemmineOB’ ‘RPostgreSQL’ ‘RSQLite’ ‘fmcsR’ ‘png’
  ‘snow’
  Please use :: or requireNamespace() instead.
  See section 'Suggested packages' in the 'Writing R Extensions' manual.
Namespace in Imports field not imported from: ‘BiocGenerics’
  All declared Imports should be used.
* checking S3 generic/method consistency ... OK
* checking replacement functions ... OK
* checking foreign function calls ... OK
* checking R code for possible problems ... NOTE
Found the following possibly unsafe calls:
File ‘ChemmineR/R/sim.R’:
  unlockBinding(".progress_bar_int_cnt", environment(.progress_bar))

.data.frame.to.str: no visible global function definition for
  ‘write.table’
.data.frame.to.str: no visible binding for global variable ‘string’
.parseV3000: no visible binding for global variable ‘AW’
.rings: no visible global function definition for ‘combn’
DUD: no visible global function definition for ‘download.file’
DUD: no visible global function definition for ‘untar’
applyOptions: no visible global function definition for ‘convertFormat’
browseJob: no visible global function definition for ‘browseURL’
canonicalNumbering: no visible global function definition for
  ‘canonicalNumbering_OB’
canonicalNumberingOB: no visible global function definition for
  ‘canonicalNumbering_OB’
cluster.visualize: no visible global function definition for ‘rainbow’
cluster.visualize: no visible global function definition for ‘pdf’
cluster.visualize: no visible global function definition for
  ‘postscript’
cluster.visualize: no visible global function definition for ‘dev.off’
desc2fp: no visible global function definition for ‘data’
draw_sdf: no visible global function definition for ‘rgb’
draw_sdf: no visible global function definition for ‘fmcs’
exactMassOB: no visible global function definition for ‘exactMass_OB’
fingerprintOB: no visible global function definition for
  ‘fingerprint_OB’
getCompoundFeatures : <anonymous>: no visible global function
  definition for ‘write.table’
getCompounds: no visible global function definition for ‘str’
getDbConn: no visible global function definition for ‘error’
handle_segs: no visible binding for global variable ‘C1’
handle_segs: no visible binding for global variable ‘C2’
handle_segs: no visible binding for global variable ‘C1.1’
handle_segs: no visible binding for global variable ‘C2.1’
handle_text: no visible binding for global variable ‘C1’
handle_text: no visible binding for global variable ‘C2’
listCMTools: no visible global function definition for ‘read.table’
parBatchByIndex: no visible global function definition for
  ‘clusterExport’
parBatchByIndex: no visible global function definition for
  ‘clusterApplyLB’
postgresqlWriteTable: no visible global function definition for
  ‘postgresqlTableRef’
postgresqlWriteTable: no visible global function definition for
  ‘postgresqlQuoteId’
postgresqlWriteTable: no visible global function definition for
  ‘postgresqlpqExec’
postgresqlWriteTable: no visible global function definition for
  ‘postgresqlCopyInDataframe’
postgresqlWriteTable: no visible global function definition for
  ‘postgresqlgetResult’
propOB: no visible global function definition for ‘prop_OB’
read.AP: no visible global function definition for ‘read.delim’
sdf2OBMol: no visible global function definition for ‘forEachMol’
sdf2image: no visible global function definition for ‘convertToImage’
sdf2smiles: no visible global function definition for ‘convertFormat’
sdf2smilesOB: no visible global function definition for ‘convertFormat’
sdfStream: no visible global function definition for ‘write.table’
setPriorities: no visible global function definition for
  ‘clusterExport’
smartsSearchOB: no visible global function definition for
  ‘smartsSearch_OB’
smile2sdfFile: no visible global function definition for
  ‘convertFormatFile’
smiles2sdf: no visible global function definition for ‘convertFormat’
smiles2sdfOB: no visible global function definition for ‘convertFormat’
write.SMI: no visible global function definition for ‘write.table’
Undefined global functions or variables:
  AW C1 C1.1 C2 C2.1 browseURL canonicalNumbering_OB clusterApplyLB
  clusterExport combn convertFormat convertFormatFile convertToImage
  data dev.off download.file error exactMass_OB fingerprint_OB fmcs
  forEachMol pdf postgresqlCopyInDataframe postgresqlQuoteId
  postgresqlTableRef postgresqlgetResult postgresqlpqExec postscript
  prop_OB rainbow read.delim read.table rgb smartsSearch_OB str string
  untar write.table
Consider adding
  importFrom("grDevices", "dev.off", "pdf", "postscript", "rainbow",
             "rgb")
  importFrom("utils", "browseURL", "combn", "data", "download.file",
             "read.delim", "read.table", "str", "untar", "write.table")
to your NAMESPACE file.
* checking Rd files ... NOTE
checkRd: (-1) cmp.duplicated.Rd:29: Escaped LaTeX specials: \$
* checking Rd metadata ... OK
* checking Rd cross-references ... OK
* checking for missing documentation entries ... WARNING
Undocumented code objects:
  ‘sdfid<-’
Undocumented S4 methods:
  generic '$' and siglist '_p_Descriptors'
  generic '[' and siglist 'ExternalReferenceSwig'
  generic '[<-' and siglist 'ExternalReferenceSwig'
  generic 'coerce' and siglist 'ExternalReferenceSwig,character'
  generic 'length' and siglist 'SWIGArray'
  generic 'sdfid<-' and siglist 'SDFset'
All user-level objects in a package (including S4 classes and methods)
should have documentation entries.
See chapter ‘Writing R documentation files’ in the ‘Writing R
Extensions’ manual.
* checking for code/documentation mismatches ... OK
* checking Rd \usage sections ... OK
* checking Rd contents ... OK
* checking for unstated dependencies in examples ... OK
* checking contents of ‘data’ directory ... OK
* checking data for non-ASCII characters ... OK
* checking data for ASCII and uncompressed saves ... OK
* checking line endings in C/C++/Fortran sources/headers ... OK
* checking line endings in Makefiles ... OK
* checking compilation flags in Makevars ... OK
* checking for GNU extensions in Makefiles ... OK
* checking for portable use of $(BLAS_LIBS) and $(LAPACK_LIBS) ... OK
* checking use of PKG_*FLAGS in Makefiles ... OK
* checking compiled code ... NOTE
File ‘ChemmineR/libs/ChemmineR.so’:
  Found ‘__ZNSt3__14cerrE’, possibly from ‘std::cerr’ (C++)
    Objects: ‘desc.o’, ‘formats.o’, ‘script.o’
  Found ‘__ZNSt3__14coutE’, possibly from ‘std::cout’ (C++)
    Object: ‘cluster.o’

Compiled code should not call entry points which might terminate R nor
write to stdout/stderr instead of to the console, nor use Fortran I/O
nor system RNGs nor [v]sprintf.

See ‘Writing portable packages’ in the ‘Writing R Extensions’ manual.
* checking installed files from ‘inst/doc’ ... OK
* checking files in ‘vignettes’ ... SKIPPED
* checking examples ... OK
* checking for unstated dependencies in ‘tests’ ... OK
* checking tests ...
  Running ‘runTests.R’
 OK

R version 4.3.2 (2023-10-31) -- "Eye Holes"
Copyright (C) 2023 The R Foundation for Statistical Computing
Platform: x86_64-apple-darwin10.8.0 (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> BiocGenerics:::testPackage("ChemmineR")
======= testing fpset ===============================================
======= folding... 
Loading required package: RSQLite
[1] "createing db"
[1] "createing db"
[1] "loading first half, no features"
[1] "createing db"
[1] "loading first half,with features"
adding new features to existing compounds. This could take a while
[1] "loading incomplete features"
[1] "loading second half"
adding new features to existing compounds. This could take a while
[1] "done loading"
[1] "createing db"
adding new features to existing compounds. This could take a while
[1] "found 70  compounds"
[1] "found 20  compounds"
Timing stopped at: 0 0 0
Error in DEACTIVATED("local test") : local test
In addition: There were 15 warnings (use warnings() to see them)
Timing stopped at: 0 0 0
Error in DEACTIVATED("local test only") : local test only
found 100 ids
  [1] 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218
 [19] 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236
 [37] 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254
 [55] 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272
 [73] 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290
 [91] 291 292 293 294 295 296 297 298 299 300
starting parBatchByIndex
Loading required package: snow
 int [1:100] 201 202 203 204 205 206 207 208 209 210 ...
NULL
[1] "results:  parBench-sub-1,parBench-sub-2,parBench-sub-3,parBench-sub-4,parBench-sub-5,parBench-sub-6,parBench-sub-7,parBench-sub-8,parBench-sub-9,parBench-sub-10"
[1] "loading duplications"
loading 1 new compounds, updating 1 compounds
fetching features: 
Timing stopped at: 0 0 0
Error in DEACTIVATED("causing timeout on bioc, disabling for now") : 
  causing timeout on bioc, disabling for now
test.formatConversions
Timing stopped at: 0 0 0
Error in DEACTIVATED("removed old version of function") : 
  removed old version of function
In addition: Warning messages:
1: In for (i in nsInfo$imports) { :
  closing unused connection 5 (<-localhost:11620)
2: In for (i in nsInfo$imports) { :
  closing unused connection 4 (<-localhost:11620)
3: In for (i in nsInfo$imports) { :
  closing unused connection 3 (<-localhost:11620)
Timing stopped at: 0 0 0
Error in DEACTIVATED("just for manual testing") : just for manual testing
Timing stopped at: 0 0 0
Error in DEACTIVATED("requires local files") : requires local files
Timing stopped at: 0 0 0
Error in DEACTIVATED("fails on ubuntu 16.04") : fails on ubuntu 16.04
Timing stopped at: 0 0 0
Error in DEACTIVATED("Causes SSL protocol version error on BioC") : 
  Causes SSL protocol version error on BioC
[1] "rotable bonds: "
CMP1 CMP2 CMP3 CMP4 CMP5 
  24   20   14   30   10 
[1] "650001" "650002" "650003" "650004" "650005"

RUNIT TEST PROTOCOL -- Wed Nov  8 06:03:16 2023 
*********************************************** 
Number of test functions: 23 
Number of deactivated test functions: 8 
Number of errors: 0 
Number of failures: 0 

1 Test Suite : 
ChemmineR RUnit Tests - 23 test functions, 0 errors, 0 failures
Number of test functions: 23 
Number of deactivated test functions: 8 
Number of errors: 0 
Number of failures: 0 
> 
> proc.time()
   user  system elapsed 
 15.638   1.335  18.137 

So while the second output mentions some errors, they are different, and in result tests are said to pass.

Unfortunately, I do not have a Linux/BSD Big-endian set-up to run tests; endianness is a usual suspect, as long as SDK problems are [kinf of] ruled out.