* using log directory 'd:/Rcompile/CRANpkg/local/4.3/epanet2toolkit.Rcheck' * using R version 4.3.3 (2024-02-29 ucrt) * using platform: x86_64-w64-mingw32 (64-bit) * R was compiled by gcc.exe (GCC) 12.3.0 GNU Fortran (GCC) 12.3.0 * running under: Windows Server 2022 x64 (build 20348) * using session charset: UTF-8 * checking for file 'epanet2toolkit/DESCRIPTION' ... OK * checking extension type ... Package * this is package 'epanet2toolkit' version '1.0.5' * 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 hidden files and directories ... OK * checking for portable file names ... OK * checking whether package 'epanet2toolkit' can be installed ... OK * used C compiler: 'gcc.exe (GCC) 12.3.0' * checking installed package size ... OK * checking package 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 R files for non-ASCII characters ... OK * checking R files for syntax errors ... OK * checking whether the package can be loaded ... [0s] OK * checking whether the package can be loaded with stated dependencies ... [0s] OK * checking whether the package can be unloaded cleanly ... [0s] OK * checking whether the namespace can be loaded with stated dependencies ... [0s] OK * checking whether the namespace can be unloaded cleanly ... [1s] OK * checking loading without being on the library search path ... [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] OK * checking Rd files ... [2s] OK * checking Rd metadata ... 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 line endings in C/C++/Fortran sources/headers ... OK * checking pragmas in C/C++ headers and code ... OK * checking compiled code ... OK * checking examples ... [1s] ERROR Running examples in 'epanet2toolkit-Ex.R' failed The error most likely occurred in: > ### Name: ENepanet > ### Title: ENepanet > ### Aliases: ENepanet > > ### ** Examples > > # path to Net1.inp example file included with this package > inp <- file.path( find.package("epanet2toolkit"), "extdata","Net1.inp") > print(inp) [1] "D:/RCompile/CRANpkg/lib/4.3/epanet2toolkit/extdata/Net1.inp" > ENepanet( inp, "Net1.rpt") Error in check_epanet_error(err) : Error 305: cannot open hydraulics file Calls: ENepanet -> check_epanet_error Execution halted * checking for unstated dependencies in 'tests' ... OK * checking tests ... [12s] ERROR Running 'testthat.r' [11s] Running the tests in 'tests/testthat.r' failed. Complete output: > #***************************************** > # > # (C) Copyright IBM Corp. 2017 > # Author: Ernesto Arandia & Bradley J Eck > # > #***************************************** > > > > > library(testthat) > library(epanet2toolkit) > > test_check("epanet2toolkit") [ FAIL 120 | WARN 0 | SKIP 0 | PASS 184 ] ══ Failed tests ════════════════════════════════════════════════════════════════ ── Error ('test_epanet.r:11:3'): ENepanet all args ───────────────────────────── Error in `check_epanet_error(err)`: Error 305: cannot open hydraulics file Backtrace: ▆ 1. ├─testthat::expect_silent(ENepanet("Net1.inp", "Net1.rpt", "Net1.bin")) at test_epanet.r:11:3 2. │ └─testthat:::quasi_capture(enquo(object), NULL, evaluate_promise) 3. │ ├─testthat (local) .capture(...) 4. │ │ ├─withr::with_output_sink(...) 5. │ │ │ └─base::force(code) 6. │ │ ├─base::withCallingHandlers(...) 7. │ │ └─base::withVisible(code) 8. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo)) 9. └─epanet2toolkit::ENepanet("Net1.inp", "Net1.rpt", "Net1.bin") 10. └─epanet2toolkit:::check_epanet_error(err) ── Error ('test_epanet.r:19:3'): RENepanet null bin ──────────────────────────── Error in `check_epanet_error(err)`: Error 305: cannot open hydraulics file Backtrace: ▆ 1. ├─testthat::expect_silent(ENepanet("Net1.inp", "Net1.rpt")) at test_epanet.r:19:3 2. │ └─testthat:::quasi_capture(enquo(object), NULL, evaluate_promise) 3. │ ├─testthat (local) .capture(...) 4. │ │ ├─withr::with_output_sink(...) 5. │ │ │ └─base::force(code) 6. │ │ ├─base::withCallingHandlers(...) 7. │ │ └─base::withVisible(code) 8. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo)) 9. └─epanet2toolkit::ENepanet("Net1.inp", "Net1.rpt") 10. └─epanet2toolkit:::check_epanet_error(err) ── Error ('test_epanet.r:25:3'): retuns null invisibly ───────────────────────── Error in `check_epanet_error(err)`: Error 305: cannot open hydraulics file Backtrace: ▆ 1. ├─base::withVisible(ENepanet("Net1.inp", "Net1.rpt")) at test_epanet.r:25:10 2. └─epanet2toolkit::ENepanet("Net1.inp", "Net1.rpt") 3. └─epanet2toolkit:::check_epanet_error(err) ── Error ('test_epanet_example_3.r:24:3'): ex3 ───────────────────────────────── Error in `check_epanet_error(err)`: Error 305: cannot open hydraulics file Backtrace: ▆ 1. └─epanet2toolkit::ENsolveH() at test_epanet_example_3.r:24:3 2. └─epanet2toolkit:::check_epanet_error(err) ── Failure ('test_flowunits.r:12:3'): behavior calling on closed toolkit ─────── `flowunits <- ENgetflowunits()` did not produce any warnings. ── Failure ('test_flowunits.r:13:3'): behavior calling on closed toolkit ─────── is.null(flowunits) is not TRUE `actual`: FALSE `expected`: TRUE ── Error ('test_flowunits.r:19:3'): basic usage ──────────────────────────────── Error in `ENopen("Net1.inp", "Net1.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", "Net1.rpt") at test_flowunits.r:19:3 ── Error ('test_flowunits.r:30:4'): works ────────────────────────────────────── Error in `ENopen("Net1.inp", "Net1.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", "Net1.rpt") at test_flowunits.r:30:25 ── Error ('test_hydraulics.r:12:3'): func works ──────────────────────────────── Error in `ENopen("Net1.inp", "Net1.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", "Net1.rpt") at test_hydraulics.r:12:3 ── Error ('test_hydraulics.r:17:3'): returns null invisbly on success ────────── Error in `ENopen("Net1.inp", "Net1.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", "Net1.rpt") at test_hydraulics.r:17:3 ── Error ('test_hydraulics.r:49:3'): func works ──────────────────────────────── Error in `ENopen("Net1.inp", "Net1.rpt", "Net1.bin")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", "Net1.rpt", "Net1.bin") at test_hydraulics.r:49:3 ── Error ('test_hydraulics.r:55:3'): no crash calling twice ──────────────────── Error in `ENopen("Net1.inp", "Net1.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", "Net1.rpt") at test_hydraulics.r:55:3 ── Error ('test_hydraulics.r:62:3'): returns null invisbly on success ────────── Error in `ENopen("Net1.inp", "Net1.rpt", "Net1.bin")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", "Net1.rpt", "Net1.bin") at test_hydraulics.r:62:3 ── Error ('test_hydraulics.r:72:3'): func works w integer input ──────────────── Error in `ENopen("Net1.inp", "Net1.rpt", "Net1.bin")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", "Net1.rpt", "Net1.bin") at test_hydraulics.r:72:3 ── Error ('test_hydraulics.r:79:3'): func works w numeric input ──────────────── Error in `ENopen("Net1.inp", "Net1.rpt", "Net1.bin")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", "Net1.rpt", "Net1.bin") at test_hydraulics.r:79:3 ── Error ('test_hydraulics.r:85:3'): returns null invisbly on success ────────── Error in `ENopen("Net1.inp", "Net1.rpt", "Net1.bin")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", "Net1.rpt", "Net1.bin") at test_hydraulics.r:85:3 ── Error ('test_hydraulics.r:96:3'): func gives a warning when hydraulics are not open ── Error in `ENopen("Net1.inp", "Net1.rpt", "Net1.bin")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", "Net1.rpt", "Net1.bin") at test_hydraulics.r:96:3 ── Error ('test_hydraulics.r:101:3'): func warns of due to lack of hydraulic initialization ── Error in `ENopen("Net1.inp", "Net1.rpt", "Net1.bin")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", "Net1.rpt", "Net1.bin") at test_hydraulics.r:101:3 ── Error ('test_hydraulics.r:108:3'): func works normally ────────────────────── Error in `ENopen("Net1.inp", "Net1.rpt", "Net1.bin")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", "Net1.rpt", "Net1.bin") at test_hydraulics.r:108:3 ── Error ('test_hydraulics.r:120:3'): func gives a warning when hydraulics are not open ── Error in `ENopen("Net1.inp", "Net1.rpt", "Net1.bin")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", "Net1.rpt", "Net1.bin") at test_hydraulics.r:120:3 ── Error ('test_hydraulics.r:125:3'): func works normally ────────────────────── Error in `ENopen("Net1.inp", "Net1.rpt", "Net1.bin")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", "Net1.rpt", "Net1.bin") at test_hydraulics.r:125:3 ── Error ('test_hydraulics.r:135:3'): func works normally with loop ──────────── Error in `ENopen("Net1.inp", "Net1.rpt", "Net1.bin")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", "Net1.rpt", "Net1.bin") at test_hydraulics.r:135:3 ── Error ('test_hydraulics.r:154:3'): func gives an error when hydraulics are not open ── Error in `ENopen("Net1.inp", "Net1.rpt", "Net1.bin")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", "Net1.rpt", "Net1.bin") at test_hydraulics.r:154:3 ── Error ('test_hydraulics.r:164:3'): file saves ─────────────────────────────── Error in `ENopen("Net1.inp", "Net1.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", "Net1.rpt") at test_hydraulics.r:164:3 ── Error ('test_hydraulics.r:180:3'): file loads ─────────────────────────────── Error in `ENopen("Net1.inp", "Net1.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", "Net1.rpt") at test_hydraulics.r:180:3 ── Failure ('test_links.r:10:3'): no crash calling on closed toolkit ─────────── `x <- ENgetlinkindex("10")` did not throw an error. ── Error ('test_links.r:13:3'): works for single input ───────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_links.r:13:3 ── Error ('test_links.r:19:3'): works for multiple input ─────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_links.r:19:3 ── Error ('test_links.r:24:3'): get error 204 on no index ────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_links.r:24:3 ── Failure ('test_links.r:32:3'): no crash calling on closed toolkit ─────────── `x <- ENgetlinkid(1)` did not throw an error. ── Error ('test_links.r:35:3'): works for single input ───────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_links.r:35:3 ── Error ('test_links.r:41:3'): works for multiple input ─────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_links.r:41:3 ── Error ('test_links.r:46:3'): get error 204 on no ID ───────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_links.r:46:3 ── Failure ('test_links.r:54:3'): no crash calling on closed toolkit ─────────── `x <- ENgetlinktype(1)` did not throw an error. ── Error ('test_links.r:57:3'): works for single input ───────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_links.r:57:3 ── Error ('test_links.r:63:3'): works for multiple input ─────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_links.r:63:3 ── Error ('test_links.r:68:3'): get error 204 on no index ────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_links.r:68:3 ── Failure ('test_links.r:76:3'): no crash calling on closed toolkit ─────────── `x <- ENgetlinknodes(1)` did not throw an error. ── Error ('test_links.r:79:3'): works for single input ───────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_links.r:79:3 ── Error ('test_links.r:85:3'): works for multiple input ─────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_links.r:85:3 ── Error ('test_links.r:90:3'): get error 204 on no index ────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_links.r:90:3 ── Failure ('test_links.r:98:3'): no crash calling on closed toolkit ─────────── `x <- ENgetlinkvalue(1, 1)` did not throw an error. ── Error ('test_links.r:101:3'): works for single input ──────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_links.r:101:3 ── Error ('test_links.r:107:3'): works for multiple input ────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_links.r:107:3 ── Error ('test_links.r:112:3'): get error 204 on no link ────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_links.r:112:3 ── Error ('test_links.r:117:3'): get error on wrong code ─────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_links.r:117:3 ── Error ('test_links.r:124:3'): headloss matches rpt file ───────────────────── Error in `ENopen("Net3.inp", "Net3.rpt", "Net3.bin")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt", "Net3.bin") at test_links.r:124:3 ── Failure ('test_links.r:154:3'): no crash calling on closed toolkit ────────── `ENsetlinkvalue(1, 0, 100)` did not throw an error. ── Error ('test_links.r:157:3'): works on single input ───────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_links.r:157:3 ── Error ('test_links.r:164:3'): error on multiple input ─────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_links.r:164:3 ── Error ('test_links.r:169:3'): get error 204 on undefined link ─────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_links.r:169:3 ── Error ('test_links.r:174:3'): get error on wrong parameter code ───────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_links.r:174:3 ── Error ('test_links.r:179:3'): returns NULL invisibly on success ───────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_links.r:179:3 ── Error ('test_links22.r:5:3'): link crud ───────────────────────────────────── Error in `ENopen("Net1.inp", rptFile)`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", rptFile) at test_links22.r:5:3 ── Error ('test_links22.r:47:3'): ENgetvertexcount ───────────────────────────── Error in `ENopen("Net1.inp", rptFile)`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", rptFile) at test_links22.r:47:3 ── Error ('test_links22.r:61:3'): Create vertex ──────────────────────────────── Error in `ENopen("Net1.inp", rptFile)`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", rptFile) at test_links22.r:61:3 ── Error ('test_links22.r:81:3'): Create vertices ────────────────────────────── Error in `ENopen("Net1.inp", rptFile)`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", rptFile) at test_links22.r:81:3 ── Failure ('test_nodes.r:13:3'): no crash calling on closed toolkit ─────────── `x <- ENgetnodeindex("10")` did not throw an error. ── Error ('test_nodes.r:16:3'): works for single input ───────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_nodes.r:16:3 ── Error ('test_nodes.r:22:3'): works for multiple input ─────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_nodes.r:22:3 ── Error ('test_nodes.r:27:3'): get error 203 on no index ────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_nodes.r:27:3 ── Failure ('test_nodes.r:35:3'): no crash calling on closed toolkit ─────────── `x <- ENgetnodeid(1)` did not throw an error. ── Error ('test_nodes.r:38:3'): works for single input ───────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_nodes.r:38:3 ── Error ('test_nodes.r:44:3'): works for multiple input ─────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_nodes.r:44:3 ── Error ('test_nodes.r:49:3'): get error 203 on no ID ───────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_nodes.r:49:3 ── Failure ('test_nodes.r:57:3'): no crash calling on closed toolkit ─────────── `x <- ENgetnodetype(1)` did not throw an error. ── Error ('test_nodes.r:60:3'): works for single input ───────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_nodes.r:60:3 ── Error ('test_nodes.r:66:3'): works for multiple input ─────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_nodes.r:66:3 ── Error ('test_nodes.r:71:3'): get error 203 on no index ────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_nodes.r:71:3 ── Failure ('test_nodes.r:79:3'): no crash calling on closed toolkit ─────────── `x <- ENgetnodevalue(1, 1)` did not throw an error. ── Error ('test_nodes.r:82:3'): works for single input ───────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_nodes.r:82:3 ── Error ('test_nodes.r:88:3'): works for multiple input ─────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_nodes.r:88:3 ── Error ('test_nodes.r:93:3'): get error 205 on no node ─────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_nodes.r:93:3 ── Error ('test_nodes.r:98:3'): get error 251 on wrong code ──────────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_nodes.r:98:3 ── Failure ('test_nodes.r:106:3'): no crash calling on closed toolkit ────────── `ENsetnodevalue(1, 0, 120)` did not throw an error. ── Error ('test_nodes.r:109:3'): works on single input ───────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_nodes.r:109:3 ── Error ('test_nodes.r:116:3'): error on multiple input ─────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_nodes.r:116:3 ── Error ('test_nodes.r:121:3'): get error 205 on no pattern ─────────────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_nodes.r:121:3 ── Error ('test_nodes.r:126:3'): get error 251 on wrong parameter code ───────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_nodes.r:126:3 ── Error ('test_nodes.r:131:3'): returns NULL invisibly on success ───────────── Error in `ENopen("Net3.inp", "Net3.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt") at test_nodes.r:131:3 ── Error ('test_quality.r:11:4'): works ──────────────────────────────────────── Error in `check_epanet_error(err)`: Error 305: cannot open hydraulics file Backtrace: ▆ 1. └─epanet2toolkit::ENsolveH() at test_quality.r:11:25 2. └─epanet2toolkit:::check_epanet_error(err) ── Error ('test_quality.r:23:4'): works ──────────────────────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt", "Net3.bin")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt", "Net3.bin") at test_quality.r:23:25 ── Failure ('test_quality.r:32:4'): throws error ────────────────────────────── `ENopenQ()` threw an error with unexpected message. Expected match: "102" Actual message: "Error 104: no hydraulics for water quality analysis" Backtrace: ▆ 1. ├─testthat::expect_error(ENopenQ(), "102") at test_quality.r:32:25 2. │ └─testthat:::quasi_capture(...) 3. │ ├─testthat (local) .capture(...) 4. │ │ └─base::withCallingHandlers(...) 5. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo)) 6. └─epanet2toolkit::ENopenQ() 7. └─epanet2toolkit:::check_epanet_error(x[[1]]) ── Error ('test_quality.r:37:4'): works ──────────────────────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt", "Net3.bin")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt", "Net3.bin") at test_quality.r:37:25 ── Error ('test_quality.r:54:4'): works ──────────────────────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt", "Net3.bin")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt", "Net3.bin") at test_quality.r:54:25 ── Error ('test_quality.r:71:4'): works ──────────────────────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt", "Net3.bin")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt", "Net3.bin") at test_quality.r:71:25 ── Error ('test_quality.r:90:4'): works ──────────────────────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt", "Net3.bin")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt", "Net3.bin") at test_quality.r:90:25 ── Error ('test_quality.r:111:4'): works ─────────────────────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt", "Net3.bin")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt", "Net3.bin") at test_quality.r:111:25 ── Failure ('test_quality.r:118:4'): no crash calling closed toolkit ─────────── `ENcloseQ()` did not throw an error. ── Failure ('test_quality.r:121:4'): throws error ───────────────────────────── `ENcloseQ()` did not throw an error. ── Error ('test_quality.r:126:4'): works ─────────────────────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt", "Net3.bin")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt", "Net3.bin") at test_quality.r:126:25 ── Failure ('test_quality.r:138:4'): throws error ───────────────────────────── `ENgetqualtype()` did not throw an error. ── Error ('test_quality.r:146:4'): works with integer ────────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt", "Net3.bin")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt", "Net3.bin") at test_quality.r:146:25 ── Error ('test_quality.r:155:4'): works with numeric ───────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt", "Net3.bin")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt", "Net3.bin") at test_quality.r:155:25 ── Error ('test_quality.r:164:4'): works with character ──────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt", "Net3.bin")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt", "Net3.bin") at test_quality.r:164:25 ── Error ('test_quality.r:174:2'): set qual type ─────────────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt", "Net3.bin")`: Epanet toolkit is already open. Backtrace: ▆ 1. ├─testthat::expect_silent(...) at test_quality.r:173:3 2. │ └─testthat:::quasi_capture(enquo(object), NULL, evaluate_promise) 3. │ ├─testthat (local) .capture(...) 4. │ │ ├─withr::with_output_sink(...) 5. │ │ │ └─base::force(code) 6. │ │ ├─base::withCallingHandlers(...) 7. │ │ └─base::withVisible(code) 8. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo)) 9. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt", "Net3.bin") at test_quality.r:174:9 ── Error ('test_quality.r:188:3'): works ─────────────────────────────────────── Error in `ENopen("Net3.inp", "Net3.rpt", "Net3.bin")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net3.inp", "Net3.rpt", "Net3.bin") at test_quality.r:188:3 ── Error ('test_report.r:14:6'): works ───────────────────────────────────────── Error in `ENopen("Net1.inp", "Net1-rpt.test", "Net1-rt.bin")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", "Net1-rpt.test", "Net1-rt.bin") at test_report.r:14:6 ── Error ('test_report.r:36:3'): writes report on open project ───────────────── Error in `ENopen("Net1.inp", "Net1-rpt.test", "Net1-rt.bin")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", "Net1-rpt.test", "Net1-rt.bin") at test_report.r:36:3 ── Error ('test_report.r:60:3'): writes report on open project ───────────────── Error in `ENopen("Net1.inp", "Net1-rpt.test", "Net1-rt.bin")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", "Net1-rpt.test", "Net1-rt.bin") at test_report.r:60:3 ── Failure ('test_report.r:76:3'): no crash calling on closed toolkit ────────── `x <- ENresetreport()` did not throw an error. ── Failure ('test_report.r:81:3'): no crash calling on closed toolkit ────────── `x <- ENsetreport("links all")` did not throw an error. ── Error ('test_report.r:86:3'): setreport ───────────────────────────────────── Error in `ENopen("Net1.inp", rptFile, outFile)`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", rptFile, outFile) at test_report.r:86:3 ── Error ('test_report.r:105:3'): ENsetstatusreport ──────────────────────────── Error in `ENopen("Net1.inp", fullRpt, fullOut)`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", fullRpt, fullOut) at test_report.r:105:3 ── Error ('test_report.r:141:3'): stats work ─────────────────────────────────── Error in `ENopen("Net1.inp", "Net1-stats-test.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", "Net1-stats-test.rpt") at test_report.r:141:3 ── Error ('test_report.r:184:3'): index matches ──────────────────────────────── Error in `ENopen("Net1.inp", rptFile, outFile)`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", rptFile, outFile) at test_report.r:184:3 ── Error ('test_rules.r:7:5'): rule create and delete ────────────────────────── Error in `ENopen("Net1.inp", "Net1-rules.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", "Net1-rules.rpt") at test_rules.r:7:5 ── Error ('test_rules.r:54:5'): rule actions ─────────────────────────────────── Error in `ENopen("Net1.inp", rptFile)`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", rptFile) at test_rules.r:54:5 ── Failure ('test_times.r:12:4'): no crash calling on closed toolkit ─────────── `x <- ENgettimeparam(1)` did not throw an error. ── Error ('test_times.r:16:4'): works for single character input ─────────────── Error in `ENopen("Net1.inp", "Net1.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", "Net1.rpt") at test_times.r:16:25 ── Error ('test_times.r:25:4'): works for integer input ──────────────────────── Error in `ENopen("Net1.inp", "Net1.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", "Net1.rpt") at test_times.r:25:25 ── Error ('test_times.r:36:4'): returns error 251 ────────────────────────────── Error in `ENopen("Net1.inp", "Net1.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", "Net1.rpt") at test_times.r:36:25 ── Error ('test_times.r:43:4'): warns if time param is too large for integers in R ── Error in `ENopen("Net1-longduration.inp", "Net1-ld.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1-longduration.inp", "Net1-ld.rpt") at test_times.r:43:25 ── Failure ('test_times.r:53:3'): no crash calling on closed toolkit ─────────── `x <- ENsettimeparam(1, 1800)` did not throw an error. ── Error ('test_times.r:57:4'): works for character inputs ───────────────────── Error in `ENopen("Net1.inp", "Net1.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", "Net1.rpt") at test_times.r:57:25 ── Error ('test_times.r:65:4'): works for numeric inputs ─────────────────────── Error in `ENopen("Net1.inp", "Net1.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", "Net1.rpt") at test_times.r:65:25 ── Error ('test_times.r:72:4'): works for integer inputs ─────────────────────── Error in `ENopen("Net1.inp", "Net1.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", "Net1.rpt") at test_times.r:72:25 ── Error ('test_times.r:80:4'): reterns NULL invisibly on success ────────────── Error in `ENopen("Net1.inp", "Net1.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", "Net1.rpt") at test_times.r:80:25 ── Error ('test_times.r:90:4'): returns error 202 ────────────────────────────── Error in `ENopen("Net1.inp", "Net1.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", "Net1.rpt") at test_times.r:90:25 ── Error ('test_title.r:9:5'): func works ────────────────────────────────────── Error in `ENopen("Net1.inp", "Net1.rpt")`: Epanet toolkit is already open. Backtrace: ▆ 1. └─epanet2toolkit::ENopen("Net1.inp", "Net1.rpt") at test_title.r:9:5 [ FAIL 120 | WARN 0 | SKIP 0 | PASS 184 ] Error: Test failures Execution halted * checking PDF version of manual ... [20s] OK * checking HTML version of manual ... [18s] OK * DONE Status: 2 ERRORs