不理解进程的exitcode结果

时间:2013-06-10 13:50:52

标签: python .net process teamcity exit-code

我的用例是我使用TeamCity http://www.jetbrains.com/teamcity/构建一些项目并对它们运行测试。

在我的测试中,我创建.net进程并运行返回数字7的python方法(通过RPyC)。

exit(7)

我execpt当我的进程退出时他的退出代码将是7。 这确实发生了以退出代码7退出的过程。

Assert(7, p.ExitCode)

但是......当我在其他计算机上运行相同的用例时,测试运行并返回7但是测试失败,因为进程的返回码始终为0而不是7,并且Assert方法返回false。

我认为即使进程由于某种原因失败,他的退出代码应该是-1或其他非零整数而不是0所以任何建议为什么会发生这种情况?

测试环境一定是个问题,因为相同的代码在其他计算机上工作,那么可以做些什么呢?

计算机差异:

好(pysichal电脑): CPU:Intel Xeon E5440 2.83 GHz RAM:2 GB 操作系统:Win7 32位

坏(虚拟计算机): CPU:Intel Xeon X5680 3.33 GHz(2个处理器) RAM:3.5 GB 操作系统:Win7 Service Pack 1 32位

ETID:

在我失败的计算机中有一个问题,当shell运行时我收到以下错误:“不支持UNC路径”。这发生了因为用桌面路径打开的shell是净路径。然后路径更改为默认路径c:\ windows。但奇怪的是,这个过程保持良好运行并且没有异常发生,并且exid代码为0而不是1或-1所以我仍然不明白为什么会发生这种情况

1 个答案:

答案 0 :(得分:0)

  

测试环境一定是个问题,因为相同的代码在其他计算机上工作,所以可以做到这一点

最可能的罪魁祸首通常是环境(就像你可能在os.environ中遇到的那样)和竞争条件。从简单的东西开始:比较两个地方的执行环境。