o nnhT @sdZddlmZddlZddlZddlZddlmZddl m Z ddl m Z m Z mZmZmZddlmZdd lmZmZmZdd lmZdd lmZdd lmZmZdd lmZddl m!Z!ddl"m#Z#ddddZ$ddddZ%dS)z"Test runner for all Ansible tests.) annotationsN)CURRENT_RLIMIT_NOFILE)STATUS_HOST_CONNECTION_ERROR)ApplicationErrorHostConnectionErrorTimeoutExpiredErrordisplay report_locale)delegate)ApplicationWarningDelegate ListTargets)configure_timeout) data_context) CommonConfig ExitHandler) parse_args)PrimeContainers) TestConfigcli_argst.Optional[list[str]]returnNonecCs6t t|WddS1swYdS)zMWrapper around the main program function to invoke cleanup functions at exit.N)rcontext main_internal)rrJ/usr/local/lib/python3.10/dist-packages/ansible_test/_internal/__init__.pymain>s  "rc Cszttjjt|}||}|jt_|j t_ |j t_ |j t_ |j r(t jnt jt_t|tt|to9|j tjdtfddd}d}z|jrRt||Wn6tyaYn.tyu}z |j}WYd}~nd}~wty}z|j|j|j f}WYd}~nd}~ww|rt|g|R|r|D]}t!|qt"d|_#WdSt$y}zt%t&||'t (t)WYd}~dSd}~wt*y}zt+d|t (dWYd}~dSd}~wt,y }zt%d|t (dWYd}~dSd}~wt-y,}zt%d|t (dWYd}~dSd}~wt.y;t (dYdSt/yJt (d YdSw) zMain program function.zRLIMIT_NOFILE: %s) verbosityNTz%srr)0oschdirrcontentrootrconfigr r truncateredactcolordisplay_stderrsysstderrstdoutfdrr isinstancerr infor check_layoutfuncrr target_namesr host_stateexcluderequireprintreview_warningssuccessrfatalstr run_callbackexitrr warningrrKeyboardInterruptBrokenPipeError)rargsr& delegate_argsr3ex target_namerrrrDsp     r)N)rrrr)&__doc__ __future__rr"r+typingtinitr constantsrutilrrrr r delegationr executorr r rtimeoutrdatar util_commonrrclir provisioningrr&rrrrrrrs$