Skip to content

Comments

Upgrade wolfIP CI Testing#28

Merged
danielinux merged 4 commits intowolfSSL:masterfrom
aidangarske:add-ci-sanitizers
Feb 24, 2026
Merged

Upgrade wolfIP CI Testing#28
danielinux merged 4 commits intowolfSSL:masterfrom
aidangarske:add-ci-sanitizers

Conversation

@aidangarske
Copy link
Member

Description

  • CI Workflows Added
  • Codespell workflow (.github/workflows/codespell.yml) — automated spell checking on push/PR with a project-specific ignore list for common technical abbreviations (e.g., inh, rcv, ser).
  • Multi-compiler workflow (.github/workflows/multi-compiler.yml) — builds and runs unit tests for wolfIP against gcc-11/12/13 and clang-14/15/17 on Ubuntu.
  • Sanitizer workflow (.github/workflows/sanitizers.yml) — runs unit tests and standalone TTL tests under ASan, UBSan, and LeakSan to ensure memory safety and catch undefined behavior.
  • Build System Improvements
  • Makefile updates — added explicit targets for asan, ubsan, and leaksan with the necessary compiler and linker flags for automated testing.
  • Bug Fixes
  • Format Specifier Correction — updated src/port/posix/bsd_socket.c to use the correct %d specifier for getpid() in debug logs.

@aidangarske aidangarske self-assigned this Feb 16, 2026
@aidangarske aidangarske marked this pull request as ready for review February 16, 2026 20:24
    Codespell workflow (.github/workflows/codespell.yml) — automated spell checking on push/PR with a project-specific ignore list for common technical abbreviations (e.g., inh, rcv, ser).
    Multi-compiler workflow (.github/workflows/multi-compiler.yml) — builds and runs unit tests for wolfIP against gcc-11/12/13 and clang-14/15/17 on Ubuntu.
    Sanitizer workflow (.github/workflows/sanitizers.yml) — runs unit tests and standalone TTL tests under ASan, UBSan, and LeakSan to ensure memory safety and catch undefined behavior.
    Build System Improvements
    Makefile updates — added explicit targets for asan, ubsan, and leaksan with the necessary compiler and linker flags for automated testing.
    Bug Fixes
    Format Specifier Correction — updated src/port/posix/bsd_socket.c to use the correct %d specifier for getpid() in debug logs.
Copilot AI review requested due to automatic review settings February 24, 2026 18:36
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR enhances the wolfIP continuous integration infrastructure by adding three new GitHub Actions workflows for automated testing, updating the Makefile to support sanitizer builds, and fixing two minor issues found during testing.

Changes:

  • Added CI workflows for spell checking (codespell), multi-compiler testing (gcc-11/12/13, clang-14/15/17), and sanitizer testing (ASan, UBSan, LeakSan)
  • Extended Makefile with dedicated targets for UBSan and LeakSan sanitizers
  • Fixed spelling error in comment and corrected format specifier for getpid() in debug logging

Reviewed changes

Copilot reviewed 5 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
.github/workflows/codespell.yml Adds automated spell checking with project-specific ignore list for technical abbreviations
.github/workflows/multi-compiler.yml Adds cross-compiler testing workflow for multiple gcc and clang versions
.github/workflows/sanitizers.yml Adds sanitizer testing workflow for ASan, UBSan, and LeakSan
Makefile Adds ubsan and leaksan targets with appropriate compiler and linker flags
src/wolfesp.c Fixes typo in comment: "ofthe" → "of the"
src/port/posix/bsd_socket.c Corrects format specifier for getpid() from %hu to %d

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  - Added unit-asan, unit-ubsan, and unit-leaksan targets that:
    a. Apply the correct sanitizer flags via target-specific variables
    b. Depend on clean-unit to force a rebuild with the new flags
    c. Depend on build/test/unit to actually build the tests
Copilot AI review requested due to automatic review settings February 24, 2026 19:57
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 6 out of 7 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  1. test_queue_insert_no_head_update_when_pos_plus_len_le_head: payload array increased from 4 to 8 bytes
  2. test_udp_try_recv_conf_null and test_udp_try_recv_dhcp_running_local_zero: Changed from struct wolfIP_udp_datagram to buffer with payload space
  3. test_forward_packet_filter_drop, test_forward_packet_send_paths, test_forward_packet_filter_drop_udp_icmp: Buffers increased to include TCP_HEADER_LEN
  4. test_send_ttl_exceeded_filter_drop, test_send_ttl_exceeded_ip_filter_drop, test_send_ttl_exceeded_eth_filter_drop: Added 8 extra bytes for TTL_EXCEEDED_ORIG_PACKET_SIZE
  5. test_ip_output_add_header: Changed to use struct wolfIP_tcp_seg
  6. test_ip_output_add_header_icmp: Changed to use struct wolfIP_icmp_packet
  7. test_tcp_recv_ack_mismatch_does_nothing: Added payload buffer space
  8. test_arp_queue_packet_truncates_len: Changed to uint8_t ip_buf[LINK_MTU + 16]
  9. test_wolfip_recv_on_forward_ttl_exceeded and test_ip_recv_forward_ttl_exceeded: Added 8 extra bytes for TTL processing
  10. test_wolfip_forwarding_basic and test_wolfip_forwarding_ttl_expired: Changed to buffer with extra space for protocol headers
@danielinux danielinux merged commit 924e935 into wolfSSL:master Feb 24, 2026
15 checks passed
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.

3 participants