gbdev / rgbds

Rednex Game Boy Development System - An assembly toolchain for the Nintendo Game Boy and Game Boy Color
https://rgbds.gbdev.io
MIT License
1.33k stars 175 forks source link

Define a free subset of the test suite #1160

Closed pinobatch closed 1 year ago

pinobatch commented 1 year ago

Because #1159 made the semantics of local labels more lenient, it caused regression tests to fail. I learned that I could run test/run-tests.sh locally to see which tests' error output I needed to update. However, I hit another snag: running the complete test suite may infringe copyright in some jurisdictions.

$ test/run-tests.sh 
~/develop/assemblers/rgbds/test/asm ~/develop/assemblers/rgbds/test
align-16...
align-16.pipe...
[Numerous lines snipped]
Testing: ../../rgbgfx damaged9.png
Testing: ../../rgbgfx - <damaged9.png
~/develop/assemblers/rgbds/test
test/run-tests.sh: line 29: pushd: pokecrystal: No such file or directory
Please run `fetch-test-deps.sh` before running the test suite

Because SameBoy uses RGBDS to build its boot ROM, packaging SameBoy for Debian requires packaging RGBDS for Debian. In turn, packaging RGBDS for Debian requires following the Debian Free Software Guidelines. I doubt downloading a disassembly of Pokémon Crystal Version qualifies under DFSG. So I propose to create subsets of test/fetch-test-deps.sh and run-tests.sh called test/fetch-test-deps-dfsg.sh and run-tests-dfsg.sh. These would build only µCity, which is free software under GPLv3, not Pokémon.

ISSOtm commented 1 year ago

This was also considered before, but not implemented due to a lack of motivation. This should be useful!

I'm not sure why you're considering SameBoy straight away but discarding any merit to packaging RGBDS itself. :sob: (/s)