======= Directory "01-commandline" =======
000-no-prog                              | Missing `prog` field
001-empty-prog                           | prog: value is empty
002-prog-is-space                        | prog: value is empty
003-prog-contains-more-space             | prog: contains multiple spaces
004-prog-begins-with-space               | prog: begins with space
005-prog-ends-with-space                 | prog: ends with space
006-no-programs-defined                  | No programs defined
007-too-many-programs-defined            | Too many main programs defined: ['test', 'test1']
008-duplicate-programs                   | Multiple definition of program `test`
009-duplicate-subcommands                | Multiple definition of program `subcommand`
010-missing-command                      | Missing definition of program `test bar`
011-missing-command-2                    | Missing definition of program `test bar`
020-aliases-wrong-type                   | Parameter `aliases` has an invalid type. Expected types: list. Received: True (bool)
021-aliases-not-str                      | Parameter `aliases[0]` has an invalid type. Expected types: str. Received: True (bool)
022-aliases-with-space                   | aliases[0]: cannot contain space
030-abbreviate-commands-wrong-type       | Parameter `abbreviate_commands` has an invalid type. Expected types: ExtendedBool. Received: [] (list)
031-abbreviate-commands-wrong-value      | Parameter `abbreviate_commands` has an invalid type. Expected types: ExtendedBool. Received: 'wrong' (str)
040-abbreviate-options-wrong-type        | Parameter `abbreviate_options` has an invalid type. Expected types: ExtendedBool. Received: [] (list)
041-abbreviate-options-wrong-value       | Parameter `abbreviate_options` has an invalid type. Expected types: ExtendedBool. Received: 'wrong' (str)
050-inherit-options-wrong-type           | Parameter `inherit_options` has an invalid type. Expected types: ExtendedBool. Received: [] (list)
051-inherit-options-wrong-value          | Parameter `inherit_options` has an invalid type. Expected types: ExtendedBool. Received: 'wrong' (str)
060-options-wrong-type                   | Parameter `options` has an invalid type. Expected types: list. Received: False (bool)
070-positionals-wrong-type               | Parameter `positionals` has an invalid type. Expected types: list. Received: False (bool)
080-wraps-wrong-type                     | Parameter `wraps` has an invalid type. Expected types: str|None. Received: False (bool)
081-wraps-empty                          | wraps is empty
082-wraps-in-subcommand                  | foo bar: Parameter `wraps` not allowed in subcommand
======= Directory "02-option" =======
100-no-option-strings                    | Parameter `option_strings` has an invalid type. Expected types: list. Received: None (NoneType)
101-option-strings-wrong-type            | Parameter `option_strings` has an invalid type. Expected types: list. Received: False (bool)
102-option-strings-is-empty              | Empty option strings
103-option-string-wrong-type             | Parameter `option_strings[0]` has an invalid type. Expected types: str. Received: False (bool)
104-option-string-is-double-dash         | Invalid option string: '--'
105-option-string-with-space             | Invalid option string: '-o '
106-option-string-with-comma             | Invalid option string: '-o,'
110-metavar-wrong-type                   | Parameter `metavar` has an invalid type. Expected types: str|None. Received: False (bool)
120-help-wrong-type                      | Parameter `help` has an invalid type. Expected types: str|None. Received: False (bool)
130-optional-arg-wrong-type              | Parameter `optional_arg` has an invalid type. Expected types: bool. Received: 'wrong' (str)
140-group-wrong-type                     | Parameter `groups[0]` has an invalid type. Expected types: str. Received: False (bool)
150-groups-wrong-type                    | Parameter `groups` has an invalid type. Expected types: list|None. Received: False (bool)
151-groups-wrong-value                   | Parameter `groups[0]` has an invalid type. Expected types: str. Received: False (bool)
160-repeatable-wrong-type                | Parameter `repeatable` has an invalid type. Expected types: ExtendedBool. Received: [] (list)
161-repeatable-wrong-value               | Parameter `repeatable` has an invalid type. Expected types: ExtendedBool. Received: 'wrong' (str)
180-final-wrong-type                     | Parameter `final` has an invalid type. Expected types: bool. Received: 'wrong' (str)
190-hidden-wrong-type                    | Parameter `hidden` has an invalid type. Expected types: bool. Received: 'wrong' (str)
191-hidden-but-repeatable                | Option ['-o'] has both hidden and repeatable set to True
200-complete-wrong-type                  | Parameter `complete` has an invalid type. Expected types: list|tuple|None. Received: False (bool)
210-when-wrong-type                      | Parameter `when` has an invalid type. Expected types: str|None. Received: False (bool)
211-when-wrong-value                     | foo: -o: when: invalid: Invalid command: 'invalid'
220-metavar-but-no-complete              | Option ['-o'] has metavar set, but has no complete
230-optional-arg-but-no-complete         | Option ['-o'] has optional_arg=True, but has no complete
240-capture-wrong-type                   | Parameter `capture` has an invalid type. Expected types: str|None. Received: False (bool)
241-capture-empty                        | Invalid variable name: ''
242-capture-wrong-value                  | Invalid variable name: '1'
250-long-opt-arg-sep-wrong-type          | Parameter `long_opt_arg_sep` has an invalid type. Expected types: str. Received: False (bool)
251-long-opt-arg-sep-wrong-value         | Invalid value for `long_opt_arg_sep`
======= Directory "03-positional" =======
200-no-number                            | Parameter `number` has an invalid type. Expected types: int. Received: None (NoneType)
201-number-wrong-type                    | Parameter `number` has an invalid type. Expected types: int. Received: 'wrong' (str)
202-number-is-zero                       | number: value (0) is invalid, number has to be >= 1
203-number-is-negative                   | number: value (-1) is invalid, number has to be >= 1
210-metavar-wrong-type                   | Parameter `metavar` has an invalid type. Expected types: str|None. Received: False (bool)
220-help-wrong-type                      | Parameter `metavar` has an invalid type. Expected types: str|None. Received: False (bool)
230-repeatable-wrong-type                | Parameter `repeatable` has an invalid type. Expected types: bool. Received: 'wrong' (str)
240-complete-wrong-type                  | Parameter `complete` has an invalid type. Expected types: list|tuple|None. Received: 'wrong' (str)
250-when-wrong-type                      | Parameter `when` has an invalid type. Expected types: str|None. Received: False (bool)
251-when-wrong-value                     | foo: 1: None: when: invalid: Invalid command: 'invalid'
260-capture-wrong-type                   | Parameter `capture` has an invalid type. Expected types: str|None. Received: False (bool)
261-capture-empty                        | Invalid variable name: ''
262-capture-wrong-value                  | Invalid variable name: ''
======= Directory "04-complete" =======
3_00_00-invalid-command                  | foo: -o: Unknown completer: wrong
3_01_00-command-options-wrong-type       | foo: -o: command: options: Invalid type. Expected: dictionary
3_01_01-command-path-wrong-type          | foo: -o: command: path: Invalid type. Expected: string
3_01_02-command-path-empty               | foo: -o: command: path: String cannot be empty
3_01_03-command-path-append-wrong-type   | foo: -o: command: path_append: Invalid type. Expected: string
3_01_04-command-path-append-empty        | foo: -o: command: path_append: String cannot be empty
3_01_05-command-path-prepend-wrong-type  | foo: -o: command: path_prepend: Invalid type. Expected: string
3_01_06-command-path-prepend-empty       | foo: -o: command: path_prepend: String cannot be empty
3_01_07-command-invalid-option           | foo: -o: command: Unknown parameter: wrong
3_01_10-command-too-many-args            | foo: -o: command: Too many arguments
3_02_00-environment-too-many-args        | foo: -o: environment: Too many arguments
3_03_00-float-too-many-args              | foo: -o: float: Too many arguments
3_04_00-group-too-many-args              | foo: -o: group: Too many arguments
3_05_00-hostname-too-many-args           | foo: -o: hostname: Too many arguments
3_06_00-integer-too-many-args            | foo: -o: integer: Too many arguments
3_06_01-integer-help-wrong-type          | foo: -o: integer: help: Invalid type. Expected: string
3_06_02-integer-help-wrong-value         | foo: -o: integer: help: String cannot be empty
3_06_03-integer-min-wrong-type           | foo: -o: integer: min: Invalid type. Expected: integer
3_06_04-integer-max-wrong-type           | foo: -o: integer: max: Invalid type. Expected: integer
3_06_05-integer-min-greater-max          | foo: -o: integer: min > max (1 > 0)
3_06_06-integer-suffixes-wrong-type      | foo: -o: integer: suffixes: Invalid type. Expected: dictionary
3_06_07-integer-suffixes-empty           | foo: -o: integer: suffixes: Dictionary cannot be empty
3_06_08-integer-suffixes-key-wrong-type  | foo: -o: integer: suffix: Invalid type. Expected: string
3_06_09-integer-suffixes-key-empty       | foo: -o: integer: suffix: String cannot be empty
3_06_10-integer-suffixes-value-wrong-type | foo: -o: integer: description: Invalid type. Expected: string
3_06_11-integer-suffixes-value-wrong-value | foo: -o: integer: description: String cannot be empty
3_07_00-none-too-many-args               | foo: -o: none: Too many arguments
3_08_00-pid-too-many-args                | foo: -o: pid: Too many arguments
3_09_00-process-too-many-args            | foo: -o: process: Too many arguments
3_10_00-service-too-many-args            | foo: -o: service: Too many arguments
3_11_00-signal-too-many-args             | foo: -o: signal: Too many arguments
3_12_00-user-too-many-args               | foo: -o: user: Too many arguments
3_13_00-variable-too-many-args           | foo: -o: variable: Too many arguments
3_14_00-choices-missing-arg              | foo: -o: choices: Missing required argument: values
3_14_01-choices-arg-wrong-type           | foo: -o: choices: values: Invalid type. Expected: list|dictionary
3_14_02-choices-dict-key-wrong-type      | No error
3_14_03-choices-dict-desc-wrong-type     | foo: -o: choices: values[0]: description: Invalid type. Expected: string|integer
3_14_04-choices-list-value-wrong-type    | foo: -o: choices: values[0]: Invalid type. Expected: string|integer
3_14_05-choices-too-many-args            | foo: -o: choices: Too many arguments
3_15_00-file-options-wrong-type          | foo: -o: file: options: Invalid type. Expected: dictionary
3_15_01-file-unknown-key                 | foo: -o: file: Unknown parameter: wrong
3_15_02-file-directory-wrong-type        | foo: -o: file: directory: Invalid type. Expected: string
3_15_03-file-directory-empty             | foo: -o: file: directory: String cannot be empty
3_15_04-file-directory-not-absolute      | No error
3_15_05-file-extensions-wrong-type       | foo: -o: file: extensions: Invalid type. Expected: list
3_15_06-file-extensions-empty            | foo: -o: file: extensions: List cannot be empty
3_15_07-file-extension-empty             | foo: -o: file: extensions[0]: String cannot be empty
3_15_08-file-extension-with-space        | foo: -o: file: extensions[0]: String cannot contain spaces
3_15_09-file-too-many-args               | foo: -o: file: Too many arguments
3_15_10-file-invalid-ignore-globs-1      | foo: -o: file: pattern: Extended glob of form *(...) not supported in zsh glob
3_15_11-file-invalid-ignore-globs-2      | foo: -o: file: pattern: Extended glob of form +(...) not supported in zsh glob
3_15_12-file-invalid-ignore-globs-3      | foo: -o: file: pattern: Extended glob of form ?(...) not supported in zsh glob
3_15_13-file-invalid-ignore-globs-4      | foo: -o: file: pattern: Negated glob !(...) not supported in regex
3_15_14-file-invalid-ignore-globs-5      | foo: -o: file: pattern: Unclosed extglob
3_15_15-file-invalid-ignore-globs-6      | foo: -o: file: pattern: Unclosed character class
3_15_16-file-invalid-ignore-globs-7      | foo: -o: file: pattern: Unclosed single quote
3_15_17-file-invalid-ignore-globs-8      | foo: -o: file: pattern: Unclosed double quote
3_15_18-file-ignore-globs-invalid-type   | foo: -o: file: ignore_globs: Invalid type. Expected: list
3_15_19-file-ignore-globs-invalid-empty  | foo: -o: file: ignore_globs: List cannot be empty
3_16_00-directory-options-wrong-type     | foo: -o: directory: options: Invalid type. Expected: dictionary
3_16_01-directory-unknown-key            | foo: -o: directory: Unknown parameter: wrong
3_16_02-directory-directory-wrong-type   | foo: -o: directory: directory: Invalid type. Expected: string
3_16_03-directory-directory-empty        | foo: -o: directory: directory: String cannot be empty
3_16_04-directory-directory-not-absolute | No error
3_16_05-directory-too-many-args          | foo: -o: directory: Too many arguments
3_17_00-range-missing-arg-1              | foo: -o: range: Missing required argument: start
3_17_01-range-missing-arg-2              | foo: -o: range: Missing required argument: stop
3_17_02-range-too-many-args              | foo: -o: range: Too many arguments
3_17_03-range-step-zero                  | foo: -o: range: step: Integer cannot be zero
3_17_04-range-invalid-range-0            | foo: -o: range: stop > start: 2 > 1 (step=-1)
3_17_05-range-invalid-range-1            | foo: -o: range: start > stop: 2 > 1 (step=1)
3_18_00-exec-missing-arg                 | foo: -o: exec: Missing required argument: command
3_18_01-exec-too-many-arguments          | foo: -o: exec: Too many arguments
3_18_02-exec-command-wrong-type          | foo: -o: exec: command: Invalid type. Expected: string
3_19_00-exec-fast-missing-arg            | foo: -o: exec_fast: Missing required argument: command
3_19_01-exec-fast-too-many-arguments     | foo: -o: exec_fast: Too many arguments
3_19_02-exec-fast-command-wrong-type     | foo: -o: exec_fast: command: Invalid type. Expected: string
3_20_00-exec-internal-missing-arg        | foo: -o: exec_internal: Missing required argument: command
3_20_01-exec-internal-too-many-arguments | foo: -o: exec_internal: Too many arguments
3_20_02-exec-internal-command-wrong-type | foo: -o: exec_internal: command: Invalid type. Expected: string
3_21_00-value-list-missing-arg           | foo: -o: value_list: Missing required argument: options
3_21_01-value-list-missing-values        | foo: -o: value_list: Missing required argument: values
3_21_02-value-list-values-wrong-type     | foo: -o: value_list: values: Invalid type. Expected: list|dictionary
3_21_03-value-list-separator-wrong-type  | foo: -o: value_list: separator: Invalid type. Expected: string
3_21_04-value-list-separator-wrong-value | foo: -o: value_list: separator: Invalid length. Single character expected
3_21_05-value-list-values-empty          | foo: -o: value_list: values: List cannot be empty
3_21_06-value-list-list-wrong-type       | foo: -o: value_list: values[0]: item: Invalid type. Expected: string
3_21_07-value-list-dict-key-wrong-type   | foo: -o: value_list: values[0]: item: Invalid type. Expected: string
3_21_08-value-list-dict-desc-wrong-type  | foo: -o: value_list: values[0]: description: Invalid type. Expected: string
3_21_09-value-list-too-many-args         | foo: -o: value_list: Too many arguments
3_22_00-combine-missing-arg              | foo: -o: combine: Missing required argument: commands
3_22_01-combine-wrong-type               | foo: -o: combine: commands: Invalid type. Expected: list
3_22_02-combine-empty-subcommands        | foo: -o: combine: commands: List cannot be empty
3_22_03-combine-single-subcommand        | foo: -o: combine: commands: List must contain at least two items
3_22_04-combine-subcommand-no-command    | foo: -o: combine: Missing required argument: command
3_22_05-combine-subcommand-invalid-type  | foo: -o: combine: command[1]: Invalid type. Expected: list
3_22_06-combine-subcommand-invalid-command | foo: -o: combine: Unknown completer: invalid
3_22_07-combine-subcommand-is-none       | foo: -o: combine: none: Completer `none` not allowed in `combine`
3_22_08-combine-subcommand-is-combine    | No error
3_22_09-combine-too-many-args            | foo: -o: combine: Too many arguments
3_23_00-history-missing-arg              | foo: -o: history: Missing required argument: pattern
3_23_01-history-too-many-arguments       | foo: -o: history: Too many arguments
3_23_02-history-pattern-wrong-type       | foo: -o: history: pattern: Invalid type. Expected: string
3_23_03-history-pattern-wrong-regex      | foo: -o: history: pattern: Not an extended regular expression
3_24_00-command-arg-without-command      | foo: positional #1: command_arg: Completer `command_arg` requires a previously defined `command` completer
3_24_01-command-arg-non-repeatable       | foo: positional #2: command_arg: Completer `command_arg` requires `repeatable=true`
3_25_00-mime-file-missing-arg            | foo: -o: mime_file: Missing required argument: pattern
3_25_01-mime-file-too-many-arguments     | foo: -o: mime_file: Too many arguments
3_25_02-mime-file-pattern-wrong-type     | foo: -o: mime_file: pattern: Invalid type. Expected: string
3_25_03-mime-file-pattern-wrong-regex    | foo: -o: mime_file: pattern: Not an extended regular expression
3_26_00-date-missing-arg                 | foo: -o: date: Missing required argument: format
3_26_01-date-too-many-arguments          | foo: -o: date: Too many arguments
3_26_02-date-format-wrong-type           | foo: -o: date: format: Invalid type. Expected: string
3_26_03-date-format-empty                | foo: -o: date: format: String cannot be empty
3_27_00-date-format-too-many-arguments   | foo: -o: date_format: Too many arguments
3_28_00-list-missing-arg                 | foo: -o: list: Missing required argument: command
3_28_01-list-wrong-type                  | foo: -o: list: command: Invalid type. Expected: list
3_28_02-list-options-wrong-type          | foo: -o: list: options: Invalid type. Expected: dictionary
3_28_03-list-too-many-args               | foo: -o: list: Too many arguments
3_28_04-list-no-command                  | foo: -o: list: Missing required argument: command
3_28_05-list-command-is-none             | foo: -o: list: none: Completer `none` not allowed in `list`
3_28_06-list-command-is-list             | No error
3_28_09-list-command-is-command-arg      | foo: -o: list: command_arg: Completer `command_arg` not allowed in `list`
3_28_10-list-separator-wrong-type        | foo: -o: list: separator: Invalid type. Expected: string
3_28_11-list-separator-wrong-value       | foo: -o: list: separator: Invalid length. Single character expected
3_28_12-list-unkown-option               | foo: -o: list: Unknown parameter: wrong
3_29_00-command-arg-too-many-args        | foo: positional #1: command_arg: Too many arguments
3_29_01-command-arg-in-option            | foo: -o: command_arg: Completer `command_arg` not allowed inside an option
3_29_02-command-arg-not-repeatable       | foo: positional #1: command_arg: Completer `command_arg` requires `repeatable=true`
3_30_00-key-value-list-missing-args      | foo: -o: key_value_list: Missing required argument: pair_separator
3_30_01-key-value-list-missing-args-1    | foo: -o: key_value_list: Missing required argument: value_separator
3_30_02-key-value-list-missing-args-2    | foo: -o: key_value_list: Missing required argument: values
3_30_03-key-value-list-too-many-args     | foo: -o: key_value_list: Too many arguments
3_30_04-key-value-list-sep1-wrong-type   | foo: -o: key_value_list: pair_separator: Invalid type. Expected: string
3_30_05-key-value-list-sep1-empty        | foo: -o: key_value_list: pair_separator: Invalid length. Single character expected
3_30_06-key-value-list-sep1-wrong-value  | foo: -o: key_value_list: pair_separator: Invalid length. Single character expected
3_30_07-key-value-list-sep2-wrong-type   | foo: -o: key_value_list: value_separator: Invalid type. Expected: string
3_30_08-key-value-list-sep2-empty        | foo: -o: key_value_list: value_separator: Invalid length. Single character expected
3_30_09-key-value-list-sep2-wrong-value  | foo: -o: key_value_list: value_separator: Invalid length. Single character expected
3_30_10-key-value-list-values-wrong-type | foo: -o: key_value_list: values: Invalid type. Expected: list
3_30_11-key-value-list-1-key-not-string  | foo: -o: key_value_list: definition[0]: key: Invalid type. Expected: string
3_30_12-key-value-list-1-key-empty       | foo: -o: key_value_list: definition[0]: key: String cannot be empty
3_30_13-key-value-list-1-key-with-space  | foo: -o: key_value_list: definition[0]: key: String cannot contain spaces
3_30_14-key-value-list-1-complete-wrong-type | foo: -o: key_value_list: definition[0]: completer: Invalid type. Expected: list|none
3_30_15-key-value-list-2-def-not-list    | foo: -o: key_value_list: definition[0]: Invalid type. Expected: list
3_30_16-key-value-list-2-def-invalid-length | foo: -o: key_value_list: definition[0]: List must contain exactly three items
3_30_17-key-value-list-2-key-not-string  | foo: -o: key_value_list: definition[0]: key: Invalid type. Expected: string
3_30_18-key-value-list-2-key-empty       | foo: -o: key_value_list: definition[0]: key: String cannot be empty
3_30_19-key-value-list-key-with-space    | foo: -o: key_value_list: definition[0]: key: String cannot contain spaces
3_30_20-key-value-list-2-desc-not-string | foo: -o: key_value_list: definition[0]: description: Invalid type. Expected: string|none
3_31_00-ip-address-too-many-args         | foo: -o: ip_address: Too many arguments
3_31_01-ip-address-arg-wrong-type        | foo: -o: ip_address: type: Invalid type. Expected: string
3_31_02-ip-address-arg-wrong-value       | foo: -o: ip_address: type: Invalid value. Expected: ipv4, ipv6, all
======= Directory "05-misc" =======
000-list                                 | Missing `prog` field
001-multiple-repeatable-positionals      | foo: Too many repeatable positionals
002-positional-after-repeatable          | foo: Positional argument found after a repeatable positional argument
003-positional-after-repeatable          | foo: Positional argument found after a repeatable positional argument
004-repeatable-and-subcommands           | foo: Repeatable positional arguments cannot be used together with subcommands