2017-01-23 115 views
0

我有一个运行在Jenkins上的JUnit测试套件。 测试套件使用以下技术。 Ant来构建 JMockint嘲笑的EJB Jacoco代码覆盖JUnit测试套件failed with [junit] ASSERTION失败:'ci-> bp_id == 0'

测试套件运行一个詹金斯子机(UNIX),并运行45分钟(〜1500个测试)的平均时间。

套件中的测试计数逐渐增加。最近形成我得到下面的错误使测试间歇性地运行崩溃。

[junit] 
[junit] ASSERTION FAILED: 'ci->bp_id == 0' 
[junit] In cmReleaseCodeInfo() (src/jvm/runtime/code/memory/codecollector.c:454) 
[junit] Assertion failed after 0 days, 00:32:50 on Mon Jan 23 11:14:50 2017 
[junit] Running requires.testMis.MaskedCinTest 
[junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec 
[junit] Tests FAILED (crashed) 

我不知道如何跟踪这个。如果有人有线索/或领导找到正在发生的事情,会很高兴。

会更感兴趣的是从哪里看[junit] ASSERTION FAILED: 'ci->bp_id == 0'即将到来。

+0

你有看过断言中提到的文件吗?也许这给出了一个线索是什么? – GhostCat

+0

我无法找到此文件。事实上,我有一个Java项目。上面显示的文件是** C **。这看起来更像是比Java更低的级别。 – Asanke

+0

也是上面显示的断言,我没有在我的项目中编码。 – Asanke

回答

0

更希望从哪里看[junit] ASSERTION FAILED:'ci-> bp_id == 0'即将到来。

我找不到这个文件。事实上,我有一个Java项目。上面显示的文件是C.这看起来更像是比Java更低的级别。 - Asanke 8小时前

此外,上面显示的断言,我没有在我的项目中编码。 - Asanke 8小时前

断言被编译成你的代码使用的二进制可执行文件。

根据您正在执行的测试类型,有多种不同的方法来处理这种情况。

如果这是一个回归测试(或验收测试),您可能已经发现了一个错误:您的代码通过了一个无效的bp_id(这是什么,你应该知道......)。

如果这是一个UnitTest,那么你应该模拟调用二进制可执行文件的代码。

+0

谢谢@ timothy-truckle。这是回归测试。但失败并不一致。测试套件运行间歇性失败。此外,我不知道如何将我的java代码翻译成'ci-> bp_id == 0'断言,因为我看到的变量名与测试代码中的变量无关。 – Asanke