8W\#SrSSKrSSKrSSKrSSKrSSKrSSKrSSKJrJ r J r SSKJ r SSKJ r SSK JrJr SSKrSSKrSr\S-r"S S 5r"S S \5rS r"SS\\R05r\R4"\"\S5(+S5"SS\\R055rSr"SS\\R05r"SS\\R05rSr \!S:Xa\RD"5 gg)z9Test largefile support on system where this makes sense. N)requires bigmemtestrequires_resource) SHORT_TIMEOUT) socket_helper)TESTFNunlinkly*2c*\rSrSrSr\S5rSrg) LargeFileTestc[RR[5(aSnOSnUR [U5n[R "UR 55RnU[S-:Xa SSS5 gUS:XaURS5 URS5 UR[5 URS5 UR5 UR[R "UR 55R[S-5 SSS5 g!,(df  g=f)Nr+bzw+brza) ospathexistsropenfstatfilenost_sizesizewriteseekflush assertEqual)selfmodef current_sizes :/opt/alt/python313/lib64/python3.13/test/test_largefile.pysetUpLargeFileTest.setUps 77>>& ! !DD YYvt $88AHHJ/77LtAv%% $ q  FF1I FF4L GGDM GGI   RXXahhj19946 B% $ $s=D6 B#D66 EcUR[S5 SSS5 [R"[5RS:XdUR S5e[ [5 g!,(df  NW=f)Nwbrz0File was not truncated by opening with mode "wb")rrrstatrfailureExceptionr TESTFN2)clss r# tearDownClassLargeFileTest.tearDownClass,sV XXfd # $wwv&&!+&&(89 9w $ #s A** A8N)__name__ __module__ __qualname____firstlineno__r$ classmethodr,__static_attributes__r.r#r r sC(r5r cn\rSrSrSr\"\SSS9S5rSrSr S r S r S r \"\SSS9S 5r S rg)TestFileMethods6zOTest that each file function works as expected for large (i.e. > 2 GiB) files. F)rmemusedry_runcUR[S5nUR[UR 55[ S-5 URUR 5[ S-5 SSS5 g!,(df  g=f)Nrbr)rrrlenreadrtellr_sizer!s r#test_large_readTestFileMethods.test_large_read=sXYYvt $   S]D1H 5   QVVXtax 0% $ $s AA88 BczUR[R"[5R[ S-5 g)Nr)rrr(rrr)rs r# test_osstatTestFileMethods.test_osstatDs$ 00$q&9r5cHUR[S5nURUR5S5 URUR S5S5 URUR5S5 UR S5 URUR5S5 UR SS5 URUR5S5 UR S5 URUR5S5 UR SS5 URUR5S5 UR SS5 URUR5S5 UR SS5 URUR5S5 UR SS5 URUR5[ S-S-5 UR SS5 URUR5[ S-S - 5 UR [ *S- S5 URUR5S5 UR [ 5 URUR5[ 5 URUR S5S 5 UR [ *S- S5 URUR S5S5 URUR5S5 SSS5 g!,(df  g=f) Nr=rrr*Tr9 r)rrrr@r?rrrr!s r#test_seek_readTestFileMethods.test_seek_readGs+ YYvt $   QVVXq )   QVVAY -   QVVXq ) FF1I   QVVXq ) FF1aL   QVVXq ) FF2J   QVVXr * FF2qM   QVVXr * FF2qM   QVVXr * FF1aL   QVVXr * FF1aL   QVVXtax!| 4 FF3N   QVVXtax"} 5 FFD57A    QVVXq ) FF4L   QVVXt ,   QVVAY - FFD57A    QVVAY -   QVVXq )9% $ $s K3L L!cNUR[S5nUR[R"UR 5SS5S5 UR[R"UR 5SS5S5 UR[R"UR 5SS5S5 UR[R"UR 5SS5S5 UR[R"UR 5SS5[ S-S-5 UR[R"UR 5SS5[ S-S- 5 UR[R"UR 5[ *S- S5S5 UR[R"UR 5[ S5[ 5 URURS5S 5 SSS5 g!,(df  g=f) Nr=rrIrrJr9rKrLr)rrrrlseekrrr?rMs r# test_lseekTestFileMethods.test_lseekfsd YYvt $   RXXahhj!Q7 ;   RXXahhj"a8" =   RXXahhj"a8" =   RXXahhj!Q7 <   RXXahhj!Q7a B   RXXahhj#q946"9 E   RXXahhj4%'1=q A   RXXahhj$:D A   QVVAY -% $ $s G6H H$cUR[S5n[US5(d[R"S5eUR SS5 UR UR5[S-5 [S- nUR U5 UR5 UR UR5U5 UR SS5 UR UR5U5 US-nUR S5 URU5 UR UR5S5 UR SS5 UR UR5U5 UR S5 URS5 UR UR5S5 UR S5 UR [UR55S5 SSS5 g!,(df  g=f) Nrtruncatez.open().truncate() not available on this systemrr9rrLrI) rrhasattrunittestSkipTestrrr@rrUr>r?)rr!newsizes r# test_truncateTestFileMethods.test_truncatessp YYvu %1j))'')9:: FF1aL   QVVXtAv .RiG FF7O JJL   QVVXw / FF1aL   QVVXw / qLG FF2J JJw    QVVXr * FF1aL   QVVXw / FF1I JJqM   QVVXq ) FF1I   S]A .?& % %s GG22 HcSHRnUR[S5nURU5 URUR 55 SSS5 MT g!,(df  Mf=f)N)ilr=)rrr assertTrueseekable)rposr!s r# test_seekableTestFileMethods.test_seekablesJ-C64(As  -)(-((s 1A A) cfUR[S5nURURS[R 5S5 UR[ UR55[S-5 SSS5 UR[S5nURURS[R5S5 UR[ UR55[S- 5 SSS5 UR[S5nURURS[R5[S- 5 UR[ UR55S5 SSS5 g!,(df  GN=f!,(df  N=f!,(df  g=f) Nr=rrr9) rrrrrSEEK_CURr>r?rSEEK_SETSEEK_ENDrAs r#test_seek_readall!TestFileMethods.test_seek_readallsYYvt $   QVVAr{{3Q 7   S]D1H 5% YYvt $   QVVB 4b 9   S]D2I 6%YYvt $   QVVB 4dQh ?   S]A .% $% $ % $% $s&A!E?A!FA!F"? F F" F0r.N)r/r0r1r2__doc__rrrCrFrNrRrZrarkr4r.r5r#r7r76s[ T!U3141 :*> . /D.T!U3/4/r5r7c^^UU4SjnU$)Nc>^UUU4SjnU$)NcB>[[S5(d[R"S5e[R"[ R RT55RT:a+[TS- S- 5n[R"SUS35eT"U0UD6$)N disk_usagezrequires shutil.disk_usageiz required z MiB of free disk space) rVshutilrWrXrqrrrealpathfreeint)argskwargshsizefunrrequireds r#wrapper6skip_no_disk_space..decorator..wrappers6<00''(DEE  !1!1$!78==HHtOd23''w&=>@@'' 'r5r.)ryr{rrzs` r# decorator%skip_no_disk_space..decorators (r5r.)rrzr}s`` r#skip_no_disk_spacers  r5cr\rSrSr\"\R 5r\"\\ S-5\ "S5S55r Sr g) TestCopyfile@cpuc[RR[5n[R "[[ 5 UR[RR[ 5U5 [[ S5nURURS5S5 URUS- 5 URUR5S5 SSS5 g!,(df  g=f)Nr=za) rrgetsizerrrcopyfiler*rrr?r)rrr!s r#test_itTestCopyfile.test_its wwv&( 148 '4 A   QVVAY(< = FF4!8    QVVX'; <! s AC%% C3r.N) r/r0r1r2 staticmethodiorrrrrrr4r.r5r#rrs<  Ds +u =, =r5rsendfilezsendfile not supportedc^\rSrSr\"\R 5r\rU4Sjr U4Sjr Sr \ "\ \S-5\"S5S55rSrU=r$) TestSocketSendfilec0>[TU]5 SUlgN)superr$threadr __class__s r#r$TestSocketSendfile.setUps   r5c>[TU]5 URb-URRUR5 SUlggr)rtearDownrjointimeoutrs r#rTestSocketSendfile.tearDowns:  ;; " KK  T\\ *DK #r5c^^UU4Sjn[R"5mURTR5 [R"X!4S9TlTR R 5 TR5 g)Nc>U UR5upURTR5 U [[S5nTR TR5 UR S5nU(dSSS5 SSS5 SSS5 gURU5 ME!,(df  O=fSSS5 O!,(df  O=fSSS5 g!,(df  g=f)Nr'i)accept settimeoutrrr*waitrecvr)sockconn_r!chunkeventrs r#run*TestSocketSendfile.tcp_server..runs++- -4.!JJt||, $ % 0$" /T /.TTTsF0CC6B';CCB'' B5 1C8 C C C C))targetrv) threadingEventrrThreadrstartset)rrrrs` @r# tcp_serverTestSocketSendfile.tcp_serversS '!  %&&cA   r5rrcZ[R"5n[R"SU45nUR U5 [R "SU45n[ [S5nURU5 SSS5 SSS5 SSS5 UR5 [RR[5nUR[RR[5U5 [ [S5nURURS5S5 UR!US- 5 URUR5S5 SSS5 g!,(df  N=f!,(df  N=f!,(df  GN=f!,(df  g=f)Nz 127.0.0.1r=rrr)rfind_unused_portsocket create_serverrcreate_connectionrrrrrrrrr*r?r)rportrclientr!rs r#rTestSocketSendfile.test_its --/  ! !2t* - OOD !));*=>&&$'1OOA&(?. wwv& 148 '4 A   QVVAY(< = FF4!8    QVVX'; <! ('?>. -! sH*F E9)E(;E9F  AF( E6 2E99 F F  F F*)r)r/r0r1r2rrrrrr$rrrrrrrr4 __classcell__)rs@r#rrsQ  DG *s +u=,=r5rcvSSKnURURUR5 [ R SSS:Xd[ R S:Xa[SS[[5-5 g[[SSS9nURS 5 URS 5 UR5 UR'5 [)[5 g![[4a Nf=f![[ 4a ["R$"S 5ef=f!UR'5 [)[5 f=f) Nrrgwindarwin largefilez-test requires %s bytes and a long time to runr') bufferingr]xz*filesystem does not have largefile support)signalSIGXFSZSIG_IGN ImportErrorAttributeErrorsysplatformrstrrrrrrrOSError OverflowErrorrWrXcloser )rr!s r# setUpModulers   fnnfnn5 ||BQ5 CLLH$<@3t9L N  +  FF:  GGDM GGI GGI 6N5  (   *' 9##%89 9 9 GGI 6Ns)*C2C-C*)C*-'DD!D8c8\rSrSr\"\R 5rSrg)CLargeFileTesti*r.N)r/r0r1r2rrrr4r.r5r#rr*s  Dr5rc8\rSrSr\"\R 5rSrg)PyLargeFileTesti.r.N)r/r0r1r2rpyiorr4r.r5r#rr.s  "Dr5rc@[[5 [[5 gr)r rr*r.r5r#tearDownModuler2s 6N 7Or5__main__)#rmrrrWrrrr test.supportrrrrrtest.support.os_helperrr r_pyiorrr*r r7rTestCaserskipIfrVrrrrrr/mainr.r5r#rs  @@&&1  3,@v/mv/p ==("3"3=& WR,,.FG3=(9(93=H3=l!H!_h&7&7!#ox'8'8#  z MMOr5