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

94 Commits

Author SHA1 Message Date
Bartłomiej Dach
72bf43e297
Add failing test covering exit dialog crash 2023-07-16 16:55:20 +02:00
Dean Herbert
a76037b643 Add test coverage of confirm-for-operations 2023-06-23 15:30:21 +09:00
Bartłomiej Dach
5c1abdc704
Fix screen navigation test hijacking dummy request handler
In an upcoming change, I stumbled upon a test failure mode wherein tests
in `TestSceneScreenNavigation` would die on the following exception:

	2023-05-07 17:58:42 [error]: System.ObjectDisposedException: Cannot access a closed Realm.
	2023-05-07 17:58:42 [error]: Object name: 'Realms.Realm'.
	2023-05-07 17:58:42 [error]: at Realms.Realm.ThrowIfDisposed()
	2023-05-07 17:58:42 [error]: at Realms.Realm.All[T]()
	2023-05-07 17:58:42 [error]: at osu.Game.Beatmaps.BeatmapManager.<>c__DisplayClass25_0.<QueryBeatmap>b__0(Realm r) in D:\a\osu\osu\osu.Game\Beatmaps\BeatmapManager.cs:line 282
	2023-05-07 17:58:42 [error]: at osu.Game.Database.RealmAccess.Run[T](Func`2 action) in D:\a\osu\osu\osu.Game\Database\RealmAccess.cs:line 387
	2023-05-07 17:58:42 [error]: at osu.Game.Beatmaps.BeatmapManager.QueryBeatmap(Expression`1 query) in D:\a\osu\osu\osu.Game\Beatmaps\BeatmapManager.cs:line 282
	2023-05-07 17:58:42 [error]: at osu.Game.Tests.Visual.OnlinePlay.TestRoomRequestsHandler.<HandleRequest>g__createResponseBeatmaps|6_0(Int32[] beatmapIds, <>c__DisplayClass6_0& ) in D:\a\osu\osu\osu.Game\Tests\Visual\OnlinePlay\TestRoomRequestsHandler.cs:line 174
	2023-05-07 17:58:42 [error]: at osu.Game.Tests.Visual.OnlinePlay.TestRoomRequestsHandler.HandleRequest(APIRequest request, APIUser localUser, BeatmapManager beatmapManager) in D:\a\osu\osu\osu.Game\Tests\Visual\OnlinePlay\TestRoomRequestsHandler.cs:line 140
	2023-05-07 17:58:42 [error]: at osu.Game.Tests.Visual.TestMultiplayerComponents.<>c__DisplayClass18_0.<load>b__0(APIRequest request) in D:\a\osu\osu\osu.Game.Tests\Visual\TestMultiplayerComponents.cs:line 80
	2023-05-07 17:58:42 [error]: at osu.Game.Online.API.DummyAPIAccess.<>c__DisplayClass32_0.<Queue>b__0() in D:\a\osu\osu\osu.Game\Online\API\DummyAPIAccess.cs:line 74

Upon closer inspection, one of the tests in the scene instantiates a
`TestMultiplayerComponents` instance. `TestMultiplayerComponents`
registers a custom request handler onto `DummyAPIAccess`. Normally, this
is not an issue; however, because `TestSceneScreenNavigation` is an
`OsuGameTestScene`, and therefore has its storage recycled after every
test, this leads to the error above in the following scenario:

1. `TestPushMatchSubScreenAndPressBackButtonImmediately()` passes.
2. The test is cleaned up, and the test case's storage is recycled,
   including the test case's realm database.
3. In a subsequent test, a web request handled by the dummy API request
   handler is fired. The dummy API request handler subsequently attempts
   to access a realm that does not exist anymore.

As the usage of `TestMultiplayerComponents` is highly unorthodox in this
particular case, I'm opting for a localised fix which ensures that the
request handler is cleaned up appropriately.
2023-06-05 23:15:16 +02:00
Bartłomiej Dach
8514b2758a
Fix rapid back button test failure 2023-05-07 21:07:38 +02:00
Joseph Madamba
845bbf55fe Add failing beatmap listing search on initial open test 2023-01-28 12:10:50 -08:00
Salman Ahmed
13c1b8f5a4 Fix intermittent failure in tests with restarting player instances 2023-01-15 16:06:06 +03:00
Joseph Madamba
5232588a1f Use PerformFromScreen to exit sub screens instead 2022-12-24 20:04:45 -08:00
Joseph Madamba
00ed5d6f92 Merge remote-tracking branch 'upstream/master' into fix-op-non-current-onexiting 2022-12-24 14:01:11 -08:00
Dean Herbert
57048f0eba Add test coverage of featured artist filter confirmation process 2022-12-15 18:42:58 +09:00
Dan Balasescu
7bc8908ca9 Partial everything 2022-11-27 00:00:27 +09:00
Salman Ahmed
82829867db Fix beatmap options test failure due to no beatmap being selected 2022-11-18 07:07:56 +03:00
Salman Ahmed
3909e5730e
Rename test steps
Co-authored-by: Joseph Madamba <madamba.joehu@outlook.com>
2022-11-09 21:33:28 +03:00
Dean Herbert
4c15794694 Add test coverage of overlay interplay 2022-11-08 14:58:57 +09:00
Joseph Madamba
320c4abb66 Add failing online play non-current sub screen onexiting test 2022-07-31 20:13:06 -07:00
Dean Herbert
0a2265b0e8 Add test coverage of playlist exit confirmation 2022-07-29 17:11:37 +09:00
Dean Herbert
ad482b8afc Tidy up naming of collection dropdowns 2022-07-28 13:57:21 +09:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Dean Herbert
df9174ec00 Remove import popup dialog from song select
This has been replaced in spirit by the first run overlay.
2022-06-07 16:45:27 +09:00
Bartłomiej Dach
4cf8df1628
Fix test inteference from TestOverlayClosing 2022-05-23 23:58:12 +02:00
Bartłomiej Dach
14f14b4311
Add failing test case for back button behaviour in song select 2022-05-23 23:37:05 +02:00
Bartłomiej Dach
76c63f1d0a
Rename ModSelect{Screen -> Overlay} in place of removed old design 2022-05-10 22:56:50 +02:00
Joseph Madamba
bc839be4d8 Add failing rapid back button exit test 2022-05-08 14:40:29 -07:00
Bartłomiej Dach
a2ab79620a
Update song select exit via click test to match new expectations 2022-05-05 22:16:57 +02:00
Bartłomiej Dach
407db7ff9d
Replace old mod select overlay with new design 2022-05-05 22:16:54 +02:00
Salman Ahmed
6ab188f8f9 Split skin editor scene library test to own file
Rather than stuffing more random cases to `TestSceneScreenNavigation`.
2022-04-23 23:15:45 +03:00
Salman Ahmed
daadc3fc21 Simplfiy and share notification dimsiss method across test scenes
Might as well inline, but I feel like it will require adding the same
comment across all usages, because just `State.Value = Hidden` in an
until step feels off, dunno.
2022-04-23 23:14:19 +03:00
Dean Herbert
e315313266 Split out IDialogOverlay to allow for easier testing 2022-04-18 18:36:26 +09:00
Dan Balasescu
1ffa1e1219
Merge pull request #17400 from nagilson/screen-mod-retention
Fix mods from single player carrying over to multiplayer
2022-03-23 08:36:15 +09:00
Bartłomiej Dach
c8d48f89e8
Remove unnecessary local 2022-03-22 19:13:22 +01:00
Bartłomiej Dach
94c5207f36
Fix test not actually testing desired scenario anymore
The test was checking the test scene's own `SelectedMods` bindable
rather than the multiplayer screen's, and the former was never actually
being mutated by anything. Therefore the case would pass even on
`master` with the fix reverted.
2022-03-22 19:04:32 +01:00
Dean Herbert
804e856160 Move and refactor test in line with functionality changes 2022-03-22 17:38:43 +09:00
Dean Herbert
3643f879e4 Add test coverage of skin editor settings slider not working via keyboard adjustments 2022-03-21 17:33:56 +09:00
Dean Herbert
d5eca16b69 Fix potential test failures due to slow realm refresh in TestSceneScreenNavigation
As seen at https://github.com/ppy/osu/runs/5492345983?check_suite_focus=true.
2022-03-10 18:10:08 +09:00
Dan Balasescu
483977d5c8 Merge branch 'master' into spectator-state-rework 2022-02-03 19:59:07 +09:00
Dean Herbert
6355ac6663 Wait for DialogOverlay load in more tests
Apparently the previous fix was not enough as this can still be seen
failing
(https://github.com/ppy/osu/runs/5046718623?check_suite_focus=true).

This change is copying from what other tests use seemingly reliably,
such as `TestScenePerformFromScreen`)
2022-02-03 15:10:08 +09:00
Dan Balasescu
781cb9f18d Move HasPassed/HasFailed into GameplayState 2022-02-01 14:46:24 +09:00
Dean Herbert
9001c3a396 Fix test failures if DialogOverlay is not loaded in time
As seen at https://github.com/ppy/osu/runs/4999391205?check_suite_focus=true, where `DialogOverlay` hasn't loaded in single file yet.
2022-01-31 15:17:07 +09:00
Dean Herbert
2453bf5ed0 Add test coverage of the same thing but via "clear all scores" button 2022-01-28 15:54:53 +09:00
Dean Herbert
778eebc94d Add test coverage of local score import and deletion 2022-01-28 15:50:36 +09:00
Dean Herbert
4f8d29c1c0 Merge branch 'master' into realm-integration/score-and-beatmaps 2022-01-13 18:25:09 +09:00
Dan Balasescu
672c1d36dc Fix intermitten screen navigation tests 2022-01-13 05:52:04 +09:00
Dean Herbert
31a3161189 Make tests compile again 2022-01-12 17:00:16 +09:00
Dean Herbert
031a40af6a Replace usages of Wait with WaitSafely 2022-01-04 11:51:41 +09:00
Dean Herbert
967419c9ac Remove BeatmapSetInfo and Metadata from interface
There were very few accesses to this, and after realm they should all be
done via the `BeatmapInfo`, so let's remove this.
2021-12-22 18:17:00 +09:00
Dean Herbert
ec0a6735eb Rename TestMultiplayerScreenStack to TestMultiplayerComponents 2021-12-20 18:24:59 +09:00
Dan Balasescu
09dd054283 Fix SongSelect-related test failures 2021-11-25 21:11:13 +09:00
Dean Herbert
f283770f34 Update mock RulesetInfo usage to set OnlineID instead of ID 2021-11-24 15:50:26 +09:00
Dean Herbert
7c2e79f911 Update all simple cases of switching to IWorkingBeatmap 2021-11-17 20:56:57 +09:00
smoogipoo
0e293471c2 Clean up multiplayer-screen tests by removing intermediate screen 2021-10-28 14:29:49 +09:00
Bartłomiej Dach
798349243f
Cache test request handler in screen navigation test 2021-10-27 20:38:52 +02:00