Back to list


info: starting build process on Thu Jan 29 06:03:17 AM UTC 2026
make: Entering directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/snapdev'
make[1]: Entering directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/snapdev'
make[2]: Entering directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/snapdev'
make[2]: Leaving directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/snapdev'
[  3%] Built target snapmatrix
make[2]: Entering directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/snapdev'
make[2]: Leaving directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/snapdev'
[  7%] Built target int128
make[2]: Entering directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/snapdev'
make[2]: Leaving directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/snapdev'
[ 10%] Built target c++regex
make[2]: Entering directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/snapdev'
make[2]: Leaving directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/snapdev'
make[2]: Entering directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/snapdev'
[ 12%] Generating API documentation with Doxygen
make[2]: Leaving directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/snapdev'
[ 14%] Built target snapdev_Documentation
make[2]: Entering directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/snapdev'
make[2]: Leaving directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/snapdev'
[100%] Built target unittest
make[1]: Leaving directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/snapdev'
make: Leaving directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/snapdev'
../../BUILD/Debug/contrib/snapdev/tests/unittest --tmp-dir "../../BUILD/Debug/contrib/snapdev/tmp" --binary-dir "/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/snapdev" --dist-dir "/home/alexis/snapwebsites/snapcpp/BUILD/Debug/dist" --source-dir "/home/alexis/snapwebsites/snapcpp/contrib/snapdev"   --progress "" 
snapdev v1.1.41 [1347699]:unittest: seed is 1769666598
source directory: "/home/alexis/snapwebsites/snapcpp/contrib/snapdev"
binary directory: "/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/snapdev"
dist directory: "/home/alexis/snapwebsites/snapcpp/BUILD/Debug/dist"
temporary directory: "../../BUILD/Debug/contrib/snapdev/tmp"
Randomness seeded to: 2680300103
SECTION: matrix: empty
SECTION: matrix: 2x2
SECTION: matrix: 3x3
SECTION: matrix: 4x4
SECTION: mkdir_p: empty
SECTION: mkdir_p: create
SECTION: mkdir_p: create full path
SECTION: pathinfo_has_pattern: has pattern function
SECTION: as_root: failing switch to root user
SECTION: as_root: working to (not) switch to ourself
SECTION: drop root privileges
SECTION: tokenize_format_advgetopt: data driven tests
SECTION: hexadecimal_string: verify hexadecimal digit detection
SECTION: lockfile_error: no path generates an error trying to create the lock file
SECTION: matrix: a+=<scalar>
SECTION: matrix: b=a+<scalar>
SECTION: matrix: c=a+b
SECTION: matrix: a+=b
SECTION: matrix: b=a-<scalar>
SECTION: matrix: a-=<scalar>
SECTION: matrix: c=a-b
SECTION: matrix: a-=b
SECTION: memsearch: verify memory search
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: 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: floating_point_to_string: verify conversion of floating points to string
SECTION: tokenize_format_star: test a *<l|r> syntax (with angle brackets)
SECTION: vector_streambuf: verify read & seek capability
SECTION: vector_streambuf: verify read, write & seek capability
SECTION: vector_streambuf: verify read, write & seek capability with a read-only vector
SECTION: string_replace_many: empty input string
SECTION: string_replace_many: replace one string
SECTION: string_replace_many: replace many strings
SECTION: string_replace_many: dashing string
SECTION: matrix: b=a*<scalar>
SECTION: matrix: a*=<scalar>
SECTION: matrix: c=a*b
SECTION: matrix: a*=b
SECTION: matrix: b=a/<scalar>
SECTION: matrix: a/=<scalar>
SECTION: matrix: c=a/b
SECTION: matrix: a/=b
SECTION: file_contents: write -> read contents
warning: file_contents() could not delete temporary file "../../BUILD/Debug/contrib/snapdev/tmp/contents" (21, Is a directory).
SECTION: file_contents: write temporary -> read fails
SECTION: file_contents: empty filename is not accepted
SECTION: file_contents: read from /proc/self/comm
SECTION: pathinfo_is_child_path: is child path function
SECTION: pathinfo_is_absolute: check absolute and relative paths
SECTION: sort_and_remove_duplicates: empty container
SECTION: sort_and_remove_duplicates: container without duplicates
SECTION: sort_and_remove_duplicates: container with duplicates
SECTION: pathinfo_realpath: make sure the realpath works
SECTION: pathinfo_realpath: realpath fails for non-existant files
SECTION: pathinfo_realpath: realpath fails for file instead of directory
SECTION: username: convert a UID to a user name
SECTION: brs_bitfield_size: bitfield_size
SECTION: not_used: verify NOT_USED() without parameters
SECTION: not_used: verify NOT_USED() works as expected (2 parameters)
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: chownnm: change group
warning: skipping change owner test because your are not root and/or the "snapwebsites" user doesn't exist.
SECTION: chownnm: change owner
SECTION: memory_streambuf: verify read & seek capability
SECTION: memory_streambuf: verify read, write & seek capability
SECTION: memory_streambuf: verify read, write & seek capability with a read-only memory
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: brs_basic_types: push/restore char
SECTION: brs_basic_types: push/restore signed char
SECTION: brs_basic_types: push/restore unsigned char
SECTION: brs_basic_types: push/restore shorts (16 bits)
SECTION: brs_basic_types: push/restore ints (32 bits)
SECTION: brs_basic_types: push/restore ints (64 bits)
SECTION: brs_basic_types: push/restore floats
SECTION: brs_basic_types: push/restore string
SECTION: brs_basic_types: push/restore timespec
SECTION: brs_basic_types: push/restore array (varying name)
SECTION: brs_basic_types: push/restore array (same name)
SECTION: brs_basic_types: push/restore map of strings
SECTION: brs_basic_types: push/restore map of struct
SECTION: brs_basic_types: push/restore recursive
SECTION: number_to_string(int): convert integers (int) to a string
SECTION: lockfile: simple lock/unlock test
SECTION: lockfile: test a lock with a thread
SECTION: lockfile: verify the automatic unlock with a thread
SECTION: lockfile: a shared lock does not prevent the thread from finishing
SECTION: lockfile: test a try_lock() with a thread
SECTION: lockfile: test a shared lock and try_lock() with a thread
SECTION: lockfile: test an exclusive lock and a shared try_lock() lock with a thread
SECTION: lockfile: test a shared lock and an exclusive try_lock() lock with a thread
SECTION: lockfile: test copying a lockfile
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: 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: lockfd: test exclusive lock with -1, nothing happens
SECTION: lockfd: test shared lock with -1, nothing happens
SECTION: lockfd: test shared lock with actual file
SECTION: join_string_view: join strings at compile time
SECTION: string_literal_length: check all inline string literals types
SECTION: string_literal_length: check all constexpr string literals
SECTION: brs_invalid: name missing
SECTION: brs_invalid: name too long

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
unittest is a Catch2 v3.12.0 host application.
Run with -? for options

-------------------------------------------------------------------------------
brs_invalid
  brs_invalid: name too long
-------------------------------------------------------------------------------
/home/alexis/snapwebsites/snapcpp/contrib/snapdev/tests/catch_brs.cpp:1906
...............................................................................

/home/alexis/snapwebsites/snapcpp/contrib/snapdev/tests/catch_brs.cpp:1938: FAILED:
  CATCH_REQUIRE_THROWS_MATCHES( out.add_value(name, ts), snapdev::brs_out_of_range, Catch::Matchers::ExceptionMessage( "brs_out_of_range: name too large.") )
due to unexpected exception with message:
  brs_error: nanoseconds are out of range: 109474543166887.

SECTION: brs_invalid: hunk too long
SECTION: brs_invalid: empty input
SECTION: brs_invalid: magic unrecognized
SECTION: brs_invalid: unknown hunk type
SECTION: brs_invalid: field missing name
SECTION: brs_invalid: field data mismatch reading
SECTION: brs_invalid: missing array index
SECTION: brs_invalid: missing array field name
SECTION: brs_invalid: missing map sub-name length
SECTION: brs_invalid: map sub-name length is zero
SECTION: brs_invalid: missing map sub-name
SECTION: brs_invalid: missing map name
SECTION: pathinfo: replace existing suffix
SECTION: stringize: build year
SECTION: safe_stream: hex/oct
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: hexadecimal_string: invalid length
SECTION: hexadecimal_string: invalid digits
SECTION: hexadecimal_string: integer too small (overflow)
SECTION: escape_special_regex_characters: verify that all special characters are indeed escaped
SECTION: pathinfo_canonicalize: canonicalize paths
SECTION: tokenize_string: empty input non-empty output if keeping empty entries
SECTION: tokenize_string: empty input empty output when removing empty entries
SECTION: tokenize_string: keep empty entries
SECTION: tokenize_string: remove empty entries
SECTION: tokenize_string: comma separated
SECTION: tokenize_string: comma separated, remove empty
SECTION: tokenize_string: comma separated, remove empty and trim
SECTION: tokenize_string: arrow (string) separated, remove empty and trim
SECTION: concat_strings: concatenate two strings at compile time
SECTION: pathinfo_replace_suffix: replace existing suffix
SECTION: pathinfo_replace_suffix: replace non-existant suffix
SECTION: pathinfo_replace_suffix: remove suffix when present
SECTION: pathinfo_replace_suffix: remove suffix when absent
SECTION: pathinfo_replace_suffix: do nothing if non-existant suffix
SECTION: username: convert a UID to a user name
SECTION: safe_assert: make sure assert can pass
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: user_groups: groups
SECTION: user_groups: invalid user
SECTION: safe_object: expected usage
SECTION: safe_object: with exception
SECTION: safe_object: test both ways
SECTION: safe_object: test with resource identifiers
SECTION: string_replace_variables: empty input string
SECTION: string_replace_variables: replace $HOME or ${HOME}
SECTION: string_replace_variables: test _SNAPDEV and snapdev123 (underscore, lowercase, digits)
SECTION: string_replace_variables: replace $$ with pid
SECTION: string_replace_variables: dollar at the end of the string
SECTION: string_replace_variables: no name
SECTION: string_replace_variables: invalid name
SECTION: is_string_literal: check all string literals inline
SECTION: is_string_literal: check all constexpr string literals
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: tokenize_format_strftime: no nanoseconds support
SECTION: tokenize_format_strftime: no nanoseconds support (extended)
SECTION: tokenize_format_strftime: data driven tests
SECTION: not_reached: verify that snapdev::NOT_REACHED() generates a SIGABRT
NOT_REACHED() called, process will abort.
Stack trace:
  /home/alexis/snapwebsites/snapcpp/contrib/libexcept/libexcept/stack_trace.cpp:157:33 in libexcept::collect_stack_trace_with_line_numbers[abi:cxx11](int)
  /home/alexis/snapwebsites/snapcpp/contrib/snapdev/snapdev/not_reached.h:68:18 <no function name>
  /home/alexis/snapwebsites/snapcpp/contrib/snapdev/tests/catch_not_reached.cpp:84:13 <no function name>
  ../../BUILD/Debug/contrib/snapdev/tests/unittest[6391076dfbe2] <no function name>
  ../../BUILD/Debug/contrib/snapdev/tests/unittest[6391076ca4cf] <no function name>
  ../../BUILD/Debug/contrib/snapdev/tests/unittest[6391076c91fe] <no function name>
  ../../BUILD/Debug/contrib/snapdev/tests/unittest[6391076c8ea9] <no function name>
  ../../BUILD/Debug/contrib/snapdev/tests/unittest[6391076c7028] <no function name>
  ../../BUILD/Debug/contrib/snapdev/tests/unittest[63910767b753] <no function name>
  ../../BUILD/Debug/contrib/snapdev/tests/unittest[63910767d051] <no function name>
  ../../BUILD/Debug/contrib/snapdev/tests/unittest[63910767cb36] <no function name>
  /home/alexis/snapwebsites/snapcpp/BUILD/Debug/dist/include/catch2/snapcatch2.hpp:845:33 <no function name>
  /home/alexis/snapwebsites/snapcpp/contrib/snapdev/tests/catch_main.cpp:60:51 <no function name>
  /lib/x86_64-linux-gnu/libc.so.6[70415022a1ca] <no function name>
  /lib/x86_64-linux-gnu/libc.so.6[70415022a28b] in __libc_start_main
  ../../BUILD/Debug/contrib/snapdev/tests/unittest[639107415775] <no function name>
SECTION: not_reached: verify that snapdev::NOT_REACHED_IN_TEST() generates a SIGABRT when the sanitizer is active
SECTION: tokenize_format_shell: test the ${[<number>][L]q|z} syntax (a bit like in a shell)
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: callback manager: verify priority and lambda functions
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 (gettime() function)
SECTION: timespec_ex_math: system time (snapdev::now() function)
SECTION: isatty: stringstream
SECTION: isatty: cout/cerr/clog/cin
SECTION: isatty: /dev/tty
SECTION: matrix: b=a*<brightness> (a is identity)
SECTION: matrix: b=a*<saturation> (a is identity)
SECTION: matrix: b=a*<hue> (a is identity)
SECTION: tokenize_no_numbers_template: verify all the no-number functions
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: 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: integer_to_string_literal: verify integral literals
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: trim_string: many cases
SECTION: version: snapdev version
SECTION: version: check wanted/current version
SECTION: version: check explicit versions
SECTION: version: we need at least g++ 7.x
SECTION: unique_number: verify unique number basic counter
SECTION: unique_number: verify unique number indexes
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: unique_number_error: non-empty filename is required
SECTION: unique_number_error: index out of range
SECTION: unique_number_error: file cannot be opened
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: pathinfo_relative: verify that path gets properly changed
SECTION: log2: zero
SECTION: log2: powers of 2
SECTION: log2: random numbers
===============================================================================
test cases:      76 |      75 passed | 1 failed
assertions: 7488680 | 7488679 passed | 1 failed

Command exited with non-zero status 42
1.78user 0.26system 0:16.04elapsed 12%CPU (0avgtext+0avgdata 10496maxresident)k
0inputs+480outputs (0major+10154minor)pagefaults 0swaps
info: test logs were saved in: "../../BUILD/Debug/contrib/snapdev/tests/tests.log".
error: test(s) failed.

Build, Tests/Coverage, or Upload failed on Thu Jan 29 06:03:34 AM UTC 2026.

Back to list