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
Salman Ahmed
3aecd288e2
Enable NRT on TopLocalRank
2022-07-23 09:27:03 +03:00
Salman Ahmed
727fe76b60
Fix TopLocalRank
hacking around presence to hide on null rank
...
Fixed this here because that blocks `Schedule` from running, and I don't
want to add another override to the `IsPresent` flag.
2022-07-23 09:22:22 +03:00
Salman Ahmed
1220250bb6
Improve test scene and add failing test case
2022-07-23 08:03:48 +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
Joseph Madamba
0146949ad6
Fix failing string comparison tests
2022-04-20 16:52:24 -07:00
Salman Ahmed
3cbc6cd297
Update further tests to cache using IDialogOverlay
2022-04-18 21:04:22 +03:00
Dan Balasescu
cb1ee05539
Merge pull request #17555 from peppy/remove-source-from-wedge
...
Remove song source from main wedge display
2022-03-30 18:57:25 +09:00
Dean Herbert
bc0b982102
Remove song source from main wedge display
...
This was definitely added at someone's request, since I wouldn't have
put it here. But it's displayed below in the details section already and
also not displayed in the updated "wedge" in the new design.
See https://github.com/ppy/osu/discussions/17537 for discussion.
2022-03-30 17:59:40 +09:00
Salman Ahmed
b7ae431252
Add test coverage
2022-03-30 01:08:22 +03:00
Dan Balasescu
810cbd745d
Merge pull request #17170 from peppy/fix-top-local-rank-test-failures-realm-callback
...
Refactor top local rank test method to be more resilient to slow realm callbacks
2022-03-09 11:14:37 +09:00
Dean Herbert
233c8232d3
Fix TestSceneTopLocalRank.TestHighScoreSet
not waiting for potentially slow realm callback
...
As brought to light by https://gist.github.com/smoogipoo/56eda7ab56b9d1966556f2ca7a80a847 .
2022-03-09 01:22:01 +09:00
Dean Herbert
286bafe326
Refactor multiple TestScenePlaySongSelect
test methods to be resilient to slow realm callbacks
2022-03-09 01:18:53 +09:00
Dean Herbert
c342030b2c
Add specific placeholder message for custom rulesets rather than showing network error
2022-03-02 14:10:59 +09:00
Dan Balasescu
3a03833912
Merge pull request #16890 from peppy/beatmap-decoder-ruleset-store
...
Fix `LegacyBeatmapDecoder` not populating correct rulesets
2022-02-25 19:03:43 +09:00
dekrain
15ed9ec4fa
Merge scoreboard and leaderboard implementations together
2022-02-19 20:47:02 +01:00
dekrain
f4d1e6f600
Add tests for timerefs
2022-02-17 10:38:29 +01:00
Dean Herbert
0138f22c8d
Update existing usages to point to RealmRulesetStore
2022-02-16 17:13:54 +09:00
Dean Herbert
f012f64fd1
Add test coverage checking carousel panel visual state after ruleset filter change
2022-02-11 15:21:01 +09:00
Dean Herbert
41aa4b8cca
Fix TestSelectingFilteredRuleset
failing under visual tests due to using local database
2022-02-03 16:04:05 +09:00
Dean Herbert
35b7653290
Revert mod flow changes and add visual test coverage showing an overflow case
2022-02-02 09:13:19 +09:00
Dean Herbert
3ca2c90684
Add test scores in BeatmapLeaderboard
test scene with more mods
2022-02-01 16:35:25 +09:00
Dean Herbert
f8939af5e6
Track loading via state as well
2022-01-31 01:12:03 +09:00
Dean Herbert
04dbb5d3c6
Disallow setting "NoScores" externally as it is handled internally
2022-01-30 16:18:19 +09:00
Dean Herbert
acc1199add
Consolidate flows of Set
operations, either result or error
2022-01-30 16:16:00 +09:00
Dean Herbert
c401629dd8
Also refactor placeholder
logic to make more sense
2022-01-30 10:50:32 +09:00
Dean Herbert
06660ff960
Fix null beatmap in test scene
2022-01-30 03:02:56 +09:00
Dean Herbert
d21464ea61
Fix assertions to work in both directions
2022-01-30 02:54:51 +09:00
Dean Herbert
51acf79935
Change test exposure to property instead of method
2022-01-30 02:29:51 +09:00
Dean Herbert
9861c50b33
Remove pointless tests that no longer show anything valid
2022-01-30 00:03:22 +09:00
Dean Herbert
661fec7c8a
Make score setter private
2022-01-29 23:58:57 +09:00
Bartłomiej Dach
04d6ca59a3
Merge branch 'master' into song-select-scroll-position-during-delete
2022-01-27 20:46:19 +01:00
Dean Herbert
e872877185
Merge pull request #16648 from peppy/fix-song-select-tests
...
Fix song select tests not waiting for beatmap imports to arrive
2022-01-27 23:00:58 +09:00
Dean Herbert
fae4f8bd8e
Move nulling of previous songSelect
to SetUpSteps
instead
2022-01-27 21:59:44 +09:00
Dean Herbert
831fa44433
Fix song select tests not waiting for beatmap imports to arrive
...
After the change to realm, notification fires could take a frame or two.
We aren't accounting for this.
Fixes test failures like
https://github.com/ppy/osu/runs/4963255990?check_suite_focus=true
2022-01-27 19:35:42 +09:00
Dean Herbert
f2cecad83b
Add failing test coverage showing carousel deletions don't keep scroll position
2022-01-27 16:52:02 +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
Dean Herbert
c0ed308016
Use more correct method of deletion in TestScenePlaySongSelect
2022-01-25 17:55:39 +09:00
Dean Herbert
778d2a71b4
Remove Task
from the inner-most Import
method in RealmArchiveModelImporter
...
One of my pending work items for post-realm merge.
The lowest-level import task is no longer asynchronous, as we don't want
it to span multiple threads to allow easier interaction with realm.
Removing the `Task` spec simplifies a heap of usages.
Individual usages should decide whether they want to run the import
asynchronously, by either using an alternative override or spooling up a
thread themselves.
2022-01-25 15:30:29 +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
Dan Balasescu
581873f944
Merge pull request #16497 from peppy/top-local-rank-optimisation
...
Rewrite `TopLocalRank` to use realm subscriptions
2022-01-19 14:22:12 +09:00
Dan Balasescu
3e5d29ed00
Merge pull request #16505 from peppy/remove-base-difficulty-usage
...
Remove all usage of `BaseDifficulty` (and access `Difficulty` instead)
2022-01-19 13:53:55 +09:00
Dean Herbert
201f2d7813
Add comprehensive test coverage for TopLocalRank
2022-01-19 13:48:00 +09:00
Dean Herbert
67bf95bc91
Remove all usage of AuthorString
2022-01-18 23:30:40 +09:00
Dean Herbert
7f65f3a47f
Remove all usage of BaseDifficulty
(and access Difficulty
instead)
2022-01-18 22:57:39 +09:00
Dean Herbert
5dc7425b2c
Fix incorrect realm (non-isolated instance) being used in two test scenes
2022-01-17 14:55:23 +09:00
Dean Herbert
9900a3f408
Remove outdated comment
2022-01-14 21:40:35 +09:00
Dean Herbert
289ae7c72f
Update one more mismatched test implementation
2022-01-14 21:39:42 +09:00
Dean Herbert
a59dcccab7
Add local ContextFactory
caching to all remaining test scenes that create local managers
2022-01-14 19:59:21 +09:00
Dean Herbert
51251e3204
Fix CI reported warnings
2022-01-12 22:39:00 +09:00
Dean Herbert
38cc1ce098
Add missing ruleset in test scores
2022-01-12 18:51:30 +09:00
Dean Herbert
cd88ccab4f
Fix TestScenePlaySongSelect
failure due to detach clone depth
2022-01-12 17:49:11 +09:00
Dean Herbert
9e2ca583a3
Fix incorrect realm factory isolation in TestScenePlaySongSelect
2022-01-12 17:49:11 +09:00
Dean Herbert
8e79898e26
Fix a couple of minor issues with TestSceneBeatmapRecommendations
2022-01-12 17:49:10 +09:00
Dean Herbert
605898ec53
Add missing "non-null" elements missing from some tests
2022-01-12 17:49:10 +09:00
Dean Herbert
41d90cd0b5
Fix beatmap carousel test failures
2022-01-12 17:49:10 +09:00
Dean Herbert
43c7b0d2c8
Fix unsupported realm operations in multiple tests
2022-01-12 17:49:10 +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
3811bd8520
Fix some null inspections
2022-01-12 17:00:16 +09:00
Dean Herbert
3152d2d8a0
"Update" BeatmapCarousel
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
4f6a05ce3d
Reimplement all query methods
2022-01-12 16:57:27 +09:00
Dean Herbert
53792811b2
more fixes (almost compiles, except ruleset and manager)
2022-01-12 16:57:27 +09:00