Open Cervator opened 4 years ago
“fixing” catastrophically failing tests by disabling them is scary. :grimacing:
Do we know what brought this on? i.e. did it start happening after a particular change in this module, or was it something in MTE or engine?
Agreed on scary - but sadly before these tests broke this way they seemingly mostly broke in creative other ways so ... not really sure what happened when. There are a few clues in the older builds in Jenkins, perhaps, but I didn't dig around extensively
Odd. it must take maximum 60+60+(60* waiter count) seconds. Also MTE didn't throw assert in one timeout case. Oh... waiters in loop
@Test
public void bushShouldGrowInOrder() { // <-- +120 seconds on setup test,
for (int i = 0; i < getFinalGrowthStageIndex(); i++) {
assertBushInStage(i);
waitForGrowth(); // <-- +60 sec
}
}
Oh boy. Yeah that would totally do it - if that test actually breaks in a particular way it'll just keep waiting forever rather than fail the assert ... 😅
Needs one of those little timeouts I think somebody mentioned are an option now!
This might be more about the MTE than any one test here, but I did see Jenkins trying to test a SimpleFarming PR twice in a row eventually get stuck just printing
[Test worker] DEBUG org.terasology.world.chunks.localChunkProvider.LocalChunkProvider - Compacting cache
over and over forever, apparently doing so as that logs once per tick, and nothing else was happening.It might trigger based on the world seed causing something the MTE can't handle? As it seems to happen inconsistently. I've seen similar rare infinite loops elsewhere, will start trying to gather more details.
The test here resulted in this logging on pastebin
Snippet right as it started:
Also maybe worth noting was the occasional chunk generator thread fail over some ore generation issue (which itself is a bit of a "huh" for SimpleFarming):
Maybe the MTE test somehow gets stuck just trying to generate world forever and just once in a while that results in a chunk that fails due to ore gen?