Tests started on Sun Jun 26 14:27:12 PDT 2022 and finished on Sun Jun 26 14:28:00 PDT 2022
Start running libaddr tests v1.0.31 on Sun Jun 26 14:27:29 PDT 2022 libaddr v1.0.31 [19064]:unittest: seed is 1656278849 source directory: "/home/snapwebsites/snapcpp/contrib/libaddr" temporary directory: "/home/snapwebsites/snapcpp/BUILD/Debug/contrib/libaddr/tmp" Randomness seeded to: 4108181025 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: ipv6::addr: set IPv6 with an invalid family SECTION: ipv6::addr: bad address SECTION: ipv6::addr: missing ']' SECTION: ipv6::addr: required address SECTION: ipv6::addr: required port SECTION: ipv6::addr: port not allowed SECTION: ipv6::addr: really large numbers (over 1000) SECTION: ipv6::addr: ipv6 mask is limited between 0 and 128 SECTION: ipv6::addr: ipv6 mask cannot use name SECTION: ipv6::addr: ipv6 mask must be between '[...]' SECTION: ipv6::addr: ipv6 mask missing the ']' SECTION: ipv6::addr: ipv6 mask with an ipv4 in the '[...]' SECTION: ipv6::addr: verify default address SECTION: ipv6::addr: verify default mask SECTION: ipv6::addr: default is 128 bit set to zero SECTION: ipv6::addr: parse the default IPv6 address "[::]" and "::" SECTION: ipv6::addr: verify last IPv6 address SECTION: ipv6::addr: set_ipv6() / get_ipv6() SECTION: ipv6::addr: set_ipv6() check to_ipv6_string() SECTION: ipv6::addr: name of various IPs SECTION: ipv6::addr: verify basics SECTION: ipv6::addr: default address SECTION: ipv6::addr: address, no port allowed SECTION: ipv6::addr: simple numeric IPv6 SECTION: ipv6::addr: invalid IPv6 domain name address when we only accept numeric IPs SECTION: ipv6::addr: invalid IPv6 domain name address when we only accept numeric IPs SECTION: ipv6::addr: parse and no sort SECTION: ipv6::addr: parse and ignore empty SECTION: ipv6::addr: parse and full sort SECTION: ipv6::addr: parse and put IPv6 addresses first SECTION: ipv6::addr: parse and put IPv4 addresses first SECTION: ipv6::addr: parse, sort, and merge SECTION: ipv6::addr: parse, sort, merge, and put IPv4 first SECTION: ipv6::addr: parse, sort, merge, and put IPv6 first SECTION: ipv6::addr: parse, sort, merge, and put IPv6 first SECTION: ipv6::addr: one side ranges SECTION: ipv6::addr: test invalid sort (IPv4 vs IPv6) SECTION: ipv6::addr: parse & sort multi-address separated by \n SECTION: ipv6::addr: parse invalid range (IP which becomes multiple entries) SECTION: ipv6::addr: default port SECTION: ipv6::addr: set_port() SECTION: ipv6::addr: known ports to test get_service() SECTION: ipv6::addr_parser(): verify port SECTION: ipv6::addr_parser(): default address with various port SECTION: ipv6::addr_parser(): port when not allowed check as IPv6 SECTION: ipv6::addr_parser(): space before port SECTION: ipv6::addr: default mask SECTION: ipv6::addr: set_mask_count() SECTION: ipv6::addr: set_mask() SECTION: ipv6::addr: set_mask() SECTION: ipv6::addr: mask allowed, but no mask SECTION: ipv6::addr: empty mask SECTION: ipv6::addr: empty mask including the '[]' SECTION: ipv6::addr: empty mask '[]' with address mask not allowed SECTION: ipv6::addr: one number masks SECTION: ipv6::addr: address like mask SECTION: ipv6::addr: address like default mask SECTION: ipv6::addr: address like mask with a default SECTION: ipv6::addr: no address, but one IPv6 number masks SECTION: ipv6::addr: no address, but one IPv6 masks SECTION: ipv6::addr: any (::) SECTION: ipv6::addr: private address fd00::/8 SECTION: ipv6::addr: private address fe80::/10 SECTION: ipv6::addr: private address ff02::/16 SECTION: ipv6::addr: private address ff00::/8 SECTION: ipv6::addr: private address ffx1::/8 SECTION: ipv6::addr: private address ::1 SECTION: ipv6::addr: create a server, but do not test it (yet)... SECTION: ipv6::addr: connect with TCP to [::1] SECTION: ipv6::addr: 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: routes: verify list SECTION: routes: verify a search without a default route SECTION: unix() defaults (a.k.a. unnamed address) SECTION: unix() with an unnamed address SECTION: unix() with an unnamed string SECTION: unix() with a forced unnamed URI SECTION: unix() with an unnamed which we re-collect from socket SECTION: unix() with a relative file name SECTION: unix() with a relative file name; string constructor SECTION: unix() with a relative file name using set_file() SECTION: unix() with a full file name SECTION: unix() with a long file name SECTION: unix() verify that file gets unlink()'ed SECTION: unix() with a file name which we re-collect from socket SECTION: unix() with a relative abstract name SECTION: unix() with a relative abstract name with string constructor SECTION: unix() with an abstract name using set_abstract() SECTION: unix() with a full abstract name SECTION: unix() with a long abstract name SECTION: unix() with an abstract name which we re-collect from socket SECTION: two unix() to compare with ==, !=, <, <=, >, >= SECTION: two sockaddr_un to compare with ==, !=, <, <=, >, >= SECTION: unix() with a relative file name then unnamed SECTION: unix() with a full abstract name then unnamed SECTION: unix() with various set_uri() SECTION: unix() with an invalid address family SECTION: unix() with an unnamed string but marked abstract SECTION: unix() with a URI and a missing path SECTION: unix() with too long a file name SECTION: unix() with too long an abstract name SECTION: unix() with a long filename (missing '\0') SECTION: unix() with a long abstrat name (missing '\0') SECTION: unix() with a long abstrat name (missing '\0') SECTION: unix() with invalid characters (controls) SECTION: unix() with invalid UTF-8 characters SECTION: get unix() of socket set to -1 SECTION: get unix() of socket set to UDP SECTION: validator: default validation SECTION: validator: allow all SECTION: validator: unknown option =============================================================================== All tests passed (2366405 assertions in 26 test cases) Finished running libaddr tests v1.0.31 on Sun Jun 26 14:27:41 PDT 2022