Dean Herbert
7022d9e5f8
Fix test step names being too long
2022-08-03 21:13:49 +09:00
Dean Herbert
24d84890e4
Change all filter control button state test to until steps
...
There's multiple schedules at play which could be adding multi-frame
delays. let's play it safe and try and fix flaky tests.
Example of `Schedule` which could cause an issue:
392cb352cc/osu.Game/Collections/CollectionDropdown.cs (L77-L78)
Example of test failure:
https://github.com/ppy/osu/runs/7648118894?check_suite_focus=true
2022-08-03 20:03:07 +09:00
Dean Herbert
c0e5f11c90
Merge pull request #19532 from frenzibyte/fix-new-items-sort-stability
...
Fix newly imported beatmaps not using correct comparer for sorting
2022-08-02 02:20:51 +09:00
Salman Ahmed
682192dbd7
Add failing test case
2022-08-01 18:43:01 +03:00
Salman Ahmed
b95aff3e5f
Add failing test case
2022-07-30 18:50:41 +03:00
Dean Herbert
07e3765b34
Ensure collection is added to dropdown before trying to click it
2022-07-29 17:25:30 +09:00
Dean Herbert
e07e761c10
Ensure realm is in a good state before asserts in TestSceneFilterControl
2022-07-29 15:59:53 +09:00
Dan Balasescu
11e0022fad
Merge branch 'master' into realm-collections
2022-07-28 21:00:08 +09:00
Dean Herbert
2b9d46d803
Remove unused RulesetStore
from BeatmapManager
constructor
2022-07-28 16:19:05 +09:00
Dan Balasescu
6bf293e130
Fix managed object reused between test runs
2022-07-28 15:45:33 +09:00
Dean Herbert
ad482b8afc
Tidy up naming of collection dropdowns
2022-07-28 13:57:21 +09:00
Dean Herbert
67c7f324ee
Simplify CollectionFilterDropdown
filter flow weirdness
2022-07-28 13:57:21 +09:00
Dean Herbert
438067a18b
Convert realm data propagation to more correctly use Live<T>
...
wip
2022-07-27 19:35:09 +09:00
Dean Herbert
41393616d8
Replace BeatmapCollection
with RealmBeatmapCollection
2022-07-27 19:35:09 +09:00
Dean Herbert
9c543fef48
Remove CollectionManager
2022-07-27 18:45:33 +09:00
Dean Herbert
6b73f7c7ec
Split out legacy import path from realm manager
2022-07-27 15:04:09 +09:00
Salman Ahmed
91ffa7007f
Improve existing test coverage to cover order changes from other sort modes
2022-07-26 10:24:51 +03:00
Dean Herbert
fc0c9f76bd
Fix UpdateBeatmapSetButton
intermittent test failure
...
Carousel would only expire items when off-screen. This meant that for a
case (like a test) where items are generally always on-screen,
`UpdateBeatmapSet` calls would result in panels remaining hidden but not
cleaned up.
2022-07-21 16:24:48 +09:00
Dean Herbert
6357223341
Fix incorrect DI fetch and apply nullability to ModelDownloader
2022-07-19 20:06:34 +09:00
Dean Herbert
17046b0553
Add basic handling of download failures
2022-07-19 19:01:23 +09:00
Dean Herbert
f6de76e057
Move test to stand-alone class and add full ui testing
2022-07-19 18:50:27 +09:00
Dean Herbert
eaf4f6dbb7
Add beatmap update button
2022-07-19 18:29:36 +09:00
Salman Ahmed
100c53f9ef
Country
-> CountryCode
2022-07-18 08:40:34 +03:00
Salman Ahmed
e62049f4a9
Update various usages of Country
inline with new enum
2022-07-16 05:04:24 +03:00
Salman Ahmed
09bfca4e4a
Fix build failing on tests
2022-07-11 21:45:39 +03:00
Dan Balasescu
9bf91835b6
Merge pull request #18962 from peppy/slider-range-control
...
Move star difficulty filter to song select
2022-07-03 21:58:00 +09:00
Dan Balasescu
724fd19038
Remove nullable disables
2022-07-03 21:15:13 +09:00
Dean Herbert
1a14808c39
Fix BeatmapInfoWedge
test potentially failing due to quick initial load
...
Was doing a comparison of previous vs new content after explicitly doing
a load in a previous step.
2022-07-02 13:03:14 +09:00
Dan Balasescu
3b1842a2c2
Merge pull request #18835 from peppy/beatmap-update-flow
...
Split out beatmap update tasks to `BeatmapUpdater` and invoke from editor save flow
2022-07-01 20:28:04 +09:00
Dean Herbert
0e1f08eff8
Fix regressing BeatmapRecommendations
tests due to diffcalc running at
2022-07-01 17:10:15 +09:00
Dean Herbert
17ad6648d1
Fix new test failing on headless runs
2022-07-01 17:07:00 +09:00
Dean Herbert
3e0f4e7609
Add test coverage of difficulty filter reset
2022-07-01 15:28:55 +09:00
Dean Herbert
32139ac13f
Tidy up implementation and add basic visual test
2022-07-01 15:16:58 +09: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
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
31a447fda0
Update parameter discards
2022-06-24 21:26:19 +09:00
Dean Herbert
01da6f20b3
Tidy up all remaining usages
2022-06-23 19:27:35 +09:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Dan Balasescu
c9dfffbc0e
Merge pull request #18619 from peppy/fix-collection-performance
...
Fix performance overhead of large collections
2022-06-10 15:01:31 +09:00
Dean Herbert
4a5e86e451
Rename Beatmaps
to BeatmapHashes
for clarity
2022-06-10 14:03:51 +09:00
Endrik Tombak
bf67b35ade
Use new own profile statistics in difficulty recommender
2022-06-08 17:44:57 +03:00
Dean Herbert
42cd7d9e6e
Change CollectionManager
to only store MD5 hashes instead of full BeatmapInfo
2022-06-08 18:23:09 +09:00
Dean Herbert
0d32c94104
Add initial implementation of beatmap carousel no-results-placeholder
2022-06-07 17:25:06 +09:00
Salman Ahmed
1f17652c1d
Fix test failure due to async-loading of content
2022-05-20 19:08:41 +03:00
Salman Ahmed
84a3cee452
Apply rate multiplier outside BPM rounding
2022-05-20 18:04:12 +03:00
Salman Ahmed
de8aedf348
Add failing test case
2022-05-20 17:53:28 +03:00
Bartłomiej Dach
76c63f1d0a
Rename ModSelect{Screen -> Overlay}
in place of removed old design
2022-05-10 22:56:50 +02:00
Bartłomiej Dach
8f65e0e60f
Add failing test coverage for toggling mod overlay with hotkey
2022-05-05 22:16:56 +02:00
Salman Ahmed
856ca96b66
Allow right-clicking to rewind on random button
2022-04-29 10:12:24 +03:00
Salman Ahmed
294340279e
Add inputting test coverage
2022-04-29 04:14:09 +03:00