Tests started on Thu May 26 21:40:05 PDT 2022 and finished on Thu May 26 21:42:11 PDT 2022
Start running advgetopt tests v2.0.37 on Thu May 26 21:40:42 PDT 2022 advgetopt v2.0.37 [57197]:unittest: seed is 1653626442 source directory: "/home/snapwebsites/snapcpp/contrib/advgetopt"temporary directory: "/home/snapwebsites/snapcpp/BUILD/Debug/contrib/advgetopt/tmp" Randomness seeded to: 299169213 SECTION: Verify a nullptr program name in argv[]s SECTION: Verify a program name with no path SECTION: Verify a program name with a relative path SECTION: Verify a program name with a relative path and backslashes SECTION: Verify a program name with a full path SECTION: Verify a program name with a full path and backslashes SECTION: Verify a nullptr project name SECTION: Verify an actual project name SECTION: Parsing a nullptr program name throws SECTION: Verify a simple --verbose argument SECTION: Verify a simple --verbose argument SECTION: Verify a simple --verbose argument in a variable SECTION: Verify a simple --verbose argument in a variable SECTION: Verify a simple alias argument SECTION: Verify a simple alias argument SECTION: Verify a simple alias argument in a variable SECTION: Verify a simple alias argument in a variable SECTION: Verify a simple --outargument SECTION: Verify a simple --out argument SECTION: Verify a simple --out argument SECTION: Verify a simple alias of --out argument SECTION: Verify a simple alias of --out argument SECTION: Verify a simple alias of --out argument SECTION: Verify a simple --out argument in a variable SECTION: Verify a simple --out argument in a variable SECTION: Verify a simple --out argument in a variable SECTION: Verify a simple alias of --out argument in a variable SECTION: Verify a simple alias of --out argument in a variable SECTION: Verify a simple --out ... argument SECTION: Verify a simple --out ... argument SECTION: Verify a simple alias of --out ... argument SECTION: Verify a simple alias of --out ... argument SECTION: Verify a simple --out ... argument in a variable SECTION: Verify a simple --out ... argument in a variable SECTION: Verify a simple --out [ ...] argument SECTION: Verify a simple --out [ ...] argument SECTION: Verify a simple --out [ ...] argument SECTION: Verify a simple --out [ ...] argument SECTION: Verify a simple --out [ ...] argument SECTION: Verify a simple --out [ ...] argument SECTION: Verify a simple --out [ ...] argument SECTION: Verify a simple --out [ ...] argument SECTION: Verify a simple --out [ ...] argument SECTION: Verify a simple --out [ ...] argument in a variable SECTION: Verify a simple --out [ ...] argument in a variable SECTION: Verify a simple --out [ ...] argument in a variable SECTION: Verify a simple --out [ ...] argument in a variable SECTION: Verify a simple --out [ ...] argument in a variable SECTION: Verify a simple --out [ ...] argument in a variable SECTION: Verify that we do get the --config-dir option when we have a standalone configuration filename SECTION: Verify that we do not get the --config-dir option when the standalone configuration filename is nullptr SECTION: Verify that we do not get the --config-dir option when the standalone configuration filename is "" SECTION: Test adding '-c' to '--config-dir' SECTION: Test our own parsing with '--config-dir' and f_configuration_filename set to nullptr SECTION: Test our own parsing with '--config-dir' and f_configuration_filename set to "" SECTION: Verify a simple [ ] argument SECTION: Verify a simple [ ] argument SECTION: Verify a simple [ ] argument SECTION: Verify a simple [ ] argument SECTION: Verify a simple [ ] argument SECTION: Verify a simple [ ] argument SECTION: Verify a simple [ ] argument in a variable SECTION: Verify a simple [ ] argument in a variable SECTION: Verify a simple [ ] argument in a variable SECTION: Verify a simple [ ] argument in a variable SECTION: Verify a simple [ ] argument in a variable SECTION: Verify a simple [ ] argument in a variable SECTION: Verify a simple [ ] argument in a variable SECTION: Verify a simple [ ] argument in a variable SECTION: Verify that we can have a non-require argument with an invalid default SECTION: Verify that we can have a non-require argument with an invalid default SECTION: Verify a simple [ ...] argument SECTION: Verify a simple [ ...] argument SECTION: Verify a simple [ ...] argument SECTION: Verify a simple [ ...] argument SECTION: Verify a simple [ ...] argument with the default name (a.k.a. "--") SECTION: Verify a simple [ ...] argument with the default name (a.k.a. "--") SECTION: Verify a simple [ ...] argument with the default name (a.k.a. "--") SECTION: Verify a simple [ ...] argument with the default name (a.k.a. "--") SECTION: Verify a simple [ ...] argument in a variable SECTION: Verify a simple [ ...] argument in a variable SECTION: Verify a simple [ ...] argument in a variable SECTION: Verify a simple [ ...] argument in a variable SECTION: Verify a few arguments added manually SECTION: Verify a few arguments added manually and system options SECTION: Verify that not calling link_aliases() causes problems SECTION: Test that we get the values of individual environment variables without an INTRO_... SECTION: Test that we get the values of individual environment variables without an INTRO_... SECTION: Test that we get the values of individual environment variables without an INTRO_... SECTION: Test that we get the values of individual environment variables without an INTRO_... SECTION: Test that we get the values of individual environment variables without an INTRO_... SECTION: Test auto-processing of system arguments (with many CATCH_WHEN) SECTION: Test auto-processing of system arguments (with many CATCH_WHEN) SECTION: Test auto-processing of system arguments (with many CATCH_WHEN) SECTION: Test auto-processing of system arguments (with many CATCH_WHEN) SECTION: Create getopt with argv set to nullptr. SECTION: Create getopt with no options. SECTION: Create getopt with an empty list of options. SECTION: Specify the option without a corresponding parameter. SECTION: Specify the option with an equal sign but without a corresponding parameter. SECTION: Specify the option without a corresponding parameter followed by a long argument. SECTION: Specify the option without a corresponding parameter followed by a short argument. SECTION: Using a standalone 'file.txt' when no default option is allowed. SECTION: Using a standalone 'file.txt' on the command line when only allowed in a variable. SECTION: Using a standalone 'file.txt' in a variable when only allowed on the command line. SECTION: Using a '--' when no default option is allowed. SECTION: Using a '--' when on the command line when only accepted in variables. SECTION: Using a '--' in the environment variable when only accepted on the command line. SECTION: Using a '-' when no default option is allowed. SECTION: Using a '-' when on the command line when only accepted in variables. SECTION: Using a '-' in the environment variable when only accepted on the command line. SECTION: Long option with an equal sign but not name. SECTION: Unknown long option. SECTION: Long option not available in environment variable. SECTION: Long option not available on command line. SECTION: Unknown short option. SECTION: Short option not available in environment variable. SECTION: Long option not available on command line. SECTION: Configuration Files SECTION: Configuration Files (writable) SECTION: Configuration File + Directories SECTION: Configuration File + Directories + '--config-dir' SECTION: Existing Configuration Files SECTION: Existing Configuration Files SECTION: Existing Configuration Files SECTION: Existing Configuration Files SECTION: Existing Configuration Files SECTION: Load a Configuration File SECTION: Load an Extended Configuration File SECTION: Load a Configuration File with Sections SECTION: Configuration Files SECTION: Configuration Files with Sections SECTION: Load with Unexpected Parameter Name (one letter--dynamic allowed) SECTION: Load with Unexpected Parameter Name (one letter--no dynamic allowed) SECTION: Load with Unexpected Parameter Name (undefined & no dynamic fields are allowed) SECTION: Load with Parameter not Supported in Configuration Files SECTION: Load a Configuration File with a Flag given a Value other than true or false SECTION: Load a Configuration File with a Flag given the Value "true" SECTION: Load a Configuration File with a Flag given the Value "false" SECTION: Load a Configuration File with an Invalid Sections Definition SECTION: Verify Configuration Spaces SECTION: Check All Setups SECTION: Check non-existant filename SECTION: Load a file, update it, verify it does not get reloaded SECTION: file with the same variable defined multiple times SECTION: setup a callback and test the set_parameter()/erase() functions SECTION: single_line SECTION: rfc822 SECTION: msdos SECTION: unix SECTION: fortran SECTION: semicolon SECTION: equal SECTION: colon SECTION: space SECTION: equal_colon_and_space SECTION: ini comment SECTION: shell comment SECTION: C++ comment SECTION: All three comments SECTION: section operator c (.) SECTION: section operator c++ (::) SECTION: section operator block ({ ... }) SECTION: section operator ini file ([...]) SECTION: section operator ini-file & c++ SECTION: section of variables ([variables]) SECTION: command line with .conf including section of variables ([variables]) SECTION: load update save SECTION: Empty Filename SECTION: Invalid Line Continuation SECTION: Load a file, update it, verify it does not get reloaded SECTION: Create a conf_file without the file SECTION: variable name cannot start with a period when C operator is active SECTION: two section operators one after another can cause trouble SECTION: section operator cannot appear at the end SECTION: sections not allowed SECTION: invalid characters in names SECTION: too many sections SECTION: all '{' were not closed SECTION: data after ']' in INI file SECTION: INI file section inside a block is not allowed SECTION: empty variable name SECTION: empty variable name after section name SECTION: variable name starts with a dash SECTION: variable name starts with an underscore SECTION: variable name with spaces SECTION: Verify a string in a long argument SECTION: Verify a string in a short argument SECTION: Verify an integer (long) value in a long argument SECTION: Verify an integer (long) value in a short argument SECTION: Verify an integer (long) value in no arguments SECTION: Check with the --version system flag SECTION: Check with the --version system flag, without a --version on the command line SECTION: Check with the --has-sanitizer system flag SECTION: Check with the --has-sanitizer system flag, without a --has-sanitizer on the command line SECTION: Check with the --compiler-version system flag SECTION: Check with the --compiler-version system flag, without a --compiler-version on the command line SECTION: Check with the --help system flag SECTION: Check with the --long-help system flag SECTION: Check with the --help system flag, without a --help on the command line SECTION: Check with the --commmands-help system flag SECTION: Check with the --options-help system flag SECTION: Check with the --copyright system flag SECTION: Check with the --copyright system flag, without a --copyright on the command line SECTION: Check with the --license system flag SECTION: Check with the --license system flag, without a --license on the command line SECTION: Check with the --build-date system flag SECTION: Check with the --build-date system flag, without a --build-date on the command line SECTION: Check with the --environment-variable-name system flag SECTION: Check with the --environment-variable-name system flag with nullptr SECTION: Check with the --environment-variable-name system flag with "" SECTION: Check with the --environment-variable-name system flag, without a --environment-variable-name on the command line SECTION: Check with the --configuration-filenames system flag SECTION: Check with the --configuration-filenames system flag with --config-dir too SECTION: Check with the --configuration-filenames system flag without any configuration files SECTION: Check with the --configuration-filenames system flag, without a --configuration-filenames on the command line SECTION: Check with the --path-to-option-definitions system flag (Default) SECTION: Check with the --path-to-option-definitions system flag (Specified) SECTION: Check with the --path-to-option-definitions system flag, without a --path-to-option-definitions on the command line SECTION: Verify that asking for the string of a non-existant option fails SECTION: Verify that asking for the long of a non-existant option fails SECTION: Verify that asking for a default with an empty string fails SECTION: [] operators want a valid name SECTION: Verify a string value without arguments and no default SECTION: Verify an integer (long) value without arguments and no default SECTION: Verify an integer (long) value without arguments and an empty string as default SECTION: Verify an integer (long) value without arguments and a non-numeric default SECTION: Verify an integer (long) value without arguments and a non-numeric default SECTION: Verify an integer (long) value without arguments and a non-numeric default SECTION: Check that the sanitizer is detected SECTION: Verify log levels SECTION: Verify log string SECTION: Verify log integers SECTION: Verify log string SECTION: Verify invalid log levels SECTION: Short name to string and back SECTION: Test parsing of empty environment strings SECTION: Simple option (verify defaults) SECTION: Auto-default SECTION: Explicit default SECTION: Check flags SECTION: Set/remove default SECTION: Check help SECTION: Check validator (one value) SECTION: Check validator (multiple values) SECTION: Check integer validator from string (multiple values) SECTION: Check regex validator from string (multiple values) SECTION: Check alias SECTION: Check multiple separators SECTION: Add value, verify lock (add/remove flag explicitly) SECTION: Add value, verify integer SECTION: Add value, verify multiple strings SECTION: Add value, verify multiple integers SECTION: Set value, verify lock (use lock()/unlock() functions) SECTION: Set value, verify integer SECTION: Set value, verify multiple strings (with MULTIPLE & lock(false)) SECTION: Set value, verify multiple integers (with MULTIPLE & lock(false)) SECTION: Value without sections SECTION: Value with one section SECTION: Value with two sections SECTION: Value with three sections SECTION: Test adding '- ' to '--config-dir' SECTION: No name SECTION: Default with short name SECTION: Long name cannot start with a dash (-) SECTION: Short name cannot be a dash (-) SECTION: Set value with undefined source SECTION: Set multiple values with undefined source SECTION: Get value when undefined SECTION: Get long when undefined SECTION: Check alias of alias SECTION: Set value, verify multiple strings (with MULTIPLE) SECTION: Set value, verify multiple integers (with MULTIPLE) SECTION: Set value, verify multiple strings (without MULTIPLE) SECTION: Set value, verify multiple integers (without MULTIPLE) SECTION: Long number too large SECTION: Check multiple separators SECTION: Check multiple separators SECTION: Trying to set NO_SHORT_NAME as '--config-dir' short name (option_info) SECTION: Trying to change short name of '--version' (option_info) SECTION: Check option callbacks SECTION: Option info reference SECTION: Non-existant reference SECTION: Set non-existant reference + many CATCH_WHEN() SECTION: Set non-existant reference + many CATCH_WHEN() SECTION: Set non-existant reference + many CATCH_WHEN() SECTION: Set non-existant reference + many CATCH_WHEN() SECTION: Set non-existant reference + many CATCH_WHEN() SECTION: Set non-existant reference + many CATCH_WHEN() SECTION: Set non-existant reference + many CATCH_WHEN() SECTION: Set non-existant reference + many CATCH_WHEN() SECTION: Set non-existant reference + many CATCH_WHEN() SECTION: Set non-existant reference + many CATCH_WHEN() SECTION: Set non-existant reference + many CATCH_WHEN() SECTION: Set non-existant reference + many CATCH_WHEN() SECTION: Set non-existant reference + many CATCH_WHEN() SECTION: Set non-existant reference + many CATCH_WHEN() SECTION: Set non-existant reference + many CATCH_WHEN() SECTION: Set non-existant reference + many CATCH_WHEN() SECTION: Set non-existant reference + many CATCH_WHEN() SECTION: Set non-existant reference + many CATCH_WHEN() SECTION: Set non-existant reference + many CATCH_WHEN() SECTION: Set non-existant reference + many CATCH_WHEN() SECTION: Set non-existant reference + many CATCH_WHEN() SECTION: Set non-existant reference + many CATCH_WHEN() SECTION: Set non-existant reference + many CATCH_WHEN() SECTION: Set non-existant reference + many CATCH_WHEN() SECTION: Set non-existant reference + many CATCH_WHEN() SECTION: No reference on command line, valid default for get_long() SECTION: No reference on command line, not valid for get_long() SECTION: Check the default path with a nullptr (not a very good test, though) SECTION: Check the default path with an empty string (not a very good test, though) SECTION: Check the parsing of a valid options.ini file SECTION: Project name is an empty string SECTION: Check the parsing of a valid options.ini file SECTION: Check with validators in the definition SECTION: 2+ section names SECTION: short name too long SECTION: missing ')' in validator specification SECTION: alias with help SECTION: no-name alias SECTION: no-name alias v2 SECTION: non-existant alias SECTION: System options only SECTION: Duplicated options (ignored by system options) SECTION: Default option SECTION: Alias option SECTION: Test adding '- ' to '--config-dir' SECTION: No options SECTION: Options without a name (null pointer) SECTION: Options without a name (empty string) SECTION: Options with a one letter name SECTION: Default option with a short name SECTION: Duplicated Options (Long Name) SECTION: Duplicated Options (short name) SECTION: Duplicated Default Options SECTION: Default Option marked as being a FLAG SECTION: Option with an alias and mismatched flags SECTION: Trying to set '-o' as '--config-dir' short name SECTION: Trying to set '-c' as '--config-dir' short name, buf configuration filename is nullptr SECTION: System options only SECTION: load options from a config file, environment variable, and command line with --config-dir on the command line SECTION: load options from a config file, environment variable, and command line with --config-dir in the environment variable SECTION: empty string returns an empty empty SECTION: empty string returns empty SECTION: string in single quotes SECTION: string with apostrophe SECTION: string with special characters SECTION: Transform command line options back to a shell compatible command. SECTION: usage() using "--filename" for the default option accepting multiple entries SECTION: usage() using "--filename" for the default option accepting multiple entries which are required when "--filename" is used SECTION: usage() using "--filename" for the default option accepting one required item SECTION: usage() using "--" for the default option accepting one item SECTION: Percent Percent SECTION: Percent Project Name (name defined) SECTION: Percent Project Name (nullptr) SECTION: Percent Project Name ("") SECTION: Percent Build Date (defined) SECTION: Percent Build Date (nullptr) SECTION: Percent Build Date ("") SECTION: Percent Copyright (defined) SECTION: Percent Copyright (nullptr) SECTION: Percent Copyright ("") SECTION: Percent Directories (fully defined) SECTION: Percent Asterisk Directories (fully defined) SECTION: Percent Directories (nullptr) SECTION: Percent Asterisk Directories (nullptr) SECTION: Percent Directories (empty array) SECTION: Percent Asterisk Directories (empty array) SECTION: Percent Environment Variable (fully defined, variable set) SECTION: Percent Environment Variable (fully defined, variable not set) SECTION: Percent Asterisk Environment Variable (fully defined, variable set) SECTION: Percent Asterisk Environment Variable (fully defined, variable not set) SECTION: Percent Environment Variable (nullptr, variable set) SECTION: Percent Environment Variable (nullptr, variable not set) SECTION: Percent Asterisk Environment Variable (nullptr, variable set) SECTION: Percent Asterisk Environment Variable (nullptr, variable not set) SECTION: Percent Environment Variable (empty string, variable set) SECTION: Percent Environment Variable (empty string, variable not set) SECTION: Percent Asterisk Environment Variable (empty string, variable set) SECTION: Percent Asterisk Environment Variable (empty string, variable not set) SECTION: Percent Configuration Files with f (fully defined) SECTION: Percent Asterisk Configuration Files with f (fully defined) SECTION: Percent Configuration Files with f (nullptr) SECTION: Percent Asterisk Configuration Files with f (nullptr) SECTION: Percent Configuration Files with f (empty array) SECTION: Percent Asterisk Configuration Files with f (empty array) SECTION: Percent Configuration Files with g (fully defined) SECTION: Percent Configuration Files with g (fully defined) SECTION: Percent Asterisk Configuration Files with g (fully defined) SECTION: Percent Configuration Files with g (nullptr) SECTION: Percent Asterisk Configuration Files with g (nullptr) SECTION: Percent Configuration Files with g (empty array) SECTION: Percent Asterisk Configuration Files with g (empty array) SECTION: Percent Configuration Files with i (fully defined) SECTION: Percent Configuration Files with i (nullptr) SECTION: Percent Configuration Files with i (empty string) SECTION: Percent License (defined) SECTION: Percent License (nullptr) SECTION: Percent License ("") SECTION: Percent Configuration Output File (fully defined) SECTION: Percent Configuration Output File (nullptr) SECTION: Percent Configuration Output File (empty array) SECTION: Percent Program Name SECTION: Percent Asterisk Program Name SECTION: Percent Program Name (empty--before parsing the arguments) SECTION: Percent Build Time (defined) SECTION: Percent Build Time (nullptr) SECTION: Percent Build Time ("") SECTION: Percent Version (defined) SECTION: Percent Version (nullptr) SECTION: Percent Version ("") SECTION: Percent Writable Configuration Files (fully defined--one file) SECTION: Percent Writable Configuration Files (fully defined) SECTION: Percent Writable Configuration Files (nullptr) SECTION: Percent Writable Configuration Files (empty array) SECTION: find_group() with invalid flags SECTION: find_group() with GETOPT_FLAG_GROUP_NONE SECTION: find_group() with invalid group definitions SECTION: Unquote, default pairs SECTION: Unquote, brackets SECTION: Split three words SECTION: Split three words, one with single quotes SECTION: Split three words, one with double quotes SECTION: Split three words, one with single quotes but no spaces SECTION: Split three words, one with double quotes but no spaces SECTION: Split five words, four separators SECTION: Split five words, multiple/repeated separators SECTION: Split five words, and empty entries SECTION: Split five words, start/end with separator SECTION: Split five words, unclosed double quote SECTION: Split five words, unclosed single quote SECTION: Full insert SECTION: Empty cases SECTION: Basename Only SECTION: Actual List of Files on Disk SECTION: Valid cases SECTION: $HOME is empty SECTION: Paths do not start with ~ SECTION: True Values SECTION: False Values SECTION: Undefined validator SECTION: Empty string SECTION: Verify the integer validator SECTION: Verify the integer ranges SECTION: Verify the integer standalone list SECTION: Verify the double validator SECTION: Verify the double ranges SECTION: Verify the double standalone list SECTION: Verify the duration validator (simple values) SECTION: Verify the duration validator (multiple values) SECTION: Verify the duration validator (one value) SECTION: Verify the size validator SECTION: Verify the regex validator SECTION: Verify the regex string (case sensitive) SECTION: Verify the regex string (case insensitive) SECTION: Verify direct regex string (case insensitive) SECTION: Register duplicated factories SECTION: Verify invalid ranges SECTION: Verify invalid regex flags SECTION: Verify invalid regex flags SECTION: Verify regex refuses more than one parameter SECTION: Verify missing ')' in string based create SECTION: Verify the test version =============================================================================== All tests passed (7724137 assertions in 116 test cases) Finished running advgetopt tests v2.0.37 on Thu May 26 21:41:21 PDT 2022