
    b1                     Z    d dl Z d dlmZ d dlmZ d dlmZ d dlmZ  G d de          ZdS )    N)SambaToolCmdTest)BlackboxProcessError)check_help_consistency)
get_stringc                       e Zd ZdZd Zd ZdS )HelpTestCasezVTests for samba-tool help and --help

    We test for consistency and lack of crashes.c                      | j         |  d S )N)runcmd)selfargss     =/usr/lib/python3/dist-packages/samba/tests/samba_tool/help.py_find_sub_commandszHelpTestCase._find_sub_commands    s    T    c                    g g}g }t          d          D ]}g }|D ]}d                    dg|z   dgz             }	 |                     |          }n3# t          $ r&}|j        }|                    |           Y d }~nd }~ww xY wt          |          }|                    d          d         }	t          j	        d|	t          j
                  }
|
D ]}|                    ||gz              d                    ddg|z             }	 |                     |          }n3# t          $ r&}|j        }|                    |           Y d }~nd }~ww xY wt          |          }|                     ||           t          |d	d
          }||                     d|d|           |s n|}|                     |g            d S )N    z
samba-toolz--helpzAvailable subcommands:   z^\s*([\w-]+)\s+-helpzOptions:)options_startoptions_endzconsistency error with z:
)rangejoincheck_outputr   stdoutappendr   	partitionrefindall	MULTILINEassertEqualr   fail)r   known_commandsfailed_commandsinew_commandsclineoutputetailsubcommandssoutput2errs                 r   test_help_treezHelpTestCase.test_help_tree#   sG   
 q $	* $	*AL# N Nxx 2hZ ?@@.!..t44FF+ . . .XF#**1--------. $F++''(@AA!D j)<d)+7 7$ 1 1A ''QC0000 xxv 6 :;;."//55GG+ . . .hG#**1--------. %W--  111,V;E9QS S S ?III$$$LMMM )NN"-----s/   A
BA>>B	D
E)E

EN)__name__
__module____qualname____doc__r   r/    r   r   r   r      s<        4 4  .. .. .. .. ..r   r   )	r   samba.tests.samba_tool.baser   samba.testsr   r   samba.commonr   r   r4   r   r   <module>r8      s   ( 
			 8 8 8 8 8 8 , , , , , , . . . . . . # # # # # #6. 6. 6. 6. 6.# 6. 6. 6. 6. 6.r   