
    0hh3[                        S SK r S SKrS SKrS SKrS SKrS SKJrJrJrJ	r	  S SK
Jr  S SKJr  SS jr " S S5      r " S S	\\R                   5      r " S
 S\5      r " S S\R                   5      r\S:X  a  \R*                  " 5         gg)    N)is_appleis_emscripten	os_helperwarnings_helper)assert_python_ok)FakePathc                 t    [        U SS5       nUR                  U5        S S S 5        g ! , (       d  f       g = f)Nxbr   )openwrite)filenamedatafps      >/opt/python-3.13.8/usr/lib/python3.13/test/test_genericpath.pycreate_filer      s'    	ha	 B
 
!	 	 s   )
7c                      \ rS rSr/ SQr/ rS rS rS rS r	S r
\R                  " \" \S5      S	5      \R                  " \S
5      S 5       5       rS rS rS rS rS r\R0                  S 5       r\R                  " \" \S5      S5      S 5       rS rS r\R0                  S 5       r\R                  " \" \S5      S5      S 5       rS rSr g)GenericTest   )commonprefixgetsizegetatimegetctimegetmtimeexistsisdirisfilec                 0   U R                   U R                  -    Hg  nU R                  [        5         [	        U R
                  U5      " 5         U R                  SR                  U R
                  R                  U5      5      e   g ! , (       d  f       M{  = f)Nz!{}.{}() did not raise a TypeError)	common_attributes
attributesassertRaises	TypeErrorgetattr
pathmodulefailformat__name__)selfattrs     r   test_no_argumentGenericTest.test_no_argument   sm    **T__<D""9-.0ii C!'(@(@$!GI I =--s   AB
B	c           	         U R                   R                  nU R                  U" / 5      S5        U R                  U" SS/5      S5        U R                  U" SS/5      S5        U R                  U" SS/5      S5        U R                  U" SS/5      S	5        U R                  U" S
S/5      S5        U R                  U" S
S
/5      S
5        U R                  U" SS/5      S5        U R                  U" SS/5      S5        U R                  U" SS/5      S5        U R                  U" SS/5      S5        U R                  U" SS/5      S5        U R                  U" SS/5      S5        / SQnU H  nU Hz  nU" X4/5      nU R                  UR	                  U5      5        U R                  UR	                  U5      5        X4:w  d  MS  [        U5      nU R                  X6US-    XFUS-    5        M|     M     g )N z/home/swenson/spamz/home/swen/spamz
/home/swenz/home/swen/eggsz/home/swen/zhome:swenson:spamzhome:swen:spamz	home:swenz:home:swen:spamz:home:swen:eggsz:home:swen:s   /home/swenson/spams   /home/swen/spams
   /home/swens   /home/swen/eggss   /home/swen/s   home:swenson:spams   home:swen:spams	   home:swens   :home:swen:spams   :home:swen:eggss   :home:swen:)r,   abcXbcdXbXYabcdaXcabdabaXabcX   )r#   r   assertEqual
assertTrue
startswithlenassertNotEqual)r'   r   testlists1s2pns          r   test_commonprefixGenericTest.test_commonprefix"   sA   33	
 	.0ABC	
 	+->?@	
 	+->?@	
 	-/?@A	
 	+->?@	
 	+->?@	

 	/1CDE	
 	,.@AB	
 	,.@AB	
 	.0ABC	
 	,.@AB	
 	,.@AB	

6B "*a 01a 018AA''QqS	2!9=      c                 l   [         R                  nU R                  [         R                  U5        [	        US5        U R                  U R                  R                  U5      S5        [        R                  " U5        [	        US5        U R                  U R                  R                  U5      S5        g )Ns   Hello   s   Hello World!   )
r   TESTFN
addCleanupunlinkr   r8   r#   r   osremove)r'   r   s     r   test_getsizeGenericTest.test_getsizee   s    ##	(((3Hh'00:A>
		(Ho.00:B?rD   c                    [         R                  nU R                  [         R                  U5        [	        US5        [        USS5       nUR                  S5        S S S 5        [        USS5       nUR                  5       nS S S 5        U R                  WS5        U R                  U R                  R                  U5      U R                  R                  U5      5        g ! , (       d  f       N= f! , (       d  f       Nv= f)N   foor4   r      barrbs   foobar)r   rH   rI   rJ   r   r   r   readr8   assertLessEqualr#   r   r   )r'   r   fr   s       r   test_filetimeGenericTest.test_filetimep   s    ##	(((3Hf%(D!$GGFO % (D!$668D %y)OO$$X.OO$$X.	
 %$ %$s   
C!1C2!
C/2
D c                    [         R                  n[        R                  " U5      nU R	                  [         R
                  U5        U R                  U R                  R                  U5      S5        U R                  U R                  R                  U5      S5        U R                  U R                  R                  U5      S5        U R                  U R                  R                  U5      S5        [        U5        U R                  U R                  R                  U5      S5        U R                  U R                  R                  U5      S5        U R                  U R                  R                  US-   5      S5        U R                  U R                  R                  US-   5      S5        U R                  U R                  R                  US-   5      S5        U R                  U R                  R                  US-   5      S5        U R                  U R                  R                  U5      S5        U R                  U R                  R                  U5      S5        U R                  U R                  R                  US-   5      S5        U R                  U R                  R                  US-   5      S5        U R                  U R                  R                  US-   5      S5        U R                  U R                  R                  US-   5      S5        U R                  U R                  R                  US9S5        U R                  U R                  R                  US9S5        g )NFT           )path)r   rH   rK   fsencoderI   rJ   assertIsr#   r   lexistsr   r'   r   	bfilenames      r   test_existsGenericTest.test_exists   sq   ##KK)		(((3doo,,X6>doo,,Y7?doo--h7?doo--i8%@Hdoo,,X6=doo,,Y7>doo,,X-@A5Idoo,,Y-@A5Idoo,,X->?Gdoo,,Y-@A5Idoo--h7>doo--i8$?doo--h.ABEJdoo--i'.ABEJdoo--h.?@%Hdoo--i'.ABEJ 	doo,,(,;TBdoo--8-<dCrD   pipezrequires os.pipe()z Emscripten pipe fds have no statc                    [         R                  " 5       u  p U R                  U R                  R	                  U5      5        [         R
                  " U5        [         R
                  " U5        U R                  U R                  R	                  U5      5        g ! [         R
                  " U5        [         R
                  " U5        f = fN)rK   re   r9   r#   r   closeassertFalse)r'   rws      r   test_exists_fdGenericTest.test_exists_fd   s~     wwy	OODOO22156HHQKHHQK//23 HHQKHHQKs   *B .Cc                     S H=  nU R                  [        S5         U R                  R                  U5        S S S 5        M?     g ! , (       d  f       MQ  = f)N)FTz!bool is used as a file descriptor)assertWarnsRegexRuntimeWarningr#   r   )r'   fds     r   test_exists_boolGenericTest.test_exists_bool   sF    B&&~79&&r*9 9 9 9s   A
A	c                    [         R                  n[        R                  " U5      nU R	                  U R
                  R                  U5      S5        U R	                  U R
                  R                  U5      S5        U R	                  U R
                  R                  US-   5      S5        U R	                  U R
                  R                  US-   5      S5        U R	                  U R
                  R                  US-   5      S5        U R	                  U R
                  R                  US-   5      S5         [        U5        U R	                  U R
                  R                  U5      S5        U R	                  U R
                  R                  U5      S5        [         R                  " U5         [        R                  " U5        U R	                  U R
                  R                  U5      S5        U R	                  U R
                  R                  U5      S5        [         R                  " U5        g ! [         R                  " U5        f = f! [         R                  " U5        f = fNFrY   rZ   r[   r\   T)r   rH   rK   r^   r_   r#   r   r   rJ   mkdirrmdirra   s      r   
test_isdirGenericTest.test_isdir   s   ##KK)	doo++H5u=doo++I6>doo++Hx,?@%Hdoo++I,?@%Hdoo++Hv,=>Fdoo++I,?@%H	'!MM$////95AMM$////	:EBX&	&HHXMM$////94@MM$////	:DAOOH% X& OOH%   6A!H1 .A,I 1I	I$c                    [         R                  n[        R                  " U5      nU R	                  U R
                  R                  U5      S5        U R	                  U R
                  R                  U5      S5        U R	                  U R
                  R                  US-   5      S5        U R	                  U R
                  R                  US-   5      S5        U R	                  U R
                  R                  US-   5      S5        U R	                  U R
                  R                  US-   5      S5         [        U5        U R	                  U R
                  R                  U5      S5        U R	                  U R
                  R                  U5      S5        [         R                  " U5         [        R                  " U5        U R	                  U R
                  R                  U5      S5        U R	                  U R
                  R                  U5      S5        [         R                  " U5        g ! [         R                  " U5        f = f! [         R                  " U5        f = fru   )r   rH   rK   r^   r_   r#   r   r   rJ   rv   rw   ra   s      r   test_isfileGenericTest.test_isfile   s   ##KK)	doo,,X6>doo,,Y7?doo,,X-@A5Idoo,,Y-@A5Idoo,,X->?Gdoo,,Y-@A5I	'!MM$//00:DAMM$//00;TBX&	&HHXMM$//00:EBMM$//00;UCOOH% X& OOH%rz   c                    [         R                  n[         R                  S-   nU R                  [         R                  U5        U R                  [         R                  U5        [	        U5        U R                  U R                  R                  X5      5        [	        U5        U R                  U R                  R                  X5      5        U R                  [        U R                  R                  5        g N2)r   rH   rI   rJ   r   r9   r#   samefileri   r    r!   )r'   file1file2s      r   test_samefileGenericTest.test_samefile   s        3&	((%0	((%0E00>?E11%?@)T__%=%=>rD   c                    [         R                  n[         R                  S-   nU R                  [         R                  U5        U R                  [         R                  U5        [	        U5        U" X#5        U R                  U R                  R                  X#5      5        [        R                  " U5        [	        U5        U R                  U R                  R                  X#5      5        g r   )r   rH   rI   rJ   r   r9   r#   r   rK   rL   ri   r'   functest_fn1test_fn2s       r   _test_samefile_on_link_func'GenericTest._test_samefile_on_link_func   s    ####c)	(((3	(((3HX 00DE
		(H11(EFrD   c                 B    U R                  [        R                  5        g rg   )r   rK   symlinkr'   s    r   test_samefile_on_symlink$GenericTest.test_samefile_on_symlink      ((4rD   linkzrequires os.linkc                      U R                  [        R                  5        g ! [         a  nU R	                  SU-  5         S nAg S nAff = fNzos.link(): %s)r   rK   r   PermissionErrorskipTestr'   es     r   test_samefile_on_link!GenericTest.test_samefile_on_link  =    	/,,RWW5 	/MM/A-..	/   " 
A
AA
c                 t   [         R                  n[         R                  S-   nU R                  [         R                  U5        U R                  [         R                  U5        [	        U5        [
        R                  " U5      nU R                  U R                  R                  U[
        R                  " U5      5      5        [	        U5        [
        R                  " U5      nU R                  U R                  R                  X45      5        U R                  [        U R                  R                  5        g r   )r   rH   rI   rJ   r   rK   statr9   r#   samestatri   r    r!   )r'   r   r   stat1stat2s        r   test_samestatGenericTest.test_samestat  s    ####c)	(((3	(((3H!008IJKH!11%?@)T__%=%=>rD   c                    [         R                  S-   n[         R                  S-   nU R                  [         R                  U5        U R                  [         R                  U5        [	        U5        U" X#5        U R                  U R                  R                  [        R                  " U5      [        R                  " U5      5      5        [        R                  " U5        [	        U5        U R                  U R                  R                  [        R                  " U5      [        R                  " U5      5      5        g )N1r   )r   rH   rI   rJ   r   r9   r#   r   rK   r   rL   ri   r   s       r   _test_samestat_on_link_func'GenericTest._test_samestat_on_link_func  s    ##c)##c)	(((3	(((3HX 001B131BD 	E
		(H11"''(2C24''(2CE 	FrD   c                 B    U R                  [        R                  5        g rg   )r   rK   r   r   s    r   test_samestat_on_symlink$GenericTest.test_samestat_on_symlink.  r   rD   c                      U R                  [        R                  5        g ! [         a  nU R	                  SU-  5         S nAg S nAff = fr   )r   rK   r   r   r   r   s     r   test_samestat_on_link!GenericTest.test_samestat_on_link2  r   r   c                    [         R                  nU R                  [         R                  U5        [	        U5        [        USS5       nUR                  5       n[        USS5       nUR                  5       nU R                  U R                  R                  X55      5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)NrR   r   )
r   rH   rI   rJ   r   r   filenor9   r#   sameopenfile)r'   r   fp1fd1fp2fd2s         r   test_sameopenfileGenericTest.test_sameopenfile9  s    ##	(((3H(D!$**,Cha(Cjjl < <S FG ) %$(( %$s$   	C';B3"C3
C	=C
C N)!r&   
__module____qualname____firstlineno__r   r   r)   rB   rM   rV   rc   unittest
skipUnlesshasattrrK   skipIfr   rl   rr   rx   r|   r   r   r   skip_unless_symlinkr   r   r   r   r   r   r   __static_attributes__r   rD   r   r   r      s!   BJIA>F	@
$DB V,.BC__]$FG4 H D4+&2&2?G ""5 #5 V,.@A/ B/? F  ""5 #5 V,.@A/ B/	HrD   r   c                       \ rS rSr\rS rSrg)TestGenericTestiE  c                    [         R                   GH  nUS:X  a  M  [        U R                  U5      nU R	                  US9   US;   a!  U" S5        U" S5        U" S5        U" S5        OU R                  [        [        45         U" S5        S S S 5        U R                  [        [        45         U" S5        S S S 5        U R                  [        S5         U" S5        S S S 5        U R                  [        S5         U" S5        S S S 5        S S S 5        GM
     g ! , (       d  f       N= f! , (       d  f       N{= f! , (       d  f       Ne= f! , (       d  f       NO= f! , (       d  f       GMa  = f)	Nr   )r(   )r   r   r   u   /tmpabcdss
   /tmpabcdsz
/tmp abcdss
   /tmp abcdszembedded null)r   r   r"   r#   subTestr    OSErrorUnicodeEncodeErrorUnicodeDecodeErrorassertRaisesRegex
ValueError)r'   r(   r   s      r   test_invalid_paths"TestGenericTest.test_invalid_pathsK  s   11D~%4??D1D4(88*+)*))***G5G+HI./ J**G5G+HI-. J//
OL_- M//
OL-. M )( 2 JIIILLLL )(sm   AE"	D#E"1	D/:E"	E !E"?	EE"
D,(E"/
D=9E" 
E
E"
EE""
E2	r   N)r&   r   r   r   genericpathr#   r   r   r   rD   r   r   r   E  s     J/rD   r   c                       \ rS rSr\R
                  / SQ-   rS rS rS r\	R                  " \R                  S5      S 5       rS rS	 rS
 rS rS rS rS rS rS rSrg)
CommonTestid  )curdirpardirextsepseppathsepdefpathaltsepdevnullnormcase
splitdrive
expandvarsnormpathabspathjoinsplitsplitextisabsbasenamedirnamer`   islinkismount
expanduserr   realpathc                 B   U R                   R                  nS H"  nU" U5      nU R                  X!" U5      5        M$     U R                  U" S5      S5        U R                  U" S5      S5        S SSS/ [        S5      SS14 H  nU R	                  [
        X5        M     g )N)z	FoO/./BaRs	   FoO/./BaRr,   rD   Tr   g      @o)r#   r   r8   	bytearrayr    r!   )r'   r   r@   r]   s       r   test_normcaseCommonTest.test_normcaseo  s    ??++,AAQ, - 	"r*#, 4CYs^c#YGDi8 HrD   c                 P   U R                   R                  nU R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S	5      S
5        U R                  U" S5      S5        g )N/foo/bar)r,   r   foo:bar)r,   r   :foo:bar)r,   r      /foo/bar)rD   r      foo:bar)rD   r      :foo:bar)rD   r   )r#   r   r8   )r'   r   s     r   test_splitdriveCommonTest.test_splitdrive}  s    __//
J/1ABI.@J/1ABK02DEJ/1BCK02DErD   c                    U R                   R                  n[        R                  " 5        nUR	                  5         SUS'   SUS'   SUS'   U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S	5      S
5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S
5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S 5      S!5        U R                  U" S"5      S5        U R                  U" S#5      S#5        S S S 5        g ! , (       d  f       g = f)$Nbarfoobaz1z{foobaz2z{foo}z$foo barzbar barz	${foo}barbarbarz	$[foo]barz$bar barz$?barz$foo}barzbar}barz${fooz${{foo}}zbaz1}z$foo$fooz$bar$barrP   s   $foo bars   bar bars	   ${foo}bars   barbars	   $[foo]bars   $bar bars   $?bars   $foo}bars   bar}bars   ${foos   ${{foo}}s   baz1}s   $foo$foos   $bar$bar)r#   r   r   EnvironmentVarGuardclearr8   )r'   r   envs      r   test_expandvarsCommonTest.test_expandvars  s   __//
**,IIKCJ CK!CLZ.6Z
3Y?Z4h?Z4kBZ
3Z@Z0':Z
3Y?Z0':Z
3W=Z
3X>Z
3Z@Z/8Z4jAZ5yAZ5|DZ4kBZ18<Z4jAZ18<Z4h?Z4i@Z4kB7 -,,s   H0I%%
I3zneed os_helper.FS_NONASCIIc                   ^ ^ T R                   R                  mUU 4S jn[        R                  " 5        nUR	                  5         [        R
                  nX2S'   SU-   X#'   U" X35        U" SSU-  5        U" SSU-  5        U" SU-  S	U-  5        U" S
U-  S
U-  5        U" SSU-  5        U" [        R                  " U5      [        R                  " U5      5        U" S[        R                  " SU-  5      5        U" S[        R                  " SU-  5      5        U" [        R                  " SU-  5      [        R                  " S	U-  5      5        U" [        R                  " S
U-  5      [        R                  " S
U-  5      5        U" S[        R                  " SU-  5      5        S S S 5        g ! , (       d  f       g = f)Nc                 6   > TR                  T" U 5      U5        g rg   )r8   )valueexpectedr   r'   s     r   check2CommonTest.test_expandvars_nonascii.<locals>.check  s    Z.9rD   spamhamz	$spam barz%s barz
${spam}barz%sbarz${%s}barzham%sbarz
$bar%s barz	$spam}barz%s}bars	   $spam bars
   ${spam}bars	   $spam}bar)r#   r   r   r   r   FS_NONASCIIrK   r^   )r'   r  r   nonasciir   s   `   @r   test_expandvars_nonascii#CommonTest.test_expandvars_nonascii  sk   __//
	:**,IIK ,,H"K!H,CM(%+x(23,( 23*x'h)>?,)<(+BC+x(23"++h'X)>?,Hx,? @A-Wx-?!@A"++j834++j8346"++lX56++lX568,Hx,? @A' -,,s   E5F33
Gc                    U R                  SU R                  R                  S5      5        [        R                  " 5          [        R
                  " S[        5        U R                  SU R                  R                  S5      5        S S S 5        [        R                  S:X  a  SOSn[        R                  " 5          [        R
                  " S[        5        SSUSS4 H2  nU R                  U R                  R                  U5      [        5        M4     S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)	Nr   ignorerP   win32rD   s   fs   /foos   C:\)assertInr#   r   warningscatch_warningssimplefilterDeprecationWarningsysplatformassertIsInstancebytes)r'   undecodable_pathr]   s      r   test_abspathCommonTest.test_abspath  s    eT__44U;<$$&!!(,>?MM&$//"9"9&"AB '
 #&,,'"93| $$&!!(,>?f&6I%%doo&=&=d&CUK J '& '& '&s   AD=AD0
D-0
D>c                 D   U R                  SU R                  R                  S5      5        [        R                  " 5          [        R
                  " S[        5        U R                  SU R                  R                  S5      5        S S S 5        g ! , (       d  f       g = f)Nr   r  rP   )r  r#   r   r  r  r  r  r   s    r   test_realpathCommonTest.test_realpath  se    eT__55e<=$$&!!(,>?MM&$//":":6"BC '&&s   AB
Bc                 t    S H2  nU R                  U R                  R                  U5      [        5        M4     g )N)r,   ./\z///foo/.//bar//)r  r#   r   strr'   r]   s     r   test_normpath_issue5827"CommonTest.test_normpath_issue5827  s+    ;D!!$//":":4"@#F <rD   c                 l    S H.  nU R                  U R                  R                  U5      U5        M0     g )N)r[   zfoo barz  z foozfoo )r8   r#   r   r#  s     r   test_normpath_issue106242$CommonTest.test_normpath_issue106242  s,    LDT__55d;TB MrD   c                    U R                   R                  nS H  nU R                  U" U5      [        5        M!     Sn [        R
                  " U5        [        R                  " U5         S H  nU R                  U" U5      [        5        M!     S S S 5        g ! , (       d  f       g = f! [        [        4 a     g f = f)N)r,   fuuu   fùùz/fuuzU:\u   çwð)
r#   r   r  r"  rK   r^   r   temp_cwdAttributeErrorr   )r'   r   r]   unicwds       r   test_abspath_issue3426!CommonTest.test_abspath_issue3426  s     //))<D!!'$-5 = 	>KK
 ##F+DD))'$-= E ,++	  23 		s   B+ +&B
B(+B>=B>c                    [         R                  (       a0  [        R                  S;  a  [        (       d  [         R                  nO7[         R
                  (       a  [         R
                  nOU R                  S5        [        R                  " 5          [        R                  " S[        5        [         R                  " W5         U R                  5         S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)N>   wasir  
emscriptenzneed os_helper.TESTFN_NONASCIIr  )r   TESTFN_UNDECODABLEr  r  r   TESTFN_NONASCIIr   r  r  r  r  r+  r  )r'   names     r   test_nonascii_abspath CommonTest.test_nonascii_abspath  s    ((
  % h//D&&,,DMM:;$$&!!(,>?##D)!!# * '&)) '&s$   2C7C&C7&
C4	0C77
Dc                    [         R                  " S[        4SS9   SnU R                  [        U5         U R
                  R                  SS5        S S S 5        U R                  [        U5         U R
                  R                  SS5        S S S 5        U R                  [        S5         U R
                  R                  SS5        S S S 5        U R                  [        S5         U R
                  R                  SS5        S S S 5        U R                  [        S5         U R
                  R                  S5        S S S 5        U R                  [        S	5         U R
                  R                  / 5        S S S 5        U R                  [        S
5         U R
                  R                  [        S5      [        S5      5        S S S 5        S S S 5        g ! , (       d  f       GN= f! , (       d  f       GNa= f! , (       d  f       GN8= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nr,   Tquiet.Can't mix strings and bytes in path components   bytesr"  int*   listr   rP   rQ   )r   check_warningsBytesWarningr   r!   r#   r   r   r'   errmsgs     r   test_join_errorsCommonTest.test_join_errors  s   ++R,>dKEF''	6:$$Xu5 ;''	6:$$UH5 ; ''	59$$R/ :''	59$$UB/ :''	59$$R( :''	6:$$R( ;''	;?$$Yv%6	&8IJ @ LK:::: :99999::?? LKs   IGI0G'I+G9I&HI!H=IH.7I/H?I
G$	I'
G6	1I9
H	I
H	I
H+	'I.
H<	8I?
I		I
Ic                    [         R                  " S[        [        44SS9   SnU R	                  [
        U5         U R                  R                  SS5        S S S 5        U R	                  [
        U5         U R                  R                  SS5        S S S 5        U R	                  [
        S5         U R                  R                  SS5        S S S 5        U R	                  [
        S5         U R                  R                  SS5        S S S 5        U R	                  [
        S	5         U R                  R                  [        S
5      [        S5      5        S S S 5        S S S 5        g ! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N\= f! , (       d  f       g = f)Nr,   Tr9  r;  r<  r"  r=  r>  r   rP   rQ   )	r   r@  rA  r  r   r!   r#   relpathr   rB  s     r   test_relpath_errorsCommonTest.test_relpath_errors  s<   ++l$678FEF''	6:''%8 ;''	6:''x8 ;''	59''E2 :''	59''r2 :''	;?''	&(99V;LM @F F ;:::9999??F Fs   F=E'F=6E9F=1F
F=,F	F='/F,F='
E6	1F=9
F	F=

F	F=
F)	%F=,
F:	6F==
Gc                 L    [        SSSU R                  R                  -   5        g )Nz-Sz-czimport )r   r#   r&   r   s    r   test_importCommonTest.test_import+  s    tY1I1I%IJrD   r   N)r&   r   r   r   r   r   r   r   r   r   r   r   r  r
  r  r  r$  r'  r.  r6  rD  rH  rK  r   r   rD   r   r   r   d  s    #55 9 9	FC> ..0LMB NB2LDG
C>$$,K(N KrD   r   c                   P    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rSrg)PathLikeTestsi/  c                     [         R                  U l        [        [         R                  5      U l        U R                  [         R                  U R                  5        [        U R                  S5        g )Ns   test_genericpath.PathLikeTests)r   rH   	file_namer   	file_pathrI   rJ   r   r   s    r   setUpPathLikeTests.setUp1  sH    "))!)"2"23	(($..9DNN$EFrD   c                 h    U R                  U" U R                  5      U" U R                  5      5        g rg   )r8   rQ  rP  )r'   r   s     r   assertPathEqualPathLikeTests.assertPathEqual7  s$    dnn-tDNN/CDrD   c                 V    U R                  [        R                  R                  5        g rg   )rU  rK   r]   r   r   s    r   test_path_existsPathLikeTests.test_path_exists:      RWW^^,rD   c                 V    U R                  [        R                  R                  5        g rg   )rU  rK   r]   r   r   s    r   test_path_isfilePathLikeTests.test_path_isfile=  rZ  rD   c                 V    U R                  [        R                  R                  5        g rg   )rU  rK   r]   r   r   s    r   test_path_isdirPathLikeTests.test_path_isdir@  s    RWW]]+rD   c                     U R                  [        R                  R                  U R                  U R
                  /5      U R
                  5        g rg   )r8   rK   r]   r   rQ  rP  r   s    r   test_path_commonprefix$PathLikeTests.test_path_commonprefixC  s5    --t~~t~~.NO	)rD   c                 V    U R                  [        R                  R                  5        g rg   )rU  rK   r]   r   r   s    r   test_path_getsizePathLikeTests.test_path_getsizeG  s    RWW__-rD   c                 V    U R                  [        R                  R                  5        g rg   )rU  rK   r]   r   r   s    r   test_path_getmtime PathLikeTests.test_path_getmtimeJ      RWW--.rD   c                 V    U R                  [        R                  R                  5        g rg   )rU  rK   r]   r   r   s    r   test_path_getctime PathLikeTests.test_path_getctimeM  rj  rD   c                     U R                  [        R                  R                  U R                  U R
                  5      5        g rg   )r9   rK   r]   r   rQ  rP  r   s    r   test_path_samefile PathLikeTests.test_path_samefileP  s'    ((HIrD   )rP  rQ  N)r&   r   r   r   rR  rU  rX  r\  r_  rb  re  rh  rl  ro  r   r   rD   r   rN  rN  /  s7    GE--,).//JrD   rN  __main__)rP   )r   rK   r  r   r  test.supportr   r   r   r   test.support.script_helperr   test.support.os_helperr   r   r   TestCaser   r   rN  r&   mainr   rD   r   <module>rw     s   
  	 
    8 +
lH lH^	/k8#4#4 />HK HKV"JH%% "JJ zMMO rD   