2017-01-23 129 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