Running 'testthat.R' [38s]
Running the tests in 'tests/testthat.R' failed.
Complete output:
  > # setting R_TESTS to empty string because of
  > # https://github.com/hadley/testthat/issues/144
  > # revert this when that issue in R is fixed.
  > Sys.setenv("R_TESTS" = "")
  > 
  > library(testthat)
  > library(batchtools)
  Loading required package: data.table
  Breaking change introduced in batchtools v0.9.6: The format of the returned data.table of the functions `reduceResultsDataTable()`, getJobTable()`, `getJobPars()`, and `getJobResources()` has changed. List columns are not unnested automatically anymore. To manually unnest tables, batchtools provides the helper function `unwrap()` now, e.g. `unwrap(getJobPars())`. The previously introduced helper function `flatten()` will be deprecated due to a name clash with `purrr::flatten()`.
  > 
  > test_check("batchtools")
  -- 1. Error: addAlgorithm (@test_Algorithm.R#13)  ------------------------------
  type must be LANGSXP at this point
  1: addExperiments(list(p1 = data.table()), algo.designs = list(a1 = data.table(), a2 = data.table()), 
         repls = 2, reg = reg) at testthat/test_Algorithm.R:13
  2: merge(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], tab, by = "pars.hash", 
         all.x = FALSE, all.y = TRUE, sort = FALSE)
  3: merge.data.table(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], 
         tab, by = "pars.hash", all.x = FALSE, all.y = TRUE, sort = FALSE)
  4: y[x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian]
  5: `[.data.table`(y, x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian)
  6: length(ans$indices)
  
  -- 2. Error: addAlgorithm overwrites old algo (@test_Algorithm.R#31)  ----------
  type must be LANGSXP at this point
  1: addExperiments(list(p1 = data.table()), list(a1 = data.table()), reg = reg) at testthat/test_Algorithm.R:31
  2: merge(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], tab, by = "pars.hash", 
         all.x = FALSE, all.y = TRUE, sort = FALSE)
  3: merge.data.table(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], 
         tab, by = "pars.hash", all.x = FALSE, all.y = TRUE, sort = FALSE)
  4: y[x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian]
  5: `[.data.table`(y, x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian)
  6: length(ans$indices)
  
  Loading required package: methods
  -- 3. Error: makeTestExperimentRegistry (@test_ExperimentRegistry.R#18)  -------
  type must be LANGSXP at this point
  1: checkTables(reg, any.missing = FALSE, nrows = 0L) at testthat/test_ExperimentRegistry.R:18
  2: expect_key_set_equal(reg$defs, reg$status, by = "def.id") at d:\RCompile\CRANpkg\local\3.5\batchtools.Rcheck\tests_i386\testthat\helper.R:99
  3: expect_true(nrow(ajoin(x, y, by = by)) == 0 && nrow(ajoin(y, x, by = by)) == 0) at d:\RCompile\CRANpkg\local\3.5\batchtools.Rcheck\tests_i386\testthat\helper.R:128
  4: quasi_label(enquo(object), label)
  5: eval_bare(get_expr(quo), get_env(quo))
  6: nrow(ajoin(x, y, by = by))
  7: ajoin(x, y, by = by)
  8: setKey(x[!y, on = by], by)
  9: key(res)
  10: x[!y, on = by]
  11: `[.data.table`(x, !y, on = by)
  12: length(ans$indices)
  
  -- 4. Error: Experiment (@test_Job.R#33)  --------------------------------------
  type must be LANGSXP at this point
  1: addExperiments(list(p1 = data.table(i = 1:3)), list(a1 = data.table()), reg = reg) at testthat/test_Job.R:33
  2: merge(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], tab, by = "pars.hash", 
         all.x = FALSE, all.y = TRUE, sort = FALSE)
  3: merge.data.table(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], 
         tab, by = "pars.hash", all.x = FALSE, all.y = TRUE, sort = FALSE)
  4: y[x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian]
  5: `[.data.table`(y, x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian)
  6: length(ans$indices)
  
  -- 5. Error: External directory is created (@test_Job.R#71)  -------------------
  type must be LANGSXP at this point
  1: addExperiments(list(p1 = data.table(i = 1:3)), list(a1 = data.table()), reg = reg) at testthat/test_Job.R:71
  2: merge(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], tab, by = "pars.hash", 
         all.x = FALSE, all.y = TRUE, sort = FALSE)
  3: merge.data.table(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], 
         tab, by = "pars.hash", all.x = FALSE, all.y = TRUE, sort = FALSE)
  4: y[x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian]
  5: `[.data.table`(y, x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian)
  6: length(ans$indices)
  
  -- 6. Error: addProblem / removeProblem (@test_Problem.R#28)  ------------------
  type must be LANGSXP at this point
  1: addExperiments(prob.designs, algo.designs, repls = 2, reg = reg) at testthat/test_Problem.R:28
  2: merge(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], tab, by = "pars.hash", 
         all.x = FALSE, all.y = TRUE, sort = FALSE)
  3: merge.data.table(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], 
         tab, by = "pars.hash", all.x = FALSE, all.y = TRUE, sort = FALSE)
  4: y[x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian]
  5: `[.data.table`(y, x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian)
  6: length(ans$indices)
  
  -- 7. Error: instance caching (@test_Problem.R#50)  ----------------------------
  type must be LANGSXP at this point
  1: addExperiments(prob.designs = list(p1 = data.table(param = 1:2)), repls = 2, reg = reg) at testthat/test_Problem.R:50
  2: merge(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], tab, by = "pars.hash", 
         all.x = FALSE, all.y = TRUE, sort = FALSE)
  3: merge.data.table(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], 
         tab, by = "pars.hash", all.x = FALSE, all.y = TRUE, sort = FALSE)
  4: y[x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian]
  5: `[.data.table`(y, x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian)
  6: length(ans$indices)
  
  -- 8. Error: makeRegistry (@test_Registry.R#17)  -------------------------------
  type must be LANGSXP at this point
  1: checkTables(reg, any.missing = FALSE, nrows = 0L) at testthat/test_Registry.R:17
  2: expect_key_set_equal(reg$defs, reg$status, by = "def.id") at d:\RCompile\CRANpkg\local\3.5\batchtools.Rcheck\tests_i386\testthat\helper.R:99
  3: expect_true(nrow(ajoin(x, y, by = by)) == 0 && nrow(ajoin(y, x, by = by)) == 0) at d:\RCompile\CRANpkg\local\3.5\batchtools.Rcheck\tests_i386\testthat\helper.R:128
  4: quasi_label(enquo(object), label)
  5: eval_bare(get_expr(quo), get_env(quo))
  6: nrow(ajoin(x, y, by = by))
  7: ajoin(x, y, by = by)
  8: setKey(x[!y, on = by], by)
  9: key(res)
  10: x[!y, on = by]
  11: `[.data.table`(x, !y, on = by)
  12: length(ans$indices)
  
  -- 9. Error: loadRegistry (@test_Registry.R#88)  -------------------------------
  type must be LANGSXP at this point
  1: checkTables(reg2) at testthat/test_Registry.R:88
  2: expect_key_set_equal(reg$defs, reg$status, by = "def.id") at d:\RCompile\CRANpkg\local\3.5\batchtools.Rcheck\tests_i386\testthat\helper.R:99
  3: expect_true(nrow(ajoin(x, y, by = by)) == 0 && nrow(ajoin(y, x, by = by)) == 0) at d:\RCompile\CRANpkg\local\3.5\batchtools.Rcheck\tests_i386\testthat\helper.R:128
  4: quasi_label(enquo(object), label)
  5: eval_bare(get_expr(quo), get_env(quo))
  6: nrow(ajoin(x, y, by = by))
  7: ajoin(x, y, by = by)
  8: setKey(x[!y, on = by], by)
  9: key(res)
  10: x[!y, on = by]
  11: `[.data.table`(x, !y, on = by)
  12: length(ans$indices)
  
  -- 10. Error: clearRegistry (@test_Registry.R#130)  ----------------------------
  type must be LANGSXP at this point
  1: clearRegistry(reg) at testthat/test_Registry.R:130
  2: sweepRegistry(reg = reg)
  3: reg$resources[!reg$status, on = "resource.id", which = TRUE]
  4: `[.data.table`(reg$resources, !reg$status, on = "resource.id", which = TRUE)
  5: length(ans$indices)
  
  -- 11. Error: addExperiments creates default designs (@test_addExperiments.R#27)
  type must be LANGSXP at this point
  1: addExperiments(reg = reg) at testthat/test_addExperiments.R:27
  2: CJ(def.id = tab$def.id, repl = seq_len(repls))[!reg$status, on = c("def.id", "repl")]
  3: `[.data.table`(CJ(def.id = tab$def.id, repl = seq_len(repls)), !reg$status, on = c("def.id", 
         "repl"))
  4: length(ans$indices)
  
  -- 12. Error: addExperiments / user provided designs (@test_addExperiments.R#42)
  type must be LANGSXP at this point
  1: addExperiments(reg = reg, prob.designs = prob.designs, algo.designs = algo.designs, 
         combine = "bind") at testthat/test_addExperiments.R:42
  2: merge(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], tab, by = "pars.hash", 
         all.x = FALSE, all.y = TRUE, sort = FALSE)
  3: merge.data.table(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], 
         tab, by = "pars.hash", all.x = FALSE, all.y = TRUE, sort = FALSE)
  4: y[x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian]
  5: `[.data.table`(y, x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian)
  6: length(ans$indices)
  
  -- 13. Error: caching works (@test_chunk.R#85)  --------------------------------
  type must be LANGSXP at this point
  1: addExperiments(reg = reg) at testthat/test_chunk.R:85
  2: merge(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], tab, by = "pars.hash", 
         all.x = FALSE, all.y = TRUE, sort = FALSE)
  3: merge.data.table(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], 
         tab, by = "pars.hash", all.x = FALSE, all.y = TRUE, sort = FALSE)
  4: y[x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian]
  5: `[.data.table`(y, x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian)
  6: length(ans$indices)
  
  -- 14. Error: chunkIds (@test_chunkIds.R#11)  ----------------------------------
  type must be LANGSXP at this point
  1: addExperiments(prob.designs, algo.designs, repls = repls, reg = reg) at testthat/test_chunkIds.R:11
  2: merge(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], tab, by = "pars.hash", 
         all.x = FALSE, all.y = TRUE, sort = FALSE)
  3: merge.data.table(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], 
         tab, by = "pars.hash", all.x = FALSE, all.y = TRUE, sort = FALSE)
  4: y[x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian]
  5: `[.data.table`(y, x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian)
  6: length(ans$indices)
  
  -- 15. Error: estimateRuntimes (@test_estimateRuntimes.R#8)  -------------------
  type must be LANGSXP at this point
  1: addExperiments(algo.designs = list(nrow = CJ(x = 1:50, y = letters[1:5])), reg = reg) at testthat/test_estimateRuntimes.R:8
  2: merge(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], tab, by = "pars.hash", 
         all.x = FALSE, all.y = TRUE, sort = FALSE)
  3: merge.data.table(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], 
         tab, by = "pars.hash", all.x = FALSE, all.y = TRUE, sort = FALSE)
  4: y[x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian]
  5: `[.data.table`(y, x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian)
  6: length(ans$indices)
  
  -- 16. Error: findExperiments (@test_findJobs.R#100)  --------------------------
  type must be LANGSXP at this point
  1: addExperiments(prob.designs, algo.designs, repls = repls, reg = reg) at testthat/test_findJobs.R:100
  2: merge(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], tab, by = "pars.hash", 
         all.x = FALSE, all.y = TRUE, sort = FALSE)
  3: merge.data.table(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], 
         tab, by = "pars.hash", all.x = FALSE, all.y = TRUE, sort = FALSE)
  4: y[x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian]
  5: `[.data.table`(y, x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian)
  6: length(ans$indices)
  
  -- 17. Error: getJobTable.Registry (@test_getJobTable.R#35)  -------------------
  type must be LANGSXP at this point
  1: checkTables(reg) at testthat/test_getJobTable.R:35
  2: expect_key_set_equal(reg$status[!is.na(resource.id)], reg$resources, by = "resource.id") at d:\RCompile\CRANpkg\local\3.5\batchtools.Rcheck\tests_i386\testthat\helper.R:100
  3: expect_true(nrow(ajoin(x, y, by = by)) == 0 && nrow(ajoin(y, x, by = by)) == 0) at d:\RCompile\CRANpkg\local\3.5\batchtools.Rcheck\tests_i386\testthat\helper.R:128
  4: quasi_label(enquo(object), label)
  5: eval_bare(get_expr(quo), get_env(quo))
  6: nrow(ajoin(y, x, by = by))
  7: ajoin(y, x, by = by)
  8: setKey(x[!y, on = by], by)
  9: key(res)
  10: x[!y, on = by]
  11: `[.data.table`(x, !y, on = by)
  12: length(ans$indices)
  
  -- 18. Error: getJobPars with repls (@test_getJobTable.R#89)  ------------------
  type must be LANGSXP at this point
  1: addExperiments(prob.designs, algo.designs, repls = 3, reg = reg) at testthat/test_getJobTable.R:89
  2: merge(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], tab, by = "pars.hash", 
         all.x = FALSE, all.y = TRUE, sort = FALSE)
  3: merge.data.table(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], 
         tab, by = "pars.hash", all.x = FALSE, all.y = TRUE, sort = FALSE)
  4: y[x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian]
  5: `[.data.table`(y, x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian)
  6: length(ans$indices)
  
  -- 19. Error: getJobTable.ExperimentRegistry (@test_getJobTable.R#100)  --------
  type must be LANGSXP at this point
  1: addExperiments(list(p1 = data.table(k = 1)), list(a1 = data.table(sq = 1:3)), reg = reg) at testthat/test_getJobTable.R:100
  2: merge(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], tab, by = "pars.hash", 
         all.x = FALSE, all.y = TRUE, sort = FALSE)
  3: merge.data.table(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], 
         tab, by = "pars.hash", all.x = FALSE, all.y = TRUE, sort = FALSE)
  4: y[x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian]
  5: `[.data.table`(y, x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian)
  6: length(ans$indices)
  
  -- 20. Error: experiment registry with vector parameters (@test_getJobTable.R#13
  type must be LANGSXP at this point
  1: addExperiments(prob.designs, algo.designs, reg = tmp) at testthat/test_getJobTable.R:138
  2: merge(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], tab, by = "pars.hash", 
         all.x = FALSE, all.y = TRUE, sort = FALSE)
  3: merge.data.table(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], 
         tab, by = "pars.hash", all.x = FALSE, all.y = TRUE, sort = FALSE)
  4: y[x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian]
  5: `[.data.table`(y, x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian)
  6: length(ans$indices)
  
  -- 21. Error: hooks (@test_hooks.R#12)  ----------------------------------------
  type must be LANGSXP at this point
  1: makeJobCollection(1, reg = reg) at testthat/test_hooks.R:12
  2: makeJobCollection.Registry(1, reg = reg)
  3: createCollection(mergedJobs(reg, convertIds(reg, ids), c("job.id", "job.name", "job.pars")), 
         resources, reg)
  4: setkeyv(jobs, "job.id")
  5: is.data.table(x)
  6: mergedJobs(reg, convertIds(reg, ids), c("job.id", "job.name", "job.pars"))
  7: reg$defs[reg$status[ids, nomatch = 0L, on = "job.id"], cols, on = "def.id", nomatch = 0L, 
         with = missing(cols)]
  8: `[.data.table`(reg$defs, reg$status[ids, nomatch = 0L, on = "job.id"], cols, on = "def.id", 
         nomatch = 0L, with = missing(cols))
  9: length(ans$indices)
  
  -- 22. Error: (unknown) (@test_reduceResults.R#93)  ----------------------------
  type must be LANGSXP at this point
  1: suppressMessages({
         reg = makeTestExperimentRegistry()
         prob = addProblem(reg = reg, "p1", fun = function(job, data, ...) 2, seed = 42)
         algo = addAlgorithm(reg = reg, "a1", fun = function(job, data, instance, sq) instance^sq)
         ids = addExperiments(list(p1 = data.table()), list(a1 = data.table(sq = 1:3)), 
             reg = reg)
         submitAndWait(reg = reg)
     }) at testthat/test_reduceResults.R:93
  2: withCallingHandlers(expr, message = function(c) invokeRestart("muffleMessage"))
  3: addExperiments(list(p1 = data.table()), list(a1 = data.table(sq = 1:3)), reg = reg) at testthat/test_reduceResults.R:97
  4: merge(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], tab, by = "pars.hash", 
         all.x = FALSE, all.y = TRUE, sort = FALSE)
  5: merge.data.table(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], 
         tab, by = "pars.hash", all.x = FALSE, all.y = TRUE, sort = FALSE)
  6: y[!x, which = TRUE, on = by, allow.cartesian = allow.cartesian]
  7: `[.data.table`(y, !x, which = TRUE, on = by, allow.cartesian = allow.cartesian)
  8: length(ans$indices)
  
  -- 23. Error: removeExperiments (@test_removeExperiments.R#9)  -----------------
  type must be LANGSXP at this point
  1: addExperiments(list(p1 = data.table(), p2 = data.table(x = 1:2)), list(a1 = data.table(sq = 1:3), 
         a2 = data.table(sq = 1:2)), reg = reg) at testthat/test_removeExperiments.R:9
  2: merge(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], tab, by = "pars.hash", 
         all.x = FALSE, all.y = TRUE, sort = FALSE)
  3: merge.data.table(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], 
         tab, by = "pars.hash", all.x = FALSE, all.y = TRUE, sort = FALSE)
  4: y[x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian]
  5: `[.data.table`(y, x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian)
  6: length(ans$indices)
  
  -- 24. Error: Problem and Algorithm seed (@test_seed.R#29)  --------------------
  type must be LANGSXP at this point
  1: addExperiments(prob.designs, algo.designs, repls = repls, reg = reg) at testthat/test_seed.R:29
  2: CJ(def.id = tab$def.id, repl = seq_len(repls))[!reg$status, on = c("def.id", "repl")]
  3: `[.data.table`(CJ(def.id = tab$def.id, repl = seq_len(repls)), !reg$status, on = c("def.id", 
         "repl"))
  4: length(ans$indices)
  
  -- 25. Error: summarizeExperiments (@test_summarizeExperiments.R#8)  -----------
  type must be LANGSXP at this point
  1: addExperiments(list(p1 = data.table(), p2 = data.table(x = 1:2)), list(a1 = data.table(sq = 1:3)), 
         reg = reg) at testthat/test_summarizeExperiments.R:8
  2: merge(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], tab, by = "pars.hash", 
         all.x = FALSE, all.y = TRUE, sort = FALSE)
  3: merge.data.table(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], 
         tab, by = "pars.hash", all.x = FALSE, all.y = TRUE, sort = FALSE)
  4: y[x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian]
  5: `[.data.table`(y, x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian)
  6: length(ans$indices)
  
  -- 26. Error: sweepRegistry (@test_sweepRegistry.R#29)  ------------------------
  type must be LANGSXP at this point
  1: addExperiments(prob.designs = list(p1 = data.table(i = 1:10)), reg = reg) at testthat/test_sweepRegistry.R:29
  2: merge(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], tab, by = "pars.hash", 
         all.x = FALSE, all.y = TRUE, sort = FALSE)
  3: merge.data.table(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], 
         tab, by = "pars.hash", all.x = FALSE, all.y = TRUE, sort = FALSE)
  4: y[x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian]
  5: `[.data.table`(y, x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian)
  6: length(ans$indices)
  
  -- 27. Error: testJob.ExperimentRegistry (@test_testJob.R#23)  -----------------
  type must be LANGSXP at this point
  1: addExperiments(prob.designs = list(p1 = data.table()), algo.designs = list(a1 = data.table(sq = 1:3)), 
         reg = reg) at testthat/test_testJob.R:23
  2: merge(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], tab, by = "pars.hash", 
         all.x = FALSE, all.y = TRUE, sort = FALSE)
  3: merge.data.table(reg$defs[, !c("problem", "algorithm", "prob.pars", "algo.pars")], 
         tab, by = "pars.hash", all.x = FALSE, all.y = TRUE, sort = FALSE)
  4: y[x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian]
  5: `[.data.table`(y, x, nomatch = if (all.x) NA else 0, on = by, allow.cartesian = allow.cartesian)
  6: length(ans$indices)
  
  == testthat results  ===========================================================
  OK: 905 SKIPPED: 13 FAILED: 27
  1. Error: addAlgorithm (@test_Algorithm.R#13) 
  2. Error: addAlgorithm overwrites old algo (@test_Algorithm.R#31) 
  3. Error: makeTestExperimentRegistry (@test_ExperimentRegistry.R#18) 
  4. Error: Experiment (@test_Job.R#33) 
  5. Error: External directory is created (@test_Job.R#71) 
  6. Error: addProblem / removeProblem (@test_Problem.R#28) 
  7. Error: instance caching (@test_Problem.R#50) 
  8. Error: makeRegistry (@test_Registry.R#17) 
  9. Error: loadRegistry (@test_Registry.R#88) 
  1. ...
  
  Error: testthat unit tests failed
  Execution halted