Skip to content

test(interop): cross-implementation interop lanes vs tusd, tus-js, tus-py - #8

Merged
injaeryou merged 4 commits into
mainfrom
test/ecosystem-interop
Jul 22, 2026
Merged

test(interop): cross-implementation interop lanes vs tusd, tus-js, tus-py#8
injaeryou merged 4 commits into
mainfrom
test/ecosystem-interop

Conversation

@injaeryou

Copy link
Copy Markdown
Owner

Purpose

Reproducible interop suite (make interop), 4 local lanes. Stacked on feat/proxy-location.

  • ours↔ours, tusd↔our-client, our-server↔tus-js-client, our-server↔tus-py-client
  • auto-provisions latest tusd binary for host OS/arch
  • broadened scenarios: empty files, metadata, resume, deferred length, unicode, chunk boundaries
  • README documents the lanes

Test Plan

  • make interop

Test Result

  • 30 interop cases pass across all 4 lanes

Checklist
  • PR title follows Conventional Commits (type(scope): ...)
  • pytest -v passes locally
  • ruff check / ruff format --check / ty check resumable_upload clean
  • Tests added for new behavior or regression
  • No new core runtime dependencies (cloud SDKs go in optional extras)
  • If wire/header/status-code behavior changed, TUS_COMPLIANCE.md updated
  • Docs / examples updated if user-facing behavior changed

- our server/client, tusd, tus-js-client, tus-py-client pairings
- each lane covers only features the counterpart implements
- local-only; missing prerequisites skip, wired via make interop
- add make interop to the testing commands
- pairing table with covered features and prerequisites
- fetch_tusd.sh downloads the host OS/arch tusd from GitHub releases
- make interop uses PATH tusd, else fetches; skips if unavailable
- empty-file, metadata roundtrip, small-chunk, resume, deferred-length
- single-byte and exact-chunk boundaries; unicode filename download
- tus-js-client mjs gains empty/metadata/smallchunk/resume modes
- each added only where the counterpart supports it
@injaeryou
injaeryou force-pushed the test/ecosystem-interop branch from da45e08 to 99fed78 Compare July 22, 2026 10:31
@injaeryou
injaeryou force-pushed the feat/proxy-location branch from a384143 to dd699a5 Compare July 22, 2026 10:31
@injaeryou
injaeryou force-pushed the test/ecosystem-interop branch from 99fed78 to eb1be4f Compare July 22, 2026 10:40
@injaeryou
injaeryou force-pushed the feat/proxy-location branch from dd699a5 to b2ec7dc Compare July 22, 2026 10:40
@injaeryou
injaeryou force-pushed the test/ecosystem-interop branch from eb1be4f to 81f30e0 Compare July 22, 2026 10:50
@injaeryou
injaeryou force-pushed the feat/proxy-location branch from b2ec7dc to 7070638 Compare July 22, 2026 10:50
Base automatically changed from feat/proxy-location to main July 22, 2026 10:53
@injaeryou
injaeryou force-pushed the test/ecosystem-interop branch from 81f30e0 to 425d7d5 Compare July 22, 2026 11:03
@injaeryou
injaeryou merged commit 9272e58 into main Jul 22, 2026
10 checks passed
@injaeryou
injaeryou deleted the test/ecosystem-interop branch July 22, 2026 11:07
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