到目前为止,我已经尝试使用Jenkins来触发matlab并做了一些测试。但是我想让Jenkins知道如果我们在matlab测试中出现了一些错误,并与Jenkins进行通信。所以控制台输出将失败。
Matlab 版本:2016b
所以我把 exit(1) 放在 matlab 脚本的最后一行。但是 Jenkins 控制台输出仍然显示成功。我在批处理命令行中使用 %errorlevel%,结果是 0 不是我所期望的。
我一开始就尝试使用 Start /wait。因为我使用的是 Windows 10。但没有帮助。
下面是我的 Jenkins 批处理命令:
start /wait matlab.exe -wait -r -sd "D:\matlab" MyScript;exit -logfile OutputPrint.txt echo ExitCode is %errorlevel%
我希望如果测试管理器中的某些测试用例没有通过。它可以通知Jenkins并且控制台输出将失败。
在此先感谢您的帮助!
似乎在 R2019a 中引入了对从 matlab 提供退出或错误状态的官方支持。我这样说,因为我在R2019a的在线参考中看到了它,但在R2018b中却没有:
https://www.mathworks.com/help/releases/R2019a/matlab/ref/quit.html
vs
https://www.mathworks.com/help/releases/R2018b/matlab/ref/quit.html
但是,当我尝试并且不提供“强制”输入时,它似乎适用于旧版本的 matlab,例如 R2016b:
"C:\Program Files\MATLAB\R2016b\bin\matlab.exe" -wait -r "exit(10)"
echo %ERRORLEVEL%
这给了我 10,这是我的预期。在您的代码中,我看到一些可能会产生问题的事情。我建议从我的代码中的一些简单开始,然后在必要时添加其他组件并验证错误级别仍然正常。
-r -sd "D:\matlab" MyScript;exit
因为要执行的命令应该直接在 -r 之后,我想你的意思是:
-sd "D:\matlab" -r MyScript;exit
"C:\Program Files\MATLAB\R2016b\bin\matlab.exe" -wait -r "exit(10)"
SET MATLABERROR=%ERRORLEVEL%
echo ExitCode is %ERRORLEVEL%
SET ERRORLEVEL=%MATLABERROR%
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句