1
0
mirror of https://github.com/wolfSSL/wolfssl.git synced 2026-10-24 04:09:07 +03:00

24 Commits

Author SHA1 Message Date
Sean Parkinson
e36beda7bf Regression testing fixes
Fix guard around inclunde of chacha20_poly1305.h in internal.h for when
session ticket is not ChaCha20-Poly1305.

Fix port allocation and readiness testing in scripts.
Fix other issues in the scripts as well.
Update test.h code around ready file.

For LTO compiles, all functions must be used.
Make sure the assembly functions are marked as 'used' when not called
internally.

Fix a race in the example client that intermittently failed
scripts/unit.test on TLS 1.3 non-blocking session resumption.

RISC-V 64-bit: s0 needed but functions need to omit frame pointer.

Have source matching generated code again.
2026-09-03 20:59:54 +10:00
Juliusz Sosinowicz
1fa1228ba1 Address review: make the hang guards actually fire
Three ways the bounds added here failed to do their job:

- get_first_free_port ended the scan cap with 'exit 1', but every caller
  runs it in a command substitution, so only the subshell died. The port
  variable came back empty, the next $((port + 1)) evaluated to 1, and the
  run limped on to a confusing wait_for_readyFile failure. Forcing the cap
  on ocsp-stapling.test: before, the script ran on and hung until an outer
  timeout killed it; now it exits 1 at the error. Return instead, and check
  the status at all 25 call sites across the six scripts.

- The macOS timeout shim was a shell function. Backgrounding a function
  forks a subshell, so $! was the subshell and cleanup killed that while
  the server it was meant to stop leaked. Use a prefix variable that
  expands to nothing when timeout(1) is absent, keeping $! the real pid.

- timeout -s KILL exits 137, not 124. Sites that read $? and treat any
  non-zero as 'feature not compiled in' turned a hang into exit 0, so the
  bound made a hang less visible than before. Add timed_out() and check it
  before those skip branches; use it for the version probes too, which
  matched any status >= 124.
2026-08-13 15:52:17 +00:00
Juliusz Sosinowicz
fb3c892931 Bound remaining hangable operations in test scripts
A test script that blocks forever burns the CI job's full
timeout-minutes with no logs. e82ecdff93 and 5c5cbd3094 bounded the
waited-on servers; this covers the remaining hang classes in
scripts/*.test:

- Wrap foreground example client/server, openssl s_client, and
  openssl ocsp invocations in "timeout -s KILL 2m". A client wedged
  before or without a live peer (e.g. blocked in first-seed entropy
  gathering, or DTLS with no reset from a dead peer) is not bounded
  by its peer's timeout.
- Add the macOS timeout() fallback shim to scripts that now use
  timeout.
- Bound the get_first_free_port scan loops (nc -w 1, 100-port cap).
- Add -w 1 to the remaining nc probes and dtls.test UDP pcap markers.
- ocsp-responder-openssl-interop.test: bound the responder reap in
  cleanup: give each responder 5 s to exit after SIGTERM, then
  SIGKILL before waiting, so a wedged responder cannot hang the EXIT
  trap.
- benchmark.test: bound the clients but leave the -i servers
  unwrapped: the script ends them with kill -6, which timeout(1)
  does not forward, so wrapping would orphan the server.
- trusted_peer/tls13: kill the server with SIGTERM instead of
  SIGKILL in cleanup so the signal forwards through the timeout
  wrapper to the wrapped server.
2026-08-13 15:52:17 +00:00
Daniel Pouzzner
96199467f9 scripts/*.test: delay reaping servers in cleanup handlers to allow sanitizers to finish rendering backtraces. 2026-04-14 23:09:20 -05:00
Juliusz Sosinowicz
5f755f6bd5 Fix compilation checks in test scripts
Correct the logic for checking if the client and server examples are compiled
in the test scripts. The previous logic was inverted, causing the tests to
always skip if the examples *were* compiled.
2026-02-10 13:14:55 +01:00
Daniel Pouzzner
1c68da282c portability enhancement: use "#!/usr/bin/env <interpreter>" on all perl scripts and shell scripts that use bash extensions, and use "#!/bin/sh" on the rest. 2024-08-20 13:48:33 -05:00
Andras Fekete
256d81795a Make the DTLS tests a bit more resilient
The assumption is that the wrong PIDs are getting killed. Better use the current shell's child processes (ie: 'jobs' command) than storing some calculated PID
2024-04-30 15:49:51 -04:00
Andras Fekete
c4f91cdc8d Revert "Don't run script un-bwrapped"
This reverts commit d321ae2fd5.
2023-08-22 10:00:00 -04:00
Andras Fekete
d54aa0dabd Display test duration 2023-08-22 09:51:42 -04:00
Andras Fekete
d321ae2fd5 Don't run script un-bwrapped 2023-08-22 09:43:59 -04:00
Andras Fekete
c1821e9ed2 Decrease timeout to 1m. Most tests complete in seconds 2023-08-22 09:43:33 -04:00
Andras Fekete
79d831c712 Set customizable PCAP file name 2023-08-22 09:32:51 -04:00
Andras Fekete
88c32a510e Wrap script in a bwrap environment 2023-08-22 09:30:51 -04:00
Andras Fekete
e487b73809 Reduce likelihood of two tests running and saving to the PCAP dump 2023-08-21 13:37:34 -04:00
Andras Fekete
307ce9d623 Only drop the first Nth packet, not every 2023-08-21 09:55:23 -04:00
Andras Fekete
bf438c85e1 Add in a marker to the PCAP file 2023-08-21 09:55:23 -04:00
Andras Fekete
dbd5d713e7 Add in a marker to the PCAP file 2023-08-18 14:10:47 -04:00
Andras Fekete
9a007604e4 Usage documentation 2023-08-18 14:05:07 -04:00
Andras Fekete
bea1b6f89b Use unique temp file names 2023-08-18 13:11:31 -04:00
Andras Fekete
3df434930e Add in total test run count 2023-08-18 13:06:13 -04:00
Andras Fekete
883d4dc219 Clean up the script 2023-08-18 13:04:36 -04:00
Andras Fekete
62bb434aa6 Remove debugging code 2023-08-18 11:14:50 -04:00
Andras Fekete
dfc4850e75 Add extra flags for DTLS1.3 2023-08-18 11:11:25 -04:00
Andras Fekete
e0b90a0463 Rename the script to be a bit more generic 2023-08-18 11:11:08 -04:00