Commit
f6a6b90211746758c351c341db7c31f21e1bbcd7
by nossr50Fix test-order-dependent poisoning of Bukkit registry constants
SoundManagerTest answered Bukkit.getRegistry with bare Registry
mocks whose lookups return null. Whichever test first triggers
org.bukkit.Registry initialization welds its lookup results into
the Registry constants for the rest of the JVM, so when that test
ran before any TestRegistryBootstrap user (the CI runner listed the
util package before the skills package; Windows lists it after,
which is why this never reproduced locally), PotionEffectType read
a null lookup during its own initialization and 108 later tests
died with NoClassDefFoundError.
SoundManagerTest now serves registry lookups through
TestRegistryBootstrap, and MMOTestEnvironment bootstraps for every
harness test so no test ordering can initialize the registry
constants without the minting answer in place. Reproduced with
-Dsurefire.runOrder=reversealphabetical and verified green in both
orders on JDK 17 and JDK 25.
(commit: f6a6b90)