Repository navigation
fix(locallibrary): five Hegel property failures on main - #358
Merged
Merged
Conversation
…t in collection export
… analysis property
… write-stops property
…nts bytes past its chunks
botandbang
enabled auto-merge
November 1, 2026 17:58
bnb
approved these changes
Nov 1, 2026
Rust coverageFrom run 46. Both are held to the thresholds in .cargo/config.toml.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Five property tests on main fail from cases Hegel found after several PRs landed together.
a_filter_matches_what_the_rules_match: collection export fills an intelligent playlist withSmartList::matches, which reads a range in either order, but wrote the filter beside it as given, and a filter's date range from a later day to an earlier one holds nothing. The filter is now written low end first. Provisional: nothing records how rekordbox itself reads a reversed range.files_are_analysed_for_what_is_asked: its model predates fix: bound what crafted audio files can make decoding and tagging do #305's 768 kHz cap (e433bec). It now expects that refusal for rates over the cap, so the cap stays tested.identifying_again_from_the_cache_says_what_the_first_time_did: two equal seeds make two tracks of the same audio, which are rightly one play. The seeds are drawn distinct.a_write_that_cant_go_stops_before_the_server: feat(locallibrary): unpublish deleted sets and their recordings, and MusicBrainz IDs without the drive #311 grants barerepo:<nsid>scopes for sets and recordings, which allow writes; the test's model only countedrepo:<nsid>?.... It now matches whole scope tokens, and the failing case is pinned as an explicit case.serato::header_sizes_are_tagged_or_refused(loclib-interop): a WAV or AIFF whose header counts bytes past its last chunk (a stray byte, or junk lofty stops reading at) was tagged when the file was exactly as long as the header says, since where the chunks end was only checked for a longer file. lofty then writes the tag where it never finds it again. The chunks are now always walked, as lofty walks them, and such a file is refused. Both failing inputs are pinned as explicit cases, andchanges/property-bounds.mdsays so.Each saved case fails with its fix reverted and passes with it. locallibrary passes 2205 of 2205 loclib-analysis and loclib-interop (57 of 57) their suites, with fmt and clippy (host and windows-gnu).