build: bump Abstractions + TestKit to 0.22.0 - #202
Closed
Chris-Wolfgang wants to merge 1 commit into
Closed
Conversation
Chris-Wolfgang
force-pushed
the
feat/bump-abstractions-0.20-testkit-0.13
branch
from
August 3, 2026 01:54
9a1a6b5 to
7cb597b
Compare
Chris-Wolfgang
changed the base branch from
vNext
to
feat/sourcegen-descriptors
August 3, 2026 01:54
…d token Bump Wolfgang.Etl.Abstractions 0.16 -> 0.22.0 (src) and Wolfgang.Etl.TestKit / TestKit.Xunit 0.13 -> 0.22.0 (tests). 0.22 is fully additive — no breaking change — so this is a straight recompile plus two adaptations: - Honour a pre-cancelled token in LoadWorkerAsync (LoaderBaseContractTests contract, present since TestKit 0.13): check cancellation before any read or pre-action; extracted the finalize tail to FinalizeLoadAsync (MA0051). - Migrate the timer contract to TestKit 0.22: the base now drives progress timing via ManualProgressTimerCore + WithManualProgressTimer, so CreateSut no longer injects a timer and the retired CreateSutWithTimer override is dropped. The loader's own IProgressTimer-injection path stays (still covered by CultureInvarianceTests / SqlBulkCopyLoaderTests). Removed 3 tests now covered verbatim by the LoaderBase contract base. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Chris-Wolfgang
force-pushed
the
feat/bump-abstractions-0.20-testkit-0.13
branch
from
August 5, 2026 12:41
7cb597b to
bbd8123
Compare
Merged
This was referenced Aug 8, 2026
Owner
Author
|
Closing as superseded/stale. This branch bumps Abstractions/TestKit to 0.22, but (a) 0.22 is still only in the local feed and not on nuget.org (CI restore fails NU1102), and (b) main has since shipped v0.5.0 and evolved well past this branch's base — a rebase onto main is textually clean but semantically broken (MA0051: the pre-cancel edits collide with main's already-trimmed |
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.
Foundation for the thorough-review PR series. Bumps Abstractions 0.16→0.20 (src) and TestKit/.Xunit 0.10→0.13 (tests).
Behaviour fix the new contract surfaced: TestKit 0.13's
LoaderBaseContractTestsadds a 'pre-cancelled token reads nothing' contract, which the loader failed (it read one item — and would run the pre-action/truncate — before observing cancellation). Fixed by checking the token at the top ofLoadWorkerAsync. The finalization tail was extracted toFinalizeLoadAsyncto stay under the method-length limit.Duplicate tests removed: 3 hand-written tests now covered verbatim by the inherited contract base (item-count increment / MaximumItemCount / SkipItemCount) — pure generic
LoaderBasebehaviour, no SqlBulkCopy-specific assertions. SqlBulkCopy-specific tests kept.Verified: 273 unit tests green; whole solution builds clean on the new deps (all 5 src TFMs).
Note: vNext was first updated from main (Dependabot had already moved it to Abstractions 0.16 / TestKit 0.10). #195 (the AOT descriptor work) is unmerged and will need rebasing onto this.