1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-24 05:42:55 +08:00
Commit Graph

961 Commits

Author SHA1 Message Date
smoogipoo
e6deb0c873 Merge branch 'master' into multi-queueing-modes 2021-11-05 15:57:25 +09:00
Dean Herbert
ed07ee8c61 Update all existing usages of AuthorString/AuthorId
Unfortunately the getters need to be left in place else EF breaks.
2021-11-04 18:59:37 +09:00
Dean Herbert
b9983add15 Rename User to APIUser and move to correct namespace 2021-11-04 18:21:31 +09:00
Dean Herbert
8f459e6ce8 Fix APIBeatmapSet.Beatmaps being IEnumerable, causing stupid issues 2021-11-04 16:44:17 +09:00
Dean Herbert
9c926e5514 Remove BeatmapSetInfo.OnlineInfo and all usages 2021-11-04 15:23:04 +09:00
Dean Herbert
66f4516eee Allow creating sample API models without specifying a ruleset 2021-11-04 15:23:04 +09:00
Dean Herbert
e3a9fbecfe Add method to create sample APIBeatmap (with BeatmapSet populated) 2021-11-04 15:23:04 +09:00
Dean Herbert
3453160a8b Change PlaylistItem.Beatmap to be an IBeatmapInfo 2021-11-04 13:16:56 +09:00
Dean Herbert
1bfa1365a0 Rename "null user" tests to better explain purpose 2021-11-02 17:13:37 +09:00
smoogipoo
f076b72fbe Merge branch 'master' into multi-queueing-modes 2021-10-29 10:48:16 +09:00
smoogipoo
2b3e63470d Merge branch 'master' into always-unique-test-online-ids 2021-10-28 18:23:45 +09:00
Dean Herbert
d8d4839e43
Merge pull request #15339 from smoogipoo/fix-test-crash
Fix playlists room creation test crash
2021-10-28 17:28:46 +09:00
Dean Herbert
b096bf6cd1 Ensure all test beatmaps have unique OnlineIDs to avoid import conflicts
The order of operation of imports means that the already-imported
instances are considered most correct (they have usually been populated
using an online source, although that is skipped in tests), so on two
consecutive test imports in a test scene, the second will lose its
online IDs completely.

This aims to ensure that all test beatmaps will have online IDs, which
is the general expected behaviour.
2021-10-28 16:56:31 +09:00
smoogipoo
bacaa9d201 Fix playlists test crash 2021-10-28 16:48:17 +09:00
smoogipoo
0e293471c2 Clean up multiplayer-screen tests by removing intermediate screen 2021-10-28 14:29:49 +09:00
Dean Herbert
aaabaaa5dd
Merge pull request #15320 from smoogipoo/fix-online-play-request-handling
Fix online play request handling in tests
2021-10-28 14:24:00 +09:00
Dean Herbert
add39fbd4f Merge branch 'master' into fix-skin-layout-editor-crash 2021-10-28 06:24:24 +09:00
smoogipoo
f3dba49aae Rename room managers 2021-10-27 19:36:32 +09:00
smoogipoo
85b21174dd Fix online play test request handling 2021-10-27 14:49:50 +09:00
Dean Herbert
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
Dan Balasescu
f687ed8599
Merge pull request #15283 from peppy/test-api-beatmap-set
Add ability to make test `APIBeatmapSet`s from test scenes
2021-10-26 15:34:19 +09:00
Dean Herbert
20baae9094 Move online metrics out of BeatmapInfo model 2021-10-25 15:32:18 +09:00
Dean Herbert
19312435d0 Add ability to make test APIBeatmaps from test scenes
Allow tests to create a sample `APIBeatmapSet`

One step towards removing calls to `ToBeatmap` / `ToBeatmapSet`.
2021-10-25 14:18:13 +09:00
Dean Herbert
26cf5370c3 Remove unused reader parameter 2021-10-24 23:48:46 +09:00
smoogipoo
a4397ee68c Add playlist continuation flow 2021-10-22 22:07:41 +09:00
smoogipoo
1b4be61ed1 Fix finished-play state not handled correctly 2021-10-22 21:16:10 +09:00
smoogipoo
4e6a02bde9 Fix missing QueueMode copies 2021-10-22 20:14:04 +09:00
smoogipoo
db87e42d47 Remove beatmap/ruleset/etc from MultiplayerRoomSettings 2021-10-22 16:48:28 +09:00
Dean Herbert
0706ad70fb Move BeatmapSetOnlineInfo to an interface type 2021-10-21 16:58:42 +09:00
Dean Herbert
30c3fcb4ea Merge branch 'master' into slider-timeline-velcotiy-adjust-v2 2021-10-15 19:45:04 +09:00
smoogipoo
eed8fa8d69 Expand comment a bit 2021-10-15 00:20:45 +09:00
smoogipoo
e6ee360511 Fix intermittent multiplayer tests 2021-10-15 00:10:39 +09:00
smoogipoo
901f107b2e Merge branch 'master' into slider-timeline-velcotiy-adjust-v2 2021-10-14 17:25:51 +09:00
Dean Herbert
f69a56a26a Add test coverage of startup import sequence 2021-10-13 12:19:10 +09:00
Bartłomiej Dach
b79cf0b58b Add failing coverage for conversion not altering original beatmap 2021-10-12 16:43:56 +09:00
Dan Balasescu
bece807857
Merge pull request #14980 from peppy/difficulty-move-to-beatmap
Copy `BaseDifficulty` to `Beatmap<T>` and move the majority of write operations across
2021-10-07 18:43:44 +09:00
Dean Herbert
7dd7d35fc8 Remove unnecessary difficulty copy operation 2021-10-07 17:19:34 +09:00
Dean Herbert
d0001f760d Group applicable comment above new addition 2021-10-07 16:50:05 +09:00
Dean Herbert
290c9755e2 Always use circles intro for OsuGame tests
The triangles intro tracks video time, which is not adjusted based on
the game's playback rate (ie. it runs in realtime even for headless
tests).

Maybe we want to make the triangles video adjust its rate along with
tests?
2021-10-07 15:55:29 +09:00
Dean Herbert
a57b080f10 Avoid showing the disclaimer in game tests
No real performance gain, but this is handy to bypass when actually
using one of these tests to test something.
2021-10-07 15:55:15 +09:00
Dean Herbert
4ca97bc60a
Merge branch 'master' into difficulty-move-to-beatmap 2021-10-06 16:14:21 +09:00
Dean Herbert
b339c149d8 Copy BaseDifficulty to Beatmap<T> and move all write operations across 2021-10-06 15:10:45 +09:00
Dean Herbert
90fdaf18c0 Fix PushAndConfirm potentially failing if new screen quickly pushes a child screen 2021-10-06 12:55:04 +09:00
Dean Herbert
1f6a31355c
Remove unused using statement
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-10-06 05:30:49 +09:00
Dean Herbert
e6efdae7c9 Add various logging output in an atttempt to figure multiplayer test failure 2021-10-05 18:53:20 +09:00
Dean Herbert
853cf6feaa Rename last remaining BeatmapInfo Beatmap usage 2021-10-04 17:35:53 +09:00
smoogipoo
69c2b7dc59 Merge branch 'master' into rename-beatmap-info-beatmap-fields 2021-10-04 16:03:22 +09:00
Dan Balasescu
aa1bfc16d2
Merge pull request #14929 from peppy/gameplay-state
Replace `GameplayBeatmap` with `GameplayState`
2021-10-04 15:56:44 +09:00
Dean Herbert
ec61c3c5ee Rename all remaining cases 2021-10-03 00:55:29 +09:00
Dean Herbert
32afd3f426 Replace all basic usages 2021-10-02 02:22:23 +09:00
Dean Herbert
ac471a0ec1 Merge branch 'no-more-difficulty-control-points-info' into slider-timeline-velcotiy-adjust-v2 2021-10-01 17:46:58 +09:00
Dean Herbert
3e3b9bc963 Split out IModelDownloader and also split apart ScoreManager 2021-09-30 18:25:20 +09:00
Dean Herbert
90225f2082 Hook up all required interfaces to new BeatmapManager 2021-09-30 17:18:39 +09:00
Dean Herbert
46bafb6252 Merge branch 'master' into no-more-difficulty-control-points-info 2021-09-28 13:53:56 +09:00
Dean Herbert
b399f910e4 Merge branch 'fix-osu-game-test-scene' into update-framework 2021-09-16 22:46:52 +09:00
Dean Herbert
13f88cbc4e Fix EditorClock retaining a reference to potentially outdated ControlPointInfo 2021-09-14 23:56:57 +09:00
smoogipoo
3df4cbca2c Reduce precision of difficulty calculator tests 2021-09-14 13:45:10 +09:00
Dean Herbert
d999c29d3a Remove unused GameHost DI in OsuGameTestScene 2021-09-13 19:38:43 +09:00
Dean Herbert
aa71e3f3d4 Update nested game tests in line with framework changes 2021-09-13 19:04:13 +09:00
Bartłomiej Dach
22fa9a303e
Expose test helper for switching between difficulties 2021-09-12 13:55:48 +02:00
Bartłomiej Dach
f8a681d810
Delegate Editor{Beatmap,Clock} to Editor directly 2021-09-12 13:40:06 +02:00
Bartłomiej Dach
8357efc74f
Make EditorTestScene go through EditorLoader 2021-09-12 13:26:04 +02:00
Dean Herbert
cf633973a9 Refactor exposed mod retrieval methods for better safety 2021-09-10 11:09:13 +09:00
Dean Herbert
1c3c32b724 Add test ensuring converter doesn't modify original beatmap 2021-09-10 00:00:12 +09:00
Dean Herbert
2edb851008 Add ability to lookup mod from a type specification 2021-09-09 16:50:59 +09:00
Dean Herbert
2a5b857f10 Avoid loading unnecessary fonts in headless testing 2021-09-07 00:45:53 +09:00
Bartłomiej Dach
2efe82a18d
Remove popover container from manual input manager test scene 2021-08-28 20:20:42 +02:00
Dan Balasescu
0aea39f5f1
Merge branch 'master' into temporary-directory-test-storage 2021-08-20 20:41:54 +09:00
Salman Ahmed
5fc29328cf Remove unused using
Uh.....
2021-08-19 06:30:23 +03:00
Salman Ahmed
49bc3a8250 Refactor playlists room manager to handle dummy API requests 2021-08-19 06:25:47 +03:00
Salman Ahmed
f4ae587a33 Extract room request handling logic to its own class 2021-08-19 06:24:06 +03:00
Dean Herbert
4725b802b0 Share OsuGameTestScene with implementations across template projects 2021-08-18 16:53:32 +09:00
Dean Herbert
2758a83d55 Fix TestSettingsMigration's usage of RecycleLocalStorage 2021-08-18 16:39:10 +09:00
Dean Herbert
dc44cc0eb3 Update scenarios to use new TestRunHeadlessGameHost where feasible 2021-08-18 16:01:56 +09:00
smoogipoo
f2340c6dac Privatise mutable list 2021-08-17 09:48:33 +09:00
smoogipoo
b672d4b936 Refactor RequestHandlingMultiplayerRoomManager to avoid confusion 2021-08-17 09:43:37 +09:00
smoogipoo
c4a42c4db0 Fix BasicTestRoomManager overriding rooms 2021-08-17 09:36:59 +09:00
smoogipoo
352949069a Move filter to LoungeSubScreen 2021-08-17 09:36:43 +09:00
smoogipoo
6320768a67 Merge branch 'master' into multi-polling-request-refactor 2021-08-17 08:44:56 +09:00
Dean Herbert
8555a465ac
Merge pull request #14318 from bdach/editor-colours-save
Add support for saving edited combo colours and displaying them in composer
2021-08-16 17:07:53 +09:00
Salman Ahmed
f82ed64aa7 Fix participant panel null user test no longer functioning properly
I guess the changes that involved `MultiplayerTestScene` having a test
user lookup cache caused this test case to false-pass silently.

Added an explicit assert which ensures the added user indeed has a null
`User` value.
2021-08-16 09:07:00 +03:00
smoogipoo
08d347f10b Merge branch 'master' into multi-polling-request-refactor 2021-08-16 13:12:08 +09:00
smoogipoo
76a8d4329f Make TestRoomManager update existing room 2021-08-16 12:43:09 +09:00
Bartłomiej Dach
6108451449
Retrieve separated skin instance from working beatmap for editing 2021-08-15 21:18:09 +02:00
Bartłomiej Dach
7c88a1c6de
Add a way to change custom combo colours via IHasComboColours
`IHasComboColours` was already mutable (via a strange
`AddComboColours()` method) and exposing a straight list is easier to
work with. `IHasCustomColours` is also similarly externally mutable (in
a way which is not easily removable).
2021-08-15 20:06:06 +02:00
Dean Herbert
b8c63eb1cb Merge branch 'master' into multiplayer-kick-support-events 2021-08-14 14:08:34 +09:00
Dean Herbert
e6b3aba6e1 Fix incorrectly directed call in TestMultiplayerClient 2021-08-14 14:08:29 +09:00
smoogipoo
8910781bcd Move listing polling component to LoungeSubScreen 2021-08-13 17:39:09 +09:00
smoogipoo
83703e4283 Add colour provider to online play dependencies 2021-08-12 20:08:14 +09:00
Dan Balasescu
60e988aac3
Merge branch 'master' into multiplayer-kick-support 2021-08-12 11:46:56 +09:00
Dean Herbert
e8ad0fba75 Add required server methods for kicking users 2021-08-11 17:20:41 +09:00
Dean Herbert
ea6e441dec Simplify method of marking players as playing in test scenes 2021-08-09 19:21:22 +09:00
Dean Herbert
551929cf5a Simplify method of marking players as playing in test scenes 2021-08-09 19:18:13 +09:00
Dean Herbert
1e5d9003d3 Add the ability for tests to alter the room and user states which during testing 2021-08-09 16:58:36 +09:00
Dean Herbert
75426f84f1 Fire initial match user states in TestMultiplayerClient 2021-08-03 23:42:37 +09:00
Dean Herbert
9bfb0f1294 Add basic team vs handling to TestMultiplayerClient
Not sure this is the best place to do so... I can foresee this class
getting much larger than we want it to.
2021-08-03 23:42:37 +09:00
Dean Herbert
70da58323a Drop MatchRuleset terminology completely 2021-08-03 15:45:17 +09:00
Dean Herbert
9d1e95caf0 Add flow for sending match ruleset specific messages to the server 2021-08-02 18:47:26 +09:00
Dean Herbert
888954747c Rename class, add commenting and avoid firing requests to create rooms for testing purposes 2021-07-26 15:47:13 +09:00
Dean Herbert
971a67c669 Add failing test coverage for misordered rooms 2021-07-26 13:46:55 +09:00
Dean Herbert
50a2abbe7f
Merge pull request #12683 from frenzibyte/legacy-beatmap-combo-offset
Apply combo offsets "colour hax" only on beatmap skins
2021-07-23 14:30:18 +09:00
Dean Herbert
b65e607941 Add test covering mod displays with too many mods 2021-07-21 16:43:41 +09:00
Salman Ahmed
554652b033 Merge branch 'refactor-combo-colour-retrieval' into legacy-beatmap-combo-offset 2021-07-20 10:11:52 +03:00
Dean Herbert
6cc81c24b4
Merge pull request #13785 from ekrctb/dependency-providing-container
Add a convenient way to provide ad-hoc dependency to children in visual test
2021-07-20 14:18:17 +09:00
smoogipoo
d6aa15e5d7 Remove local APIRoom from test multiplayer client 2021-07-19 20:19:23 +09:00
smoogipoo
a5a0f12e19 Also copy password in test room manager 2021-07-19 20:07:56 +09:00
smoogipoo
26d0eea485 Set HasPassword correctly in the response room 2021-07-19 20:03:32 +09:00
smoogipoo
8c0daa89a0 Make test multiplayer client validate password 2021-07-19 20:03:27 +09:00
smoogipoo
063f14da98 Update test room manager to not return passwords 2021-07-19 20:03:27 +09:00
ekrctb
87c39909c6 Simplify DependencyProvidingContainer
Using an array of tuple for dependencies instead of using children.
2021-07-19 14:37:19 +09:00
Dean Herbert
64cf9b702e Fix incorrec nesting of manual input manager test containers 2021-07-17 17:26:11 +09:00
Dean Herbert
d609839ff6 Fix test not working due to popover container being too global 2021-07-17 15:04:00 +09:00
Dean Herbert
5a2667ae89 Merge branch 'master' into add-password-support 2021-07-13 14:27:59 +09:00
Dan Balasescu
351a46b379
Merge pull request #13823 from ekrctb/catch-editor-tests
Add some tests for catch editor blueprints
2021-07-13 08:27:41 +09:00
Dean Herbert
947460c3c5 Add test flow for joining passworded rooms via UI 2021-07-12 18:25:04 +09:00
Dean Herbert
9f9d7f9125 Add remaining pieces of password flow (for osu-web join request) 2021-07-12 18:22:52 +09:00
Dean Herbert
84b0a3290c Add multiplayer lounge test coverage 2021-07-12 15:49:19 +09:00
Dean Herbert
5148069efe Update signatures in line with no-overload methods (unsupported by signalr) 2021-07-12 15:49:19 +09:00
Salman Ahmed
f21ea3b790 Update player test scene Ruleset bindable from creation method 2021-07-11 03:46:19 +03:00
Dean Herbert
9f7c6adb58 Fix test failures due to logger pollution
As seen at
https://github.com/ppy/osu/pull/13831/checks?check_run_id=3025050307. I
can't confirm that this will fix the issue but it looks like the only
plausible reason. I have confirmed that the logging is not coming from
the local (first logging is guaranteed to be after `SetupForRun`).
2021-07-09 12:15:30 +09:00
ekrctb
4ac7d629d7 Expose current placement blueprint 2021-07-08 16:36:41 +09:00
ekrctb
8da1335e5f Add catch placement blueprint visual test scenes (without tests) 2021-07-08 15:51:46 +09:00
ekrctb
bd4b3f5268 Add catch selection blueprint visual test scene (without tests) 2021-07-08 15:42:29 +09:00
PercyDan54
e1c646b9b2
Remove redundant arguments 2021-07-05 23:52:39 +08:00
ekrctb
d3bb4ddbee Add an ad-hoc way to provide dependency to children 2021-07-05 19:05:49 +09:00
Dean Herbert
74c63e15be Mark score failed on fail and exit 2021-07-01 17:48:09 +09:00
Dean Herbert
5bc970af0d Make TestPlayer inherit from SoloPlayer for more flexibility in testing 2021-07-01 16:55:33 +09:00
smoogipoo
8e04d73b67 Merge branch 'rework-multiplayer-test-scenes' into spectator-start-at-end-2 2021-06-29 17:06:57 +09:00
smoogipoo
bcdf36e77b Merge branch 'master' into spectator-start-at-end-2 2021-06-29 15:53:58 +09:00
smoogipoo
c93c615f5e Also fix up interface names 2021-06-25 20:15:30 +09:00
smoogipoo
1ed61b9b98 Fix up dependencies class names 2021-06-25 20:11:38 +09:00
smoogipoo
a27a647ae7 Rename RoomDependencies -> OnlinePlayDependencies 2021-06-25 18:07:47 +09:00
smoogipoo
04279e7f5c Add some xmldocs 2021-06-25 18:02:53 +09:00
smoogipoo
c0d2b41d4c Move SpectatorClient into multiplayer dependencies 2021-06-25 17:55:16 +09:00
smoogipoo
7aefbe3da1 Move UserLookupCache inside dependencies 2021-06-25 17:37:02 +09:00
smoogipoo
81a812e216 Rework MultiplayerTestScene to make use of OnlinePlayTestScene 2021-06-25 15:00:10 +09:00
smoogipoo
aa5d22d04a Remove "test container", make everything go through OnlinePlayTestScene 2021-06-25 13:02:19 +09:00
smoogipoo
5820793d11 Make TestMultiplayerRoomContainer inherit TestRoomContainer 2021-06-24 21:02:29 +09:00
smoogipoo
9cf2c9ddae Fix incorrect dependency creation 2021-06-24 21:02:21 +09:00
smoogipoo
a21cf87b5f Split room manager and allow overrides 2021-06-24 19:14:05 +09:00
smoogipoo
5115299e9a Merge RoomManagerTestScene into OnlinePlaySubScreenTestScene 2021-06-24 19:09:31 +09:00
smoogipoo
a7b5c3bed1 Add OnlinePlaySubScreenTestScene 2021-06-24 17:01:28 +09:00
smoogipoo
9287fae5f7 Simplify 2021-06-24 16:54:09 +09:00
smoogipoo
4af119a407 Re-namespace 2021-06-24 16:29:06 +09:00
smoogipoo
c9ec4b9da4 Remove RoomTestScene inheritance from simple test scenes 2021-06-24 16:02:20 +09:00
Dean Herbert
151dfdfb79
Merge pull request #13627 from Joehuu/fix-multiplayer-exit-logic
Fix multiplayer leave dialog not working on all exit operations
2021-06-23 14:56:57 +09:00
Joseph Madamba
49000b9501 Add multiplayer leave navigation tests 2021-06-22 19:30:40 -07:00
Salman Ahmed
31cbb36a64 Implement FindProvider and AllSources properly on all test ISkinSources 2021-06-22 12:03:14 +03:00
Salman Ahmed
b12adc6073 Remove all test skinning changes in favour of the ISkinSource.AllSources path 2021-06-22 10:48:03 +03:00
Dean Herbert
0ad189e357 Expose skin sources via ISkinSource and revert to consuming based on hierarchy 2021-06-22 16:19:55 +09:00