1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-30 09:22:54 +08:00
Commit Graph

948 Commits

Author SHA1 Message Date
Dan Balasescu
16a3bbbcb4
Merge pull request #16944 from peppy/rooms-request-faster
Update playlists/multiplayer to use new compact response
2022-02-24 23:20:07 +09:00
Dean Herbert
260cf793fe Add test coverage of more advanced frame delivery scenarios to TestSceneSpectatorPlayback 2022-02-24 02:28:13 +09:00
Dean Herbert
c94e7e2abe Add ability to simulate network failures to TestSpectatorClient 2022-02-24 02:23:48 +09:00
Dean Herbert
14c8ce50a0 Prefix all test send methods in TestSpectatorClient with Send 2022-02-24 02:23:48 +09:00
Dean Herbert
87da650dfb Update framework 2022-02-23 14:06:56 +09:00
Dean Herbert
71ae425fb2 Merge branch 'master' into rooms-request-faster 2022-02-22 15:45:05 +09:00
Dean Herbert
113153e6a3 Fix remaining filter tests 2022-02-22 00:25:00 +09:00
Dean Herbert
98c008b95f Fix test failures due to order change 2022-02-21 19:48:39 +09:00
Dean Herbert
7e24b36f26 Merge branch 'master' into remove-playlistitem-beatmap 2022-02-16 14:24:57 +09:00
Dean Herbert
6a08fd57ef Rename "client" fields in tests to specify whether spectator or multiplayer 2022-02-16 09:52:18 +09:00
Dean Herbert
187870b794 Merge branch 'master' into fix-multi-cache-dependencies 2022-02-16 09:44:37 +09:00
Dean Herbert
954ae60b81
Merge branch 'master' into copy-existing-difficulty 2022-02-16 08:55:12 +09:00
Dan Balasescu
48573d2401 Move test request handling earlier in setup 2022-02-15 23:50:10 +09:00
Dan Balasescu
bdc3b76df0 Remove beatmap bindable from PlaylistItem 2022-02-15 23:50:08 +09:00
Dan Balasescu
ccd265ebe7 Handle beatmap lookup requests in TestRoomRequestsHandler 2022-02-15 23:41:50 +09:00
Dan Balasescu
a5183cec77 Add helper to construct APIBeatmap 2022-02-15 23:41:08 +09:00
Dan Balasescu
2675bb87ff Add BeatmapLookupCache as another dependency 2022-02-15 21:05:25 +09:00
Dan Balasescu
c48a0dc993 Move UserLookupCache to online play test dependencies 2022-02-15 20:56:46 +09:00
Dan Balasescu
b2276baf71 Seal OnlinePlayTestScene.CreateChildDependencies() 2022-02-15 20:55:57 +09:00
Dan Balasescu
efeba30b9f Remove ruleset and mod bindables from PlaylistItem 2022-02-15 16:28:15 +09:00
Bartłomiej Dach
e45a2ae0fc
Restructure difficulty copy flow to adapt to latest changes 2022-02-14 22:02:37 +01:00
Bartłomiej Dach
6fd663a718
Apply some renames to convey difference between creation options better 2022-02-13 14:01:23 +01:00
Bartłomiej Dach
a2c2b2bbb3
Add flow for copying existing difficulty content 2022-02-13 14:01:20 +01:00
Dan Balasescu
ffc4c64f7e Unify namings across the board 2022-02-09 12:10:07 +09:00
Dan Balasescu
09728a29ed Merge branch 'fix-broken-test-scene' into spectator-state-rework 2022-02-04 22:42:10 +09:00
Dan Balasescu
483977d5c8 Merge branch 'master' into spectator-state-rework 2022-02-03 19:59:07 +09:00
Dean Herbert
b94fe84712
Merge branch 'master' into new-difficulty-creation-v3 2022-02-03 10:48:20 +09:00
Dean Herbert
2731d8e3c2
Merge pull request #16701 from LeNitrous/mod-alternate-osu
Add "Alternate" mod for osu! ruleset
2022-02-03 10:41:23 +09:00
Bartłomiej Dach
a8ffc4fc2a
Add editor override to respect IsolateSavingFromDatabase 2022-02-02 21:57:21 +01:00
Bartłomiej Dach
afc48d86df
Add failing test coverage for save after safeties addition 2022-02-02 21:57:10 +01:00
Bartłomiej Dach
0d51c015ad
Add basic test coverage for new difficulty creation 2022-02-02 21:55:34 +01:00
Dan Balasescu
9d1d13c715 Fix up TestSpectatorClient implementation
Rather than using a list which is supposed to be updated "client"-side,
now uses the "server"-side list.
2022-02-02 23:05:09 +09:00
Dan Balasescu
6d3bc005ea Merge branch 'master' into spectator-state-rework 2022-02-02 18:57:04 +09:00
Bartłomiej Dach
75101b1105
Remove unused ruleset ctor params from test beatmap model managers
No longer used since 00e3af3366.
2022-02-01 21:49:41 +01:00
Dan Balasescu
502e6af008 Remove PlayingUsers list from SpectatorClient 2022-02-01 14:42:30 +09:00
Dean Herbert
57f793aff0 Rename dictionary and make private for added safety 2022-01-31 15:12:08 +09:00
Nitrous
e408d8ef0e
rename Frames to ReplayFrames 2022-01-29 23:19:51 +08:00
Nitrous
a8eb3f95df
add readonly modifier 2022-01-29 22:54:17 +08:00
Nitrous
b4e516c535
allow test scenes to specify replays manually 2022-01-29 22:31:24 +08:00
Dan Balasescu
3037a3a769 Purge final spectator frames before ending play 2022-01-28 22:26:05 +09:00
Dean Herbert
778eebc94d Add test coverage of local score import and deletion 2022-01-28 15:50:36 +09:00
Dean Herbert
cb7ae413fe Ensure test game is always active 2022-01-28 15:50:35 +09:00
Dean Herbert
5288eedd31 Update all usages of RulesetID and Ruleset.ID to use Ruleset.OnlineID 2022-01-27 15:38:03 +09:00
Salman Ahmed
7f34085baa Mark EditorSavingTestScene as abstract 2022-01-26 17:04:30 +03:00
Salman Ahmed
064468faad Refactor editor saving test scene for scalability 2022-01-26 07:57:46 +03:00
Salman Ahmed
a93873e8ca Recreate test beatmap of EditorTestScene on set up 2022-01-25 13:03:27 +03:00
Dean Herbert
3e5c9e8436 Fix cases of Access instead of Realm 2022-01-25 12:58:15 +09:00
Dean Herbert
6eb2c28e41 Rename RealmContextFactory to RealmAccess 2022-01-24 20:38:07 +09:00
Dean Herbert
e22aea0613 Apply same fix to OsuGameTestScene 2022-01-24 17:05:49 +09:00
Dean Herbert
1e483ece32 Avoid adding "exit all screens" step when running tests interactively 2022-01-24 16:40:16 +09:00
Dean Herbert
02baad30d7 Merge branch 'master' into global-bindable-thread-safety 2022-01-18 18:12:00 +09:00
Dan Balasescu
73a1f27ce5
Merge branch 'master' into realm-integration/score-and-beatmaps 2022-01-18 17:31:37 +09:00
Dean Herbert
488f044924 Remove one more outdated comment 2022-01-18 16:46:14 +09:00
Dean Herbert
d26f4d50bd Add test coverage of aggregate room scores displaying correctly 2022-01-18 14:00:12 +09:00
Dean Herbert
da9a60a695 Update broken test scenes to match new OsuTestScene logic 2022-01-18 13:41:50 +09:00
Dean Herbert
b9aae5569f Fix OsuTestScene potentially mutating global bindables 2022-01-18 13:29:24 +09:00
Bartłomiej Dach
03e4ec4214
Merge branch 'master' into realm-integration/score-and-beatmaps 2022-01-15 14:45:42 +01:00
Susko3
19467e58c1 Remove unused params from BDL methods 2022-01-15 01:06:39 +01:00
Dean Herbert
e558fd69d2 Remove unnecessary null check and associated comment 2022-01-14 23:26:29 +09:00
Dean Herbert
b7ee6d1866 Add protections against test null refs when beatmap load fails 2022-01-12 17:49:11 +09:00
Dean Herbert
e74a5022c9 Fix multiple tests via null checks and changing ToLive to Detach
flow
2022-01-12 17:00:17 +09:00
Dean Herbert
33060990b7 Temporarily disable WorkingBeatmapCache and fix multiple invalid data flows 2022-01-12 17:00:16 +09:00
Dean Herbert
00e3af3366 Update model manager and many related classes to get things compiling again 2022-01-12 17:00:00 +09:00
Dean Herbert
b8cd3cdbbc Various updates to ruleset and primary key usages to move closer to realm support 2022-01-12 16:57:13 +09:00
Dean Herbert
89d6ffa7f3 Use RealmContextFactory instead of EF 2022-01-12 16:39:36 +09:00
Dean Herbert
031a40af6a Replace usages of Wait with WaitSafely 2022-01-04 11:51:41 +09:00
Dean Herbert
83a1d39f80
Merge pull request #16231 from bdach/ruleset-config-cache-overwriting-3
Fix ruleset config cache potentially not working correctly in test contexts
2021-12-24 17:18:42 +09:00
Dean Herbert
ce4389576f
Merge branch 'master' into fix-incorrect-reference 2021-12-24 10:03:11 +09:00
Bartłomiej Dach
c429c74d89
Expose and use test ruleset config cache in test scenes 2021-12-23 19:42:26 +01:00
Bartłomiej Dach
77da1e12d5
Add test implementation of the ruleset config cache 2021-12-23 19:40:55 +01:00
Dan Balasescu
998b07db90 Fix TestMultiplayerClient referencing the wrong room 2021-12-23 19:14:09 +09:00
Bartłomiej Dach
1040590844
Add cancellation support to game-side IResourceStores 2021-12-23 10:33:17 +01:00
Dean Herbert
9aff646ff4 Centralise all multiplayer button clicking test logic
This adds the "wait for enabled" check in a way that can be easily
reused, as it keeps getting missed in test implementations.

This particular commit hopefully fixes
https://github.com/ppy/osu/runs/4583845033?check_suite_focus=true.
2021-12-21 13:49:51 +09:00
Dean Herbert
6907a9a3cc Name some screen stacks for better logging context 2021-12-20 18:24:14 +09:00
Dan Balasescu
9316abc278 Better fix for intermittent multiplayer tests 2021-12-20 13:10:13 +09:00
Bartłomiej Dach
54790bb758
Merge branch 'master' into fix-realm-post-storage-migration-failure 2021-12-17 00:19:46 +01:00
Dean Herbert
33cf4ba7f6
Merge pull request #16075 from smoogipoo/prevent-idle-transition-during-load
Add AbortGameplay() to fix state transition race conditions during multiplayer load
2021-12-15 19:59:19 +09:00
Dan Balasescu
9ade8069a1 Rename to AbortGameplay() and handle additional states 2021-12-15 06:40:28 +09:00
Dean Herbert
f9a2db5ec6 Add accessibility to realm factory via IStorageResourceProvider
We might need to rename this class..
2021-12-14 14:19:49 +09:00
Dan Balasescu
750bfae909 Fix TestMultiplayerClient not handling all users bailing from gameplay 2021-12-14 11:35:56 +09:00
Dan Balasescu
2f1dc91211 Add AbortLoad() method to abort gameplay loads 2021-12-14 11:30:42 +09:00
Dan Balasescu
6057037e35 Move playlist item beatmap population to MatchSubScreen 2021-12-10 20:08:59 +09:00
Dan Balasescu
de0f37b08d Separate editing and adding playlist items 2021-12-10 15:26:48 +09:00
Dan Balasescu
4d1c06c061 Add support for host enqueueing in TestMultiplayerClient 2021-12-10 01:03:36 +09:00
Dan Balasescu
80b2768a5f Mirror recent server-side changes 2021-12-09 04:18:54 +09:00
Dan Balasescu
4df2047a58 Prevent removal of expired items in TestMultiplayerClient 2021-12-09 04:12:24 +09:00
Dan Balasescu
c34c580ad4 Add client-side + interface implementation 2021-12-09 03:08:59 +09:00
Dan Balasescu
52230a6f00
Merge branch 'master' into multiplayer-delayed-playlist-load-broken 2021-12-07 22:45:05 +09:00
Dan Balasescu
d5cdb1bb87 Update test multiplayer client implementation 2021-12-07 00:01:07 +09:00
Dan Balasescu
991becdfa7
Merge branch 'master' into realm-integration/skins-rebase 2021-12-06 16:34:31 +09:00
Dean Herbert
452fa93444 Merge branch 'master' into realm-integration/skins-rebase 2021-12-06 15:21:02 +09:00
Dan Balasescu
fae41b2182 Remove one more piece of code 2021-12-06 15:17:33 +09:00
Dan Balasescu
5be74af8fe Update addItem() implementation 2021-12-06 15:09:06 +09:00
Dan Balasescu
85d3b70d8c Update test multiplayer client to match server-side 2021-12-04 22:34:38 +09:00
Dan Balasescu
d5803e541b Give playlist items a PlayedAt date 2021-12-03 20:25:51 +09:00
Dan Balasescu
9d6fe558c2 Update TestMultiplayerClient with expired item ordering 2021-12-03 17:01:33 +09:00
Dan Balasescu
0a1304b92a Remove gameplay_order, use existing playlist_order 2021-12-03 15:45:13 +09:00
Dan Balasescu
806ca5d4de Update TestMultiplayerClient implementation to match server 2021-12-02 22:58:12 +09:00
Dan Balasescu
c00684a2f7
Merge branch 'master' into new-multiplayer-playlist 2021-12-02 16:19:34 +09:00
Dean Herbert
bdddaba352 Remove unnecessary test request handling 2021-12-02 14:33:56 +09:00
Dean Herbert
65f0a80c97 Merge branch 'master' into realm-integration/skins-rebase 2021-12-02 13:37:20 +09:00
Dean Herbert
caa88950da
Merge pull request #15889 from smoogipoo/fix-multi-test-ids
Fix testable online IDs starting at 0
2021-12-01 22:51:24 +09:00
Dan Balasescu
89c47708a1 Merge branch 'master' into new-multiplayer-playlist 2021-12-01 21:35:23 +09:00
Dan Balasescu
fc8c8685b8 Add playlist queue tests 2021-12-01 21:35:22 +09:00
Dan Balasescu
7224f6bac5 Fix testable online IDs starting at 0 2021-12-01 20:00:31 +09:00
Dean Herbert
0fae10500a Fix failing tests 2021-11-30 20:09:45 +09:00
Dean Herbert
01bc330d1c Rename method to match new purpose 2021-11-30 19:42:46 +09:00
Dean Herbert
f58c5cd9c0 Update MultiplayerClient to use BeatmapLookupCache 2021-11-30 19:36:25 +09:00
Dean Herbert
23146d59d1 Use ILive for current skin 2021-11-29 18:28:25 +09:00
Dan Balasescu
e9a19aacd7 Fix tests by requiring host 2021-11-26 17:23:50 +09:00
Dan Balasescu
7c91cd674e Update test classes to set owner ids 2021-11-25 22:17:18 +09:00
Dean Herbert
183b95cbc2 Rename BeatmapSetOnlineStatus to BeatmapOnlineStatus
This variable is used at more than just a set level.
2021-11-24 18:42:49 +09:00
Dean Herbert
8c60f37508 Fix cases of dynamically assigning Beatmaps to BeatmapSetInfo using list assignment 2021-11-24 13:27:37 +09:00
Dean Herbert
049f25a133
Merge pull request #15757 from smoogipoo/fix-multiplayer-tests
Fix several intermittent multiplayer test failures
2021-11-24 09:32:01 +09:00
Dan Balasescu
69a9fc9732 Fix a few more multiplayer test timeouts
These can be tested by adding a `Task.Delay(3000);` at the end of the
`MultiplayerClient.JoinRoom` task. The reason is typically that
`Client.Room` becomes not-null but the join task still hasn't completed
yet, so e.g. the ready button is still disabled.
2021-11-23 16:07:03 +09:00
Dean Herbert
473f6b0347 Add more xmldoc 2021-11-23 14:17:24 +09:00
Dean Herbert
55f7d120e6 Rename and reorder fields in OsuTestScene 2021-11-23 14:13:14 +09:00
Dean Herbert
5631e75f16 Restructure how the headless storage is used / documented to hopefully make more sense 2021-11-23 14:11:27 +09:00
Dean Herbert
49e2a8afa3 Don't directly reset the database when running tests
The containing storage is destroyed anyway, so this is redundant.
2021-11-23 14:08:04 +09:00
Dan Balasescu
f3ba62d2c2 Add xmldoc to serverSidePlaylist 2021-11-22 11:26:41 +09:00
Dan Balasescu
10dc08a855 Store server-side playlist instead of mutating client-side version 2021-11-22 11:18:21 +09:00
Dan Balasescu
6420971660 Adjust test client with new queue-changing logic 2021-11-22 11:10:10 +09:00
Dan Balasescu
4c8c34b43f Use full name for round robin 2021-11-19 18:42:34 +09:00
Dan Balasescu
4e625b78e2 Update queue mode names 2021-11-19 18:28:43 +09:00
Dean Herbert
0c289bf8e5 Remove pointless namespace 2021-11-19 14:46:53 +09:00
Dan Balasescu
29d0d5badf Rename QueueModes -> QueueMode 2021-11-16 14:53:10 +09:00
Dan Balasescu
41e46f158f Fix tests following playlist changes
Also more closely follows the server implementation.
2021-11-16 14:37:33 +09:00
Dan Balasescu
9076519710 Give MultiplayerRoom a playlist, remove RequestAllPlaylistItems() 2021-11-16 14:13:43 +09:00
Dan Balasescu
f0593115b2 Remove RemovePlaylistItem() server method for the time being 2021-11-16 12:08:53 +09:00
Dan Balasescu
f743a3647f Rename APIPlaylistItem -> MultiplayerPlaylistItem 2021-11-15 23:14:27 +09:00
Dan Balasescu
ce47f456ec Change API for retrieving playlist items on join 2021-11-13 04:42:14 +09:00
Dan Balasescu
4aaf412ac9 Ensure one non-expired item when switching to host-only 2021-11-13 03:35:41 +09:00
Dan Balasescu
dbc23e224f Fix further test failures 2021-11-13 03:34:45 +09:00
Dan Balasescu
e31d7e8ad7 Fix new failing test 2021-11-13 02:32:20 +09:00
Dan Balasescu
867403d947 Update TestMultiplayerClient to be more in line with server 2021-11-13 01:42:54 +09:00
Dan Balasescu
3b24ec3643 Merge branch 'master' into multi-queueing-modes 2021-11-12 22:16:04 +09:00
Dean Herbert
692e846acd Rename BeatmapSetInfo.OnlineBeatmapSetID to OnlineID to match interface 2021-11-12 17:52:44 +09:00
Dean Herbert
6a098a8634 Rename BeatmapInfo.OnlineBeatmapID to OnlineID to match interface 2021-11-12 17:46:24 +09:00
Dan Balasescu
5c8c121446 Update behaviour to match server (removing playlist items) + tests 2021-11-11 23:39:15 +09:00
Dan Balasescu
07a7b4bcdc Merge branch 'master' into multi-queueing-modes 2021-11-11 22:19:30 +09:00
Dan Balasescu
4db2ad1cb3
Merge branch 'master' into rename-ef-model-properties 2021-11-11 19:12:54 +09:00
Dean Herbert
51a353e12d Rename BeatmapInfo.Version to DifficultyName to match underlying interface 2021-11-11 17:20:53 +09:00
Dean Herbert
ebe58cee11 Rename BeatmapInfo.StarDifficulty to StarRating to match underlying interface 2021-11-11 17:19:46 +09:00
Bartłomiej Dach
f38d6ef8db
Add failing test steps 2021-11-11 09:01:50 +01:00
Dan Balasescu
c51cb62315 Adjust TestMultiplayerClient for correctness 2021-11-10 21:31:13 +09:00
Dan Balasescu
78793d8624 Update interface to remove items 2021-11-10 19:58:25 +09:00
smoogipoo
35a5182ebf Merge branch 'master' into multi-queueing-modes 2021-11-10 15:01:13 +09:00
Dean Herbert
3b485b5f37 Rewrite PreviewTrackManager to avoid constructing TrackBass locally
This paves the way for the framework code quality change
(https://github.com/ppy/osu-framework/pull/4873) which stops exposing
the constructor.

Most of the restructuring here is required to give `PreviewTrackManager`
an adjustable target to apply the global mute.
2021-11-09 17:38:12 +09:00
smoogipoo
c716051530 Merge branch 'master' into multi-queueing-modes 2021-11-08 19:19:50 +09:00
smoogipoo
e6deb0c873 Merge branch 'master' into multi-queueing-modes 2021-11-05 15:57:25 +09:00