a  ze @sddlZddlZddlZddlmZddlmZddlmZm Z ddl m Z m Z e e dGdddejZed kredS) N)support)hashlib_helper)assert_python_okassert_python_failure) scriptsdirskip_if_missingmd5c@s\eZdZeddZeddZddZddZd d Zd d Z d dZ ddZ ddZ dS) MD5SumTestscCsttjtd|_ttjtjtjd|_t |jd}| dWdn1sZ0Yd|_ d|_ dS)Nz md5sum.pyz md5sum.fodderwbsmd5sum test file s d38dae2eb1ab346a292ef6850f9e1a0ds a8b07894e2ca3f2a4c3094065fa6e0a5) ospathjoinrscriptmkdirr TESTFN_ASCIIfodderopenwrite fodder_md5fodder_textmode_md5)clsfrO/opt/bitninja-python-dojo/embedded/lib/python3.9/test/test_tools/test_md5sum.py setUpClasss (zMD5SumTests.setUpClasscCsttjdS)N)rrmtreer)rrrr tearDownClassszMD5SumTests.tearDownClasscCs:t|j\}}}||d||d||dS)Nrs(d41d8cd98f00b204e9800998ecf8427e )rr assertEqual assertTrue startswith assertFalseselfrcouterrrrr test_noargss  zMD5SumTests.test_noargscCsft|j|j\}}}||d|||j|jtj j D]}| | |qB| |dS)Nr)rrrrrrrsplitr r sepassertInencoder )r"r#r$r%partrrrtest_checksum_fodder%s  z MD5SumTests.test_checksum_foddercCslt|jd|j\}}}||d||j||jtjj }||d || |d |dS)Nz-lr) rrrrr)rr'r r r(r* assertNotIn)r"r#r$r%partsrrr test_dash_l-s  zMD5SumTests.test_dash_lcCsFt|jd|j\}}}||d|||j||j|dS)Nz-tr) rrrrrrrr/rr!rrr test_dash_t5s zMD5SumTests.test_dash_tcCs6t|jdd|j\}}}||d||j|dS)Nz-sZ512r)rrrrr)rr!rrr test_dash_s;s zMD5SumTests.test_dash_scCsJt|j|j|j\}}}||d|}|t|d|j|dS)Nr)rrrr splitlineslen)r"r#r$r%linesrrrtest_multiple_files@s  zMD5SumTests.test_multiple_filescCs:t|jd\}}}||d||d||ddS)Nz-hr4)rrrZ assertGreaterr!rrr test_usageGs  zMD5SumTests.test_usageN) __name__ __module__ __qualname__ classmethodrrr&r,r1r2r3r8r:rrrrr s  r __main__)sysr ZunittesttestrZ test.supportrZtest.support.script_helperrrZtest.test_toolsrrZrequires_hashdigestZTestCaser r;mainrrrrs  ?