Skip to content

Complete repository-owned CLI resilience coverage - #1177

Merged
sophiecarreras merged 6 commits into
masterfrom
sdkharness/resilience-upload-wire-faults
Sep 29, 2026
Merged

sophiecarreras merged 6 commits into
masterfrom
sdkharness/resilience-upload-wire-faults

Conversation

@sophiecarreras

Copy link
Copy Markdown
Contributor

Moves the remaining ten executable resilience scenarios into the CLI repository, completing all 16 CLI scenarios under the shared .sdkharness/tests.tsv contract.

This batch covers:

  • upload connection resets and the explicit no-timeout stall limitation
  • auth expiry by injected 401 and virtual-clock expiration
  • API Retry-After/backoff behavior
  • download retry and multipart upload-part retry

Verification:

  • Ruff format/check: pass
  • pytest -q test/unit/test_sdkharness_resilience.py: 23 passed
  • Runnable shadow scenarios match the legacy harness results
  • Full 16-scenario standing-adapter rehearsal: 13 PASS / 2 known FAIL / 1 valid SKIP

Known findings are preserved, not hidden: upload.retry_408 maps to b2sdk#605; api.retry_after_503 maps to b2sdk#606; upload.stall reports no-client-option because the CLI exposes no supported request-timeout control.

@sophiecarreras sophiecarreras added testing -changelog Skip changelog checking in CI labels Sep 29, 2026
@sophiecarreras
sophiecarreras merged commit 2584343 into master Sep 29, 2026
19 of 33 checks passed
@sophiecarreras
sophiecarreras deleted the sdkharness/resilience-upload-wire-faults branch September 29, 2026 15:40
sophiecarreras added a commit that referenced this pull request Oct 15, 2026
…ilience executable

- large.concurrent_parts and large.parallel_download now observe overlapping
  b2_upload_part requests and download streams (ranged GETs) through a loopback
  observing proxy with a client-side hold, and verify the uploaded bytes.
- resilience-upload.py follows LATEST_STABLE_VERSION and asserts it runs from
  this checkout, accepts contentSha1 'none' only for large files, names the
  scenario in the result line on configuration failure, and retries only its
  own authorize setup step.
- Proxy variables are scrubbed from every CLI child environment and the
  printed-URL fetch bypasses ambient proxies.
- Unit tests for the loopback and fixed-credential guards.
- Changelog fragments, including the migration PRs #1171-#1177.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

-changelog Skip changelog checking in CI testing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant