Dean Herbert
54fe6b7df3
Fix incorrect string interpolation
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-06-28 01:43:09 +09:00
Dean Herbert
569fde4b47
Add messages to all InvalidOperationException
s
...
Without this, they can be very non-descript and hard to track down
2022-06-28 01:34:25 +09:00
Dean Herbert
5a7d339cc8
Centralise and harden editor-ready-for-use check
...
Not only does this combine the check into one location, but it also adds
a check on the global `WorkingBeatmap` being updated, which is the only
way I can see the following failure happening:
```csharp
05:19:07 osu.Game.Tests: osu.Game.Tests.Visual.Editing.TestSceneEditorBeatmapCreation.TestAddAudioTrack
05:19:07 Failed TestAddAudioTrack [161 ms]
05:19:07 Error Message:
05:19:07 TearDown : System.NullReferenceException : Object reference not set to an instance of an object.
05:19:07 Stack Trace:
05:19:07 --TearDown
05:19:07 at osu.Game.Database.ModelManager`1.<>c__DisplayClass7_0.<AddFile>b__0(TModel managed) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 36
05:19:07 at osu.Game.Database.ModelManager`1.<>c__DisplayClass8_0.<performFileOperation>b__0(Realm realm) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 49
05:19:07 at osu.Game.Database.RealmExtensions.Write(Realm realm, Action`1 function) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\RealmExtensions.cs:line 14
05:19:07 at osu.Game.Database.ModelManager`1.performFileOperation(TModel item, Action`1 operation) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 46
05:19:07 at osu.Game.Database.ModelManager`1.AddFile(TModel item, Stream contents, String filename) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 36
05:19:07 at osu.Game.Screens.Edit.Setup.ResourcesSection.ChangeAudioTrack(FileInfo source) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Screens\Edit\Setup\ResourcesSection.cs:line 115
05:19:07 at osu.Game.Tests.Visual.Editing.TestSceneEditorBeatmapCreation.<TestAddAudioTrack>b__13_0() in C:\BuildAgent\work\ecd860037212ac52\osu.Game.Tests\Visual\Editing\TestSceneEditorBeatmapCreation.cs:line 101
05:19:07 at osu.Framework.Testing.Drawables.Steps.AssertButton.checkAssert()
05:19:07 at osu.Framework.Testing.Drawables.Steps.StepButton.PerformStep(Boolean userTriggered)
05:19:07 at osu.Framework.Testing.TestScene.runNextStep(Action onCompletion, Action`1 onError, Func`2 stopCondition)
```
2022-06-27 16:22:01 +09:00
Dean Herbert
1a22377e19
Fix test deadlock due to TPL threadpool saturation
...
As found in aggressive CI runs:
```csharp
00007F6F527F32B0 00007f74f937c72d (MethodDesc 00007f74f5545a78 + 0x22d System.Threading.ManualResetEventSlim.Wait(Int32, System.Threading.CancellationToken)), calling (MethodDesc 00007f74f51c0838 + 0 System.Threading.Monitor.Wait(System.Object, Int32))
00007F6F527F3330 00007f74f93861ca (MethodDesc 00007f74f5259100 + 0x10a System.Threading.Tasks.Task.SpinThenBlockingWait(Int32, System.Threading.CancellationToken)), calling (MethodDesc 00007f74f5545a78 + 0 System.Threading.ManualResetEventSlim.Wait(Int32, System.Threading.CancellationToken))
00007F6F527F3390 00007f74f9385d11 (MethodDesc 00007f74f52590e8 + 0x81 System.Threading.Tasks.Task.InternalWaitCore(Int32, System.Threading.CancellationToken)), calling (MethodDesc 00007f74f5259100 + 0 System.Threading.Tasks.Task.SpinThenBlockingWait(Int32, System.Threading.CancellationToken))
00007F6F527F33E0 00007f74fc3823af (MethodDesc 00007f74f5934c08 + 0x4f System.Threading.Tasks.Task`1[[System.Boolean, System.Private.CoreLib]].GetResultCore(Boolean)), calling (MethodDesc 00007f74f52590e8 + 0 System.Threading.Tasks.Task.InternalWaitCore(Int32, System.Threading.CancellationToken))
00007F6F527F3400 00007f74fb0aad92 (MethodDesc 00007f74fb28b000 + 0x122 osu.Game.Tests.Visual.OnlinePlay.OnlinePlayTestScene+<>c__DisplayClass21_0.<Setup>b__1(osu.Game.Online.API.APIRequest)), calling (MethodDesc 00007f74f5934be8 + 0 System.Threading.Tasks.Task`1[[System.Boolean, System.Private.CoreLib]].get_Result())
00007F6F527F3470 00007f74fa9c6dd7 (MethodDesc 00007f74f921f6c8 + 0x77 osu.Game.Online.API.DummyAPIAccess.PerformAsync(osu.Game.Online.API.APIRequest))
00007F6F527F34C0 00007f74fb13c718 (MethodDesc 00007f74fb4e0c50 + 0x538 osu.Game.Database.OnlineLookupCache`3+<performLookup>d__13[[System.Int32, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].MoveNext())
```
Going with the simplest solution, as what we had was pretty ugly to start with and I don't want to overthink this, just push a fix and hope for the best.
2022-06-26 16:42:29 +09:00
Dean Herbert
31a447fda0
Update parameter discards
2022-06-24 21:26:19 +09:00
Dean Herbert
158f0a1f23
Remove remaining Room!=null
checks in TestMultiplayerClient
where possible
2022-06-23 17:38:34 +09:00
Dean Herbert
bc557bacf0
Remove room null assertion in TestMultiplayerClient.ChangeState
to avoid assert
...
This method is run from async contexts, but `get_Room` asserts update
thread which is not the case. Was causing silent test failures (showing
as pass but failing `dotnet-test` via return code):
TestSceneMultiplayer.TestGameplayFlow
```
[13:13:17] : [dotnet test] [runtime] 2022-06-22 13:13:16 [error]: Score preparation failed!
[13:13:17] : [dotnet test] [runtime] 2022-06-22 13:13:16 [error]: NUnit.Framework.AssertionException: :
[13:13:17] : [dotnet test] [runtime] 2022-06-22 13:13:16 [error]: at osu.Framework.Logging.ThrowingTraceListener.Fail(String message1, String message2)
[13:13:17] : [dotnet test] [runtime] 2022-06-22 13:13:16 [error]: at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage)
[13:13:17] : [dotnet test] [runtime] 2022-06-22 13:13:16 [error]: at System.Diagnostics.TraceInternal.TraceProvider.Fail(String message, String detailMessage)
[13:13:17] : [dotnet test] [runtime] 2022-06-22 13:13:16 [error]: at System.Diagnostics.Debug.Fail(String message, String detailMessage)
[13:13:17] : [dotnet test] [runtime] 2022-06-22 13:13:16 [error]: at osu.Game.Online.Multiplayer.MultiplayerClient.get_Room() in /opt/buildagent/work/ecd860037212ac52/osu.Game/Online/Multiplayer/MultiplayerClient.cs:line 98
[13:13:17] : [dotnet test] [runtime] 2022-06-22 13:13:16 [error]: at osu.Game.Tests.Visual.Multiplayer.TestMultiplayerClient.ChangeState(MultiplayerUserState newState) in /opt/buildagent/work/ecd860037212ac52/osu.Game/Tests/Visual/Multiplayer/TestMultiplayerClient.cs:line 275
[13:13:17] : [dotnet test] [runtime] 2022-06-22 13:13:16 [error]: at osu.Game.Screens.OnlinePlay.Multiplayer.MultiplayerPlayer.PrepareScoreForResultsAsync(Score score) in /opt/buildagent/work/ecd860037212ac52/osu.Game/Screens/OnlinePlay/Multiplayer/MultiplayerPlayer.cs:line 223
[13:13:17] : [dotnet test] [runtime] 2022-06-22 13:13:16 [error]: at osu.Game.Screens.Play.Player.prepareScoreForResults() in /opt/buildagent/work/ecd860037212ac52/osu.Game/Screens/Play/Player.cs:line 747
```
2022-06-23 14:10:20 +09:00
Bartłomiej Dach
21d60231b6
Add limited test coverage of osu://
scheme link IPC flow
2022-06-20 22:22:25 +02:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Bartłomiej Dach
9c4f6d2ce0
Merge branch 'master' into first-run-setup-notification-interruption
2022-06-16 15:14:40 +02:00
Dean Herbert
8a5755ca52
Remove pointless override in test implementation
2022-06-16 18:27:16 +09:00
Dean Herbert
1f3e1b2d97
Combine BeatmapManager
and BeatmapModelManager
into one class
2022-06-16 18:07:04 +09:00
Salman Ahmed
1171d44ad9
Add failing test case
2022-06-15 03:37:04 +03:00
Dean Herbert
f11fe54385
Remove custom hash function flow
2022-06-15 00:42:30 +09:00
Dean Herbert
cd649f7d97
Merge branch 'master' into multiplayer-leaderboard-user-mods-2
2022-06-08 13:39:42 +09:00
Dan Balasescu
3df4d1b0e6
Fix incorrect HasPassword value for returned rooms
2022-06-03 21:17:48 +09:00
Dan Balasescu
41ff170b60
Fix playlist IDs not being returned
2022-06-03 21:12:09 +09:00
Dan Balasescu
68337df643
Fix tests by creating a score processor
2022-06-03 20:04:20 +09:00
Dan Balasescu
646f5f0f33
Isolate "server-side" multiplayer rooms in testing
2022-06-03 19:17:34 +09:00
Dean Herbert
477e520766
Add comment regarding deadlock avoidance
2022-05-31 12:24:44 +09:00
Dean Herbert
f935f034c2
Ensure request handling for OnlinePlayTestScene
runs in a scheduled fashion
2022-05-30 16:33:07 +09:00
Bartłomiej Dach
a8e1c5ba87
Fix remaining cases of incorrect GameplayState
construction in tests
...
Manual attempts to initialise replaced by a new `TestGameplayState`
helper for ease of use.
2022-05-28 15:23:29 +02:00
Salman Ahmed
2fac710d4b
Add step for adjusting editor clock rate in test scene
2022-05-28 04:10:39 +03:00
Joseph Madamba
389020b497
Fix scores container test failures
2022-05-26 20:58:47 -07:00
Dean Herbert
93c94b8ea0
Fix test caching woes
2022-05-26 18:30:37 +09:00
Dean Herbert
acd554d918
Update time info and add bpm
2022-05-25 23:54:59 +09:00
Dean Herbert
0bcf8c846c
Change editor colour scheme to aquamarine
2022-05-24 18:43:22 +09:00
Salman Ahmed
cef99fd020
Disallow transferring track from test WorkingBeatmap
s which have local stores
2022-05-20 16:08:31 +03:00
Dean Herbert
35026ad642
Add missing EditorClock
caching
2022-05-13 21:39:54 +09:00
Bartłomiej Dach
fdb21fedab
Implement IOverlayManager
in ScreenTestScene
2022-05-05 22:16:55 +02:00
Dean Herbert
b411b59006
Move IPlacementHandler
caching to interface
2022-05-05 16:43:02 +09:00
Dean Herbert
1f1845d69b
Merge branch 'master' into multiplayer-force-start-2
2022-04-29 14:45:40 +09:00
Dean Herbert
ed894d6428
Merge pull request #17941 from frenzibyte/remove-legacy-skin-fallback
...
Handle all legacy skin component types explicitly and remove texture fallback
2022-04-25 21:55:05 +09:00
Dean Herbert
7ac3ba132c
Remove unused using statements
2022-04-25 18:55:12 +09: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
Salman Ahmed
89519086c8
Fix SkinnableTestScene
unnecessarily adding a base raw skin layer
2022-04-23 03:34:05 +03:00
Dan Balasescu
b293d3923c
Merge branch 'master' into multiplayer-force-start-2
2022-04-23 01:03:55 +09:00
Bartłomiej Dach
8c6864727e
Merge branch 'master' into first-run-setup
2022-04-21 22:14:57 +02:00
Dean Herbert
832d37b2c2
Update screen transition events to use new event args
2022-04-22 00:52:44 +09:00
Dan Balasescu
08d250fe58
Rename MatchStarted() -> GameplayStarted()
2022-04-21 22:39:24 +09:00
Dean Herbert
e8adbb319b
Skip first run setup in OsuGameTestScene
s
2022-04-19 22:57:07 +09:00
Dean Herbert
e315313266
Split out IDialogOverlay
to allow for easier testing
2022-04-18 18:36:26 +09:00
Dean Herbert
9b433280bd
Remove countdown implementation from TestMultiplayerClient
2022-04-13 21:24:33 +09:00
Dean Herbert
abb42a54fd
Fix MultiplayerTestScene
not actually setting match type correctly
2022-04-11 17:57:05 +09:00
Dean Herbert
f00dc5e156
Merge pull request #17598 from smoogipoo/playlist-quick-reorder
...
Fix playlist refreshing all items on order change
2022-04-04 14:48:05 +09:00
Dan Balasescu
e1f147a207
Mutate playlist in EditUserPlaylistItem
2022-04-04 13:46:41 +09:00
Dan Balasescu
6e6271d0c0
Fix "server-side" room playlist not updated
...
Remove unused using
2022-04-01 18:32:10 +09:00
Dan Balasescu
32e55e7d78
Merge branch 'master' into osu-diff-calc-max-combo
2022-03-31 15:08:08 +09:00
Bartłomiej Dach
9621a7f9cb
Merge branch 'master' into fix-autoplay-mod-user-id
2022-03-30 21:41:45 +02:00
Dean Herbert
975883da5c
Move all usages of client.realm
filename to a single const
2022-03-30 13:34:48 +09:00
Salman Ahmed
986aad4bd5
Fix potential nullref on OsuGameTestScene.TearDownSteps
2022-03-30 01:15:24 +03:00
Dean Herbert
ea9495eb74
Update all existing calls to extension method with correct fallback handling
2022-03-29 16:51:30 +09:00
Dean Herbert
f92a31cd39
Merge pull request #17402 from smoogipoo/multiplayer-auto-countdown
...
Add multiplayer auto-start countdown timer
2022-03-25 20:31:14 +09:00
Dan Balasescu
1ff5fc98f5
Merge pull request #17445 from peppy/fix-test-realm-failures
...
Fix visual test crashes due to local realm not having update thread
2022-03-25 19:41:13 +09:00
Dan Balasescu
2553cfed75
Match new server ready/unready logic
2022-03-25 17:04:45 +09:00
Dean Herbert
6b22e5774f
Remove conditional access on known non-null
2022-03-25 16:42:35 +09:00
Dean Herbert
5fcd3b07f1
Fix visual test crashes due to local realm not having update thread
2022-03-25 16:35:32 +09:00
Dean Herbert
b1f0f89fdd
Simplify AutoStart
and Host
checks
2022-03-25 15:41:01 +09:00
Dan Balasescu
478174dd58
Merge pull request #17416 from peppy/skin-fuck
...
Refactor skin construction
2022-03-25 15:36:06 +09:00
Dan Balasescu
d3a957d64e
Fix test client not receiving initial value
2022-03-24 20:24:09 +09:00
Dan Balasescu
f80692f342
Add missing TestMultiplayerClient coverage
2022-03-24 20:19:05 +09:00
Dan Balasescu
5fe46a73cb
Update room state in more situations
2022-03-24 20:17:16 +09:00
Dan Balasescu
209de886ce
Add method to stop countdown
2022-03-24 20:17:16 +09:00
Dan Balasescu
ea9de0199d
Split countdown start into separate method
2022-03-24 20:09:32 +09:00
Dan Balasescu
dfa076c169
Refactor cancellation logic
2022-03-24 16:29:59 +09:00
Dan Balasescu
4c0d76573c
Asserate code is running on update thread
2022-03-24 15:51:30 +09:00
Dan Balasescu
f0d132b16e
Rename FinishCountdown() -> SkipToEndOfCountdown()
2022-03-24 15:21:46 +09:00
Dan Balasescu
d2ecc100e5
Revert unnecessary async change
2022-03-24 15:07:24 +09:00
Dan Balasescu
8f3a4df70a
Add explanation for try-catch
2022-03-24 15:07:24 +09:00
Dan Balasescu
d36944ac95
Dispose token manually
...
Cover more branches with cancellation source disposal
2022-03-24 15:07:24 +09:00
Dan Balasescu
34a367b369
Merge branch 'master' into multiplayer-countdown-timers-2
2022-03-23 15:40:50 +09:00
Dean Herbert
6542f974f2
Merge branch 'master' into skin-fuck
2022-03-23 15:30:22 +09:00
Dan Balasescu
a83a90e675
Rename countdown Delay -> Duration
2022-03-23 15:21:16 +09:00
Dan Balasescu
f7c0047206
Send time remaining in countdowns instead
2022-03-23 15:19:43 +09:00
Dean Herbert
078288a616
Make "skin.ini" the default skin filename and remove redundant parameters
2022-03-23 15:05:01 +09:00
Dean Herbert
7a1909bf97
Change parameter order of LegacySkin
to put IStorageResourceProvider
first
...
The optional resource store should not be before the (basically)
required resource provider.
2022-03-23 15:02:04 +09:00
Dean Herbert
6c405f1dee
Remove storage
override from LegacyBeatmapSkin
2022-03-23 14:57:42 +09:00
Dean Herbert
b48aa1d8fa
Ensure HitObjectSampleTest
's TestWorkingBeatmap
provides the marking resource store correctly
2022-03-23 14:57:42 +09:00
Dean Herbert
a5acd38fd5
Fix HitObjectSampleTest
adding null files to realm models
2022-03-23 14:57:42 +09:00
Dean Herbert
a7f63fb034
Make providing a custom ResourceStore
to LegacyBeatmapSkin
optional (for tests only)
2022-03-23 14:57:42 +09:00
Bartłomiej Dach
51a1721bc9
Fix unprotected access to potentially-null DI'd dialog overlay
2022-03-22 22:10:05 +01:00
Dean Herbert
483fb84b56
Fix typo in FinishCountdown
method
2022-03-22 16:50:13 +09:00
Dean Herbert
61ddf1e6cf
Disallow exiting the editor without saving (unless explicitly confirming)
2022-03-22 15:42:56 +09:00
Dan Balasescu
4630aa15cc
Apply refactorings according to reviews
2022-03-22 12:54:19 +09:00
Dean Herbert
63998ad9f1
Add test coverage of SpectatorPlayer
failing to seek on inopportune frame arrival time
2022-03-19 15:06:22 +09:00
Dan Balasescu
04f4e81852
Rename start countdown request
2022-03-18 21:05:19 +09:00
Dan Balasescu
72843a6797
Add support for starting/stopping countdowns
2022-03-18 14:33:09 +09:00
Dan Balasescu
7b8fb341a5
Fix not handling IconButtons
2022-03-17 17:59:28 +09:00
Salman Ahmed
e14a35b469
Add failing test case
2022-03-02 20:32:41 +03:00
Dan Balasescu
e947c97e10
Merge branch 'master' into spectator-reliability
2022-02-25 20:20:30 +09:00
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
Dan Balasescu
567da9214e
Merge branch 'master' into osu-diff-calc-max-combo
2022-02-18 18:35:24 +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
Dan Balasescu
47a13c2eb0
Merge pull request #16603 from peppy/update-framework
...
Update framework
2022-01-25 15:15:49 +09:00
Dean Herbert
5872dabf60
Fix incorrect flag to options conversion
2022-01-25 14:16:15 +09:00
Dean Herbert
dd2caea694
Update GetSuitableHost
usages in line with new HostOptions
2022-01-25 13:52:02 +09: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
Henry Lin
44311c1f4e
Add tests for diffcalc max combo
2022-01-23 11:25:22 +08: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
51251e3204
Fix CI reported warnings
2022-01-12 22:39:00 +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
00177a3ae1
Update usages to new naming
2022-01-06 22:54:43 +09:00
Dean Herbert
3ea7588a91
Update continuation usages to use GetCompletedResult
2022-01-06 22:53:07 +09:00
Dean Herbert
f9713b8895
Replace usage of TimeoutAttribute
to fix beatmap conversion test failures
2022-01-04 11:51:41 +09:00
Dean Herbert
031a40af6a
Replace usages of Wait
with WaitSafely
2022-01-04 11:51:41 +09:00
Dean Herbert
7088471cad
Protect against test failures due to logger being set too early (and beginning logging)
2021-12-25 02:21:49 +09:00
Dean Herbert
a9a7a33974
Update framework
2021-12-25 02:04:47 +09:00
Dean Herbert
1c0dc204c4
Fix some regressing behaviour due to CleanRunHeadlessGameHost
's naming structure changing
2021-12-24 20:24:37 +09:00
Dean Herbert
8cdad5f4d9
Remove incorrectly used gameSuffix
from CleanRunHeadlessGameHost
2021-12-24 20:15:10 +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 IResourceStore
s
2021-12-23 10:33:17 +01:00
Dean Herbert
f81e32149b
Fix ImportCollectionsTest.TestSaveAndReload
not cleaning up before/after run
2021-12-22 13:38:20 +09: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
cebfeb5220
Merge pull request #16045 from smoogipoo/multiplayer-local-beatmap-query
...
Rework multiplayer's current item tracking
2021-12-14 18:33:30 +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
Dean Herbert
b0d14526ea
Move test ScoreInfo
creation to TestResources
...
The main goal here is to remove the inheritance, since realm doesn't
like that. Unfortunate that we can't use object initialisers in a few of
these places, but no real way around that.
2021-12-13 16:34:50 +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