rgbds icon indicating copy to clipboard operation
rgbds copied to clipboard

Add gb-starter-kit to test suite

Open ISSOtm opened this issue 4 years ago • 10 comments

  • [ ] gb-boilerplate + gb-starter-kit

    See gbdev/awesome-gbdev#208 for context. This would additionally imply moving them to the gbdev org, so that others than myself have access. (I guess rights should be given to the rednex team, too.)

  • [x] SameBoot

ISSOtm avatar Apr 20 '21 13:04 ISSOtm

Nice, having them tested in the CI allows those entries to stay consistent and relevant. Thank you

avivace avatar Apr 20 '21 14:04 avivace

gb-starter-kit has two FAILs in src/header.asm for when configuration is needed, which would have to become conditional, like MACRO must_configure / IF !DEF(TEST_RGBDS) / FAIL \1 / ENDC / ENDM and pass rgbasm -D TEST_RGBDS.

Rangi42 avatar Apr 26 '21 14:04 Rangi42

For some reason, gb-starter-kit fails to build on macOS and Windows, even with parallel build disabled. This debug output puzzles me:

  Prerequisite `res/crash_font.1bpp.pb8.size' is newer than target `dep/crash_handler.mk'.
 No need to remake target `dep/crash_handler.mk'.

ISSOtm avatar Jul 25 '21 11:07 ISSOtm

After doing a lot of testing, it appears we have a make issue: it sometimes generates dep/crash_handler.mk, then attempts to generate obj/crash_handler.o (which fails due to a missing dep), but then considers it generated anyway.

I've tried using deps both order-only and not, generating both files separately, basically everything I could think of. The problem still occurs, but only on some machines and inconsistently. I'm not nearly qualified enough to understand how to make Make (hah!) handle this correctly, so I'm afraid we'll have to shelve this for a while.

ISSOtm avatar Nov 01 '21 00:11 ISSOtm

The --only-free option of #1161 brings a bit more salience to this issue. Zumi on Discord reminded me of it when I posted a draft article about my experience as a first-time contributor.

SameBoot might be typical of cases where another program for personal computers uses RGBDS as a build dependency. I see it as standing in for the case of building a game in an emulator wrapper for release on modern platforms. I thought of these complications that might affect SameBoot:

  • Can we quickly generalize the test script to build SameBoot without SameBoy?
  • Can the script determine what is a "correct" build of all models' ROMs?
  • Does SameBoot's build process support out-of-PATH RGBDS? And if not, would LIJI be open to it?
  • Can the test script cross-build the logo compressor for Windows?

pinobatch avatar Aug 20 '23 13:08 pinobatch

https://github.com/zladx/LADX-Disassembly is actively developed; how about it?

https://github.com/pinobatch/libbet is stable and maintained.

Rangi42 avatar Nov 03 '23 05:11 Rangi42

Looks like this is not quite it yet, but at least, this seems consistent! (I have an explanation for why the file is empty, but I'm not sure why that action is taken.)

I should fix the warnings raised, at least, to clean up the log a bit.

ISSOtm avatar Nov 05 '23 11:11 ISSOtm

Please see https://github.com/ISSOtm/gb-starter-kit/issues/1#issuecomment-1793775226 for details about the new issue that popped up.

ISSOtm avatar Nov 05 '23 15:11 ISSOtm

https://github.com/pinobatch/libbet is stable and maintained.

And in the test suite as of #1260. :)

Rangi42 avatar Dec 06 '23 15:12 Rangi42

Now that #1264 has been merged, the only project mentioned thus far in this thread that hasn't been added is gb-boilerplate/starter-kit[^ladx]. As mentioned above, its build is unreliable on Windows due to an issue with Make itself, so that may be a while. For that reason, I am unassigning the milestone.

Let's keep this issue open for more suggestions, though!

[^ladx]: The LADX disassembly is in the process of being added, and should land soon-ish.

ISSOtm avatar Dec 06 '23 21:12 ISSOtm