CRAN Package Check Results for Package epanet2toolkit

Last updated on 2024-10-31 21:50:04 CET.

Flavor Version Tinstall Tcheck Ttotal Status Flags
r-devel-linux-x86_64-debian-clang 1.0.5 16.33 36.81 53.14 OK
r-devel-linux-x86_64-debian-gcc 1.0.5 12.67 26.38 39.05 OK
r-devel-linux-x86_64-fedora-clang 1.0.5 79.99 OK
r-devel-linux-x86_64-fedora-gcc 1.0.5 86.62 ERROR
r-devel-windows-x86_64 1.0.5 29.00 79.00 108.00 OK
r-patched-linux-x86_64 1.0.5 17.95 34.33 52.28 OK
r-release-linux-x86_64 1.0.5 17.15 34.29 51.44 OK
r-release-macos-arm64 1.0.5 42.00 OK
r-release-macos-x86_64 1.0.5 37.00 OK
r-release-windows-x86_64 1.0.5 28.00 77.00 105.00 OK
r-oldrel-macos-arm64 1.0.5 36.00 OK
r-oldrel-macos-x86_64 1.0.5 70.00 OK
r-oldrel-windows-x86_64 1.0.5 26.00 88.00 114.00 ERROR

Check Details

Version: 1.0.5
Check: examples
Result: ERROR Running examples in ‘epanet2toolkit-Ex.R’ failed The error most likely occurred in: > ### Name: ENinitH > ### Title: Initialize hydraulic engine > ### Aliases: ENinitH > > ### ** Examples > > # path to Net1.inp example file included with this package > inp <- file.path( find.package("epanet2toolkit"), "extdata","Net1.inp") > ENopen( inp, "Net1.rpt") > ENopenH() *** caught segfault *** address 0x1, cause 'memory not mapped' Traceback: 1: ENopenH() An irrecoverable exception occurred. R is aborting now ... Flavor: r-devel-linux-x86_64-fedora-gcc

Version: 1.0.5
Check: tests
Result: ERROR Running ‘testthat.r’ [2s/16s] 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") *** caught segfault *** address 0x1, cause 'memory not mapped' Traceback: 1: .Call("enSetControl", 3, 0, 119, 1, 95, 17) 2: eval_bare(quo_get_expr(.quo), quo_get_env(.quo)) 3: withVisible(code) 4: withCallingHandlers(withVisible(code), warning = handle_warning, message = handle_message) 5: force(code) 6: withr::with_output_sink(path, withCallingHandlers(withVisible(code), warning = handle_warning, message = handle_message)) 7: .capture(act$val <- eval_bare(quo_get_expr(.quo), quo_get_env(.quo)), ...) 8: quasi_capture(enquo(object), NULL, evaluate_promise) 9: expect_silent({ out <- .Call("enOpen", c("Net3.inp", "net3.rpt", " ")) ind1 <- .Call("enGetNodeIndex", "10") ind2 <- .Call("enGetNodeIndex", "15") ind3 <- .Call("enGetNodeIndex", "20") id1 <- .Call("enGetNodeID", 1) type1 <- .Call("enGetNodeType", ind3) type2 <- .Call("enGetNodeType", ind2) elev1 <- .Call("enGetNodeValue", ind3, 0) indlink <- .Call("enGetLinkIndex", "20") idlink <- .Call("enGetLinkID", 5) typelink <- .Call("enGetLinkType", indlink) diamlink <- .Call("enGetLinkValue", indlink, 0) nodeslink <- .Call("enGetLinkNodes", indlink) idpatt <- .Call("enGetPatternID", 3) indexpatt <- .Call("enGetPatternIndex", "2") lenpatt <- .Call("enGetPatternLen", 5) valpatt <- .Call("enGetPatternValue", 3, 12) ctrl1 <- .Call("enGetControl", 1) ctrl2 <- .Call("enGetControl", 2) ctrl3 <- .Call("enGetControl", 3) ctrl4 <- .Call("enGetControl", 4) ctrl5 <- .Call("enGetControl", 5) units <- .Call("enGetFlowUnits") timepar <- .Call("enGetTimeParam", 0) qtype <- .Call("enGetQualType") ver <- .Call("enGetVersion") setctrl <- .Call("enSetControl", 3, 0, 119, 1, 95, 17) nodevalout <- .Call("enSetNodeValue", 1, 0, 156) linkvalout <- .Call("enSetLinkValue", 3, 2, 189) setpatt <- .Call("enSetPattern", 3, as.numeric(rep(621, 24)), 24) valpatt <- .Call("enGetPatternValue", 3, 12) out <- .Call("enClose")}) 10: eval(code, test_env) 11: eval(code, test_env) 12: withCallingHandlers({ eval(code, test_env) if (!handled && !is.null(test)) { skip_empty() }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error) 13: doTryCatch(return(expr), name, parentenv, handler) 14: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 15: tryCatchList(expr, names[-nh], parentenv, handlers[-nh]) 16: doTryCatch(return(expr), name, parentenv, handler) 17: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]), names[nh], parentenv, handlers[[nh]]) 18: tryCatchList(expr, classes, parentenv, handlers) 19: tryCatch(withCallingHandlers({ eval(code, test_env) if (!handled && !is.null(test)) { skip_empty() }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error), error = handle_fatal, skip = function(e) { }) 20: test_code(desc, code, env = parent.frame(), default_reporter = local_interactive_reporter()) 21: test_that("call the funcs", { expect_silent({ out <- .Call("enOpen", c("Net3.inp", "net3.rpt", " ")) ind1 <- .Call("enGetNodeIndex", "10") ind2 <- .Call("enGetNodeIndex", "15") ind3 <- .Call("enGetNodeIndex", "20") id1 <- .Call("enGetNodeID", 1) type1 <- .Call("enGetNodeType", ind3) type2 <- .Call("enGetNodeType", ind2) elev1 <- .Call("enGetNodeValue", ind3, 0) indlink <- .Call("enGetLinkIndex", "20") idlink <- .Call("enGetLinkID", 5) typelink <- .Call("enGetLinkType", indlink) diamlink <- .Call("enGetLinkValue", indlink, 0) nodeslink <- .Call("enGetLinkNodes", indlink) idpatt <- .Call("enGetPatternID", 3) indexpatt <- .Call("enGetPatternIndex", "2") lenpatt <- .Call("enGetPatternLen", 5) valpatt <- .Call("enGetPatternValue", 3, 12) ctrl1 <- .Call("enGetControl", 1) ctrl2 <- .Call("enGetControl", 2) ctrl3 <- .Call("enGetControl", 3) ctrl4 <- .Call("enGetControl", 4) ctrl5 <- .Call("enGetControl", 5) units <- .Call("enGetFlowUnits") timepar <- .Call("enGetTimeParam", 0) qtype <- .Call("enGetQualType") ver <- .Call("enGetVersion") setctrl <- .Call("enSetControl", 3, 0, 119, 1, 95, 17) nodevalout <- .Call("enSetNodeValue", 1, 0, 156) linkvalout <- .Call("enSetLinkValue", 3, 2, 189) setpatt <- .Call("enSetPattern", 3, as.numeric(rep(621, 24)), 24) valpatt <- .Call("enGetPatternValue", 3, 12) out <- .Call("enClose") })}) 22: eval(code, test_env) 23: eval(code, test_env) 24: withCallingHandlers({ eval(code, test_env) if (!handled && !is.null(test)) { skip_empty() }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error) 25: doTryCatch(return(expr), name, parentenv, handler) 26: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 27: tryCatchList(expr, names[-nh], parentenv, handlers[-nh]) 28: doTryCatch(return(expr), name, parentenv, handler) 29: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]), names[nh], parentenv, handlers[[nh]]) 30: tryCatchList(expr, classes, parentenv, handlers) 31: tryCatch(withCallingHandlers({ eval(code, test_env) if (!handled && !is.null(test)) { skip_empty() }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error), error = handle_fatal, skip = function(e) { }) 32: test_code(test = NULL, code = exprs, env = env, default_reporter = StopReporter$new()) 33: source_file(path, env = env(env), desc = desc, error_call = error_call) 34: FUN(X[[i]], ...) 35: lapply(test_paths, test_one_file, env = env, desc = desc, error_call = error_call) 36: doTryCatch(return(expr), name, parentenv, handler) 37: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 38: tryCatchList(expr, classes, parentenv, handlers) 39: tryCatch(code, testthat_abort_reporter = function(cnd) { cat(conditionMessage(cnd), "\n") NULL}) 40: with_reporter(reporters$multi, lapply(test_paths, test_one_file, env = env, desc = desc, error_call = error_call)) 41: test_files_serial(test_dir = test_dir, test_package = test_package, test_paths = test_paths, load_helpers = load_helpers, reporter = reporter, env = env, stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, desc = desc, load_package = load_package, error_call = error_call) 42: test_files(test_dir = path, test_paths = test_paths, test_package = package, reporter = reporter, load_helpers = load_helpers, env = env, stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, load_package = load_package, parallel = parallel) 43: test_dir("testthat", package = package, reporter = reporter, ..., load_package = "installed") 44: test_check("epanet2toolkit") An irrecoverable exception occurred. R is aborting now ... Flavor: r-devel-linux-x86_64-fedora-gcc

Version: 1.0.5
Check: for non-standard things in the check directory
Result: NOTE Found the following files/directories: ‘Net1.rpt’ Flavor: r-devel-linux-x86_64-fedora-gcc

Version: 1.0.5
Check: examples
Result: 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 Flavor: r-oldrel-windows-x86_64

Version: 1.0.5
Check: tests
Result: ERROR Running 'testthat.r' [12s] 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 Flavor: r-oldrel-windows-x86_64