我正在使用TRAVIS CI构建并检查我的R包代码;但我认为代码检查不正确。我得到以下错误:
The command "grep -q -R "WARNING" "${RCHECK_DIR}/00check.log"" exited with 0.
我的.travis.ci文件如下:
language: R
cache: packages
warnings_are_errors: true
env:
global:
- _R_CHECK_FORCE_SUGGESTS_: false
r_packages:
- covr
after_success:
- Rscript -e 'library(covr); codecov()'
非常感谢您的帮助!
这不是错误。Travis CI执行测试命令,并报告每个命令是成功(退出代码0(还是失败(退出代码不等于0(但是,您的软件包没有得到正确的测试
命令grep -q -R "WARNING" "${RCHECK_DIR}/00check.log"
检查包生成日志中是否存在任何警告。来自man grep
:
退出状态
通常,如果选择了一行,则退出状态为0;如果没有选择任何行,则为1;如果发生错误,则为2。但是,如果使用-q或-quiet或--silent,并且选择了一行,则即使发生错误,退出状态也为0。
因此,由于-q
,您的命令将";成功;不管您的生成日志中是否有任何警告。您需要删除-q
并用!
反转退出代码,这样,如果没有发现警告,命令就会成功(退出代码0(,否则就会失败(退出代码不为零(:
! grep -R "WARNING" "${RCHECK_DIR}/00check.log"