【发布时间】:2015-01-06 18:09:07
【问题描述】:
我正在尝试设置 Jenkins 以在我的 Perl 项目上运行测试和覆盖。在 Jenkins 中,我有一个看起来像这样的 shell 脚本:
perl --version
perl Build.PL
prove -v test.pl --timer -l t > jenkins-${JOB_NAME}-${BUILD_NUMBER}-junit.TAP
/usr/local/bin/cover -test -report clover
当 shell 执行这个调用“/usr/local/bin/cover -test -report clover”时,它会创建以下输出:
Deleting database /var/lib/jenkins/workspace/Banking/cover_db
cover: running ./Build test "--extra_compiler_flags=-O0 -fprofile-arcs -ftest- coverage" "--extra_linker_flags=-fprofile-arcs -ftest-coverage"
test.pl .. ok
All tests successful.
Files=1, Tests=120, 7 wallclock secs ( 0.04 usr 0.01 sys + 0.91 cusr 0.04 csys = 1.00 CPU)
Result: PASS
Reading database from /var/lib/jenkins/workspace/Banking/cover_db
Writing clover output file to '/var/lib/jenkins/workspace/Banking/cover_db/clover.xml'...
No such file or directory at /usr/local/share/perl5/Devel/Cover/Report/Clover/Builder.pm line 40.
Build step 'Execute shell' marked build as failure
在我看来,如果它存在,它会删除cover_db 目录但它无法重新创建它,有人知道我做错了什么吗?作为 Jenkins 用户,我可以创建和删除 cover_db 目录,所以我猜这应该不是用户权限问题。
提前谢谢你
简·埃斯基尔森
【问题讨论】:
标签: linux perl junit jenkins cover