【问题标题】:xcodebuild "Software caused connection abort" UserInfo={NSLocalizedDescription=Error returned in reply: Connection interrupted}xcodebuild "软件导致连接中止" UserInfo={NSLocalizedDescription=回复错误:连接中断}
【发布时间】:2019-02-23 01:02:12
【问题描述】:

在带有 xcode10 图像的 Travis CI 上对 Xcode 10 / Swift 4.2 运行单元测试时出现此错误。测试从本地命令行正常运行。

xcodebuild Error Domain=NSPOSIXErrorDomain Code=53 "软件导致连接中止" UserInfo={NSLocalizedDescription=错误返回:连接中断}

xcodebuild Error Domain=IDETestOperationsObserverErrorDomain Code=4 "错误返回:连接中断" UserInfo={NSLocalizedDescription=错误返回:连接中断,NSLocalizedRecoverySuggestion=如果您认为这个错误代表错误,请将结果包附加到/Users/travis/Library/Developer/Xcode/DerivedData/...}

测试失败: xctest 遇到错误(回复错​​误:连接中断)

** 测试执行失败 **

不记得以前见过这个“连接中断”错误。

【问题讨论】:

    标签: xcode travis-ci


    【解决方案1】:

    我在一些 Xcode 10 和 10.1 Beta 代理上也遇到过这种情况。在我们的团队关闭并行测试后,它似乎又可以正常工作了。

    我不确定关闭并行测试是否适合您,但它对我们有用。我找不到任何记录在案的错误表明这是一个问题。

    【讨论】:

    • 谢谢你,布赖恩。经过大量测试,我发现相同,关闭并行化以一种方式解决了问题。我将在单独的答案中详细说明。
    【解决方案2】:

    所以在尝试了不同的事情之后,包括关闭测试并行化,正如 Brian 之前建议的那样,我们发现这似乎与同时具有 多个目的地并行化有关。

    有一个新的-disable-concurrent-destination-testing 标志可以传递给xcodebuild,以强制多个目的地按顺序运行。

    通过使用此标志,我们可以在测试多个目标时启用测试并行化和随机化,所有这些都在一个命令中。

    xcodebuild -scheme <YourScheme> -destination <DestinationA> -destination <DestinationB> -quiet -disable-concurrent-destination-testing test-without-building
    

    这似乎在本地和 CI 服务器上运行良好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-24
      • 2011-01-04
      • 2016-03-04
      • 2019-09-14
      • 2017-09-17
      • 1970-01-01
      • 2011-02-21
      相关资源
      最近更新 更多