Running ‘testthat.R’ [6s/7s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > library(testthat)
  > library(slendr)
  The 'slim' binary could not be found in your $PATH. Most of
  the functionality of slendr will work without any issues but
  you will not be able to simulate data with the `slim()` function.
  
  If you want to run SLiM simulations, make sure to modify the $PATH
  variable so that it points to the directory containing the slim
  command-line program. One easy way to do this is to add this:
  
  PATH="path/to/directory/with/slim/binary"
  
  to your ~/.Renviron file.
  
  Alternatively, use the `slim_path` argument of the `slim()` function.
  --------------------
  In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  --------------------
  A slendr Python (3.12) environment with the necessary versions of
  msprime (1.3.3), tskit (0.5.8), pyslim (1.0.4), and tspop (0.0.2)
  has not been found.
  
  You can setup a pre-configured environment with all of slendr's Python
  dependencies automatically by running the function `setup_env()`.
  > 
  > test_check("slendr")
  [ FAIL 34 | WARN 0 | SKIP 30 | PASS 69 ]
  
  ══ Skipped tests (30) ══════════════════════════════════════════════════════════
  • !is_slendr_env_present() is TRUE (29): 'test-compilation.R:69:1',
    'test-engines.R:1:1', 'test-extensions.R:1:1', 'test-future.R:15:1',
    'test-geneflow.R:50:3', 'test-ibd-squashing.R:1:1', 'test-ibd.R:1:1',
    'test-interaction-changes.R:3:1', 'test-manual-ts.R:1:1',
    'test-msprime-geneflow.R:5:1', 'test-msprime-metadata.R:1:1',
    'test-msprime.R:23:1', 'test-nonserialized.R:1:1', 'test-population.R:43:3',
    'test-population.R:60:3', 'test-population.R:142:3',
    'test-pure-msprime-vs-slendr.R:4:1', 'test-pure-slim-vs-slendr.R:4:1',
    'test-resizes-locked.R:1:1', 'test-resizes.R:1:1', 'test-runners.R:1:1',
    'test-sampling.R:3:1', 'test-simulation-runs.R:1:1',
    'test-time-direction.R:1:1', 'test-trees.R:1:1',
    'test-ts-ancestors-descendants.R:1:1', 'test-ts-pure-nonspatial.R:1:1',
    'test-ts.R:1:1', 'test-tspop.R:1:1'
  • !is_slendr_env_present() || !is_slim_present() is TRUE (1):
    'test-ts-pure-spatial.R:1:1'
  
  ══ Failed tests ════════════════════════════════════════════════════════════════
  ── Error ('test-abstract-vs-real-landscapes.R:3:3'): anything but the three allowed landsccape sources leads to error ──
  Error: In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  Backtrace:
      ▆
   1. ├─testthat::expect_error(...) at test-abstract-vs-real-landscapes.R:3:3
   2. │ └─testthat:::expect_condition_matching(...)
   3. │   └─testthat:::quasi_capture(...)
   4. │     ├─testthat (local) .capture(...)
   5. │     │ └─base::withCallingHandlers(...)
   6. │     └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
   7. └─slendr::world(xrange = c(-15, 60), yrange = c(20, 65), landscape = "blank123")
   8.   └─slendr:::check_spatial_pkgs()
  ── Error ('test-abstract-vs-real-landscapes.R:8:3'): blank abstract landscape is allowed ──
  Error: In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  Backtrace:
       ▆
    1. ├─testthat::expect_silent(...) at test-abstract-vs-real-landscapes.R:8: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. └─slendr::world(xrange = c(-15, 60), yrange = c(20, 65), landscape = "blank")
   10.   └─slendr:::check_spatial_pkgs()
  ── Error ('test-abstract-vs-real-landscapes.R:15:3'): user-defined abstract landscape is allowed ──
  Error: In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  Backtrace:
       ▆
    1. ├─testthat::expect_silent(...) at test-abstract-vs-real-landscapes.R:15: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. └─slendr::world(xrange = xrange, yrange = yrange, landscape = polygon)
   10.   └─slendr:::check_spatial_pkgs()
  ── Error ('test-compilation.R:9:3'): 'competition' must be specified in compile_model() if missing ──
  Error: In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  Backtrace:
      ▆
   1. └─slendr::population(...) at test-compilation.R:9:3
   2.   └─slendr:::check_spatial_pkgs()
  ── Error ('test-compilation.R:18:3'): 'mating' must be specified in compile_model() if missing ──
  Error: In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  Backtrace:
      ▆
   1. └─slendr::population(...) at test-compilation.R:18:3
   2.   └─slendr:::check_spatial_pkgs()
  ── Error ('test-compilation.R:27:3'): 'dispersal' must be specified in compile_model() if missing ──
  Error: In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  Backtrace:
      ▆
   1. └─slendr::population(...) at test-compilation.R:27:3
   2.   └─slendr:::check_spatial_pkgs()
  ── Error ('test-compilation.R:36:3'): 'competition', 'mating', and 'dispersal' do not have to be specified in compile_model() if already present ──
  Error: In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  Backtrace:
      ▆
   1. └─slendr::population(...) at test-compilation.R:36:3
   2.   └─slendr:::check_spatial_pkgs()
  ── Error ('test-compilation.R:49:3'): invalid blank maps are prevented ─────────
  Error: In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  Backtrace:
      ▆
   1. └─slendr::world(xrange = c(0, 100), yrange = c(0, 100), landscape = "blank") at test-compilation.R:49:3
   2.   └─slendr:::check_spatial_pkgs()
  ── Error ('test-coordinate-conversions.R:2:1'): (code run outside of `test_that()`) ──
  Error: In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  Backtrace:
      ▆
   1. └─slendr::population(...) at test-coordinate-conversions.R:2:1
   2.   └─slendr:::check_spatial_pkgs()
  ── Error ('test-dynamics.R:4:3'): move requires overlap between 0 and 1 ────────
  Error: In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  Backtrace:
      ▆
   1. └─slendr::population(...) at test-dynamics.R:4:3
   2.   └─slendr:::check_spatial_pkgs()
  ── Error ('test-dynamics.R:13:3'): move requires a positive snapshot number ────
  Error: In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  Backtrace:
      ▆
   1. └─slendr::population(...) at test-dynamics.R:13:3
   2.   └─slendr:::check_spatial_pkgs()
  ── Error ('test-dynamics.R:22:3'): move generates the correct number of snapshots ──
  Error: In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  Backtrace:
      ▆
   1. └─slendr::population(...) at test-dynamics.R:22:3
   2.   └─slendr:::check_spatial_pkgs()
  ── Error ('test-dynamics.R:29:3'): only positive population sizes allowed ──────
  Error: In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  Backtrace:
      ▆
   1. └─slendr::population(...) at test-dynamics.R:29:3
   2.   └─slendr:::check_spatial_pkgs()
  ── Error ('test-dynamics.R:35:3'): only three values of population size changes allowed ──
  Error: In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  Backtrace:
      ▆
   1. └─slendr::population(...) at test-dynamics.R:35:3
   2.   └─slendr:::check_spatial_pkgs()
  ── Error ('test-geneflow.R:3:3'): non-overlapping geneflow leads to error ──────
  Error: In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  Backtrace:
      ▆
   1. └─slendr::population(...) at test-geneflow.R:3:3
   2.   └─slendr:::check_spatial_pkgs()
  ── Error ('test-geneflow.R:13:3'): non-overlapping geneflow passes if the check is explicitly turned off ──
  Error: In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  Backtrace:
      ▆
   1. └─slendr::population(...) at test-geneflow.R:13:3
   2.   └─slendr:::check_spatial_pkgs()
  ── Error ('test-geneflow.R:25:3'): populations must be present within the given gene-flow time window (spatial) ──
  Error: In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  Backtrace:
      ▆
   1. └─slendr::population(...) at test-geneflow.R:25:3
   2.   └─slendr:::check_spatial_pkgs()
  ── Error ('test-geometrical-operations.R:3:3'): circular ranges need two parameters ──
  Error: In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  Backtrace:
      ▆
   1. ├─testthat::expect_error(...) at test-geometrical-operations.R:3:3
   2. │ └─testthat:::expect_condition_matching(...)
   3. │   └─testthat:::quasi_capture(...)
   4. │     ├─testthat (local) .capture(...)
   5. │     │ └─base::withCallingHandlers(...)
   6. │     └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
   7. └─slendr::population("pop", time = 1, N = 1, map = map, center = 1)
   8.   └─slendr:::check_spatial_pkgs()
  ── Error ('test-geometrical-operations.R:16:3'): polygon boundary can be specified in two ways ──
  Error: In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  Backtrace:
      ▆
   1. └─slendr::region("Africa", map, polygon = coords) at test-geometrical-operations.R:16:3
   2.   └─slendr:::check_spatial_pkgs()
  ── Error ('test-geometrical-operations.R:25:3'): polygon ranges need at least three corners ──
  Error: In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  Backtrace:
      ▆
   1. ├─testthat::expect_error(...) at test-geometrical-operations.R:25:3
   2. │ └─testthat:::expect_condition_matching(...)
   3. │   └─testthat:::quasi_capture(...)
   4. │     ├─testthat (local) .capture(...)
   5. │     │ └─base::withCallingHandlers(...)
   6. │     └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
   7. └─slendr::region("Africa", map, polygon = coords)
   8.   └─slendr:::check_spatial_pkgs()
  ── Error ('test-geometrical-operations.R:34:3'): polygon ranges need at least three corners ──
  Error: In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  Backtrace:
      ▆
   1. ├─testthat::expect_error(...) at test-geometrical-operations.R:34:3
   2. │ └─testthat:::expect_condition_matching(...)
   3. │   └─testthat:::quasi_capture(...)
   4. │     ├─testthat (local) .capture(...)
   5. │     │ └─base::withCallingHandlers(...)
   6. │     └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
   7. └─slendr::population(...)
   8.   └─slendr:::check_spatial_pkgs()
  ── Error ('test-geometrical-operations.R:44:3'): union of a region with itself gives the same region ──
  Error: In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  Backtrace:
      ▆
   1. └─slendr::world(xrange = c(-15, 60), yrange = c(-20, 65), landscape = "blank") at test-geometrical-operations.R:44:3
   2.   └─slendr:::check_spatial_pkgs()
  ── Error ('test-geometrical-operations.R:51:3'): intersection of a region with itself gives the same region ──
  Error: In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  Backtrace:
      ▆
   1. └─slendr::world(xrange = c(-15, 60), yrange = c(-20, 65), landscape = "blank") at test-geometrical-operations.R:51:3
   2.   └─slendr:::check_spatial_pkgs()
  ── Error ('test-geometrical-operations.R:58:3'): subtraction of a region from itself gives an empty region ──
  Error: In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  Backtrace:
      ▆
   1. └─slendr::world(xrange = c(-15, 60), yrange = c(-20, 65), landscape = "blank") at test-geometrical-operations.R:58:3
   2.   └─slendr:::check_spatial_pkgs()
  ── Error ('test-geometrical-operations.R:65:3'): subtraction of a non-overlapping region does not change the result ──
  Error: In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  Backtrace:
      ▆
   1. └─slendr::world(xrange = c(-15, 60), yrange = c(-20, 65), landscape = "blank") at test-geometrical-operations.R:65:3
   2.   └─slendr:::check_spatial_pkgs()
  ── Error ('test-geometrical-operations.R:72:3'): nonoverlapping join gives empty intersection ──
  Error: In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  Backtrace:
      ▆
   1. └─slendr::world(xrange = c(-15, 60), yrange = c(-20, 65), landscape = "blank") at test-geometrical-operations.R:72:3
   2.   └─slendr:::check_spatial_pkgs()
  ── Error ('test-geometrical-operations.R:79:3'): custom landscapes can be specified ──
  Error: In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  Backtrace:
      ▆
   1. └─slendr::region(center = c(0, 0), radius = 10) at test-geometrical-operations.R:79:3
   2.   └─slendr:::check_spatial_pkgs()
  ── Error ('test-geometrical-operations.R:90:3'): boundaries are either circles or polygons ──
  Error: In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  Backtrace:
      ▆
   1. ├─testthat::expect_error(region(), "Either a circular range or a polygon range must be specified") at test-geometrical-operations.R:90:3
   2. │ └─testthat:::expect_condition_matching(...)
   3. │   └─testthat:::quasi_capture(...)
   4. │     ├─testthat (local) .capture(...)
   5. │     │ └─base::withCallingHandlers(...)
   6. │     └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
   7. └─slendr::region()
   8.   └─slendr:::check_spatial_pkgs()
  ── Error ('test-geometrical-operations.R:97:1'): (code run outside of `test_that()`) ──
  Error: In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  Backtrace:
      ▆
   1. └─slendr::world(xrange = c(0, 100), yrange = c(0, 100), landscape = "blank") at test-geometrical-operations.R:97:1
   2.   └─slendr:::check_spatial_pkgs()
  ── Error ('test-naturalearth.R:2:3'): all three variants of the Natural Earth data can be downloaded ──
  Error: In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  Backtrace:
      ▆
   1. ├─utils::capture.output(...) at test-naturalearth.R:2:3
   2. │ └─base::withVisible(...elt(i))
   3. └─slendr::world(xrange = c(-15, 40), yrange = c(30, 60), crs = "EPSG:3035")
   4.   └─slendr:::check_spatial_pkgs()
  ── Error ('test-naturalearth.R:15:3'): world dimensions are correctly specified ──
  Error: In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  Backtrace:
      ▆
   1. ├─testthat::expect_s3_class(...) at test-naturalearth.R:15:3
   2. │ └─testthat::quasi_label(enquo(object), arg = "object")
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─slendr::world(c(1, 100), c(1, 100), landscape = "blank")
   5.   └─slendr:::check_spatial_pkgs()
  ── Error ('test-serialization.R:5:3'): read_model() restores a single-map model object ──
  Error: In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  Backtrace:
      ▆
   1. └─slendr::population(...) at test-serialization.R:5:3
   2.   └─slendr:::check_spatial_pkgs()
  ── Error ('test-serialization.R:25:3'): read_model() restores a complex model object ──
  Error: In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  Backtrace:
      ▆
   1. └─slendr::population(...) at test-serialization.R:25:3
   2.   └─slendr:::check_spatial_pkgs()
  ── Error ('test-serialization.R:60:3'): non-unique population names lead to error ──
  Error: In order to use spatial features of slendr, packages 'sf', 'stars',
  and 'rnaturalearth' are required but not all are present.
  
  You can install all of them with
    `install.packages(c("sf", "stars", "rnaturalearth"))`.
  Backtrace:
      ▆
   1. └─slendr::population(...) at test-serialization.R:60:3
   2.   └─slendr:::check_spatial_pkgs()
  
  [ FAIL 34 | WARN 0 | SKIP 30 | PASS 69 ]
  Error: Test failures
  Execution halted