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

52945 Commits

Author SHA1 Message Date
Dan Balasescu
b64c0d011c Isolate client's Room from TestMultiplayerClient 2022-07-01 19:23:25 +09:00
Dan Balasescu
0be858b5bf Rename APIRoom -> ClientAPIRoom, remove unused asserts 2022-07-01 19:21:59 +09:00
Dan Balasescu
1c2ffb3bc4 Fix server-side objects being sent to client 2022-07-01 19:21:53 +09:00
Dan Balasescu
ee963f8aa7
Merge pull request #18964 from peppy/fix-beatmap-leaderboard-null
Fix potential crash in `BeatmapLeaderboard` during rapid refresh operations
2022-07-01 17:01:57 +09:00
Dean Herbert
58e25a3a01 Fix potential crash in BeatmapLeaderboard during rapid refresh operations 2022-07-01 15:42:35 +09:00
Dan Balasescu
409224560f
Merge pull request #18874 from peppy/realm-fix-async-write-after-disposal
Ensure all async writes are completed before realm is disposed
2022-07-01 15:29:01 +09:00
Dan Balasescu
42d56aa640
Merge pull request #18958 from andy840119/remove-nullable-disable-in-the-extension
Remove nullable disable annotation in the extension namespace.
2022-07-01 13:52:12 +09:00
Dan Balasescu
e9e1537d8a
Merge pull request #18957 from andy840119/remove-nullable-disable-in-the-utils
Remove nullable disable annotation in the utils namespace.
2022-07-01 13:50:46 +09:00
andy840119
48047f2e58 Move the null check in the outside.
AddCursor() should not accept the null value.
2022-06-30 23:29:49 +08:00
andy840119
a5b1f1a688 mark the string as nullable. 2022-06-30 23:23:14 +08:00
andy840119
26de34da84 Remove the nullable disable annotation. 2022-06-30 23:20:40 +08:00
andy840119
d94f700ab1 Remove the nullable disable annotate in the test project. 2022-06-30 23:06:49 +08:00
andy840119
e50e0f7339 Remove the nullable disable annotate. 2022-06-30 23:05:09 +08:00
Dan Balasescu
205de4f234
Merge pull request #18955 from peppy/fix-multiplayer-finalise-selection-fails
Fix various multiplayer test failures due to not waiting for ongoing operation
2022-06-30 21:06:57 +09:00
Dean Herbert
447b496eff
Merge branch 'master' into realm-fix-async-write-after-disposal 2022-06-30 19:07:15 +09:00
Dean Herbert
84ecd524c8 Move wait steps upwards 2022-06-30 17:58:43 +09:00
Dean Herbert
7ab8335935 Fix various multiplayer test failures due to not waiting for ongoing operation
As seen at
https://teamcity.ppy.sh/buildConfiguration/Osu_Build/1138?hideProblemsFromDependencies=false&hideTestsFromDependencies=false&expandBuildChangesSection=true&expandBuildTestsSection=true.
2022-06-30 17:42:45 +09:00
Dan Balasescu
5a346edc63
Merge pull request #18951 from peppy/fix-realm-missing-transaction-rollback
Fix `PerformWrite` not rolling back transaction on exception
2022-06-30 17:17:56 +09:00
Dan Balasescu
b0dc9f7c2d
Merge pull request #18953 from peppy/fix-realm-test-cleanup-too-early
Fix directory cleanup occurring too early during realm tests
2022-06-30 16:58:22 +09:00
Dean Herbert
10934450cc Fix directory cleanup occurring too early during realm tests 2022-06-30 16:02:46 +09:00
Dean Herbert
356c0501ec Guard again potential nulls in RealmNamedFileUsage
Hopefully help in figuring out https://sentry.ppy.sh/organizations/ppy/issues/3679/?project=2&query=user%3A%22id%3A10078484%22
2022-06-30 15:40:57 +09:00
Dean Herbert
78d86fd3ff Fix PerformWrite not rolling back transaction on exception 2022-06-30 15:15:09 +09:00
Dean Herbert
0abb400f64 Add reproduction of transaction not being exited correctly 2022-06-30 15:15:09 +09:00
Dean Herbert
e89f220e9a
Merge pull request #18949 from smoogipoo/fix-flaky-star-display-test
Ensure PlaylistItem's beatmap is not null
2022-06-30 15:15:06 +09:00
Dean Herbert
398bf13076
Merge pull request #18948 from smoogipoo/legacy-mod-combined-mod-conversion
Fix converting "inherited" mods to legacy mods
2022-06-30 14:33:37 +09:00
Dan Balasescu
c6520de749 Ensure PlaylistItem beatmap is not null 2022-06-30 14:24:49 +09:00
Dean Herbert
bca38cc6c8
Merge pull request #18947 from smoogipoo/fix-flaky-autoplay-test
Attempt to fix flaky TestSceneAutoplay test
2022-06-30 12:50:19 +09:00
Dan Balasescu
6c2d02fefd Fix tests 2022-06-30 12:37:03 +09:00
Dan Balasescu
edc4ace17e Attach DT with NC, SD with PF, and Cinema with Autoplay 2022-06-30 11:52:30 +09:00
Dan Balasescu
c5d31f50cd Attempt to fix flaky TestSceneAutoplay test 2022-06-30 11:38:51 +09:00
Dean Herbert
165af8392f
Merge pull request #18944 from bdach/editor-navigation-test-again-again 2022-06-30 10:37:56 +09:00
Bartłomiej Dach
9ed676f97a
Merge pull request #18941 from peppy/fix-flaky-placeholder-test
Fix flaky song select placeholder test by changing ruleset post-display
2022-06-29 23:19:13 +02:00
Bartłomiej Dach
8171deec49
Attempt to fix editor navigation test failures again
First of all, stop relying that `InputManager` will successfully press
the gameplay test button, because it won't if it's obscured by the
notification overlay. Closing the overlay in a loop doesn't work because
there's a chance that a notification is posted, then all overlays are
closed, then another notification is posted, and so the button still
isn't clickable. Instead, use the `TestGameplay()` method directly.

Secondly, the notifications will still block `EditorPlayerLoader` from
transitioning to `EditorPlayer`. Here we have no other choice than to
aggressively dismiss notifications every spin of the relevant until
step and hope we eventually progress to `EditorPlayer`.
2022-06-29 22:45:56 +02:00
Bartłomiej Dach
381deaf62d
Merge branch 'master' into fix-flaky-placeholder-test 2022-06-29 22:31:45 +02:00
Bartłomiej Dach
e25f686850
Merge pull request #18939 from peppy/fix-null-test-user
Fix crash on visual testing `TestSceneChatOverlay` due to null user
2022-06-29 22:10:44 +02:00
Dean Herbert
46cbbf5c6e Fix flaky song select placeholder test by changing ruleset post-display
Was failing occasionally due to the beatmap present operation causing
the test's ruleset change to undo.

```csharp
TearDown : System.TimeoutException : "wait for placeholder visible" timed out
--TearDown
   at osu.Framework.Testing.Drawables.Steps.UntilStepButton.<>c__DisplayClass11_0.<.ctor>b__0()
   at osu.Framework.Testing.Drawables.Steps.StepButton.PerformStep(Boolean userTriggered)
   at osu.Framework.Testing.TestScene.runNextStep(Action onCompletion, Action`1 onError, Func`2 stopCondition)
--- End of stack trace from previous location ---
   at osu.Framework.Testing.TestSceneTestRunner.TestRunner.RunTestBlocking(TestScene test)
   at osu.Game.Tests.Visual.OsuTestScene.OsuTestSceneTestRunner.RunTestBlocking(TestScene test) in /opt/buildagent/work/ecd860037212ac52/osu.Game/Tests/Visual/OsuTestScene.cs:line 503
   at osu.Framework.Testing.TestScene.RunTestsFromNUnit()
------- Stdout: -------
[runtime] 2022-06-29 10:36:45 [verbose]: 💨 Class: TestScenePlaySongSelect
[runtime] 2022-06-29 10:36:45 [verbose]: 🔶 Test:  TestPlaceholderConvertSetting
[runtime] 2022-06-29 10:36:45 [verbose]: 🔸 Step #1 exit all screens
[runtime] 2022-06-29 10:36:45 [verbose]: 🔸 Step #2 reset defaults
[runtime] 2022-06-29 10:36:45 [verbose]: 🔸 Step #3 delete all beatmaps
[runtime] 2022-06-29 10:36:45 [verbose]: 🔸 Step #4 change ruleset to 2
[runtime] 2022-06-29 10:36:45 [verbose]: 🔸 Step #5 import test map for ruleset 0
[database] 2022-06-29 10:36:45 [verbose]: [efc1a] Beginning import from unknown...
[database] 2022-06-29 10:36:45 [verbose]: [efc1a] Import successfully completed!
[runtime] 2022-06-29 10:36:45 [verbose]: 🔸 Step #6 wait for imported to arrive in carousel
[runtime] 2022-06-29 10:36:45 [verbose]: 🔸 Step #7 change convert setting
[runtime] 2022-06-29 10:36:45 [verbose]: 🔸 Step #8 create song select
[runtime] 2022-06-29 10:36:45 [verbose]: ScreenTestScene screen changed → TestScenePlaySongSelect+TestSongSelect
[runtime] 2022-06-29 10:36:45 [verbose]: 📺 ScreenTestScene(OsuScreenStack)#338(depth:1) loading TestScenePlaySongSelect+TestSongSelect#263
[runtime] 2022-06-29 10:36:45 [verbose]: decoupled ruleset transferred ("" -> "osu!catch")
[runtime] 2022-06-29 10:36:45 [verbose]: 🔸 Step #9 wait for present
[runtime] 2022-06-29 10:36:45 [verbose]: 📺 ScreenTestScene(OsuScreenStack)#338(depth:1) entered TestScenePlaySongSelect+TestSongSelect#263
[runtime] 2022-06-29 10:36:45 [verbose]: 📺 BackgroundScreenStack#328(depth:1) loading BackgroundScreenBeatmap#338
[runtime] 2022-06-29 10:36:45 [verbose]: 📺 BackgroundScreenStack#328(depth:1) entered BackgroundScreenBeatmap#338
[runtime] 2022-06-29 10:36:45 [verbose]: Song select updating selection with beatmap:null ruleset:fruits
[runtime] 2022-06-29 10:36:45 [verbose]: Song select changing beatmap from "please load a beatmap! - no beatmaps available!" to "null"
[runtime] 2022-06-29 10:36:45 [verbose]: Song select working beatmap updated to Some Artist 0 - Some Song (set id 6224) ece7b702-895c-4f15-892f-05e4ff5e9a24 (Some Guy 3) [Normal 6224000 (length 0:50, bpm 106.7)]
[runtime] 2022-06-29 10:36:45 [verbose]: Song select updating selection with beatmap:null ruleset:osu
[runtime] 2022-06-29 10:36:45 [verbose]: decoupled ruleset transferred ("osu!catch" -> "osu!")
[runtime] 2022-06-29 10:36:45 [verbose]: Song select updating selection with beatmap:74232aa2-2a1f-4920-b643-e85976838251 ruleset:osu
[runtime] 2022-06-29 10:36:45 [verbose]: Song select decided to ensurePlayingSelected
[runtime] 2022-06-29 10:36:45 [verbose]: Game-wide working beatmap updated to Some Artist 0 - Some Song (set id 6224) ece7b702-895c-4f15-892f-05e4ff5e9a24 (Some Guy 3) [Normal 6224000 (length 0:50, bpm 106.7)]
[runtime] 2022-06-29 10:36:45 [debug]: Focus changed from nothing to SeekLimitedSearchTextBox.
[network] 2022-06-29 10:36:45 [verbose]: Failing request osu.Game.Online.API.Requests.GetBeatmapRequest (System.InvalidOperationException: DummyAPIAccess cannot process this request.)
[runtime] 2022-06-29 10:36:45 [verbose]: ✔️ 16 repetitions
[runtime] 2022-06-29 10:36:45 [verbose]: 🔸 Step #10 wait for carousel loaded
[runtime] 2022-06-29 10:36:45 [verbose]: 🔸 Step #11 wait for placeholder visible
[runtime] 2022-06-29 10:36:55 [verbose]: 💥 Failed (on attempt 1,459)
[runtime] 2022-06-29 10:36:55 [verbose]:  Currently loading components (0)
[runtime] 2022-06-29 10:36:55 [verbose]: 🧵 Task schedulers
[runtime] 2022-06-29 10:36:55 [verbose]: LoadComponentsAsync (standard) concurrency:4 running:0 pending:0
[runtime] 2022-06-29 10:36:55 [verbose]: LoadComponentsAsync (long load) concurrency:4 running:0 pending:0
[runtime] 2022-06-29 10:36:55 [verbose]: 🎱 Thread pool
[runtime] 2022-06-29 10:36:55 [verbose]: worker:          min 1      max 32,767 available 32,766
[runtime] 2022-06-29 10:36:55 [verbose]: completion:      min 1      max 1,000  available 1,000
[runtime] 2022-06-29 10:36:55 [debug]: Focus on "SeekLimitedSearchTextBox" no longer valid as a result of unfocusIfNoLongerValid.
[runtime] 2022-06-29 10:36:55 [debug]: Focus changed from SeekLimitedSearchTextBox to nothing.
```
2022-06-30 04:45:04 +09:00
Dean Herbert
13108155d3 Fix crash on visual esting TestSceneChatOverlay due to null user 2022-06-30 03:43:56 +09:00
Dan Balasescu
6911b959a6
Merge pull request #18937 from peppy/update-framework
Update framework
2022-06-29 23:49:54 +09:00
Dean Herbert
582175c3a4 Update framework 2022-06-29 22:57:52 +09:00
Dean Herbert
7cb4e32c17 Add one more lock to appease CI 2022-06-29 22:45:19 +09:00
Dean Herbert
a3b4a515fc Merge branch 'master' into realm-fix-async-write-after-disposal 2022-06-29 22:39:05 +09:00
Dan Balasescu
68d4676ad0
Merge pull request #18936 from peppy/fix-nan-diff-calc-result
Guard against `NaN` star difficulty results
2022-06-29 21:51:29 +09:00
Dean Herbert
18d465eff7 Guard against NaN star difficulty results 2022-06-29 21:02:29 +09:00
Dean Herbert
6a16b84edb
Merge pull request #18935 from peppy/ruleset-guard-icon-creation-failure
Guard against ruleset icon creation failures to avoid whole game death
2022-06-29 20:57:58 +09:00
Dean Herbert
32af4e41ea Add back thread safety and locking as required 2022-06-29 20:56:01 +09:00
Salman Ahmed
87e3b44181 Ensure icon is loaded inside try-catch 2022-06-29 13:37:42 +03:00
Salman Ahmed
e3eba58cb6 Catch in triangles intro 2022-06-29 13:37:42 +03:00
Dean Herbert
6c64cea057 Catch a second location 2022-06-29 18:56:15 +09:00
Dean Herbert
b092e6937a Guard against ruleset icon creation failures to avoid whole game death 2022-06-29 18:51:07 +09:00
Dan Balasescu
d4aa18112b
Merge pull request #15035 from emu1337/speed-acc-scaling
Change speed accuracy scaling to be closer to worst case scenario
2022-06-29 18:04:23 +09:00