§ |<ˆj(ã óh—dZddlZddlZddlmZddlmZddlmZddlmZddlmZddlm Z dd lm Z dd l m Z d Z e rdd lmZndd lmZeZGd„de¦«ZeefZGd„de¦«ZGd„de¦«ZGd„de¦«Ze dedef¬¦«Ze de e¬¦«ZGd„deeef¦«Zdedeegeeefffd„Zee¦« d3dd œd!ed"eed#eedefd$„¦«Zee¦« d4d dd%œd!ed&e d#eedefd'„¦«Z!ee¦«d5d!ed)e d#eedefd*„¦«Z" d6d+ed!ed#eedefd,„Z#Gd-„d.e¦«Z$ee$¦«d4d!edefd/„¦«Z% d7d0ed1eed!eedefd2„Z&dS)8zZException classes and constants handling test outcomes as well as functions creating them.éN)ÚAny)ÚCallable)Úcast)ÚNoReturn)ÚOptional)ÚType)ÚTypeVar)ÚKEYWORD_MSG_ARGF)ÚProtocol)ÚGenericcóN‡—eZdZdZd deededdfˆfd„ Zdefd„ZeZ ˆxZ S) ÚOutcomeExceptionzmOutcomeException and its subclass instances indicate and contain info about test and collection outcomes.NTÚmsgÚpytraceÚreturncó&•—|�^t|t¦«sId}t| t |¦«jt |¦«j¦«¦«‚t ¦« |¦«||_||_ dS)NzY{} expected string as 'msg' parameter, got '{}' instead. Perhaps you meant to use a mark?) Ú isinstanceÚstrÚ TypeErrorÚformatÚtypeÚ__name__ÚsuperÚ__init__rr)ÚselfrrÚ error_msgÚ __class__s €úb/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib/python3.11/site-packages/_pytest/outcomes.pyrzOutcomeException.__init__ s|ø€Ø ˆ?¥:¨cµ3Ñ#7Ô#7ˆ?ð3ð õ˜I×,Ò,­T°$©Z¬ZÔ-@Å$ÀsÁ)Ä)ÔBTÑUÔUÑVÔVÐ VÝ ‰Œ×Ò˜ÑÔÐØˆŒØˆŒ ˆ ˆ ócó>—|j�|jSd|jj›d�S)Nú)rrr)rs rÚ__repr__zOutcomeException.__repr__+s'€Ø Œ8Ð Ø”8ˆOØ6�4”>Ô*Ð6Ð6Ð6Ð6r)NT) rÚ __module__Ú __qualname__Ú__doc__rrÚboolrr"Ú__str__Ú __classcell__©rs@rrrs{ø€€€€€ð+ð+ð ð ˜H SœMð ¸4ð È4ð ð ð ð ð ð ð7˜#ð7ð7ð7ð7ð €G€G€G€G€Grrc óR‡—eZdZdZ d ddœdeededed ed df ˆfd „ZˆxZS) ÚSkippedÚbuiltinsNTF)Ú_use_item_locationrrÚallow_module_levelr-rcój•—t¦« ||¬¦«||_||_dS)N©rr)rrr.r-)rrrr.r-rs €rrzSkipped.__init__;s:ø€õ ‰Œ×Ò˜S¨'ÐÑ2Ô2Ð2Ø"4ˆÔð#5ˆÔÐÐr)NTF)rr#r$rrr&rr(r)s@rr+r+6s—ø€€€€€ð€Jð"ØØ#(ð 5ð $)ð 5ð 5ð 5à �cŒ]ð 5ðð 5ð!ð 5ð !ð 5ð ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5rr+có—eZdZdZdZdS)ÚFailedz.Raised from an explicit call to pytest.fail().r,N©rr#r$r%©rrr2r2Js€€€€€Ø8Ð8à€J€J€Jrr2có@‡—eZdZdZ ddedeeddfˆfd„ ZˆxZS) ÚExitz=Raised for immediate program exits (no tracebacks/summaries).úunknown reasonNrÚ returncodercóf•—||_||_t¦« |¦«dS©N)rr8rr)rrr8rs €rrz Exit.__init__Ss1ø€ðˆŒØ$ˆŒÝ ‰Œ×Ò˜ÑÔÐÐÐr)r7N) rr#r$r%rrÚintrr(r)s@rr6r6Pskø€€€€€ØGÐGðHLððØðØ7?À´}ðà ððððððððððrr6Ú_F.)ÚboundÚ_ETcó$—eZdZUeed<eed<dS)Ú_WithExceptionÚ ExceptionÚ__call__N)rr#r$r>Ú__annotations__r<r4rrr@r@bs"€€€€€€Ø€N€N�NØ€L€L�L€L€Lrr@Úexception_typercóT‡—dtdtttffˆfd„ }|S)NÚfuncrcód•—ttttf|¦«}‰|_|Sr:)rr@r<r>rA)rFÚfunc_with_exceptionrDs €rÚdecoratez!_with_exception..decoratehs+ø€Ý"¥>µ"µc°'Ô#:¸DÑAÔAÐØ(6ÐÔ%Ø"Ð"r)r<r@r>)rDrIs` rÚ_with_exceptionrJgs?ø€ð#•rð#�n­Rµ¨WÔ5ð#ð#ð#ð#ð#ð#ð €OrÚ)rÚreasonr8rcóÄ—d}ddlm}|r |r |d¦«‚|s8|€ |d¦«‚tjt jd¬¦«d ¬ ¦«|}t ||¦«‚) axExit testing process. :param reason: The message to show as the reason for exiting pytest. reason has a default value only because `msg` is deprecated. :param returncode: Return code to be used when exiting pytest. :param msg: Same as ``reason``, but deprecated. Will be removed in a future version, use ``reason`` instead. Tr©Ú UsageErrorzHcannot pass reason and msg to exit(), `msg` is deprecated, use `reason`.Nz!exit() requires a reason argumentÚexit©rFé©Ú stacklevel)Ú_pytest.configrOÚwarningsÚwarnr rr6)rLr8rÚ__tracebackhide__rOs rrPrPssš€ð ÐØ)Ð)Ð)Ð)Ð)Ð)à ð �#ð ØˆjØ Vñ ô ð ð ðØ ˆ;Ø�*Ð@ÑAÔAÐ AÝŒ •oÔ,°&Ð9Ñ9Ô9ÀaÐHÑHÔHÐHØˆÝ ˆv�zÑ "Ô "Ð"r)r.rr.cóJ—d}td||¦«}t||¬¦«‚)a`Skip an executing test with the given message. This function should be called only during testing (setup, call or teardown) or during collection by using the ``allow_module_level`` flag. This function can be called in doctests as well. :param reason: The message to show the user as reason for the skip. :param allow_module_level: Allows this function to be called at module level. Raising the skip exception at module level will stop the execution of the module and prevent the collection of all tests in the module, even those defined before the `skip` call. Defaults to False. :param msg: Same as ``reason``, but deprecated. Will be removed in a future version, use ``reason`` instead. .. note:: It is better to use the :ref:`pytest.mark.skipif ref` marker when possible to declare a test to be skipped under certain conditions like mismatching platforms or dependencies. Similarly, use the ``# doctest: +SKIP`` directive (see :py:data:`doctest.SKIP`) to skip a doctest statically. TÚskip)rr.)Ú_resolve_msg_to_reasonr+)rLr.rrXs rrZrZ’s/€ð>ÐÝ # F¨F°CÑ 8Ô 8€FÝ �fÐ1CÐ DÑ DÔ DÐDrTrcóJ—d}td||¦«}t||¬¦«‚)a‘Explicitly fail an executing test with the given message. :param reason: The message to show the user as reason for the failure. :param pytrace: If False, msg represents the full failure information and no python traceback will be reported. :param msg: Same as ``reason``, but deprecated. Will be removed in a future version, use ``reason`` instead. TÚfailr0)r[r2)rLrrrXs rr]r]¶s.€ðÐÝ # F¨F°CÑ 8Ô 8€FÝ �V WÐ -Ñ -Ô -Ð-rÚ func_namecó’—d}|�B|rddlm}|d|›d�¦«‚tjt j|¬¦«d¬ ¦«|}|S) aÚ Handles converting the deprecated msg parameter if provided into reason, raising a deprecation warning. This function will be removed when the optional msg argument is removed from here in future. :param str func_name: The name of the offending function, this is formatted into the deprecation message. :param str reason: The reason= passed into either pytest.fail() or pytest.skip() :param str msg: The msg= passed into either pytest.fail() or pytest.skip(). This will be converted into reason if it is provided to allow pytest.skip(msg=) or pytest.fail(msg=) to continue working in the interim period. :returns: The value to use as reason. TNrrNz.Passing both ``reason`` and ``msg`` to pytest.z(...) is not permitted.rQérS)ÚpytestrOrVrWr r)r^rLrrXrOs rr[r[Ész€ð.ÐØ €Ø ð Ø )Ð )Ð )Ð )Ð )Ð )à�*ØcÀÐcÐcÐcñôð õ Œ •oÔ,°)Ð<Ñ<Ô<ÈÐKÑKÔKÐKØˆØ €Mrcó—eZdZdZdS)ÚXFailedz/Raised from an explicit call to pytest.xfail().Nr3r4rrrcrcís€€€€€Ø9Ð9Ð9Ð9rrccó$—d}t|¦«‚)aÆImperatively xfail an executing test or setup function with the given reason. This function should be called only during testing (setup, call or teardown). :param reason: The message to show the user as reason for the xfail. .. note:: It is better to use the :ref:`pytest.mark.xfail ref` marker when possible to declare a test to be xfailed under certain conditions like known bugs or missing features. T)rc)rLrXs rÚxfailreñs€ðÐÝ �&‰/Œ/ÐrÚmodnameÚ minversioncóè—ddl}d}t|dd¦«|j¦«5|jd¦« t |¦«n.#t $r!}|€d|›d|›�}t |d¬ ¦«d‚d}~wwxYw ddd¦«n #1swxYwYtj|}|€|St|d d¦«}|�:dd l m }|�||¦«||¦«krt d |›d |›d|›�d¬ ¦«‚|S)avImport and return the requested module ``modname``, or skip the current test if the module cannot be imported. :param modname: The name of the module to import. :param minversion: If given, the imported module's ``__version__`` attribute must be at least this minimal version, otherwise the test is still skipped. :param reason: If given, this reason is shown as the message when the module cannot be imported. :returns: The imported module. This should be assigned to its canonical name. Example:: docutils = pytest.importorskip("docutils") rNTrKÚevalÚignorezcould not import z: )r.Ú __version__)ÚVersionzmodule z has __version__ z, required is: ) rVÚcompileÚcatch_warningsÚ simplefilterÚ __import__Ú ImportErrorr+ÚsysÚmodulesÚgetattrÚpackaging.versionrl) rfrgrLrVrXÚexcÚmodÚverattrrls rÚ importorskiprys½€ð,€O€O€OàÐÝ ˆG�R˜Ñ Ô Ð à ˆÔ Ñ "Ô "ð Eð Eð ˆÔ˜hÑ'Ô'Ð'ð EÝ �wÑ Ô Ð Ð øÝð Eð Eð E؈~Ø?¨WÐ?Ð?¸#Ð?Ð?�ݘ&°TÐ:Ñ:Ô:ÀÐ Døøøøð Eøøøð ð Eð Eð Eñ Eô Eð Eð Eð Eð Eð Eð Eøøøð Eð Eð Eð Eõ Œ+�gÔ €CØÐ؈ Ý�c˜=¨$Ñ/Ô/€GØÐà-Ð-Ð-Ð-Ð-Ð-à ˆ?˜g˜g gÑ.Ô.°°¸Ñ1DÔ1DÒDÐDÝ�'à�7�7˜G˜G˜G Z Zð1à#'ðñôð ð €Js4§B¹A ÁBÁ A4ÁA/Á/A4Á4BÂB B)rKN)rK)rKTNr:)NN)'r%rrrVÚtypingrrrrrrr Ú_pytest.deprecatedr Ú TYPE_CHECKINGÚtyping_extensionsr r Ú BaseExceptionrrAÚ TEST_OUTCOMEr+r2r6Úobjectr<r>r@rJrr;rPr&rZr]r[rcreryr4rrúr�slðððà € € € Ø€€€ØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐà.Ð.Ð.Ð.Ð.Ð.à€ àðØ*Ð*Ð*Ð*Ð*Ð*Ð*ð ÐÐÐÐÐà€Hððððð�}ñôðð.! )Ð,€ ð5ð5ð5ð5ð5Ðñ5ô5ð5ð(ððððÐ ñôðð ððððˆ9ñôðð €WˆT˜ # v +Ô.Ð/Ñ/Ô/€Ø €gˆe˜4  Ô.Ð/Ñ/Ô/€ððððð�X˜b #˜gÔ&ñôðð  Cð¨H°b°T¸>È"ÈcÈ'Ô;RÐ5RÔ,Sððððð€�ÑÔà26ð#ØPTð#ð#ð#Ø ð#Ø"*¨3¤-ð#Ø@HÈÄ ð#à ð#ð#ð#ñÔð#ð<€�ÑÔàð EØ49ÐPTð Eð Eð EØ ð EØ-1ð EØ@HÈÄ ð Eà ð Eð Eð EñÔð EðF€�ÑÔð.ð.�ð. Dð.°h¸s´mð.Èxð.ð.ð.ñÔð.ð&7;ð!ð!Øð!Øð!Ø&.¨s¤mð!àð!ð!ð!ð!ðH:ð:ð:ð:ð:ˆfñ:ô:ð:ð€�ÑÔðð�#ð˜xðððñÔðð$MQð4ð4Ø ð4Ø& sœmð4Ø