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

1331 Commits

Author SHA1 Message Date
Dean Herbert
9eb615f942 Fix remaining test failures by strengthening PlayerLoader tests
- Click using `TriggerClick` as notifications move around quite a bit.
- Ensure any notifications from a previous test method are cleaned up.
2022-08-31 01:40:30 +09:00
Dean Herbert
062a6fcc18 Fix failing large offset test
If we are going to continue to let the underlying clock process frames,
there needs to be a bit of lenience to allow the backwards seek on
resume (to play back over the freq ramp period).

The test is meant to be ensuring we don't skip the full offset amount,
so div10 seems pretty safe.
2022-08-30 01:21:55 +09:00
Dean Herbert
ad5ef52922 Add test coverage of resuming after pause not skipping forward in time 2022-08-29 19:02:01 +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
Salman Ahmed
1fd1672d89
Merge branch 'master' into mod-validation-tests 2022-08-26 15:00:07 +03:00
Dean Herbert
5ef8e26ebe Fix check not accounting for mods not existing in certain rulesets
Also check all instances, rather than first.
2022-08-26 19:59:26 +09:00
Dean Herbert
580754833f Merge branch 'master' into mod-validation-tests 2022-08-26 19:48:42 +09:00
Ryuki
5cddc7ed1f
Code cleanup (CPS) 2022-08-24 17:13:23 +02:00
Dean Herbert
5129716612 Merge branch 'master' into kps 2022-08-24 18:18:45 +09:00
Dean Herbert
ec61a94dc9 Merge branch 'master' into no-gameplay-clock-gameplay-offset 2022-08-23 17:36:06 +09:00
Ryuki
b597049524
Code cleanup for CPS tests
- Remove null-forgiving operator usages
- Fix code quality issues mentionned by NVika
2022-08-22 10:47:37 +02:00
Ryuki
c56390cd7b
Use less custom classes for CPS tests 2022-08-22 00:03:24 +02:00
Nao
189a407cb1
Merge branch 'master' into ruleset-localization 2022-08-20 21:39:10 -04:00
Dean Herbert
da407aa827
Merge branch 'master' into kps 2022-08-20 15:24:58 +09:00
Dean Herbert
15d49b0357 Update TestSceneSpectator to user new assert style 2022-08-19 01:46:19 +09:00
Ryuki
3de35a1518
Update calculator and tests to match changes on clocks 2022-08-18 18:40:02 +02:00
Dean Herbert
cc86909633 Increase lenience on TestSceneLeadIn tests
I've gone through these in detail and can't find an issue with the
actual flow of things. For whatever reason, the new structure has a
slightly higher delay, likely due to performing less `Seek` calls
(previously a `Seek` was called after the clock start which may have
been making this more accurate on the first `Player.Update`).

I don't think it really matters that this is slightly off, but we'll see
how this plays out.
2022-08-19 01:39:00 +09:00
Dean Herbert
2eba8650ca Update TestSceneLeadIn to use new assert style 2022-08-18 19:26:19 +09:00
Dean Herbert
728cd96508 Update TestSceneLeadIn to use new assert style 2022-08-18 18:54:10 +09:00
Dean Herbert
e7ddbc41c8
Merge branch 'master' into no-gameplay-clock 2022-08-17 22:21:10 +09:00
Dan Balasescu
3a0017c87b Fix flaky quick retry test 2022-08-17 17:09:44 +09:00
Dean Herbert
20256aad11 Merge branch 'master' into no-gameplay-clock 2022-08-17 15:21:20 +09:00
Dan Balasescu
24fd411720
Merge pull request #19594 from BlauFx/improve_retry_behaviour
Skip song intro on quick restart
2022-08-16 20:18:12 +09:00
Dean Herbert
9a1a7bae89 Make test actually test things 2022-08-16 14:40:02 +09:00
Dean Herbert
a15e6f19aa Fix running TestScenePlayerLoader interactively leaving volume in a bad state 2022-08-16 13:40:46 +09:00
Dean Herbert
c9baadcf88 Merge branch 'master' into improve_retry_behaviour 2022-08-16 13:06:04 +09:00
Dean Herbert
704568ae3b Remove remaining usage of GameplayClock 2022-08-15 20:22:36 +09:00
Dean Herbert
87760bbc06 Fix IsCatchingUp not being in correct state 2022-08-15 20:17:48 +09:00
Dean Herbert
04d88b8216 Use constraint based assertions in TestSceneFrameStabilityContainer 2022-08-15 19:19:19 +09:00
Dean Herbert
27569e2ed5 Remove FrameStableClock (and redirect usages to FrameStabilityContainer) 2022-08-15 19:19:19 +09:00
Dean Herbert
f81c7644b4 Make GameplayClockContainer also an IGameplayClock and expose to remaining tests 2022-08-15 18:30:53 +09:00
Dean Herbert
c8764cb333 Move all usage of GameplayClock to IGameplayClock 2022-08-15 18:30:53 +09:00
Dean Herbert
6d78218142 Update usages of GameplayClockContainer.GameplayClock to access properties directly 2022-08-15 18:08:49 +09:00
Ryuki
2aa3a1b50d
Rename all "KeysPerSecond" usages to "ClicksPerSecond" 2022-08-14 20:12:11 +02:00
Ryuki
9dc806506e
Make ActionListener and KeysPerSecondCalculator not rely on events to add timestamps 2022-08-14 19:31:14 +02:00
Ryuki
3c6461b9e4
Remove KPS acronym usage 2022-08-11 10:01:39 +02:00
Ryuki
0e1efbd865
Rename DrawableCookieziRuleset to MockDrawableRuleset 2022-08-11 01:04:06 +02:00
Ryuki
d58d5eebe2
Add basic tests for KPS
Created private mock classes to use them in place of `GameplayClock` and
`DrawableRuleset`.
2022-08-11 00:51:13 +02:00
naoei
3e38baca3c Change ruleset mod description types 2022-08-10 16:09:11 -04:00
Ryuki
edb8e5e33e
Temporarily emptying TestSceneKeysPerSecondCounter until a good test can be found 2022-08-09 02:43:41 +02:00
BlauFx
e4879aa450
Add test 2022-08-08 21:12:38 +02:00
Ryuki
0c07df2c26
Remove DT from KPS test 2022-08-05 21:02:37 +02:00
Ryuki
b4e0fa7c53
Rewrite tests for KPS 2022-08-05 15:53:06 +02:00
Ryuki
42d1bdfc95
Move KPS calculation to a standalone class 2022-08-05 04:17:01 +02:00
Dan Balasescu
b4e55f7309 Apply IRenderer changes 2022-08-02 19:50:57 +09:00
Susko3
38a8b9cf0a Add battery info for desktop platforms 2022-07-30 14:26:19 +02:00
Salman Ahmed
ec1a7994cc Switch method to statement body for better readability
Almost thought the method was not wrapped in an `AddStep`.
2022-07-30 10:11:01 +03:00
Salman Ahmed
0c125db197 Fix potential nullref on TestSceneAutoplay check steps 2022-07-30 10:11:01 +03:00
Salman Ahmed
3bc1774c87
Merge branch 'master' into pie-chart-progress 2022-07-29 16:54:59 +03:00
Salman Ahmed
3b1a76b190 Remove redundant/overwritten specifications 2022-07-29 16:45:29 +03:00
Salman Ahmed
905bbdc8ee Remove caching of GameplayClockContainer in favour of GameplayClock
Also fixes `SongProgress` being displayed in skin editor on non-gameplay
screens, due to `GameplayClock` not marked as a required dependency.
2022-07-29 16:45:29 +03:00
Dean Herbert
eb92c35335
Merge pull request #19442 from smoogipoo/fix-beginplaying-misordering
Move spectator begin/end playing to SubmittingPlayer
2022-07-29 16:09:50 +09:00
Ryuki
2df24019fd
Merge branch 'master' into kps 2022-07-28 18:38:09 +02:00
Ryuki
079150849a
Add some tests 2022-07-28 18:37:50 +02:00
Ryuki
b2e7da5aa0
Add basic Queue based implementation of KPS 2022-07-28 18:37:12 +02:00
Dean Herbert
45879f7836
Merge pull request #19443 from smoogipoo/fix-intermittent-hud-tests
Fix intermittent HUD tests
2022-07-28 23:20:46 +09:00
Dean Herbert
e664690fe2 Remove unnecessary LoadTrack call 2022-07-28 22:19:46 +09:00
Dean Herbert
3005ff1b9f Merge branch 'master' into pie-chart-progress 2022-07-28 22:19:27 +09:00
Dan Balasescu
ce694123eb Move spectator begin/end playing to SubmittingPlayer 2022-07-28 20:44:04 +09:00
Dean Herbert
7108553883 Tidy up various things everywhere 2022-07-28 18:25:14 +09:00
Dean Herbert
a21aee4e9c Reduce calls to LoadTrack by implicitly running on test/dummy classes 2022-07-28 18:11:40 +09:00
Dan Balasescu
1039338d80 Fix intermittent HUD tests 2022-07-28 17:58:07 +09:00
Nitrous
0d36907cad
apply code quality fixes 2022-07-28 15:30:45 +08:00
Nitrous
70ed347b06
simplify helper methods 2022-07-28 15:19:35 +08:00
Dean Herbert
2b9d46d803 Remove unused RulesetStore from BeatmapManager constructor 2022-07-28 16:19:05 +09:00
Nitrous
db62d4be3a
apply suggestions
- refactor `SongProgress`
- make`UpdateProgress` more readable
- enable NRT on new classes
- refactor `TestSceneSongProgress` to use `GameplayClockContainer`
2022-07-28 15:15:41 +08:00
Dean Herbert
0913cf013c Split out tests and fix variable conflict 2022-07-28 13:24:14 +09:00
Nitrous
9088caa377
move LegacyComboCounter to osu.Game.Skinning 2022-07-28 08:36:26 +08:00
Nitrous
6af6f03e29
refactor song progress test scene 2022-07-27 15:57:47 +08:00
Nitrous
1e013bd4e9
move song progress graph to its own test scene 2022-07-27 15:57:23 +08:00
Nitrous
37e642b0bd
make SongProgress abstract
- move unrelated logic to `DefaultSongProgress`
- make `LegacySongProgress` inherit `SongProgress`
2022-07-27 15:19:21 +08:00
Dean Herbert
7f75184a01
Merge branch 'master' into beatmap-update-test 2022-07-26 17:27:36 +09:00
Dean Herbert
ef10145d6f Rename MenuCursorContainer and clean up code 2022-07-26 14:11:52 +09:00
Salman Ahmed
e5355f314d Use longer hash string 2022-07-25 15:19:32 +03:00
Dean Herbert
6a3e8e31de Centralise calls to reset online info of a BeatmapInfo 2022-07-25 19:51:19 +09:00
Salman Ahmed
d04df19c7e Remove APIScore and replace its final usage 2022-07-25 13:13:46 +03:00
Salman Ahmed
fa9daa6899 Fix TestSceneReplayRecorder not using score provided by gameplay state 2022-07-25 05:21:27 +03:00
Salman Ahmed
feef16b09b Add potentially failing test case 2022-07-25 04:18:30 +03:00
tsunyoku
d1c60b5741 correct assertion logic 2022-07-17 23:53:35 +01:00
tsunyoku
d17acd0f45 add message to Assert.That 2022-07-17 23:16:27 +01:00
tsunyoku
92513dc936 reverse IsInstanceOfType logic 2022-07-17 22:49:09 +01:00
tsunyoku
0c50931d2f change method of finding incompatibleMod 2022-07-17 22:10:35 +01:00
tsunyoku
dcce14ae8f rename NoConflictingModAcronyms to ModValidity, add test for two-way mod incompatibility 2022-07-17 21:15:29 +01:00
Dean Herbert
acd5254f51 Add test coverage ensuring unique acronyms 2022-07-16 17:19:55 +09:00
Salman Ahmed
68afb65aff Move default state steps to SetUp rather than duplicating per test case 2022-07-15 22:10:21 +03:00
Dean Herbert
21433d4ecb Add test coverage of saving a failed score 2022-07-15 20:14:58 +09:00
Dean Herbert
4b96d74b0c Add test coverage of LastPlayed updating 2022-07-13 16:43:43 +09:00
Salman Ahmed
09bfca4e4a Fix build failing on tests 2022-07-11 21:45:39 +03:00
Salman Ahmed
667b1d795d Ensure score has custom ruleset 2022-07-08 19:15:03 +03:00
Salman Ahmed
8c7aabccb0 Fix custom legacy ID in test scene not overriding base value 2022-07-08 19:01:21 +03:00
Dean Herbert
ac3cdf103a Fix test not failing against master 2022-07-08 19:17:51 +09:00
Dean Herbert
3c8f06403c Make test work properly 2022-07-08 19:03:26 +09:00
Dean Herbert
57b2f8189c Add back test workaround for TestScenePlayerScoreSubmission with updated explanation
This reverts commit f88e2aa025.
2022-07-07 17:42:03 +09:00
Dean Herbert
b663986b9f Add test coverage of locally available without replay button handling 2022-07-07 17:04:04 +09:00
Dean Herbert
461d133c1f Add test coverage of score importing 2022-07-07 16:43:31 +09:00
Dean Herbert
f88e2aa025 Remove EF test workaround 2022-07-07 15:02:03 +09:00
Dean Herbert
b597843579 Mark and document remaining flaky tests 2022-07-01 16:17:40 +09:00
Dan Balasescu
c5d31f50cd Attempt to fix flaky TestSceneAutoplay test 2022-06-30 11:38:51 +09:00
Dan Balasescu
d630b62cfc
Merge pull request #18915 from peppy/slider-snaking-test-refactoring
Apply various refactorings to `TestSceneSliderSnaking`
2022-06-28 16:16:35 +09:00
Dean Herbert
35745c83b7 Replace dodgy SetUpSteps overriding with usage of HasCustomSteps 2022-06-28 15:19:02 +09:00
Dean Herbert
a2701a3205 Increase leaniences on TestSceneSpectatorPlayback.TestWithSendFailure
Not really sure how to improve this further, but should help with cases
like this:

```csharp
[runtime] 2022-06-28 05:32:06 [verbose]: 💨 Class: TestSceneSpectatorPlayback
[runtime] 2022-06-28 05:32:06 [verbose]: 🔶 Test:  TestWithSendFailure
[runtime] 2022-06-28 05:32:06 [verbose]: 🔸 Step #1 Setup containers
[runtime] 2022-06-28 05:32:06 [verbose]: Received 1 new frames (total 1 of 2)
[runtime] 2022-06-28 05:32:06 [verbose]: 🔸 Step #2 received frames
[runtime] 2022-06-28 05:32:06 [verbose]: Received 6 new frames (total 7 of 8)
[runtime] 2022-06-28 05:32:06 [verbose]: Received 6 new frames (total 13 of 19)
[runtime] 2022-06-28 05:32:06 [verbose]: Received 6 new frames (total 19 of 29)
[runtime] 2022-06-28 05:32:06 [verbose]: Received 6 new frames (total 25 of 44)
[runtime] 2022-06-28 05:32:06 [verbose]: Received 6 new frames (total 31 of 45)
[runtime] 2022-06-28 05:32:06 [verbose]: Received 6 new frames (total 37 of 59)
[runtime] 2022-06-28 05:32:06 [verbose]: Received 6 new frames (total 43 of 67)
[runtime] 2022-06-28 05:32:06 [verbose]: Received 6 new frames (total 49 of 125)
[runtime] 2022-06-28 05:32:06 [verbose]: Received 6 new frames (total 55 of 126)
[runtime] 2022-06-28 05:32:06 [verbose]: Received 6 new frames (total 61 of 127)
[runtime] 2022-06-28 05:32:06 [verbose]: Received 6 new frames (total 67 of 128)
[runtime] 2022-06-28 05:32:06 [verbose]: Received 6 new frames (total 73 of 129)
[runtime] 2022-06-28 05:32:06 [verbose]: Received 6 new frames (total 79 of 130)
[runtime] 2022-06-28 05:32:06 [verbose]: Received 6 new frames (total 85 of 131)
[runtime] 2022-06-28 05:32:06 [verbose]: ✔️ 22 repetitions
[runtime] 2022-06-28 05:32:06 [verbose]: Received 6 new frames (total 91 of 132)
[runtime] 2022-06-28 05:32:06 [verbose]: Received 6 new frames (total 97 of 133)
[runtime] 2022-06-28 05:32:06 [verbose]: Received 6 new frames (total 103 of 134)
[runtime] 2022-06-28 05:32:06 [verbose]: Received 6 new frames (total 109 of 135)
[runtime] 2022-06-28 05:32:06 [verbose]: Received 6 new frames (total 115 of 136)
[runtime] 2022-06-28 05:32:06 [verbose]: Received 6 new frames (total 121 of 137)
[runtime] 2022-06-28 05:32:06 [verbose]: 🔸 Step #3 start failing sends
[runtime] 2022-06-28 05:32:06 [verbose]: Received 6 new frames (total 127 of 138)
[runtime] 2022-06-28 05:32:06 [verbose]: 🔸 Step #4 wait for send attempts
[runtime] 2022-06-28 05:32:06 [verbose]: 🔸 Step #5 frames did not increase
[runtime] 2022-06-28 05:32:06 [verbose]: 💥 Failed
[runtime] 2022-06-28 05:32:06 [verbose]:  Currently loading components (0)
[runtime] 2022-06-28 05:32:06 [verbose]: 🧵 Task schedulers
[runtime] 2022-06-28 05:32:06 [verbose]: LoadComponentsAsync (standard) concurrency:4 running:0 pending:0
[runtime] 2022-06-28 05:32:06 [verbose]: LoadComponentsAsync (long load) concurrency:4 running:0 pending:0
[runtime] 2022-06-28 05:32:06 [verbose]: 🎱 Thread pool
[runtime] 2022-06-28 05:32:06 [verbose]: worker:          min 1      max 32,767 available 32,766
[runtime] 2022-06-28 05:32:06 [verbose]: completion:      min 1      max 1,000  available 1,000
[runtime] 2022-06-28 05:32:06 [verbose]: Host execution state changed to Stopping
```

https://teamcity.ppy.sh/buildConfiguration/Osu_Build/811?hideProblemsFromDependencies=false&hideTestsFromDependencies=false&expandBuildTestsSection=true
2022-06-28 14:58:34 +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
401d9c1bae Fix TestStoryboardSkipOutro occasionally failing due to strict timings 2022-06-27 17:13:46 +09:00
Dean Herbert
31a447fda0 Update parameter discards 2022-06-24 21:26:19 +09:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Dean Herbert
0147a8ecee Add test coverage of HUD components still getting updated when hidden 2022-06-14 18:35:49 +09:00
Dean Herbert
17eaf7bb5c Add failing test coverage showing hit meters don't update when not visible 2022-06-13 16:36:22 +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
Bartłomiej Dach
dcf3d76954
Fix unobserved exceptions due to using unconverted beatmap
`TestSceneBeatmapSkinFallbacks` was locally caching a `GameplayState`
instance to fulfill dependencies of a
`SkinnableTargetComponentsContainer`. However, it was doing so using
`new TestBeatmap()`, which is a raw decoded beatmap that hasn't been
converted to any ruleset yet, which was causing failures in
`BeatmapDifficultyCache.GetTimedDifficultyAttributesAsync()` as that
method is expecting to receive a post-conversion, ready-for-gameplay
beatmap.

Resolve by proxying forward dependency instances from the
already-known-to-be-working `actualComponentsContainer`.
2022-05-28 15:23:29 +02:00
Bartłomiej Dach
9cfe2cc310
Move TestCustomisableModRuleset out of TestSceneModSettings 2022-05-10 21:43:57 +02:00
Salman Ahmed
0fe121f48a Move and rename settings toolbox group test scene 2022-05-09 13:25:33 +03:00
Bartłomiej Dach
cbd1169495
Move cache declarations of ISamplePlaybackDisabler to interface 2022-05-08 10:38:58 +02:00
Bartłomiej Dach
9ae019eb39
Move ISamplePlaybackDisabler to more general namespace 2022-05-08 10:38:58 +02:00
Dean Herbert
d310886c26 Add test coverage of IsPlaying state during fail and pause 2022-04-26 12:09:18 +09:00
Salman Ahmed
6ad10672ee
Merge branch 'master' into update-framework 2022-04-21 19:30:57 +03:00
Dean Herbert
832d37b2c2 Update screen transition events to use new event args 2022-04-22 00:52:44 +09:00
Dean Herbert
f5d24add58 Fix TestSceneSkinnableSound not working under visual tests
oops
2022-04-21 16:49:21 +09:00
Salman Ahmed
94335c2938 Update further usages to cache/resolve via interface 2022-04-19 00:18:10 +03:00
Dan Balasescu
9de4d416e2 Merge branch 'master' into fix-spectator-seeks 2022-04-14 18:54:52 +09:00
Dan Balasescu
494955aff1 Resolve inspection issues 2022-04-14 13:11:11 +09:00
Dean Herbert
9c68b3edc5 Merge branch 'master' into fix-spectator-seeks 2022-04-13 12:33:41 +09:00
Dean Herbert
45d79c1a73 Ensure previous test score is cleaned up to allow visual test runs to work better 2022-04-12 18:21:40 +09:00
Dean Herbert
01cec7d3fb Remove unnecessary string literals 2022-04-11 19:37:01 +09:00
Bartłomiej Dach
04db80848b
Remove unused using directives 2022-04-07 21:24:50 +02:00
Dean Herbert
0674862b6c Fix failing tests 2022-04-07 17:52:08 +09:00
Joseph Madamba
edb556643e Add failing replay button enabled test asserts 2022-04-06 20:43:56 -07:00
Dean Herbert
065bb60324 Remove unused using statements 2022-04-06 16:05:11 +09:00
Dean Herbert
c2b2d443ed Add more comprehensive assert output to try and discern CI issues 2022-04-06 15:31:12 +09:00
Dean Herbert
a3695c7e97
Merge branch 'master' into fix-spectator-seeks 2022-04-06 12:58:43 +09:00
Bartłomiej Dach
f4184cb6fe
Fix typo in step name 2022-03-30 22:04:55 +02: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
7059e4bf94 Add test coverage for autoplay avatar not being clickable 2022-03-28 23:37:39 +09:00
Bartłomiej Dach
69cc863611
Fix test failures in skin editor test scene 2022-03-26 19:28:07 +01:00
Dean Herbert
16dc2f6ef5 Adjust TestSceneFailAnimation to account for initial frequency change 2022-03-24 14:51:21 +09:00
Dean Herbert
6542f974f2
Merge branch 'master' into skin-fuck 2022-03-23 15:30:22 +09:00
Dean Herbert
a7f63fb034 Make providing a custom ResourceStore to LegacyBeatmapSkin optional (for tests only) 2022-03-23 14:57:42 +09:00
Dean Herbert
3643f879e4 Add test coverage of skin editor settings slider not working via keyboard adjustments 2022-03-21 17:33:56 +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
af6d53ad64
Merge pull request #17279 from peppy/skin-editor-borrowed-dependencies
Only show components in skin editor which are usable on the current screen
2022-03-18 11:29:12 +09:00
Dean Herbert
6ec024c84d
Merge pull request #17307 from frenzibyte/lead-in-test-scene-manual 2022-03-18 10:53:16 +09:00
Bartłomiej Dach
a8bb696e5b
Cache gameplay clock in more places to fix song progress related tests 2022-03-17 21:22:07 +01:00
Dean Herbert
ef29de9971 Add one more missing dependency required by SongProgress 2022-03-17 19:50:43 +09:00
Dean Herbert
ac739c9dae Change PerformancePointsCounter resolution requirements to be required
All other similar UI components have required dependencies, so this is
mainly to bring things in line with expectations. I am using this fact
in the skin editor to only show components which can be used in the
current editor context (by `try-catch`ing their
`Activator.CreateInstance`).
2022-03-17 14:56:35 +09:00
Dean Herbert
3f61b0d968 Add missing OverlayColourProvider to SkinEditor test 2022-03-16 22:23:19 +09:00
Dean Herbert
4525ed645c Update skin editor to use EditorSidebar 2022-03-16 19:30:51 +09:00
Dean Herbert
d062810ff2 Add basic scene selector 2022-03-16 19:12:06 +09:00
Dean Herbert
6fb06d69cc
Merge branch 'master' into pp-counter-alloc-reduction 2022-03-15 13:31:57 +09:00
Dean Herbert
b31ff679fb Provide correct HitResult type for random judgements in TestSceneHitErrorMeter 2022-03-14 19:16:19 +09:00
Dan Balasescu
3fff7f4b7e Require ScoreProcessor to receive ruleset 2022-03-14 15:51:10 +09:00
Salman Ahmed
720e1cd206 Add failing test cases 2022-03-14 03:47:18 +03:00
Salman Ahmed
dbc26c3534 Add failing test assertion 2022-03-14 03:46:11 +03:00
Dean Herbert
db5c2c15dc
Merge pull request #17164 from smoogipoo/scoreprocessor-rework
Rework ScoreProcessor score calculation methods to fix various issues
2022-03-10 16:48:58 +09:00
Dean Herbert
2e350a91cc Fix non-matching filename 2022-03-09 18:07:43 +09:00
Dean Herbert
2eb3365f46 Fix regressing issues when attempting to exit Player after an unsuccessful beatmap load 2022-03-09 17:57:58 +09:00
Dean Herbert
1ee0be5e39 Ensure gameplay can't start when an UnknownMod is present 2022-03-09 17:57:58 +09:00
Dan Balasescu
f1c40bd9ed Rework GetScore() method signatures + implementations
Rename legacy-facing overload to mention as much
2022-03-08 22:30:44 +09:00
Salman Ahmed
e5a6564034
Merge branch 'master' into fix-storyboard-sample-rate 2022-03-07 03:12:40 +03:00
Dean Herbert
0e8ad4b143 Switch step to Until steps due to AddOnce firing logic 2022-03-06 01:50:25 +09:00
Salman Ahmed
76e64f5013 Use manual framed clock for lead-in player test scene 2022-03-04 14:22:39 +03:00
Dean Herbert
e9e92b991e Fix calibrating offset from previous non-zero offset not applying adjustment correctly 2022-03-04 15:09:44 +09:00
Dean Herbert
e09dd7d8fe Fix calibrating offset from previous non-zero offset not applying adjustment correctly 2022-03-04 13:25:14 +09:00
Dean Herbert
b0688cc6dd Merge branch 'master' into fix-storyboard-sample-rate 2022-03-04 12:04:49 +09:00
Salman Ahmed
2ce4faa356 Fix typo in method name 2022-03-03 00:02:36 +03:00
Salman Ahmed
bb94d68139 Separate storyboard samples and skip intro steps to own methods 2022-03-02 23:55:42 +03:00
Salman Ahmed
82bbc32d74 Remove unnecessary Schedule during setup 2022-03-02 23:44:58 +03:00
Salman Ahmed
a812ed4462 Ensure there is at least one sample during rate assertion 2022-03-02 23:40:14 +03:00
Salman Ahmed
cbb8dc2891 Fix storyboard samples rate not adjusted from actual gameplay mods 2022-03-02 20:56:18 +03:00
Salman Ahmed
e14a35b469 Add failing test case 2022-03-02 20:32:41 +03:00
Dean Herbert
ed9ecd6951 Fix test scene failures by ensuring that first GameplayClock frame has processed first 2022-03-02 14:45:39 +09:00
Dean Herbert
3cbcb702f6 Fix calibration button disabled state not checking in corrrect direction 2022-03-02 14:36:15 +09:00
Dean Herbert
222f50d211 Fix calibration being back-to-front 2022-03-01 20:41:54 +09:00
Dean Herbert
4d9efe771b Don't display calibration options when the previous play was too short to be useful 2022-03-01 20:12:59 +09:00
Dean Herbert
fab09575ec Add full testing flow for BeatmapOffsetControl 2022-03-01 18:44:15 +09:00
Dean Herbert
1847f69bf9 Add basic beatmap offset adjustment control 2022-03-01 18:44:15 +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
6a08fd57ef Rename "client" fields in tests to specify whether spectator or multiplayer 2022-02-16 09:52:18 +09:00
Dan Balasescu
539cbe62c6 Fix incorrect usages of user lookup cache in tests 2022-02-15 21:23:24 +09:00
Dan Balasescu
ffc4c64f7e Unify namings across the board 2022-02-09 12:10:07 +09:00
Dan Balasescu
4966c4e974 Remove redundant parameter 2022-02-09 11:51:47 +09:00
Dan Balasescu
886d1d2df6 Refactorings 2022-02-08 21:29:43 +09:00
Dan Balasescu
4c76027178 Rename completed state to passed 2022-02-08 20:29:49 +09:00
Dan Balasescu
0d99017178 Add state tests 2022-02-08 20:27:08 +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
fa3d1115fa Remove online api requirement 2022-02-04 19:17:50 +09:00
Dan Balasescu
dd63b1a350 Fix broken spectator playback test scene 2022-02-04 19:12:02 +09:00
Dan Balasescu
fcbba3d948 Rename PlayingUserStates -> WatchingUserStates 2022-02-02 23:11:29 +09:00
Dan Balasescu
589f5e7a31 Update test which has now been resolved 2022-02-02 23:09:38 +09:00
Dan Balasescu
6d3bc005ea Merge branch 'master' into spectator-state-rework 2022-02-02 18:57:04 +09:00
Bartłomiej Dach
7cdf63c654
Remove unused FindProvider() methods
No longer needed since 39f99bf785.
2022-02-01 21:53:21 +01:00
Dan Balasescu
41007169f7 Give SpectatorState a user state 2022-02-01 21:51:05 +09:00
Dan Balasescu
781cb9f18d Move HasPassed/HasFailed into GameplayState 2022-02-01 14:46:24 +09:00
Dan Balasescu
502e6af008 Remove PlayingUsers list from SpectatorClient 2022-02-01 14:42:30 +09:00
Dan Balasescu
0458d408bb Add replay statistics frames to FramedReplayInputHandler 2022-01-31 18:53:47 +09:00
Dan Balasescu
4727aeda01 Give last bundled replay frame the frame header 2022-01-31 18:53:47 +09:00
Dean Herbert
57f793aff0 Rename dictionary and make private for added safety 2022-01-31 15:12:08 +09:00
Bartłomiej Dach
1253e1ecc1
Replace LINQ Count() invocation with count property access 2022-01-28 20:25:12 +01:00
Dan Balasescu
3037a3a769 Purge final spectator frames before ending play 2022-01-28 22:26:05 +09:00
Dan Balasescu
32f9299fe0
Remove unused using 2022-01-28 15:26:29 +09:00
Dean Herbert
28c8e07e3f Ensure hold for menu button fades out if the cursor is never moved
Closes https://github.com/ppy/osu/discussions/16669.
2022-01-28 14:48:35 +09:00
Dean Herbert
f32d56e213 Bring HoldForMenuButton tests up-to-date in code quality 2022-01-28 14:48:17 +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
cd71ec0edd Remove ILive<> interface (and use abstract Live<> instead) 2022-01-26 13:38:56 +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
Bartłomiej Dach
735414bc49
Replace TimeSignatures enum with struct for storage of arbitrary meter 2022-01-22 20:50:31 +01:00
Dean Herbert
7f65f3a47f Remove all usage of BaseDifficulty (and access Difficulty instead) 2022-01-18 22:57:39 +09:00
Dean Herbert
90166829c3 Update tests which were importing scores without a valid beatmap 2022-01-17 14:47:19 +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
8d4a3cc569 Remove pointless Metadata set 2022-01-14 23:27:33 +09:00
Dean Herbert
5cbd731864 Add RulesetInfo hashcode implementation and tidy up equality 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
6251713796 Add missing Ruleset in ReplayRecorder tests 2022-01-12 17:00:17 +09:00
Dean Herbert
31a3161189 Make tests compile again 2022-01-12 17:00:16 +09:00
Dean Herbert
213d89b479 Update null fallback cases involving OnlineID 2022-01-12 16:39:36 +09:00
Dan Balasescu
af9fad00c3 Merge branch 'master' into async-deadlock-safety 2022-01-10 16:11:09 +09:00
Dean Herbert
3cd996eb4a Merge branch 'master' into async-deadlock-safety 2022-01-07 17:28:59 +09:00
Dean Herbert
00177a3ae1 Update usages to new naming 2022-01-06 22:54:43 +09:00
Bartłomiej Dach
66613cbaa4
Wait for async continuation in score submission test
The previous assert step was optimistically assuming that the async
continuation that writes the value of
`FakeImportingPlayer.ImportedScore` always completes before it, but
that's not necessarily true even if the continuation is instant (it is
still subject to things like task scheduling and TPL thread pool
limits).

To ensure no spurious failures, swap out the assert step for an until
step instead.
2022-01-06 13:09:25 +01:00
Bartłomiej Dach
84765b99b3
Handle score submission request in submission test scene
Was previously not handled at all, therefore displaying request failures
in the test log output. While that was mostly a red herring and
shouldn't have caused any actual *test* failures, it is still better to
handle this explicitly in a realistic manner.
2022-01-06 12:57:26 +01:00
Dean Herbert
73b40e6833 Replace usage of .Result with .WaitSafelyForResult 2022-01-04 11:51:41 +09:00
Bartłomiej Dach
7cdba2f7c3
Add test coverage of score submission if player is exited during import 2022-01-03 22:00:47 +01:00
Dean Herbert
04d8fd3a58 Improve reliability of TestStoryboardSkipOutro
Aims to resolve failures as seen at
https://github.com/peppy/osu/runs/4677353822?check_suite_focus=true.

Have run quite a lot locally with no failures (while removing the skip step 100% fails).
2022-01-01 15:32:39 +09:00
Bartłomiej Dach
34b0101ff4
Add visual test coverage of "hidden by ruleset" combo option 2021-12-26 16:49:18 +01:00
Dean Herbert
f3f491374b Remove unused load checks 2021-12-22 18:17:00 +09:00
Bartłomiej Dach
54790bb758
Merge branch 'master' into fix-realm-post-storage-migration-failure 2021-12-17 00:19:46 +01:00
Dan Balasescu
eb3050b2ac Fix incorrect test 2021-12-14 15:08:00 +09:00
Dean Herbert
441b7baa93 Provide a realm factory to usages of ToLive/RealmLive 2021-12-14 14:26:34 +09:00
Dean Herbert
309290a3c9 Use new method in more places that can benefit from it 2021-12-13 16:56:43 +09:00
Dean Herbert
bff02bedbf Rename APIScoreInfo to APIScore 2021-12-10 16:11:49 +09:00
Dean Herbert
a969fe3ef8 Add test coverage showing intended UX of user's volume levels being retained when unmuting 2021-12-08 13:37:47 +09:00
Dean Herbert
9033169177
Merge pull request #15951 from peppy/fix-failing-recorder-tests-w
Fix intermittent test failures in scenes using `SpectatorClient`
2021-12-06 18:40:27 +09:00
Dan Balasescu
568364b604 Fix indentation 2021-12-06 17:38:57 +09:00
Dean Herbert
0d3d22d3e1 Update TestSceneReplayReocorder to be safer about disposal 2021-12-06 17:09:12 +09:00
Dean Herbert
50a5f52f92 Remove duplicated test scene (see TestSceeneReplayRecorder) 2021-12-06 17:09:11 +09:00
Dean Herbert
d58b85b381 Refactor TestScenSpectatorPlayback to properly clean up without async disposal 2021-12-06 17:09:11 +09:00
Dean Herbert
452fa93444 Merge branch 'master' into realm-integration/skins-rebase 2021-12-06 15:21:02 +09:00
Dean Herbert
1eed2436e6 Clean up unused resolved properties 2021-12-03 18:49:49 +09:00
Dean Herbert
f6a3709060 Store default skins to database 2021-11-29 18:28:25 +09:00
Dean Herbert
23146d59d1 Use ILive for current skin 2021-11-29 18:28:25 +09:00
Dean Herbert
f283770f34 Update mock RulesetInfo usage to set OnlineID instead of ID 2021-11-24 15:50:26 +09:00
Dean Herbert
b9923e5396 Remove subclassing of RulesetInfo 2021-11-22 16:39:17 +09:00
Dean Herbert
d7b178ea37 Update test scenes which should not handle key repeat 2021-11-18 13:13:36 +09:00
Dean Herbert
7c2e79f911 Update all simple cases of switching to IWorkingBeatmap 2021-11-17 20:56:57 +09:00
Dean Herbert
62d670a3ca Update DifficultyCalculator to take an IWorkingBeatmap 2021-11-15 19:16:48 +09:00
Dean Herbert
5be22916bb Add test coverage against frequency ramp increasing between fail animation and fail screen 2021-11-14 14:41:17 +09:00
Dean Herbert
6a098a8634 Rename BeatmapInfo.OnlineBeatmapID to OnlineID to match interface 2021-11-12 17:46:24 +09:00
Bartłomiej Dach
dbdbfc4723
Add failing test case for PP counter not initially updating 2021-11-11 16:33:31 +01:00