Skip to content

Add testing infrastructure#37

Open
JeremiahM37 wants to merge 7 commits into
wolfSSL:masterfrom
JeremiahM37:go-testing
Open

Add testing infrastructure#37
JeremiahM37 wants to merge 7 commits into
wolfSSL:masterfrom
JeremiahM37:go-testing

Conversation

@JeremiahM37
Copy link
Copy Markdown
Contributor

@JeremiahM37 JeremiahM37 commented Apr 30, 2026

Adds a Go test suite and CI infrastructure for go-wolfssl

Tests — ~80 unit tests across crypto wrappers (AES, Blake2, ChaCha20-Poly1305, Curve25519, ECC, hashes, HMAC, RNG, X509, SSL boundary), plus differential and panic-recovery suites. All gate cleanly on notCompiledIn (-174) for minimal builds.

Source fixes (separate commits, each fixing a real bug):

  • Wc_Curve25519_AllocKey / Wc_Ecc_AllocKey — allocate keys on the C heap so wolfSSL's pointer-typed struct fields don't trip cgo's "Go pointer to unpinned Go pointer" check
  • #ifndef HAVE_ALPN / WOLFSSL_CERT_EXT cgo stubs in ssl.go / x509.go so non---enable-all configs link
  • wolfx509 / wolftls now build and test cleanly across all matrix configs (sentinel error for cert generation, skip on missing ALPN)

CI — build matrix now Go 1.21/1.22/1.23 × 3 wolfSSL configures (full, modern TLS 1.3 stack, DTLS 1.3); adds AddressSanitizer + linters (vet + staticcheck) workflows. Build/test now covers the handles, wolftls, and wolfx509 subpackages.

@JeremiahM37 JeremiahM37 self-assigned this Apr 30, 2026
@JeremiahM37 JeremiahM37 force-pushed the go-testing branch 12 times, most recently from a82d158 to 3888aa6 Compare May 1, 2026 16:25
@JeremiahM37 JeremiahM37 marked this pull request as ready for review May 1, 2026 16:37
@JeremiahM37 JeremiahM37 assigned lealem47 and unassigned JeremiahM37 May 8, 2026
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.

2 participants