Skip to content

test: cover raw bytes across the job approval lifecycle - #9605

Open
autoCAT6 wants to merge 1 commit into
OpenMined:devfrom
autoCAT6:test/job-byte-contract
Open

autoCAT6 wants to merge 1 commit into
OpenMined:devfrom
autoCAT6:test/job-byte-contract

Conversation

@autoCAT6

@autoCAT6 autoCAT6 commented Nov 1, 2026

Copy link
Copy Markdown

Summary

Add lifecycle regressions for the raw-byte submission contract adopted in #9593, related to #9551. This is a test-only follow-up; the transport and sorting fixes remain attributed to their upstream authors.

Changes

  • Run real generated Python jobs through receipt, approval and execution with UTF-8/CRLF source and a binary payload. Check that the approval retains the received hash and the inbox bytes remain unchanged.
  • Exercise newline-only and binary changes before receipt, before approval and after approval, with an execution marker that must remain absent.
  • Check API request hashes and raw payloads when a local resolver converts a request into an approved job.
  • Exercise filesystem-backed mock Drive transport, including a newline change after the sender declares the hash.

Testing

  • Python 3.12.14 on macOS ARM64: the complete syft-job test directory, the existing sync-manager unit tests and the new transport tests pass: 195 passed, including the 13 new cases.
  • The same 13 cases on pre-fix: send job files to the DO byte for byte #9593 commit e0915951 produce 5 failures and 8 passes. The current 8a39a62c source passes all 13. No production code is changed.
  • All configured hooks on the two new Python files pass with a local Node 22.23.4 runtime. The repository configuration is unchanged. Black, isort, flake8, focused mypy and Bandit checks also pass.
  • Dependencies were prepared before evaluation; the generated Python workers ran with uv offline. Drive is mocked. Native Windows, real OAuth/Drive, enclave execution and model evaluation are outside this test run.

Asana task

Not assigned.

AI-generated tests.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant