1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-21 17:23:05 +08:00
Commit Graph

566 Commits

Author SHA1 Message Date
Cootz
cb26601cb4 Fix test's score generation 2023-02-07 02:29:28 +03:00
Dean Herbert
4ec46c7476
Merge branch 'master' into footer_V2_implementation 2023-02-03 16:30:16 +09:00
Dean Herbert
a1200b8fe8 Adjust footer button colour handling to read better and take into account mouse down 2023-02-03 16:27:20 +09:00
mk56-spn
f5d579144b Remove free mods button 2023-01-30 12:57:24 +01:00
mk56-spn
bc94f1b773 add free mods button to test 2023-01-23 16:43:38 +01:00
Salman Ahmed
f0464b0340 Actually fix intermittent failure in beatmap options state test 2023-01-19 22:47:35 +03:00
Dean Herbert
3b27774561 Remove OnlineID sort consideration 2023-01-18 19:21:02 +09:00
Dean Herbert
92fc439f82 Add test coverage of carousel sort expectations
This covers the fail case of removing and adding items (see
https://github.com/ppy/osu/issues/21926) but also covers the proposed
forward implementation, which now considers `DateAdded` and `OnlineID`.
2023-01-17 16:40:25 +09:00
mk56-spn
74b72e4ac0 Address issues that joehuu brought up 2023-01-16 22:46:18 +01:00
mk56-spn
7510201804 Add back null beatmap test 2023-01-16 22:24:21 +01:00
Salman Ahmed
1552726150 Fix intermittent failure in beatmap options state test 2023-01-16 14:06:02 +03:00
Salman Ahmed
e6ff262521 Fix potential nullref in certain beatmap carousel tests 2023-01-13 19:42:09 +03:00
mk56-spn
8bfe24ced0 Remove nullable disable in test. 2023-01-10 17:49:33 +01:00
mk56-spn
0199c19f74 Add a test scene and move colour bar to back and adjust positioning of it 2023-01-10 11:45:40 +01:00
mk56-spn
69260ca3c3 remove unnecessary usages of nullable forgiveness, add asserts for debugging 2023-01-09 18:36:55 +01:00
mk56-spn
a32c4a64e7 Fix errors in test 2023-01-08 19:18:28 +01:00
mk56-spn
47fb467012 Remove nullable disabling in carousel 2023-01-08 19:02:48 +01:00
Dean Herbert
877413524f Cherry-picked android changes from #17462 2022-12-19 15:46:54 +09:00
mk56-spn
c5bad816db Add button colouring whilst corresponding overlay is present 2022-12-02 18:44:21 +01:00
mk56-spn
d7cea51551 Add functionality of Random button 2022-12-01 16:29:52 +01:00
mk56-spn
1530495e7c Add button "accent" colour, bottom bar, icon, text 2022-12-01 15:34:09 +01:00
mk56-spn
774eb178a1 Add basic button design and footer button addition flow 2022-12-01 13:13:37 +01:00
mk56-spn
18b4317e99 Create Basic V2 footer and test 2022-12-01 11:57:50 +01:00
mk56-spn
0aba119056 Merge remote-tracking branch 'origin/RangeSlider_implementation' into RangeSlider_implementation
# Conflicts:
#	osu.Game.Tests/Visual/SongSelect/TestSceneDifficultyRangeFilterControl.cs
#	osu.Game/Screens/Select/DifficultyRangeFilterControl.cs
2022-11-27 10:40:29 +01:00
Dan Balasescu
7bc8908ca9 Partial everything 2022-11-27 00:00:27 +09:00
mk56-spn
92ed2ed4ef Refactor star "DifficultyRangeFilterControl" into generic range slider class 2022-11-26 12:19:08 +01:00
Bartłomiej Dach
b3667821eb
Add failing test case 2022-11-20 10:07:32 +01:00
Salman Ahmed
039ab83a46 Disable beatmap options button when none selected 2022-11-17 04:00:23 +03:00
Salman Ahmed
0e46614c57 Revert beatmap option button state changes 2022-11-17 03:57:01 +03:00
nanashi-1
46c7451ede remove redundant code 2022-11-16 09:57:23 +08:00
nanashi-1
9101ad0cbd fixed naming 2022-11-16 09:42:40 +08:00
nanashi-1
7aec5ca1e8 visual tests 2022-11-15 20:57:42 +08:00
Dean Herbert
20dd405c2b
Merge branch 'master' into maintain-common-mod-selection 2022-11-03 15:32:40 +09:00
Endrik Tombak
b95091fbb0 Move test to improve diff readability 2022-10-24 22:55:09 +03:00
Endrik Tombak
9def12c60b Write new tests 2022-10-24 22:50:56 +03:00
Salman Ahmed
841e20c336 Remove unused usings 2022-10-15 17:16:08 +03:00
Salman Ahmed
7d53d35bf6 Remove duplicate & outdated test case 2022-10-15 16:23:54 +03:00
Bartłomiej Dach
df66a0c2e9
Fix flaky update beatmap set test
It is generally not possible to click a button that's not yet there,
and it turns out that when the test in question is ran headless, it may
not necessarily be there immediately.
2022-10-13 21:03:52 +02:00
Salman Ahmed
7db7bcc283 Add test coverage 2022-10-13 02:40:20 +03:00
Dean Herbert
a1297af441 Apply NRT to base Leaderboard classes 2022-09-26 16:12:47 +09:00
Salman Ahmed
a6f68e4a90 Fix NRT inspections 2022-09-13 03:08:13 +03:00
Salman Ahmed
ae53e27e6c Adjust test coverage to read better 2022-09-09 19:39:06 +03:00
Salman Ahmed
dd10a06e3d Merge branch 'master' into top-rank-badge-order 2022-09-09 19:38:44 +03:00
Dean Herbert
3d9bf25c8a Apply NRT to TestScenePlaySongSelect
Very mess.
2022-09-08 14:49:57 +09:00
Dean Herbert
b50116e9e4 Add missing null check in BeatmapCarousel tests 2022-09-07 16:22:11 +09:00
Dean Herbert
6a35b233e5 Merge branch 'master' into remove-dispose-updates 2022-09-01 23:03:19 +09:00
Dean Herbert
148e487c02 Add failing test of date submitted search failing 2022-09-01 19:59:27 +09:00
Dean Herbert
82b9e1f0eb
Merge pull request #20011 from smoogipoo/scoring-refactor
Refactor scoring to remove async methods / simplify
2022-08-29 19:55:27 +09:00
Dean Herbert
a215d009fe Update Remove/RemoveRange/RemoveAll calls in line with framework changes 2022-08-29 15:57:40 +09:00
Dan Balasescu
423f6f90f2 Remove async calls from ScoreManager 2022-08-29 15:34:08 +09:00
Dean Herbert
e8ae6840ea Add test coverage of selection being retained 2022-08-29 15:23:34 +09:00
Dean Herbert
1032b2a68c Fix some BeatmapCarousel tests not correctly reinitialising local data per run
Closes https://github.com/ppy/osu/issues/19949.
2022-08-25 14:03:26 +09:00
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
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 InvalidOperationExceptions
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