我已經寫了一個漂亮的打印機使用GDB Python接口的(C)結構,有傾向於軟件版本之間進行更改。由於格式是波動的,我試圖讓打印機足夠動態以適應並總是嘗試打印一些有用的內容,而不是拋出Python異常。我該如何測試用Python編寫的GDB漂亮打印機?
現在有兩種我需要支持的主要格式,但未來可能會有更多。我想爲打印機編寫一些單元測試,以避免不得不從不同版本手動加載coredumps來測試它。
我想也許我可以從調試會話中序列化gdb.Value並將它們加載到我的單元測試中,但是我無法做到這一點(pickle沒有與gdb.Value一起使用)。核心轉儲非常大,因此將它們與漂亮的打印機和腳本GDB一起存儲用於測試不是一種選擇。
如何在不保留大型核心轉儲的情況下對我的漂亮打印機進行單元測試?
這是一個好主意,我正在考慮。最好我想避免在Python之外的依賴。 –
@DavidHolm你想消除哪種依賴關係?我不認爲有可能不需要存儲foo-vN和foo-VN.core(但也許你可以根據需要重新生成它們)。消除對GDB測試框架的依賴是很容易的*如果*您漂亮打印機的輸出可以與「黃金」輸出進行比較。 –
對GDB的依賴。現在GDB 7並不是我們產品正式支持的版本,所以我使用我自己的GDB。有些人正在使用我的構建,其他人有他們自己的構建,所以如果測試代碼獨立於它將在路徑中找到的任何版本的GDB,我都會更喜歡它。 –