【问题标题】:Travis CI running examples despite donttest尽管不测试,Travis CI 运行示例
【发布时间】:2020-06-07 20:57:40
【问题描述】:

很可能,我错过了一些直截了当的东西。但似乎 R check 正确忽略的 donttest 中包含的示例是在对 Travis CI 的等效检查期间运行的。

示例

Here 是一些使用 roxygen2 的 R 函数文档:

#' @examples
#' \donttest{
#' library(dplyr)
#' 
#' # Write output to a temp file
#'   "https://www.datacamp.com/community/tutorials/R-nlp-machine-learning" %>%
#'     rawr(to_file = TRUE)
#'
#' }

第 3536 行日志here

  • 使用 --run-donttest ... 错误检查示例

第 4193 行:

rawr(., to_file = T) 中的错误:使用 T 而不是 TRUE

注意:实际的 R 错误 - 使用 T 而不是 TRUE - 很容易解决 - 我只是好奇为什么要运行这些示例

注意:R CMD check --as-cran 在本地运行时通过(0 个警告、0 个注释、0 个错误)

【问题讨论】:

  • 现在这很有趣,您是否尝试过使用 github 操作进行测试?
  • 您可能不在同一个 R 版本上本地运行。 --run-donttest 包含相对较新。
  • @user2554330 我怀疑是这样。我对R CMD check --as-cran 的理解是它在运行之前检索了最新版本的检查?但也许我错了

标签: r travis-ci cran roxygen2


【解决方案1】:

--run-donttest 表示用\donttest 包裹的示例将被检查。

我认为您需要将其包裹在 \dontrun{} 而不是 \donttest{} 周围。 \donttest{} 是示例可以运行但需要很多时间的时候。另一方面,\dontrun{} 是示例可能返回错误的时间。同样,我不能 100% 确定这个答案。

【讨论】:

  • 他的运行没有指定--run-donttest,但--as-cran 现在暗示了该选项。
【解决方案2】:

Kostas 的回答(将 \donttest 更改为 \dontrun)为我解决了问题。但是我也找到了另一种解决方法,就是在travis.yml中添加以下内容

env:
  global:
    - _R_CHECK_DONTTEST_EXAMPLES_=FALSE

这个例子来自here,链接到一个问题here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-04
    • 2016-05-09
    • 2020-07-27
    • 2019-11-25
    • 1970-01-01
    • 1970-01-01
    • 2016-11-28
    相关资源
    最近更新 更多