1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-18 03:12:54 +08:00
Commit Graph

9004 Commits

Author SHA1 Message Date
Dean Herbert
5ff4e6a4fe Add test coverage for outdated ruleset 2022-08-29 14:26:12 +09:00
Dan Balasescu
c0b13c7e1f Refactor ScoreProcessor ComputeScore() methods 2022-08-29 13:51:10 +09:00
HiddenNode
d4a52baa56 Added visual test for UprightAspectMaintainingContainer 2022-08-29 00:07:42 +01:00
Dan Balasescu
289b6f1a58
Merge pull request #19924 from peppy/fix-playlist-overlay-test-failures
Fix intermittent test failures in `TestScenePlaylistOverlay`
2022-08-26 23:36:16 +09:00
Salman Ahmed
1fd1672d89
Merge branch 'master' into mod-validation-tests 2022-08-26 15:00:07 +03:00
Dean Herbert
6dc859973b
Merge branch 'master' into fix-playlist-overlay-test-failures 2022-08-26 20:25:53 +09:00
Dean Herbert
90ff0864c0
Merge branch 'master' into no-gameplay-clock-editor-offset 2022-08-26 20:25:21 +09:00
Dan Balasescu
91e044542d
Merge pull request #19828 from peppy/no-gameplay-clock-gameplay-offset
Introduce `FramedBeatmapClock` (and use in gameplay flow)
2022-08-26 20:21:34 +09: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
Dean Herbert
9c9238d6e8 Fix TimelineTestScene's beatmap getting overwritten by EditorClockTestScene 2022-08-26 18:38:52 +09:00
Dean Herbert
4b72e55770 Fix various test scenes not adding EditorClock to the draw hierarchy 2022-08-26 18:08:43 +09:00
Dean Herbert
9050f54681 Split out test assertion methods to read better 2022-08-26 16:56:03 +09:00
Dean Herbert
a8c699610a Fix lead in tests not waiting for player to start running
The tests are only meant to ensure that gameplay eventually starts.

The case where failures can occur is where the master clock is behind
the player clock (due to being in lead-in time). Because the test is
running in real-time, it can take arbitrary amounts of time to catch up.

If it took too long, the test would fail.
2022-08-25 18:00:14 +09:00
Dean Herbert
ddb434f47a Rename asserts to method names to make it easier to track in logs 2022-08-25 17:30:13 +09:00
Dean Herbert
a5c61d9a52 Improve understandability of TestMostInSyncUserIsAudioSource 2022-08-25 16:47:33 +09:00
Dean Herbert
3a17c6df08 Merge branch 'master' into no-gameplay-clock-gameplay-offset 2022-08-25 16:24:55 +09:00
Salman Ahmed
eb57ea76ab
Merge branch 'master' into legacy-combo-increase 2022-08-25 09:46:12 +03: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
Dan Balasescu
73f41439ae Remove redundant qualifiers 2022-08-25 13:34:58 +09:00
Ryuki
5cddc7ed1f
Code cleanup (CPS) 2022-08-24 17:13:23 +02:00
Dan Balasescu
c9ff39f8c3 Add HitResult.LegacyComboIncrease 2022-08-24 19:46:41 +09:00
Dean Herbert
5129716612 Merge branch 'master' into kps 2022-08-24 18:18:45 +09:00
Dean Herbert
ddccf4defe Remove dollar sign 2022-08-24 17:17:59 +09:00
Dean Herbert
27b57947e4 Rename PlayerArea.GameplayClock to SpectatorPlayerClock for clarity 2022-08-24 17:13:14 +09:00
Dean Herbert
5f01f461b3 Ensure elapsed time is always non-zero when advancing SpectatorPlayerClock 2022-08-24 17:13:14 +09:00
Dean Herbert
5079e0d83d Merge branch 'master' into no-gameplay-clock-gameplay-offset 2022-08-24 16:52:10 +09:00
Khang
adea29c106 Fix test failures 2022-08-24 03:37:33 -04:00
Dean Herbert
d33d705684 Make WaitingOnFrames non-bindable 2022-08-24 16:03:38 +09:00
Khang
c7d4c739aa Add a basic NaN control point test for LegacyBeatmapDecoder 2022-08-24 02:53:55 -04:00
Dean Herbert
995e6664b6 Rename spectator clock sync classes 2022-08-24 15:13:08 +09:00
Dean Herbert
31f657fe01 Remove ISpectatorPlayerClock interface
Too many levels of redirection.

One interface with one implementation is not useful, IMO.
2022-08-24 15:12:57 +09:00
Dean Herbert
46d000b8ce Fix test regressions on windows due to Reset never being called
I'm not sure this is great. Without calling `Reset`, the correct initial
time may not be set (ever). In practice this doesn't happen anywhere in
the gameplay flow, but something worth noting.

This change is required now that `Reset` isn't called in the
constructor. It couldn't be called in the constructor because it would
cause the audio track to reset its position too early.

What an ordeal.
2022-08-24 11:50:20 +09:00
Dean Herbert
ec61a94dc9 Merge branch 'master' into no-gameplay-clock-gameplay-offset 2022-08-23 17:36:06 +09:00
Dean Herbert
9a579871c0 Remove pointless initial import 2022-08-23 17:33:53 +09:00
Dean Herbert
a62deae3cc Use local realm rather than fetching from dependencies 2022-08-23 17:33:53 +09:00
Dean Herbert
690e048864 Ensure all initial imports are completed before running playlist overlay tests steps 2022-08-23 17:33:53 +09:00
Dean Herbert
553897f2f0 Remove AddClock method to CreateManagedClock 2022-08-23 13:52:43 +09:00
Khang
a81672f3dc Use an infinite tick distance instead of directly disabling tick generation for SliderEventGenerator 2022-08-22 23:31:24 -04:00
Khang
9f08c474ca Treat NaN slider velocity timing points as 1.0x but without slider ticks 2022-08-22 21:58:38 -04:00
Khang
e8d4bc4497 Allow NaN during beatmap parsing if desired 2022-08-22 21:04:26 -04:00
Dan Balasescu
5d3d8681d4 Invert creation of clocks in multi spectator 2022-08-22 19:14: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
Dean Herbert
058d67f8e8
Merge pull request #19695 from naoei/ruleset-localization
Change most ruleset-accessible string types to Localisable strings
2022-08-22 16:13:23 +09:00
Dan Balasescu
0815b01b75
Merge pull request #19783 from bdach/mod-select/presets-dont-open-customisation
Fix selecting preset containing Difficulty Adjust automatically opening customisation panel
2022-08-22 15:44:00 +09:00
Dean Herbert
af2e82d7d5 Move operation of setting GameplayClockContainer.StartTime to Reset call 2022-08-22 14:11:06 +09: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
Ryuki
3ac6500423
Add new test resources for CPS counter 2022-08-21 03:00:51 +02: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
43879633db Ensure setting a StartTime on a GameplayClockContainer always resets to the new time 2022-08-18 18:54:10 +09:00
Dean Herbert
728cd96508 Update TestSceneLeadIn to use new assert style 2022-08-18 18:54:10 +09:00
Dan Balasescu
fa167b1d12
Merge pull request #19779 from peppy/no-gameplay-clock
Remove all remaining usage of `GameplayClock`
2022-08-18 18:52:57 +09:00
Dan Balasescu
7878231a73
Merge pull request #19817 from peppy/various-test-fixes
Refactor some tests
2022-08-18 14:39:43 +09:00
Dean Herbert
e7ddbc41c8
Merge branch 'master' into no-gameplay-clock 2022-08-17 22:21:10 +09:00
Dan Balasescu
11301f52b7
Merge pull request #19814 from peppy/update-framework
Update framework (and other dependencies)
2022-08-17 19:24:01 +09:00
Dean Herbert
553ae4781f Remove unnecessary local implementation in TestScenePlaybackControl 2022-08-17 19:21:54 +09:00
Dean Herbert
4ef4d66f49 Add some extra initial state checks to TestSceneEditorSeekSnapping 2022-08-17 19:21:46 +09:00
Dan Balasescu
3a0017c87b Fix flaky quick retry test 2022-08-17 17:09:44 +09:00
Dean Herbert
a5ac69a554 Update various dependencies 2022-08-17 16:57:56 +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
6761f869f9 Modify flow to avoid weird bindable and value resetting 2022-08-16 14:17:35 +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
Bartłomiej Dach
a494e55d93
Adjust test scene to reflect new behaviour 2022-08-15 20:43:19 +02:00
Bartłomiej Dach
f0ad31b650
Add failing test case 2022-08-15 20:38:22 +02:00
Bartłomiej Dach
5ff2e41a55
Add preset column to mod select test scene 2022-08-15 18:38:37 +02:00
Dean Herbert
1696a905ba Reduce exposed properties in GameplayClockContainer 2022-08-15 20:22:36 +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
Dean Herbert
58146598c8 Update TestSceneEditorClock to use constraint-based assertions 2022-08-15 18:08:05 +09:00
Nao
c940f5abcb
Merge branch 'master' into ruleset-localization 2022-08-14 15:17:44 -04:00
naoei
784ce4d23d Add test coverage for localisable setting source 2022-08-14 15:06:33 -04: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
Dean Herbert
a90967715c Add test coverage of new imports not correctly being filtered by collection filter 2022-08-12 15:06:34 +09:00
Dean Herbert
5111bad86c Refactor TestScenePlaylistOverlay to use realm for testing
Removes the dual-purpose flow which existed only for testing.
2022-08-12 15:06:34 +09: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
Dean Herbert
7c6e5a1085 Add test coverage of case insensitive audio equality 2022-08-10 16:06:56 +09:00
Dean Herbert
d59f4720f1
Merge pull request #19664 from peppy/test-assertions
Update multiple tests to use new assert output for easier to understand failures
2022-08-09 23:15:16 +09:00
Dan Balasescu
41af03dec5
Merge pull request #19597 from frenzibyte/hotfix-multi-spectator-results-screen
Fix multi-spectator potentially getting stuck for passed players (hotfix)
2022-08-09 21:11:10 +09:00
Dan Balasescu
2de9e5f40f
Fix test failure 2022-08-09 20:23:45 +09:00
Dean Herbert
1270ee9624 Update multiple tests to use new assert output for easier to understand failures 2022-08-09 19:19:54 +09:00
Dean Herbert
aa9ced7f04 Add test coverage of ToolbarUserButton 2022-08-09 15:51:10 +09: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
Bartłomiej Dach
eba070a0f8
Add weak test coverage of broken audio playback after soft-delete 2022-08-08 20:30:37 +02:00
Dean Herbert
a8dee17513 Fix missing DummyRenderer in skin resources tests 2022-08-08 13:06:01 +09:00
Dean Herbert
e1189da824 Merge branch 'master' into irenderer-glwrapper 2022-08-08 12:31:53 +09:00
Dean Herbert
0537c471dc
Merge pull request #19582 from smoogipoo/apimod-json-cleanup
Don't serialise empty mod settings
2022-08-08 11:49:08 +09:00
Salman Ahmed
f75dced305 Fix possible null assignment inspection in TestScenePreviewTrackManager 2022-08-08 02:00:24 +03:00
Bartłomiej Dach
839409d7ac
Add preset column to solo mod select overlay 2022-08-07 16:20:31 +02:00
Bartłomiej Dach
de64b83532
Add test coverage for desired user selection behaviour 2022-08-07 16:20:16 +02:00
Bartłomiej Dach
25daaa56e2
Add test coverage for desired external selection behaviour 2022-08-07 15:30:20 +02:00
Dean Herbert
4a95638756
Merge branch 'master' into mod-overlay/delete-preset 2022-08-07 12:34:25 +09:00
Dean Herbert
5946124278
Merge pull request #19612 from bdach/mod-overlay/common-delete-dialog
Unify implementations of deletion dialogs
2022-08-07 12:18:03 +09:00
Bartłomiej Dach
6f6beddab5
Add test coverage for mod preset deletion flow 2022-08-06 21:58:55 +02:00
Bartłomiej Dach
9b3183b2b4
Implement mod preset deletion flow 2022-08-06 21:58:55 +02:00
Bartłomiej Dach
26b9adbe0c
Adjust collection deletion test to match new expectations 2022-08-06 21:07:21 +02:00
Bartłomiej Dach
cc353b872c
Add test coverage for other approval events 2022-08-06 18:21:57 +02:00
Salman Ahmed
789e8b4d8d Fix multi-spectator test updating state after removing user
Removing user triggers `playingUsers.Remove`, but doing so before
updating the state leads to `EndGameplay` being called with `State ==
Playing` rather than `Quit`.
2022-08-06 05:41:26 +03: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
Dan Balasescu
cf362a6b4f
Merge pull request #19529 from peppy/locally-modified-pill
Show "locally modified" pill when local modifications have been made
2022-08-05 21:12:13 +09:00
Dan Balasescu
c4b9b2a14b Merge branch 'master' into irenderer-glwrapper 2022-08-05 20:35:06 +09:00
Dean Herbert
7c952f8069 Add more test coverage of locally-modified state change 2022-08-05 14:25:10 +09:00
Dan Balasescu
0de00e9b3f Don't serialise empty mod settings 2022-08-05 14:00:53 +09:00
Ryuki
42d1bdfc95
Move KPS calculation to a standalone class 2022-08-05 04:17:01 +02:00
Dan Balasescu
c11a24b3ff Remove unused using 2022-08-04 15:05:52 +09:00
Dan Balasescu
6632367c6d Ensure skin samples are looked up in correct order 2022-08-04 14:48:12 +09:00
Bartłomiej Dach
ac9321204c
Merge branch 'master' into mod-overlay/create-preset 2022-08-03 21:21:52 +02:00
Dean Herbert
7022d9e5f8 Fix test step names being too long 2022-08-03 21:13:49 +09:00
Dean Herbert
bacbf5b7f0 Update existing test expectations 2022-08-03 20:20:06 +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
Bartłomiej Dach
add2971eb4
Implement preset creation flow with test coverage 2022-08-02 22:05:54 +02:00
Bartłomiej Dach
1b3074d098
Implement popover for creating mod presets 2022-08-02 22:03:33 +02:00
Dan Balasescu
5a1c05918f Fix test failures 2022-08-02 20:18:45 +09:00
Dan Balasescu
b4e55f7309 Apply IRenderer changes 2022-08-02 19:50:57 +09:00
Dan Balasescu
dc49862466 Merge branch 'irenderer-shaders' into irenderer-textures 2022-08-02 19:25:24 +09:00
Bartłomiej Dach
923d9a4e5f
Add failing assertions to demonstrate autosize failure 2022-08-01 22:04:14 +02: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
Dean Herbert
01cc9bd7ef
Merge pull request #19479 from frenzibyte/carousel-update-on-resume
Fix song select not updating selected beatmap card on editor resume
2022-08-02 00:48:18 +09:00
Salman Ahmed
682192dbd7 Add failing test case 2022-08-01 18:43:01 +03:00
Salman Ahmed
7c9f8648a5
Merge branch 'master' into remove-nullable-disable-in-the-audio-namespace 2022-08-01 15:25:12 +03:00
Dan Balasescu
d4eec9122f
Merge pull request #19516 from peppy/fix-editor-track-disposal-crash
Fix editor potentially playing a track post-disposal
2022-08-01 18:12:21 +09:00
Dan Balasescu
225033c3b2
Merge pull request #19517 from peppy/add-more-missing-realm-refreshres
Add more missing realm `Refresh()` calls to new beatmap import tests
2022-08-01 17:54:51 +09:00
Dan Balasescu
1d27c4f020
Merge pull request #19504 from peppy/skin-serialisation-test-coverfage
Add test coverage of deserialisation of skin layouts
2022-08-01 17:17:16 +09:00
Dean Herbert
ee68113913 Add more missing realm Refresh() calls to new beatmap import tests
As noticed at https://github.com/ppy/osu/runs/7605101313?check_suite_focus=true
2022-08-01 17:06:46 +09:00
Dean Herbert
2519706ad6 Add test coverage of editor crash 2022-08-01 16:53:49 +09:00
Dan Balasescu
47860bb966
Remove unused using 2022-08-01 16:33:59 +09:00
Dean Herbert
3b6349a145 Add test coverage of remaining components which weren't already included 2022-08-01 14:16:26 +09:00
Dean Herbert
d112743cea Improve test coverage of skin serialisation to ensure full coverage
Will fail when new skinnable components are added until they have
coverage in resources.
2022-08-01 14:04:12 +09:00
Bartłomiej Dach
5a34122a85
Fix test breakage after realm migration 2022-07-31 23:53:46 +02:00
Bartłomiej Dach
9d3cdae4bb
Fix test scene to handle restarts properly 2022-07-31 23:53:46 +02:00
Bartłomiej Dach
9dea8e3d12
Add test coverage of preset soft deletion 2022-07-31 23:53:46 +02:00
Bartłomiej Dach
c837848238
Add extended test coverage of preset realm subscription 2022-07-31 23:53:45 +02:00