+
    '(j                         R t ^ RIt^ RIt^ RIHt ^ RIHt  ! R R]4      tRR lt	/ 3R lt
]R8X  d   R	 t]P                  ! R
R7       R# R# )zgSelf tests

These tests should perform quickly and can ideally be used every time an
application runs.
N)import_module)StringIOc                   &   a  ] tR t^%t o R tRtV tR# )SelfTestErrorc                J    \         P                  WV4       Wn        W n        R # N)	Exception__init__messageresult)selfr
   r   s   &&&M/home/ubuntu/cf-venv/lib/python3.14/site-packages/Crypto/SelfTest/__init__.pyr	   SelfTestError.__init__&   s    4&1    )r
   r   N)__name__
__module____qualname____firstlineno__r	   __static_attributes____classdictcell__)__classdict__s   @r   r   r   %   s      r   r   c                   Vf   / p\         P                  ! 4       pV f#   Vf   \        VR7      pVP                  V4       M1Vf#   VP                  V P                  VR7      4       M\	        R4      hVf   \        4       VR&   MW%R&   \         P                  ! RRV/VB pVP                  V4      pVP                  4       '       gE   Vf5   \        P                  P                  VR,          P                  4       4       \        RV4      hV# )a  Execute self-tests.

This raises SelfTestError if any test is unsuccessful.

You may optionally pass in a sub-module of SelfTest if you only want to
perform some of the tests.  For example, the following would test only the
hash modules:

    Crypto.SelfTest.run(Crypto.SelfTest.Hash)

configz5'module' and 'tests' arguments are mutually exclusivestream	verbosityzSelf-test failed )unittest	TestSuite	get_testsaddTests
ValueErrorr   TextTestRunnerrunwasSuccessfulsysstderrwritegetvaluer   )	moduler   r   testsr   kwargssuiterunnerr   s	   &&&&&,   r   r#   r#   ,   s     ~ E~=V,Eu=NN6++6+:;TUU~#:x!x$$CyCFCFZZF!!>JJVH-6689.77Mr   c                 x    . p. ROpV F-  p\        RV,           4      pWP                  V R7      ,          pK/  	  V# )CipherzCrypto.SelfTest.r   )	r/   HashProtocol	PublicKeyRandomUtil	SignatureIOMath)r   r   )r   r*   module_namesnamer)   s   &    r   r   r   R   sG    E
L
 1D89!!!00  Lr   __main__c                  >    \         P                  ! \        4       4      # r   )r   r   r   r   r   r   r,   r,   b   s    !!)+..r   r,   )defaultTest)N    NNN)__doc__r%   r   	importlibr   Crypto.Util.py3compatr   r   r   r#   r   r   r,   mainr   r   r   <module>rB      sT   2   # *I #L   z/MMg& r   