Commit e459a31
Prime Bukkit material registry in JUnit 5 panel tests
The CI build for PR #397 erupted with 286 errors: `NoSuchElementException:
No value for minecraft:acacia_hanging_sign` thrown from
`org.bukkit.inventory.ItemType.<clinit>` inside `ItemStackMock.<clinit>`,
which then poisoned `ItemStackMock` for the rest of the JVM.
Root cause: ItemType's static initializer iterates Material and looks each
entry up in the registry. If it runs before MockBukkit has populated the
registry, the static init errors and every subsequent test that touches
ItemStack fails with NoClassDefFoundError. AbstractChallengesTest already
worked around this by touching `Tag.LEAVES` right after `MockBukkit.mock()`,
but seven JUnit 5 panel tests didn't extend it and didn't carry the
workaround. The flake didn't surface locally because filesystem ordering on
macOS put a primed test first; ubuntu-latest's ordering didn't.
Extract `PanelTestHelper.primeBukkitRegistry()` and call it right after
`MockBukkit.mock()` in CommonPanelTest, CommonPagedPanelTest,
ConversationUtilsTest, AdminPanelTest, ListChallengesPanelTest,
GameModePanelTest, and MultiplePanelTest. The fix is order-independent —
each affected test class now primes the registry itself.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 6d8dfbd commit e459a31
8 files changed
Lines changed: 24 additions & 0 deletions
File tree
- src/test/java/world/bentobox/challenges/panel
- admin
- user
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
116 | 116 | | |
117 | 117 | | |
118 | 118 | | |
| 119 | + | |
119 | 120 | | |
120 | 121 | | |
121 | 122 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
78 | 78 | | |
79 | 79 | | |
80 | 80 | | |
| 81 | + | |
81 | 82 | | |
82 | 83 | | |
83 | 84 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
| 48 | + | |
48 | 49 | | |
49 | 50 | | |
50 | 51 | | |
| |||
Lines changed: 17 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
25 | 42 | | |
26 | 43 | | |
27 | 44 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
| 57 | + | |
57 | 58 | | |
58 | 59 | | |
59 | 60 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
| 50 | + | |
50 | 51 | | |
51 | 52 | | |
52 | 53 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
58 | 58 | | |
59 | 59 | | |
60 | 60 | | |
| 61 | + | |
61 | 62 | | |
62 | 63 | | |
63 | 64 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
| 56 | + | |
56 | 57 | | |
57 | 58 | | |
58 | 59 | | |
| |||
0 commit comments