asda?‰PNG  IHDR ? f ??C1 sRGB ??é gAMA ±? üa pHYs ? ??o¨d GIDATx^íüL”÷e÷Y?a?("Bh?_ò???¢§?q5k?*:t0A-o??¥]VkJ¢M??f?±8\k2íll£1]q?ù???T a bYh @sddlZddlZddlmZz&edddr4edddlZdZWnHeyZz0ej dkrjee edZe eZWYdZ[n dZ[00e ej dkde edGd d d ej Ze ed Gd d d ej ZedkredS)N)check_sanitizerT)addressZmemoryz.The crypt module SEGFAULTs on ASAN/MSAN buildswin32zThis should only run on windowszimport succeededc@seZdZddZdS)TestWhyCryptDidNotImportcCs|dtdS)Nz not supported)assertIn IMPORT_ERRORselfr +/usr/local/lib/python3.9/test/test_crypt.pytest_import_failure_messagesz4TestWhyCryptDidNotImport.test_import_failure_messageN)__name__ __module__ __qualname__r r r r r rsrzcrypt module is requiredc@seZdZddZddZddZddZee oFe j e j vpFe j e j vd d d Z ee ofe je j vd d dZddZdS) CryptTestCasecCsRtd}td|}|||tdd}|durNtd|}|||dS)N mypasswordab)crypt assertEqual)r crcr2r r r test_crypts     zCryptTestCase.test_cryptcCsl|ttjdtjD]N}t|}|t||jhd|jr||j|dt||jqdS)N@>r) rlenrZ _saltcharsmethodsmksaltr salt_charsident)r methodsaltr r r test_salt&s   zCryptTestCase.test_saltcCsjtjD]^}td|}|t||jtd|}|||tdt|}|t||jqdS)NZassword)rrrrZ total_sizer )r r#rrr r r test_saltedcrypt.s    zCryptTestCase.test_saltedcryptcCsL|ttjdktjdr4|tjtjgn|tjdtj dS)NrZopenbsd) assertTruerrrsysplatform startswithrMETHOD_BLOWFISH METHOD_CRYPTrr r r test_methods7s zCryptTestCase.test_methodszrequires support of SHA-2c CstjtjfD]|}dD]r}tj||d}|d|||t||jdtt|td|}| |td|}|||qq dS)N)i'iroundsz $rounds=%d$ r) r METHOD_SHA256 METHOD_SHA512r rrrr!strr()r r#r1r$rrr r r test_sha2_rounds>s   zCryptTestCase.test_sha2_roundszrequires support of BlowfishcCstddD]r}tjtjd|>d}|d|||t|tjjddhtd|}||td|}|||q dS) Nrr2rr0z$%02d$rrr) rangerr r,rrr!r(r)r Z log_roundsr$rrr r r test_blowfish_roundsQs   z"CryptTestCase.test_blowfish_roundsc CsdtjtjtjfD]}|ttj|ddWdn1sB0Y|ttj|ddWdn1sz0Yddddd>fD]<}|ttj||dWdq1s0Yqq|t tjtjddWdn1s0Ytjtj fD]B}| td tj|d dWdn1sR0YqdS) NZ4096r0g@rrr'ir/supporti) rr3r4r,Z assertRaises TypeErrorr ValueErrorr-Z METHOD_MD5ZassertRaisesRegex)r r#r1r r r test_invalid_rounds^s , , 0 0z!CryptTestCase.test_invalid_roundsN)r rrrr%r&r.unittest skipUnlessrr3rr4r6r,r8r<r r r r rs    r__main__)r)r=Z test.supportrZSkipTestrr ImportErrorexr*r5r>ZskipIfZTestCaserrr mainr r r r s&      T