Tests started on Mon May 29 04:10:08 PM PDT 2023 and finished on Mon May 29 04:11:22 PM PDT 2023
Start running snapdev tests v1.1.33 on Mon May 29 04:10:52 PM PDT 2023 snapdev v1.1.33 [1415239]:unittest: seed is 1685401852 source directory: "/home/snapwebsites/snapcpp/contrib/snapdev" binary directory: "/home/snapwebsites/snapcpp/BUILD/Debug/contrib/snapdev/coverage/BUILD" temporary directory: "/home/snapwebsites/snapcpp/BUILD/Debug/contrib/snapdev/tmp" Randomness seeded to: 844612909 SECTION: as_root: failing switch to root user SECTION: as_root: working to (not) switch to ourself SECTION: drop root privileges SECTION: safe_assert: make sure assert can pass SECTION: brs: push/restore char SECTION: brs: push/restore char SECTION: brs: push/restore signed char SECTION: brs: push/restore unsigned char SECTION: brs: push/restore shorts (16 bits) SECTION: brs: push/restore ints (32 bits) SECTION: brs: push/restore ints (64 bits) SECTION: brs: push/restore floats SECTION: brs: push/restore string SECTION: brs: push/restore array (varying name) SECTION: brs: push/restore array (same name) SECTION: brs: push/restore map of strings SECTION: brs: push/restore map of struct SECTION: brs: push/restore recursive SECTION: brs: name missing SECTION: brs: name too long SECTION: brs: hunk too long SECTION: brs: empty input SECTION: brs: magic unrecognized SECTION: brs: unknown hunk type SECTION: brs: field missing name SECTION: brs: field data mismatch reading SECTION: brs: missing array index SECTION: brs: missing array field name SECTION: brs: missing map sub-name length SECTION: brs: map sub-name length is zero SECTION: brs: missing map sub-name SECTION: brs: missing map name SECTION: callback manager: member function callback SECTION: callback manager: direct function callback with 3 parameters SECTION: callback manager: direct function callback with no parameters SECTION: callback manager: std::bind() function SECTION: chownnm: change group SECTION: chownnm: change owner warning: skipping change owner test because your are not root and/or the "snapwebsites" user doesn't exist. SECTION: file_contents: write -> read contents SECTION: file_contents: write temporary -> read fails SECTION: file_contents: empty filename is not accepted SECTION: file_contents: read from /proc/self/cmd SECTION: pathinfo: replace existing suffix SECTION: hexadecimal_string: verify hexadecimal digit detection SECTION: hexadecimal_string: all 16 bit values SECTION: hexadecimal_string: hex_to_bin & bin_to_hex, large (and small) random numbers SECTION: hexadecimal_string: bin_to_hex with empty SECTION: hexadecimal_string: large width for int_to_hex() SECTION: hexadecimal_string: invalid length SECTION: hexadecimal_string: invalid digits SECTION: hexadecimal_string: integer too small (overflow) SECTION: ostream_int128: small numbers (-10 to +10) SECTION: ostream_int128: positive numbers SECTION: ostream_int128: negative numbers SECTION: ostream_int128: most positive number SECTION: ostream_int128: most negative number SECTION: int128_literal: zero and powers of two SECTION: uint128_literal: unsigned zero and powers of two SECTION: [u]int128_literal: large numbers in decimal, hexadecimal, octal and binary SECTION: int128: 2^n with n from 0 to 127 SECTION: uint128: 2^n with n from 0 to 127 SECTION: [u]int128: n^0 where n is a random number SECTION: int128: 1^n with n < 0 SECTION: int128: -1^n with n < 0 SECTION: isatty: stringstream SECTION: isatty: cout/cerr/clog/cin SECTION: isatty: /dev/tty SECTION: join_string_view: join strings at compile time SECTION: join_strings: join strings at runtime with empty string in between SECTION: join_strings: join strings at runtime with commas SECTION: join_strings: "join" one string with commas SECTION: join_strings: nothing to join with commas SECTION: log2: zero SECTION: log2: powers of 2 SECTION: log2: random numbers SECTION: matrix: empty SECTION: matrix: 2x2 SECTION: matrix: 3x3 SECTION: matrix: 4x4 SECTION: matrix: a+=SECTION: matrix: b=a+ SECTION: matrix: c=a+b SECTION: matrix: a+=b SECTION: matrix: b=a- SECTION: matrix: a-= SECTION: matrix: c=a-b SECTION: matrix: a-=b SECTION: matrix: minor SECTION: matrix: transpose 4x4 SECTION: matrix: transpose 6x2 SECTION: matrix: adjugate 2x2 SECTION: matrix: adjugate 3x3 SECTION: matrix: 2x2 determinant SECTION: matrix: 3x3 determinant with specific data SECTION: matrix: 3x3 determinant with random data SECTION: matrix: b=a* SECTION: matrix: a*= SECTION: matrix: c=a*b SECTION: matrix: a*=b SECTION: matrix: b=a/ SECTION: matrix: a/= SECTION: matrix: c=a/b SECTION: matrix: a/=b SECTION: matrix: b=a* (a is identity) SECTION: matrix: b=a* (a is identity) SECTION: matrix: b=a* (a is identity) SECTION: mkdir_p: empty SECTION: mkdir_p: create SECTION: mkdir_p: create full path SECTION: pathinfo: replace existing suffix SECTION: pathinfo: replace non-existant suffix SECTION: pathinfo: remove suffix when present SECTION: pathinfo: remove suffix when absent SECTION: pathinfo: do nothing if non-existant suffix SECTION: pathinfo: canonicalize paths SECTION: pathinfo: has pattern function SECTION: pathinfo: is child path function SECTION: sort_and_remove_duplicates: empty container SECTION: sort_and_remove_duplicates: container without duplicates SECTION: sort_and_remove_duplicates: container with duplicates SECTION: sorted_remove_duplicates: empty container SECTION: sorted_remove_duplicates: container without duplicates SECTION: sorted_remove_duplicates: container with duplicates SECTION: sorted_remove_duplicates: container with one item duplicated SECTION: unsorted_remove_duplicates: empty container SECTION: unsorted_remove_duplicates: container without duplicates SECTION: unsorted_remove_duplicates: container with duplicates (vector) SECTION: unsorted_remove_duplicates: container with duplicates (list) SECTION: unsorted_remove_duplicates: container with one item duplicated SECTION: rm_r: missing SECTION: rm_r: empty directory SECTION: rm_r: directory with a few files SECTION: rm_r: directory tree SECTION: rm_r: directory tree with special files --- note that the special file test cannot create block and character devices. --- if you want to test those, make sure to run as root: --- sudo unittest ... rm_r SECTION: safe_stream: hex/oct SECTION: saturated_add_uint8: test all possible cases with 8 bits SECTION: saturated_add_uint16: test many possible cases with 16 bits SECTION: saturated_add_uint32: test a few possible cases with 32 bits SECTION: saturated_add_uint64: test a few possible cases with 64 bits SECTION: saturated_add_uint128: test a few possible cases with 128 bits SECTION: saturated_add_int8: test all possible cases with 8 bits SECTION: saturated_add_int16: test many possible cases with 16 bits SECTION: saturated_add_int32: test a few possible cases with 32 bits SECTION: saturated_add_int64: test a few possible cases with 64 bits SECTION: saturated_add_int128: test a few possible cases with 128 bits SECTION: saturated_subtract_uint8: test all possible cases with 8 bits SECTION: saturated_subtract_uint16: test many possible cases with 16 bits SECTION: saturated_subtract: test a few possible cases with 32 bits SECTION: saturated_subtract_uint64: test a few possible cases with 64 bits SECTION: saturated_subtract_uint128: test a few possible cases with 128 bits SECTION: stringize: build year SECTION: timespec_ex_math: simple add SECTION: timespec_ex_math: simple subtract SECTION: timespec_ex_math: add "minus one day" SECTION: timespec_ex_math: add with nano overflow SECTION: timespec_ex_math: subtract with nano underflow SECTION: timespec_ex_math: -1, 0, +1 SECTION: timespec_ex_math: add nanos SECTION: timespec_ex_math: load/save SECTION: timespec_ex_math: negative + negative SECTION: timespec_ex_math: system time SECTION: timespec_ex_math: system time SECTION: timespec_ex_string: ostream SECTION: timespec_ex_string: convert to string SECTION: timespec_ex_string: convert to string when nl_langinfo("D_T_FMT") returns "". SECTION: timespec_ex_string: convert to string when nl_langinfo("D_T_FMT") returns "%T". SECTION: timespec_ex_string: convert to string when nl_langinfo("D_T_FMT") returns "%r %X %EX". SECTION: timespec_ex_string: to and from string. SECTION: timespec_ex_string: to and from string with %N. SECTION: timespec_ex_from_string_error: string does not start with a sign or digit SECTION: timespec_ex_from_string_error: seconds overflow SECTION: timespec_ex_from_string_error: bad unit SECTION: timespec_ex_from_string_error: bad unit SECTION: timespec_ex_from_string_error: output too long SECTION: tokenize_format_printf: escape % SECTION: tokenize_format_printf: letters only SECTION: tokenize_format_printf: size + format SECTION: tokenize_format_printf: size defined twice SECTION: tokenize_format_printf: data driven tests SECTION: tokenize_format_strftime: no nanoseconds support SECTION: tokenize_format_strftime: no nanoseconds support (extended) SECTION: tokenize_format_strftime: data driven tests SECTION: tokenize_format_advgetopt: data driven tests SECTION: generate tokens: keep empty entries SECTION: generate tokens: remove empty entries SECTION: generate tokens: comma separated SECTION: generate tokens: comma separated, remove empty SECTION: generate tokens: comma separated, remove empty and trim SECTION: generate tokens: arrow (string) separated, remove empty and trim SECTION: integer_to_string_literal: verify integral literals SECTION: trim_string many cases SECTION: user_groups: groups SECTION: user_groups: invalid user SECTION: version: snapdev version SECTION: version: check wanted/current version SECTION: version: check explicit versions SECTION: version: we need at least g++ 7.x =============================================================================== All tests passed (7490088 assertions in 49 test cases) Finished running snapdev tests v1.1.33 on Mon May 29 04:10:57 PM PDT 2023