我的用例是我使用 TeamCity http://www.jetbrains.com/teamcity/来构建一些项目并对其进行测试。
在我的测试中,我创建了 .net 进程并在其上运行返回数字 7 的 python 方法(通过 RPyC)。
exit(7)
我执行当我的进程退出时,他的退出代码将是 7。这确实发生了退出代码为 7 的进程退出。
Assert(7, p.ExitCode)
但是......当我在其他计算机上运行相同的用例时,测试运行并将 7 返回给进程,但测试失败,因为进程的返回代码始终为 0 而不是 7,并且 Assert 方法返回 false。
我认为即使进程由于某种原因失败,他的退出代码也应该是 -1 或其他非零整数而不是 0,所以有什么建议为什么会发生这种情况?
测试环境一定有问题,因为相同的代码在其他计算机上工作,那么这可能是什么原因?
电脑区别:
好的(物理计算机): 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 位
时间:
在我失败的计算机中,当 shell 运行时出现以下错误:“UNC 路径不受支持”。发生这种情况是因为 shell 打开了桌面路径,即网络路径。然后路径更改为默认路径 c:\windows。但奇怪的是,这个过程一直运行良好,没有发生异常,而且 exid 代码是 0 而不是 1 或 -1 所以我仍然不明白为什么会发生这种情况