我在远程服务器上安装了Jenkins(不确定它是什么操作系统) 和python测试文件有很多测试用例(即def())
当我运行Jenkins作业时。它在控制台上提供输出,其中某些测试通过而其他失败但在控制台输出结束时显示:
**********************************************************************************************************************************
------------------------------------------------------------
Test complete. Result code = 0
STS: smoke_1
Unlock Code: 2014021009141392041655
------------------------------------------------------------
Archiving artifacts
Email was triggered for: Success
Sending email for trigger: Success
Sending email to: xxx
Notifying upstream projects of job completion
Finished: SUCCESS
***********************************************************************************************************************
为什么在python文件中某些测试通过和其他测试失败时结果代码= 0, 如何将结果代码更正为非零值?
Jenkins或Python代码是否有错误?
答案 0 :(得分:0)
我在Windows机器上通过浏览器使用Jenkins,所以不太了解终端命令。但是,让我告诉你代码:
这是我的代码:
print 'result code before subprocess: '
print result_code
result_code = subprocess.call(command)
print 'result code after subporcess: '
print result_code
在subprocess.call(命令)之前result_code是-1
(默认)
在subprocess.call(命令)之后result_code是0
其中command ='jenkins / abc.sh' 其中abc.sh从里面调用abc.py文件!
如果abc.py中的所有subprocess.call(command)
成功执行,def()
会返回零,或者如果abc.py内的所有def()
都返回,它会返回零吗?
在我的情况下,某些def()
已通过,但有些失败,但仍然subprocess.call(command)
返回零!
这是对的吗?
如果我希望subprocess.call(command)
在abc.py内部发生某些def()
失败时返回非零值该怎么办?