
    VhT                        d Z ddlmZ ddlZddlZddlZddlmZ ddl	m
Z
 ddlmZmZmZmZmZ ddlmZ dd	lmZmZmZ dd
lmZ ddlmZ ddlmZmZ ddlmZ ddl m!Z! ddl"m#Z# dddZ$dddZ%y)z"Test runner for all Ansible tests.    )annotationsN   )CURRENT_RLIMIT_NOFILE)STATUS_HOST_CONNECTION_ERROR)ApplicationErrorHostConnectionErrorTimeoutExpiredErrordisplayreport_locale)delegate)ApplicationWarningDelegateListTargets)configure_timeout)data_context)CommonConfigExitHandler)
parse_args)PrimeContainers)
TestConfigc                l    t        j                         5  t        |        ddd       y# 1 sw Y   yxY w)zMWrapper around the main program function to invoke cleanup functions at exit.N)r   contextmain_internal)cli_argss    O/home/dcms/DCMS/lib/python3.12/site-packages/ansible_test/_internal/__init__.pymainr   >   s+    				  h     s   *3c                   	 t        j                  t               j                  j                         t        |       }|j                  |      }|j                  t        _        |j                  t        _	        |j                  t        _
        |j                  t        _        |j                  rt        j                  nt        j                  t        _        t#        |       t%        t'        |t(              xr |j*                          t        j,                  dt.        d       d}d}	 |j0                  rt               j1                          |j3                  |       |rt+        |g|  |r|D ]  }tC        |        t        jD                          d|_#        y# t4        $ r Y It6        $ r}|j8                  }Y d}~bd}~wt:        $ r-}|j<                  |j>                  |j@                  f}Y d}~d}~ww xY w# tH        $ rQ}t        jJ                  tM        |             |jO                          t        jP                  tR               Y d}~yd}~wtT        $ r7}t        jV                  d|z         t        jP                  d       Y d}~yd}~wtX        $ r7}t        jJ                  d|z         t        jP                  d       Y d}~yd}~wtZ        $ r7}t        jJ                  d|z         t        jP                  d       Y d}~yd}~wt\        $ r t        jP                  d       Y yt^        $ r t        jP                  d	       Y yw xY w)
zMain program function.zRLIMIT_NOFILE:    )	verbosityNTz%sr   r      )0oschdirr   contentrootr   configr   r
   truncateredactcolordisplay_stderrsysstderrstdoutfdr   r   
isinstancer   r   infor   check_layoutfuncr   r   target_namesr   
host_stateexcluderequireprintreview_warningssuccessr   fatalstrrun_callbackexitr   r   warningr   r	   KeyboardInterruptBrokenPipeError)r   argsr%   delegate_argsr2   extarget_names          r   r   r   D   sG   8
'',,-(##{{40",,!??#)#8#8SZZcjj
&!j4LV__9LM,ACqQ	D""++-IIf V,m,+ #k"# 	!#  	 	+??L 	D]]BJJ

CM	D  /c"g
-.. r	" dRi  dRi   s   D+H .5F! #=H !	G>*H ,G>4G H G>#G94H 9G>>H 	M
AIM"-JM -KM-L!M3MM)N)r   zt.Optional[list[str]]returnNone)&__doc__
__future__r   r!   r*   typingtinitr   	constantsr   utilr   r   r	   r
   r   
delegationr   executorr   r   r   timeoutr   datar   util_commonr   r   clir   provisioningr   r%   r   r   r        r   <module>rV      s_    ( " 	 
   

 :rU   