a 5êdgºã@sêddlZddlZddlZddlZddlZddlZddlmZGdd„deƒZGdd„deƒZ Gdd„deƒZ Gd d „d e e ƒZ Gd d „d e e ƒZ Gd d„deƒZ Gdd„dejƒZGdd„dejƒZGdd„dejƒZedkræe ¡dS)éN)ÚEEXISTc@s eZdZdS)Ú SubOSErrorN©Ú__name__Ú __module__Ú __qualname__©rrú9/usr/local/lib/python3.9/test/test_exception_hierarchy.pyr srcseZdZ‡fdd„Z‡ZS)ÚSubOSErrorWithInitcs||_tƒ |¡dS©N)ÚbarÚsuperÚ__init__)ÚselfÚmessager ©Ú __class__rr rszSubOSErrorWithInit.__init__)rrrrÚ __classcell__rrrr r sr cseZdZ‡fdd„Z‡ZS)ÚSubOSErrorWithNewcstƒ ||¡}||_|Sr )r Ú__new__Úbaz)Úclsrrrrrr rszSubOSErrorWithNew.__new__)rrrrrrrrr rsrc@s eZdZdS)ÚSubOSErrorCombinedInitFirstNrrrrr rsrc@s eZdZdS)ÚSubOSErrorCombinedNewFirstNrrrrr rsrc@seZdZdd„ZdS)ÚSubOSErrorWithStandaloneInitcCsdSr r©rrrr rsz%SubOSErrorWithStandaloneInit.__init__N)rrrrrrrr rsrc@sHeZdZdd„Zdd„Zdd„ZdZdd „ZeeƒZd d „Z d d „Z dS)Ú HierarchyTestcCs*| tjd¡| tt¡| tt¡dS)NÚOSError)Ú assertEqualrrÚassertIsÚIOErrorÚEnvironmentErrorrrrr Útest_builtin_errors%s z!HierarchyTest.test_builtin_errorscCsB| tjt¡| tjjt¡| tjjt¡| tjjt¡dSr ) rÚsocketÚerrorr ÚgaierrorÚ__base__rÚherrorÚtimeoutrrrr Útest_socket_errors*sz HierarchyTest.test_socket_errorscCs| tjt¡dSr )rÚselectr$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| ¡ d¡ƒD]}tt|ƒ|tt|ƒ<qDq |S)Nz+- ú z, )Ú splitlinesÚstripÚ partitionÚfilterÚsplitÚgetattrÚbuiltinsÚerrno)ÚsÚ_mapÚlineÚexcnameÚ_ZerrnamesZerrnamerrr Ú _make_mapFs  zHierarchyTest._make_mapcCs„ttdƒ}| t|ƒt¡|j ¡D]"\}}t|dƒ}| t|ƒ|¡q$ttj ƒt|jƒ}|D]}t|dƒ}| t|ƒt¡q`dS)NúBad file descriptorz Some message) rrrÚtypeÚFileExistsErrorr6ÚitemsÚsetr4Ú errorcode)rÚeZerrcodeÚexcZ othercodesrrr Útest_errno_mappingRs   z HierarchyTest.test_errno_mappingcCspd}z t|ƒWnty"Yn 0| d¡| tj |¡¡zt |¡Wnty`Yn 0| d¡dS)NZ some_hopefully_non_existing_filez&should have raised a FileNotFoundError)ÚopenÚFileNotFoundErrorZfailZ assertFalseÚosÚpathÚexistsÚunlink)rÚfilenamerrr Útest_try_except`s    zHierarchyTest.test_try_exceptN) rrrr"r)r+Z_pep_mapr:r6rCrKrrrr r#s rc@s>eZdZdd„Zdd„Ze ejdkd¡dd„ƒZ d d „Z d S) ÚAttributesTestcCs0tjdkr| dttƒ¡n| dttƒ¡dS)NÚntÚwinerror)rFÚnameZassertInÚdirrZ assertNotInrrrr Útest_windows_errorzs z!AttributesTest.test_windows_errorcCsdttddƒ}| |jt¡| |jdt¡| |jd¡| |jd¡tjdkr`| |j d¡dS)NúFile already existsúfoo.txtrrM) rrrr4ÚargsÚstrerrorrJrFrOrN©rrArrr Útest_posix_error€s  zAttributesTest.test_posix_errorrMzWindows-specific testcCs\tddddƒ}| |jd¡| |jt¡| |jdt¡| |jd¡| |jd¡dS)NrrRrSé·)rrrNr4rrTrUrJrVrrr Útest_errno_translation‰s z%AttributesTest.test_errno_translationc Csæd}tdƒD]r}t|d|…Ž}| t¡|jWdƒn1sF0Y| t¡|`Wdƒq 1st0Yq tdddƒ}| |jd¡d|_| |jd¡|`| t¡|jWdƒn1sØ0YdS)N)ÚaÚbÚcÚdrAérZr[éé)ÚrangeÚBlockingIOErrorZ assertRaisesÚAttributeErrorÚcharacters_writtenr)rrTÚnrArrr Útest_blockingioerror“s  $ $  z#AttributesTest.test_blockingioerrorN) rrrrQrWÚunittestZ skipUnlessrFrOrYrfrrrr rLxs   rLc@sDeZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dS)ÚExplicitSubclassingTestcCsttdƒ}| t|ƒt¡dS)Nr;)rrrr<rVrrr rC¦s z*ExplicitSubclassingTest.test_errno_mappingcCs*tddƒ}| |jd¡| |jd¡dS©Nú some messager©rj©r rr rTrVrrr Útest_init_overridden«s z,ExplicitSubclassingTest.test_init_overriddencCs,tddd}| |jd¡| |jd¡dS)Nrjr)r rkrlrVrrr Útest_init_kwdargs°s z)ExplicitSubclassingTest.test_init_kwdargscCs*tddƒ}| |jd¡| |jd¡dSri©rrrrTrVrrr Útest_new_overriddenµs z+ExplicitSubclassingTest.test_new_overriddencCs,tddd}| |jd¡| |jd¡dS)Nrjr)rrkrorVrrr Útest_new_kwdargsºs z(ExplicitSubclassingTest.test_new_kwdargscCsltddƒ}| |jd¡| |jd¡| |jd¡tddƒ}| |jd¡| |jd¡| |jd¡dSri)rrr rrTrrVrrr Útest_init_new_overridden¿s  z0ExplicitSubclassingTest.test_init_new_overriddencCs(tƒ}| |jd¡| t|ƒd¡dS)NrÚ)rrrTÚstrrVrrr Útest_init_standaloneÉsz,ExplicitSubclassingTest.test_init_standaloneN) rrrrCrmrnrprqrrrurrrr rh¤s rhÚ__main__)r3rFr*r#rgr4rrrr rrrrZTestCaserrLrhrÚmainrrrr Ús" U,,