1
0
mirror of https://github.com/ppy/osu.git synced 2025-02-15 23:42:55 +08:00

Make tests more resilient under headless execution

This commit is contained in:
Dean Herbert 2020-10-29 14:57:36 +09:00
parent db2b00068f
commit a59ea987b7

View File

@ -82,13 +82,21 @@ namespace osu.Game.Tests.Visual.Gameplay
AddUntilStep("wait for frame starvation", () => replayHandler.NextFrame == null); AddUntilStep("wait for frame starvation", () => replayHandler.NextFrame == null);
checkPaused(true); checkPaused(true);
double? pausedTime = null;
AddStep("store time", () => pausedTime = currentFrameStableTime);
sendFrames(); sendFrames();
checkPaused(false);
AddUntilStep("wait for frame starvation", () => replayHandler.NextFrame == null); AddUntilStep("wait for frame starvation", () => replayHandler.NextFrame == null);
checkPaused(true); checkPaused(true);
AddAssert("time advanced", () => currentFrameStableTime > pausedTime);
} }
private double currentFrameStableTime
=> player.ChildrenOfType<FrameStabilityContainer>().First().FrameStableClock.CurrentTime;
[Test] [Test]
public void TestPlayStartsWithNoFrames() public void TestPlayStartsWithNoFrames()
{ {
@ -98,7 +106,7 @@ namespace osu.Game.Tests.Visual.Gameplay
waitForPlayer(); waitForPlayer();
checkPaused(true); checkPaused(true);
sendFrames(); sendFrames(1000); // send enough frames to ensure play won't be paused
checkPaused(false); checkPaused(false);
} }