Logs for the libaddr 1.0.36 tests

Tests started on Sun Jun 2 05:58:26 PM PDT 2024 and finished on Sun Jun 2 05:59:07 PM PDT 2024

Start running libaddr tests v1.0.36 on Sun Jun  2 05:58:43 PM PDT 2024

libaddr v1.0.36 [3699254]:unittest: seed is 1717376323
source directory: "/home/snapwebsites/snapcpp/contrib/libaddr"
binary directory: "/home/snapwebsites/snapcpp/BUILD/Debug/contrib/libaddr/coverage/BUILDdist directory: "/home/snapwebsites/snapcpp/BUILD/Debug/dist"
temporary directory: "/home/snapwebsites/snapcpp/BUILD/Debug/contrib/libaddr/tmp"
Randomness seeded to: 945292744
SECTION: version: verify runtime vs compile time versions
SECTION: verify list
SECTION: ipv4::invalid_input: set IPv4 with an invalid family
SECTION: addr_parser(): invalid allow flags (too small)
SECTION: addr_parser(): invalid allow flags (too large)
SECTION: addr_parser(): bad address
SECTION: addr_parser(): required address
SECTION: addr_parser(): required port
SECTION: addr_parser(): port not allowed
SECTION: addr_parser(): invalid port
SECTION: addr_parser(): really large numbers (over 1000)
SECTION: addr_parser(): ipv4 mask is limited between 0 and 32
SECTION: addr_parser(): ipv4 mask cannot use name
SECTION: addr_parser(): ipv4 mask mismatch (mask uses ipv6)
SECTION: addr_parser(): ipv4 mask mismatch (mask uses ipv6 without [...])
SECTION: addr_parser(): invalid names
SECTION: addr_parser(): invalid numbers
SECTION: addr: not an IPv4
SECTION: addr: default network type (0.0.0.0)
SECTION: addr: IPv6 ANY
SECTION: addr: IPv4 or IPv6 string
SECTION: addr: interface determination
SECTION: addr: default name/service/port/protocol
SECTION: addr: compare with self
SECTION: addr: compare with another 0.0.0.0
SECTION: addr: compare with IPv4 127.0.0.1
SECTION: addr: set_ipv4() / get_ipv4()
SECTION: addr: set_ipv4() / to_ipv4_string()
SECTION: addr: name of various IPs
SECTION: addr: verify basics
SECTION: addr: verify default address
SECTION: addr: verify default mask
SECTION: addr: verify default allow flags
SECTION: addr: verify contradictory flags
SECTION: addr: default address
SECTION: addr: address, no port allowed
SECTION: addr: 3 IPs separated by commas
SECTION: addr: 3 IPs separated by spaces
SECTION: addr: 3 IPs separated by commas and/or spaces
SECTION: addr: simple numeric IPv4
SECTION: addr: invalid domain name address when we only accept numeric IPs
SECTION: addr: invalid port: service name not allowed
SECTION: addr: IP as hostname
SECTION: addr: set interface
SECTION: addr: verify port
SECTION: addr: default address with various port
SECTION: addr: address with default port
SECTION: addr: mask allowed, but no mask
SECTION: addr: empty mask
SECTION: addr: one number masks
SECTION: addr: address like mask
SECTION: addr: address like default mask
SECTION: addr: address like mask with a default
SECTION: addr: two addresses and a mask for a match / no match
SECTION: addr: default protocol
SECTION: addr: set_protocol()
SECTION: addr: verify default
SECTION: addr: test 3 allowed protocols
SECTION: addr: verify clearing works
SECTION: addr: get address with all protocols
SECTION: addr: any (0.0.0.0)
SECTION: addr: private address 10.x.x.x/8
SECTION: addr: private address 172.16.x.x/12
SECTION: addr: private address 192.168.x.x/16
SECTION: addr: private address 100.66.x.x/10
SECTION: addr: private address 169.254.x.x/16
SECTION: addr: private address 224.x.x.x/4
SECTION: addr: private address 127.x.x.x/8
SECTION: addr: invalid socket
SECTION: addr: non-opened file descriptor
SECTION: addr: unknown socket type
SECTION: addr/addr_parser: create a server (bind), but do not test it (yet)...
SECTION: addr/addr_parser: connect() with TCP to 127.0.0.1
SECTION: addr/addr_parser: connect() with UDP to 127.0.0.1:53 which fails
SECTION: addr/addr_parser: bind() with UDP to 127.0.0.1: (as a "client") which works
SECTION: string_to_addr: empty address without defaults
SECTION: string_to_addr: explicit defaults
SECTION: string_to_addr: defaults
SECTION: string_to_addr: addr & default addr
SECTION: string_to_addr: no addr, expect default addr
SECTION: string_to_addr: addr and port, with a default port
SECTION: string_to_addr: addr without port, with a default port
SECTION: string_to_addr: addr without port but protocol
SECTION: string_to_addr: addr with port and protocol
SECTION: string_to_addr: addr with port and protocol but no mask, albeit allowed
SECTION: string_to_addr: addr with port and protocol and mask, albeit allowed
SECTION: string_to_addr: addr with port and protocol and mask, albeit allowed
SECTION: string_to_addr: addr with port and invalid protocol so we get an exception
SECTION: string_to_addr: definitely not a valid address
SECTION: ipv6::invalid_input: set IPv6 with an invalid family
SECTION: ipv6::invalid_input: bad address
SECTION: ipv6::invalid_input: missing ']'
SECTION: ipv6::invalid_input: required address
SECTION: ipv6::invalid_input: required port
SECTION: ipv6::invalid_input: port not allowed
SECTION: ipv6::invalid_input: really large numbers (over 1000)
SECTION: ipv6::invalid_input: ipv6 mask is limited between 0 and 128
SECTION: ipv6::invalid_input: ipv6 mask cannot use name
SECTION: ipv6::invalid_input: ipv6 mask must be between '[...]'
SECTION: ipv6::invalid_input: ipv6 mask missing the ']'
SECTION: ipv6::invalid_input: ipv6 mask with an ipv4 in the '[...]'
SECTION: ipv6::invalid_input: verify default address
SECTION: ipv6::invalid_input: verify default mask
SECTION: ipv6::address: default is 128 bit set to zero
SECTION: ipv6::address: parse the default IPv6 address "[::]" and "::"
SECTION: ipv6::address: verify last IPv6 address
SECTION: ipv6::address: set_ipv6() / get_ipv6()
SECTION: ipv6::address: set_ipv6() check to_ipv6_string()
SECTION: ipv6::address: name of various IPs
SECTION: ipv6::address: verify basics
SECTION: ipv6::address: default address
SECTION: ipv6::address: address, no port allowed
SECTION: ipv6::address: simple numeric IPv6
SECTION: ipv6::address: invalid IPv6 domain name address when we only accept numeric IPs
SECTION: ipv6::address: invalid IPv6 domain name address when we only accept numeric IPs
SECTION: ipv6::address: parse and no sort
SECTION: ipv6::address: parse and ignore empty
SECTION: ipv6::address: parse and full sort
SECTION: ipv6::address: parse and put IPv6 addresses first
SECTION: ipv6::address: parse and put IPv4 addresses first
SECTION: ipv6::address: parse, sort, and merge
SECTION: ipv6::address: parse, sort, merge, and put IPv4 first
SECTION: ipv6::address: parse, sort, merge, and put IPv6 first
SECTION: ipv6::address: parse, sort, merge, and put IPv6 first
SECTION: ipv6::address: one side ranges
SECTION: ipv6::address: test invalid sort (IPv4 vs IPv6)
SECTION: ipv6::address: parse & sort multi-address separated by '\n' with '#' comments
SECTION: ipv6::address: parse & sort multi-address separated by '\n' with ';' comments
SECTION: ipv6::address: parse invalid range (IP which becomes multiple entries)
SECTION: ipv6::ports: default port
SECTION: ipv6::ports: set_port()
SECTION: ipv6::ports: known ports to test get_service()
SECTION: ipv6::ports: verify port by parser
SECTION: ipv6::port: default address with various port
SECTION: ipv6::port: port when not allowed check as IPv6
SECTION: ipv6::port: space before port
SECTION: ipv6::masks: default mask
SECTION: ipv6::masks: set_mask_count()
SECTION: ipv6::masks: set_mask()
SECTION: ipv6::masks: set_mask()
SECTION: ipv6::masks: mask allowed, but no mask
SECTION: ipv6::masks: empty mask
SECTION: ipv6::masks: empty mask including the '[]'
SECTION: ipv6::masks: empty mask '[]' with address mask not allowed
SECTION: ipv6::masks: one number masks
SECTION: ipv6::masks: address like mask
SECTION: ipv6::masks: address like default mask
SECTION: ipv6::masks: address like mask with a default
SECTION: ipv6::masks: no address, but one IPv6 number masks
SECTION: ipv6::masks: no address, but one IPv6 masks
SECTION: ipv6::network_type: any (::)
SECTION: ipv6::network_type: private address fd00::/8
SECTION: ipv6::network_type: private address fe80::/10
SECTION: ipv6::network_type: private address ff02::/16
SECTION: ipv6::network_type: private address ff00::/8
SECTION: ipv6::network_type: private address ffx1::/8
SECTION: ipv6::network_type: private address ::1
SECTION: ipv6::network: create a server, but do not test it (yet)...
SECTION: ipv6::network: connect with TCP to [::1]
SECTION: ipv6::network: connect with UDP to [::1]
SECTION: addr_range: verify defaults
SECTION: addr_range: test normal range (from <= to)
SECTION: addr_range: test empty range (from > to)
SECTION: addr_range: compare "from" ranges against each other
SECTION: addr_range: compare "to" ranges against each other
SECTION: addr_range: compare "from" against "to" ranges
SECTION: addr_range: compare full ranges ("from" and "to" defined)
SECTION: addr_range: compare mixed IPs
SECTION: addr_range: create range from CIDR
SECTION: addr_range: intersection of two ranges that overlap
SECTION: addr_range: intersection of two ranges that do not overlap
SECTION: addr_range: union of two ranges that overlap
SECTION: addr_range: union of two ranges that touch
SECTION: addr_range: union two ranges that do not overlap
SECTION: addr_range: valid network range /16
SECTION: addr_range: valid network range /24
SECTION: addr_range: optimize IPv4 addresses
SECTION: routes: verify list
got a gateway [eno1]
WARNING: found interface "eno2" twice.
WARNING: found interface "eno1" twice.
WARNING: found interface "eno1" twice.
WARNING: found interface "eno1" twice.
WARNING: found interface "eno1" twice.
WARNING: found interface "eno2" twice.
WARNING: found interface "eno2" twice.
WARNING: found interface "eno2" twice.
WARNING: found interface "eno2" twice.
WARNING: found interface "eno2" twice.
SECTION: routes: verify a search without a default route
SECTION: addr_unix() defaults (a.k.a. unnamed address)
SECTION: addr_unix() with an unnamed address
SECTION: addr_unix() with an unnamed string
SECTION: addr_unix() with a forced unnamed URI
SECTION: addr_unix() with an unnamed which we re-collect from socket
SECTION: addr_unix() with a relative file name
SECTION: addr_unix() with a relative file name; string constructor
SECTION: addr_unix() with a relative file name using set_file()
SECTION: addr_unix() with a full file name
SECTION: addr_unix() with a long file name
SECTION: addr_unix() verify that file gets unlink()'ed
SECTION: addr_unix() with a file name which we re-collect from socket
SECTION: addr_unix() with a relative abstract name
SECTION: addr_unix() with a relative abstract name with string constructor
SECTION: addr_unix() with an abstract name using set_abstract()
SECTION: addr_unix() with a full abstract name
SECTION: addr_unix() with a long abstract name
SECTION: addr_unix() with an abstract name which we re-collect from socket
SECTION: two addr_unix() to compare with ==, !=, <, <=, >, >=
SECTION: two sockaddr_un to compare with ==, !=, <, <=, >, >=
SECTION: addr_unix() with a relative file name then unnamed
SECTION: addr_unix() with a full abstract name then unnamed
SECTION: addr_unix() with various set_uri()
SECTION: addr_unix() with an invalid address family
SECTION: addr_unix() with an unnamed string but marked abstract
SECTION: addr_unix() with a URI and a missing path
SECTION: addr_unix() with too long a file name
SECTION: addr_unix() with too long an abstract name
SECTION: addr_unix() with a long filename (missing '\0')
SECTION: addr_unix() with a long abstrat name (missing '\0')
SECTION: addr_unix() with a long abstrat name (missing '\0')
SECTION: addr_unix() with invalid characters (controls)
SECTION: addr_unix() with invalid UTF-8 characters
SECTION: get addr_unix() of socket set to -1
SECTION: get addr_unix() of socket set to UDP
SECTION: validator: default validation
SECTION: validator: allow all
SECTION: validator: unknown option
===============================================================================
All tests passed (2366236 assertions in 26 test cases)


Finished running libaddr tests v1.0.36 on Sun Jun  2 05:58:54 PM PDT 2024