Skip to content

Add large payload encryption testing for Go SDK#1664

Open
aka-bo wants to merge 3 commits intomainfrom
large-payload-testing
Open

Add large payload encryption testing for Go SDK#1664
aka-bo wants to merge 3 commits intomainfrom
large-payload-testing

Conversation

@aka-bo
Copy link
Copy Markdown
Contributor

@aka-bo aka-bo commented Mar 4, 2026

Summary

  • Add standalone test tool (samples/go/largepayload/) that validates encrypt/decrypt round-trips at 25-100MB+ payload sizes, with SHA-256 checksum verification, ciphertext integrity checks, and file-based DRR persistence
  • Add large payload benchmarks (1-100MB) to the existing Go integration benchmark suite with throughput reporting
  • Include Dockerfile for Linux container validation

Motivation

Investigating reported issues with large payload (25-100MB) encryption from a downstream FFI-based consumer of the Go SDK. This tooling isolates pure Go behavior from FFI/CGO complexity to determine whether the issue originates in the SDK itself.

Test plan

  • Run standalone tool locally: cd samples/go/largepayload && go build -o largepayload . && ./largepayload -sizes 1,25
  • Run via Docker: docker build -f samples/go/largepayload/Dockerfile -t asherah-largepayload . && docker run --rm asherah-largepayload -sizes 1,25
  • Run benchmarks: cd go/appencryption/integrationtest && go test -bench=Benchmark_EncryptDecrypt_LargePayload -benchtime=1x -timeout=10m -run ^$

aka-bo and others added 3 commits March 5, 2026 12:35
Standalone tool to verify encrypt/decrypt round-trips at 25-100MB+ payload
sizes, investigating reported issues with large payloads. Generates random
data, checksums, encrypts via Asherah, persists the DRR to disk, validates
ciphertext integrity, then decrypts from file and verifies checksum match.
Includes Dockerfile for Linux container validation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sub-benchmarks for 1MB, 10MB, 25MB, 50MB, and 100MB payloads with
throughput reporting via b.SetBytes. Complements the standalone large
payload test tool for automated regression tracking.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@aka-bo aka-bo force-pushed the large-payload-testing branch from aa88d75 to a9c4c49 Compare March 5, 2026 20:41
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