a  ze@sdZddlZddlZddlZejdkr0edddlZddlZddlZddlm Z ddl m Z ddZ Gd d d ej ZGd d d ej Zed kredS)zTests for window_utilsNwin32z Windows only) windows_utils)supportcCstddS)N)asyncioZset_event_loop_policyrrX/opt/bitninja-python-dojo/embedded/lib/python3.9/test/test_asyncio/test_windows_utils.pytearDownModulesrc@seZdZddZddZdS) PipeTestsc Cstjdd\}}zZt}||j||jd||d| |j||jt j d}z | Wn2t y}z||j|WYd}~nd}~00tdt}||j||jd||d||jdt j ht |jgdd}||t j||j||j|||j||jdt j h|| dWt |t |nt |t |0dS) NTTZ overlappedrdizexpected ERROR_IO_INCOMPLETEshelloF)rpipe _overlapped Overlapped assertFalsepending assertEqualerrorReadFile assertTrue_winapiZERROR_IO_PENDING getresultOSErrorwinerror RuntimeError WriteFileZassertInWaitForMultipleObjectsevent WAIT_OBJECT_0 CloseHandle)selfZh1Zh2Zov1ZERROR_IO_INCOMPLETEeZov2resrrrtest_pipe_overlappeds<    $      zPipeTests.test_pipe_overlappedc Cstjdd\}}t|t|}|||||j|t (t ddt ~t Wdn1sx0Yzt|Wn2ty}z||jdWYd}~nd}~00tddS)Nr r ignorezexpected ERROR_INVALID_HANDLE)rr rr PipeHandlerfilenohandlewarningscatch_warningsfilterwarningsResourceWarningr gc_collectrrr)r h_pr!rrrtest_pipe_handle=s   &$zPipeTests.test_pipe_handleN)__name__ __module__ __qualname__r#r2rrrrr s%r c@seZdZddZdS) PopenTestsc Csd}d}tjtjd|gtjtjtjd}|j|j|jfD]}||tj q8t }t }t }| |jj |||jj d||jj d|j|j|jg}t|dttjd} || tj||j||j||j||t||} |} |t| d|t| d||| |d | |Wdn1s~0YdS) Nzif 1: import sys s = sys.stdin.readline() sys.stdout.write(s.upper()) sys.stderr.write('stderr') sblah z-c)stdinstdoutstderrr Tirsstderr) rPopensys executablePIPEr7r8r9ZassertIsInstancer'rrrr)rrrrintrZ SHORT_TIMEOUTrrrrrlenrstripZ assertGreaterrupper startswith) r Zcommandmsgr1fZovinZovoutZoverreventsr"outerrrrr test_popenSs@      zPopenTests.test_popenN)r3r4r5rHrrrrr6Qsr6__main__)__doc__r;Zunittestr*platformZSkipTestrrrrtestrrZTestCaser r6r3mainrrrrs    ;3