ó {G_Tc@sŸdZddlZddlmZejdƒ ZddlZddlZdejfd„ƒYZ dejfd„ƒYZ d „Z e d kr›e ƒndS( s&Unit tests for socket timeout feature.i˙˙˙˙N(t test_supporttnetworktCreationTestCasecBs_eZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z RS( s9Test case for socket.gettimeout() and socket.settimeout()cCstjtjtjƒ|_dS(N(tsockettAF_INETt SOCK_STREAMtsock(tself((s-/usr/local/lib/python2.7/test/test_timeout.pytsetUpscCs|jjƒdS(N(Rtclose(R((s-/usr/local/lib/python2.7/test/test_timeout.pyttearDownscCs |j|jjƒddƒdS(Nstimeout not disabled by default(t assertEqualRt gettimeouttNone(R((s-/usr/local/lib/python2.7/test/test_timeout.pyttestObjectCreationscCs|jjdƒ|j|jjƒdƒ|jjdƒ|j|jjƒdƒ|jjdƒ|j|jjƒdƒdS(NgázŽGa@i(Rt settimeoutR R R (R((s-/usr/local/lib/python2.7/test/test_timeout.pyttestFloatReturnValues cCsn|jjdƒ|jt|jjƒƒtdƒƒ|jjdƒ|jt|jjƒƒtdƒƒdS(Nigđ?g333333@(RRR ttypeR (R((s-/usr/local/lib/python2.7/test/test_timeout.pyttestReturnType&s%cCsÚ|jjdƒ|jjdƒ|jjdƒ|jjdƒ|jt|jjdƒ|jt|jjdƒ|jt|jjdƒ|jt|jjgƒ|jt|jjiƒ|jt|jjdƒdS(Nilgtuy((RRR t assertRaisest TypeError(R((s-/usr/local/lib/python2.7/test/test_timeout.pyt testTypeCheck.scCsO|jt|jjdƒ|jt|jjdƒ|jt|jjdƒdS(Ni˙˙˙˙l˙˙˙˙gđż(Rt ValueErrorRR(R((s-/usr/local/lib/python2.7/test/test_timeout.pyttestRangeCheck;scCsČ|jjdƒ|jjdƒ|j|jjƒdƒ|jjdƒ|j|jjƒdƒ|jjdƒ|jjdƒ|j|jjƒdƒ|jjdƒ|j|jjƒdƒdS(Ni iig(RRt setblockingR R R (R((s-/usr/local/lib/python2.7/test/test_timeout.pyttestTimeoutThenBlockingAscCsv|jjdƒ|jjdƒ|j|jjƒdƒ|jjdƒ|jjdƒ|j|jjƒdƒdS(Nii(RRRR R (R((s-/usr/local/lib/python2.7/test/test_timeout.pyttestBlockingThenTimeoutOs ( t__name__t __module__t__doc__RR RRRRRRR(((s-/usr/local/lib/python2.7/test/test_timeout.pyR s      tTimeoutTestCasecBs’eZdZdZd„Zd„Zd„Zd„Zd„Zd„Z e j dƒd „ƒZ e j dƒd „ƒZ e j dƒd „ƒZRS( s/Test case for socket.socket() timeout functionsg@cCs1tjtjtjƒ|_d|_d|_dS(Nswww.python.org.iPs 127.0.0.1(swww.python.org.iP(RRRRt addr_remotet localhost(R((s-/usr/local/lib/python2.7/test/test_timeout.pyRes cCs|jjƒdS(N(RR (R((s-/usr/local/lib/python2.7/test/test_timeout.pyR jscCs‘d}d}|jj|ƒtjƒ}|jtj|jj|ƒtjƒ}t||ƒ}|j|||j kd||j |fƒdS(Ns10.0.0.0i90güŠńŇMbP?s<timeout (%g) is more than %g seconds more than expected (%g)(s10.0.0.0i90( RRttimeRRterrortconnecttabst assertTruetfuzz(Rtaddrt_timeoutt_t1t_t2t_delta((s-/usr/local/lib/python2.7/test/test_timeout.pyttestConnectTimeoutms  c Csťd}tj|jdƒ™|jj|jƒ|jj|ƒtjƒ}|jtj |jj dƒtjƒ}t ||ƒ}|j |||j kd||j |fƒWdQXdS(Ng{ŽGáz”?iis2timeout (%g) is %g seconds more than expected (%g)(Rttransient_internetR RR$RR"RRttimeouttrecvR%R&R'(RR)R*R+R,((s-/usr/local/lib/python2.7/test/test_timeout.pyttestRecvTimeout‚s  cCsŽd}|jj|ƒtj|j|jƒ|jjdƒtjƒ}|jtj |jj ƒtjƒ}t ||ƒ}|j |||j kd||j |fƒdS(Niis2timeout (%g) is %g seconds more than expected (%g)(RRRt bind_portR!tlistenR"RRR#tacceptR%R&R'(RR)R*R+R,((s-/usr/local/lib/python2.7/test/test_timeout.pyttestAcceptTimeout“s  cCsźd}tjtjtjƒ|_|jj|ƒtj|j|jƒtjƒ}|j tj |jj dƒtjƒ}t ||ƒ}|j |||jkd||j|fƒdS(Nii s2timeout (%g) is %g seconds more than expected (%g)(RRt SOCK_DGRAMRRRR2R!R"RR#trecvfromR%R&R'(RR)R*R+R,((s-/usr/local/lib/python2.7/test/test_timeout.pyttestRecvfromTimeout¤s  stest not implementedcCsdS(N((R((s-/usr/local/lib/python2.7/test/test_timeout.pyttestSendľscCsdS(N((R((s-/usr/local/lib/python2.7/test/test_timeout.pyt testSendtoťscCsdS(N((R((s-/usr/local/lib/python2.7/test/test_timeout.pyt testSendallÁs(RRRR'RR R-R1R5R8tunittesttskipR9R:R;(((s-/usr/local/lib/python2.7/test/test_timeout.pyRZs      cCs!tjdƒtjttƒdS(NR(Rtrequirest run_unittestRR(((s-/usr/local/lib/python2.7/test/test_timeout.pyt test_mainČs t__main__( RR<ttestRtis_resource_enabledt skip_expectedR"RtTestCaseRRR@R(((s-/usr/local/lib/python2.7/test/test_timeout.pyts   Mn