Skip to content

Fix flaky storage progress tests, bump AWSSDK.S3 to 4.0.103.4 - #126

Merged
Menelion merged 1 commit into
masterfrom
fix/flaky-progress-tests
Sep 24, 2026
Merged

Menelion merged 1 commit into
masterfrom
fix/flaky-progress-tests

Conversation

@Menelion

Copy link
Copy Markdown
Contributor

Summary

  • Flaky test fix: SftpStorageTests.ProgressChanged_LargeFile_RaisesEvents failed intermittently on Ubuntu CI (Assert.All() Failure: 1 out of 480 items… Item: null). SSH.NET invokes the upload progress callback from multiple threads, and the test collected events in a plain List<T>, so concurrent Add calls occasionally left a null slot. The SFTP, FTP (FluentFTP's Progress<T> posts to the thread pool) and S3 (parallel multipart parts) progress tests now use ConcurrentQueue<T>. WebDAV's ProgressStream is sequential and is unchanged. Test-only change; no library code touched.
  • Dependency: AWSSDK.S3 4.0.103.1 → 4.0.103.4, superseding the closed Deps: Bump AWSSDK.S3 from 4.0.103.1 to 4.0.103.4 #124 (whose CI failure was this flaky test).

Note

LocalStack is currently not starting in CI: localstack/localstack:latest now requires LOCALSTACK_AUTH_TOKEN ("License activation failed… No credentials were found"), so the S3 integration tests are skipped. Fixing that needs either the secret (as both an Actions and a Dependabot secret) or pinning an older LocalStack image; not addressed here.

Test plan

  • dotnet build: 0 warnings, 0 errors
  • dotnet format --verify-no-changes: clean
  • dotnet test locally: 819 passed, 130 integration tests skipped
  • CI green on Ubuntu/Windows/macOS

SSH.NET invokes the upload callback from multiple threads, FluentFTP's
Progress<T> posts to the thread pool, and S3 multipart parts upload in
parallel, so ProgressChanged can fire concurrently. Concurrent List<T>.Add
occasionally left a null slot, failing
SftpStorageTests.ProgressChanged_LargeFile_RaisesEvents. Collect events in
a ConcurrentQueue instead.

Also bump AWSSDK.S3 from 4.0.103.1 to 4.0.103.4 (supersedes #124).
@codecov

codecov Bot commented Sep 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 78.82%. Comparing base (05b860c) to head (df67113).

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #126   +/-   ##
=======================================
  Coverage   78.82%   78.82%           
=======================================
  Files          44       44           
  Lines        4874     4874           
  Branches      726      726           
=======================================
  Hits         3842     3842           
  Misses        775      775           
  Partials      257      257           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@Menelion
Menelion merged commit 63f560b into master Sep 24, 2026
5 checks passed
@Menelion
Menelion deleted the fix/flaky-progress-tests branch September 24, 2026 06:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant