Hey! I just found out this crate exists, which is neat! I wrote a replacement for makecab a while back that we're using in Firefox CI, it's faster than the Microsoft binary (it saved us like 5 minutes per build). I never got around to making the code in it more general-purpose, but it looks like you did all that work here, which is great. I don't know that there's anything useful in my crate that you could use, but you might be interested in copying the exhaustive round-trip tests I wrote for my MS-ZIP implementation. It has bindings for the Microsoft compression API so if you run the tests on Windows it'll try compressing with the Rust code and decompressing with the Microsoft API and vice versa, which helped me root out some bugs in my code.
Thanks, that's great! I'll take a look. There are probably still bugs in this implementation, so extra tests (and another reference implementation to look at) should help.
Hey! I just found out this crate exists, which is neat! I wrote a replacement for makecab a while back that we're using in Firefox CI, it's faster than the Microsoft binary (it saved us like 5 minutes per build). I never got around to making the code in it more general-purpose, but it looks like you did all that work here, which is great. I don't know that there's anything useful in my crate that you could use, but you might be interested in copying the exhaustive round-trip tests I wrote for my MS-ZIP implementation. It has bindings for the Microsoft compression API so if you run the tests on Windows it'll try compressing with the Rust code and decompressing with the Microsoft API and vice versa, which helped me root out some bugs in my code.