ソフトウェアリリース間で変更される傾向がある(C)構造体用のGDBPythonインターフェイスを使用してプリティプリンターを作成しました。フォーマットが変動しているので、私はプリンターを十分に動的にして、Python例外をスローするのではなく、常に何か便利なものを印刷しようとしました。
現在、私がサポートする必要のある2つの主要な形式がありますが、将来的にはさらにいくつかの形式になる可能性があります。異なるリリースからコアダンプを手動でロードしてテストする必要がないように、プリンターの単体テストをいくつか作成したいと思います。
デバッグセッション内からgdb.Valueをシリアル化して単体テストにロードできるのではないかと思いましたが、できませんでした(pickleはgdb.Valueでは機能しませんでした)。コアダンプは非常に大きいため、テスト用にプリティプリンターとスクリプトGDBを使用してそれらを保存することはできません。
巨大なコアダンプを保持せずに、きれいなプリンタを単体テストするにはどうすればよいですか?