a ze@sddlZddlZddlZddlZddlZddlZddlmZGdddeZGdddeZ GdddeZ Gd d d e e Z Gd d d e e Z Gd ddeZ GdddejZGdddejZGdddejZedkredS)N)EEXISTc@s eZdZdS) SubOSErrorN__name__ __module__ __qualname__rrQ/opt/bitninja-python-dojo/embedded/lib/python3.9/test/test_exception_hierarchy.pyr srcseZdZfddZZS)SubOSErrorWithInitcs||_t|dSN)barsuper__init__)selfmessager  __class__rr rszSubOSErrorWithInit.__init__)rrrr __classcell__rrrr r sr cseZdZfddZZS)SubOSErrorWithNewcst||}||_|Sr )r __new__baz)clsrrrrrr rszSubOSErrorWithNew.__new__)rrrrrrrrr rsrc@s eZdZdS)SubOSErrorCombinedInitFirstNrrrrr rsrc@s eZdZdS)SubOSErrorCombinedNewFirstNrrrrr rsrc@seZdZddZdS)SubOSErrorWithStandaloneInitcCsdSr rrrrr rsz%SubOSErrorWithStandaloneInit.__init__N)rrrrrrrr rsrc@sHeZdZddZddZddZdZdd ZeeZd d Z d d Z dS) HierarchyTestcCs*|tjd|tt|ttdS)NOSError) assertEqualrrassertIsIOErrorEnvironmentErrorrrrr test_builtin_errors%s z!HierarchyTest.test_builtin_errorscCsB|tjt|tjjt|tjjt|tjjtdSr ) rsocketerrorr gaierror__base__rherrortimeoutrrrr test_socket_errors*sz HierarchyTest.test_socket_errorscCs|tjtdSr )rselectr$rrrrr test_select_error0szHierarchyTest.test_select_errorae +-- BlockingIOError EAGAIN, EALREADY, EWOULDBLOCK, EINPROGRESS +-- ChildProcessError ECHILD +-- ConnectionError +-- BrokenPipeError EPIPE, ESHUTDOWN +-- ConnectionAbortedError ECONNABORTED +-- ConnectionRefusedError ECONNREFUSED +-- ConnectionResetError ECONNRESET +-- FileExistsError EEXIST +-- FileNotFoundError ENOENT +-- InterruptedError EINTR +-- IsADirectoryError EISDIR +-- NotADirectoryError ENOTDIR +-- PermissionError EACCES, EPERM +-- ProcessLookupError ESRCH +-- TimeoutError ETIMEDOUT cCsdi}|D]R}|d}|s q |d\}}}td|dD]}tt||tt|<qDq |S)Nz+-  z, ) splitlinesstrip partitionfiltersplitgetattrbuiltinserrno)s_maplineexcname_ZerrnamesZerrnamerrr _make_mapFs  zHierarchyTest._make_mapcCsttd}|t|t|jD]"\}}t|d}|t||q$ttj t|j}|D]}t|d}|t|tq`dS)NBad file descriptorz Some message) rrrtypeFileExistsErrorr6itemssetr4 errorcode)reZerrcodeexcZ othercodesrrr test_errno_mappingRs   z HierarchyTest.test_errno_mappingcCspd}z t|Wnty"Yn 0|d|tj|zt|Wnty`Yn 0|ddS)NZ some_hopefully_non_existing_filez&should have raised a FileNotFoundError)openFileNotFoundErrorZfailZ assertFalseospathexistsunlink)rfilenamerrr test_try_except`s    zHierarchyTest.test_try_exceptN) rrrr"r)r+Z_pep_mapr:r6rCrKrrrr r#s rc@s>eZdZddZddZeejdkdddZ d d Z d S) AttributesTestcCs0tjdkr|dttn|dttdS)Nntwinerror)rFnameZassertIndirrZ assertNotInrrrr test_windows_errorzs z!AttributesTest.test_windows_errorcCsdttdd}||jt||jdt||jd||jdtjdkr`||j ddS)NFile already existsfoo.txtrrM) rrrr4argsstrerrorrJrFrOrNrrArrr test_posix_errors  zAttributesTest.test_posix_errorrMzWindows-specific testcCs\tdddd}||jd||jt||jdt||jd||jddS)NrrRrS)rrrNr4rrTrUrJrVrrr test_errno_translations z%AttributesTest.test_errno_translationc Csd}tdD]r}t|d|}|t|jWdn1sF0Y|t|`Wdq 1st0Yq tddd}||jdd|_||jd|`|t|jWdn1s0YdS)N)abcdrArZr[)rangeBlockingIOErrorZ assertRaisesAttributeErrorcharacters_writtenr)rrTnrArrr test_blockingioerrors  $ $  z#AttributesTest.test_blockingioerrorN) rrrrQrWunittestZ skipUnlessrFrOrYrfrrrr rLxs   rLc@sDeZdZddZddZddZddZd d Zd d Zd dZ dS)ExplicitSubclassingTestcCsttd}|t|tdS)Nr;)rrrr<rVrrr rCs z*ExplicitSubclassingTest.test_errno_mappingcCs*tdd}||jd||jddSN some messagerrjr rr rTrVrrr test_init_overriddens z,ExplicitSubclassingTest.test_init_overriddencCs,tddd}||jd||jddS)Nrjr)r rkrlrVrrr test_init_kwdargss z)ExplicitSubclassingTest.test_init_kwdargscCs*tdd}||jd||jddSrirrrrTrVrrr test_new_overriddens z+ExplicitSubclassingTest.test_new_overriddencCs,tddd}||jd||jddS)Nrjr)rrkrorVrrr test_new_kwdargss z(ExplicitSubclassingTest.test_new_kwdargscCsltdd}||jd||jd||jdtdd}||jd||jd||jddSri)rrr rrTrrVrrr test_init_new_overriddens  z0ExplicitSubclassingTest.test_init_new_overriddencCs(t}||jd|t|ddS)Nr)rrrTstrrVrrr test_init_standalonesz,ExplicitSubclassingTest.test_init_standaloneN) rrrrCrmrnrprqrrrurrrr rhs rh__main__)r3rFr*r#rgr4rrrr rrrrZTestCaserrLrhrmainrrrr s" U,,