24

Haskell の quickcheck ライブラリを使用して、いくつかの C コードをテストしたいと考えています。最も簡単な方法 foreign importは、得られた haskell 関数の上にプロパティを作成して書き込むことです。これに関する問題は、C コードがセグメンテーション違反を引き起こしたり、メモリを破損したりした場合、テストが出力なしでクラッシュするか、まったく予測できないことを行うことです。

2 番目の方法は、C ビット上に単純な実行可能ラッパーを作成し、テスト プロセスの外で を介して実行することSystem.Processです。言うまでもなく、これを行うには多くのスキャフォールディングと値のシリアル化が必要ですが、一方でセグメンテーション違反を処理できます。

foreign import外部プロセスを実行するのと同じくらい安全に戦略を立てる方法はありますか?

4

1 に答える 1