Your IP : 216.73.216.213


Current Path : /opt/alt/python33/lib64/python3.3/test/__pycache__/
Upload File :
Current File : //opt/alt/python33/lib64/python3.3/test/__pycache__/test_signal.cpython-33.pyc

�
��f[~c
@s�ddlZddlmZddlmZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlmZmZyddlZWnek
r�eZYnXejddfkrejdej��nGdd	�d	e�Zd
d�Zdd
�Zejejdkd�Gdd�dej��Zejejdkd�Gdd�dej��Zej ejdkd�Gdd�dej��Z!Gdd�dej�Z"ejejdkd�Gdd�dej��Z#ejejdkd�Gdd�dej��Z$ejejdkd�Gdd�dej��Z%Gdd �d ej�Z&d!d"�Z'e(d#kr�e'�ndS($iN(usupport(uclosing(uassert_python_okuspawn_pythonuos2uriscosuCan't test signal on %scBs|EeZdZdS(uHandlerBCalledN(u__name__u
__module__u__qualname__(u
__locals__((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyuHandlerBCalledsuHandlerBCalledcCstjd�dS(u�Use os._exit(0) to exit the current subprocess.

    Otherwise, the test catches the SystemExit and continues executing
    in parallel with the original test, so you wind up with an
    exponential number of tests running concurrently.
    iN(uosu_exit(((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyuexit_subprocesssuexit_subprocesscOsYy|||�SWnAtk
rT}z!|jtjkr>�ndSWYdd}~XnXdS(N(uEnvironmentErroruerrnouEINTRuNone(u__funcuargsukwargsue((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyuignoring_eintr$suignoring_eintruwin32uNot valid on WindowscBs�|EeZdZdZdd�Zdd�Zddd�Zdd	�Zd
d�Z	dd
�Z
dd�Zej
ejdkd�dd��ZdS(uInterProcessSignalTestsicCstj�|_tj�dS(N(ugcu	isenableduusing_gcudisable(uself((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyusetUp1suInterProcessSignalTests.setUpcCs|jrtj�ndS(N(uusing_gcugcuenable(uself((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyutearDown5s	u InterProcessSignalTests.tearDowncCsdjtj|d|��S(Nuulimit(ujoinu	tracebackuformat_stack(uselfuframeulimit((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyuformat_frame9su$InterProcessSignalTests.format_framecCs
d|_dS(NT(uTrueua_called(uselfusignumuframe((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyuhandlerA<su InterProcessSignalTests.handlerAcCs%d|_t||j|���dS(NT(uTrueub_calleduHandlerBCalleduformat_frame(uselfusignumuframe((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyuhandlerB?s	u InterProcessSignalTests.handlerBcCs\xUy|j�dSWqtk
rT}z|jtjkrB�nWYdd}~XqXqdS(u)Wait for child to finish, ignoring EINTR.N(uwaituOSErroruerrnouEINTR(uselfuchildue((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyuwaitCs
uInterProcessSignalTests.waitcCstjtj|j�tjtj|j�tjtjtj�tjtjtj�d	|_
d	|_tj
�}ttjddt|�g�}|r�|j|�|j
s�tjd�q�n|j|j
�|j|j�d	|_
~yItjddt|�g�}|j|�tjd�|jd�Wn2tk
ro|j|j�|j|j
�YnXttjddt|�g�}|r�|j|�ny(tjd�tj�tjd�Wn0tk
r�Yn,|jdtj��YnX|jd�dS(
Nukillu-HUPiu-USR1u#HandlerBCalled exception not raisedu-USR2u+Some other exception woke us from pause: %suTpause returned of its own accord, and the signal didn't arrive after another second.F(usignaluSIGHUPuhandlerAuSIGUSR1uhandlerBuSIGUSR2uSIG_IGNuSIGALRMudefault_int_handleruFalseua_calledub_calleduosugetpiduignoring_eintru
subprocessuPopenustruwaitutimeusleepu
assertTrueuassertFalseufailuHandlerBCalledualarmupauseuKeyboardInterruptu	tracebacku
format_exc(uselfupiduchild((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyurun_testMsJ		!
		


!


	u InterProcessSignalTests.run_testufreebsd6uOinter process signals not reliable (do not mix well with threading) on freebsd6c
+Cs�tj�\}}ttj|d���]}ttj|d���<}tj�}|dkr�z�y`|j�t|��Dy|j�Wntjt	j
�|�YnXtjd|�WdQXWntd�t	j
�YnXWdt�Xn|j�tj|ggg|j�\}}}||krVtj|�}	|	r}|j|	�q}n'tj|tj�|jd|j�WdQXWdQXdS(NurbuwbiuUh oh, raised from pickle.u!Test deadlocked after %d seconds.(uosupipeuclosingufdopenuforkucloseurun_testupickleudumpu	tracebacku
format_excuNoneuprintu	print_excuexit_subprocessuselectuMAX_DURATIONuloadufailukillusignaluSIGKILL(
uselfu	os_done_ru	os_done_wudone_rudone_wuchilduruwuxutb((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyu	test_main�s4	



'	u!InterProcessSignalTests.test_mainN(u__name__u
__module__u__qualname__uMAX_DURATIONusetUputearDownuNoneuformat_frameuhandlerAuhandlerBuwaiturun_testuunittestuskipIfusysuplatformu	test_main(u
__locals__((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyuInterProcessSignalTests-s
=uInterProcessSignalTestscBsD|EeZdZdd�Zdd�Zdd�Zdd�Zd	S(
u
PosixTestscGsdS(N((uselfuargs((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyutrivial_signal_handler�su!PosixTests.trivial_signal_handlercCs6|jttjd�|jttjd|j�dS(Ni�(uassertRaisesu
ValueErrorusignalu	getsignalutrivial_signal_handler(uself((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyu,test_out_of_range_signal_number_raises_error�su7PosixTests.test_out_of_range_signal_number_raises_errorcCs |jttjtjd�dS(N(uassertRaisesu	TypeErrorusignaluSIGUSR1uNone(uself((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyu0test_setting_signal_handler_to_none_raises_error�su;PosixTests.test_setting_signal_handler_to_none_raises_errorcCsjtjtj|j�}|jtjtj�|j�tjtj|�|jtjtj�|�dS(N(usignaluSIGHUPutrivial_signal_handleruassertEqualu	getsignal(uselfuhup((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyutest_getsignal�s

uPosixTests.test_getsignalN(u__name__u
__module__u__qualname__utrivial_signal_handleru,test_out_of_range_signal_number_raises_erroru0test_setting_signal_handler_to_none_raises_errorutest_getsignal(u
__locals__((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyu
PosixTests�su
PosixTestsuWindows specificcBs |EeZdZdd�ZdS(uWindowsSignalTestscCs�dd�}t�}xytjtjtjtjtjtjtjfD]G}tj	|�dk	rFtj|tj||��|j|�qFqFW|j|�|j
t��tjd|�WdQX|j
t��tjd|�WdQXdS(NcSsdS(N(uNone(uxuy((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyu<lambda>�su3WindowsSignalTests.test_issue9324.<locals>.<lambda>iii����(usetusignaluSIGABRTuSIGBREAKuSIGFPEuSIGILLuSIGINTuSIGSEGVuSIGTERMu	getsignaluNoneuaddu
assertTrueuassertRaisesu
ValueError(uselfuhandlerucheckedusig((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyutest_issue9324�s	
u!WindowsSignalTests.test_issue9324N(u__name__u
__module__u__qualname__utest_issue9324(u
__locals__((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyuWindowsSignalTests�suWindowsSignalTestscBs |EeZdZdd�ZdS(u
WakeupFDTestscCs&tj�}|jttj|�dS(N(usupportumake_bad_fduassertRaisesu
ValueErrorusignalu
set_wakeup_fd(uselfufd((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyutest_invalid_fd�suWakeupFDTests.test_invalid_fdN(u__name__u
__module__u__qualname__utest_invalid_fd(u
__locals__((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyu
WakeupFDTests�su
WakeupFDTestscBsq|EeZdZdddd�Zdd�Zdd�Zdd	�Zej	e
ed
�d�dd
��ZdS(uWakeupSignalTestsuorderedcGs&dj|||�}td|�dS(Nu�if 1:
        import fcntl
        import os
        import signal
        import struct

        signals = {!r}

        def handler(signum, frame):
            pass

        def check_signum(signals):
            data = os.read(read, len(signals)+1)
            raised = struct.unpack('%uB' % len(data), data)
            if not {!r}:
                raised = set(raised)
                signals = set(signals)
            if raised != signals:
                raise Exception("%r != %r" % (raised, signals))

        {}

        signal.signal(signal.SIGALRM, handler)
        read, write = os.pipe()
        for fd in (read, write):
            flags = fcntl.fcntl(fd, fcntl.F_GETFL, 0)
            flags = flags | os.O_NONBLOCK
            fcntl.fcntl(fd, fcntl.F_SETFL, flags)
        signal.set_wakeup_fd(write)

        test()
        check_signum(signals)

        os.close(read)
        os.close(write)
        u-c(uformatuassert_python_ok(uselfu	test_bodyuorderedusignalsucode((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyucheck_wakeup�s%uWakeupSignalTests.check_wakeupcCs|jdtj�dS(Nu�def test():
            import select
            import time

            TIMEOUT_FULL = 10
            TIMEOUT_HALF = 5

            signal.alarm(1)
            before_time = time.time()
            # We attempt to get a signal during the sleep,
            # before select is called
            time.sleep(TIMEOUT_FULL)
            mid_time = time.time()
            dt = mid_time - before_time
            if dt >= TIMEOUT_HALF:
                raise Exception("%s >= %s" % (dt, TIMEOUT_HALF))
            select.select([read], [], [], TIMEOUT_FULL)
            after_time = time.time()
            dt = after_time - mid_time
            if dt >= TIMEOUT_HALF:
                raise Exception("%s >= %s" % (dt, TIMEOUT_HALF))
        (ucheck_wakeupusignaluSIGALRM(uself((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyutest_wakeup_fd_earlysu&WakeupSignalTests.test_wakeup_fd_earlycCs|jdtj�dS(Nu�def test():
            import select
            import time

            TIMEOUT_FULL = 10
            TIMEOUT_HALF = 5

            signal.alarm(1)
            before_time = time.time()
            # We attempt to get a signal during the select call
            try:
                select.select([read], [], [], TIMEOUT_FULL)
            except select.error:
                pass
            else:
                raise Exception("select.error not raised")
            after_time = time.time()
            dt = after_time - before_time
            if dt >= TIMEOUT_HALF:
                raise Exception("%s >= %s" % (dt, TIMEOUT_HALF))
        (ucheck_wakeupusignaluSIGALRM(uself((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyutest_wakeup_fd_during1su'WakeupSignalTests.test_wakeup_fd_duringcCs|jdtjtj�dS(Nu�def test():
            signal.signal(signal.SIGUSR1, handler)
            os.kill(os.getpid(), signal.SIGUSR1)
            os.kill(os.getpid(), signal.SIGALRM)
        (ucheck_wakeupusignaluSIGUSR1uSIGALRM(uself((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyutest_signumHsuWakeupSignalTests.test_signumupthread_sigmaskuneed signal.pthread_sigmask()cCs#|jdtjtjdd�dS(Nu�def test():
            signum1 = signal.SIGUSR1
            signum2 = signal.SIGUSR2

            signal.signal(signum1, handler)
            signal.signal(signum2, handler)

            signal.pthread_sigmask(signal.SIG_BLOCK, (signum1, signum2))
            os.kill(os.getpid(), signum1)
            os.kill(os.getpid(), signum2)
            # Unblocking the 2 signals calls the C signal handler twice
            signal.pthread_sigmask(signal.SIG_UNBLOCK, (signum1, signum2))
        uorderedF(ucheck_wakeupusignaluSIGUSR1uSIGUSR2uFalse(uself((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyutest_pendingOsuWakeupSignalTests.test_pendingNT(
u__name__u
__module__u__qualname__uTrueucheck_wakeuputest_wakeup_fd_earlyutest_wakeup_fd_duringutest_signumuunittestu
skipUnlessuhasattrusignalutest_pending(u
__locals__((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyuWakeupSignalTests�s)uWakeupSignalTestscBsD|EeZdZdd�Zdd�Zdd�Zdd�Zd	S(
uSiginterruptTestcCs�d|f}td|���}y+|jj�}|jdd�\}}Wn#tjk
ro|j�d	SYnFX||}|j�}|d
kr�t	d||f��n|dkSWdQXdS(u�Perform a read during which a signal will arrive.  Return True if the
        read is interrupted by the signal and raises an exception.  Return False
        if it returns normally.
        u�if 1:
            import errno
            import os
            import signal
            import sys

            interrupt = %r
            r, w = os.pipe()

            def handler(signum, frame):
                pass

            signal.signal(signal.SIGALRM, handler)
            if interrupt is not None:
                signal.siginterrupt(signal.SIGALRM, interrupt)

            print("ready")
            sys.stdout.flush()

            # run the test twice
            for loop in range(2):
                # send a SIGALRM in a second (during the read)
                signal.alarm(1)
                try:
                    # blocking call: read from a pipe without data
                    os.read(r, 1)
                except OSError as err:
                    if err.errno != errno.EINTR:
                        raise
                else:
                    sys.exit(2)
            sys.exit(3)
        u-cutimeoutg@iiuChild error (exit code %s): %sNF(ii(
uspawn_pythonustdoutureadlineucommunicateu
subprocessuTimeoutExpiredukilluFalseuwaitu	Exception(uselfu	interruptucodeuprocessu
first_lineustdoutustderruexitcode((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyureadpipe_interruptedds'

	
u%SiginterruptTest.readpipe_interruptedcCs |jd�}|j|�dS(N(ureadpipe_interrupteduNoneu
assertTrue(uselfuinterrupted((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyutest_without_siginterrupt�su*SiginterruptTest.test_without_siginterruptcCs |jd�}|j|�dS(NT(ureadpipe_interrupteduTrueu
assertTrue(uselfuinterrupted((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyutest_siginterrupt_on�su%SiginterruptTest.test_siginterrupt_oncCs |jd�}|j|�dS(NF(ureadpipe_interrupteduFalseuassertFalse(uselfuinterrupted((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyutest_siginterrupt_off�su&SiginterruptTest.test_siginterrupt_offN(u__name__u
__module__u__qualname__ureadpipe_interruptedutest_without_siginterruptutest_siginterrupt_onutest_siginterrupt_off(u
__locals__((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyuSiginterruptTestas9uSiginterruptTestcBs�|EeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	e
jej
dkd�dd��Ze
jej
dkd�dd��ZdS(u
ItimerTestcCs:d|_d|_d|_tjtj|j�|_dS(NiF(	uFalseuhndl_calledu
hndl_countuNoneuitimerusignaluSIGALRMusig_alrmu	old_alarm(uself((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyusetUp�s			uItimerTest.setUpcCs?tjtj|j�|jdk	r;tj|jd�ndS(Ni(usignaluSIGALRMu	old_alarmuitimeruNoneu	setitimer(uself((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyutearDown�suItimerTest.tearDowncGs
d|_dS(NT(uTrueuhndl_called(uselfuargs((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyusig_alrm�suItimerTest.sig_alrmcGsbd|_|jdkr*tjd��n%|jdkrOtjtjd�n|jd7_dS(Niu.setitimer didn't disable ITIMER_VIRTUAL timer.iiT(uTrueuhndl_calledu
hndl_countusignaluItimerErroru	setitimeruITIMER_VIRTUAL(uselfuargs((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyu
sig_vtalrm�s	uItimerTest.sig_vtalrmcGs d|_tjtjd�dS(NiT(uTrueuhndl_calledusignalu	setitimeruITIMER_PROF(uselfuargs((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyusig_prof�s	uItimerTest.sig_profcCs |jtjtjdd�dS(Niii����(uassertRaisesusignaluItimerErroru	setitimer(uself((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyutest_itimer_exc�suItimerTest.test_itimer_exccCs@tj|_tj|jd�tj�|j|jd�dS(Ng�?T(usignaluITIMER_REALuitimeru	setitimerupauseuassertEqualuhndl_calleduTrue(uself((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyutest_itimer_real�s
uItimerTest.test_itimer_realufreebsd6unetbsd5uDitimer not reliable (does not mix well with threading) on some BSDs.cCs�tj|_tjtj|j�tj|jdd�tj�}xUtj�|dkr�tddd�}tj|j�d	krGPqGqGW|j	d�|j
tj|j�d
�|j
|jd�dS(Ng333333�?g�������?gN@i90i2	i���gu8timeout: likely cause: machine too slow or load too high(gg(ggT(
usignaluITIMER_VIRTUALuitimeru	SIGVTALRMu
sig_vtalrmu	setitimerutimeupowu	getitimeruskipTestuassertEqualuhndl_calleduTrue(uselfu
start_timeu_((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyutest_itimer_virtual�s
uItimerTest.test_itimer_virtualuBitimer not reliable (does not mix well with threading) on freebsd6cCs�tj|_tjtj|j�tj|jdd�tj�}xUtj�|dkr�tddd�}tj|j�dkrGPqGqGW|j	d�|j
tj|j�d	�|j
|jd
�dS(Ng�������?gN@i90i2	i���gu8timeout: likely cause: machine too slow or load too high(gg(ggT(
usignaluITIMER_PROFuitimeruSIGPROFusig_profu	setitimerutimeupowu	getitimeruskipTestuassertEqualuhndl_calleduTrue(uselfu
start_timeu_((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyutest_itimer_prof�s
uItimerTest.test_itimer_profN(ufreebsd6unetbsd5(u__name__u
__module__u__qualname__usetUputearDownusig_alrmu
sig_vtalrmusig_profutest_itimer_excutest_itimer_realuunittestuskipIfusysuplatformutest_itimer_virtualutest_itimer_prof(u
__locals__((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyu
ItimerTest�s
	u
ItimerTestcBs�|EeZdZdZejeed�d�dd��Zejeed�d�ejeed�d�dd	���Z	ejeed
�d�dd
��Z
ejeed�d�dd��Zejeed�d�dd��Zejeed�d�dd��Z
ejeed�d�dd��Zejeed�d�dd��Zejeed�d�dd��Zejeed�d�d d!��Zejeed�d�ejejjd"�d#�d$d%���Zejeed�d�ejeed�d�ejed1kd&�d'd(����Zejeed�d�d)d*��Zejeed�d�d+d,��Zejejd-kd.�ejeed
�d�d/d0���Zd1S(2uPendingSignalsTestsu[
    Test pthread_sigmask(), pthread_kill(), sigpending() and sigwait()
    functions.
    u
sigpendinguneed signal.sigpending()cCs|jtj�t��dS(N(uassertEqualusignalu
sigpendinguset(uself((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyutest_sigpending_emptysu)PendingSignalsTests.test_sigpending_emptyupthread_sigmaskuneed signal.pthread_sigmask()cCsd}td|�dS(Nu�if 1:
            import os
            import signal

            def handler(signum, frame):
                1/0

            signum = signal.SIGUSR1
            signal.signal(signum, handler)

            signal.pthread_sigmask(signal.SIG_BLOCK, [signum])
            os.kill(os.getpid(), signum)
            pending = signal.sigpending()
            if pending != {signum}:
                raise Exception('%s != {%s}' % (pending, signum))
            try:
                signal.pthread_sigmask(signal.SIG_UNBLOCK, [signum])
            except ZeroDivisionError:
                pass
            else:
                raise Exception("ZeroDivisionError not raised")
        u-c(uassert_python_ok(uselfucode((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyutest_sigpendingsu#PendingSignalsTests.test_sigpendingupthread_killuneed signal.pthread_kill()cCsd}td|�dS(Nuiif 1:
            import signal
            import threading
            import sys

            signum = signal.SIGUSR1

            def handler(signum, frame):
                1/0

            signal.signal(signum, handler)

            if sys.platform == 'freebsd6':
                # Issue #12392 and #12469: send a signal to the main thread
                # doesn't work before the creation of the first thread on
                # FreeBSD 6
                def noop():
                    pass
                thread = threading.Thread(target=noop)
                thread.start()
                thread.join()

            tid = threading.get_ident()
            try:
                signal.pthread_kill(tid, signum)
            except ZeroDivisionError:
                pass
            else:
                raise Exception("ZeroDivisionError not raised")
        u-c(uassert_python_ok(uselfucode((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyutest_pthread_kill:s u%PendingSignalsTests.test_pthread_killcCs'd|j�|f}td|�dS(uo
        test: body of the "def test(signum):" function.
        blocked: number of the blocked signal
        uTif 1:
        import signal
        import sys

        def handler(signum, frame):
            1/0

        %s

        blocked = %s
        signum = signal.SIGALRM

        # child: block and wait the signal
        try:
            signal.signal(signum, handler)
            signal.pthread_sigmask(signal.SIG_BLOCK, [blocked])

            # Do the tests
            test(signum)

            # The handler must not be called on unblock
            try:
                signal.pthread_sigmask(signal.SIG_UNBLOCK, [blocked])
            except ZeroDivisionError:
                print("the signal handler has been called",
                      file=sys.stderr)
                sys.exit(1)
        except BaseException as err:
            print("error: {}".format(err), file=sys.stderr)
            sys.stderr.flush()
            sys.exit(1)
        u-cN(ustripuassert_python_ok(uselfublockedutestucode((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyuwait_helper]s&uPendingSignalsTests.wait_helperusigwaituneed signal.sigwait()cCs|jtjd�dS(Nu�
        def test(signum):
            signal.alarm(1)
            received = signal.sigwait([signum])
            if received != signum:
                raise Exception('received %s, not %s' % (received, signum))
        (uwait_helperusignaluSIGALRM(uself((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyutest_sigwait�su PendingSignalsTests.test_sigwaitusigwaitinfouneed signal.sigwaitinfo()cCs|jtjd�dS(Nu�
        def test(signum):
            signal.alarm(1)
            info = signal.sigwaitinfo([signum])
            if info.si_signo != signum:
                raise Exception("info.si_signo != %s" % signum)
        (uwait_helperusignaluSIGALRM(uself((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyutest_sigwaitinfo�su$PendingSignalsTests.test_sigwaitinfousigtimedwaituneed signal.sigtimedwait()cCs|jtjd�dS(Nu�
        def test(signum):
            signal.alarm(1)
            info = signal.sigtimedwait([signum], 10.1000)
            if info.si_signo != signum:
                raise Exception('info.si_signo != %s' % signum)
        (uwait_helperusignaluSIGALRM(uself((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyutest_sigtimedwait�su%PendingSignalsTests.test_sigtimedwaitcCs|jtjd�dS(Nu�
        def test(signum):
            import os
            os.kill(os.getpid(), signum)
            info = signal.sigtimedwait([signum], 0)
            if info.si_signo != signum:
                raise Exception('info.si_signo != %s' % signum)
        (uwait_helperusignaluSIGALRM(uself((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyutest_sigtimedwait_poll�su*PendingSignalsTests.test_sigtimedwait_pollcCs|jtjd�dS(Nu�
        def test(signum):
            received = signal.sigtimedwait([signum], 1.0)
            if received is not None:
                raise Exception("received=%r" % (received,))
        (uwait_helperusignaluSIGALRM(uself((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyutest_sigtimedwait_timeout�su-PendingSignalsTests.test_sigtimedwait_timeoutcCs)tj}|jttj|gd�dS(Ng�?g�(usignaluSIGALRMuassertRaisesu
ValueErrorusigtimedwait(uselfusignum((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyu"test_sigtimedwait_negative_timeout�s	u6PendingSignalsTests.test_sigtimedwait_negative_timeoutuaixu1signal.sigwaitinfo() cannot be interrupted on AIXcCs|jtjd�dS(Nu�
        def test(signum):
            import errno

            hndl_called = True
            def alarm_handler(signum, frame):
                hndl_called = False

            signal.signal(signal.SIGALRM, alarm_handler)
            signal.alarm(1)
            try:
                signal.sigwaitinfo([signal.SIGUSR1])
            except OSError as e:
                if e.errno == errno.EINTR:
                    if not hndl_called:
                        raise Exception("SIGALRM handler not called")
                else:
                    raise Exception("Expected EINTR to be raised by sigwaitinfo")
            else:
                raise Exception("Expected EINTR to be raised by sigwaitinfo")
        (uwait_helperusignaluSIGUSR1(uself((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyutest_sigwaitinfo_interrupted�su0PendingSignalsTests.test_sigwaitinfo_interruptedutest needs threading modulecCstdd�dS(Nu-cu�if True:
            import os, threading, sys, time, signal

            # the default handler terminates the process
            signum = signal.SIGUSR1

            def kill_later():
                # wait until the main thread is waiting in sigwait()
                time.sleep(1)
                os.kill(os.getpid(), signum)

            # the signal must be blocked by all the threads
            signal.pthread_sigmask(signal.SIG_BLOCK, [signum])
            killer = threading.Thread(target=kill_later)
            killer.start()
            received = signal.sigwait([signum])
            if received != signum:
                print("sigwait() received %s, not %s" % (received, signum),
                      file=sys.stderr)
                sys.exit(1)
            killer.join()
            # unblock the signal, which should have been cleared by sigwait()
            signal.pthread_sigmask(signal.SIG_UNBLOCK, [signum])
        (uassert_python_ok(uself((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyutest_sigwait_thread�s
u'PendingSignalsTests.test_sigwait_threadcCsb|jttj�|jttjd�|jttjddd�|jttjdg�dS(Niiii�(uassertRaisesu	TypeErrorusignalupthread_sigmaskuOSError(uself((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyutest_pthread_sigmask_argumentssu2PendingSignalsTests.test_pthread_sigmask_argumentscCsd}td|�dS(Nuif 1:
        import signal
        import os; import threading

        def handler(signum, frame):
            1/0

        def kill(signum):
            os.kill(os.getpid(), signum)

        def read_sigmask():
            return signal.pthread_sigmask(signal.SIG_BLOCK, [])

        signum = signal.SIGUSR1

        # Install our signal handler
        old_handler = signal.signal(signum, handler)

        # Unblock SIGUSR1 (and copy the old mask) to test our signal handler
        old_mask = signal.pthread_sigmask(signal.SIG_UNBLOCK, [signum])
        try:
            kill(signum)
        except ZeroDivisionError:
            pass
        else:
            raise Exception("ZeroDivisionError not raised")

        # Block and then raise SIGUSR1. The signal is blocked: the signal
        # handler is not called, and the signal is now pending
        signal.pthread_sigmask(signal.SIG_BLOCK, [signum])
        kill(signum)

        # Check the new mask
        blocked = read_sigmask()
        if signum not in blocked:
            raise Exception("%s not in %s" % (signum, blocked))
        if old_mask ^ blocked != {signum}:
            raise Exception("%s ^ %s != {%s}" % (old_mask, blocked, signum))

        # Unblock SIGUSR1
        try:
            # unblock the pending signal calls immediately the signal handler
            signal.pthread_sigmask(signal.SIG_UNBLOCK, [signum])
        except ZeroDivisionError:
            pass
        else:
            raise Exception("ZeroDivisionError not raised")
        try:
            kill(signum)
        except ZeroDivisionError:
            pass
        else:
            raise Exception("ZeroDivisionError not raised")

        # Check the new mask
        unblocked = read_sigmask()
        if signum in unblocked:
            raise Exception("%s in %s" % (signum, unblocked))
        if blocked ^ unblocked != {signum}:
            raise Exception("%s ^ %s != {%s}" % (blocked, unblocked, signum))
        if old_mask != unblocked:
            raise Exception("%s != %s" % (old_mask, unblocked))
        u-c(uassert_python_ok(uselfucode((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyutest_pthread_sigmasksAu(PendingSignalsTests.test_pthread_sigmaskufreebsd6upissue #12392: send a signal to the main thread doesn't work before the creation of the first thread on FreeBSD 6cCsed}td|��J}|j�\}}|j�}|dkr[td||f��nWdQXdS(Nu7if True:
            import threading
            import signal
            import sys

            def handler(signum, frame):
                sys.exit(3)

            signal.signal(signal.SIGUSR1, handler)
            signal.pthread_kill(threading.get_ident(), signal.SIGUSR1)
            sys.exit(2)
        u-ciuChild error (exit code %s): %s(uspawn_pythonucommunicateuwaitu	Exception(uselfucodeuprocessustdoutustderruexitcode((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyutest_pthread_kill_main_threadTsu1PendingSignalsTests.test_pthread_kill_main_threadN(u__name__u
__module__u__qualname__u__doc__uunittestu
skipUnlessuhasattrusignalutest_sigpending_emptyutest_sigpendingutest_pthread_killuwait_helperutest_sigwaitutest_sigwaitinfoutest_sigtimedwaitutest_sigtimedwait_pollutest_sigtimedwait_timeoutu"test_sigtimedwait_negative_timeoutuskipIfusysuplatformu
startswithutest_sigwaitinfo_interruptedu	threadinguNoneutest_sigwait_threadutest_pthread_sigmask_argumentsutest_pthread_sigmaskutest_pthread_kill_main_thread(u
__locals__((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyuPendingSignalsTestssP",


	*CuPendingSignalsTestscCs8z&tjtttttttt	�Wdtj
�XdS(N(usupporturun_unittestu
PosixTestsuInterProcessSignalTestsu
WakeupFDTestsuWakeupSignalTestsuSiginterruptTestu
ItimerTestuWindowsSignalTestsuPendingSignalsTestsu
reap_children(((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyu	test_mainqs	u	test_mainu__main__()uunittestutestusupportu
contextlibuclosingugcupickleuselectusignalustructu
subprocessu	tracebackusysuosutimeuerrnoutest.script_helperuassert_python_okuspawn_pythonu	threadinguImportErroruNoneuplatformuSkipTestu	ExceptionuHandlerBCalleduexit_subprocessuignoring_eintruskipIfuTestCaseuInterProcessSignalTestsu
PosixTestsu
skipUnlessuWindowsSignalTestsu
WakeupFDTestsuWakeupSignalTestsuSiginterruptTestu
ItimerTestuPendingSignalsTestsu	test_mainu__name__(((u5/opt/alt/python33/lib64/python3.3/test/test_signal.pyu<module>sL0

	%�%%%r%Q%_�_