Suppress wolfSSL library leaks; remove fail-fast from test matrix

Add a libwolfssl entry to lsan_suppressions.txt to mirror the existing
libcrypto rule: the wolfSSL ECC subsystem caches per-handshake buffers
that are only freed at library shutdown, which the test binaries do
not perform. These are not leaks in cpp-httplib code.

Disable fail-fast on the ubuntu / macos / windows matrices so a failure
in one TLS backend does not cancel the others; with the runner now
detecting failures correctly, we want to see the full picture per run.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
yhirose
2026-04-29 07:55:09 +09:00
parent f50bd311fb
commit 511cc02278
2 changed files with 7 additions and 0 deletions

View File

@@ -75,6 +75,7 @@ jobs:
github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name) || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name) ||
(github.event_name == 'workflow_dispatch' && github.event.inputs.test_linux == 'true') (github.event_name == 'workflow_dispatch' && github.event.inputs.test_linux == 'true')
strategy: strategy:
fail-fast: false
matrix: matrix:
tls_backend: [openssl, mbedtls, wolfssl] tls_backend: [openssl, mbedtls, wolfssl]
name: ubuntu (${{ matrix.tls_backend }}) name: ubuntu (${{ matrix.tls_backend }})
@@ -208,6 +209,7 @@ jobs:
github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name) || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name) ||
(github.event_name == 'workflow_dispatch' && github.event.inputs.test_macos == 'true') (github.event_name == 'workflow_dispatch' && github.event.inputs.test_macos == 'true')
strategy: strategy:
fail-fast: false
matrix: matrix:
tls_backend: [openssl, mbedtls, wolfssl] tls_backend: [openssl, mbedtls, wolfssl]
name: macos (${{ matrix.tls_backend }}) name: macos (${{ matrix.tls_backend }})
@@ -248,6 +250,7 @@ jobs:
github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name) || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name) ||
(github.event_name == 'workflow_dispatch' && github.event.inputs.test_windows == 'true') (github.event_name == 'workflow_dispatch' && github.event.inputs.test_windows == 'true')
strategy: strategy:
fail-fast: false
matrix: matrix:
config: config:
- with_ssl: false - with_ssl: false

View File

@@ -1,3 +1,7 @@
# OpenSSL 3.x internal caches (provider, cipher, keymgmt) are allocated # OpenSSL 3.x internal caches (provider, cipher, keymgmt) are allocated
# lazily and intentionally kept until process exit. These are not real leaks. # lazily and intentionally kept until process exit. These are not real leaks.
leak:libcrypto leak:libcrypto
# wolfSSL keeps ECC point/scratch buffers alive across handshakes; they are
# released only at library shutdown which the test binaries do not invoke.
leak:libwolfssl