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

170 Commits

Author SHA1 Message Date
Dean Herbert
8df2e359c4 Fix tests on CI 2019-10-10 17:42:15 +09:00
Dean Herbert
6268bbcfc8
Merge branch 'master' into beatmap-parsing-fallback-v2 2019-10-03 15:12:21 +08:00
Dean Herbert
a06cb54732
Merge branch 'master' into beatmap-parsing-fallback-v2 2019-09-20 15:28:08 +09:00
Dean Herbert
f306fe27d8 Add test to cover corruption case 2019-09-20 15:05:48 +09:00
Dean Herbert
ddff9882cf Fix importing archives which are nested in a single folder within a zip 2019-09-19 19:11:04 +09:00
Bartłomiej Dach
86588778b1 Implement fallback decoder registration
After the preparatory introduction of LineBufferedReader, it is now
possible to introduce registration of fallback decoders that won't drop
input supplied in the first line of the file.

A fallback decoder is used when the magic in the first line of the file
does not match any of the other known decoders. In such a case,
the fallback decoder is constructed and provided a LineBufferedReader
instance. The process of matching magic only peeks the first non-empty
line, so it is available for re-reading in Decode() using ReadLine().

There can be only one fallback decoder per type; a second attempt of
registering a fallback will result in an exception to avoid bugs.

To address the issue of parsing failing on badly or non-headered files,
set the legacy decoders for Beatmaps and Storyboards as the fallbacks.

Due to non-trivial logic, several new, passing unit tests with possible
edge cases also included.
2019-09-15 01:28:07 +02:00
Dean Herbert
9e1cb90dd8 Remove existing argument for ItemAdded event
For all usages, it looks like this was unnecessary.
2019-06-26 11:40:41 +09:00
Dean Herbert
12aa264657 Consolidate tests and check for file reference counts 2019-06-10 18:35:23 +09:00
Dean Herbert
28b2a516e3 Ensure exception is only thrown once on rollback 2019-06-10 18:13:33 +09:00
Dean Herbert
dcdb806120 Catch newly thrown exception in test 2019-06-10 17:26:56 +09:00
Dean Herbert
5b75060b94 Add test for rollback logic correctly dereferencing files 2019-06-10 16:45:45 +09:00
smoogipoo
f090e292c9 Move ArchiveModelManager import process to async flow 2019-06-10 13:42:22 +09:00
smoogipoo
00191ca940 Actually set the beatmap difficulty 2019-03-12 15:24:35 +09:00
smoogipoo
059397ac50 Remove unnecessary early return for maching beatmap IDs 2019-03-12 14:40:13 +09:00
Dean Herbert
d0ae75af6e Add tests and fix scenario where all matching are contained by duplicate candidate 2019-03-11 18:13:33 +09:00
Dean Herbert
80737b9ef8 Remove "silent" parameter; consolidate import logic 2019-02-25 18:24:06 +09:00
Dean Herbert
628b3e1119 Move osu-resources to nuget 2019-01-28 18:33:39 +09:00
Dean Herbert
8617aaa2a7 Update licence header (and remove year) 2019-01-24 17:43:03 +09:00
Dean Herbert
c45c34d400 Make beatmap importing possible elsewhere in tests 2018-12-25 19:17:21 +09:00
smoogipoo
a8ad7d4670 Add silent import parameter 2018-11-30 18:27:13 +09:00
smoogipoo
a88b69ec43 Notify of existing imports 2018-11-28 20:19:35 +09:00
smoogipoo
6c100caba7 Use existing instance of beatmap rather than adding more resources 2018-06-17 19:00:58 +09:00
ekrctb
aeeb03ff9c simpler temporary path generation 2018-06-06 18:36:43 +09:00
ekrctb
b84441ab87 Fix TestImportOverIPC 2018-06-04 22:25:18 +09:00
Dean Herbert
203691b1c7 Add import rollback test 2018-05-29 16:23:38 +09:00
Dean Herbert
cc081cad5a Simplify test osz instantiation 2018-05-29 16:23:38 +09:00
Dean Herbert
015fd9d0e7 Fix loading test method returning oldest import rather than newest 2018-05-29 16:23:38 +09:00
smoogipoo
66b3b295e7 Use IBeatmap wherever possible 2018-04-19 20:44:38 +09:00
Dean Herbert
32a74f95a5 Normalize all the line endings 2018-04-13 18:26:38 +09:00
smoogipoo
c21e820a45 One more level of nesting (we can do this better in the future) 2018-03-25 02:43:45 +09:00
Dean Herbert
e0d28564d0 Move import logic to shared implementation 2018-02-15 14:22:39 +09:00
Dean Herbert
9ed05543d7 Fix post-test conditionals from being inverse of what we want to test 2018-02-12 15:39:00 +09:00
Dean Herbert
264a0f59e2 Fix duplicate test name 2018-02-12 12:22:13 +09:00
Dean Herbert
721bb7e4dd Add proper handling for OnlineBeatmapSetID conflicts
Not yet working
2018-02-09 21:31:33 +09:00
Dean Herbert
541068235d Test import twice in a row 2018-02-09 18:23:06 +09:00
Dean Herbert
623ba652ed Share more code between tests 2018-02-09 18:20:18 +09:00
Dean Herbert
981fa379b7 Count() -> Count 2018-02-09 18:02:28 +09:00
Dean Herbert
a771ca4077 Add try-finally to ensure host is exited 2018-02-09 18:02:06 +09:00
Dean Herbert
8140ffea15 Add test for deleting then reimporting 2018-02-09 17:59:27 +09:00
Dean Herbert
a166932468 Add deletion test 2018-02-09 17:51:29 +09:00
Dean Herbert
d8da68c55f Disable test again (accidentally re-enabled) 2018-02-08 17:22:23 +09:00
Dean Herbert
789e25069f Fix non-visual tests not cleaning up previous executions 2018-02-08 17:07:59 +09:00
smoogipoo
4f5bfdb888 Remove explicit .Exit on IPC test 2018-02-08 14:03:37 +09:00
smoogipoo
74016a1482 Make sure the import tests exit their hosts 2018-02-07 15:57:16 +09:00
TocoToucan
3c11978cfa Use local functions 2018-01-15 21:42:17 +03:00
Dean Herbert
37d393bca0 Update licence headers 2018-01-05 20:21:19 +09:00
Dean Herbert
0316ec3098 Remove no-longer-necessary Thread.Sleep 2017-10-24 10:08:00 +09:00
Dean Herbert
c704c0349a Disable IPC test for now 2017-10-24 06:50:33 +09:00
Dean Herbert
7dadb7e21e Mark IPC non-parallelizable 2017-10-24 06:13:39 +09:00
Dean Herbert
aff30db89d Add thread sleep as a temporary workaround for failing tests 2017-10-22 16:21:41 +09:00
Dean Herbert
71d614b813 FIx missing columns yet again 2017-10-18 21:57:54 +09:00
Dean Herbert
00be98dba7 Query test assert conditions less often 2017-10-18 20:37:53 +09:00
Dean Herbert
799f510217 FileStore logic fixes 2017-10-17 10:25:18 +09:00
Dean Herbert
d73c0c0c98 Fix test regression 2017-10-16 13:09:01 +09:00
TocoToucan
56e8c7303c Revert "Fix inconsistent lock usage in BeatmapManager"
This reverts commit 4a064da30f.
2017-10-16 12:59:59 +09:00
TocoToucan
4a064da30f Fix inconsistent lock usage in BeatmapManager 2017-10-15 21:56:33 +03:00
smoogipoo
b178be21d1 Let's not rename columns yet 2017-10-14 14:30:58 +09:00
smoogipoo
674ad4a30c Fix compile errors 2017-10-14 12:49:03 +09:00
smoogipoo
b83d7cd4df Merge remote-tracking branch 'origin/master' into UselessToucan/EfCore
# Conflicts:
#	osu-framework
#	osu.Game.Tests/Beatmaps/IO/ImportBeatmapTest.cs
#	osu.Game/Beatmaps/BeatmapInfo.cs
#	osu.Game/Online/API/Requests/GetBeatmapSetsResponse.cs
2017-10-14 12:38:59 +09:00
Dean Herbert
bf6ab77b0e Always use live queries to ensure waiting asserts actually get dynamic data 2017-10-11 13:37:24 +09:00
Dean Herbert
b6cfc49b06 Improve resilience of beatmap import test
Fixes this happening https://ci.appveyor.com/project/peppy/osu/build/master-4694/tests
2017-10-11 12:41:43 +09:00
TocoToucan
6a4198d0d6 Initial EF Core commit 2017-10-04 22:52:12 +03:00
Dean Herbert
990ef3ca56 Make import tests more resilient to race condition failures
Also centralises wait-or-assert logic.
2017-09-27 14:51:01 +08:00
Dean Herbert
bbc990a6fd Assign a name to individual import tests to avoid file contention 2017-09-27 11:26:56 +08:00
Dean Herbert
1e6c480791 Add back missing tests 2017-09-25 11:58:37 +08:00
Dean Herbert
393aa12eec Remove old files 2017-09-19 16:06:59 +09:00
Dean Herbert
e777ccc339 Avoid threading conflicts when resetting the database in unit tests 2017-08-23 14:42:46 +09:00
Dean Herbert
5f53426a9a *Database -> *Store
Welcome back BeatmapManager
2017-07-27 16:56:41 +09:00
Dean Herbert
cbe7b08642 Make BeatmapStore's BeatmapDatabase private 2017-07-27 15:34:13 +09:00
Dean Herbert
96b08b8777 Simplify and document DatabaseStore API 2017-07-27 15:06:10 +09:00
Dean Herbert
9e20a02c0a Split out BeatmapDatabase into BeatmapStore
Hide database functionality at a lower level in preparation from eventually making it private.
2017-07-26 16:31:34 +09:00
Dean Herbert
fce580d717 Reshuffle namespaces 2017-07-26 13:22:46 +09:00
Thomas Müller
96675965d8 Fix broken test case 2017-07-22 12:16:46 +02:00
Dean Herbert
55d999e4a1 Fix comment 2017-07-11 10:45:43 +09:00
Dean Herbert
e9b397f06f Remove assert which is not always true on some operating systems 2017-07-11 10:41:18 +09:00
Thomas Müller
4134f84559 Increase test timeout to 1 minute 2017-07-10 12:54:11 +03:00
John Neijzen
d9a9616125 EOF remove blank spaces 2017-06-08 14:56:03 +08:00
Dean Herbert
0f59645e17 Increase timeout in TestImportOverIPC
Has been failing CI randomly, so let's increase the timeout a bit.
2017-05-31 15:51:52 +09:00
Dean Herbert
a2f6d8a3e6 Fix broken test cases, remove some recursive lookup methods. 2017-05-11 19:38:28 +09:00
Huo Yaoyuan
f37c857af8 CI fixes. 2017-05-06 16:06:38 +08:00
Huo Yaoyuan
767cfaaac3 Access database recursively. 2017-05-06 15:37:53 +08:00
Dean Herbert
d06b3c898f Update framework with new DI changes. 2017-05-02 15:32:47 +09:00
Dean Herbert
4393c2cb25
Add unit tests to ensure all rulesets' beatmaps are added successfully. 2017-04-18 09:46:14 +09:00
Dean Herbert
4b6ba565f8
Fix forgotten revert. 2017-04-17 20:10:51 +09:00
Dean Herbert
af13f97435
Fix regressions and test cases. 2017-04-17 19:44:03 +09:00
Dean Herbert
a4e2f34ee7
Make a RulesetDatabase. 2017-04-17 17:43:48 +09:00
smoogipooo
a89af273be Make BeatmapInfo expose Ruleset instead of PlayMode. 2017-04-15 05:01:36 +09:00
smoogipooo
59bfc7abad Move statics to RulesetCollection to avoid conflicts later on. 2017-04-15 04:53:37 +09:00
Huo Yaoyuan
411988f038 Remove all trailing whitespaces in this repo. 2017-04-06 16:21:18 +08:00
Dean Herbert
a61cb078e3
Increase timeout on IPC wait. 2017-03-23 17:32:57 +09:00
Dean Herbert
ba10c3a8db
Revert "Merge pull request #441 from tacchinotacchi/archive-reader"
This reverts commit 6f20473e65, reversing
changes made to c76a495d3d.
2017-03-14 11:46:34 +09:00
Alex Amadori
c84a9d56f5 Fix namespace, comply with naming rules 2017-03-13 11:36:21 +01:00
Alex Amadori
caa6e9c82b General improvements 2017-03-13 11:29:24 +01:00
Alex Amadori
f969c3b7b3 Fix test 2017-03-09 21:00:13 +01:00
Dean Herbert
4430255ec4
Merge remote-tracking branch 'upstream/master' into replay
# Conflicts:
#	osu.Desktop.VisualTests/Tests/TestCasePlayer.cs
#	osu.Desktop/OsuGameDesktop.cs
#	osu.Game.Modes.Osu/Objects/Drawables/DrawableHitCircle.cs
#	osu.Game.Modes.Osu/Objects/Drawables/DrawableSlider.cs
#	osu.Game/Database/BeatmapDatabase.cs
#	osu.Game/Graphics/Cursor/OsuCursorContainer.cs
#	osu.Game/IPC/BeatmapImporter.cs
#	osu.Game/Modes/Mod.cs
#	osu.Game/Modes/Objects/Drawables/DrawableHitObject.cs
#	osu.Game/Modes/UI/Playfield.cs
#	osu.Game/Screens/Play/Player.cs
#	osu.Game/Screens/Play/PlayerInputManager.cs
2017-03-07 13:50:08 +09:00
Dean Herbert
1751532a01
Fix a few regressions. 2017-03-07 13:30:36 +09:00
Dean Herbert
0cad5d7d41
Fix most warnings. 2017-03-07 13:05:57 +09:00
Dean Herbert
aa9d85624d
Change IPC to make sense. 2017-03-04 18:51:16 +09:00
Mikal Stodal
866dbf0b1d Added new test
When file is in use, we expect it to presist removal, in other words, fail to delete.
2017-03-02 15:24:12 +01:00
Mikal Stodal
7e72911d3a Update tests 2017-02-28 14:36:11 +01:00