You are browsing as a guest. Sign up (or log in) to start making projects!

obro1984

@obro1984

Joined June 5th, 2026

  • 3Devlogs
  • 3Projects
  • 0Ships
  • 0Votes
Open comments for this post

10h 43m 57s logged

Unit Testing!

yup, that’s what’s been taking so long. i actually got past the gradle setup part pretty quick, i just wasn’t expecting current code to be so… dysfunctional. i’ve done a lot of rewriting and test formatting and sometimes it just gets really brain numbing so i put on a youtube video in the background and then its been 45 minutes and i havent changed anything… but i just achieved my first all-passing test milestone! so i’ll be pushing it soon and then i’ll the changes that make everything pass will follow soon after.

currently I’m targeting TextUtil, where the most edge-cases take place, in the form of String <-> Component transformations.

ultimiately i’d like to also do E2E testing in the form of Fabric’s ClientGameTest, but those can only be done on the most recent version due to FAPI not backporting changes (it’s probably for the best anyway) - so i’ll be doing that last.

that’s it for now! i can’t wait for everyone (especially me), to benefit from this when future releases are checked before releasing! yayyyy!!!

0
0
1
Open comments for this post

22h 47m 47s logged

hey chat! i’ve finished up some of that stuff from before. most notably:

  • publishMods now works again! turns out Modrinth just recently (i.e. this week) allowed attaching signatures to builds so it’s not currently supported with MPP
    • also, turns out the whole checksum thing was kinda useless because Modrinth has provided file hashes via their API this whole time - so… i think i’m gonna table that idea for now and use that later
  • i published a new version (alpha.11) that fixes the teensy-eensy little problem that incomplete mixins were accidentally included in the jar uploaded to CF and MR as alpha.10. whoops!
  • version parsing is now much more robust and typically requires only one gradle property to be specified! for newer releases you can override the FMJ version (ex. w/ ~26.2 for the 26.2 subproject) and the rest is handled automatically. i’m also waiting on MPP#116 to see if this can be consolidated entirely, with no need for an extra override!
  • the classtweaker is now stone-cut so it’s a bit easier to see what is applied to where
  • cleaned up the buildscript more (it is perpetually dirty :/)
  • fixed a handful of bugs and impl’d a couple suggestions!

and now, i get to move on to one of the most daunting but hopefully most rewarding things: drumroll please…. ztzttstz.z.t..z….. unit testing!!!

you’re probably thinking, chat patches hasn’t had any unit tests this WHOLE time!??! and you’d be right! idk how there aren’t more bugs. but now i’m putting everything else (chat patches wise, at least) on hold to get this done. bc if i don’t do it now, it will never get done. ik this isn’t very pretty but you gotta do what you gotta do.

0
0
3
Open comments for this post

23h 11m 9s logged

i’ve been doing what feels like a lot but isn’t overall much. i’ve been
refactoring the Kotlin Gradle buildscript, which i’m notoriously bad at
so it’s taking a really long time. some of my (attempted) changes
include:

  • generating signatures and checksums with published builds (2/3 done)
  • simplified stonecutter replacements and swaps
  • assessed what will need to change to transition to the new
    modstitch-toolkit
  • minorly updated mod-publish-plugin and started planning for new
    version range parsing and functionality

in other things, i’ve:

  • fixed the context menu deletion option resetting the scroll pos
  • removed the entirely unused option table in the README
  • better utilized classtweakers in the context menu
  • implemented annotation-based constraints for config options
  • replaced the dual-impl option validation system with a unified one via
    codecs (now used in the YACL config, with one annoying side effect)
  • future-proofed the module-based fabric api importing so that it only
    loads what’s necessary (and it should work with neoforge when i
    eventually impl that!)
  • updated mod functionality to 26.2 (despite being unable to publish
    everything at once 😑)
0
0
12

Followers

Loading…