- Lines executed: 89.45% of 455 lines
- Branches executed: 98.83% of 256 branches
- Branches taken at least once: 80.08% of 256 branches
- Location:
read_hexidecimal_token()function - Missing: Handling of uppercase hex digits 'A'-'F'
- Test needed: Addresses with uppercase hex like "FFFF::1" or "2001:DB8::1"
- Location: STATE_IFACE handling in state machine
- Missing: Zone ID parsing (e.g., "fe80::1%eth0")
- Test needed: Addresses with zone IDs like "fe80::1%eth0", "[fe80::1%lo0]:8080"
- Location: Direct CIDR without leading address component
- Missing: Edge case where CIDR appears immediately
- Test needed: Malformed addresses starting with '/'
- Location: Validation of IPv4 octet count in embedding
- Missing: Test for incomplete IPv4 embedding (< 4 octets)
- Test needed: Addresses like "::ffff:1.2.3" (only 3 octets)
- Location: Input validation for oversized strings
- Missing: Test with input > IPV6_STRING_SIZE (66 chars)
- Test needed: Very long address strings
- Location: Invalid characters in hex tokens
- Missing: Error handling for invalid hex in token
- Test needed: Addresses with invalid characters after validation
- Location: Zero-run expansion validation
- Missing: Invalid move_count and target validation
- Test needed: Edge cases in :: expansion logic
- Location: Whitespace handling after ']'
- Missing: Addresses with trailing whitespace after brackets
- Test needed: "[::1]:8080 " (with trailing spaces)
- Location: Invalid transitions in state machine
- Missing: Various invalid character sequences
- Test needed: Malformed addresses triggering these paths
- Uppercase hex digits: "FFFF::ABCD", "2001:DB8::1"
- Zone IDs: "fe80::1%eth0", "[fe80::1%lo0]:8080"
- Oversized input: Strings > 66 characters
- Incomplete IPv4 embed: "::ffff:1.2.3", "::1.2"
- Trailing whitespace: "[::1]:8080 ", "::1 "
- Invalid state transitions
- Edge cases in zero-run expansion
- Various malformed inputs to cover remaining error handling branches