Running ‘spelling.R’ [0s/0s]
  Running ‘testthat.R’ [21s/62s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > library("testthat", warn.conflicts = FALSE)
  > library("TreeDist")
  > 
  > test_check("TreeDist")
  Saving _problems/test-64-4.R
  Loading required package: ape
  Saving _problems/test-HPart-4.R
  Saving _problems/test-HPart-13.R
  Saving _problems/test-HPart-24.R
  Saving _problems/test-HPart-50.R
  Saving _problems/test-HPart-68.R
  Saving _problems/test-HPart-74.R
  Saving _problems/test-Islands-4.R
  Saving _problems/test-Reduce-8.R
  Saving _problems/test-Reduce-14.R
  Saving _problems/test-VisualizeMatching-24.R
  Saving _problems/test-VisualizeMatching-144.R
  Saving _problems/test-binary_entropy_counts-2.R
  Saving _problems/test-day_1985.cpp-4.R
  Saving _problems/test-day_1985.cpp-32.R
  Saving _problems/test-day_1985.cpp-76.R
  Saving _problems/test-different-tips-12.R
  Saving _problems/test-hierarchical_mutual_information-11.R
  Saving _problems/test-hierarchical_mutual_information-14.R
  Saving _problems/test-hierarchical_mutual_information-55.R
  Saving _problems/test-hmi.cpp-4.R
  Saving _problems/test-hmi.cpp-18.R
  Saving _problems/test-hmi.cpp-26.R
  Saving _problems/test-hmi.cpp-34.R
  Saving _problems/test-hmi.cpp-102.R
  Saving _problems/test-hmi.cpp-126.R
  Saving _problems/test-hmi.cpp-141.R
  Saving _problems/test-information-6.R
  Saving _problems/test-information-41.R
  Saving _problems/test-lap-8.R
  Saving _problems/test-lap-21.R
  Saving _problems/test-lap-33.R
  Saving _problems/test-lap-44.R
  Saving _problems/test-lap-60.R
  Saving _problems/test-lap-313.R
  Saving _problems/test-lap-326.R
  Saving _problems/test-lap-350.R
  Saving _problems/test-mast-13.R
  Saving _problems/test-mast-37.R
  Saving _problems/test-mast-63.R
  Saving _problems/test-median-4.R
  Saving _problems/test-parallel-9.R
  Saving _problems/test-split_info-13.R
  Saving _problems/test-tree_distance-95.R
  Saving _problems/test-tree_distance-139.R
  Saving _problems/test-tree_distance-180.R
  Saving _problems/test-tree_distance-200.R
  Saving _problems/test-tree_distance-233.R
  Saving _problems/test-tree_distance-339.R
  Saving _problems/test-tree_distance-375.R
  Saving _problems/test-tree_distance-395.R
  Saving _problems/test-tree_distance-564.R
  Saving _problems/test-tree_distance-660.R
  Saving _problems/test-tree_distance-705.R
  Saving _problems/test-tree_distance-746.R
  Saving _problems/test-tree_distance-759.R
  Saving _problems/test-tree_distance-797.R
  Saving _problems/test-tree_distance-834.R
  Saving _problems/test-tree_distance-850.R
  Saving _problems/test-tree_distance-923.R
  Saving _problems/test-tree_distance-949.R
  Saving _problems/test-tree_distance-992.R
  Saving _problems/test-tree_distance-1016.R
  Saving _problems/test-tree_distance_kc-14.R
  Saving _problems/test-tree_distance_kc-41.R
  Saving _problems/test-tree_distance_nni-13.R
  Saving _problems/test-tree_distance_nni-23.R
  Saving _problems/test-tree_distance_nni-97.R
  Saving _problems/test-tree_distance_nni-153.R
  Saving _problems/test-tree_distance_path-5.R
  Saving _problems/test-tree_distance_path-27.R
  Saving _problems/test-tree_distance_spr-8.R
  Saving _problems/test-tree_distance_spr-33.R
  Saving _problems/test-tree_distance_spr-83.R
  Saving _problems/test-tree_distance_spr-196.R
  Saving _problems/test-tree_distance_spr-280.R
  Saving _problems/test-tree_distance_spr-286.R
  Saving _problems/test-tree_distance_spr-320.R
  Saving _problems/test-tree_distance_spr-338.R
  Saving _problems/test-tree_distance_spr-355.R
  Saving _problems/test-tree_distance_spr-385.R
  Saving _problems/test-tree_distance_utilities-50.R
  Saving _problems/test-tree_distance_utilities-118.R
  Saving _problems/test-tree_distance_utilities-209.R
  Saving _problems/test-tree_distance_utilities-239.R
  Saving _problems/test-tree_distance_utilities-250.R
  Saving _problems/test-tree_information-43.R
  Saving _problems/test-tree_information-47.R
  Saving _problems/test-tree_information-53.R
  Saving _problems/test-tree_information-59.R
  Saving _problems/test-tree_information-130.R
  Saving _problems/test-tree_information-139.R
  Saving _problems/test-tree_information-149.R
  Saving _problems/test-trustworthiness-18.R
  [ FAIL 94 | WARN 0 | SKIP 7 | PASS 307 ]
  
  ══ Skipped tests (7) ═══════════════════════════════════════════════════════════
  • #TODO (1): 'test-tree_distance_spr.R:247:3'
  • On CRAN (3): 'test-MSTSegments.R:1:1', 'test-Plot3.R:1:1', 'test-plot.R:12:1'
  • getOption("slowMode", FALSE) is not TRUE (3):
    'test-tree_distance_spr.R:96:3', 'test-tree_distance_spr.R:117:3',
    'test-tree_distance_spr.R:154:3'
  
  ══ Failed tests ════════════════════════════════════════════════════════════════
  ── Error ('test-64.R:2:10'): 64-bit splits handled ok ──────────────────────────
  Error in `PairScorer(splits1, splits2, nTip, ...)`: object '_TreeDist_cpp_shared_phylo' not found
  Backtrace:
       ▆
    1. ├─testthat::expect_gt(SPI(64), SPI(63)) at test-64.R:5:3
    2. │ └─testthat::quasi_label(enquo(object), label)
    3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
    4. └─TreeDist (local) SPI(64)
    5.   └─TreeDist::SharedPhylogeneticInfo(...) at test-64.R:2:10
    6.     └─TreeDist::CalculateTreeDistance(...)
    7.       └─TreeDist:::.SplitDistanceOneOne(...)
    8.         └─TreeDist (local) Func(...)
    9.           └─TreeDist::GeneralizedRF(...)
   10.             └─TreeDist (local) PairScorer(splits1, splits2, nTip, ...)
  ── Error ('test-HPart.R:4:3'): is.HPart() succeeds ─────────────────────────────
  Error in `build_hpart_from_phylo(tree)`: object '_TreeDist_build_hpart_from_phylo' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_true(is.HPart(as.HPart(TreeTools::BalancedTree(7)))) at test-HPart.R:4:3
   2. │ └─testthat::quasi_label(enquo(object), label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. ├─TreeDist::is.HPart(as.HPart(TreeTools::BalancedTree(7)))
   5. ├─TreeDist::as.HPart(TreeTools::BalancedTree(7))
   6. └─TreeDist:::as.HPart.phylo(TreeTools::BalancedTree(7))
   7.   ├─base::structure(...)
   8.   └─TreeDist:::build_hpart_from_phylo(tree)
  ── Error ('test-HPart.R:13:3'): as.phylo.HPart ─────────────────────────────────
  Error in `build_hpart_from_phylo(tree)`: object '_TreeDist_build_hpart_from_phylo' not found
  Backtrace:
      ▆
   1. ├─TreeDist::as.HPart(bal7) at test-HPart.R:13:3
   2. └─TreeDist:::as.HPart.phylo(bal7)
   3.   ├─base::structure(...)
   4.   └─TreeDist:::build_hpart_from_phylo(tree)
  ── Error ('test-HPart.R:22:3'): as.HPart.numeric ───────────────────────────────
  Error in `build_hpart_from_list(tree, n_tip)`: object '_TreeDist_build_hpart_from_list' not found
  Backtrace:
      ▆
   1. ├─TreeDist::as.HPart(...) at test-HPart.R:22:3
   2. └─TreeDist:::as.HPart.list(...)
   3.   └─TreeDist:::build_hpart_from_list(tree, n_tip)
  ── Error ('test-HPart.R:50:3'): HParts are relabelled correctly ────────────────
  Error in `build_hpart_from_phylo(tree)`: object '_TreeDist_build_hpart_from_phylo' not found
  Backtrace:
      ▆
   1. ├─TreeDist::as.HPart(bal7) at test-HPart.R:50:3
   2. └─TreeDist:::as.HPart.phylo(bal7)
   3.   ├─base::structure(...)
   4.   └─TreeDist:::build_hpart_from_phylo(tree)
  ── Error ('test-HPart.R:67:45'): plot.HPart ────────────────────────────────────
  Error in `build_hpart_from_list(tree, n_tip)`: object '_TreeDist_build_hpart_from_list' not found
  Backtrace:
      ▆
   1. └─vdiffr::expect_doppelganger(...) at test-HPart.R:67:3
   2.   └─vdiffr (local) writer(fig, testcase, title)
   3.     ├─vdiffr:::print_plot(plot, title)
   4.     └─vdiffr:::print_plot.function(plot, title)
   5.       └─TreeDist (local) p()
   6.         ├─base::plot(as.HPart(list(list(1, 2, 3), list(4, list(5, 6))))) at test-HPart.R:67:45
   7.         ├─TreeDist::as.HPart(list(list(1, 2, 3), list(4, list(5, 6))))
   8.         └─TreeDist:::as.HPart.list(...)
   9.           └─TreeDist:::build_hpart_from_list(tree, n_tip)
  ── Error ('test-HPart.R:73:3'): Renumber.HPart ─────────────────────────────────
  Error in `build_hpart_from_list(tree, n_tip)`: object '_TreeDist_build_hpart_from_list' not found
  Backtrace:
       ▆
    1. ├─testthat::expect_error(...) at test-HPart.R:73: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. ├─TreeTools::RenumberTips(as.HPart(list(1, 2, 4, 3)), 4:2)
    8. ├─TreeDist::as.HPart(list(1, 2, 4, 3))
    9. └─TreeDist:::as.HPart.list(list(1, 2, 4, 3))
   10.   └─TreeDist:::build_hpart_from_list(tree, n_tip)
  ── Error ('test-Islands.R:4:3'): Islands() works ───────────────────────────────
  Error in `PairScorer(splits1, splits2, nTip, ...)`: object '_TreeDist_cpp_mutual_clustering' not found
  Backtrace:
       ▆
    1. └─TreeDist::ClusteringInfoDist(trees) at test-Islands.R:4:3
    2.   └─TreeDist::MutualClusteringInfo(...)
    3.     └─TreeDist::CalculateTreeDistance(...)
    4.       └─TreeDist:::.SplitDistanceAllPairs(...)
    5.         ├─base::structure(...)
    6.         └─base::apply(is, 2, .CliPairDist)
    7.           └─TreeDist (local) FUN(newX[, i], ...)
    8.             └─TreeDist (local) .PairDist(i)
    9.               └─TreeDist (local) Func(...)
   10.                 └─TreeDist::GeneralizedRF(...)
   11.                   └─TreeDist (local) PairScorer(splits1, splits2, nTip, ...)
  ── Error ('test-Reduce.R:7:3'): ReduceTrees() handles invalid input ────────────
  Error in `reduce_trees(BalancedTree(3)$edge, PectinateTree(3)$edge, letters[1:3])`: object '_TreeDist_reduce_trees' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_null(...) at test-Reduce.R:7:3
   2. │ └─testthat::quasi_label(enquo(object), label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist:::reduce_trees(...)
  ── Error ('test-Reduce.R:14:3'): ReduceTrees() ─────────────────────────────────
  Error in `reduce_trees(tree1$edge[PostorderOrder(tree1), ], tree2$edge[PostorderOrder(tree2), ], tree1[["tip.label"]])`: object '_TreeDist_reduce_trees' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_null(ReduceTrees(bal9, bal9)) at test-Reduce.R:14:3
   2. │ └─testthat::quasi_label(enquo(object), label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist::ReduceTrees(bal9, bal9)
   5.   └─TreeDist:::reduce_trees(...)
  ── Error ('test-VisualizeMatching.R:22:5'): VisualizeMatching() works ──────────
  Error in `PairScorer(splits1, splits2, nTip, ...)`: object '_TreeDist_cpp_mutual_clustering' not found
  Backtrace:
       ▆
    1. └─vdiffr::expect_doppelganger(...) at test-VisualizeMatching.R:21:3
    2.   └─vdiffr (local) writer(fig, testcase, title)
    3.     ├─vdiffr:::print_plot(plot, title)
    4.     └─vdiffr:::print_plot.function(plot, title)
    5.       └─TreeDist (local) p()
    6.         └─TreeDist::VisualizeMatching(...) at test-VisualizeMatching.R:22:5
    7.           └─TreeDist (local) Func(tree1, tree2, reportMatching = TRUE)
    8.             └─TreeDist::CalculateTreeDistance(...)
    9.               └─TreeDist:::.SplitDistanceOneOne(...)
   10.                 └─TreeDist (local) Func(...)
   11.                   └─TreeDist::GeneralizedRF(...)
   12.                     └─TreeDist (local) PairScorer(splits1, splits2, nTip, ...)
  ── Error ('test-VisualizeMatching.R:141:5'): VisualizeMatching() handles unrooted trees ──
  Error in `PairScorer(splits1, splits2, nTip, ...)`: object '_TreeDist_cpp_robinson_foulds_distance' not found
  Backtrace:
       ▆
    1. └─vdiffr::expect_doppelganger(...) at test-VisualizeMatching.R:137:3
    2.   └─vdiffr (local) writer(fig, testcase, title)
    3.     ├─vdiffr:::print_plot(plot, title)
    4.     └─vdiffr:::print_plot.function(plot, title)
    5.       └─TreeDist (local) p()
    6.         └─TreeDist::VisualizeMatching(...) at test-VisualizeMatching.R:141:5
    7.           └─TreeDist (local) Func(tree1, tree2, reportMatching = TRUE)
    8.             └─TreeDist::CalculateTreeDistance(...)
    9.               └─TreeDist:::.SplitDistanceOneOne(...)
   10.                 └─TreeDist (local) Func(...)
   11.                   └─TreeDist::GeneralizedRF(...)
   12.                     └─TreeDist (local) PairScorer(splits1, splits2, nTip, ...)
  ── Error ('test-binary_entropy_counts.R:2:3'): binary_entropy_counts() fails gracefully ──
  Error in `binary_entropy_counts(integer(0), 0)`: object '_TreeDist_binary_entropy_counts' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_equal(...) at test-binary_entropy_counts.R:2:3
   2. │ └─testthat::quasi_label(enquo(object), label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist:::binary_entropy_counts(integer(0), 0)
  ── Error ('test-day_1985.cpp.r:4:3'): Day 1985 does not overflow ───────────────
  Error in `robinson_foulds_all_pairs(if (is.list(ct)) ct else list(ct))`: object '_TreeDist_robinson_foulds_all_pairs' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_equal(...) at test-day_1985.cpp.r:4:3
   2. │ └─testthat::quasi_label(enquo(object), label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist::RobinsonFoulds(list(bigTree, bigTree))
   5.   └─TreeDist:::robinson_foulds_all_pairs(if (is.list(ct)) ct else list(ct))
  ── Error ('test-day_1985.cpp.r:32:3'): Day 1985 examples ───────────────────────
  Error in `robinson_foulds_all_pairs(list(c1, c2))`: object '_TreeDist_robinson_foulds_all_pairs' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_equal(...) at test-day_1985.cpp.r:32:3
   2. │ └─testthat::quasi_label(enquo(expected), expected.label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist:::robinson_foulds_all_pairs(list(c1, c2))
  ── Error ('test-day_1985.cpp.r:75:3'): RobinsonFoulds() with realistic trees ───
  Error in `robinson_foulds_all_pairs(if (is.list(ct)) ct else list(ct))`: object '_TreeDist_robinson_foulds_all_pairs' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_equal(...) at test-day_1985.cpp.r:75:3
   2. │ └─testthat::quasi_label(enquo(object), label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist::RobinsonFoulds(r4)
   5.   └─TreeDist:::robinson_foulds_all_pairs(if (is.list(ct)) ct else list(ct))
  ── Error ('test-different-tips.R:12:3'): Non-identical tips are handled okay ───
  Error in `PairScorer(splits1, splits2, nTip, ...)`: object '_TreeDist_cpp_mutual_clustering' not found
  Backtrace:
      ▆
   1. └─TreeDist::TreeDistance(bal8, pec8) at test-different-tips.R:12:3
   2.   └─TreeDist::ClusteringInfoDistance(...)
   3.     └─TreeDist::MutualClusteringInfo(...)
   4.       └─TreeDist::CalculateTreeDistance(...)
   5.         └─TreeDist:::.SplitDistanceOneOne(...)
   6.           └─TreeDist (local) Func(...)
   7.             └─TreeDist::GeneralizedRF(...)
   8.               └─TreeDist (local) PairScorer(splits1, splits2, nTip, ...)
  ── Failure ('test-hierarchical_mutual_information.R:11:3'): Hierarchical Mutual Information ──
  Expected `HierarchicalMutualInfo(tree1, tree2)` not to throw any errors.
  Actually got a <simpleError> with message:
    object '_TreeDist_build_hpart_from_phylo' not found
  ── Error ('test-hierarchical_mutual_information.R:14:3'): Hierarchical Mutual Information ──
  Error in `build_hpart_from_phylo(tree)`: object '_TreeDist_build_hpart_from_phylo' not found
  Backtrace:
      ▆
   1. └─TreeDist::HierarchicalMutualInfo(tree1, tree2) at test-hierarchical_mutual_information.R:14:3
   2.   ├─TreeDist::as.HPart(tree1)
   3.   └─TreeDist:::as.HPart.phylo(tree1)
   4.     ├─base::structure(...)
   5.     └─TreeDist:::build_hpart_from_phylo(tree)
  ── Error ('test-hierarchical_mutual_information.R:55:3'): HMI edge cases ───────
  Error in `build_hpart_from_phylo(tree)`: object '_TreeDist_build_hpart_from_phylo' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_lt(HMI(bal9, bal9b), HMI(bal9, bal9)) at test-hierarchical_mutual_information.R:55:3
   2. │ └─testthat::quasi_label(enquo(object), label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist::HMI(bal9, bal9b)
   5.   ├─TreeDist::as.HPart(tree1)
   6.   └─TreeDist:::as.HPart.phylo(tree1)
   7.     ├─base::structure(...)
   8.     └─TreeDist:::build_hpart_from_phylo(tree)
  ── Error ('test-hmi.cpp.R:4:3'): HMI fails nicely ──────────────────────────────
  Error in `build_hpart_from_phylo(tree)`: object '_TreeDist_build_hpart_from_phylo' not found
  Backtrace:
      ▆
   1. ├─TreeDist::as.HPart(BalancedTree(5)) at test-hmi.cpp.R:4:3
   2. └─TreeDist:::as.HPart.phylo(BalancedTree(5))
   3.   ├─base::structure(...)
   4.   └─TreeDist:::build_hpart_from_phylo(tree)
  ── Error ('test-hmi.cpp.R:18:3'): HMI examples from Perotti et al. 2015 ────────
  Error in `build_hpart_from_list(tree, n_tip)`: object '_TreeDist_build_hpart_from_list' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_equal(SelfHMI(p1), 1.011/log(2), tolerance = 0.01) at test-hmi.cpp.R:18:3
   2. │ └─testthat::quasi_label(enquo(object), label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist::SelfHMI(p1)
   5.   ├─TreeDist::as.HPart(tree)
   6.   └─TreeDist:::as.HPart.list(tree)
   7.     └─TreeDist:::build_hpart_from_list(tree, n_tip)
  ── Error ('test-hmi.cpp.R:26:3'): HMI is dependent on root position ────────────
  Error in `build_hpart_from_phylo(tree)`: object '_TreeDist_build_hpart_from_phylo' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_lt(...) at test-hmi.cpp.R:26:3
   2. │ └─testthat::quasi_label(enquo(object), label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist::HMI(RootTree(bal9, 1), RootTree(bal9, 9), normalize = TRUE)
   5.   ├─TreeDist::as.HPart(tree1)
   6.   └─TreeDist:::as.HPart.phylo(tree1)
   7.     ├─base::structure(...)
   8.     └─TreeDist:::build_hpart_from_phylo(tree)
  ── Error ('test-hmi.cpp.R:34:3'): HMI results match hmi.pynb ───────────────────
  Error in `build_hpart_from_list(tree, n_tip)`: object '_TreeDist_build_hpart_from_list' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_equal(HMI(p1, p2), 0.941098035724547/log(2)) at test-hmi.cpp.R:34:3
   2. │ └─testthat::quasi_label(enquo(object), label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist::HMI(p1, p2)
   5.   ├─TreeDist::as.HPart(tree1)
   6.   └─TreeDist:::as.HPart.list(tree1)
   7.     └─TreeDist:::build_hpart_from_list(tree, n_tip)
  ── Error ('test-hmi.cpp.R:102:3'): HMI calculated correctly ────────────────────
  Error in `build_hpart_from_phylo(tree)`: object '_TreeDist_build_hpart_from_phylo' not found
  Backtrace:
      ▆
   1. ├─TreeDist::as.HPart(BalancedTree(6)) at test-hmi.cpp.R:102:3
   2. └─TreeDist:::as.HPart.phylo(BalancedTree(6))
   3.   ├─base::structure(...)
   4.   └─TreeDist:::build_hpart_from_phylo(tree)
  ── Error ('test-hmi.cpp.R:126:3'): HMI_cpp equals SelfHMI for same partition ───
  Error in `build_hpart_from_phylo(tree)`: object '_TreeDist_build_hpart_from_phylo' not found
  Backtrace:
      ▆
   1. ├─TreeDist::as.HPart(tr) at test-hmi.cpp.R:126:3
   2. └─TreeDist:::as.HPart.phylo(tr)
   3.   ├─base::structure(...)
   4.   └─TreeDist:::build_hpart_from_phylo(tree)
  ── Error ('test-hmi.cpp.R:141:3'): HMI works with real dataset ─────────────────
  Error in `build_hpart_from_list(lapply(unique(tree), function(x) as.list(which(tree == x))), length(tree))`: object '_TreeDist_build_hpart_from_list' not found
  Backtrace:
      ▆
   1. ├─TreeDist::as.HPart(ch) at test-hmi.cpp.R:141:3
   2. └─TreeDist:::as.HPart.default(ch)
   3.   ├─base::structure(...)
   4.   └─TreeDist:::build_hpart_from_list(...)
  ── Error ('test-information.R:6:3'): Entropy is calculated correctly ───────────
  Error in `entropy_int(as.integer(c(1, 1, 0, 1, 1)))`: object '_TreeDist_entropy_int' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_equal(...) at test-information.R:6:3
   2. │ └─testthat::quasi_label(enquo(object), label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist::entropy_int(as.integer(c(1, 1, 0, 1, 1)))
  ── Error ('test-information.R:37:5'): Removing contradictions improves scores ──
  Error in `PairScorer(splits1, splits2, nTip, ...)`: object '_TreeDist_cpp_shared_phylo' not found
  Backtrace:
      ▆
   1. └─TreeDist (local) Test(200, 2) at test-information.R:44:3
   2.   ├─testthat::expect_true(...) at test-information.R:37:5
   3.   │ └─testthat::quasi_label(enquo(object), label)
   4.   │   └─rlang::eval_bare(expr, quo_get_env(quo))
   5.   └─TreeDist::SharedPhylogeneticInfoSplits(...)
   6.     └─TreeDist::GeneralizedRF(...)
   7.       └─TreeDist (local) PairScorer(splits1, splits2, nTip, ...)
  ── Error ('test-lap.R:8:3'): LAP example1 ──────────────────────────────────────
  Error in `lapjv(x, max(x))`: object '_TreeDist_lapjv' not found
  Backtrace:
      ▆
   1. └─TreeDist::LAPJV(problem) at test-lap.R:8:3
   2.   └─TreeDist:::lapjv(x, max(x))
  ── Error ('test-lap.R:21:3'): LAP example2 ─────────────────────────────────────
  Error in `lapjv(x, max(x))`: object '_TreeDist_lapjv' not found
  Backtrace:
      ▆
   1. └─TreeDist::LAPJV(problem) at test-lap.R:21:3
   2.   └─TreeDist:::lapjv(x, max(x))
  ── Error ('test-lap.R:33:3'): LAP example3 ─────────────────────────────────────
  Error in `lapjv(x, max(x))`: object '_TreeDist_lapjv' not found
  Backtrace:
      ▆
   1. └─TreeDist::LAPJV(problem) at test-lap.R:33:3
   2.   └─TreeDist:::lapjv(x, max(x))
  ── Error ('test-lap.R:44:3'): LAP handles non-square matrices ──────────────────
  Error in `lapjv(x, max(x))`: object '_TreeDist_lapjv' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_equal(LAPJV(problem), LAPJV(problem[, -5])) at test-lap.R:44:3
   2. │ └─testthat::quasi_label(enquo(object), label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist::LAPJV(problem)
   5.   └─TreeDist:::lapjv(x, max(x))
  ── Error ('test-lap.R:60:3'): LAP handles tiny matrices ────────────────────────
  Error in `lapjv(x, max(x))`: object '_TreeDist_lapjv' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_equal(...) at test-lap.R:60:3
   2. │ └─testthat::quasi_label(enquo(object), label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist::LAPJV(matrix(8, 1, 1))
   5.   └─TreeDist:::lapjv(x, max(x))
  ── Error ('test-lap.R:313:3'): Precision avoids interminable loop in LAP ───────
  Error in `PairScorer(splits1, splits2, nTip, ...)`: object '_TreeDist_cpp_mutual_clustering' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_gt(...) at test-lap.R:313:3
   2. │ └─testthat::quasi_label(enquo(object), label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist::MutualClusteringInfoSplits(spl2180, spl2180)
   5.   └─TreeDist::GeneralizedRF(...)
   6.     └─TreeDist (local) PairScorer(splits1, splits2, nTip, ...)
  ── Error ('test-lap.R:326:3'): LAPJV doesn't crash ─────────────────────────────
  Error in `lapjv(x, max(x))`: object '_TreeDist_lapjv' not found
  Backtrace:
      ▆
   1. └─TreeDist::LAPJV(matrix(c(2, 1, 1, 2), 2, 2)) at test-lap.R:326:3
   2.   └─TreeDist:::lapjv(x, max(x))
  ── Error ('test-lap.R:347:3'): Avoid infinite loop in LAP ──────────────────────
  Error in `PairScorer(splits1, splits2, nTip, ...)`: object '_TreeDist_cpp_mutual_clustering' not found
  Backtrace:
       ▆
    1. ├─testthat::expect_equal(...) at test-lap.R:347:3
    2. │ └─testthat::quasi_label(enquo(expected), expected.label)
    3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
    4. └─TreeDist::ClusteringInfoDistance(...)
    5.   └─TreeDist::MutualClusteringInfo(...)
    6.     └─TreeDist::CalculateTreeDistance(...)
    7.       └─TreeDist:::.SplitDistanceOneOne(...)
    8.         └─TreeDist (local) Func(...)
    9.           └─TreeDist::GeneralizedRF(...)
   10.             └─TreeDist (local) PairScorer(splits1, splits2, nTip, ...)
  ── Error ('test-mast.R:13:3'): MAST works ──────────────────────────────────────
  Error in `cpp_mast(edge1 - 1L, Postorder(edge2) - 1L, nTip)`: object '_TreeDist_cpp_mast' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_equal(8L, MASTSize(tree1, tree1, rooted = TRUE)) at test-mast.R:13:3
   2. │ └─testthat::quasi_label(enquo(expected), expected.label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist::MASTSize(tree1, tree1, rooted = TRUE)
   5.   └─TreeDist::.TreeDistance(...)
   6.     └─TreeDist (local) Func(tree1, tree2, tipLabels = labels1, nTip = nTip, ...)
   7.       └─TreeDist:::.MASTSizeEdges(...)
   8.         └─TreeDist:::cpp_mast(edge1 - 1L, Postorder(edge2) - 1L, nTip)
  ── Error ('test-mast.R:37:3'): MAST supports funnily-ordered edges ─────────────
  Error in `cpp_mast(edge1 - 1L, Postorder(edge2) - 1L, nTip)`: object '_TreeDist_cpp_mast' not found
  Backtrace:
       ▆
    1. ├─testthat::expect_equal(...) at test-mast.R:37:3
    2. │ └─testthat::quasi_label(enquo(expected), expected.label)
    3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
    4. └─TreeDist::MASTSize(Postorder(tree1), Postorder(tree2), rooted = FALSE)
    5.   └─TreeDist::.TreeDistance(...)
    6.     └─TreeDist (local) Func(tree1, tree2, tipLabels = labels1, nTip = nTip, ...)
    7.       └─base::vapply(...)
    8.         └─TreeDist (local) FUN(X[[i]], ...)
    9.           └─TreeDist:::.MASTSizeEdges(...)
   10.             └─TreeDist:::cpp_mast(edge1 - 1L, Postorder(edge2) - 1L, nTip)
  ── Error ('test-mast.R:60:5'): MAST size calculated correctly on small trees ───
  Error in `cpp_mast(edge1 - 1L, Postorder(edge2) - 1L, nTip)`: object '_TreeDist_cpp_mast' not found
  Backtrace:
      ▆
   1. └─TreeDist (local) ME(2L, 1) at test-mast.R:66:3
   2.   ├─testthat::expect_equal(...) at test-mast.R:60:5
   3.   │ └─testthat::quasi_label(enquo(expected), expected.label)
   4.   │   └─rlang::eval_bare(expr, quo_get_env(quo))
   5.   └─TreeDist:::.MASTSizeEdges(...)
   6.     └─TreeDist:::cpp_mast(edge1 - 1L, Postorder(edge2) - 1L, nTip)
  ── Error ('test-median.R:4:3'): Median is calculated ───────────────────────────
  Error in `PairScorer(splits1, splits2, nTip, ...)`: object '_TreeDist_cpp_mutual_clustering' not found
  Backtrace:
       ▆
    1. ├─testthat::expect_equal(4, median(tenTrees, index = TRUE)) at test-median.R:4:3
    2. │ └─testthat::quasi_label(enquo(expected), expected.label)
    3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
    4. ├─stats::median(tenTrees, index = TRUE)
    5. └─TreeDist:::median.multiPhylo(tenTrees, index = TRUE)
    6.   ├─base::unname(colSums(as.matrix(Distance(x))))
    7.   ├─base::colSums(as.matrix(Distance(x)))
    8.   │ └─base::is.data.frame(x)
    9.   ├─base::as.matrix(Distance(x))
   10.   └─TreeDist (local) Distance(x)
   11.     └─TreeDist::MutualClusteringInfo(...)
   12.       └─TreeDist::CalculateTreeDistance(...)
   13.         └─TreeDist:::.SplitDistanceAllPairs(...)
   14.           ├─base::structure(...)
   15.           └─base::apply(is, 2, .CliPairDist)
   16.             └─TreeDist (local) FUN(newX[, i], ...)
   17.               └─TreeDist (local) .PairDist(i)
   18.                 └─TreeDist (local) Func(...)
   19.                   └─TreeDist::GeneralizedRF(...)
   20.                     └─TreeDist (local) PairScorer(splits1, splits2, nTip, ...)
  ── Error ('test-parallel.R:9:3'): Parallelization works ────────────────────────
  Error in `checkForRemoteErrors(val)`: 2 nodes produced errors; first error: object '_TreeDist_cpp_mutual_clustering' not found
  Backtrace:
       ▆
    1. ├─base::suppressMessages(...) at test-parallel.R:5:3
    2. │ └─base::withCallingHandlers(...)
    3. └─TreeDist::ClusteringInfoDistance(trees) at test-parallel.R:9:3
    4.   └─TreeDist::MutualClusteringInfo(...)
    5.     └─TreeDist::CalculateTreeDistance(...)
    6.       └─TreeDist:::.SplitDistanceAllPairs(...)
    7.         ├─base::structure(...)
    8.         └─parallel::parCapply(cluster, is, .PairDist)
    9.           └─parallel::clusterApply(...)
   10.             └─parallel:::staticClusterApply(cl, fun, length(x), argfun)
   11.               └─parallel:::checkForRemoteErrors(val)
  ── Error ('test-split_info.R:13:3'): Split info calculated ─────────────────────
  Error in `consensus_info(trees, TRUE, 1)`: object '_TreeDist_consensus_info' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_equal(consensus_info(trees, TRUE, 1), 0) at test-split_info.R:13:3
   2. │ └─testthat::quasi_label(enquo(object), label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist:::consensus_info(trees, TRUE, 1)
  ── Error ('test-tree_distance.R:95:10'): Metrics handle polytomies ─────────────
  Error in `PairScorer(splits1, splits2, nTip, ...)`: object '_TreeDist_cpp_shared_phylo' not found
  Backtrace:
       ▆
    1. └─base::lapply(...) at test-tree_distance.R:93:3
    2.   └─TreeDist (local) FUN(X[[i]], ...)
    3.     ├─testthat::expect_equal(0, Func(treeSym8, polytomy8)) at test-tree_distance.R:95:10
    4.     │ └─testthat::quasi_label(enquo(expected), expected.label)
    5.     │   └─rlang::eval_bare(expr, quo_get_env(quo))
    6.     └─TreeDist (local) Func(treeSym8, polytomy8)
    7.       └─TreeDist::CalculateTreeDistance(...)
    8.         └─TreeDist:::.SplitDistanceOneOne(...)
    9.           └─TreeDist (local) Func(...)
   10.             └─TreeDist::GeneralizedRF(...)
   11.               └─TreeDist (local) PairScorer(splits1, splits2, nTip, ...)
  ── Error ('test-tree_distance.R:135:3'): .MaxValue() succeeds ──────────────────
  Error in `PairScorer(splits1, splits2, nTip, ...)`: object '_TreeDist_cpp_mutual_clustering' not found
  Backtrace:
       ▆
    1. ├─testthat::expect_equal(...) at test-tree_distance.R:135:3
    2. │ └─testthat::quasi_label(enquo(object), label)
    3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
    4. └─TreeDist::MutualClusteringInfo(list1, list2[[2]], normalize = FALSE)
    5.   └─TreeDist::CalculateTreeDistance(...)
    6.     └─TreeDist:::.SplitDistanceOneMany(...)
    7.       └─base::vapply(...)
    8.         └─TreeDist (local) FUN(X[[i]], ...)
    9.           └─TreeDist (local) Func(...)
   10.             └─TreeDist::GeneralizedRF(...)
   11.               └─TreeDist (local) PairScorer(splits1, splits2, nTip, ...)
  ── Error ('test-tree_distance.R:176:5'): Output dimensions are correct ─────────
  Error in `PairScorer(splits1, splits2, nTip, ...)`: object '_TreeDist_cpp_shared_phylo' not found
  Backtrace:
      ▆
   1. └─base::lapply(methodsToTest, Test) at test-tree_distance.R:191:3
   2.   └─TreeDist (local) FUN(X[[i]], ...)
   3.     ├─base::matrix(...) at test-tree_distance.R:176:5
   4.     └─TreeDist (local) Func(treeSym8, treeSym8)
   5.       └─TreeDist::CalculateTreeDistance(...)
   6.         └─TreeDist:::.SplitDistanceOneOne(...)
   7.           └─TreeDist (local) Func(...)
   8.             └─TreeDist::GeneralizedRF(...)
   9.               └─TreeDist (local) PairScorer(splits1, splits2, nTip, ...)
  ── Error ('test-tree_distance.R:199:5'): RF Distance is correctly calculated ───
  Error in `PairScorer(splits1, splits2, nTip, ...)`: object '_TreeDist_cpp_robinson_foulds_distance' not found
  Backtrace:
       ▆
    1. └─TreeDist (local) RFTest(treeSym8, treeSym8) at test-tree_distance.R:206:3
    2.   ├─testthat::expect_equal(...) at test-tree_distance.R:199:5
    3.   │ └─testthat::quasi_label(enquo(expected), expected.label)
    4.   │   └─rlang::eval_bare(expr, quo_get_env(quo))
    5.   └─TreeDist::RobinsonFoulds(t1, t2)
    6.     └─TreeDist::CalculateTreeDistance(...)
    7.       └─TreeDist:::.SplitDistanceOneOne(...)
    8.         └─TreeDist (local) Func(...)
    9.           └─TreeDist::GeneralizedRF(...)
   10.             └─TreeDist (local) PairScorer(splits1, splits2, nTip, ...)
  ── Error ('test-tree_distance.R:229:3'): Shared Phylogenetic Info is correctly calculated ──
  Error in `cpp_shared_phylo(as.Splits(as.logical(c(1, 1, 1, 1, 0, 0, 0, 0))), as.Splits(as.logical(c(1, 1, 1, 1, 0, 0, 0, 0))), 8L)`: object '_TreeDist_cpp_shared_phylo' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_equal(...) at test-tree_distance.R:229:3
   2. │ └─testthat::quasi_label(enquo(expected), expected.label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist:::cpp_shared_phylo(...)
  ── Error ('test-tree_distance.R:335:3'): MatchingSplitInfo() is correctly calculated ──
  Error in `PairScorer(splits1, splits2, nTip, ...)`: object '_TreeDist_cpp_msi_distance' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_equal(...) at test-tree_distance.R:335:3
   2. │ └─testthat::quasi_label(enquo(expected), expected.label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist::MatchingSplitInfoSplits(...)
   5.   └─TreeDist::GeneralizedRF(...)
   6.     └─TreeDist (local) PairScorer(splits1, splits2, nTip, ...)
  ── Error ('test-tree_distance.R:375:3'): Shared Phylogenetic Information is correctly estimated ──
  Error in `PairScorer(splits1, splits2, nTip, ...)`: object '_TreeDist_cpp_shared_phylo' not found
  Backtrace:
      ▆
   1. └─TreeDist::ExpectedVariation(treeSym8, treeAbc.Defgh, samples = 1000L) at test-tree_distance.R:375:3
   2.   └─base::vapply(...)
   3.     └─TreeDist (local) FUN(X[[i]], ...)
   4.       └─TreeDist::SharedPhylogeneticInfoSplits(splits1, resampled2)
   5.         └─TreeDist::GeneralizedRF(...)
   6.           └─TreeDist (local) PairScorer(splits1, splits2, nTip, ...)
  ── Error ('test-tree_distance.R:390:3'): Clustering information is correctly calculated ──
  Error in `cpp_mutual_clustering(as.Splits(as.logical(c(1, 1, 1, 0, 0, 0, 0, 0))), as.Splits(as.logical(c(1, 1, 1, 0, 0, 0, 0, 0))), 8L)`: object '_TreeDist_cpp_mutual_clustering' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_equal(...) at test-tree_distance.R:390:3
   2. │ └─testthat::quasi_label(enquo(expected), expected.label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist:::cpp_mutual_clustering(...)
  ── Error ('test-tree_distance.R:562:3'): Matchings are correct ─────────────────
  Error in `PairScorer(splits1, splits2, nTip, ...)`: object '_TreeDist_cpp_mutual_clustering' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_equal(...) at test-tree_distance.R:562:3
   2. │ └─testthat::quasi_label(enquo(object), label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist::MutualClusteringInfo(threeAwayPoly, randomBif20)
   5.   └─TreeDist::CalculateTreeDistance(...)
   6.     └─TreeDist:::.SplitDistanceOneOne(...)
   7.       └─TreeDist (local) Func(...)
   8.         └─TreeDist::GeneralizedRF(...)
   9.           └─TreeDist (local) PairScorer(splits1, splits2, nTip, ...)
  ── Error ('test-tree_distance.R:660:3'): Matching Split Distance is correctly calculated ──
  Error in `PairScorer(splits1, splits2, nTip, ...)`: object '_TreeDist_cpp_matching_split_distance' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_equal(...) at test-tree_distance.R:660:3
   2. │ └─testthat::quasi_label(enquo(object), label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist::MatchingSplitDistance(treeSym8, treeSym8)
   5.   └─TreeDist::CalculateTreeDistance(...)
   6.     └─TreeDist:::.SplitDistanceOneOne(...)
   7.       └─TreeDist (local) Func(...)
   8.         └─TreeDist::GeneralizedRF(...)
   9.           └─TreeDist (local) PairScorer(splits1, splits2, nTip, ...)
  ── Error ('test-tree_distance.R:705:3'): NyeSimilarity is correctly calculated, and matches JRF ──
  Error in `PairScorer(splits1, splits2, nTip, ...)`: object '_TreeDist_cpp_jaccard_similarity' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_equal(...) at test-tree_distance.R:705:3
   2. │ └─testthat::quasi_label(enquo(expected), expected.label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist::NyeSimilarity(as.Splits(treeSym8), treeSym8)
   5.   └─TreeDist::CalculateTreeDistance(...)
   6.     └─TreeDist:::.SplitDistanceOneOne(...)
   7.       └─TreeDist (local) Func(...)
   8.         └─TreeDist::GeneralizedRF(...)
   9.           └─TreeDist (local) PairScorer(splits1, splits2, nTip, ...)
  ── Error ('test-tree_distance.R:743:3'): Jaccard RF extremes tend to equivalent functions ──
  Error in `PairScorer(splits1, splits2, nTip, ...)`: object '_TreeDist_cpp_jaccard_similarity' not found
  Backtrace:
       ▆
    1. ├─testthat::expect_equal(...) at test-tree_distance.R:743:3
    2. │ └─testthat::quasi_label(enquo(object), label)
    3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
    4. └─TreeDist::JaccardRobinsonFoulds(...)
    5.   └─TreeDist::CalculateTreeDistance(...)
    6.     └─TreeDist:::.SplitDistanceOneMany(...)
    7.       └─base::vapply(...)
    8.         └─TreeDist (local) FUN(X[[i]], ...)
    9.           └─TreeDist (local) Func(...)
   10.             └─TreeDist::GeneralizedRF(...)
   11.               └─TreeDist (local) PairScorer(splits1, splits2, nTip, ...)
  ── Error ('test-tree_distance.R:758:3'): Jaccard RF is correctly calculated ────
  Error in `PairScorer(splits1, splits2, nTip, ...)`: object '_TreeDist_cpp_jaccard_similarity' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_equal(...) at test-tree_distance.R:758:3
   2. │ └─testthat::quasi_label(enquo(expected), expected.label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist::JaccardRobinsonFoulds(treeSym8, treeSym8, k = 2, similarity = TRUE)
   5.   └─TreeDist::CalculateTreeDistance(...)
   6.     └─TreeDist:::.SplitDistanceOneOne(...)
   7.       └─TreeDist (local) Func(...)
   8.         └─TreeDist::GeneralizedRF(...)
   9.           └─TreeDist (local) PairScorer(splits1, splits2, nTip, ...)
  ── Error ('test-tree_distance.R:797:5'): RobinsonFoulds() is correctly calculated ──
  Error in `PairScorer(splits1, splits2, nTip, ...)`: object '_TreeDist_cpp_robinson_foulds_distance' not found
  Backtrace:
       ▆
    1. └─TreeDist (local) RFTest(treeSym8, treeSym8) at test-tree_distance.R:800:3
    2.   ├─testthat::expect_equal(...) at test-tree_distance.R:797:5
    3.   │ └─testthat::quasi_label(enquo(expected), expected.label)
    4.   │   └─rlang::eval_bare(expr, quo_get_env(quo))
    5.   └─TreeDist::RobinsonFoulds(tree1, tree2)
    6.     └─TreeDist::CalculateTreeDistance(...)
    7.       └─TreeDist:::.SplitDistanceOneOne(...)
    8.         └─TreeDist (local) Func(...)
    9.           └─TreeDist::GeneralizedRF(...)
   10.             └─TreeDist (local) PairScorer(splits1, splits2, nTip, ...)
  ── Error ('test-tree_distance.R:834:3'): RobinsonFoulds() supports large lists ──
  Error in `robinson_foulds_all_pairs(if (is.list(ct)) ct else list(ct))`: object '_TreeDist_robinson_foulds_all_pairs' not found
  Backtrace:
      ▆
   1. ├─base::as.matrix(RobinsonFoulds(trees)) at test-tree_distance.R:834:3
   2. └─TreeDist::RobinsonFoulds(trees)
   3.   └─TreeDist:::robinson_foulds_all_pairs(if (is.list(ct)) ct else list(ct))
  ── Error ('test-tree_distance.R:848:3'): Robinson Foulds Info is correctly calculated ──
  Error in `PairScorer(splits1, splits2, nTip, ...)`: object '_TreeDist_cpp_robinson_foulds_info' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_equal(...) at test-tree_distance.R:848:3
   2. │ └─testthat::quasi_label(enquo(expected), expected.label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist::InfoRobinsonFoulds(...)
   5.   └─TreeDist::CalculateTreeDistance(...)
   6.     └─TreeDist:::.SplitDistanceOneOne(...)
   7.       └─TreeDist (local) Func(...)
   8.         └─TreeDist::GeneralizedRF(...)
   9.           └─TreeDist (local) PairScorer(splits1, splits2, nTip, ...)
  ── Error ('test-tree_distance.R:922:3'): Multiple comparisons are correctly ordered ──
  Error in `robinson_foulds_all_pairs(if (is.list(ct)) ct else list(ct))`: object '_TreeDist_robinson_foulds_all_pairs' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_equal(...) at test-tree_distance.R:922:3
   2. │ └─testthat::quasi_label(enquo(expected), expected.label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist::RobinsonFoulds(trees)
   5.   └─TreeDist:::robinson_foulds_all_pairs(if (is.list(ct)) ct else list(ct))
  ── Error ('test-tree_distance.R:949:3'): Normalization occurs as documented ────
  Error in `PairScorer(splits1, splits2, nTip, ...)`: object '_TreeDist_cpp_shared_phylo' not found
  Backtrace:
      ▆
   1. └─TreeDist::SharedPhylogeneticInfo(tree1, tree2, normalize = FALSE) at test-tree_distance.R:949:3
   2.   └─TreeDist::CalculateTreeDistance(...)
   3.     └─TreeDist:::.SplitDistanceOneOne(...)
   4.       └─TreeDist (local) Func(...)
   5.         └─TreeDist::GeneralizedRF(...)
   6.           └─TreeDist (local) PairScorer(splits1, splits2, nTip, ...)
  ── Error ('test-tree_distance.R:992:5'): Independent of root position ──────────
  Error in `checkForRemoteErrors(val)`: 2 nodes produced errors; first error: object '_TreeDist_cpp_shared_phylo' not found
  Backtrace:
       ▆
    1. └─base::lapply(...) at test-tree_distance.R:991:3
    2.   └─TreeDist (local) FUN(X[[i]], ...)
    3.     ├─base::as.matrix(Method(trees)) at test-tree_distance.R:992:5
    4.     └─TreeDist (local) Method(trees)
    5.       └─TreeDist::CalculateTreeDistance(...)
    6.         └─TreeDist:::.SplitDistanceAllPairs(...)
    7.           ├─base::structure(...)
    8.           └─parallel::parCapply(cluster, is, .PairDist)
    9.             └─parallel::clusterApply(...)
   10.               └─parallel:::staticClusterApply(cl, fun, length(x), argfun)
   11.                 └─parallel:::checkForRemoteErrors(val)
  ── Error ('test-tree_distance.R:1016:3'): Matchings are correctly reported ─────
  Error in `PairScorer(splits1, splits2, nTip, ...)`: object '_TreeDist_cpp_mutual_clustering' not found
  Backtrace:
      ▆
   1. └─TreeDist (local) expect_matching_score(MutualClusteringInfo) at test-tree_distance.R:1016:3
   2.   └─TreeDist (local) Func(BalancedTree(33), PectinateTree(33), reportMatching = TRUE) at test-tree_distance.R:26:5
   3.     └─TreeDist::CalculateTreeDistance(...)
   4.       └─TreeDist:::.SplitDistanceOneOne(...)
   5.         └─TreeDist (local) Func(...)
   6.           └─TreeDist::GeneralizedRF(...)
   7.             └─TreeDist (local) PairScorer(splits1, splits2, nTip, ...)
  ── Error ('test-tree_distance_kc.R:13:3'): KC vector calculations ──────────────
  Error in `path_vector(edge)`: object '_TreeDist_path_vector' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_equal(...) at test-tree_distance_kc.R:13:3
   2. │ └─testthat::quasi_label(enquo(object), label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist::PathVector(UnrootTree(bal7))
   5.   ├─base::structure(path_vector(edge), Size = NTip(tree), class = "dist")
   6.   └─TreeDist:::path_vector(edge)
  ── Error ('test-tree_distance_kc.R:40:3'): KC distances with special vectors ───
  Error in `path_vector(edge)`: object '_TreeDist_path_vector' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_equal(...) at test-tree_distance_kc.R:40:3
   2. │ └─testthat::quasi_label(enquo(object), label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist::PathDist(trees)
   5.   └─TreeDist:::.PathDistManySelf(tree1)
   6.     └─base::vapply(...)
   7.       └─TreeDist (local) FUN(X[[i]], ...)
   8.         ├─base::structure(path_vector(edge), Size = NTip(tree), class = "dist")
   9.         └─TreeDist:::path_vector(edge)
  ── Error ('test-tree_distance_nni.R:11:3'): NNIDist() handles exceptions ───────
  Error in `cpp_nni_distance(PectinateTree(40000)$edge, BalancedTree(40000)$edge, 40000)`: object '_TreeDist_cpp_nni_distance' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_error(...) at test-tree_distance_nni.R:11: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. └─TreeDist:::cpp_nni_distance(...)
  ── Error ('test-tree_distance_nni.R:22:3'): NNIDist() at NNI_MAX_TIPS ──────────
  Error in `cpp_nni_distance(edge1, edge2, nTip)`: object '_TreeDist_cpp_nni_distance' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_error(...) at test-tree_distance_nni.R:22: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. └─TreeDist:::.NNIDistSingle(...)
   8.   └─TreeDist:::cpp_nni_distance(edge1, edge2, nTip)
  ── Error ('test-tree_distance_nni.R:97:3'): Simple NNI approximations ──────────
  Error in `cpp_nni_distance(edge1, edge2, nTip)`: object '_TreeDist_cpp_nni_distance' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_equal(...) at test-tree_distance_nni.R:97:3
   2. │ └─testthat::quasi_label(enquo(object), label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist::NNIDist(BalancedTree(2), PectinateTree(2))
   5.   └─TreeDist::.TreeDistance(.NNIDistSingle, tree1, tree2)
   6.     └─TreeDist (local) Func(tree1, tree2, tipLabels = labels1, nTip = nTip, ...)
   7.       └─TreeDist:::cpp_nni_distance(edge1, edge2, nTip)
  ── Error ('test-tree_distance_nni.R:153:3'): NNI with lists of trees ───────────
  Error in `cpp_nni_distance(edge1, edge2, nTip)`: object '_TreeDist_cpp_nni_distance' not found
  Backtrace:
      ▆
   1. └─TreeDist::NNIDist(tree1, list1) at test-tree_distance_nni.R:153:3
   2.   └─TreeDist::.TreeDistance(.NNIDistSingle, tree1, tree2)
   3.     └─TreeDist:::.TreeDistanceOneMany(...)
   4.       ├─base::vapply(...)
   5.       └─TreeDist (local) Func(...)
   6.         └─TreeDist:::cpp_nni_distance(edge1, edge2, nTip)
  ── Error ('test-tree_distance_path.R:5:3'): PathDist() ─────────────────────────
  Error in `path_vector(edge)`: object '_TreeDist_path_vector' not found
  Backtrace:
      ▆
   1. └─TreeDist::PathVector(RenumberTips(bal6, t05)) at test-tree_distance_path.R:5:3
   2.   ├─base::structure(path_vector(edge), Size = NTip(tree), class = "dist")
   3.   └─TreeDist:::path_vector(edge)
  ── Error ('test-tree_distance_path.R:26:3'): PathDist() equivalent to path.dist() ──
  Error in `path_vector(edge)`: object '_TreeDist_path_vector' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_equal(...) at test-tree_distance_path.R:26:3
   2. │ └─testthat::quasi_label(enquo(object), label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist::PathDist(UnrootTree(t1), UnrootTree(t2))
   5.   └─TreeDist:::.PathDist1Many(tree2, tree1)
   6.     └─TreeDist::PathVector(tree1)
   7.       ├─base::structure(path_vector(edge), Size = NTip(tree), class = "dist")
   8.       └─TreeDist:::path_vector(edge)
  ── Error ('test-tree_distance_spr.R:8:3'): SPR: keep_and_reroot() ──────────────
  Error in `keep_and_reroot(tree1, tree2, keep)`: object '_TreeDist_keep_and_reroot' not found
  Backtrace:
      ▆
   1. └─TreeDist:::keep_and_reroot(tree1, tree2, keep) at test-tree_distance_spr.R:8:3
  ── Error ('test-tree_distance_spr.R:30:3'): SPRDist() handles different inputs ──
  Error in `mismatch_size(as.Splits(c(T, T, F)), as.Splits(c(T, T, T, T)))`: object '_TreeDist_mismatch_size' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_error(...) at test-tree_distance_spr.R:30: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. └─TreeDist:::mismatch_size(...)
  ── Error ('test-tree_distance_spr.R:72:5'): confusion() ────────────────────────
  Error in `confusion(a, b)`: object '_TreeDist_confusion' not found
  Backtrace:
      ▆
   1. └─TreeDist (local) TestConfusion(...) at test-tree_distance_spr.R:86:3
   2.   ├─testthat::expect_equal(...) at test-tree_distance_spr.R:72:5
   3.   │ └─testthat::quasi_label(enquo(object), label)
   4.   │   └─rlang::eval_bare(expr, quo_get_env(quo))
   5.   └─TreeDist:::confusion(a, b)
  ── Error ('test-tree_distance_spr.R:190:3'): SPR calculated correctly ──────────
  Error in `reduce_trees(tree1$edge[PostorderOrder(tree1), ], tree2$edge[PostorderOrder(tree2), ], tree1[["tip.label"]])`: object '_TreeDist_reduce_trees' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_equal(...) at test-tree_distance_spr.R:190:3
   2. │ └─testthat::quasi_label(enquo(object), label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist:::.SPRRogue(...)
   5.   └─TreeDist::ReduceTrees(tree1, tree2, check = check)
   6.     └─TreeDist:::reduce_trees(...)
  ── Error ('test-tree_distance_spr.R:277:3'): SPR deOliveira2008 calculation looks valid ──
  Error in `reduce_trees(tree1$edge[PostorderOrder(tree1), ], tree2$edge[PostorderOrder(tree2), ], tree1[["tip.label"]])`: object '_TreeDist_reduce_trees' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_equal(...) at test-tree_distance_spr.R:277:3
   2. │ └─testthat::quasi_label(enquo(object), label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. ├─TreeDist::SPRDist(...)
   5. └─TreeDist:::SPRDist.phylo(...)
   6.   └─.SPRFunc(method)(tree1, tree2)
   7.     └─TreeDist::ReduceTrees(tree1, tree2, check = check)
   8.       └─TreeDist:::reduce_trees(...)
  ── Error ('test-tree_distance_spr.R:285:3'): SPR: Under the hood ───────────────
  Error in `mismatch_size(as.Splits(c(T, T, F)), as.Splits(c(T, T, T, T)))`: object '_TreeDist_mismatch_size' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_error(...) at test-tree_distance_spr.R:285: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. └─TreeDist:::mismatch_size(...)
  ── Error ('test-tree_distance_spr.R:320:3'): confusion() fails gracefully ──────
  Error in `confusion(x, xx)`: object '_TreeDist_confusion' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_error(confusion(x, xx), "differ in `nTip`") at test-tree_distance_spr.R:320: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. └─TreeDist:::confusion(x, xx)
  ── Error ('test-tree_distance_spr.R:331:5'): confusion() ───────────────────────
  Error in `confusion(a, b)`: object '_TreeDist_confusion' not found
  Backtrace:
      ▆
   1. └─TreeDist (local) TestConfusion(...) at test-tree_distance_spr.R:341:3
   2.   ├─testthat::expect_equal(...) at test-tree_distance_spr.R:331:5
   3.   │ └─testthat::quasi_label(enquo(object), label)
   4.   │   └─rlang::eval_bare(expr, quo_get_env(quo))
   5.   └─TreeDist:::confusion(a, b)
  ── Error ('test-tree_distance_spr.R:355:3'): SPRDist handles input formats ─────
  Error in `reduce_trees(tree1$edge[PostorderOrder(tree1), ], tree2$edge[PostorderOrder(tree2), ], tree1[["tip.label"]])`: object '_TreeDist_reduce_trees' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_equal(SPRDist(bal9, bal9), 0) at test-tree_distance_spr.R:355:3
   2. │ └─testthat::quasi_label(enquo(object), label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. ├─TreeDist::SPRDist(bal9, bal9)
   5. └─TreeDist:::SPRDist.phylo(bal9, bal9)
   6.   └─.SPRFunc(method)(tree1, tree2)
   7.     └─TreeDist::ReduceTrees(tree1, tree2, check = check)
   8.       └─TreeDist:::reduce_trees(...)
  ── Error ('test-tree_distance_spr.R:382:3'): SPR deOliveira2008 calculation looks valid ──
  Error in `reduce_trees(tree1$edge[PostorderOrder(tree1), ], tree2$edge[PostorderOrder(tree2), ], tree1[["tip.label"]])`: object '_TreeDist_reduce_trees' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_equal(...) at test-tree_distance_spr.R:382:3
   2. │ └─testthat::quasi_label(enquo(object), label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. ├─TreeDist::SPRDist(...)
   5. └─TreeDist:::SPRDist.phylo(...)
   6.   └─.SPRFunc(method)(tree1, tree2)
   7.     └─TreeDist::ReduceTrees(tree1, tree2, check = check)
   8.       └─TreeDist:::reduce_trees(...)
  ── Error ('test-tree_distance_utilities.R:50:3'): CalculateTreeDistance() handles splits appropriately ──
  Error in `PairScorer(splits1, splits2, nTip, ...)`: object '_TreeDist_cpp_robinson_foulds_distance' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_equal(...) at test-tree_distance_utilities.R:50:3
   2. │ └─testthat::quasi_label(enquo(expected), expected.label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist::CalculateTreeDistance(...)
   5.   └─TreeDist:::.SplitDistanceOneOne(...)
   6.     └─TreeDist (local) Func(...)
   7.       └─TreeDist::GeneralizedRF(...)
   8.         └─TreeDist (local) PairScorer(splits1, splits2, nTip, ...)
  ── Error ('test-tree_distance_utilities.R:114:3'): Matches are reported ────────
  Error in `PairScorer(splits1, splits2, nTip, ...)`: object '_TreeDist_cpp_shared_phylo' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_equal(...) at test-tree_distance_utilities.R:114:3
   2. │ └─testthat::quasi_label(enquo(expected), expected.label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist::GeneralizedRF(...)
   5.   └─TreeDist (local) PairScorer(splits1, splits2, nTip, ...)
  ── Error ('test-tree_distance_utilities.R:209:5'): Matchings are calculated in both directions ──
  Error in `PairScorer(splits1, splits2, nTip, ...)`: object '_TreeDist_cpp_shared_phylo' not found
  Backtrace:
      ▆
   1. └─TreeDist (local) Test(SharedPhylogeneticInfo) at test-tree_distance_utilities.R:216:3
   2.   └─TreeDist (local) Func(tree1, tree2, reportMatching = TRUE, ...) at test-tree_distance_utilities.R:209:5
   3.     └─TreeDist::CalculateTreeDistance(...)
   4.       └─TreeDist:::.SplitDistanceOneOne(...)
   5.         └─TreeDist (local) Func(...)
   6.           └─TreeDist::GeneralizedRF(...)
   7.             └─TreeDist (local) PairScorer(splits1, splits2, nTip, ...)
  ── Error ('test-tree_distance_utilities.R:235:3'): .TreeDistance() supports all sizes ──
  Error in `cpp_mast(edge1 - 1L, Postorder(edge2) - 1L, nTip)`: object '_TreeDist_cpp_mast' not found
  Backtrace:
       ▆
    1. ├─testthat::expect_equal(...) at test-tree_distance_utilities.R:235:3
    2. │ └─testthat::quasi_label(enquo(object), label)
    3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
    4. ├─base::rbind(...)
    5. └─TreeDist::MASTSize(BalancedTree(7), as.phylo(0:3, 7))
    6.   └─TreeDist::.TreeDistance(...)
    7.     └─TreeDist:::.TreeDistanceOneMany(...)
    8.       ├─base::vapply(...)
    9.       └─TreeDist (local) Func(...)
   10.         └─TreeDist:::.MASTSizeEdges(...)
   11.           └─TreeDist:::cpp_mast(edge1 - 1L, Postorder(edge2) - 1L, nTip)
  ── Error ('test-tree_distance_utilities.R:249:3'): Unrooteds are handled by MAST ──
  Error in `checkForRemoteErrors(val)`: one node produced an error: Both trees must be rooted if rooted = TRUE
  Backtrace:
       ▆
    1. ├─testthat::expect_equal(...) at test-tree_distance_utilities.R:249:3
    2. │ └─testthat::quasi_label(enquo(expected), expected.label)
    3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
    4. └─TreeDist::MASTSize(trees, rooted = FALSE)
    5.   └─TreeDist::.TreeDistance(...)
    6.     └─TreeDist:::.TreeDistanceManyMany(...)
    7.       └─TreeDist::CompareAll(...)
    8.         ├─base::do.call(...)
    9.         └─parallel::parLapply(...)
   10.           ├─base::do.call(...)
   11.           └─parallel::clusterApply(...)
   12.             └─parallel:::staticClusterApply(cl, fun, length(x), argfun)
   13.               └─parallel:::checkForRemoteErrors(val)
  ── Failure ('test-tree_information.R:43:3'): SplitwiseInfo() / ClusteringInfo() handle probabilities ──
  Expected `1/3` to equal `Clust(tree, 60 * 3)`.
  Differences:
    `actual`: 0.33
  `expected`: 0.23
  
  ── Failure ('test-tree_information.R:47:3'): SplitwiseInfo() / ClusteringInfo() handle probabilities ──
  Expected 1 to equal `Clust(tree)`.
  Differences:
    `actual`: 1.00
  `expected`: 0.69
  
  ── Failure ('test-tree_information.R:53:3'): SplitwiseInfo() / ClusteringInfo() handle probabilities ──
  Expected 0.6 to equal `Clust(tree, 100)`.
  Differences:
    `actual`: 0.60
  `expected`: 0.42
  
  ── Error ('test-tree_information.R:59:3'): SplitwiseInfo() / ClusteringInfo() handle probabilities ──
  Error in `consensus_info(trees, mode == 1L, p = safeP)`: object '_TreeDist_consensus_info' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_equal(...) at test-tree_information.R:59:3
   2. │ └─testthat::quasi_label(enquo(expected), expected.label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist::ConsensusInfo(treeProfile, "p")
   5.   └─TreeDist:::consensus_info(trees, mode == 1L, p = safeP)
  ── Error ('test-tree_information.R:130:3'): ClusteringInfo() method works ──────
  Error in `consensus_info(trees, mode == 1L, p = safeP)`: object '_TreeDist_consensus_info' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_equal(...) at test-tree_information.R:130:3
   2. │ └─testthat::quasi_label(enquo(expected), expected.label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist::ConsensusInfo(trees, "spic")
   5.   └─TreeDist:::consensus_info(trees, mode == 1L, p = safeP)
  ── Error ('test-tree_information.R:139:3'): ConsensusInfo() is robust ──────────
  Error in `consensus_info(trees, mode == 1L, p = safeP)`: object '_TreeDist_consensus_info' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_equal(0, ConsensusInfo(trees, "cl")) at test-tree_information.R:139:3
   2. │ └─testthat::quasi_label(enquo(expected), expected.label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist::ConsensusInfo(trees, "cl")
   5.   └─TreeDist:::consensus_info(trees, mode == 1L, p = safeP)
  ── Error ('test-tree_information.R:149:3'): ConsensusInfo() generates correct value ──
  Error in `consensus_info(trees, mode == 1L, p = safeP)`: object '_TreeDist_consensus_info' not found
  Backtrace:
      ▆
   1. ├─testthat::expect_equal(0, ConsensusInfo(trees)) at test-tree_information.R:149:3
   2. │ └─testthat::quasi_label(enquo(expected), expected.label)
   3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
   4. └─TreeDist::ConsensusInfo(trees)
   5.   └─TreeDist:::consensus_info(trees, mode == 1L, p = safeP)
  ── Error ('test-trustworthiness.R:18:3'): Trustworthiness range ────────────────
  Error in `checkForRemoteErrors(val)`: 2 nodes produced errors; first error: object '_TreeDist_cpp_mutual_clustering' not found
  Backtrace:
      ▆
   1. └─TreeDist::ClusteringInfoDist(trees) at test-trustworthiness.R:18:3
   2.   └─TreeDist::MutualClusteringInfo(...)
   3.     └─TreeDist::CalculateTreeDistance(...)
   4.       └─TreeDist:::.SplitDistanceAllPairs(...)
   5.         ├─base::structure(...)
   6.         └─parallel::parCapply(cluster, is, .PairDist)
   7.           └─parallel::clusterApply(...)
   8.             └─parallel:::staticClusterApply(cl, fun, length(x), argfun)
   9.               └─parallel:::checkForRemoteErrors(val)
  
  [ FAIL 94 | WARN 0 | SKIP 7 | PASS 307 ]
  Deleting unused snapshots: 'VisualizeMatching/hidden-edge-labels.svg',
  'VisualizeMatching/jrf-vm-matchzeros-false.svg',
  'VisualizeMatching/rf-collapse-a-node.svg',
  'VisualizeMatching/rf-collapse-and-change.svg',
  'VisualizeMatching/rf-vm-single-splits-plainedges.svg',
  'VisualizeMatching/test-vmr.svg',
  'VisualizeMatching/visualize-mci-matching.svg', and
  'VisualizeMatching/vm-one-rooted.svg'
  Error:
  ! Test failures.
  Execution halted