mirror of
https://github.com/ppy/osu.git
synced 2025-02-13 19:12:54 +08:00
Fix intermittent multiplayer tests
This commit is contained in:
parent
79d9aa7383
commit
e6ee360511
@ -359,6 +359,8 @@ namespace osu.Game.Online.Multiplayer
|
|||||||
if (Room == null)
|
if (Room == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
await Task.Run(async () =>
|
||||||
|
{
|
||||||
await PopulateUser(user).ConfigureAwait(false);
|
await PopulateUser(user).ConfigureAwait(false);
|
||||||
|
|
||||||
Scheduler.Add(() =>
|
Scheduler.Add(() =>
|
||||||
@ -374,7 +376,8 @@ namespace osu.Game.Online.Multiplayer
|
|||||||
|
|
||||||
UserJoined?.Invoke(user);
|
UserJoined?.Invoke(user);
|
||||||
RoomUpdated?.Invoke();
|
RoomUpdated?.Invoke();
|
||||||
}, false);
|
});
|
||||||
|
}).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
Task IMultiplayerClient.UserLeft(MultiplayerRoomUser user) =>
|
Task IMultiplayerClient.UserLeft(MultiplayerRoomUser user) =>
|
||||||
|
@ -53,7 +53,8 @@ namespace osu.Game.Tests.Visual.Multiplayer
|
|||||||
public MultiplayerRoomUser AddUser(User user, bool markAsPlaying = false)
|
public MultiplayerRoomUser AddUser(User user, bool markAsPlaying = false)
|
||||||
{
|
{
|
||||||
var roomUser = new MultiplayerRoomUser(user.Id) { User = user };
|
var roomUser = new MultiplayerRoomUser(user.Id) { User = user };
|
||||||
((IMultiplayerClient)this).UserJoined(roomUser);
|
|
||||||
|
addUser(roomUser);
|
||||||
|
|
||||||
if (markAsPlaying)
|
if (markAsPlaying)
|
||||||
PlayingUserIds.Add(user.Id);
|
PlayingUserIds.Add(user.Id);
|
||||||
@ -61,7 +62,15 @@ namespace osu.Game.Tests.Visual.Multiplayer
|
|||||||
return roomUser;
|
return roomUser;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddNullUser() => ((IMultiplayerClient)this).UserJoined(new MultiplayerRoomUser(TestUserLookupCache.NULL_USER_ID));
|
public void AddNullUser() => addUser(new MultiplayerRoomUser(TestUserLookupCache.NULL_USER_ID));
|
||||||
|
|
||||||
|
private void addUser(MultiplayerRoomUser user)
|
||||||
|
{
|
||||||
|
((IMultiplayerClient)this).UserJoined(user).Wait();
|
||||||
|
|
||||||
|
// We want the user to be immediately available for testing, so force a scheduler update.
|
||||||
|
Scheduler.Update();
|
||||||
|
}
|
||||||
|
|
||||||
public void RemoveUser(User user)
|
public void RemoveUser(User user)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user