
    daf
                         d dl Z d dlZd dlZd dlZd dlmZmZ  ej                  ddg      Z G d dej                        Z
y)    N)import_helper	os_helper_winapiwin)required_onc                       e Zd Zd Zd Zd Zy)WinAPITestsc                 <   t        j                  t        j                  d            j                  d   dz  }t        j
                  j                  |      st        j                  d      | j                  t              5  t        j                  |       d d d        t        j                  t        j                  |            }t        |j                  j!                  d            }| j#                  t        j                  |      |       y # 1 sw Y   {xY w)NProgramFileszPROGRA~1zrequire x:\PROGRA~1 to testzProgra*)pathlibPathosgetenvparentspathisdirunittestSkipTestassertRaises	TypeErrorr   GetLongPathNamefsdecodesetparentglobassertIn)selftestfnactual
candidatess       +/root/Python-3.12.4/Lib/test/test_winapi.pytest_getlongpathnamez WinAPITests.test_getlongpathname   s    bii78@@DzQww}}V$##$BCC y) 	,##F+	, ((V)<= ++I67
gll6*J7	, 	,s   DDc                    t        j                  t        j                  d            }t        j                  j                  |      st        j                  d      | j                  t              5  t        j                  |       d d d        t        j                  t        j                  |            }| j                  t        j                  d|j!                               |       y # 1 sw Y   fxY w)Nr   z require '%ProgramFiles%' to testz.\:\\PROGRA~\d)r   r   r   r   r   r   r   r   r   r   r   GetShortPathNamer   assertIsNotNonerematchupper)r   r   r    s      r"   test_getshortpathnamez!WinAPITests.test_getshortpathname   s    bii78ww}}V$##$FGG y) 	-$$V,	- ))"++f*=> 	RXX&7H&Q	- 	-s   2C--C6c           
         dt         j                   }| j                  t              5  t        j                  |d       d d d        t        j                  |t        j                  dddddd      }| j                  t        j                  |       t        j                  |d       t        |d      5 }| j                  t              5  t        j                  |d       d d d        t        j                  |d       | j                  d|j                  d             | j                  dt        j                  |d      d d        |j!                  d       |j#                          | j                  d	t        j                  |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   y xY w)
Nz\\.\pipe\LOCAL\r             zw+b   testdata)    r   )r/   r,   )r   TESTFNr   FileNotFoundErrorr   WaitNamedPipeCreateNamedPipePIPE_ACCESS_DUPLEX
addCleanupCloseHandleopenOSError	WriteFileassertEqualreadPeekNamedPipewriteflush)r   	pipe_namepipepipe2s       r"   test_namedpipezWinAPITests.test_namedpipe*   s   &y'7'7&89	 01 	0!!)Q/	0 &&&&Aq 	++T2 	i+)U# 	Su ""7+ 4%%i34 dK0[%**Q-8Xw'<'<T1'Ebq'IJKK$KKM-w/D/DT1/Mbq/QR	S 	S	0 	0"4 4	S 	Ss0   F4F5
F)!B2F5F&)F2	.F55F>N)__name__
__module____qualname__r#   r*   rC    r0   r"   r	   r	      s    8 RSr0   r	   )r   r   r'   r   test.supportr   r   import_moduler   TestCaser	   rG   r0   r"   <module>rK      s@    
  	  1
%-
%
%ieW
E=S(## =Sr0   