Running 'testthat.R' [3s/4s]
Running the tests in 'tests/testthat.R' failed.
Complete output:
  > library(testthat)
  > library(popkin)
  > 
  > test_check('popkin')
   ----------- FAILURE REPORT -------------- 
   --- failure: the condition has length > 1 ---
   --- srcref --- 
  : 
   --- package (from environment) --- 
  popkin
   --- call from context --- 
  get_A(X)
   --- call from argument --- 
  if (class(X) == "function") {
      isFn <- TRUE
      if (is.na(n)) 
          stop("missing number of individuals \"n\", which is required when X is a function.")
  } else if (class(X) == "BEDMatrix") {
      loci_on_cols <- TRUE
  } else if (class(X) != "matrix") {
      stop("X has unsupported class: ", class(X))
  }
   --- R stacktrace ---
  where 1: get_A(X)
  where 2: eval_bare(expr, quo_get_env(quo))
  where 3: quasi_label(enquo(object), label, arg = "object")
  where 4 at testthat/test_popkin.R#75: expect_equal(get_A(X), A)
  where 5: eval(code, test_env)
  where 6: eval(code, test_env)
  where 7: withCallingHandlers({
      eval(code, test_env)
      if (!handled && !is.null(test)) {
          skip_empty()
      }
  }, expectation = handle_expectation, skip = handle_skip, warning = handle_warning, 
      message = handle_message, error = handle_error)
  where 8: doTryCatch(return(expr), name, parentenv, handler)
  where 9: tryCatchOne(expr, names, parentenv, handlers[[1L]])
  where 10: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
  where 11: doTryCatch(return(expr), name, parentenv, handler)
  where 12: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]), 
      names[nh], parentenv, handlers[[nh]])
  where 13: tryCatchList(expr, classes, parentenv, handlers)
  where 14: tryCatch(withCallingHandlers({
      eval(code, test_env)
      if (!handled && !is.null(test)) {
          skip_empty()
      }
  }, expectation = handle_expectation, skip = handle_skip, warning = handle_warning, 
      message = handle_message, error = handle_error), error = handle_fatal, 
      skip = function(e) {
      })
  where 15: test_code(desc, code, env = parent.frame())
  where 16 at testthat/test_popkin.R#74: test_that("function returns precomputed values: get_A", {
      expect_equal(get_A(X), A)
      expect_equal(get_A(X + 0), A)
      expect_equal(get_A(2L - X), A)
      expect_equal(get_A(2 - X), A)
      expect_equal(nrow(A), ncol(A))
  })
  where 17: eval(code, test_env)
  where 18: eval(code, test_env)
  where 19: withCallingHandlers({
      eval(code, test_env)
      if (!handled && !is.null(test)) {
          skip_empty()
      }
  }, expectation = handle_expectation, skip = handle_skip, warning = handle_warning, 
      message = handle_message, error = handle_error)
  where 20: doTryCatch(return(expr), name, parentenv, handler)
  where 21: tryCatchOne(expr, names, parentenv, handlers[[1L]])
  where 22: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
  where 23: doTryCatch(return(expr), name, parentenv, handler)
  where 24: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]), 
      names[nh], parentenv, handlers[[nh]])
  where 25: tryCatchList(expr, classes, parentenv, handlers)
  where 26: tryCatch(withCallingHandlers({
      eval(code, test_env)
      if (!handled && !is.null(test)) {
          skip_empty()
      }
  }, expectation = handle_expectation, skip = handle_skip, warning = handle_warning, 
      message = handle_message, error = handle_error), error = handle_fatal, 
      skip = function(e) {
      })
  where 27: test_code(NULL, exprs, env)
  where 28: source_file(path, new.env(parent = env), chdir = TRUE, wrap = wrap)
  where 29: force(code)
  where 30: doWithOneRestart(return(expr), restart)
  where 31: withOneRestart(expr, restarts[[1L]])
  where 32: withRestarts(testthat_abort_reporter = function() NULL, force(code))
  where 33: with_reporter(reporter = reporter, start_end_reporter = start_end_reporter, 
      {
          reporter$start_file(basename(path))
          lister$start_file(basename(path))
          source_file(path, new.env(parent = env), chdir = TRUE, 
              wrap = wrap)
          reporter$.end_context()
          reporter$end_file()
      })
  where 34: FUN(X[[i]], ...)
  where 35: lapply(paths, test_file, env = env, reporter = current_reporter, 
      start_end_reporter = FALSE, load_helpers = FALSE, wrap = wrap)
  where 36: force(code)
  where 37: doWithOneRestart(return(expr), restart)
  where 38: withOneRestart(expr, restarts[[1L]])
  where 39: withRestarts(testthat_abort_reporter = function() NULL, force(code))
  where 40: with_reporter(reporter = current_reporter, results <- lapply(paths, 
      test_file, env = env, reporter = current_reporter, start_end_reporter = FALSE, 
      load_helpers = FALSE, wrap = wrap))
  where 41: test_files(paths, reporter = reporter, env = env, stop_on_failure = stop_on_failure, 
      stop_on_warning = stop_on_warning, wrap = wrap)
  where 42: test_dir(path = test_path, reporter = reporter, env = env, filter = filter, 
      ..., stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, 
      wrap = wrap)
  where 43: test_package_dir(package = package, test_path = test_path, filter = filter, 
      reporter = reporter, ..., stop_on_failure = stop_on_failure, 
      stop_on_warning = stop_on_warning, wrap = wrap)
  where 44: test_check("popkin")
  
   --- value of length: 2 type: logical ---
  [1] FALSE FALSE
   --- function from context --- 
  function (X, n = NA, mem_lim = NA, loci_on_cols = FALSE) 
  {
      isFn <- FALSE
      if (class(X) == "function") {
          isFn <- TRUE
          if (is.na(n)) 
              stop("missing number of individuals \"n\", which is required when X is a function.")
      }
      else if (class(X) == "BEDMatrix") {
          loci_on_cols <- TRUE
      }
      else if (class(X) != "matrix") {
          stop("X has unsupported class: ", class(X))
      }
      namesX <- NULL
      if (isFn) {
          m <- NA
      }
      else {
          if (loci_on_cols) {
              if (!is.na(n) && n != nrow(X)) 
                  warning("User set number of samples that does not match X dimensions (will go with latter): ", 
                    n, " != ", nrow(X))
              n <- nrow(X)
              m <- ncol(X)
              namesX <- rownames(X)
          }
          else {
              if (!is.na(n) && n != ncol(X)) 
                  warning("User set number of samples that does not match X dimensions (will go with latter): ", 
                    n, " != ", ncol(X))
              n <- ncol(X)
              m <- nrow(X)
              namesX <- colnames(X)
          }
      }
      A <- matrix(0, nrow = n, ncol = n)
      M <- matrix(0, nrow = n, ncol = n)
      if (!is.null(namesX)) {
          colnames(A) <- namesX
          rownames(A) <- namesX
      }
      mc <- get_mem_lim_m(m, n, mem_lim)
      mci <- 1
      while (TRUE) {
          if (isFn) {
              Xi <- X(mc)
              if (is.null(Xi)) 
                  break
          }
          else {
              if (mci > m) 
                  break
              is <- mci:min(mci + mc - 1, m)
              if (loci_on_cols) {
                  Xi <- t(X[, is, drop = FALSE])
              }
              else {
                  Xi <- X[is, , drop = FALSE]
              }
              mci <- mci + mc
          }
          if (storage.mode(Xi) != "integer") 
              storage.mode(Xi) <- "integer"
          obj <- getMAInt(Xi)
          A <- A + obj$SA
          M <- M + obj$M
      }
      A/M - 1
  }
  <bytecode: 0x2533b00>
  <environment: namespace:popkin>
   --- function search by body ---
  Function get_A in namespace popkin has this body.
   ----------- END OF FAILURE REPORT -------------- 
  Fatal error: the condition has length > 1