What we have right now is an illusion of test-driven development LOL
What I have in mind is a CI workflow which can access FEZ assets in some way (perhaps a new account in any game vendor, like itch.io, with FEZ copy bought and ready to be accessed through an API and secret stored in repo's settings?) or hand-crafted test packages, and then run these steps on them:
- unpack PAK archives into raw XNB assets
- pack raw assets back into PAK archive
- Test 1 - compare two PAK archives
- uncompress XNB assets
- compress previously uncompressed XNB assets
- Test 2 - compare two sets of compressed XNB assets
- convert XNB assets
- unconvert resulting files back into XNB assets
- Test 3 - compare resulting XNB asset with the input XNB assets
- additionally (and especially if test 1 fails), convert resulting XNB assets again
- Test 4 - compare two sets of converted files (sometimes assets can give the same results one way but not the other)
Right now, only Test 1 is implemented in some shape or form, but it cannot be automated with CI as it lacks test assets. Additionally, Repacker currently lacks certain features for those tests to even exist (see #36).
What we have right now is an illusion of test-driven development LOL
What I have in mind is a CI workflow which can access FEZ assets in some way (perhaps a new account in any game vendor, like itch.io, with FEZ copy bought and ready to be accessed through an API and secret stored in repo's settings?) or hand-crafted test packages, and then run these steps on them:
Right now, only Test 1 is implemented in some shape or form, but it cannot be automated with CI as it lacks test assets. Additionally, Repacker currently lacks certain features for those tests to even exist (see #36).