Back to list


info: starting build process on Fri Nov 13 05:46:54 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'
[  6%] 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'
[  9%] 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'
[ 11%] Generating API documentation with Doxygen
make[2]: Leaving directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/snapdev'
[ 13%] 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 "/home/alexis/snapwebsites/snapcpp/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" --premature-exit-guard-file /home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/snapdev/tmp/catch2-running.tmp   --progress  ""
snapdev v1.1.42 [692440]:unittest: seed is 1794548814
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: "/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/snapdev/tmp"
Randomness seeded to: 1932658436
2026/11/13 05:46:54.656043949: SECTION: "glob_to_list: replace existing suffix"
2026/11/13 05:46:54.665884102: END SECTION: "glob_to_list: replace existing suffix" -- duration: 0.009840153
0.010 s: glob_to_list: replace existing suffix
0.010 s: glob_to_list
2026/11/13 05:46:54.666020221: SECTION: "hexadecimal_string: verify hexadecimal digit detection"
2026/11/13 05:46:54.830746806: END SECTION: "hexadecimal_string: verify hexadecimal digit detection" -- duration: 0.164726585
0.165 s: hexadecimal_string: verify hexadecimal digit detection
0.165 s: hexadecimal_string_hex_digits
2026/11/13 05:46:54.830810263: SECTION: "log2: zero"
2026/11/13 05:46:54.830812114: END SECTION: "log2: zero" -- duration: 0.000001851
0.000 s: log2: zero
0.000 s: log2
2026/11/13 05:46:54.830831928: SECTION: "log2: powers of 2"
2026/11/13 05:46:54.830841814: END SECTION: "log2: powers of 2" -- duration: 0.000009886
0.000 s: log2: powers of 2
0.000 s: log2
2026/11/13 05:46:54.830854368: SECTION: "log2: random numbers"
2026/11/13 05:46:54.830867308: END SECTION: "log2: random numbers" -- duration: 0.000012940
0.000 s: log2: random numbers
0.000 s: log2
2026/11/13 05:46:54.830883712: SECTION: "compare_switch_string: simple manual tests"
2026/11/13 05:46:54.830888751: END SECTION: "compare_switch_string: simple manual tests" -- duration: 0.000005039
0.000 s: compare_switch_string: simple manual tests
0.000 s: compare_switch_string
2026/11/13 05:46:54.830903445: SECTION: "compare_switch_string: verify compare works as expected"
2026/11/13 05:46:54.830915819: END SECTION: "compare_switch_string: verify compare works as expected" -- duration: 0.000012374
0.000 s: compare_switch_string: verify compare works as expected
0.000 s: compare_switch_string
2026/11/13 05:46:54.830932520: SECTION: "rm_r: missing"
2026/11/13 05:46:54.831399372: END SECTION: "rm_r: missing" -- duration: 0.000466852
0.000 s: rm_r: missing
0.001 s: rm_r
2026/11/13 05:46:54.831442559: SECTION: "rm_r: empty directory"
2026/11/13 05:46:54.831653613: END SECTION: "rm_r: empty directory" -- duration: 0.000211054
0.000 s: rm_r: empty directory
0.000 s: rm_r
2026/11/13 05:46:54.831679687: SECTION: "rm_r: directory with a few files"
2026/11/13 05:46:54.832126558: END SECTION: "rm_r: directory with a few files" -- duration: 0.000446871
0.000 s: rm_r: directory with a few files
0.000 s: rm_r
2026/11/13 05:46:54.832157896: SECTION: "rm_r: directory tree"
2026/11/13 05:46:54.836148620: END SECTION: "rm_r: directory tree" -- duration: 0.003990724
0.004 s: rm_r: directory tree
0.004 s: rm_r
2026/11/13 05:46:54.836203867: 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
2026/11/13 05:46:54.846187892: END SECTION: "rm_r: directory tree with special files" -- duration: 0.009984025
0.010 s: rm_r: directory tree with special files
0.010 s: rm_r
2026/11/13 05:46:54.846239538: SECTION: "string_literal_length: check all inline string literal types"
2026/11/13 05:46:54.846243447: END SECTION: "string_literal_length: check all inline string literal types" -- duration: 0.000003909
0.000 s: string_literal_length: check all inline string literal types
0.000 s: string_literal_length
2026/11/13 05:46:54.846262805: SECTION: "string_literal_length: check all constexpr string literal lengths"
2026/11/13 05:46:54.846264775: END SECTION: "string_literal_length: check all constexpr string literal lengths" -- duration: 0.000001970
0.000 s: string_literal_length: check all constexpr string literal lengths
0.000 s: string_literal_length
2026/11/13 05:46:54.846277845: SECTION: "string_literal_length: check all constexpr string lengths"
2026/11/13 05:46:54.846280499: END SECTION: "string_literal_length: check all constexpr string lengths" -- duration: 0.000002654
0.000 s: string_literal_length: check all constexpr string lengths
0.000 s: string_literal_length
2026/11/13 05:46:54.846292975: SECTION: "string_literal_length: check all constexpr string pointers"
2026/11/13 05:46:54.846295641: END SECTION: "string_literal_length: check all constexpr string pointers" -- duration: 0.000002666
0.000 s: string_literal_length: check all constexpr string pointers
0.000 s: string_literal_length
2026/11/13 05:46:54.846312642: SECTION: "not_used: verify NOT_USED() without parameters"
2026/11/13 05:46:54.846314087: END SECTION: "not_used: verify NOT_USED() without parameters" -- duration: 0.000001445
0.000 s: not_used: verify NOT_USED() without parameters
0.000 s: not_used
2026/11/13 05:46:54.846326854: SECTION: "not_used: verify NOT_USED() works as expected (2 parameters)"
2026/11/13 05:46:54.846328081: END SECTION: "not_used: verify NOT_USED() works as expected (2 parameters)" -- duration: 0.000001227
0.000 s: not_used: verify NOT_USED() works as expected (2 parameters)
0.000 s: not_used
2026/11/13 05:46:54.846357914: SECTION: "matrix: b=a*<brightness> (a is identity)"
2026/11/13 05:46:54.852742096: END SECTION: "matrix: b=a*<brightness> (a is identity)" -- duration: 0.006384182
0.006 s: matrix: b=a*<brightness> (a is identity)
0.006 s:     Given: brightness
0.006 s: matrix_color
2026/11/13 05:46:54.852781907: SECTION: "matrix: b=a*<saturation> (a is identity)"
2026/11/13 05:46:54.892956625: END SECTION: "matrix: b=a*<saturation> (a is identity)" -- duration: 0.040174718
0.040 s: matrix: b=a*<saturation> (a is identity)
0.040 s:     Given: saturation
0.040 s: matrix_color
2026/11/13 05:46:54.892998468: SECTION: "matrix: b=a*<hue> (a is identity)"
2026/11/13 05:46:55.044981918: END SECTION: "matrix: b=a*<hue> (a is identity)" -- duration: 0.151983450
0.152 s: matrix: b=a*<hue> (a is identity)
0.152 s:     Given: hue
0.152 s: matrix_color
2026/11/13 05:46:55.045040961: SECTION: "lockfile: simple lock/unlock test"
2026/11/13 05:46:55.045132893: END SECTION: "lockfile: simple lock/unlock test" -- duration: 0.000091932
0.000 s: lockfile: simple lock/unlock test
0.000 s: lockfile
2026/11/13 05:46:55.045196598: SECTION: "lockfile: test a lock with a thread"
2026/11/13 05:46:57.046796679: END SECTION: "lockfile: test a lock with a thread" -- duration: 2.001600081
2.002 s: lockfile: test a lock with a thread
2.002 s: lockfile
2026/11/13 05:46:57.046955944: SECTION: "lockfile: verify the automatic unlock with a thread"
2026/11/13 05:46:59.048692431: END SECTION: "lockfile: verify the automatic unlock with a thread" -- duration: 2.001736487
2.002 s: lockfile: verify the automatic unlock with a thread
2.002 s: lockfile
2026/11/13 05:46:59.048876455: SECTION: "lockfile: a shared lock does not prevent the thread from finishing"
2026/11/13 05:47:01.049545153: END SECTION: "lockfile: a shared lock does not prevent the thread from finishing" -- duration: 2.000668698
2.001 s: lockfile: a shared lock does not prevent the thread from finishing
2.001 s: lockfile
2026/11/13 05:47:01.049738692: SECTION: "lockfile: test a try_lock() with a thread"
2026/11/13 05:47:03.050349778: END SECTION: "lockfile: test a try_lock() with a thread" -- duration: 2.000611086
2.001 s: lockfile: test a try_lock() with a thread
2.001 s: lockfile
2026/11/13 05:47:03.050589265: SECTION: "lockfile: test a shared lock and try_lock() with a thread"
2026/11/13 05:47:05.051233541: END SECTION: "lockfile: test a shared lock and try_lock() with a thread" -- duration: 2.000644276
2.001 s: lockfile: test a shared lock and try_lock() with a thread
2.001 s: lockfile
2026/11/13 05:47:05.051393373: SECTION: "lockfile: test an exclusive lock and a shared try_lock() lock with a thread"
2026/11/13 05:47:07.052036252: END SECTION: "lockfile: test an exclusive lock and a shared try_lock() lock with a thread" -- duration: 2.000642879
2.001 s: lockfile: test an exclusive lock and a shared try_lock() lock with a thread
2.001 s: lockfile
2026/11/13 05:47:07.052247103: SECTION: "lockfile: test a shared lock and an exclusive try_lock() lock with a thread"
2026/11/13 05:47:09.052849827: END SECTION: "lockfile: test a shared lock and an exclusive try_lock() lock with a thread" -- duration: 2.000602724
2.001 s: lockfile: test a shared lock and an exclusive try_lock() lock with a thread
2.001 s: lockfile
2026/11/13 05:47:09.053007251: SECTION: "lockfile: test copying a lockfile"
2026/11/13 05:47:09.053202328: END SECTION: "lockfile: test copying a lockfile" -- duration: 0.000195077
0.000 s: lockfile: test copying a lockfile
0.000 s: lockfile
2026/11/13 05:47:09.053279865: SECTION: "number_to_string(int): convert integers (int) to a string"
2026/11/13 05:47:09.066351469: END SECTION: "number_to_string(int): convert integers (int) to a string" -- duration: 0.013071604
0.013 s: number_to_string(int): convert integers (int) to a string
0.013 s: number_to_string(int)
2026/11/13 05:47:09.066447291: SECTION: "sort_and_remove_duplicates: empty container"
2026/11/13 05:47:09.066461109: END SECTION: "sort_and_remove_duplicates: empty container" -- duration: 0.000013818
0.000 s: sort_and_remove_duplicates: empty container
0.000 s: sort_and_remove_duplicates
2026/11/13 05:47:09.066506944: SECTION: "sort_and_remove_duplicates: container without duplicates"
2026/11/13 05:47:09.083212996: END SECTION: "sort_and_remove_duplicates: container without duplicates" -- duration: 0.016706052
0.017 s: sort_and_remove_duplicates: container without duplicates
0.017 s: sort_and_remove_duplicates
2026/11/13 05:47:09.083271604: SECTION: "sort_and_remove_duplicates: container with duplicates"
2026/11/13 05:47:09.113468278: END SECTION: "sort_and_remove_duplicates: container with duplicates" -- duration: 0.030196674
0.030 s: sort_and_remove_duplicates: container with duplicates
0.030 s: sort_and_remove_duplicates
2026/11/13 05:47:09.113516170: SECTION: "int128: 2^n with n from 0 to 127"
2026/11/13 05:47:09.113574586: END SECTION: "int128: 2^n with n from 0 to 127" -- duration: 0.000058416
0.000 s: int128: 2^n with n from 0 to 127
0.000 s: int128_powers
2026/11/13 05:47:09.113606750: SECTION: "uint128: 2^n with n from 0 to 127"
2026/11/13 05:47:09.113662405: END SECTION: "uint128: 2^n with n from 0 to 127" -- duration: 0.000055655
0.000 s: uint128: 2^n with n from 0 to 127
0.000 s: int128_powers
2026/11/13 05:47:09.113685151: SECTION: "[u]int128: n^0 where n is a random number"
2026/11/13 05:47:09.113706831: END SECTION: "[u]int128: n^0 where n is a random number" -- duration: 0.000021680
0.000 s: [u]int128: n^0 where n is a random number
0.000 s: int128_powers
2026/11/13 05:47:09.113728880: SECTION: "int128: 1^n with n < 0"
2026/11/13 05:47:09.114066538: END SECTION: "int128: 1^n with n < 0" -- duration: 0.000337658
0.000 s: int128: 1^n with n < 0
0.000 s: int128_powers
2026/11/13 05:47:09.114096006: SECTION: "int128: -1^n with n < 0"
2026/11/13 05:47:09.114284845: END SECTION: "int128: -1^n with n < 0" -- duration: 0.000188839
0.000 s: int128: -1^n with n < 0
0.000 s: int128_powers
2026/11/13 05:47:09.114319670: SECTION: "safe_assert: make sure assert can pass"
2026/11/13 05:47:09.114322190: END SECTION: "safe_assert: make sure assert can pass" -- duration: 0.000002520
0.000 s: safe_assert: make sure assert can pass
0.000 s: safe_assert
2026/11/13 05:47:09.114364870: SECTION: "int128_literal: zero and powers of two"
2026/11/13 05:47:09.114458070: END SECTION: "int128_literal: zero and powers of two" -- duration: 0.000093200
0.000 s: int128_literal: zero and powers of two
0.000 s: int128_literal
2026/11/13 05:47:09.114506433: SECTION: "uint128_literal: unsigned zero and powers of two"
2026/11/13 05:47:09.114576067: END SECTION: "uint128_literal: unsigned zero and powers of two" -- duration: 0.000069634
0.000 s: uint128_literal: unsigned zero and powers of two
0.000 s: int128_literal
2026/11/13 05:47:09.114609939: SECTION: "[u]int128_literal: large numbers in decimal, hexadecimal, octal and binary"
2026/11/13 05:47:09.114614264: END SECTION: "[u]int128_literal: large numbers in decimal, hexadecimal, octal and binary" -- duration: 0.000004325
0.000 s: [u]int128_literal: large numbers in decimal, hexadecimal, octal and binary
0.000 s: int128_literal
2026/11/13 05:47:09.114653503: SECTION: "brs_invalid: name missing"
2026/11/13 05:47:09.114956971: END SECTION: "brs_invalid: name missing" -- duration: 0.000303468
0.000 s: brs_invalid: name missing
0.000 s: brs_invalid
2026/11/13 05:47:09.115038478: SECTION: "brs_invalid: name too long"
2026/11/13 05:47:09.115234733: END SECTION: "brs_invalid: name too long" -- duration: 0.000196255
0.000 s: brs_invalid: name too long
0.000 s: brs_invalid
2026/11/13 05:47:09.115279665: SECTION: "brs_invalid: hunk too long"
2026/11/13 05:47:09.115836723: END SECTION: "brs_invalid: hunk too long" -- duration: 0.000557058
0.001 s: brs_invalid: hunk too long
0.001 s: brs_invalid
2026/11/13 05:47:09.115880304: SECTION: "brs_invalid: empty input"
2026/11/13 05:47:09.115910431: END SECTION: "brs_invalid: empty input" -- duration: 0.000030127
0.000 s: brs_invalid: empty input
0.000 s: brs_invalid
2026/11/13 05:47:09.115949961: SECTION: "brs_invalid: magic unrecognized"
2026/11/13 05:47:09.115977885: END SECTION: "brs_invalid: magic unrecognized" -- duration: 0.000027924
0.000 s: brs_invalid: magic unrecognized
0.000 s: brs_invalid
2026/11/13 05:47:09.116018016: SECTION: "brs_invalid: unknown hunk type"
2026/11/13 05:47:09.116046798: END SECTION: "brs_invalid: unknown hunk type" -- duration: 0.000028782
0.000 s: brs_invalid: unknown hunk type
0.000 s: brs_invalid
2026/11/13 05:47:09.116087828: SECTION: "brs_invalid: field missing name"
2026/11/13 05:47:09.116094189: END SECTION: "brs_invalid: field missing name" -- duration: 0.000006361
0.000 s: brs_invalid: field missing name
0.000 s: brs_invalid
2026/11/13 05:47:09.116147759: SECTION: "brs_invalid: field data mismatch reading"
2026/11/13 05:47:09.116301136: END SECTION: "brs_invalid: field data mismatch reading" -- duration: 0.000153377
0.000 s: brs_invalid: field data mismatch reading
0.000 s: brs_invalid
2026/11/13 05:47:09.116346254: SECTION: "brs_invalid: missing array index"
2026/11/13 05:47:09.116351427: END SECTION: "brs_invalid: missing array index" -- duration: 0.000005173
0.000 s: brs_invalid: missing array index
0.000 s: brs_invalid
2026/11/13 05:47:09.116391547: SECTION: "brs_invalid: missing array field name"
2026/11/13 05:47:09.116396789: END SECTION: "brs_invalid: missing array field name" -- duration: 0.000005242
0.000 s: brs_invalid: missing array field name
0.000 s: brs_invalid
2026/11/13 05:47:09.116450320: SECTION: "brs_invalid: missing map sub-name length"
2026/11/13 05:47:09.116455719: END SECTION: "brs_invalid: missing map sub-name length" -- duration: 0.000005399
0.000 s: brs_invalid: missing map sub-name length
0.000 s: brs_invalid
2026/11/13 05:47:09.116495861: SECTION: "brs_invalid: map sub-name length is zero"
2026/11/13 05:47:09.116526602: END SECTION: "brs_invalid: map sub-name length is zero" -- duration: 0.000030741
0.000 s: brs_invalid: map sub-name length is zero
0.000 s: brs_invalid
2026/11/13 05:47:09.116567691: SECTION: "brs_invalid: missing map sub-name"
2026/11/13 05:47:09.116572964: END SECTION: "brs_invalid: missing map sub-name" -- duration: 0.000005273
0.000 s: brs_invalid: missing map sub-name
0.000 s: brs_invalid
2026/11/13 05:47:09.116611745: SECTION: "brs_invalid: missing map name"
2026/11/13 05:47:09.116617265: END SECTION: "brs_invalid: missing map name" -- duration: 0.000005520
0.000 s: brs_invalid: missing map name
0.000 s: brs_invalid
2026/11/13 05:47:09.116669331: SECTION: "matrix: empty"
2026/11/13 05:47:09.116676654: END SECTION: "matrix: empty" -- duration: 0.000007323
0.000 s: matrix: empty
0.000 s:     Given: constructor
0.000 s: matrix_init
2026/11/13 05:47:09.116757265: SECTION: "matrix: 2x2"
2026/11/13 05:47:09.116779384: END SECTION: "matrix: 2x2" -- duration: 0.000022119
0.000 s: matrix: 2x2
0.000 s:     Given: constructor
0.000 s: matrix_init
2026/11/13 05:47:09.116816402: SECTION: "matrix: 3x3"
2026/11/13 05:47:09.116849644: END SECTION: "matrix: 3x3" -- duration: 0.000033242
0.000 s: matrix: 3x3
0.000 s:     Given: constructor
0.000 s: matrix_init
2026/11/13 05:47:09.116887835: SECTION: "matrix: 4x4"
2026/11/13 05:47:09.116936418: END SECTION: "matrix: 4x4" -- duration: 0.000048583
0.000 s: matrix: 4x4
0.000 s:     Given: constructor
0.000 s: matrix_init
2026/11/13 05:47:09.116979668: SECTION: "sorted_remove_duplicates: empty container"
2026/11/13 05:47:09.116985142: END SECTION: "sorted_remove_duplicates: empty container" -- duration: 0.000005474
0.000 s: sorted_remove_duplicates: empty container
0.000 s: sorted_remove_duplicates
2026/11/13 05:47:09.117018679: SECTION: "sorted_remove_duplicates: container without duplicates"
2026/11/13 05:47:09.124243088: END SECTION: "sorted_remove_duplicates: container without duplicates" -- duration: 0.007224409
0.007 s: sorted_remove_duplicates: container without duplicates
0.007 s: sorted_remove_duplicates
2026/11/13 05:47:09.124275445: SECTION: "sorted_remove_duplicates: container with duplicates"
2026/11/13 05:47:09.140630744: END SECTION: "sorted_remove_duplicates: container with duplicates" -- duration: 0.016355299
0.016 s: sorted_remove_duplicates: container with duplicates
0.016 s: sorted_remove_duplicates
2026/11/13 05:47:09.140655609: SECTION: "sorted_remove_duplicates: container with one item duplicated"
2026/11/13 05:47:09.141133363: END SECTION: "sorted_remove_duplicates: container with one item duplicated" -- duration: 0.000477754
0.000 s: sorted_remove_duplicates: container with one item duplicated
0.000 s: sorted_remove_duplicates
2026/11/13 05:47:09.141160092: SECTION: "base64_error: verify invalid characters make decoder return false"
2026/11/13 05:47:09.141407671: END SECTION: "base64_error: verify invalid characters make decoder return false" -- duration: 0.000247579
0.000 s: base64_error: verify invalid characters make decoder return false
0.000 s: base64_error
2026/11/13 05:47:09.141438000: SECTION: "unsorted_remove_duplicates: empty container"
2026/11/13 05:47:09.141440601: END SECTION: "unsorted_remove_duplicates: empty container" -- duration: 0.000002601
0.000 s: unsorted_remove_duplicates: empty container
0.000 s: unsorted_remove_duplicates
2026/11/13 05:47:09.141462216: SECTION: "unsorted_remove_duplicates: container without duplicates"
2026/11/13 05:47:09.141676404: END SECTION: "unsorted_remove_duplicates: container without duplicates" -- duration: 0.000214188
0.000 s: unsorted_remove_duplicates: container without duplicates
0.000 s: unsorted_remove_duplicates
2026/11/13 05:47:09.141696806: SECTION: "unsorted_remove_duplicates: container with duplicates (vector)"
2026/11/13 05:47:09.142528364: END SECTION: "unsorted_remove_duplicates: container with duplicates (vector)" -- duration: 0.000831558
0.001 s: unsorted_remove_duplicates: container with duplicates (vector)
0.001 s: unsorted_remove_duplicates
2026/11/13 05:47:09.142551492: SECTION: "unsorted_remove_duplicates: container with duplicates (list)"
2026/11/13 05:47:09.143872277: END SECTION: "unsorted_remove_duplicates: container with duplicates (list)" -- duration: 0.001320785
0.001 s: unsorted_remove_duplicates: container with duplicates (list)
0.001 s: unsorted_remove_duplicates
2026/11/13 05:47:09.143895319: SECTION: "unsorted_remove_duplicates: container with one item duplicated"
2026/11/13 05:47:09.144240280: END SECTION: "unsorted_remove_duplicates: container with one item duplicated" -- duration: 0.000344961
0.000 s: unsorted_remove_duplicates: container with one item duplicated
0.000 s: unsorted_remove_duplicates
2026/11/13 05:47:09.144265470: SECTION: "timed_getchar_timeout: make sure that our getchar() times out"

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

-------------------------------------------------------------------------------
timed_getchar_timeout
  timed_getchar_timeout: make sure that our getchar() times out
-------------------------------------------------------------------------------
/home/alexis/snapwebsites/snapcpp/contrib/snapdev/tests/catch_timed_getchar.cpp:56
...............................................................................

/home/alexis/snapwebsites/snapcpp/contrib/snapdev/tests/catch_timed_getchar.cpp:56: FAILED:
  {Unknown expression after the reported line}
due to unexpected exception with message:
  tcgetattr() failed: 25, Inappropriate ioctl for device

0.000 s: timed_getchar_timeout: make sure that our getchar() times out
0.000 s: timed_getchar_timeout
0.000 s: timed_getchar_timeout
2026/11/13 05:47:09.144522236: SECTION: "timespec_ex_basics: minimum"
2026/11/13 05:47:09.144525404: END SECTION: "timespec_ex_basics: minimum" -- duration: 0.000003168
0.000 s: timespec_ex_basics: minimum
0.000 s: timespec_ex_basics
2026/11/13 05:47:09.144545098: SECTION: "timespec_ex_basics: maximum"
2026/11/13 05:47:09.144546475: END SECTION: "timespec_ex_basics: maximum" -- duration: 0.000001377
0.000 s: timespec_ex_basics: maximum
0.000 s: timespec_ex_basics
2026/11/13 05:47:09.144559661: SECTION: "timespec_ex_basics: time is in the future"
2026/11/13 05:47:09.144563106: END SECTION: "timespec_ex_basics: time is in the future" -- duration: 0.000003445
0.000 s: timespec_ex_basics: time is in the future
0.000 s: timespec_ex_basics
2026/11/13 05:47:09.144584716: SECTION: "lockfd: test exclusive lock with -1, nothing happens"
2026/11/13 05:47:09.144586807: END SECTION: "lockfd: test exclusive lock with -1, nothing happens" -- duration: 0.000002091
0.000 s: lockfd: test exclusive lock with -1, nothing happens
0.000 s: lockfd
2026/11/13 05:47:09.144606254: SECTION: "lockfd: test shared lock with -1, nothing happens"
2026/11/13 05:47:09.144608022: END SECTION: "lockfd: test shared lock with -1, nothing happens" -- duration: 0.000001768
0.000 s: lockfd: test shared lock with -1, nothing happens
0.000 s: lockfd
2026/11/13 05:47:09.144624132: SECTION: "lockfd: test shared lock with actual file"
2026/11/13 05:47:09.144686262: END SECTION: "lockfd: test shared lock with actual file" -- duration: 0.000062130
0.000 s: lockfd: test shared lock with actual file
0.000 s: lockfd
2026/11/13 05:47:09.144711753: SECTION: "mkdir_p: empty"
2026/11/13 05:47:09.144727562: END SECTION: "mkdir_p: empty" -- duration: 0.000015809
0.000 s: mkdir_p: empty
0.000 s: mkdir_p
2026/11/13 05:47:09.144748523: SECTION: "mkdir_p: create"
2026/11/13 05:47:09.145065389: END SECTION: "mkdir_p: create" -- duration: 0.000316866
0.000 s: mkdir_p: create
0.000 s: mkdir_p
2026/11/13 05:47:09.145089557: SECTION: "mkdir_p: create full path"
2026/11/13 05:47:09.145269910: END SECTION: "mkdir_p: create full path" -- duration: 0.000180353
0.000 s: mkdir_p: create full path
0.000 s: mkdir_p
2026/11/13 05:47:09.145297899: SECTION: "timespec_ex_string: ostream"
2026/11/13 05:47:09.145346881: END SECTION: "timespec_ex_string: ostream" -- duration: 0.000048982
0.000 s: timespec_ex_string: ostream
0.000 s: timespec_ex_string
2026/11/13 05:47:09.145377642: SECTION: "timespec_ex_string: convert to string"
2026/11/13 05:47:09.145496540: END SECTION: "timespec_ex_string: convert to string" -- duration: 0.000118898
0.000 s: timespec_ex_string: convert to string
0.000 s: timespec_ex_string
2026/11/13 05:47:09.145520345: SECTION: "timespec_ex_string: convert to string when nl_langinfo(\"D_T_FMT\") returns \"\"."
2026/11/13 05:47:09.145556845: END SECTION: "timespec_ex_string: convert to string when nl_langinfo(\"D_T_FMT\") returns \"\"." -- duration: 0.000036500
0.000 s: timespec_ex_string: convert to string when nl_langinfo("D_T_FMT") returns "".
0.000 s: timespec_ex_string
2026/11/13 05:47:09.145574022: SECTION: "timespec_ex_string: convert to string when nl_langinfo(\"D_T_FMT\") returns \"%T\"."
2026/11/13 05:47:09.145586499: END SECTION: "timespec_ex_string: convert to string when nl_langinfo(\"D_T_FMT\") returns \"%T\"." -- duration: 0.000012477
0.000 s: timespec_ex_string: convert to string when nl_langinfo("D_T_FMT") returns "%T".
0.000 s: timespec_ex_string
2026/11/13 05:47:09.145606776: SECTION: "timespec_ex_string: convert to string when nl_langinfo(\"D_T_FMT\") returns \"%r %X %EX\"."
2026/11/13 05:47:09.145673645: END SECTION: "timespec_ex_string: convert to string when nl_langinfo(\"D_T_FMT\") returns \"%r %X %EX\"." -- duration: 0.000066869
0.000 s: timespec_ex_string: convert to string when nl_langinfo("D_T_FMT") returns "%r %X %EX".
0.000 s: timespec_ex_string
2026/11/13 05:47:09.145694337: SECTION: "timespec_ex_string: to and from string."
2026/11/13 05:47:09.145708346: END SECTION: "timespec_ex_string: to and from string." -- duration: 0.000014009
0.000 s: timespec_ex_string: to and from string.
0.000 s: timespec_ex_string
2026/11/13 05:47:09.145728417: SECTION: "timespec_ex_string: to and from string with %N."
2026/11/13 05:47:09.145771292: END SECTION: "timespec_ex_string: to and from string with %N." -- duration: 0.000042875
0.000 s: timespec_ex_string: to and from string with %N.
0.000 s: timespec_ex_string
2026/11/13 05:47:09.145796769: SECTION: "tokenize_format_star: test a *<l|r> syntax (with angle brackets)"
2026/11/13 05:47:09.145843934: END SECTION: "tokenize_format_star: test a *<l|r> syntax (with angle brackets)" -- duration: 0.000047165
0.000 s: tokenize_format_star: test a *<l|r> syntax (with angle brackets)
0.000 s: tokenize_format_star
2026/11/13 05:47:09.145865144: SECTION: "saturated_add_uint8: test all possible cases with 8 bits"
2026/11/13 05:47:09.156000207: END SECTION: "saturated_add_uint8: test all possible cases with 8 bits" -- duration: 0.010135063
0.010 s: saturated_add_uint8: test all possible cases with 8 bits
0.010 s: saturated_add_uint
2026/11/13 05:47:09.156046049: SECTION: "saturated_add_uint16: test many possible cases with 16 bits"
2026/11/13 05:47:09.429560440: END SECTION: "saturated_add_uint16: test many possible cases with 16 bits" -- duration: 0.273514391
0.274 s: saturated_add_uint16: test many possible cases with 16 bits
0.274 s: saturated_add_uint
2026/11/13 05:47:09.429615297: SECTION: "saturated_add_uint32: test a few possible cases with 32 bits"
2026/11/13 05:47:09.429618300: END SECTION: "saturated_add_uint32: test a few possible cases with 32 bits" -- duration: 0.000003003
0.000 s: saturated_add_uint32: test a few possible cases with 32 bits
0.000 s: saturated_add_uint
2026/11/13 05:47:09.429633791: SECTION: "saturated_add_uint64: test a few possible cases with 64 bits"
2026/11/13 05:47:09.429636513: END SECTION: "saturated_add_uint64: test a few possible cases with 64 bits" -- duration: 0.000002722
0.000 s: saturated_add_uint64: test a few possible cases with 64 bits
0.000 s: saturated_add_uint
2026/11/13 05:47:09.429650483: SECTION: "saturated_add_uint128: test a few possible cases with 128 bits"
2026/11/13 05:47:09.429653016: END SECTION: "saturated_add_uint128: test a few possible cases with 128 bits" -- duration: 0.000002533
0.000 s: saturated_add_uint128: test a few possible cases with 128 bits
0.000 s: saturated_add_uint
2026/11/13 05:47:09.429674157: SECTION: "pathinfo_canonicalize: canonicalize 2-segment paths"
2026/11/13 05:47:09.429704452: END SECTION: "pathinfo_canonicalize: canonicalize 2-segment paths" -- duration: 0.000030295
0.000 s: pathinfo_canonicalize: canonicalize 2-segment paths
0.000 s: pathinfo_canonicalize
2026/11/13 05:47:09.429718668: SECTION: "pathinfo_canonicalize: canonicalize 3-segment paths"
2026/11/13 05:47:09.429738041: END SECTION: "pathinfo_canonicalize: canonicalize 3-segment paths" -- duration: 0.000019373
0.000 s: pathinfo_canonicalize: canonicalize 3-segment paths
0.000 s: pathinfo_canonicalize
2026/11/13 05:47:09.429755257: SECTION: "trim_string: many cases"
2026/11/13 05:47:09.429871016: END SECTION: "trim_string: many cases" -- duration: 0.000115759
0.000 s: trim_string: many cases
0.000 s: trim_string
2026/11/13 05:47:09.429893200: SECTION: "unique_number: verify unique number basic counter"
2026/11/13 05:47:09.430696151: END SECTION: "unique_number: verify unique number basic counter" -- duration: 0.000802951
0.001 s: unique_number: verify unique number basic counter
0.001 s: unique_number
2026/11/13 05:47:09.430724491: SECTION: "unique_number: verify unique number indexes"
2026/11/13 05:47:09.504495905: END SECTION: "unique_number: verify unique number indexes" -- duration: 0.073771414
0.074 s: unique_number: verify unique number indexes
0.074 s: unique_number
2026/11/13 05:47:09.504548262: SECTION: "username: convert a UID to a user name"
2026/11/13 05:47:09.506019490: END SECTION: "username: convert a UID to a user name" -- duration: 0.001471228
0.001 s: username: convert a UID to a user name
0.002 s: username_invalid
2026/11/13 05:47:09.506070809: SECTION: "tokenize_string: empty input non-empty output if keeping empty entries"
2026/11/13 05:47:09.506079241: END SECTION: "tokenize_string: empty input non-empty output if keeping empty entries" -- duration: 0.000008432
0.000 s: tokenize_string: empty input non-empty output if keeping empty entries
0.000 s: tokenize_string
2026/11/13 05:47:09.506106882: SECTION: "tokenize_string: empty input empty output when removing empty entries"
2026/11/13 05:47:09.506109109: END SECTION: "tokenize_string: empty input empty output when removing empty entries" -- duration: 0.000002227
0.000 s: tokenize_string: empty input empty output when removing empty entries
0.000 s: tokenize_string
2026/11/13 05:47:09.506147072: SECTION: "tokenize_string: keep empty entries"
2026/11/13 05:47:09.506165524: END SECTION: "tokenize_string: keep empty entries" -- duration: 0.000018452
0.000 s: tokenize_string: keep empty entries
0.000 s: tokenize_string
2026/11/13 05:47:09.506186443: SECTION: "tokenize_string: remove empty entries"
2026/11/13 05:47:09.506193644: END SECTION: "tokenize_string: remove empty entries" -- duration: 0.000007201
0.000 s: tokenize_string: remove empty entries
0.000 s: tokenize_string
2026/11/13 05:47:09.506213807: SECTION: "tokenize_string: comma separated"
2026/11/13 05:47:09.506229577: END SECTION: "tokenize_string: comma separated" -- duration: 0.000015770
0.000 s: tokenize_string: comma separated
0.000 s: tokenize_string
2026/11/13 05:47:09.506250451: SECTION: "tokenize_string: comma separated, remove empty"
2026/11/13 05:47:09.506257678: END SECTION: "tokenize_string: comma separated, remove empty" -- duration: 0.000007227
0.000 s: tokenize_string: comma separated, remove empty
0.000 s: tokenize_string
2026/11/13 05:47:09.506274471: SECTION: "tokenize_string: comma separated, remove empty and trim"
2026/11/13 05:47:09.506284700: END SECTION: "tokenize_string: comma separated, remove empty and trim" -- duration: 0.000010229
0.000 s: tokenize_string: comma separated, remove empty and trim
0.000 s: tokenize_string
2026/11/13 05:47:09.506300846: SECTION: "tokenize_string: arrow (string) separated, remove empty and trim"
2026/11/13 05:47:09.506310055: END SECTION: "tokenize_string: arrow (string) separated, remove empty and trim" -- duration: 0.000009209
0.000 s: tokenize_string: arrow (string) separated, remove empty and trim
0.000 s: tokenize_string
2026/11/13 05:47:09.506357892: SECTION: "matrix: b=a*<scalar>"
2026/11/13 05:47:09.506400032: END SECTION: "matrix: b=a*<scalar>" -- duration: 0.000042140
0.000 s: matrix: b=a*<scalar>
0.000 s:     Given: mul
0.000 s: matrix_multiplicative
2026/11/13 05:47:09.506476529: SECTION: "matrix: a*=<scalar>"
2026/11/13 05:47:09.506493514: END SECTION: "matrix: a*=<scalar>" -- duration: 0.000016985
0.000 s: matrix: a*=<scalar>
0.000 s:     Given: mul
0.000 s: matrix_multiplicative
2026/11/13 05:47:09.506520077: SECTION: "matrix: c=a*b"
2026/11/13 05:47:09.506554593: END SECTION: "matrix: c=a*b" -- duration: 0.000034516
0.000 s: matrix: c=a*b
0.000 s:     Given: mul
0.000 s: matrix_multiplicative
2026/11/13 05:47:09.506582770: SECTION: "matrix: a*=b"
2026/11/13 05:47:09.506606560: END SECTION: "matrix: a*=b" -- duration: 0.000023790
0.000 s: matrix: a*=b
0.000 s:     Given: mul
0.000 s: matrix_multiplicative
2026/11/13 05:47:09.506633168: SECTION: "matrix: b=a/<scalar>"
2026/11/13 05:47:09.506660358: END SECTION: "matrix: b=a/<scalar>" -- duration: 0.000027190
0.000 s: matrix: b=a/<scalar>
0.000 s:     Given: div
0.000 s: matrix_multiplicative
2026/11/13 05:47:09.506706524: SECTION: "matrix: a/=<scalar>"
2026/11/13 05:47:09.506721020: END SECTION: "matrix: a/=<scalar>" -- duration: 0.000014496
0.000 s: matrix: a/=<scalar>
0.000 s:     Given: div
0.000 s: matrix_multiplicative
2026/11/13 05:47:09.506741594: SECTION: "matrix: c=a/b"
2026/11/13 05:47:09.506844994: END SECTION: "matrix: c=a/b" -- duration: 0.000103400
0.000 s: matrix: c=a/b
0.000 s:     Given: div
0.000 s: matrix_multiplicative
2026/11/13 05:47:09.506873244: SECTION: "matrix: a/=b"
2026/11/13 05:47:09.506950798: END SECTION: "matrix: a/=b" -- duration: 0.000077554
0.000 s: matrix: a/=b
0.000 s:     Given: div
0.000 s: matrix_multiplicative
2026/11/13 05:47:09.506990804: SECTION: "callback manager: member function callback"
2026/11/13 05:47:09.507020236: END SECTION: "callback manager: member function callback" -- duration: 0.000029432
0.000 s: callback manager: member function callback
0.000 s: callback_manager
2026/11/13 05:47:09.507046269: SECTION: "callback manager: direct function callback with 3 parameters"
2026/11/13 05:47:09.507056328: END SECTION: "callback manager: direct function callback with 3 parameters" -- duration: 0.000010059
0.000 s: callback manager: direct function callback with 3 parameters
0.000 s: callback_manager
2026/11/13 05:47:09.507075427: SECTION: "callback manager: direct function callback with no parameters"
2026/11/13 05:47:09.507079506: END SECTION: "callback manager: direct function callback with no parameters" -- duration: 0.000004079
0.000 s: callback manager: direct function callback with no parameters
0.000 s: callback_manager
2026/11/13 05:47:09.507097135: SECTION: "callback manager: std::bind() function"
2026/11/13 05:47:09.507102000: END SECTION: "callback manager: std::bind() function" -- duration: 0.000004865
0.000 s: callback manager: std::bind() function
0.000 s: callback_manager
2026/11/13 05:47:09.507131982: SECTION: "callback manager: verify priority and lambda functions"
2026/11/13 05:47:09.508332661: END SECTION: "callback manager: verify priority and lambda functions" -- duration: 0.001200679
0.001 s: callback manager: verify priority and lambda functions
0.001 s: callback_manager
2026/11/13 05:47:09.508360301: SECTION: "username: convert a UID to a user name"
2026/11/13 05:47:09.508410742: END SECTION: "username: convert a UID to a user name" -- duration: 0.000050441
0.000 s: username: convert a UID to a user name
0.000 s: username
2026/11/13 05:47:09.508443478: SECTION: "isatty: stringstream"
2026/11/13 05:47:09.508449979: END SECTION: "isatty: stringstream" -- duration: 0.000006501
0.000 s: isatty: stringstream
0.000 s: isatty
2026/11/13 05:47:09.508466297: SECTION: "isatty: cout/cerr/clog/cin"
2026/11/13 05:47:09.508472848: END SECTION: "isatty: cout/cerr/clog/cin" -- duration: 0.000006551
0.000 s: isatty: cout/cerr/clog/cin
0.000 s: isatty
2026/11/13 05:47:09.508489307: SECTION: "isatty: /dev/tty"
2026/11/13 05:47:09.508506733: END SECTION: "isatty: /dev/tty" -- duration: 0.000017426
0.000 s: isatty: /dev/tty
0.000 s: isatty
2026/11/13 05:47:09.508539446: SECTION: "brs_basic_types: push/restore char"
2026/11/13 05:47:09.508593077: END SECTION: "brs_basic_types: push/restore char" -- duration: 0.000053631
0.000 s: brs_basic_types: push/restore char
0.000 s: brs_basic_types
2026/11/13 05:47:09.508645007: SECTION: "brs_basic_types: push/restore signed char"
2026/11/13 05:47:09.508654853: END SECTION: "brs_basic_types: push/restore signed char" -- duration: 0.000009846
0.000 s: brs_basic_types: push/restore signed char
0.000 s: brs_basic_types
2026/11/13 05:47:09.508681210: SECTION: "brs_basic_types: push/restore unsigned char"
2026/11/13 05:47:09.508691458: END SECTION: "brs_basic_types: push/restore unsigned char" -- duration: 0.000010248
0.000 s: brs_basic_types: push/restore unsigned char
0.000 s: brs_basic_types
2026/11/13 05:47:09.508718051: SECTION: "brs_basic_types: push/restore shorts (16 bits)"
2026/11/13 05:47:09.508732017: END SECTION: "brs_basic_types: push/restore shorts (16 bits)" -- duration: 0.000013966
0.000 s: brs_basic_types: push/restore shorts (16 bits)
0.000 s: brs_basic_types
2026/11/13 05:47:09.508758575: SECTION: "brs_basic_types: push/restore ints (32 bits)"
2026/11/13 05:47:09.508772361: END SECTION: "brs_basic_types: push/restore ints (32 bits)" -- duration: 0.000013786
0.000 s: brs_basic_types: push/restore ints (32 bits)
0.000 s: brs_basic_types
2026/11/13 05:47:09.508795598: SECTION: "brs_basic_types: push/restore ints (64 bits)"
2026/11/13 05:47:09.508808418: END SECTION: "brs_basic_types: push/restore ints (64 bits)" -- duration: 0.000012820
0.000 s: brs_basic_types: push/restore ints (64 bits)
0.000 s: brs_basic_types
2026/11/13 05:47:09.508834558: SECTION: "brs_basic_types: push/restore floats"
2026/11/13 05:47:09.508850672: END SECTION: "brs_basic_types: push/restore floats" -- duration: 0.000016114
0.000 s: brs_basic_types: push/restore floats
0.000 s: brs_basic_types
2026/11/13 05:47:09.508877739: SECTION: "brs_basic_types: push/restore string"
2026/11/13 05:47:09.508890729: END SECTION: "brs_basic_types: push/restore string" -- duration: 0.000012990
0.000 s: brs_basic_types: push/restore string
0.000 s: brs_basic_types
2026/11/13 05:47:09.508916925: SECTION: "brs_basic_types: push/restore timespec"
2026/11/13 05:47:09.509147037: END SECTION: "brs_basic_types: push/restore timespec" -- duration: 0.000230112
0.000 s: brs_basic_types: push/restore timespec
0.000 s: brs_basic_types
2026/11/13 05:47:09.509177888: SECTION: "brs_basic_types: push/restore array (varying name)"
2026/11/13 05:47:09.509379925: END SECTION: "brs_basic_types: push/restore array (varying name)" -- duration: 0.000202037
0.000 s: brs_basic_types: push/restore array (varying name)
0.000 s: brs_basic_types
2026/11/13 05:47:09.509408626: SECTION: "brs_basic_types: push/restore array (same name)"
2026/11/13 05:47:09.509607961: END SECTION: "brs_basic_types: push/restore array (same name)" -- duration: 0.000199335
0.000 s: brs_basic_types: push/restore array (same name)
0.000 s: brs_basic_types
2026/11/13 05:47:09.509637800: SECTION: "brs_basic_types: push/restore map of strings"
2026/11/13 05:47:09.509935525: END SECTION: "brs_basic_types: push/restore map of strings" -- duration: 0.000297725
0.000 s: brs_basic_types: push/restore map of strings
0.000 s: brs_basic_types
2026/11/13 05:47:09.509964573: SECTION: "brs_basic_types: push/restore map of struct"
2026/11/13 05:47:09.511032697: END SECTION: "brs_basic_types: push/restore map of struct" -- duration: 0.001068124
0.001 s: brs_basic_types: push/restore map of struct
0.001 s: brs_basic_types
2026/11/13 05:47:09.511064573: SECTION: "brs_basic_types: push/restore recursive"
2026/11/13 05:47:09.511166359: END SECTION: "brs_basic_types: push/restore recursive" -- duration: 0.000101786
0.000 s: brs_basic_types: push/restore recursive
0.000 s: brs_basic_types
2026/11/13 05:47:09.511197656: SECTION: "safe_stream: hex/oct"
2026/11/13 05:47:09.511203775: END SECTION: "safe_stream: hex/oct" -- duration: 0.000006119
0.000 s: safe_stream: hex/oct
0.000 s: safe_stream
2026/11/13 05:47:09.511221193: SECTION: "safe_tcattr: remove/restore ECHO"
-------------------------------------------------------------------------------
safe_tcattr
  safe_tcattr: remove/restore ECHO
-------------------------------------------------------------------------------
/home/alexis/snapwebsites/snapcpp/contrib/snapdev/tests/catch_safe_tcattr.cpp:54
...............................................................................

/home/alexis/snapwebsites/snapcpp/contrib/snapdev/tests/catch_safe_tcattr.cpp:54: FAILED:
  {Unknown expression after the reported line}
due to unexpected exception with message:
  tcgetattr() failed: 25, Inappropriate ioctl for device

0.000 s: safe_tcattr: remove/restore ECHO
0.000 s: safe_tcattr
0.000 s: safe_tcattr
2026/11/13 05:47:09.511382694: SECTION: "string_replace_variables: empty input string"
2026/11/13 05:47:09.511386662: END SECTION: "string_replace_variables: empty input string" -- duration: 0.000003968
0.000 s: string_replace_variables: empty input string
0.000 s: string_replace_variables
2026/11/13 05:47:09.511415192: SECTION: "string_replace_variables: replace $HOME or ${HOME}"
2026/11/13 05:47:09.511452408: END SECTION: "string_replace_variables: replace $HOME or ${HOME}" -- duration: 0.000037216
0.000 s: string_replace_variables: replace $HOME or ${HOME}
0.000 s: string_replace_variables
2026/11/13 05:47:09.511474976: SECTION: "string_replace_variables: test _SNAPDEV and snapdev123 (underscore, lowercase, digits)"
2026/11/13 05:47:09.511494458: END SECTION: "string_replace_variables: test _SNAPDEV and snapdev123 (underscore, lowercase, digits)" -- duration: 0.000019482
0.000 s: string_replace_variables: test _SNAPDEV and snapdev123 (underscore, lowercase, digits)
0.000 s: string_replace_variables
2026/11/13 05:47:09.511514558: SECTION: "string_replace_variables: replace $$ with pid"
2026/11/13 05:47:09.511521578: END SECTION: "string_replace_variables: replace $$ with pid" -- duration: 0.000007020
0.000 s: string_replace_variables: replace $$ with pid
0.000 s: string_replace_variables
2026/11/13 05:47:09.511540740: SECTION: "string_replace_variables: dollar at the end of the string"
2026/11/13 05:47:09.511544036: END SECTION: "string_replace_variables: dollar at the end of the string" -- duration: 0.000003296
0.000 s: string_replace_variables: dollar at the end of the string
0.000 s: string_replace_variables
2026/11/13 05:47:09.511563684: SECTION: "string_replace_variables: no name"
2026/11/13 05:47:09.511570599: END SECTION: "string_replace_variables: no name" -- duration: 0.000006915
0.000 s: string_replace_variables: no name
0.000 s: string_replace_variables
2026/11/13 05:47:09.511590030: SECTION: "string_replace_variables: invalid name"
2026/11/13 05:47:09.511595932: END SECTION: "string_replace_variables: invalid name" -- duration: 0.000005902
0.000 s: string_replace_variables: invalid name
0.000 s: string_replace_variables
2026/11/13 05:47:09.511617954: SECTION: "version: snapdev version"
2026/11/13 05:47:09.511621130: END SECTION: "version: snapdev version" -- duration: 0.000003176
0.000 s: version: snapdev version
0.000 s: version
2026/11/13 05:47:09.511638540: SECTION: "version: check wanted/current version"
2026/11/13 05:47:09.511639679: END SECTION: "version: check wanted/current version" -- duration: 0.000001139
0.000 s: version: check wanted/current version
0.000 s: version
2026/11/13 05:47:09.511653435: SECTION: "version: check explicit versions"
2026/11/13 05:47:09.511657472: END SECTION: "version: check explicit versions" -- duration: 0.000004037
0.000 s: version: check explicit versions
0.000 s: version
2026/11/13 05:47:09.511674262: SECTION: "version: we need at least g++ 7.x"
2026/11/13 05:47:09.511675377: END SECTION: "version: we need at least g++ 7.x" -- duration: 0.000001115
0.000 s: version: we need at least g++ 7.x
0.000 s: version
2026/11/13 05:47:09.511692666: SECTION: "join_string_view: join strings at compile time"
2026/11/13 05:47:09.511695945: END SECTION: "join_string_view: join strings at compile time" -- duration: 0.000003279
0.000 s: join_string_view: join strings at compile time
0.000 s: join_string_view
2026/11/13 05:47:09.511714927: SECTION: "join_strings: join strings at runtime with empty string in between"
2026/11/13 05:47:09.511722822: END SECTION: "join_strings: join strings at runtime with empty string in between" -- duration: 0.000007895
0.000 s: join_strings: join strings at runtime with empty string in between
0.000 s: join_strings
2026/11/13 05:47:09.511744615: SECTION: "join_strings: join strings at runtime with commas"
2026/11/13 05:47:09.511750101: END SECTION: "join_strings: join strings at runtime with commas" -- duration: 0.000005486
0.000 s: join_strings: join strings at runtime with commas
0.000 s: join_strings
2026/11/13 05:47:09.511766975: SECTION: "join_strings: \"join\" one string with commas"
2026/11/13 05:47:09.511770084: END SECTION: "join_strings: \"join\" one string with commas" -- duration: 0.000003109
0.000 s: join_strings: "join" one string with commas
0.000 s: join_strings
2026/11/13 05:47:09.511783640: SECTION: "join_strings: nothing to join with commas"
2026/11/13 05:47:09.511785394: END SECTION: "join_strings: nothing to join with commas" -- duration: 0.000001754
0.000 s: join_strings: nothing to join with commas
0.000 s: join_strings
2026/11/13 05:47:09.511802107: SECTION: "pathinfo_realpath: make sure the realpath works"
2026/11/13 05:47:09.511821332: END SECTION: "pathinfo_realpath: make sure the realpath works" -- duration: 0.000019225
0.000 s: pathinfo_realpath: make sure the realpath works
0.000 s: pathinfo_realpath
2026/11/13 05:47:09.511841976: SECTION: "pathinfo_realpath: realpath fails for non-existant files"
2026/11/13 05:47:09.511851253: END SECTION: "pathinfo_realpath: realpath fails for non-existant files" -- duration: 0.000009277
0.000 s: pathinfo_realpath: realpath fails for non-existant files
0.000 s: pathinfo_realpath
2026/11/13 05:47:09.511867992: SECTION: "pathinfo_realpath: realpath fails for file instead of directory"
2026/11/13 05:47:09.511884135: END SECTION: "pathinfo_realpath: realpath fails for file instead of directory" -- duration: 0.000016143
0.000 s: pathinfo_realpath: realpath fails for file instead of directory
0.000 s: pathinfo_realpath
2026/11/13 05:47:09.511904986: SECTION: "pathinfo_relative: verify that path gets properly changed"
2026/11/13 05:47:09.511983576: END SECTION: "pathinfo_relative: verify that path gets properly changed" -- duration: 0.000078590
0.000 s: pathinfo_relative: verify that path gets properly changed
0.000 s: pathinfo_relative
2026/11/13 05:47:09.512005153: SECTION: "unique_number_error: non-empty filename is required"
2026/11/13 05:47:09.512020126: END SECTION: "unique_number_error: non-empty filename is required" -- duration: 0.000014973
0.000 s: unique_number_error: non-empty filename is required
0.000 s: unique_number_error
2026/11/13 05:47:09.512037015: SECTION: "unique_number_error: index out of range"
2026/11/13 05:47:09.513513243: END SECTION: "unique_number_error: index out of range" -- duration: 0.001476228
0.001 s: unique_number_error: index out of range
0.001 s: unique_number_error
2026/11/13 05:47:09.513533836: SECTION: "unique_number_error: file cannot be opened"
2026/11/13 05:47:09.513552280: END SECTION: "unique_number_error: file cannot be opened" -- duration: 0.000018444
0.000 s: unique_number_error: file cannot be opened
0.000 s: unique_number_error
2026/11/13 05:47:09.513571124: SECTION: "escape_special_regex_characters: verify that all special characters are indeed escaped"
2026/11/13 05:47:09.513657470: END SECTION: "escape_special_regex_characters: verify that all special characters are indeed escaped" -- duration: 0.000086346
0.000 s: escape_special_regex_characters: verify that all special characters are indeed escaped
0.000 s: escape_special_regex_characters
2026/11/13 05:47:09.513678579: SECTION: "hexadecimal_string: invalid length"
2026/11/13 05:47:09.513798097: END SECTION: "hexadecimal_string: invalid length" -- duration: 0.000119518
0.000 s: hexadecimal_string: invalid length
0.000 s: hexadecimal_string_invalid_input
2026/11/13 05:47:09.513819625: SECTION: "hexadecimal_string: invalid digits"
2026/11/13 05:47:09.516027394: END SECTION: "hexadecimal_string: invalid digits" -- duration: 0.002207769
0.002 s: hexadecimal_string: invalid digits
0.002 s: hexadecimal_string_invalid_input
2026/11/13 05:47:09.516048945: SECTION: "hexadecimal_string: integer too small (overflow)"
2026/11/13 05:47:09.522288959: END SECTION: "hexadecimal_string: integer too small (overflow)" -- duration: 0.006240014
0.006 s: hexadecimal_string: integer too small (overflow)
0.006 s: hexadecimal_string_invalid_input
2026/11/13 05:47:09.522314635: SECTION: "user_groups: groups"
2026/11/13 05:47:09.529413571: END SECTION: "user_groups: groups" -- duration: 0.007098936
0.007 s: user_groups: groups
0.007 s: user_groups
2026/11/13 05:47:09.529465485: SECTION: "user_groups: invalid user"
2026/11/13 05:47:09.529867409: END SECTION: "user_groups: invalid user" -- duration: 0.000401924
0.000 s: user_groups: invalid user
0.000 s: user_groups
2026/11/13 05:47:09.529901815: SECTION: "vector_streambuf: verify read & seek capability"
2026/11/13 05:47:09.529966029: END SECTION: "vector_streambuf: verify read & seek capability" -- duration: 0.000064214
0.000 s: vector_streambuf: verify read & seek capability
0.000 s: vector_streambuf
2026/11/13 05:47:09.529990066: SECTION: "vector_streambuf: verify read, write & seek capability"
2026/11/13 05:47:09.530042746: END SECTION: "vector_streambuf: verify read, write & seek capability" -- duration: 0.000052680
0.000 s: vector_streambuf: verify read, write & seek capability
0.000 s: vector_streambuf
2026/11/13 05:47:09.530063097: SECTION: "vector_streambuf: verify read, write & seek capability with a read-only vector"
2026/11/13 05:47:09.530086778: END SECTION: "vector_streambuf: verify read, write & seek capability with a read-only vector" -- duration: 0.000023681
0.000 s: vector_streambuf: verify read, write & seek capability with a read-only vector
0.000 s: vector_streambuf
2026/11/13 05:47:09.530109903: SECTION: "pathinfo_is_child_path: is child path function"
2026/11/13 05:47:09.530141146: END SECTION: "pathinfo_is_child_path: is child path function" -- duration: 0.000031243
0.000 s: pathinfo_is_child_path: is child path function
0.000 s: pathinfo_is_child_path
2026/11/13 05:47:09.530161960: SECTION: "base64: verify encoding & decoding"
2026/11/13 05:47:12.795825918: END SECTION: "base64: verify encoding & decoding" -- duration: 3.265663958
3.266 s: base64: verify encoding & decoding
3.266 s: base64
2026/11/13 05:47:12.795985678: SECTION: "base64: an empty string is valid and decodes as an empty buffer"
2026/11/13 05:47:12.795992340: END SECTION: "base64: an empty string is valid and decodes as an empty buffer" -- duration: 0.000006662
0.000 s: base64: an empty string is valid and decodes as an empty buffer
0.000 s: base64
2026/11/13 05:47:12.796056070: SECTION: "saturated_subtract_uint8: test all possible cases with 8 bits"
2026/11/13 05:47:12.818859538: END SECTION: "saturated_subtract_uint8: test all possible cases with 8 bits" -- duration: 0.022803468
0.023 s: saturated_subtract_uint8: test all possible cases with 8 bits
0.023 s: saturated_subtract_uint
2026/11/13 05:47:12.819032556: SECTION: "saturated_subtract_uint16: test many possible cases with 16 bits"
2026/11/13 05:47:13.085909598: END SECTION: "saturated_subtract_uint16: test many possible cases with 16 bits" -- duration: 0.266877042
0.267 s: saturated_subtract_uint16: test many possible cases with 16 bits
0.267 s: saturated_subtract_uint
2026/11/13 05:47:13.086004854: SECTION: "saturated_subtract: test a few possible cases with 32 bits"
2026/11/13 05:47:13.086010026: END SECTION: "saturated_subtract: test a few possible cases with 32 bits" -- duration: 0.000005172
0.000 s: saturated_subtract: test a few possible cases with 32 bits
0.000 s: saturated_subtract_uint
2026/11/13 05:47:13.086042033: SECTION: "saturated_subtract_uint64: test a few possible cases with 64 bits"
2026/11/13 05:47:13.086044877: END SECTION: "saturated_subtract_uint64: test a few possible cases with 64 bits" -- duration: 0.000002844
0.000 s: saturated_subtract_uint64: test a few possible cases with 64 bits
0.000 s: saturated_subtract_uint
2026/11/13 05:47:13.086075846: SECTION: "saturated_subtract_uint128: test a few possible cases with 128 bits"
2026/11/13 05:47:13.086080202: END SECTION: "saturated_subtract_uint128: test a few possible cases with 128 bits" -- duration: 0.000004356
0.000 s: saturated_subtract_uint128: test a few possible cases with 128 bits
0.000 s: saturated_subtract_uint
2026/11/13 05:47:13.086146329: SECTION: "matrix: a+=<scalar>"
2026/11/13 05:47:13.086168907: END SECTION: "matrix: a+=<scalar>" -- duration: 0.000022578
0.000 s: matrix: a+=<scalar>
0.000 s:     Given: add
0.000 s: matrix_additive
2026/11/13 05:47:13.086262861: SECTION: "matrix: b=a+<scalar>"
2026/11/13 05:47:13.086291957: END SECTION: "matrix: b=a+<scalar>" -- duration: 0.000029096
0.000 s: matrix: b=a+<scalar>
0.000 s:     Given: add
0.000 s: matrix_additive
2026/11/13 05:47:13.086341518: SECTION: "matrix: c=a+b"
2026/11/13 05:47:13.086374123: END SECTION: "matrix: c=a+b" -- duration: 0.000032605
0.000 s: matrix: c=a+b
0.000 s:     Given: add
0.000 s: matrix_additive
2026/11/13 05:47:13.086458213: SECTION: "matrix: a+=b"
2026/11/13 05:47:13.086480314: END SECTION: "matrix: a+=b" -- duration: 0.000022101
0.000 s: matrix: a+=b
0.000 s:     Given: add
0.000 s: matrix_additive
2026/11/13 05:47:13.086529483: SECTION: "matrix: b=a-<scalar>"
2026/11/13 05:47:13.086566971: END SECTION: "matrix: b=a-<scalar>" -- duration: 0.000037488
0.000 s: matrix: b=a-<scalar>
0.000 s:     Given: sub
0.000 s: matrix_additive
2026/11/13 05:47:13.086619679: SECTION: "matrix: a-=<scalar>"
2026/11/13 05:47:13.086635664: END SECTION: "matrix: a-=<scalar>" -- duration: 0.000015985
0.000 s: matrix: a-=<scalar>
0.000 s:     Given: sub
0.000 s: matrix_additive
2026/11/13 05:47:13.086680858: SECTION: "matrix: c=a-b"
2026/11/13 05:47:13.086714058: END SECTION: "matrix: c=a-b" -- duration: 0.000033200
0.000 s: matrix: c=a-b
0.000 s:     Given: sub
0.000 s: matrix_additive
2026/11/13 05:47:13.086761422: SECTION: "matrix: a-=b"
2026/11/13 05:47:13.086784155: END SECTION: "matrix: a-=b" -- duration: 0.000022733
0.000 s: matrix: a-=b
0.000 s:     Given: sub
0.000 s: matrix_additive
2026/11/13 05:47:13.086836279: SECTION: "not_reached: verify that snapdev::NOT_REACHED() generates a SIGABRT"
NOT_REACHED() called, process will abort.
Stack trace:
  /home/alexis/snapwebsites/snapcpp/contrib/snapdev/snapdev/not_reached.h:68 in snapdev::NOT_REACHED()
  /home/alexis/snapwebsites/snapcpp/contrib/snapdev/tests/catch_not_reached.cpp:84 in CATCH2_INTERNAL_TEST_0
  ../../BUILD/Debug/contrib/snapdev/tests/unittest(+0x50fc4a) [0x6236a22d3c4a]
  ../../BUILD/Debug/contrib/snapdev/tests/unittest(_ZNK5Catch14TestCaseHandle6invokeEv+0x2f) [0x6236a22c0039]
  ../../BUILD/Debug/contrib/snapdev/tests/unittest(_ZN5Catch10RunContext20invokeActiveTestCaseEv+0x4a) [0x6236a22bed36]
  ../../BUILD/Debug/contrib/snapdev/tests/unittest(_ZN5Catch10RunContext14runCurrentTestEv+0x18d) [0x6236a22be9e1]
  ../../BUILD/Debug/contrib/snapdev/tests/unittest(_ZN5Catch10RunContext7runTestERKNS_14TestCaseHandleE+0x38c) [0x6236a22bc946]
  ../../BUILD/Debug/contrib/snapdev/tests/unittest(+0x4a67ff) [0x6236a226a7ff]
  ../../BUILD/Debug/contrib/snapdev/tests/unittest(_ZN5Catch7Session11runInternalEv+0x437) [0x6236a226c125]
  ../../BUILD/Debug/contrib/snapdev/tests/unittest(_ZN5Catch7Session3runEv+0x5e) [0x6236a226bb52]
  ../../BUILD/Debug/contrib/snapdev/tests/unittest(_ZN8unittest16snap_catch2_mainEPKcS1_iPPcPFvvEPFvRN5Catch5Clara6ParserEEPFiRNS6_7SessionEES5_+0xcce) [0x6236a1fcac99]
  /home/alexis/snapwebsites/snapcpp/contrib/snapdev/tests/catch_main.cpp:68 in main(int, char *[])
2026/11/13 05:47:13.086836279: SECTION: "not_reached: verify that snapdev::NOT_REACHED() generates a SIGABRT"
2026/11/13 05:47:13.165544975: END SECTION: "not_reached: verify that snapdev::NOT_REACHED() generates a SIGABRT" -- duration: 0.078708696
0.079 s: not_reached: verify that snapdev::NOT_REACHED() generates a SIGABRT
0.079 s: not_reached
2026/11/13 05:47:13.165705129: SECTION: "not_reached: verify that snapdev::NOT_REACHED_IN_TEST() generates a SIGABRT when the sanitizer is active"
2026/11/13 05:47:13.165705129: SECTION: "not_reached: verify that snapdev::NOT_REACHED_IN_TEST() generates a SIGABRT when the sanitizer is active"
2026/11/13 05:47:13.168350442: END SECTION: "not_reached: verify that snapdev::NOT_REACHED_IN_TEST() generates a SIGABRT when the sanitizer is active" -- duration: 0.002645313
0.003 s: not_reached: verify that snapdev::NOT_REACHED_IN_TEST() generates a SIGABRT when the sanitizer is active
0.003 s: not_reached
2026/11/13 05:47:13.168522500: SECTION: "ostream_int128: small numbers (-10 to +10)"
2026/11/13 05:47:13.170000475: END SECTION: "ostream_int128: small numbers (-10 to +10)" -- duration: 0.001477975
0.001 s: ostream_int128: small numbers (-10 to +10)
0.002 s: ostream_int128
2026/11/13 05:47:13.170087425: SECTION: "ostream_int128: positive numbers"
2026/11/13 05:47:13.173181069: END SECTION: "ostream_int128: positive numbers" -- duration: 0.003093644
0.003 s: ostream_int128: positive numbers
0.003 s: ostream_int128
2026/11/13 05:47:13.173236339: SECTION: "ostream_int128: negative numbers"
2026/11/13 05:47:13.176434787: END SECTION: "ostream_int128: negative numbers" -- duration: 0.003198448
0.003 s: ostream_int128: negative numbers
0.003 s: ostream_int128
2026/11/13 05:47:13.176503293: SECTION: "ostream_int128: most positive number"
2026/11/13 05:47:13.176578506: END SECTION: "ostream_int128: most positive number" -- duration: 0.000075213
0.000 s: ostream_int128: most positive number
0.000 s: ostream_int128
2026/11/13 05:47:13.176627540: SECTION: "ostream_int128: most negative number"
2026/11/13 05:47:13.176650825: END SECTION: "ostream_int128: most negative number" -- duration: 0.000023285
0.000 s: ostream_int128: most negative number
0.000 s: ostream_int128
2026/11/13 05:47:13.176709577: SECTION: "timespec_ex_math: simple add"
2026/11/13 05:47:13.176725880: END SECTION: "timespec_ex_math: simple add" -- duration: 0.000016303
0.000 s: timespec_ex_math: simple add
0.000 s: timespec_ex_math
2026/11/13 05:47:13.176843352: SECTION: "timespec_ex_math: simple subtract"
2026/11/13 05:47:13.176854895: END SECTION: "timespec_ex_math: simple subtract" -- duration: 0.000011543
0.000 s: timespec_ex_math: simple subtract
0.000 s: timespec_ex_math
2026/11/13 05:47:13.176919025: SECTION: "timespec_ex_math: add \"minus one day\""
2026/11/13 05:47:13.176925472: END SECTION: "timespec_ex_math: add \"minus one day\"" -- duration: 0.000006447
0.000 s: timespec_ex_math: add "minus one day"
0.000 s: timespec_ex_math
2026/11/13 05:47:13.176989834: SECTION: "timespec_ex_math: add with nano overflow"
2026/11/13 05:47:13.176995920: END SECTION: "timespec_ex_math: add with nano overflow" -- duration: 0.000006086
0.000 s: timespec_ex_math: add with nano overflow
0.000 s: timespec_ex_math
2026/11/13 05:47:13.177051416: SECTION: "timespec_ex_math: subtract with nano underflow"
2026/11/13 05:47:13.177058419: END SECTION: "timespec_ex_math: subtract with nano underflow" -- duration: 0.000007003
0.000 s: timespec_ex_math: subtract with nano underflow
0.000 s: timespec_ex_math
2026/11/13 05:47:13.177139504: SECTION: "timespec_ex_math: -1, 0, +1"
2026/11/13 05:47:13.177152066: END SECTION: "timespec_ex_math: -1, 0, +1" -- duration: 0.000012562
0.000 s: timespec_ex_math: -1, 0, +1
0.000 s: timespec_ex_math
2026/11/13 05:47:13.177218797: SECTION: "timespec_ex_math: add nanos"
2026/11/13 05:47:13.177256916: END SECTION: "timespec_ex_math: add nanos" -- duration: 0.000038119
0.000 s: timespec_ex_math: add nanos
0.000 s: timespec_ex_math
2026/11/13 05:47:13.177324745: SECTION: "timespec_ex_math: load/save"
2026/11/13 05:47:13.177348332: END SECTION: "timespec_ex_math: load/save" -- duration: 0.000023587
0.000 s: timespec_ex_math: load/save
0.000 s: timespec_ex_math
2026/11/13 05:47:13.177406558: SECTION: "timespec_ex_math: negative + negative"
2026/11/13 05:47:13.177445549: END SECTION: "timespec_ex_math: negative + negative" -- duration: 0.000038991
0.000 s: timespec_ex_math: negative + negative
0.000 s: timespec_ex_math
2026/11/13 05:47:13.177506860: SECTION: "timespec_ex_math: system time (gettime() function)"
2026/11/13 05:47:13.177511574: END SECTION: "timespec_ex_math: system time (gettime() function)" -- duration: 0.000004714
0.000 s: timespec_ex_math: system time (gettime() function)
0.000 s: timespec_ex_math
2026/11/13 05:47:13.177568036: SECTION: "timespec_ex_math: system time (snapdev::now() function)"
2026/11/13 05:47:13.177572525: END SECTION: "timespec_ex_math: system time (snapdev::now() function)" -- duration: 0.000004489
0.000 s: timespec_ex_math: system time (snapdev::now() function)
0.000 s: timespec_ex_math
2026/11/13 05:47:13.177631682: SECTION: "memory_streambuf: verify read & seek capability"
2026/11/13 05:47:13.177708048: END SECTION: "memory_streambuf: verify read & seek capability" -- duration: 0.000076366
0.000 s: memory_streambuf: verify read & seek capability
0.000 s: memory_streambuf
2026/11/13 05:47:13.177765213: SECTION: "memory_streambuf: verify read, write & seek capability"
2026/11/13 05:47:13.177875484: END SECTION: "memory_streambuf: verify read, write & seek capability" -- duration: 0.000110271
0.000 s: memory_streambuf: verify read, write & seek capability
0.000 s: memory_streambuf
2026/11/13 05:47:13.177928626: SECTION: "memory_streambuf: verify read, write & seek capability with a read-only memory"
2026/11/13 05:47:13.177986442: END SECTION: "memory_streambuf: verify read, write & seek capability with a read-only memory" -- duration: 0.000057816
0.000 s: memory_streambuf: verify read, write & seek capability with a read-only memory
0.000 s: memory_streambuf
2026/11/13 05:47:13.178041459: SECTION: "integer_to_string_literal: verify integral literals"
2026/11/13 05:47:13.178064206: END SECTION: "integer_to_string_literal: verify integral literals" -- duration: 0.000022747
0.000 s: integer_to_string_literal: verify integral literals
0.000 s: to_string_literal
2026/11/13 05:47:13.178108436: SECTION: "floating_point_to_string_literal: verify float literals"
2026/11/13 05:47:13.178204165: END SECTION: "floating_point_to_string_literal: verify float literals" -- duration: 0.000095729
0.000 s: floating_point_to_string_literal: verify float literals
0.000 s: to_string_literal
2026/11/13 05:47:13.178259519: SECTION: "saturated_add_int8: test all possible cases with 8 bits"
2026/11/13 05:47:13.202242810: END SECTION: "saturated_add_int8: test all possible cases with 8 bits" -- duration: 0.023983291
0.024 s: saturated_add_int8: test all possible cases with 8 bits
0.024 s: saturated_add_int
2026/11/13 05:47:13.202347795: SECTION: "saturated_add_int16: test many possible cases with 16 bits"
2026/11/13 05:47:13.476344697: END SECTION: "saturated_add_int16: test many possible cases with 16 bits" -- duration: 0.273996902
0.274 s: saturated_add_int16: test many possible cases with 16 bits
0.274 s: saturated_add_int
2026/11/13 05:47:13.476414159: SECTION: "saturated_add_int32: test a few possible cases with 32 bits"
2026/11/13 05:47:13.476417304: END SECTION: "saturated_add_int32: test a few possible cases with 32 bits" -- duration: 0.000003145
0.000 s: saturated_add_int32: test a few possible cases with 32 bits
0.000 s: saturated_add_int
2026/11/13 05:47:13.476440814: SECTION: "saturated_add_int64: test a few possible cases with 64 bits"
2026/11/13 05:47:13.476443902: END SECTION: "saturated_add_int64: test a few possible cases with 64 bits" -- duration: 0.000003088
0.000 s: saturated_add_int64: test a few possible cases with 64 bits
0.000 s: saturated_add_int
2026/11/13 05:47:13.476458175: SECTION: "saturated_add_int128: test a few possible cases with 128 bits"
2026/11/13 05:47:13.476460635: END SECTION: "saturated_add_int128: test a few possible cases with 128 bits" -- duration: 0.000002460
0.000 s: saturated_add_int128: test a few possible cases with 128 bits
0.000 s: saturated_add_int
2026/11/13 05:47:13.476483048: SECTION: "string_replace_many: empty input string"
2026/11/13 05:47:13.476491203: END SECTION: "string_replace_many: empty input string" -- duration: 0.000008155
0.000 s: string_replace_many: empty input string
0.000 s: string_replace_many
2026/11/13 05:47:13.476509309: SECTION: "string_replace_many: replace one string"
2026/11/13 05:47:13.476603219: END SECTION: "string_replace_many: replace one string" -- duration: 0.000093910
0.000 s: string_replace_many: replace one string
0.000 s: string_replace_many
2026/11/13 05:47:13.476617576: SECTION: "string_replace_many: replace many strings"
2026/11/13 05:47:13.476731940: END SECTION: "string_replace_many: replace many strings" -- duration: 0.000114364
0.000 s: string_replace_many: replace many strings
0.000 s: string_replace_many
2026/11/13 05:47:13.476750510: SECTION: "string_replace_many: dashing string"
2026/11/13 05:47:13.476786945: END SECTION: "string_replace_many: dashing string" -- duration: 0.000036435
0.000 s: string_replace_many: dashing string
0.000 s: string_replace_many
2026/11/13 05:47:13.476806734: SECTION: "tokenize_format_shell: test the ${[<number>][L]q|z} syntax (a bit like in a shell)"
2026/11/13 05:47:13.476985804: END SECTION: "tokenize_format_shell: test the ${[<number>][L]q|z} syntax (a bit like in a shell)" -- duration: 0.000179070
0.000 s: tokenize_format_shell: test the ${[<number>][L]q|z} syntax (a bit like in a shell)
0.000 s: tokenize_format_shell
2026/11/13 05:47:13.477012724: SECTION: "timespec_ex_tm: tm is canonical"
2026/11/13 05:47:13.478459403: END SECTION: "timespec_ex_tm: tm is canonical" -- duration: 0.001446679
0.001 s: timespec_ex_tm: tm is canonical
0.001 s: timespec_ex_tm
2026/11/13 05:47:13.478484594: SECTION: "timespec_ex_tm: compare tm"
2026/11/13 05:47:13.564428276: END SECTION: "timespec_ex_tm: compare tm" -- duration: 0.085943682
0.086 s: timespec_ex_tm: compare tm
0.086 s: timespec_ex_tm
2026/11/13 05:47:13.564474035: SECTION: "tokenize_format_advgetopt: data driven tests"
2026/11/13 05:47:13.564511871: END SECTION: "tokenize_format_advgetopt: data driven tests" -- duration: 0.000037836
0.000 s: tokenize_format_advgetopt: data driven tests
0.000 s: tokenize_format_advgetopt
2026/11/13 05:47:13.564546152: SECTION: "matrix: minor"
2026/11/13 05:47:13.564577480: END SECTION: "matrix: minor" -- duration: 0.000031328
0.000 s: matrix: minor
0.000 s:     Given: move data
0.000 s: matrix_util
2026/11/13 05:47:13.564617007: SECTION: "matrix: transpose 4x4"
2026/11/13 05:47:13.564629933: END SECTION: "matrix: transpose 4x4" -- duration: 0.000012926
0.000 s: matrix: transpose 4x4
0.000 s:     Given: move data
0.000 s: matrix_util
2026/11/13 05:47:13.564652551: SECTION: "matrix: transpose 6x2"
2026/11/13 05:47:13.564666067: END SECTION: "matrix: transpose 6x2" -- duration: 0.000013516
0.000 s: matrix: transpose 6x2
0.000 s:     Given: move data
0.000 s: matrix_util
2026/11/13 05:47:13.564692725: SECTION: "matrix: adjugate 2x2"
2026/11/13 05:47:13.564700722: END SECTION: "matrix: adjugate 2x2" -- duration: 0.000007997
0.000 s: matrix: adjugate 2x2
0.000 s:     Given: move data
0.000 s: matrix_util
2026/11/13 05:47:13.564726280: SECTION: "matrix: adjugate 3x3"
2026/11/13 05:47:13.564747108: END SECTION: "matrix: adjugate 3x3" -- duration: 0.000020828
0.000 s: matrix: adjugate 3x3
0.000 s:     Given: move data
0.000 s: matrix_util
2026/11/13 05:47:13.564769114: SECTION: "matrix: 2x2 determinant"
2026/11/13 05:47:13.564772461: END SECTION: "matrix: 2x2 determinant" -- duration: 0.000003347
0.000 s: matrix: 2x2 determinant
0.000 s:     Given: calculations
0.000 s: matrix_util
2026/11/13 05:47:13.564800086: SECTION: "matrix: 3x3 determinant with specific data"
2026/11/13 05:47:13.564804839: END SECTION: "matrix: 3x3 determinant with specific data" -- duration: 0.000004753
0.000 s: matrix: 3x3 determinant with specific data
0.000 s:     Given: calculations
0.000 s: matrix_util
2026/11/13 05:47:13.564828198: SECTION: "matrix: 3x3 determinant with random data"
2026/11/13 05:47:13.564885455: END SECTION: "matrix: 3x3 determinant with random data" -- duration: 0.000057257
0.000 s: matrix: 3x3 determinant with random data
0.000 s:     Given: calculations
0.000 s: matrix_util
2026/11/13 05:47:13.564913512: SECTION: "preset_atomic: verify basic operations (non-volatile int)"
2026/11/13 05:47:13.564925736: END SECTION: "preset_atomic: verify basic operations (non-volatile int)" -- duration: 0.000012224
0.000 s: preset_atomic: verify basic operations (non-volatile int)
0.000 s: preset_atomic
2026/11/13 05:47:13.564952643: SECTION: "preset_atomic: verify basic operations (volatile int)"
2026/11/13 05:47:13.564958324: END SECTION: "preset_atomic: verify basic operations (volatile int)" -- duration: 0.000005681
0.000 s: preset_atomic: verify basic operations (volatile int)
0.000 s: preset_atomic
2026/11/13 05:47:13.564974039: SECTION: "preset_atomic: verify basic operations (non-volatile float)"
2026/11/13 05:47:13.564981287: END SECTION: "preset_atomic: verify basic operations (non-volatile float)" -- duration: 0.000007248
0.000 s: preset_atomic: verify basic operations (non-volatile float)
0.000 s: preset_atomic
2026/11/13 05:47:13.564999637: SECTION: "preset_atomic: verify basic operations (volatile float)"
2026/11/13 05:47:13.565005573: END SECTION: "preset_atomic: verify basic operations (volatile float)" -- duration: 0.000005936
0.000 s: preset_atomic: verify basic operations (volatile float)
0.000 s: preset_atomic
2026/11/13 05:47:13.565023973: SECTION: "preset_atomic: verify basic operations (non-volatile pointer)"
2026/11/13 05:47:13.565027386: END SECTION: "preset_atomic: verify basic operations (non-volatile pointer)" -- duration: 0.000003413
0.000 s: preset_atomic: verify basic operations (non-volatile pointer)
0.000 s: preset_atomic
2026/11/13 05:47:13.565041898: SECTION: "preset_atomic: verify basic operations (volatile pointer)"
2026/11/13 05:47:13.565045192: END SECTION: "preset_atomic: verify basic operations (volatile pointer)" -- duration: 0.000003294
0.000 s: preset_atomic: verify basic operations (volatile pointer)
0.000 s: preset_atomic
2026/11/13 05:47:13.565067430: SECTION: "lockfile_error: no path generates an error trying to create the lock file"
2026/11/13 05:47:13.565145316: END SECTION: "lockfile_error: no path generates an error trying to create the lock file" -- duration: 0.000077886
0.000 s: lockfile_error: no path generates an error trying to create the lock file
0.000 s: lockfile_error
2026/11/13 05:47:13.565169509: SECTION: "timestamp: verify that the math is working as expected for February"
2026/11/13 05:47:13.572836265: END SECTION: "timestamp: verify that the math is working as expected for February" -- duration: 0.007666756
0.008 s: timestamp: verify that the math is working as expected for February
0.008 s: timestamp
2026/11/13 05:47:13.572861431: SECTION: "timestamp: check number of days in a month"
2026/11/13 05:47:13.572870850: END SECTION: "timestamp: check number of days in a month" -- duration: 0.000009419
0.000 s: timestamp: check number of days in a month
0.000 s: timestamp
2026/11/13 05:47:13.572883129: SECTION: "timestamp: check some random time_t"
2026/11/13 05:47:13.573218648: END SECTION: "timestamp: check some random time_t" -- duration: 0.000335519
0.000 s: timestamp: check some random time_t
0.000 s: timestamp
2026/11/13 05:47:13.573241922: SECTION: "hexadecimal_string: all 16 bit values"
2026/11/13 05:47:13.890294023: END SECTION: "hexadecimal_string: all 16 bit values" -- duration: 0.317052101
0.317 s: hexadecimal_string: all 16 bit values
0.317 s: hexadecimal_string_16_bit_values
2026/11/13 05:47:13.890352753: SECTION: "hexadecimal_string: hex_to_bin & bin_to_hex, large (and small) random numbers"
2026/11/13 05:47:13.896593669: END SECTION: "hexadecimal_string: hex_to_bin & bin_to_hex, large (and small) random numbers" -- duration: 0.006240916
0.006 s: hexadecimal_string: hex_to_bin & bin_to_hex, large (and small) random numbers
0.006 s: hexadecimal_string_16_bit_values
2026/11/13 05:47:13.896617253: SECTION: "hexadecimal_string: bin_to_hex with empty"
2026/11/13 05:47:13.896619950: END SECTION: "hexadecimal_string: bin_to_hex with empty" -- duration: 0.000002697
0.000 s: hexadecimal_string: bin_to_hex with empty
0.000 s: hexadecimal_string_16_bit_values
2026/11/13 05:47:13.896633648: SECTION: "hexadecimal_string: large width for int_to_hex()"
2026/11/13 05:47:13.896810786: END SECTION: "hexadecimal_string: large width for int_to_hex()" -- duration: 0.000177138
0.000 s: hexadecimal_string: large width for int_to_hex()
0.000 s: hexadecimal_string_16_bit_values
2026/11/13 05:47:13.896836091: SECTION: "pathinfo_is_absolute: check absolute and relative paths"
2026/11/13 05:47:13.896840597: END SECTION: "pathinfo_is_absolute: check absolute and relative paths" -- duration: 0.000004506
0.000 s: pathinfo_is_absolute: check absolute and relative paths
0.000 s: pathinfo_is_absolute
2026/11/13 05:47:13.896856682: SECTION: "concat_strings: concatenate two strings at compile time"
2026/11/13 05:47:13.896858427: END SECTION: "concat_strings: concatenate two strings at compile time" -- duration: 0.000001745
0.000 s: concat_strings: concatenate two strings at compile time
0.000 s: concat_strings
2026/11/13 05:47:13.896875302: SECTION: "tokenize_no_numbers_template: verify all the no-number functions"
2026/11/13 05:47:13.896887680: END SECTION: "tokenize_no_numbers_template: verify all the no-number functions" -- duration: 0.000012378
0.000 s: tokenize_no_numbers_template: verify all the no-number functions
0.000 s: tokenize_no_numbers_template
2026/11/13 05:47:13.896908390: SECTION: "memsearch: verify memory search"
2026/11/13 05:47:13.896911797: END SECTION: "memsearch: verify memory search" -- duration: 0.000003407
0.000 s: memsearch: verify memory search
0.000 s: memsearch
2026/11/13 05:47:13.896928013: SECTION: "pathinfo_replace_suffix: replace existing suffix"
2026/11/13 05:47:13.896941417: END SECTION: "pathinfo_replace_suffix: replace existing suffix" -- duration: 0.000013404
0.000 s: pathinfo_replace_suffix: replace existing suffix
0.000 s: pathinfo_replace_suffix
2026/11/13 05:47:13.896966463: SECTION: "pathinfo_replace_suffix: replace non-existant suffix"
2026/11/13 05:47:13.896976943: END SECTION: "pathinfo_replace_suffix: replace non-existant suffix" -- duration: 0.000010480
0.000 s: pathinfo_replace_suffix: replace non-existant suffix
0.000 s: pathinfo_replace_suffix
2026/11/13 05:47:13.896995105: SECTION: "pathinfo_replace_suffix: remove suffix when present"
2026/11/13 05:47:13.897005678: END SECTION: "pathinfo_replace_suffix: remove suffix when present" -- duration: 0.000010573
0.000 s: pathinfo_replace_suffix: remove suffix when present
0.000 s: pathinfo_replace_suffix
2026/11/13 05:47:13.897022960: SECTION: "pathinfo_replace_suffix: remove suffix when absent"
2026/11/13 05:47:13.897032288: END SECTION: "pathinfo_replace_suffix: remove suffix when absent" -- duration: 0.000009328
0.000 s: pathinfo_replace_suffix: remove suffix when absent
0.000 s: pathinfo_replace_suffix
2026/11/13 05:47:13.897049650: SECTION: "pathinfo_replace_suffix: do nothing if non-existant suffix"
2026/11/13 05:47:13.897055423: END SECTION: "pathinfo_replace_suffix: do nothing if non-existant suffix" -- duration: 0.000005773
0.000 s: pathinfo_replace_suffix: do nothing if non-existant suffix
0.000 s: pathinfo_replace_suffix
2026/11/13 05:47:13.897076545: SECTION: "compare_switch_string_errors: check first letter in debug"
2026/11/13 05:47:13.897125094: END SECTION: "compare_switch_string_errors: check first letter in debug" -- duration: 0.000048549
0.000 s: compare_switch_string_errors: check first letter in debug
0.000 s: compare_switch_string_errors
2026/11/13 05:47:13.897148061: SECTION: "as_root: failing switch to root user"
2026/11/13 05:47:13.897162175: END SECTION: "as_root: failing switch to root user" -- duration: 0.000014114
0.000 s: as_root: failing switch to root user
0.000 s: as_root
2026/11/13 05:47:13.897178323: SECTION: "as_root: working to (not) switch to ourself"
2026/11/13 05:47:13.897182126: END SECTION: "as_root: working to (not) switch to ourself" -- duration: 0.000003803
0.000 s: as_root: working to (not) switch to ourself
0.000 s: as_root
2026/11/13 05:47:13.897198449: SECTION: "drop root privileges"
2026/11/13 05:47:13.897208872: END SECTION: "drop root privileges" -- duration: 0.000010423
0.000 s: drop root privileges
0.000 s: as_root
2026/11/13 05:47:13.897229054: SECTION: "chownnm: change group"
2026/11/13 05:47:13.898557459: END SECTION: "chownnm: change group" -- duration: 0.001328405
0.001 s: chownnm: change group
0.001 s: chownnm
2026/11/13 05:47:13.898597743: SECTION: "chownnm: change owner"
warning: skipping change owner test because your are not root and/or the "snapwebsites" user doesn't exist.
2026/11/13 05:47:13.898646730: END SECTION: "chownnm: change owner" -- duration: 0.000048987
0.000 s: chownnm: change owner
0.000 s: chownnm
2026/11/13 05:47:13.898667575: SECTION: "tokenize_format_strftime: no nanoseconds support"
2026/11/13 05:47:13.898685506: END SECTION: "tokenize_format_strftime: no nanoseconds support" -- duration: 0.000017931
0.000 s: tokenize_format_strftime: no nanoseconds support
0.000 s: tokenize_format_strftime
2026/11/13 05:47:13.898703004: SECTION: "tokenize_format_strftime: no nanoseconds support (extended)"
2026/11/13 05:47:13.898712875: END SECTION: "tokenize_format_strftime: no nanoseconds support (extended)" -- duration: 0.000009871
0.000 s: tokenize_format_strftime: no nanoseconds support (extended)
0.000 s: tokenize_format_strftime
2026/11/13 05:47:13.898727290: SECTION: "tokenize_format_strftime: data driven tests"
2026/11/13 05:47:13.899447509: END SECTION: "tokenize_format_strftime: data driven tests" -- duration: 0.000720219
0.001 s: tokenize_format_strftime: data driven tests
0.001 s: tokenize_format_strftime
2026/11/13 05:47:13.899474405: SECTION: "timestamp_error: verify that the month must be between 1 and 12 calling unix_timestamp_month_days()"
2026/11/13 05:47:13.899629772: END SECTION: "timestamp_error: verify that the month must be between 1 and 12 calling unix_timestamp_month_days()" -- duration: 0.000155367
0.000 s: timestamp_error: verify that the month must be between 1 and 12 calling unix_timestamp_month_days()
0.000 s: timestamp_error
2026/11/13 05:47:13.899652413: SECTION: "is_string_literal: check all string literals inline"
2026/11/13 05:47:13.899654634: END SECTION: "is_string_literal: check all string literals inline" -- duration: 0.000002221
0.000 s: is_string_literal: check all string literals inline
0.000 s: is_string_literal
2026/11/13 05:47:13.899669558: SECTION: "is_string_literal: check all constexpr string literals"
2026/11/13 05:47:13.899671434: END SECTION: "is_string_literal: check all constexpr string literals" -- duration: 0.000001876
0.000 s: is_string_literal: check all constexpr string literals
0.000 s: is_string_literal
2026/11/13 05:47:13.899687486: SECTION: "floating_point_to_string: verify conversion of floating points to string"
2026/11/13 05:47:13.899706534: END SECTION: "floating_point_to_string: verify conversion of floating points to string" -- duration: 0.000019048
0.000 s: floating_point_to_string: verify conversion of floating points to string
0.000 s: floating_point_to_string
2026/11/13 05:47:13.899726238: SECTION: "tokenize_format_printf: escape %"
2026/11/13 05:47:13.899745110: END SECTION: "tokenize_format_printf: escape %" -- duration: 0.000018872
0.000 s: tokenize_format_printf: escape %
0.000 s: tokenize_format_printf
2026/11/13 05:47:13.899770388: SECTION: "tokenize_format_printf: letters only"
2026/11/13 05:47:13.900132642: END SECTION: "tokenize_format_printf: letters only" -- duration: 0.000362254
0.000 s: tokenize_format_printf: letters only
0.000 s: tokenize_format_printf
2026/11/13 05:47:13.900154908: SECTION: "tokenize_format_printf: size + format"
2026/11/13 05:47:13.900266157: END SECTION: "tokenize_format_printf: size + format" -- duration: 0.000111249
0.000 s: tokenize_format_printf: size + format
0.000 s: tokenize_format_printf
2026/11/13 05:47:13.900285696: SECTION: "tokenize_format_printf: size defined twice"
2026/11/13 05:47:13.901351787: END SECTION: "tokenize_format_printf: size defined twice" -- duration: 0.001066091
0.001 s: tokenize_format_printf: size defined twice
0.001 s: tokenize_format_printf
2026/11/13 05:47:13.901373950: SECTION: "tokenize_format_printf: data driven tests"
2026/11/13 05:47:13.901755199: END SECTION: "tokenize_format_printf: data driven tests" -- duration: 0.000381249
0.000 s: tokenize_format_printf: data driven tests
0.000 s: tokenize_format_printf
2026/11/13 05:47:13.901779388: SECTION: "brs_bitfield_size: bitfield_size"
2026/11/13 05:47:13.901781093: END SECTION: "brs_bitfield_size: bitfield_size" -- duration: 0.000001705
0.000 s: brs_bitfield_size: bitfield_size
0.000 s: brs_bitfield_size
2026/11/13 05:47:13.901797235: SECTION: "timespec_ex_from_string_error: string does not start with a sign or digit"
2026/11/13 05:47:13.901814772: END SECTION: "timespec_ex_from_string_error: string does not start with a sign or digit" -- duration: 0.000017537
0.000 s: timespec_ex_from_string_error: string does not start with a sign or digit
0.000 s: timespec_ex_from_string_error
2026/11/13 05:47:13.901838477: SECTION: "timespec_ex_from_string_error: seconds overflow"
2026/11/13 05:47:13.901849026: END SECTION: "timespec_ex_from_string_error: seconds overflow" -- duration: 0.000010549
0.000 s: timespec_ex_from_string_error: seconds overflow
0.000 s: timespec_ex_from_string_error
2026/11/13 05:47:13.901867118: SECTION: "timespec_ex_from_string_error: bad unit"
2026/11/13 05:47:13.901878298: END SECTION: "timespec_ex_from_string_error: bad unit" -- duration: 0.000011180
0.000 s: timespec_ex_from_string_error: bad unit
0.000 s: timespec_ex_from_string_error
2026/11/13 05:47:13.901892878: SECTION: "timespec_ex_from_string_error: bad unit"
2026/11/13 05:47:13.901912205: END SECTION: "timespec_ex_from_string_error: bad unit" -- duration: 0.000019327
0.000 s: timespec_ex_from_string_error: bad unit
0.000 s: timespec_ex_from_string_error
2026/11/13 05:47:13.901930538: SECTION: "timespec_ex_from_string_error: output too long"
2026/11/13 05:47:13.902002141: END SECTION: "timespec_ex_from_string_error: output too long" -- duration: 0.000071603
0.000 s: timespec_ex_from_string_error: output too long
0.000 s: timespec_ex_from_string_error
2026/11/13 05:47:13.902026259: SECTION: "safe_object: expected usage"
2026/11/13 05:47:13.902029827: END SECTION: "safe_object: expected usage" -- duration: 0.000003568
0.000 s: safe_object: expected usage
0.000 s: safe_object
2026/11/13 05:47:13.902047013: SECTION: "safe_object: with exception"
2026/11/13 05:47:13.902059099: END SECTION: "safe_object: with exception" -- duration: 0.000012086
0.000 s: safe_object: with exception
0.000 s: safe_object
2026/11/13 05:47:13.902076032: SECTION: "safe_object: test both ways"
2026/11/13 05:47:13.902120219: END SECTION: "safe_object: test both ways" -- duration: 0.000044187
0.000 s: safe_object: test both ways
0.000 s: safe_object
2026/11/13 05:47:13.902142022: SECTION: "safe_object: test with resource identifiers"
2026/11/13 05:47:13.902199581: END SECTION: "safe_object: test with resource identifiers" -- duration: 0.000057559
0.000 s: safe_object: test with resource identifiers
0.000 s: safe_object
2026/11/13 05:47:13.902221608: SECTION: "pathinfo_has_pattern: has pattern function"
2026/11/13 05:47:13.902358029: END SECTION: "pathinfo_has_pattern: has pattern function" -- duration: 0.000136421
0.000 s: pathinfo_has_pattern: has pattern function
0.000 s: pathinfo_has_pattern
2026/11/13 05:47:13.902379142: SECTION: "stringize: build year"
2026/11/13 05:47:13.902385750: END SECTION: "stringize: build year" -- duration: 0.000006608
0.000 s: stringize: build year
0.000 s: stringize
warning: file_contents() could not delete temporary file "/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/snapdev/tmp/contents" (21, Is a directory).
2026/11/13 05:47:13.902401384: SECTION: "file_contents: write -> read contents"
2026/11/13 05:47:13.902712158: END SECTION: "file_contents: write -> read contents" -- duration: 0.000310774
0.000 s: file_contents: write -> read contents
0.000 s: file_contents
2026/11/13 05:47:13.902737841: SECTION: "file_contents: write temporary -> read fails"
2026/11/13 05:47:13.902849868: END SECTION: "file_contents: write temporary -> read fails" -- duration: 0.000112027
0.000 s: file_contents: write temporary -> read fails
0.000 s: file_contents
2026/11/13 05:47:13.902874147: SECTION: "file_contents: empty filename is not accepted"
2026/11/13 05:47:13.902888146: END SECTION: "file_contents: empty filename is not accepted" -- duration: 0.000013999
0.000 s: file_contents: empty filename is not accepted
0.000 s: file_contents
2026/11/13 05:47:13.902906362: SECTION: "file_contents: read from /proc/self/comm"
2026/11/13 05:47:13.902947843: END SECTION: "file_contents: read from /proc/self/comm" -- duration: 0.000041481
0.000 s: file_contents: read from /proc/self/comm
0.000 s: file_contents
===============================================================================
test cases:      87 |      85 passed | 2 failed
assertions: 7786619 | 7786617 passed | 2 failed

Command exited with non-zero status 42
2.75user 2.78system 0:19.27elapsed 28%CPU (0avgtext+0avgdata 14376maxresident)k
0inputs+880outputs (0major+142121minor)pagefaults 0swaps
info: test logs were saved in: "../../BUILD/Debug/contrib/snapdev/tests/tests.log".
error: 42 tests failed.

Build, Tests/Coverage, or Upload failed on Fri Nov 13 05:47:13 AM UTC 2026.

Back to list