gzip仕様の実装を考えると、仕様、つまり有効なgzipファイルに従って圧縮されているかどうかをテストするにはどうすればよいですか?
私の単体テストでは、入力を圧縮してから解凍し、入力と解凍された出力を比較します。仕様を満たしていることを保証するのに十分ではないと思います。
gzip圧縮機能をテストするための有効な戦略を知っている人はいますか?
出力をテストするには、単にzlibの inflate を使用します。inflate は、セキュリティ上の理由から、無効な deflate データを拒否するように細心の注意を払っています。
ただし、それは実行するストリームのみをテストすることに注意してください。デフレーターが生成できるすべての種類の出力を確実に実行するには、多くのテストを作成する必要があります。
gzip
コマンドラインツールなど、別の実装に対して実装をテストできます。
gunzip
して元のデータと比較しますgzip
で圧縮してから、実装で解凍して比較します