在 Travis-CI 中出现超过 13 条关于测试错误的最后一行

Getting more than 13 last line on test error in Travis-CI

当我在 TravisCI 下构建 R 包时,当测试失败时打印出最后 13 行。要调试只在 Travis 下出现的问题,我需要更多行。

在哪里可以设置日志显示的行数?

稍后添加:

https://github.com/hadley/testthat/commit/f037f463edcccd403502308fd86e32914c6d0d0f

看起来这是一个测试功能,但我不知道如何关闭它。

您的 travis.yml:

末尾需要这样的内容
after_failure:
  - ./run.sh dump_logs

(其中 run.sh 是我的 maintained fork of the initial R-Travis)。

那个脚本(就像它来自的 travis.sh 一样)有这个代码:

DumpSysinfo() {                                                                                                                                                                                                     
    echo "Dumping system information."                                                                                                                                                                              
    R -e '.libPaths(); sessionInfo(); installed.packages()'                                                                                                                                                         
}                                                                                                                                                                                                                   

DumpLogsByExtension() {                                                                                                                                                                                             
    if [[ -z "" ]]; then                                                                                                                                                                                          
        echo "dump_logs_by_extension requires exactly one argument, got: $@"                                                                                                                                        
        exit 1                                                                                                                                                                                                      
    fi                                                                                                                                                                                                              
    extension=                                                                                                                                                                                                    
    shift                                                                                                                                                                                                           
    package=$(find . -maxdepth 1 -name "*.Rcheck" -type d)                                                                                                                                                          
    if [[ ${#package[@]} -ne 1 ]]; then                                                                                                                                                                             
        echo "Could not find package Rcheck directory, skipping log dump."                                                                                                                                          
        exit 0                                                                                                                                                                                                      
    fi                                                                                                                                                                                                              
    for name in $(find "${package}" -type f -name "*${extension}"); do                                                                                                                                              
        echo ">>> Filename: ${name} <<<"                                                                                                                                                                            
        cat ${name}                                                                                                                                                                                                 
    done                                                                                                                                                                                                            
}                                                                                                                                                                                                                   

DumpLogs() {                                                                                                                                                                                                        
    echo "Dumping test execution logs."                                                                                                                                                                             
    DumpLogsByExtension "out"                                                                                                                                                                                       
    DumpLogsByExtension "log"                                                                                                                                                                                       
    DumpLogsByExtension "fail"                                                                                                                                                                                      
} 

我相信你可以从这里开始。 'new new' Travis 肯定也有一个设置。

当 运行 R CMD check 时,"number of trailing lines of test output to reproduce in the log" 似乎可以由 R Internals here 中记录的环境变量 _R_CHECK_TESTS_NLINES_ 控制。

这个环境变量的默认值为13,但是如果设置为0,"all lines except the R preamble are reproduced"。

此答案是由博客 post 提出的,该博客 Yihui Xie 涵盖了此解决方案。