
    dafY                     "   d Z ddlZddlZddlZddlZddlZddlmZ ddlmZ ddlm	Z	 ddl
mZ ddlmZ ddZ G d	 d
      Z G d deej                         Z G d de      Z G d dej                         Zedk(  r ej*                          yy)z3
Tests common to genericpath, ntpath and posixpath
    N)is_emscripten)	os_helper)warnings_helper)assert_python_ok)FakePathc                 j    t        | dd      5 }|j                  |       d d d        y # 1 sw Y   y xY w)Nxbr   )openwrite)filenamedatafps      0/root/Python-3.12.4/Lib/test/test_genericpath.pycreate_filer      s0    	ha	  B
  s   )2c                      e Zd Zg dZg Zd Zd Zd Zd Zd Z	 e
j                   eed      d       e
j                  ed	      d
               Zd Zd Zd Zd Zej,                  d        Z e
j                   eed      d      d        Zd Zd Zej,                  d        Z e
j                   eed      d      d        Zd Zy)GenericTest)commonprefixgetsizegetatimegetctimegetmtimeexistsisdirisfilec                 "   | j                   | j                  z   D ]g  }| j                  t              5   t	        | j
                  |              | j                  dj                  | j
                  j                  |             y # 1 sw Y   txY w)Nz!{}.{}() did not raise a TypeError)	common_attributes
attributesassertRaises	TypeErrorgetattr
pathmodulefailformat__name__)selfattrs     r   test_no_argumentzGenericTest.test_no_argument   s    **T__< 	ID""9- I..0ii C!'(@(@$!GI I	II Is   ABB	c           	         | j                   j                  }| j                   |g       d       | j                   |ddg      d       | j                   |ddg      d       | j                   |ddg      d       | j                   |ddg      d	       | j                   |d
dg      d       | j                   |d
d
g      d
       | j                   |ddg      d       | j                   |ddg      d       | j                   |ddg      d       | j                   |ddg      d       | j                   |ddg      d       | j                   |ddg      d       g d}|D ]  }|D ]{  } |||g      }| j                  |j	                  |             | j                  |j	                  |             ||k7  sSt        |      }| j                  |||dz    |||dz           }  y )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_commonprefixzGenericTest.test_commonprefix"   sS   33	
 	.0ABC	
 	+->?@	
 	+->?@	
 	-/?@A	
 	+->?@	
 	+->?@	

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

6 	>B > "b*a 01a 018AA''1QqS	2a!9=>	>    c                 j   t         j                  }| j                  t         j                  |       t	        |d       | j                  | j                  j                  |      d       t        j                  |       t	        |d       | j                  | j                  j                  |      d       y )Ns   Hello   s   Hello World!   )
r   TESTFN
addCleanupunlinkr   r5   r!   r   osremove)r%   r   s     r   test_getsizezGenericTest.test_getsizee   s    ##	(((3Hh'00:A>
		(Ho.00:B?r@   c                    t         j                  }| j                  t         j                  |       t	        |d       t        |dd      5 }|j                  d       d d d        t        |dd      5 }|j                         }d d d        | j                  d       | j                  | j                  j                  |      | j                  j                  |             y # 1 sw Y   xY w# 1 sw Y   lxY w)N   foor1   r      barrbs   foobar)r   rD   rE   rF   r   r
   r   readr5   assertLessEqualr!   r   r   )r%   r   fr   s       r   test_filetimezGenericTest.test_filetimep   s    ##	(((3Hf%(D!$ 	GGFO	 (D!$ 	668D	y)OO$$X.OO$$X.	
	 		 	s   
C!1C-!C*-C6c                    t         j                  }t        j                  |      }| j	                  t         j
                  |       | j                  | j                  j                  |      d       | j                  | j                  j                  |      d       | j                  t        urV| j                  | j                  j                  |      d       | j                  | j                  j                  |      d       t        |       | j                  | j                  j                  |      d       | j                  | j                  j                  |      d       | j                  | j                  j                  |dz         d       | j                  | j                  j                  |dz         d       | j                  | j                  j                  |dz         d       | j                  | j                  j                  |dz         d       | j                  t        ur| j                  | j                  j                  |      d       | j                  | j                  j                  |      d       | j                  | j                  j                  |dz         d       | j                  | j                  j                  |dz         d       | j                  | j                  j                  |dz         d       | j                  | j                  j                  |dz         d       y y )NFT           )r   rD   rG   fsencoderE   rF   assertIsr!   r   genericpathlexistsr   r%   r   	bfilenames      r   test_existszGenericTest.test_exists   sL   ##KK)		(((3doo,,X6>doo,,Y7???+-MM$//11(;UCMM$//11)<eDHdoo,,X6=doo,,Y7>doo,,X-@A5Idoo,,Y-@A5Idoo,,X->?Gdoo,,Y-@A5I??+-MM$//11(;TBMM$//11)<dCMM$//11(X2EFNMM$//11)g2EFNMM$//11(V2CDeLMM$//11)g2EFN .r@   pipezrequires os.pipe()z Emscripten pipe fds have no statc                    t        j                         \  }}	 | j                  | j                  j	                  |             t        j
                  |       t        j
                  |       | j                  | j                  j	                  |             y # t        j
                  |       t        j
                  |       w xY wN)rG   r^   r6   r!   r   closeassertFalse)r%   rws      r   test_exists_fdzGenericTest.test_exists_fd   s     wwy1	OODOO22156HHQKHHQK//23 HHQKHHQKs   *B ,Cc                    t         j                  }t        j                  |      }| j	                  | j
                  j                  |      d       | j	                  | j
                  j                  |      d       | j	                  | j
                  j                  |dz         d       | j	                  | j
                  j                  |dz         d       | j	                  | j
                  j                  |dz         d       | j	                  | j
                  j                  |dz         d       	 t        |       | j	                  | j
                  j                  |      d       | j	                  | j
                  j                  |      d       t        j                  |       	 t        j                  |       | j	                  | j
                  j                  |      d       | j	                  | j
                  j                  |      d       t        j                  |       y # t        j                  |       w xY w# t        j                  |       w xY wNFrS   rT   rU   rV   T)r   rD   rG   rW   rX   r!   r   r   rF   mkdirrmdirr[   s      r   
test_isdirz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%   5A!H- ,A+I -IIc                    t         j                  }t        j                  |      }| j	                  | j
                  j                  |      d       | j	                  | j
                  j                  |      d       | j	                  | j
                  j                  |dz         d       | j	                  | j
                  j                  |dz         d       | j	                  | j
                  j                  |dz         d       | j	                  | j
                  j                  |dz         d       	 t        |       | j	                  | j
                  j                  |      d       | j	                  | j
                  j                  |      d       t        j                  |       	 t        j                  |       | j	                  | j
                  j                  |      d       | j	                  | j
                  j                  |      d       t        j                  |       y # t        j                  |       w xY w# t        j                  |       w xY wrg   )r   rD   rG   rW   rX   r!   r   r   rF   rh   ri   r[   s      r   test_isfilez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%rk   c                    t         j                  }t         j                  dz   }| j                  t         j                  |       | j                  t         j                  |       t	        |       | j                  | j                  j                  ||             t	        |       | j                  | j                  j                  ||             | j                  t        | j                  j                         y N2)r   rD   rE   rF   r   r6   r!   samefilerb   r   r   )r%   file1file2s      r   test_samefilezGenericTest.test_samefile   s        3&	((%0	((%0E00>?E11%?@)T__%=%=>r@   c                    t         j                  }t         j                  dz   }| j                  t         j                  |       | j                  t         j                  |       t	        |        |||       | j                  | j                  j                  ||             t        j                  |       t	        |       | j                  | j                  j                  ||             y ro   )r   rD   rE   rF   r   r6   r!   rq   rG   rH   rb   r%   functest_fn1test_fn2s       r   _test_samefile_on_link_funcz'GenericTest._test_samefile_on_link_func   s    ####c)	(((3	(((3HXx 008DE
		(H11(HEFr@   c                 B    | j                  t        j                         y r`   )rz   rG   symlinkr%   s    r   test_samefile_on_symlinkz$GenericTest.test_samefile_on_symlink       ((4r@   linkzrequires os.linkc                     	 | j                  t        j                         y # t        $ r}| j	                  d|z         Y d }~y d }~ww xY wNzos.link(): %s)rz   rG   r   PermissionErrorskipTestr%   es     r   test_samefile_on_linkz!GenericTest.test_samefile_on_link   =    	/,,RWW5 	/MM/A-..	/   " 	A	AA	c                 p   t         j                  }t         j                  dz   }| j                  t         j                  |       | j                  t         j                  |       t	        |       t        j                  |      }| j                  | j                  j                  |t        j                  |                   t	        |       t        j                  |      }| j                  | j                  j                  ||             | j                  t        | j                  j                         y ro   )r   rD   rE   rF   r   rG   statr6   r!   samestatrb   r   r   )r%   rx   ry   stat1stat2s        r   test_samestatzGenericTest.test_samestat  s    ####c)	(((3	(((3H!008IJKH!11%?@)T__%=%=>r@   c                 |   t         j                  dz   }t         j                  dz   }| j                  t         j                  |       | j                  t         j                  |       t	        |        |||       | j                  | j                  j                  t        j                  |      t        j                  |                   t        j                  |       t	        |       | j                  | j                  j                  t        j                  |      t        j                  |                   y )N1rp   )r   rD   rE   rF   r   r6   r!   r   rG   r   rH   rb   rv   s       r   _test_samestat_on_link_funcz'GenericTest._test_samestat_on_link_func  s    ##c)##c)	(((3	(((3HXx 001B131BD 	E
		(H11"''(2C24''(2CE 	Fr@   c                 B    | j                  t        j                         y r`   )r   rG   r|   r}   s    r   test_samestat_on_symlinkz$GenericTest.test_samestat_on_symlink&  r   r@   c                     	 | j                  t        j                         y # t        $ r}| j	                  d|z         Y d }~y d }~ww xY wr   )r   rG   r   r   r   r   s     r   test_samestat_on_linkz!GenericTest.test_samestat_on_link*  r   r   c                    t         j                  }| j                  t         j                  |       t	        |       t        |dd      5 }|j                         }t        |dd      5 }|j                         }| j                  | j                  j                  ||             d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)NrM   r   )
r   rD   rE   rF   r   r
   filenor6   r!   sameopenfile)r%   r   fp1fd1fp2fd2s         r   test_sameopenfilezGenericTest.test_sameopenfile1  s    ##	(((3H(D!$ 	H**,Cha( HCjjl < <S# FGH	H 	HH H	H 	Hs$   	C '<B4#C 4B=	9C  C	N)r$   
__module____qualname__r   r   r'   r?   rI   rQ   r]   unittest
skipUnlesshasattrrG   skipIfr   re   rj   rm   rt   rz   r   skip_unless_symlinkr~   r   r   r   r   r   r    r@   r   r   r      s#   BJIA>F	@
$O> XV,.BCX__]$FG4 H D4&2&2?G ""5 #5 XV,.@A/ B/? F  ""5 #5 XV,.@A/ B/	Hr@   r   c                       e Zd ZeZd Zy)TestGenericTestc                    t         j                  D ]  }|dk(  r
t        | j                  |      }| j	                  |      5  |dv r! |d        |d        |d        |d       n| j                  t        t        f      5   |d       d d d        | j                  t        t        f      5   |d       d d d        | j                  t        d      5   |d       d d d        | j                  t        d      5   |d       d d d        d d d         y # 1 sw Y   xY w# 1 sw Y   oxY w# 1 sw Y   TxY w# 1 sw Y   9xY w# 1 sw Y   DxY w)	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&   rw   s      r   test_invalid_pathsz"TestGenericTest.test_invalid_pathsC  sE   11 	/D~%4??D1D4( /88*+)*))***G5G+HI 0./0**G5G+HI /-.///
OL ._-.//
OL /-.// /	/0 0/ /. ./ // /sm   AE	D#E0	D'9E	D3 E>	D?ED$ E'D0,E3D<8E?EEE	N)r$   r   r   rY   r!   r   r   r@   r   r   r   =  s     J/r@   r   c                       e Zd Zej                  g dz   Zd Zd Zd Z ej                  e
j                  d      d        Zd Zd Zd	 Zd
 Zd Zd Zd Zd Zd Zy)
CommonTest)curdirpardirextsepseppathsepdefpathaltsepdevnullnormcase
splitdrive
expandvarsnormpathabspathjoinsplitsplitextisabsbasenamedirnamerZ   islinkismount
expanduserr   realpathc                 >   | j                   j                  }dD ]"  } ||      }| j                  | ||             $ | j                   |d      d       | j                   |d      d       d dddg t        d      ddhfD ]  }| j	                  t
        ||        y )N)z	FoO/./BaRs	   FoO/./BaRr)   r@   Tr   g      @o)r!   r   r5   	bytearrayr   r   )r%   r   r=   paths       r   test_normcasezCommonTest.test_normcaseg  s    ??++, 	-AAQ,	- 	"r*#, 4CYs^c#YG 	9Di48	9r@   c                 P   | j                   j                  }| j                   |d      d       | j                   |d      d       | j                   |d      d       | j                   |d      d       | j                   |d	      d
       | j                   |d      d       y )N/foo/bar)r)   r   foo:bar)r)   r   :foo:bar)r)   r      /foo/bar)r@   r      foo:bar)r@   r      :foo:bar)r@   r   )r!   r   r5   )r%   r   s     r   test_splitdrivezCommonTest.test_splitdriveu  s    __//
J/1ABI.@J/1ABK02DEJ/1BCK02DEr@   c                    | j                   j                  }t        j                         5 }|j	                          d|d<   d|d<   d|d<   | j                   |d      d       | j                   |d      d       | j                   |d	      d
       | j                   |d      d       | j                   |d      d       | j                   |d      d       | j                   |d      d       | j                   |d      d       | j                   |d      d       | j                   |d      d
       | j                   |d      d       | j                   |d      d       | j                   |d      d       | j                   |d      d       | j                   |d      d       | j                   |d      d       | j                   |d      d       | j                   |d      d       | j                   |d      d       | j                   |d       d!       | j                   |d"      d       | j                   |d#      d#       d d d        y # 1 sw Y   y xY w)$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$barrK   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clearr5   )r%   r   envs      r   test_expandvarszCommonTest.test_expandvars  s*   __//
**, 	C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	C 	C 	Cs   H0I$$I-zneed os_helper.FS_NONASCIIc                 n     j                   j                   fd}t        j                         5 }|j	                          t        j
                  }||d<   d|z   ||<    |||        |dd|z          |dd|z          |d|z  d	|z          |d
|z  d
|z          |dd|z          |t        j                  |      t        j                  |              |dt        j                  d|z                |dt        j                  d|z                |t        j                  d|z        t        j                  d	|z                |t        j                  d
|z        t        j                  d
|z                |dt        j                  d|z               d d d        y # 1 sw Y   y xY w)Nc                 6    j                   |       |       y r`   )r5   )valueexpectedr   r%   s     r   checkz2CommonTest.test_expandvars_nonascii.<locals>.check  s    Z.9r@   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_NONASCIIrG   rW   )r%   r   r   nonasciir   s   `   @r   test_expandvars_nonasciiz#CommonTest.test_expandvars_nonascii  s~   __//
	:**, 	BIIK ,,H"CK!H,CM(H%+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'	B 	B 	Bs   E/F++F4c                 b   | j                  d| j                  j                  d             t        j                         5  t        j
                  dt               | j                  d| j                  j                  d             d d d        t        j                  dk(  rdnd}t        j                         5  t        j
                  dt               dd|ddfD ]1  }| j                  | j                  j                  |      t               3 	 d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)	Nr   ignorerK   win32r@   s   fs   /foos   C:\)assertInr!   r   warningscatch_warningssimplefilterDeprecationWarningsysplatformassertIsInstancebytes)r%   undecodable_pathr   s      r   test_abspathzCommonTest.test_abspath  s   eT__44U;<$$& 	C!!(,>?MM&$//"9"9&"AB	C
 #&,,'"93| $$& 	L!!(,>?f&6I L%%doo&=&=d&CUKL	L 	L	C 	C	L 	Ls    AD9AD%D"%D.c                 6   | j                  d| j                  j                  d             t        j                         5  t        j
                  dt               | j                  d| j                  j                  d             d d d        y # 1 sw Y   y xY w)Nr   r   rK   )r   r!   r   r   r   r   r   r}   s    r   test_realpathzCommonTest.test_realpath  sr    eT__55e<=$$& 	D!!(,>?MM&$//":":6"BC	D 	D 	Ds    ABBc                 p    dD ]1  }| j                  | j                  j                  |      t               3 y )N)r)   ./\z///foo/.//bar//)r   r!   r   strr%   r   s     r   test_normpath_issue5827z"CommonTest.test_normpath_issue5827  s2    ; 	GD!!$//":":4"@#F	Gr@   c                 h    dD ]-  }| j                  | j                  j                  |      |       / y )N)rU   zfoo barz  z foozfoo )r5   r!   r   r   s     r   test_normpath_issue106242z$CommonTest.test_normpath_issue106242  s2    L 	CDT__55d;TB	Cr@   c                 l   | j                   j                  }dD ]  }| j                   ||      t                 d}	 t	        j
                  |       t        j                  |      5  dD ]  }| j                   ||      t                 	 d d d        y # 1 sw Y   y xY w# t        t        f$ r Y y w xY w)N)r)   fuuu   fùùz/fuuzU:\u   çwð)
r!   r   r   r   rG   rW   r   temp_cwdAttributeErrorr   )r%   r   r   unicwds       r   test_abspath_issue3426z!CommonTest.test_abspath_issue3426  s     //))< 	6D!!'$-5	6 	>KK
 ##F+ >D >D))'$-=>> > >	  23 		s   B! '$BB!B32B3c                    t         j                  r#t        j                  dvrt         j                  }n2t         j                  rt         j                  }n| j                  d       t        j                         5  t        j                  dt               t        j                        5  | j                          d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)N)r   darwin
emscriptenwasizneed os_helper.TESTFN_NONASCIIr   )r   TESTFN_UNDECODABLEr   r   TESTFN_NONASCIIr   r   r   r   r   r  r   )r%   names     r   test_nonascii_abspathz CommonTest.test_nonascii_abspath  s    ((
 LL II//D&&,,DMM:;$$& 	$!!(,>?##D) $!!#$	$ 	$$ $	$ 	$s$   :0C*C;CC	CC!c                 t   t        j                  dt        fd      5  d}| j                  t        |      5  | j
                  j                  dd       d d d        | j                  t        |      5  | j
                  j                  dd       d d d        | j                  t        d      5  | j
                  j                  dd       d d d        | j                  t        d      5  | j
                  j                  dd       d d d        | j                  t        d      5  | j
                  j                  d       d d d        | j                  t        d	      5  | j
                  j                  g        d d d        | j                  t        d
      5  | j
                  j                  t        d      t        d             d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   WxY w# 1 sw Y   )xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   ]xY w# 1 sw Y   y xY w)Nr)   Tquiet.Can't mix strings and bytes in path components   bytesr   int*   listr   rK   rL   )r   check_warningsBytesWarningr   r   r!   r   r   r%   errmsgs     r   test_join_errorszCommonTest.test_join_errors  s   ++R,>dK 	KEF''	6: 6$$Xu56''	6: 6$$UH56 ''	59 0$$R/0''	59 0$$UB/0''	59 )$$R()''	6: )$$R()''	;? K$$Yv%6	&8IJK	K 	K6 66 60 00 0) )) )K K	K 	Ks   H.GH.2G$H.-G1
H.(G>H.#H
?H.H9H./H"H.G!	H.$G.	)H.1G;	6H.>H	H.
H	H.H	H."H+	'H..H7c                 d   t        j                  dt        t        ffd      5  d}| j	                  t
        |      5  | j                  j                  dd       d d d        | j	                  t
        |      5  | j                  j                  dd       d d d        | j	                  t
        d      5  | j                  j                  dd       d d d        | j	                  t
        d      5  | j                  j                  dd       d d d        | j	                  t
        d	      5  | j                  j                  t        d
      t        d             d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   CxY w# 1 sw Y   y xY w)Nr)   Tr  r  r  r   r  r  r   rK   rL   )	r   r  r  r   r   r   r!   relpathr   r  s     r   test_relpath_errorszCommonTest.test_relpath_errors  sp   ++l$678F 	NEF''	6: 9''%89''	6: 9''x89''	59 3''E23''	59 3''r23''	;? N''	&(99V;LMN	N 	N9 99 93 33 3N N	N 	Ns   F&E)F&8E6F&3FF&.FF&)/FF&)E3	.F&6E?	;F&F	F&F	F&F#	F&&F/c                 L    t        ddd| j                  j                  z          y )Nz-Sz-czimport )r   r!   r$   r}   s    r   test_importzCommonTest.test_import  s    tY1I1I%IJr@   N)r$   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r	  r  r  r!  r#  r   r@   r   r   r   \  s    #55 9 9	FC> X..0LMB NB2LDG
C>$$$K(N Kr@   r   c                   H    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zy)PathLikeTestsc                     t         j                  | _        t        t         j                        | _        | j                  t         j                  | j                         t        | j                  d       y )Ns   test_genericpath.PathLikeTests)r   rD   	file_namer   	file_pathrE   rF   r   r}   s    r   setUpzPathLikeTests.setUp%  sH    "))!)"2"23	(($..9DNN$EFr@   c                 h    | j                   || j                         || j                               y r`   )r5   r(  r'  )r%   rw   s     r   assertPathEqualzPathLikeTests.assertPathEqual+  s$    dnn-tDNN/CDr@   c                 V    | j                  t        j                  j                         y r`   )r+  rG   r   r   r}   s    r   test_path_existszPathLikeTests.test_path_exists.      RWW^^,r@   c                 V    | j                  t        j                  j                         y r`   )r+  rG   r   r   r}   s    r   test_path_isfilezPathLikeTests.test_path_isfile1  r.  r@   c                 V    | j                  t        j                  j                         y r`   )r+  rG   r   r   r}   s    r   test_path_isdirzPathLikeTests.test_path_isdir4  s    RWW]]+r@   c                     | j                  t        j                  j                  | j                  | j
                  g      | j
                         y r`   )r5   rG   r   r   r(  r'  r}   s    r   test_path_commonprefixz$PathLikeTests.test_path_commonprefix7  s5    --t~~t~~.NO	)r@   c                 V    | j                  t        j                  j                         y r`   )r+  rG   r   r   r}   s    r   test_path_getsizezPathLikeTests.test_path_getsize;  s    RWW__-r@   c                 V    | j                  t        j                  j                         y r`   )r+  rG   r   r   r}   s    r   test_path_getmtimez PathLikeTests.test_path_getmtime>      RWW--.r@   c                 V    | j                  t        j                  j                         y r`   )r+  rG   r   r   r}   s    r   test_path_getctimez PathLikeTests.test_path_getctimeA  r9  r@   c                     | j                  t        j                  j                  | j                  | j
                               y r`   )r6   rG   r   rq   r(  r'  r}   s    r   test_path_samefilez PathLikeTests.test_path_samefileD  s'    ((HIr@   N)r$   r   r   r)  r+  r-  r0  r2  r4  r6  r8  r;  r=  r   r@   r   r%  r%  #  s7    GE--,).//Jr@   r%  __main__)rK   )__doc__rY   rG   r   r   r   test.supportr   r   r   test.support.script_helperr   test.support.os_helperr   r   r   TestCaser   r   r%  r$   mainr   r@   r   <module>rE     s     	 
   & " ( 7 +
dH dHN	/k8#4#4 />DK DKN"JH%% "JJ zHMMO r@   