bgddlmZddlZddlZddlmZddlmZmZm Z dd Z Gd d e Z ej d krdd lmZndd lmZGddeZhdZGddZdS)) annotationsN)Callable)basenameexistsjoinver_strstrreturntuple[int, ...]cZtd|dDS)zBConvert python version to a tuple of integers for easy comparison.c34K|]}t|VdSN)int).0digits v/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pylint/testutils/functional/test_file.py z'parse_python_version..s(<<U<<<<<<.)tuplesplit)rs rparse_python_versionr s+ <<s););<<< < <r(r&r%r*r)r'r,ceZdZUdZeeeddddZded<dd ZddZddZ e ddZ e ddZ e ddZ e ddZdddZdS)FunctionalTestFilez0A single functional test case file with options.c@d|dDS)Nc6g|]}|Srstripris r z/FunctionalTestFile...9s ???Qqwwyy???r,rss rzFunctionalTestFile.9s??!''#,,???rc@d|dDS)Nc6g|]}|Srr2r4s rr6z/FunctionalTestFile...:s ,M,M,M1QWWYY,M,M,Mrr7r8r9s rr;zFunctionalTestFile.:s,M,M ,M,M,Mrc@d|dDS)Nc6g|]}|Srr2r4s rr6z/FunctionalTestFile...;s 'H'H'Ha 'H'H'Hrr7r8r9s rr;zFunctionalTestFile.;s'H'H1773<<'H'H'Hr)r%r&r'r(r)r*z7dict[str, Callable[[str], tuple[int, ...] | list[str]]] _CONVERTERS directoryr filenamer Nonec||_|dd|_dddgggdd|_|dS)N.py))rrF)r%r&r'r(r)r*r,) _directoryreplacebaseoptions_parse_options)selfrArBs r__init__zFunctionalTestFile.__init__>s_#$$UB//  &,&(!#49) )   rcd|jS)NzFunctionalTest:)rLrOs r__repr__zFunctionalTestFile.__repr__Ns,,,,rctj}|d ||jn#t $rYnwxYw|dD]S\}}|j|d}|tvsJdtd|d|||j |<TdS)N testoptionsc|Srr)vs rr;z3FunctionalTestFile._parse_options..Zsrz([testoptions]' can only contains one of z and had '') configparser ConfigParser add_sectionread option_fileritemsr@getPOSSIBLE_TEST_OPTIONSrM)rOcpnamevalueconvs rrNz!FunctionalTestFile._parse_optionsQs  & ( ( }%%%  GGD$ % % % %    D 88M22 - -KD%#''kk::D----b:Obb[_bbb.--!%eDL    - -sA AAc,|dS)Nz.rc _file_typerRs rr]zFunctionalTestFile.option_fileau%%%rcbt|j}d||jgS)Nr)rrJrrL)rOpackages rmodulezFunctionalTestFile.modulees*4?++xx$),---rc0|ddS)Nz.txtF) check_existsrfrRs rexpected_outputz"FunctionalTestFile.expected_outputjsvE:::rc,|dS)NrErfrRs rsourcezFunctionalTestFile.sourcenrhrTextrmr+ct|j|j|z}|rt|r|St d|d)Nz Cannot find 'z'.)rrJrLrr)rOrqrmrbs rrgzFunctionalTestFile._file_typersMDOTY_55 vd|| K2$222333rN)rAr rBr r rC)r r )r rC)T)rqr rmr+r r )rrr__doc__rr@r-rPrSrNpropertyr]rkrnrprgrrrr/r/2s0::*)"6??"M"MHH LLK -------- &&&X&...X.;;;X;&&&X&4444444rr/)rr r r ) __future__rrYsyscollections.abcros.pathrrrr Exceptionr version_infotypingr"typing_extensionsr$r`r/rrrr}sK #""""" $$$$$$**********====      )   v       ++++++/////i///D4D4D4D4D4D4D4D4D4D4r