1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-15 09:42:54 +08:00
Commit Graph

490 Commits

Author SHA1 Message Date
Dean Herbert
8c60f37508 Fix cases of dynamically assigning Beatmaps to BeatmapSetInfo using list assignment 2021-11-24 13:27:37 +09:00
Dean Herbert
63642450a4
Merge branch 'master' into fix-working-beatmap-wrong-exception-type 2021-11-21 15:50:07 +09:00
Dan Balasescu
a06b361fe2
Merge pull request #15705 from bdach/fix-difficulty-cache-caching-zeroes
Fix zero star difficulty values being cached when diffcalc was interrupted
2021-11-21 15:45:29 +09:00
Bartłomiej Dach
6100bf66a6
Clean up cancellation handling in WorkingBeatmap
After the recent changes introducing cancellation support to
`WorkingBeatmap`, it turned out that if the cancellation support was
used, `GetPlayableBeatmap()` would raise timeout exceptions rather than
the expected `OperationCanceledException`.

To that end, split off a separate overload for the typical usage, that
catches `OperationCanceledException` and converts them to beatmap load
timeout exceptions, and use normal `OperationCanceledException`s in the
overload that requires a cancellation token to work.
2021-11-20 17:23:55 +01:00
Bartłomiej Dach
15feb17da8
Change difficulty cache storage type to nullable
The recent changes related to adding support for working beatmap load
cancellation exposed a flaw in the beatmap difficulty cache. With the
way the difficulty computation logic was written, any error in the
calculation process (including beatmap load timeout, or cancellation)
would result in a 0.00 star rating being permanently cached in memory
for the given beatmap.

To resolve, change the difficulty cache's return type to nullable.
In failure scenarios, `null` is returned, rather than
`default(StarDifficulty)` as done previously.
2021-11-20 17:00:50 +01:00
Dean Herbert
59e763467f Move StoragePath implementation to an extension method 2021-11-19 16:08:38 +09:00
Bartłomiej Dach
8528cab40b
Add test coverage for ruleset load failure scenario 2021-11-17 22:10:45 +01:00
Dean Herbert
4d11794d31 Add test coverage of GetPlayableBeatmap timeout and cancellation 2021-11-17 11:11:25 +09:00
Dean Herbert
692e846acd Rename BeatmapSetInfo.OnlineBeatmapSetID to OnlineID to match interface 2021-11-12 17:52:44 +09:00
Dean Herbert
6a098a8634 Rename BeatmapInfo.OnlineBeatmapID to OnlineID to match interface 2021-11-12 17:46:24 +09:00
Dean Herbert
5345018d4c Add test coverage of failed imports 2021-11-12 16:12:44 +09:00
Dean Herbert
51a353e12d Rename BeatmapInfo.Version to DifficultyName to match underlying interface 2021-11-11 17:20:53 +09:00
Dean Herbert
78aef9ce86
Merge branch 'master' into remove-stupid-weak-reference-bindable-events 2021-11-08 13:35:49 +09:00
Dean Herbert
54f72d68ca Revert weird event flow in model manager/importers 2021-11-05 19:12:49 +09:00
Dean Herbert
ed07ee8c61 Update all existing usages of AuthorString/AuthorId
Unfortunately the getters need to be left in place else EF breaks.
2021-11-04 18:59:37 +09:00
Dean Herbert
b9983add15 Rename User to APIUser and move to correct namespace 2021-11-04 18:21:31 +09:00
Dean Herbert
09f9731d74 Add temporary disable of failing r# inspection 2021-11-04 15:09:04 +09:00
Dean Herbert
601b218119 Add test coverage for characters which are invalid in zip storage 2021-11-03 16:45:16 +09:00
Dean Herbert
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
Dean Herbert
aa0762ebe2 Add test coverage for failing slider case 2021-10-26 17:35:03 +09:00
Dean Herbert
99d01f2162 Fix a couple of new layout inspections introduces in Rider 2021.3 EAP5 2021-10-24 23:51:49 +09:00
smoogipoo
bc37cb6f43 Merge branch 'master' into no-more-difficulty-control-points-info 2021-10-08 18:41:17 +09:00
Dean Herbert
b339c149d8 Copy BaseDifficulty to Beatmap<T> and move all write operations across 2021-10-06 15:10:45 +09:00
Dean Herbert
15ec315ec6 Fix test runs hanging due to missing ConfigureAwait 2021-10-05 02:07:00 +09:00
Dan Balasescu
4bd1083388
Merge pull request #14903 from peppy/importer-returns-live
Add `ILive<T>` and use as return type of `Import` methods
2021-10-04 20:16:32 +09:00
smoogipoo
4871db2f86 Merge branch 'master' into importer-returns-live 2021-10-04 19:42:36 +09:00
Dean Herbert
853cf6feaa Rename last remaining BeatmapInfo Beatmap usage 2021-10-04 17:35:53 +09:00
Dean Herbert
916342c837 Merge branch 'master' into importer-returns-live 2021-10-04 16:24:26 +09:00
smoogipoo
69c2b7dc59 Merge branch 'master' into rename-beatmap-info-beatmap-fields 2021-10-04 16:03:22 +09:00
Bartłomiej Dach
281a3a0cea
Add test case for legacy loop count behaviour 2021-10-02 18:40:41 +02:00
Dean Herbert
ec61c3c5ee Rename all remaining cases 2021-10-03 00:55:29 +09:00
Dean Herbert
a2e61883e3 Initial push to use ILive in import process 2021-09-30 22:55:25 +09:00
Dean Herbert
46bafb6252 Merge branch 'master' into no-more-difficulty-control-points-info 2021-09-28 13:53:56 +09:00
Dean Herbert
78e7755df1 Re-enable IPC import test 2021-09-21 17:54:25 +09:00
Dean Herbert
e0bbc677d2 Fix TestRollbackOnFailure not cleaning up after itself 2021-09-17 16:23:09 +09:00
Bartłomiej Dach
cd181452be
Add decoding support for SamplesMatchPlaybackRate 2021-09-12 16:45:27 +02:00
Dean Herbert
5f61936700 Update legacy encoder tests to only compare pieces we care about 2021-09-10 17:29:09 +09:00
Dean Herbert
1952ebece9 Update tests to use more correct control point definitions 2021-09-06 22:04:51 +09:00
Dean Herbert
8ffcea2e51 Remove unnecessary null checks 2021-09-06 21:32:43 +09:00
Dean Herbert
3c7a34bdbd Move mania-specific conversion to converter 2021-09-06 21:06:13 +09:00
Dean Herbert
b2a14b13dc Update outdated tests 2021-09-03 17:11:12 +09:00
Dean Herbert
a3d9ab1e2e Move approach rate to EffectControlPoint 2021-09-03 16:58:16 +09:00
Dean Herbert
071c56e90b Update usages of DifficultyPointAt 2021-09-03 16:58:16 +09:00
Dean Herbert
eb21ed08f8 Update test to only compare HitObjects 2021-08-31 14:51:14 +09:00
Dean Herbert
ce0d7cce2d Merge branch 'remove-ijsonserializable' into no-more-sample-control-points-info 2021-08-31 14:40:54 +09:00
Dean Herbert
a2cff75fc0 Fix editor not cloning control points as expected 2021-08-30 21:55:08 +09:00
Dean Herbert
2115d6f93e Add test coverage of legacy sample point recreation 2021-08-30 17:14:53 +09:00
Dean Herbert
ccacf56dd8 Move to legacy namespace 2021-08-30 17:14:53 +09:00
Dean Herbert
7257aae7f2 Move samples to LegacyControlPointInfo 2021-08-30 17:14:53 +09:00
Dean Herbert
4adfe9a6dc Add test coverage of double-convert stability 2021-08-30 15:30:04 +09:00
Dean Herbert
6dcd9427ac Remove bindable usage in PathControlPoint
This is quite a breaking change, but I think it is beneficial due to the large amount of usage of this class.

I originally intended just to remove the allocations of the two delegates handling the `Changed` flow internally, but as nothing was really using the bindables for anything more than a general "point has changed" case, this felt like a better direction.
2021-08-26 12:33:53 +09:00
Bartłomiej Dach
a6c2cbd2e5
Add countdown settings to beatmap info model 2021-08-24 21:55:10 +02:00
Bartłomiej Dach
43b3845970
Remove redundant string interpolation 2021-08-21 16:35:40 +02:00
Bartłomiej Dach
f642546d6a
Add failing test case 2021-08-21 15:50:33 +02:00
Bartłomiej Dach
479401e533
Add option to set own computation function in test 2021-08-21 15:50:32 +02:00
Salman Ahmed
73b40a6244 Switch to until step to account for asynchronous operations 2021-08-20 05:29:30 +03:00
Salman Ahmed
d98742522b Remove unused using directive 2021-08-20 04:40:03 +03:00
Salman Ahmed
4d9c415e73 Remove unnecessary queue in beatmap difficulty cache tests 2021-08-20 04:37:35 +03:00
Salman Ahmed
a329216ff3 Convert beatmap difficulty test into test scene and extend coverage 2021-08-17 05:46:11 +03:00
Bartłomiej Dach
6108451449
Retrieve separated skin instance from working beatmap for editing 2021-08-15 21:18:09 +02:00
Dean Herbert
399c3b0be8 Rename property, reword xmldoc and improve readability of update code 2021-07-21 17:32:56 +09:00
Salman Ahmed
9d92b795fa Revert making ComboOffsets legacy and define BeatmapSkinComboIndex instead 2021-07-20 14:15:43 +03:00
Salman Ahmed
554652b033 Merge branch 'refactor-combo-colour-retrieval' into legacy-beatmap-combo-offset 2021-07-20 10:11:52 +03:00
PercyDan54
e1c646b9b2
Remove redundant arguments 2021-07-05 23:52:39 +08:00
Dan Balasescu
697b07acb1
Merge branch 'master' into fix-beatmap-import-fk-failure 2021-06-29 11:36:31 +09:00
Dean Herbert
128f08ccba Fix test oversights 2021-06-28 10:42:28 +09:00
Dean Herbert
90b87cbb9e Add back unidirectional online id check 2021-06-28 10:11:27 +09:00
Dean Herbert
9a96cd4a1d Revert "Remove comparison of online beatmap IDs during dedupe checks"
This reverts commit 15af28d2a0.
2021-06-28 09:54:18 +09:00
Dean Herbert
cd9aa38d3d Add back ignore cases for intentionally broken tests 2021-06-27 20:24:16 +09:00
Dean Herbert
15af28d2a0 Remove comparison of online beatmap IDs during dedupe checks 2021-06-27 14:48:57 +09:00
Dean Herbert
f6180b7e6a Mark static methods as such 2021-06-23 17:37:26 +09:00
Dean Herbert
ed0552a9e8 Add failing test for FK constraint conflict on reimporting modified beatmap with scores present 2021-06-23 17:34:56 +09:00
Salman Ahmed
4f6de6fdc6 Implement GetSkin() for other working beatmaps 2021-05-21 20:21:29 +03:00
Bartłomiej Dach
b51d038088 Ignore possible path-related nulls
They're all in test code anyway, so any issue there will cause a test to
fail.
2021-05-15 00:09:34 +02:00
smoogipoo
7c8dd91674 Rename test to better match tested class 2021-05-11 09:29:15 +09:00
Salman Ahmed
bf6e98345c Remove and update pre-existing test cases 2021-05-05 14:23:18 +03:00
Naxess
400f8b3938 Add GetStream to IWorkingBeatmap
This is necessary to obtain the filesize of the audio and background files.
2021-04-17 17:47:13 +02:00
Leon Gebler
dd902441b0 Add tests for consecutive perfect-curve segments 2021-04-06 13:32:17 +02:00
smoogipoo
9c1320e18b Add test 2021-04-06 14:34:26 +09:00
smoogipoo
42e816fcae Add failing tests 2021-04-05 17:48:29 +09:00
Dean Herbert
541237ef16 Use a shorter test beatmap for tests which need to run to completion 2021-02-22 14:48:04 +09:00
Bartłomiej Dach
d7e5a21213 Add failing test case 2021-01-31 15:43:58 +01:00
Dean Herbert
20d04d6933 Fix Storyboard's FirstEventTime not finding the true earliest event 2021-01-04 15:16:01 +09:00
Dean Herbert
cb7df0fe11 Add failing test for storyboard start time ordering 2021-01-04 15:15:23 +09:00
Dean Herbert
8eb1076fd7 Add test coverage 2020-12-07 18:18:14 +09:00
Dean Herbert
eb38bc4b4c Add the ability to import into ArchiveModelManagers from a stream 2020-12-07 18:09:18 +09:00
Dean Herbert
b69ada64e8 Update BeatmapDifficultyCache to use base implementation logic 2020-11-06 14:31:21 +09:00
Dean Herbert
5113d4af8f Rename BeatmapDifficultyManager to BeatmapDifficultyCache 2020-11-06 13:14:29 +09:00
Dan Balasescu
1b53e6c782
Merge branch 'master' into sample-lookup-improvements 2020-11-02 13:04:35 +09:00
Bartłomiej Dach
8a54fdd4e6 Ensure LoadOszIntoOsu returns actual imported map 2020-11-01 14:25:33 +01:00
Dean Herbert
fed4accfea Update tests to refect new mappings 2020-10-30 12:12:30 +09:00
Dean Herbert
88ffcb9234 Update EndsWith usages 2020-10-16 12:58:34 +09:00
smoogipoo
58194b4a31 Fix incorrect blank lines 2020-10-12 19:36:35 +09:00
smoogipoo
36a8f61d26 Add failing test for implicit segments 2020-10-12 18:58:07 +09:00
smoogipoo
e70d261474 Add failing test 2020-10-12 18:03:41 +09:00
Bartłomiej Dach
75b26d0cde Add failing test cases 2020-10-10 18:08:19 +02:00
Dean Herbert
3cef93ee27 Centralise import test helper methods 2020-09-18 18:05:33 +09:00
Dean Herbert
0b289d2e77 Add hostname differentiation to beatmap tests too 2020-09-17 13:07:05 +09:00
Dean Herbert
70bc0b2bd0 Add back inadvertently removed spacing 2020-09-14 17:52:59 +09:00
Dean Herbert
6b60888139 Merge branch 'fix-post-convert-json-serialize' into editor-clipboard 2020-09-14 17:38:53 +09:00