Dean Herbert
6ff44ed2c6
Merge pull request #19399 from frenzibyte/carousel-order-stability
...
Maintain sort stability by using carousel item ID as a fallback
2022-07-26 17:33:30 +09:00
Dean Herbert
7f75184a01
Merge branch 'master' into beatmap-update-test
2022-07-26 17:27:36 +09:00
Dean Herbert
ee694c1257
Add test coverage of no online ID scenario
2022-07-26 17:27:23 +09:00
Dean Herbert
1221cb1a42
Add comprehensive test coverage of update scenarios
2022-07-26 17:22:52 +09:00
Dan Balasescu
28e81b7c32
Merge pull request #19392 from peppy/fix-test-leftovers
...
Avoid leaving left-over files after test run completes
2022-07-26 16:33:14 +09:00
Dean Herbert
846291d203
Refactor new tests to not suck as much as the old importer tests
2022-07-26 16:33:00 +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
Dean Herbert
8370ca9765
Add ImportAsUpdate
method to IModelImporter
to avoid otehr changes
2022-07-26 15:49:04 +09:00
Dean Herbert
4efe09e7c2
Merge pull request #19377 from frenzibyte/fix-timeline-tests
...
Fix intermittent timeline zoom test failures
2022-07-26 15:18:35 +09:00
Dean Herbert
ac553d22ea
Fix left over resource file which isn't actually imported
2022-07-26 15:08:18 +09:00
Dean Herbert
59d3cc52c4
Avoid leaving left-over files after test run completes
2022-07-26 15:08:18 +09:00
Dean Herbert
7d8a78ef01
Move tests to own class
2022-07-26 14:53:20 +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
9c411c2250
Fix test nullability assertions
2022-07-25 20:06:37 +09:00
Dean Herbert
92dd1bcddb
Add test coverage of actual update flow
2022-07-25 19:51:19 +09:00
Dean Herbert
2e14d8730c
Move implementation of updating a beatmap to BeatmapImporter
2022-07-25 19:51:19 +09:00
Dean Herbert
6a3e8e31de
Centralise calls to reset online info of a BeatmapInfo
2022-07-25 19:51:19 +09:00
Dean Herbert
ec477a3ebf
Add basic coverage of current behaviour of beatmap reimport
2022-07-25 19:51:19 +09:00
Salman Ahmed
1b6ebcfd87
Remove SubmittableScore
and replace with SoloScoreInfo
extension method
2022-07-25 13:43:43 +03:00
Salman Ahmed
d04df19c7e
Remove APIScore
and replace its final usage
2022-07-25 13:13:46 +03:00
Dan Balasescu
068063a43a
Merge pull request #19371 from peppy/fix-working-cache-invalidation
...
Fix calls to `GetWorkingBeatmap` invalidating cache too often
2022-07-25 18:29:46 +09:00
Dan Balasescu
1d48cee230
Merge pull request #19373 from peppy/fix-negative-star-rating-display
...
Fix star ratings which are still being calculated showing as "-1" at song select
2022-07-25 18:20:30 +09:00
Salman Ahmed
bc2b629ee7
Let tests wait until track load before testing zoom
2022-07-25 12:07:50 +03:00
Salman Ahmed
123930306b
Refactor ZoomableScrollContainer
to allow setting up zoom range and initial zoom after load
2022-07-25 12:07:50 +03:00
Salman Ahmed
93175eaf6e
Re-enable timeline zoom test and remove flaky attribute
2022-07-25 11:39:23 +03:00
Dean Herbert
6bf2645b1a
Fix StarRatingDisplay
not handling negative numbers as "pending"
2022-07-25 15:44:54 +09:00
Salman Ahmed
6bdd1f43a2
Add visual test coverage
2022-07-25 09:40:20 +03:00
Dean Herbert
bbbc0a863f
Add test coverage of WorkingBeatmap
retrieval from BeatmapManager
2022-07-25 15:30:49 +09:00
Salman Ahmed
7facd6d822
Merge branch 'master' into beatmap-overlay-null-pp
2022-07-25 07:38:59 +03:00
Salman Ahmed
6c95c49da3
Mark test score with null PP for visual testing
2022-07-25 07:31:52 +03:00
Dan Balasescu
0226b358ee
Disable timeline test for now
2022-07-25 13:20:33 +09:00
Dean Herbert
12e2e63a1c
Merge pull request #19349 from bdach/mod-overlay/presets-column
...
Implement basic appearance of mod preset column
2022-07-25 13:10:47 +09: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
Bartłomiej Dach
6a67d76d7c
Add basic mod preset column implementation
2022-07-24 16:39:04 +02:00
Salman Ahmed
0c16ef3e2e
Add failing test case
2022-07-24 08:34:24 +03:00
Salman Ahmed
2829a7e836
Merge branch 'master' into beatmap-overlay-modded-stats
2022-07-23 10:38:13 +03:00
Salman Ahmed
c937c0548e
Add test coverage
2022-07-23 10:16:11 +03:00
Bartłomiej Dach
d0e15d04cc
Merge branch 'master' into mod-overlay/preset-panel
2022-07-22 19:23:09 +02:00
Dan Balasescu
d9105c9785
Merge pull request #19272 from peppy/beatmap-background-reprocessing
...
Add background beatmap processing
2022-07-22 20:33:26 +09:00
Dean Herbert
63fe4f265f
Merge pull request #19263 from frenzibyte/fix-failed-score-statistics
...
Populate failed scores with "miss" results for all remaining hitobjects
2022-07-22 20:16:16 +09:00
Dan Balasescu
6b69ff19c8
Remove unused using
2022-07-22 17:24:46 +09:00
Salman Ahmed
e5ab6652fd
Fix one more case of referencing old mod select overlay in tests
2022-07-22 11:12:24 +03:00
Dean Herbert
e20458421a
Update flaky timeline zoom test to output something useful
2022-07-22 16:05:20 +09:00
Bartłomiej Dach
bdff7f1ef4
Implement basic appearance of mod preset panels
2022-07-21 23:29:21 +02:00
Dean Herbert
1374738a0d
Add test coverage
2022-07-21 18:20:46 +09:00
Salman Ahmed
559254db31
Merge branch 'master' into fix-update-button-test-failure
2022-07-21 11:15:43 +03:00
Dan Balasescu
defadeef47
Merge pull request #19250 from peppy/fps-counter
...
Add game-side FPS counter
2022-07-21 16:26:38 +09: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
Salman Ahmed
9df49db45f
Include bonus/ignore judgements in statistics fill logic
2022-07-21 08:13:09 +03:00
Salman Ahmed
5513a8b6b4
Fix changelog overlay tests failing due to missing CreatedAt
date
2022-07-21 07:21:27 +03:00
Salman Ahmed
3c2a885872
Add test coverage
2022-07-21 06:01:48 +03:00
Dean Herbert
0c3d43026d
Add initial structure for fps counter
2022-07-20 23:49:19 +09:00
Dean Herbert
62133fa069
Merge pull request #19246 from frenzibyte/fix-wiki-navigation
...
Fix wiki overlay not handling path redirection properly
2022-07-20 20:08:11 +09:00
Dan Balasescu
d2a3c2594d
Fix inspections
2022-07-20 16:33:52 +09:00
Dan Balasescu
f9c02c34b6
Merge branch 'master' into beatmap-update-online-flow
2022-07-20 15:15:51 +09:00
Salman Ahmed
e7f35701db
Add failing test case
2022-07-20 09:06:11 +03:00
Dean Herbert
af4d7feb9b
Merge pull request #19244 from frenzibyte/highlight-perfect-ticks
...
Highlight perfect slider tick/end values in beatmap info leaderboards
2022-07-20 14:44:03 +09:00
Dan Balasescu
6c0d7f8099
Merge pull request #19235 from andy840119/remove-nullable-disable-in-the-mods
...
Remove nullable disable annotation in the mods.
2022-07-20 14:39:32 +09:00
Dan Balasescu
ebb9861377
Merge branch 'master' into remove-nullable-disable-in-the-mods
2022-07-20 13:28:28 +09:00
Salman Ahmed
ae6aab2555
Merge branch 'master' into edit-map-carousel
2022-07-20 02:43:47 +03:00
Salman Ahmed
4d1f9a1329
Adjust test scene to cover slider ticks
2022-07-20 00:53:10 +03:00
為什麼
2a83404dbe
Use array.empty instead of null value.
2022-07-19 20:39:41 +08:00
為什麼
ee7e7f2d3a
Mark the property as non-nullable.
2022-07-19 20:39:41 +08:00
為什麼
d9addebc93
Remove the nullable disable annotation in the test project and fix the api broken.
2022-07-19 20:39:41 +08: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
Adam Baker
59018ab5ba
Fix multiplayer queue edit button opening to the wrong beatmap
2022-07-18 23:21:16 -05:00
Bartłomiej Dach
6f37487528
Replace calls to defective Humanizer methods with correct version
2022-07-18 22:34:58 +02:00
Bartłomiej Dach
ffa9a83a4f
Add own fixed copy of defective Humanizer methods
2022-07-18 21:37:31 +02:00
Dean Herbert
e14e2cca45
Merge pull request #19212 from peppy/fix-audio-equality-fuck
...
Fix audio/background equality not correctly using `BeatmapInfo` local filenames
2022-07-18 19:28:51 +09:00
Dean Herbert
18da9ddfbf
Add test coverage of two beatmaps in same set with different audio files
2022-07-18 17:05:21 +09:00
Salman Ahmed
b5c7d07ba8
Merge branch 'master' into fix-user-profile-overlay
2022-07-18 10:27:33 +03:00
Dean Herbert
a7f19cc796
Merge pull request #19137 from frenzibyte/country-enum
...
Replace `Country` class with enumeration
2022-07-18 16:12:24 +09:00
Salman Ahmed
018da74fe8
Replace default
with CountryCode.Unknown
2022-07-18 08:54:35 +03:00
Salman Ahmed
cf99849478
CountryCode.XX
-> CountryCode.Unknown
2022-07-18 08:45:54 +03:00
Salman Ahmed
100c53f9ef
Country
-> CountryCode
2022-07-18 08:40:34 +03:00
tsunyoku
14ae183c70
update tests to match SoloScoreInfo
2022-07-17 14:22:46 +01:00
tsunyoku
71a4b8843f
update tests to new profile score format
2022-07-17 14:08:44 +01:00
Dean Herbert
acd5254f51
Add test coverage ensuring unique acronyms
2022-07-16 17:19:55 +09:00
Salman Ahmed
e62049f4a9
Update various usages of Country
inline with new enum
2022-07-16 05:04:24 +03:00
Salman Ahmed
68afb65aff
Move default state steps to SetUp
rather than duplicating per test case
2022-07-15 22:10:21 +03:00
Salman Ahmed
8f7b3cf11a
Merge branch 'master' into Save-Score-Failed
2022-07-15 22:10:19 +03:00
Dean Herbert
21433d4ecb
Add test coverage of saving a failed score
2022-07-15 20:14:58 +09:00
Dean Herbert
4b253f83c3
Fix intermittent test failures due to randomised score statistics
2022-07-15 17:39:08 +09:00
Dan Balasescu
c1dd1cfead
Merge pull request #19082 from peppy/api-solo-score-model
...
Add and consume `SoloScoreInfo`
2022-07-15 15:20:18 +09:00
Salman Ahmed
0bafafd63b
Remove unnecessary test coverage
...
RIP hours.
2022-07-15 03:20:52 +03:00
Salman Ahmed
be69514002
Fix CollectionManager
opening file multiple times across test scene
2022-07-14 06:21:23 +03:00
Salman Ahmed
cb2f0b8c67
Add test coverage for collection items
2022-07-14 03:42:03 +03:00
Salman Ahmed
9ec4fbb86d
Add test coverage for details item
2022-07-14 03:41:47 +03:00
Salman Ahmed
099a7e90d6
Centralise creation of playlist in test scene
2022-07-14 02:19:30 +03:00
Salman Ahmed
102d0415f1
Merge branch 'master' into drawable-playlist-item-collection
2022-07-14 00:10:49 +03:00
Dan Balasescu
7ed05277f8
Merge pull request #19098 from peppy/last-played
...
Add "last played" sort mode to song select
2022-07-13 22:44:50 +09:00
Dean Herbert
2e86e7ccee
Add extra steps to TestExitWithoutSave
to guarantee track type
2022-07-13 19:41:46 +09:00
Dean Herbert
c6b6f41b71
Add test coverage of AudioEquals
2022-07-13 19:41:38 +09:00
Dean Herbert
4b96d74b0c
Add test coverage of LastPlayed
updating
2022-07-13 16:43:43 +09:00
Dan Balasescu
363e23c251
Use correct HitResult in test
2022-07-12 18:47:44 +09:00
Dean Herbert
0fe3bac173
Store mods to array and update test scenes
2022-07-12 18:00:25 +09:00
Dean Herbert
779d512b44
Merge branch 'master' into mod-icon-colors
2022-07-12 14:36:55 +09:00
Dean Herbert
90fecbc9c7
Add test showing all mod icons for reference
2022-07-12 14:32:39 +09:00
Dean Herbert
aac3c166de
Merge pull request #19038 from novialriptide/replay-user-bug-fix
...
Populate user ID for locally imported scores
2022-07-12 13:55:11 +09:00
Dan Balasescu
3ca10ac02c
Merge pull request #19063 from Joehuu/fix-samples-cancel-exit
...
Fix editor playing object samples while paused after cancelling exit
2022-07-12 12:51:27 +09:00
Bartłomiej Dach
cca208b3c7
Merge branch 'master' into replay-user-bug-fix
2022-07-11 21:51:09 +02:00
Salman Ahmed
09bfca4e4a
Fix build failing on tests
2022-07-11 21:45:39 +03:00
Dean Herbert
44d2e001ed
Update various dependencies
2022-07-11 20:16:49 +09:00
Joseph Madamba
6220650ea3
Fix dialog overlay not loading in time for headless test
2022-07-11 02:29:56 -07:00
Dean Herbert
958c0fb390
Remove Appveyor.TestLogger
2022-07-11 15:01:16 +09:00
Joseph Madamba
5fcc4bf713
Add failing sample playback disabled check
2022-07-09 12:10:18 -07: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
5651eca06c
Merge branch 'master' into custom-ruleset-score-import
2022-07-08 19:03:47 +09:00
Dean Herbert
3c8f06403c
Make test work properly
2022-07-08 19:03:26 +09:00
Dan Balasescu
26d88aa326
Fix intermittent MusicController tests
2022-07-08 14:29:15 +09:00
Dan Balasescu
0bc332e90b
Merge pull request #19029 from peppy/fix-skin-import-duplicate
...
Fix skins potentially being duplicated on batch import
2022-07-08 14:18:14 +09:00
Salman Ahmed
67fa15f231
Remove no longer required context menu container in ParticipantsList
2022-07-08 01:42:55 +03:00
Dean Herbert
c53dd4a703
Fix editor saving not updating BeatmapSetInfo
's hash
2022-07-08 02:33:14 +09:00
Salman Ahmed
cd4755fbd9
Add test coverage for batch-import path
2022-07-07 18:06:35 +03:00
Dan Balasescu
f109e510ce
Merge branch 'master' into metadata-client
2022-07-07 19:45:52 +09:00
Dan Balasescu
7086779cf4
Merge pull request #19026 from peppy/async-track-operations
...
Use fire-and-forget async operations on global track
2022-07-07 19:45:03 +09:00
Dean Herbert
bf10f2db2e
Add test coverage of nested rollback for good measure
2022-07-07 18:19:01 +09:00
Dean Herbert
ac216d94a8
Fix transaction not being disposed
2022-07-07 18:15:38 +09:00
Dean Herbert
dd5b127fb5
Update various tests to enable NRT to avoid new inspection failures
2022-07-07 17:51:49 +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
79bed0abdf
Merge branch 'realm-nested-writes' into metadata-client
2022-07-07 17:37:06 +09:00
Dean Herbert
5197d0fa9e
Add automatic transaction handling to realm helper methods
2022-07-07 17:36:25 +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
Salman Ahmed
a5b01b8920
Improve asserts in TestSeekPerformsInGameplayTime
to be more descriptive
2022-07-07 01:00:55 +03:00
Dean Herbert
7053a8507b
Merge pull request #18993 from Joehuu/fix-personal-best-delete-context-menu
...
Fix personal best score showing delete option on context menu
2022-07-06 14:53:35 +09:00
Dean Herbert
59d0bac728
Hook up update flow to metadata stream
2022-07-05 21:32:00 +09:00
Joseph Madamba
f1b55d743c
Fix delete local score test having no files
2022-07-04 11:04:20 -07:00
Dean Herbert
64edc6888d
Add test coverage of corrupt realm creating backup
2022-07-04 16:45:23 +09:00
Dan Balasescu
65917fbb99
Merge pull request #18990 from andy840119/remove-nullable-disable-in-the-ruleset-filter
...
Remove nullable disable annotation in the ruleset filter.
2022-07-04 13:46:31 +09:00
andy840119
14ef771290
Remove the nullable disable annotation in the test case.
2022-07-03 21:05:14 +08: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
385bd5a1b2
Merge pull request #18965 from peppy/mark-flaky-tests
...
Mark, document and silence remaining flaky tests on standard CI runs
2022-07-03 21:41:14 +09:00
Dan Balasescu
724fd19038
Remove nullable disables
2022-07-03 21:15:13 +09:00
Dan Balasescu
982bcc4500
Merge pull request #18981 from peppy/fix-beatmap-info-wedge-test
...
Fix `BeatmapInfoWedge` test potentially failing due to quick initial load
2022-07-03 13:10:16 +09:00
Salman Ahmed
9b833524c0
Merge branch 'master' into add-realm-blocking-logging
2022-07-02 12:41:36 +03:00
Salman Ahmed
f09c46238d
Merge branch 'master' into fix-channel-id-clash
2022-07-02 10:21:47 +03:00
Dean Herbert
2cc9c579d4
Merge pull request #18969 from smoogipoo/fix-multiplayer-cross-pollution
...
Fix cross-pollution of server- and client-side multiplayer objects in tests
2022-07-02 13:18:35 +09:00
Dean Herbert
2352636bf2
Fix ID clash with announce and PM channels in chat overlay tests
...
Yet Another Issue.
https://github.com/ppy/osu/runs/7159306924?check_suite_focus=true
Not sure why announce channel was using a user id for its channel ID.
Bad copy paste?
2022-07-02 13:11:50 +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
Dean Herbert
4fd47b5fa0
Add more verbose logging to realm blocking process
2022-07-02 12:36:56 +09:00
Dan Balasescu
6644f9a72a
Fix completely incorrect test
2022-07-01 21:14:06 +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
Dan Balasescu
93c68e4329
More test hardening around ClientAPIRoom usages
2022-07-01 19:49:27 +09:00
Dean Herbert
6baccad058
Merge pull request #18821 from ggliv/locked-room-filter
...
Add room access type filter to multiplayer lounge screen
2022-07-01 19:37:43 +09:00
Dan Balasescu
b64c0d011c
Isolate client's Room from TestMultiplayerClient
2022-07-01 19:23:25 +09:00
Dan Balasescu
0be858b5bf
Rename APIRoom -> ClientAPIRoom, remove unused asserts
2022-07-01 19:21:59 +09:00
Dean Herbert
b829884861
Merge pull request #18963 from peppy/more-placeholder-suggestions
...
Add difficulty filter reset to song select "no results" suggestions
2022-07-01 17:55:23 +09:00
Dean Herbert
e213c1a4ef
Rename enum to explicitly mention it is a filter
2022-07-01 17:27:03 +09:00
Dean Herbert
9911c6cbf0
Merge branch 'master' into locked-room-filter
2022-07-01 17:17:01 +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
8f8c2a8c9a
Remove one flaky test description (fixed via #18966 )
2022-07-01 16:55:47 +09:00
Salman Ahmed
3bca439c4f
Merge branch 'master' into more-placeholder-suggestions
2022-07-01 10:52:32 +03:00
Dan Balasescu
58c9bb031f
Apply PR reviews/fixes
2022-07-01 16:51:15 +09:00
Dan Balasescu
c22e77e481
Fix test sometimes referencing old ModSelect object
2022-07-01 16:46:27 +09:00
Dean Herbert
b597843579
Mark and document remaining flaky tests
2022-07-01 16:17:40 +09:00
Dan Balasescu
409224560f
Merge pull request #18874 from peppy/realm-fix-async-write-after-disposal
...
Ensure all async writes are completed before realm is disposed
2022-07-01 15:29:01 +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
andy840119
d94f700ab1
Remove the nullable disable annotate in the test project.
2022-06-30 23:06:49 +08:00
Dean Herbert
447b496eff
Merge branch 'master' into realm-fix-async-write-after-disposal
2022-06-30 19:07:15 +09:00
Dean Herbert
84ecd524c8
Move wait steps upwards
2022-06-30 17:58:43 +09:00
Dean Herbert
7ab8335935
Fix various multiplayer test failures due to not waiting for ongoing operation
...
As seen at
https://teamcity.ppy.sh/buildConfiguration/Osu_Build/1138?hideProblemsFromDependencies=false&hideTestsFromDependencies=false&expandBuildChangesSection=true&expandBuildTestsSection=true .
2022-06-30 17:42:45 +09:00
Dan Balasescu
5a346edc63
Merge pull request #18951 from peppy/fix-realm-missing-transaction-rollback
...
Fix `PerformWrite` not rolling back transaction on exception
2022-06-30 17:17:56 +09:00
Dean Herbert
98938821e5
Merge branch 'master' into beatmap-update-flow
2022-06-30 16:44:17 +09:00
Dean Herbert
10934450cc
Fix directory cleanup occurring too early during realm tests
2022-06-30 16:02:46 +09:00
Dean Herbert
0abb400f64
Add reproduction of transaction not being exited correctly
2022-06-30 15:15:09 +09:00
Dan Balasescu
c5d31f50cd
Attempt to fix flaky TestSceneAutoplay test
2022-06-30 11:38:51 +09:00
Dean Herbert
165af8392f
Merge pull request #18944 from bdach/editor-navigation-test-again-again
2022-06-30 10:37:56 +09:00
Bartłomiej Dach
8171deec49
Attempt to fix editor navigation test failures again
...
First of all, stop relying that `InputManager` will successfully press
the gameplay test button, because it won't if it's obscured by the
notification overlay. Closing the overlay in a loop doesn't work because
there's a chance that a notification is posted, then all overlays are
closed, then another notification is posted, and so the button still
isn't clickable. Instead, use the `TestGameplay()` method directly.
Secondly, the notifications will still block `EditorPlayerLoader` from
transitioning to `EditorPlayer`. Here we have no other choice than to
aggressively dismiss notifications every spin of the relevant until
step and hope we eventually progress to `EditorPlayer`.
2022-06-29 22:45:56 +02:00
Bartłomiej Dach
381deaf62d
Merge branch 'master' into fix-flaky-placeholder-test
2022-06-29 22:31:45 +02: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
13108155d3
Fix crash on visual esting TestSceneChatOverlay
due to null user
2022-06-30 03:43:56 +09:00
Dean Herbert
a3b4a515fc
Merge branch 'master' into realm-fix-async-write-after-disposal
2022-06-29 22:39:05 +09:00
Joseph Madamba
36e71d39f2
Fix one more mod settings test
2022-06-28 09:54:18 -07:00
Joseph Madamba
d07c2a64b9
Remove unused using
2022-06-28 08:39:09 -07:00
Joseph Madamba
f07107aba9
Fix failing diff adjust slider tests
2022-06-28 08:38:15 -07:00
Dean Herbert
ed1b809f54
Add missing request handling to actually join PM channels
2022-06-28 18:11:37 +09:00
Dean Herbert
21d31ee218
Ensure joined channels are actually joined to avoid unexpected tab order
2022-06-28 18:11:37 +09:00
Dean Herbert
d64959ad0c
Add test coverage of async writes during a blocking operation
2022-06-28 17:07:49 +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
Dan Balasescu
8e4a6c43b5
Merge pull request #18914 from peppy/spectator-playback-test-leniences
...
Increase leniences on `TestSceneSpectatorPlayback.TestWithSendFailure`
2022-06-28 16:15:51 +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
c1075d113f
Add logging around current channel changes and join requests
...
Tracking down a flaky test
(https://teamcity.ppy.sh/buildConfiguration/Osu_Build/553?hideProblemsFromDependencies=false&expandBuildTestsSection=true&hideTestsFromDependencies=false ):
```csharp
TearDown : System.TimeoutException : "PM Channel 1 displayed" 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-27 23:18:55 [verbose]: 💨 Class: TestSceneChatOverlay
[runtime] 2022-06-27 23:18:55 [verbose]: 🔶 Test: TestKeyboardNextChannel
[runtime] 2022-06-27 23:18:55 [verbose]: Chat is now polling every 60000 ms
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #1 Setup request handler
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #2 Add test channels
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #3 Show overlay with channels
[runtime] 2022-06-27 23:18:55 [verbose]: Unhandled Request Type: osu.Game.Online.API.Requests.CreateChannelRequest
[network] 2022-06-27 23:18:55 [verbose]: Failing request osu.Game.Online.API.Requests.CreateChannelRequest (System.InvalidOperationException: DummyAPIAccess cannot process this request.)
[runtime] 2022-06-27 23:18:55 [verbose]: Unhandled Request Type: osu.Game.Online.API.Requests.CreateChannelRequest
[network] 2022-06-27 23:18:55 [verbose]: Failing request osu.Game.Online.API.Requests.CreateChannelRequest (System.InvalidOperationException: DummyAPIAccess cannot process this request.)
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #4 Select channel 1
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #5 Channel 1 is visible
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #6 Press document next keys
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #7 Channel 2 is visible
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #8 Press document next keys
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #9 PM Channel 1 displayed
[network] 2022-06-27 23:18:55 [verbose]: Request to https://a.ppy.sh/587 failed with System.Net.WebException: NotFound.
[network] 2022-06-27 23:18:55 [verbose]: Request to https://a.ppy.sh/503 failed with System.Net.WebException: NotFound.
[runtime] 2022-06-27 23:19:05 [verbose]: 💥 Failed (on attempt 5,550)
[runtime] 2022-06-27 23:19:05 [verbose]: ⏳ Currently loading components (0)
[runtime] 2022-06-27 23:19:05 [verbose]: 🧵 Task schedulers
[runtime] 2022-06-27 23:19:05 [verbose]: LoadComponentsAsync (standard) concurrency:4 running:0 pending:0
[runtime] 2022-06-27 23:19:05 [verbose]: LoadComponentsAsync (long load) concurrency:4 running:0 pending:0
[runtime] 2022-06-27 23:19:05 [verbose]: 🎱 Thread pool
[runtime] 2022-06-27 23:19:05 [verbose]: worker: min 1 max 32,767 available 32,766
[runtime] 2022-06-27 23:19:05 [verbose]: completion: min 1 max 1,000 available 1,000
[runtime] 2022-06-27 23:19:05 [debug]: Focus on "ChatTextBox" no longer valid as a result of unfocusIfNoLongerValid.
[runtime] 2022-06-27 23:19:05 [debug]: Focus changed from ChatTextBox to nothing.
```
This kind of logging should be helpful:
```csharp
[runtime] 2022-06-28 04:59:57 [verbose]: 🔸 Step #5 Channel 1 is visible
[runtime] 2022-06-28 04:59:57 [verbose]: 🔸 Step #6 Press document next keys
[runtime] 2022-06-28 04:59:57 [verbose]: Current channel changed to #channel-2
[runtime] 2022-06-28 04:59:57 [debug]: Pressed (DocumentNext) handled by TestSceneChatOverlay+TestChatOverlay.
[runtime] 2022-06-28 04:59:57 [debug]: KeyDownEvent(PageDown, False) handled by ManualInputManager+LocalPlatformActionContainer.
[runtime] 2022-06-28 04:59:57 [verbose]: 🔸 Step #7 Channel 2 is visible
[runtime] 2022-06-28 04:59:57 [verbose]: 🔸 Step #8 Press document next keys
[runtime] 2022-06-28 04:59:57 [verbose]: Current channel changed to test user 685
[runtime] 2022-06-28 04:59:57 [debug]: Pressed (DocumentNext) handled by TestSceneChatOverlay+TestChatOverlay.
[runtime] 2022-06-28 04:59:57 [debug]: KeyDownEvent(PageDown, False) handled by ManualInputManager+LocalPlatformActionContainer.
[runtime] 2022-06-28 04:59:57 [verbose]: 🔸 Step #9 PM Channel 1 displayed
[runtime] 2022-06-28 04:59:57 [verbose]: 🔸 Step #10 Press document next keys
[runtime] 2022-06-28 04:59:57 [verbose]: Current channel changed to test user 218
```
2022-06-28 14:00:30 +09:00
Bartłomiej Dach
1a0228415d
Wait for and dismiss notification in editor navigation test
2022-06-27 22:29:47 +02:00
Dean Herbert
569fde4b47
Add messages to all InvalidOperationException
s
...
Without this, they can be very non-descript and hard to track down
2022-06-28 01:34:25 +09:00
Dan Balasescu
396e7fc166
Merge pull request #18862 from peppy/empty-beatmap-file-fix-2
...
Fix second case of empty beatmaps being reported to sentry as errors
2022-06-27 20:37:57 +09:00
Dean Herbert
f355c3a3c9
Merge pull request #18864 from peppy/fix-realm-audio-track-test-fail
...
Centralise and harden editor-ready-for-use check
2022-06-27 19:42:49 +09:00
Dean Herbert
6203885040
Add test coverage of realm async writes
2022-06-27 19:38:14 +09:00
Dean Herbert
1fc4fa6820
Remove unnecessary Task.Run
workaround in tests
2022-06-27 19:21:05 +09:00