h'ySSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK r SSK r SSK r SSK r SSK r SSKrSSKJr SSKrSSKJr SSKJr SSKJr SSKJr \R.\R0:gr\"\S5r\R8R;S5(aS rOS r"S S \R>5r "S S\R>5r!"SS\!5r""SS\!5r#"SS\!5r$"SS\!5r%"SS\!5r&\RNS5r(Sr)"SS5r*"SS\*\!5r+"SS \!5r,"S!S"\!5r-"S#S$\!5r."S%S&\*\!5r/"S'S(\!5r0"S)S*\!5r1"S+S,\!5r2\Rf\RhLa "S-S.\!5r5"S/S05r6"S1S2\!5r7\8S3:Xa\Rr"5 gg)4N)mock)support) os_helper) script_helper)warnings_helperspawnlopenbsd0dc2\rSrSrSrSrSrSrSrSr g) TestLowLevelInternals(cUR[[R"S55 UR[[R"S55 UR[[R"S55 gN)assertIsstrtempfile_infer_return_typebytesselfs 9/opt/alt/python313/lib64/python3.13/test/test_tempfile.pytest_infer_return_type_singles4TestLowLevelInternals.test_infer_return_type_singles)sM c866r:; eX88=> c866t<=rcUR[[R"SS55 UR[[R"SS55 UR [ 5 [R"SS5 SSS5 UR [ 5 [R"SS5 SSS5 g!,(df  ND=f!,(df  g=frrrrrr assertRaises TypeErrorrs r test_infer_return_type_multiples6TestLowLevelInternals.test_infer_return_type_multiples.s c866r2>? eX88cBC   y )  ' 'C 0*   y )  ' 'R 0* )* ) ) )s,C!C C C!cUR[[R"SS55 UR[[R"SS55 UR[[R"SS55 UR[[R"SS55 UR[[R"SS55 UR [ 5 [R"SSS5 SSS5 UR [ 5 [R"SSS5 SSS5 g!,(df  NE=f!,(df  g=frrrs r)test_infer_return_type_multiples_and_none?TestLowLevelInternals.test_infer_return_type_multiples_and_none6s c866tR@A c866r4@A c866tTBC eX88dCD eX88sCD   y )  ' 'D# 6*   y )  ' 'T2 6* )* ) ) )s-E#E E E$cUR[[R"[R "S555 g)N/)rrrrrFakePathrs rtest_infer_return_type_pathlib4TestLowLevelInternals.test_infer_return_type_pathlibAs& c866y7I7I#7NOPrc [RnUR[[R "U"S555 UR[ [R "U"S555 UR[[R "SU"S555 UR[ [R "SU"S555 UR[ [R "SU"S555 UR[[R "SU"S555 UR[5 [R "SU"S55 SSS5 UR[5 [R "SU"S55 SSS5 g!,(df  NJ=f!,(df  g=f)Nr'/rr) rr(rrrrrrr )rPaths rtest_infer_return_type_pathlike5TestLowLevelInternals.test_infer_return_type_pathlikeDs$!! c866tCyAB eX88dDE c866r48DE eX88d3iHI eX88tCyIJ c866tT"XFG   y )  ' 'DI 6*   y )  ' 'T"X 6* )* ) ) )s F,F=, F:= G N) __name__ __module__ __qualname____firstlineno__rr!r$r)r.__static_attributes__r0rrr r (s> 1 7Q 7rr ch\rSrSr\R "S5r\R "S5rSrSr Sr g) BaseTestCaseTz^[a-z0-9_-]{8}$s^[a-z0-9_-]{8}$cUR[R"55 [R"S[ S[ S9 g)Nignoremktemp)categorymessagemodule) enterContextrcheck_warningswarningsfilterwarningsRuntimeWarningr1rs rsetUpBaseTestCase.setUpYs1 /88:;>(0 Crc[RRU5upVUS[U5nU[U5[U5- SnUbWUR [ U5[ U5[ Ld[U[R5(a[ O[S5 Ub8UR [ U5[ U5[ La[ O[S5 Ub8UR [ U5[ U5[ La[ O[S5 X#U4S:Xa UR [ U5[ S5 UR[RRU5[RRU5SU<SU<35 URXsSU<SU<35 URXSU<SU<35 U[U5[U5[U5- n[U[ 5(a URO URn URU RU5SU<S U R <35 g) Nzunexpected return typeNNNzdefault return type must be strzfile z not in directory z does not begin with z does not end with zrandom characters z do not match )ospathsplitlenrtyper isinstancePathLiker assertEqualabspath str_checkb_check assertTruematchpattern) rnamedirpresufndirnbasenprensufchecks r nameCheckBaseTestCase.nameCheck^s d+ is3x c%jS)*+ ? MMT 9#z#r{{'C'C(   ? MM$t*T#Y#-=c52 4 ? MM$t*T#Y#-=c52 4 c?0 0 MM$t*c+L M .0D:>D F s=BCH J s;@#F Hc#hs5z#c(23",UC"8"8dll  E* %--1 2rr0N) r1r2r3r4recompilerQrRrDr_r5r0rrr7r7Ts+ -.Ijj,-GC "2rr7c\rSrSrSrSrg) TestExportsc[RnSSSSSSSSSSSSSSS.n/nUH&nUSS:wdMXB;dMURU5 M( UR[ U5S:HSU-5 g)N)NamedTemporaryFile TemporaryFilemkstempmkdtempr;TMP_MAX gettempprefixgettempprefixb gettempdir gettempdirbtempdirtemplateSpooledTemporaryFileTemporaryDirectoryr_zunexpected keys: %s)r__dict__appendrSrK)rdictexpectedunexpkeys r test_exportsTestExports.test_exportss  $% %&#$ "C1v}!4 S! E a-5 7rr0N)r1r2r3r4r|r5r0rrrdrds7rrdcl^\rSrSrSrU4SjrSrSrSr\ R"5S5r Sr U=r $) TestRandomNameSequencez6Test the internal iterator object _RandomNameSequence.cV>[R"5Ul[TU]5 gN)r_RandomNameSequencersuperrDr __class__s rrDTestRandomNameSequence.setUps--/  rcV[UR5nURUSSS5 gNr)nextrr_)rss rtest_get_eight_char_str.TestRandomNameSequence.test_get_eight_char_strs! L q"b"%rc0nURn[[5H7n[U5nUR USSS5 UR XA5 SX'M9 g)Nrrg)rrange TEST_FILESrr_ assertNotIn)rrxrirs r test_many TestRandomNameSequence.test_manysQ FFz"AQA NN1b"b )   Q %DG #rcLSnURnUHnUS- nUS:XdM g g)Nrrgr)rrrrs r supports_iter$TestRandomNameSequence.supports_iters/  FFA FABwrc:[R"5upSn[R"5nU(d{[R"U5 [R"U[ UR 5RS55 [R"U5 [R"S5 [ UR 5n[R"U[U55RS5nU(a[R"USS9 [R"U5 [R"U5 URXT5 g!U(a[R"USS9 [R"U5 [R"U5 f=f)Nasciir)exitcode)rHpipeforkclosewriterrencode_exitreadrKdecoder wait_processassertNotEqual)rread_fdwrite_fdpid parent_value child_values rtest_process_awareness-TestRandomNameSequence.test_process_awarenesssGGI '')C!4<#6#6w#?@"  T/$rr0)our_temp_directorysrour_candidate_listKTestGetDefaultTempdir.test_no_files_left_behind..our_candidate_lists *++rrc[5er)r)argskwargss r raise_OSErrorFTestGetDefaultTempdir.test_no_files_left_behind..raise_OSErrors !)Oropenr) rrtr swap_attr_get_default_tempdirrOrHlistdirrFileNotFoundError)rrrrs @rtest_no_files_left_behind/TestGetDefaultTempdir.test_no_files_left_behind sK  ( ( *.@ ,""8-F#57--/  ,>!?D$&&r6=A**+<= 557>$$RZZ0B%CRH B &&r7MB**+<= 557>$$RZZ0B%CRH C7 + * >=BA>=CB77 + *s#GAG F+F .F/$G F9)F( ?.F9-G 5G F F F% !G ( F6 2F99 G G  G G G)r0N)r1r2r3r4rrr5r0rrrr s &Irrc$\rSrSrSrSrSrSrg)TestGetCandidateNamesi*z0Test the internal function _get_candidate_names.cn[R"5nURU[R5 gr)r_get_candidate_namesrr)robjs r test_retval!TestGetCandidateNames.test_retval-s&++- c8#?#?@rc|[R"5n[R"5nURXL5 gr)rrrS)rabs rtest_same_thing%TestGetCandidateNames.test_same_thing2s,  ) ) +  ) ) + rr0N)r1r2r3r4rrrr5r0rrrr*s:A  rrc## [R"5n[R"[SU5 Sv SSS5 [R "U5 g!,(df  N%=f![R "U5 f=f7f)Nrq)rrkrrrrmtreerWs r_inside_empty_temp_dirr:s[    C   xC 8 9 9 8 s2BA*AA*B A'#A**BBcD^[R"[SU4Sj5$)Nrc>[T5$r)iternamessr'_mock_candidate_names..Gs T%[r)rrrrs`r_mock_candidate_namesrDs   X30 22rcf\rSrSr\R "\RS5S5rSr Sr Sr g)TestBadTempdiriJz$Emscripten cannot remove write bits.cz[5 [R"[R5R =pU[R [R-[R-)-n[R"[RU5 [R"[R[R5(aURS5 UR[5 UR5 SSS5 UR![R""[R5/5 [R"[RU5 SSS5 g!,(df  Nq=f![R"[RU5 f=f!,(df  g=f)Nz!can't set the directory read-only)rrHstatrrqst_modeS_IWUSRS_IWGRPS_IWOTHchmodaccessW_OKskipTestrPermissionError make_temprOr)roldmodemodes rtest_read_only_directory'TestBadTempdir.test_read_only_directoryLs $ %WWX%5%56>> >G dllT\\1DLL@A AD HHX%%t , 499X--rww77MM"EF&&7NN$8  H,<,[R"5nURUSS9RS5 URUSS9RS5 URUSS9RS5 URUSSS9RS5 URUSS S9RS5 UR [ 5 URS SS9RS5 SSS5 UR [ 5 URUS S9RS5 SSS5 UR [ 5 URUSS S9RS5 SSS5 g!,(df  N=f!,(df  N^=f!,(df  g=f) NrrWrYr9arWrXbrWrXrYaa.txtr)rrpr6rrr )rdir_bs rtest_basic_with_bytes_names,TestMkstempInner.test_basic_with_bytes_namessC$$& 5c*009 5d+11': 5d+11': 5d5;;GD 5e9??H   y ) NNrsN + 1 1' :*   y ) NNu"N - 3 3G <*   y ) NNu#2N 6 < '>'* , ,rc[5 [SSS5 UR5up[R"U5 UR UR S55 UR5up4[R"U5 UR UR S55 SSS5 SSS5 g!,(df  N=f!,(df  g=fNaaabbb)rrrrHrrSendswith)rfd1name1fd2name2s r!test_collision_with_existing_file2TestMkstempInner.test_collision_with_existing_files$ % "5% 7>>+LS HHSM OOENN51 2>>+LS HHSM OOENN51 28& % 7 7& %s#C BB;*C ; C C  Cc[5 [SSS5 [R"5nUR UR S55 UR 5up#[R"U5 UR UR S55 SSS5 SSS5 g!,(df  N=f!,(df  g=fr) rrrrkrSrrrHr)rrWr$rVs r&test_collision_with_existing_directory7TestMkstempInner.test_collision_with_existing_directorys$ % "5% 7""$C OOCLL/ 0)JR HHRL OODMM%0 1 8& % 7 7& %s#B9A>B(B9( B6 2B99 Cr0)NNNrg)r1r2r3r4rr4r6r?rJrQrXrskip_unless_working_chmodrcr skipUnless has_spawnlrrequires_subprocessrs has_textmoderzrrrr5r0rrrrms4$$( <F"1 (( )) )%>?   "#P#@#PJ'@A5B5, 3 2rrc$\rSrSrSrSrSrSrg)TestGetTempPrefixizTest gettempprefix().c[R"5nURU[5 UR [ U5S5 [R "5nURU[5 UR [ U5S5 gr)rrmrr assertGreaterrKrnr)rppbs rtest_sane_template$TestGetTempPrefix.test_sane_template!sf  " " $ a% 3q61%  $ $ & b%( 3r7A&rc[R"5S-n[R"SS9n[RR X!5n[R "U[R[R-5n[R"U5 [R"U5 [R"U5 g![R"U5 f=f)Nz xxxxxx.xxxrprefix) rrmrkrHrIrrO_RDWRO_CREATrr3rV)rrdr$s rtest_usable_template&TestGetTempPrefix.test_usable_template-s  " " $| 3   B '  Q"ABII 23B HHRL IIaL HHQKBHHQKs BCCr0N)r1r2r3r4rrrr5r0rrrrs 'rrc0\rSrSrSrSrSrSrSrSr g) TestGetTempDiri>zTest gettempdir().cb[R"5[R"54HnUR[R R U5=(d U[R:HSU-5 UR[R RU5SU-5 M g)Nz%r is not an absolute pathz%r is not a directory) rrorprSrHrIisabsrisdirrrs rtest_directory_exists$TestGetTempDir.test_directory_existsAsy%%')=)=)?@A OOBGGMM!,>RYY81< > OOBGGMM!,3a7 9Arc[R"5nURS5 SSS5 g!,(df  g=f)Nr9)rrhr)rrs rtest_directory_writable&TestGetTempDir.test_directory_writableJs*  ( ( *d JJw + * *s1 ?c:[R"5n[R"5n[R"5nURXL5 UR [ U5[ U55 UR U[R"U55 gr) rrorprSrrLrOrHfsdecode)rrrrs rrTestGetTempDir.test_same_thingSsj    !    !  "  DGT!W- BKKN+rc[R"S5n[RSsn[l[R"5nXS'UR [R "5U5 SSS5 U[l[R"U5 g!,(df  N0=f!U[l[R"U5 f=f)Nz-Tempr)rrkrqrrrOrorV)rcase_sensitive_tempdir_tempdirrs rtest_case_sensitive"TestGetTempDir.test_case_sensitive]s"*!1!1'!:%-%5%5t"(" 4..0C 6H   !4!4!68NO1 (H  OO2 3 10 (H  OO2 3s#B. *B3B. B+'B..#Cr0N) r1r2r3r4rrrrrr5r0rrrr>s9 , 4rrc:\rSrSrSrS SjrSrSrSrSr S r g) TestMkstempilzTest mkstemp().Nc [R"XU5nUc4U[La[R"5nO[R"5nUcU"5nUcU"5n[R "XUS9upV[ RRU5upx[ RRU5n URXSU <SU<S35 URXaX#5 [ R"U5 [ R"U5 g![ R"U5 [ R"U5 f=f)NrWrsuffixz Directory 'z' incorrectly returned as '')rrrrorprjrHrIrJrPrOr_rr3) rrWrXrYr'r$rVrZr[adirs rr6TestMkstemp.do_createos11#C@ ;c!))+**, ;-C ;-C%%##F  d+ wws# t=A4 H J  NN4c / HHRL IIdO HHRL IIdOs D.EcUR5 URSS9 URSS9 URSSS9 URSSS9 URSS 9 g) Nrr:rr;r<r=r>.rr6rs rr?TestMkstemp.test_basicsV  3 3 3C( 4V, 3rcp[R"5nURUSS9 URUSS9 URUSS9 URUSSS9 URUSSS9 URS S 9 UR[5 URS SSS9 SSS5 UR[5 URS S SS9 SSS5 UR[5 URS SS S9 SSS5 g!,(df  Nm=f!,(df  NO=f!,(df  g=f)NrrBrCrDrErFrGrH.rrr=r>)rrpr6rr rs rrJ'TestMkstemp.test_basic_with_bytes_namess  " 1#& 1$' 1$' 1$D1 1%W5 4   y ) NNs7N ;*   y ) NNt7N ;*   y ) NNtFN ;* ) * ) ) ) ) )s$ D;D*D' D D$' D5c[R"5nURUS9 UR[R"U5S9 [ R "U5 g![ R "U5 f=fNr)rrkr6rr(rHrVrWs rrX!TestMkstemp.test_choose_directorysS   NNsN # NNy11#6N 7 HHSMBHHSMs 2A A8c|[RnUR[R[[ S545 [R "5up#[ R"U5 [ R"U5 URU[5 [R"5[lUR[R[5 UR[R"5[5 UR[R"5[5 [R "5up#[ R"U5 [ R"U5 URU[5 [R "SS9up#[ R"U5 [ R"U5 URU[5 [R "SS9up#[ R"U5 [ R"U5 URU[5 [R "[R"5S9up#[ R"U5 [ R"U5 URU[5 U[lg!U[lf=f)Nr>rz test-temp-rr) rrqrrrLrjrHrr3rprro)r orig_tempdirr$rIs r.test_for_tempdir_is_bytes_issue40701_api_warts:TestMkstemp.test_for_tempdir_is_bytes_issue40701_api_wartss''  h..d4j0AB ,'')HB HHRL IIdO  ! !$ ,'335H   ! !("2"2E :  ! !("5"5"7 =  ! !("6"6"8% @'')HB HHRL IIdO  ! !$ .''v6HB HHRL IIdO  ! !$ ,''|)rHrVr6rs rr?TestMkdtemp.test_basicsu !" C() C() CS12 Df56rc [R"5n[R"UR US95 [R"UR USS95 [R"UR USS95 [R"UR USSS95 [R"UR USSS95 UR [ 5 [R"UR US SS95 SSS5 UR [ 5 [R"UR USS S95 SSS5 UR [ 5 [R"UR S SSS95 SSS5 g!,(df  N=f!,(df  Nc=f!,(df  g=f) NrrCrDrErBrFrGrHr=r>r)rrprHrVr6rr rs rrJ'TestMkdtemp.test_basic_with_bytes_namess3  " A&' A401 A401 A4T:; A5g>?   y ) HHT^^t^A B*   y ) HHT^^u&^A B*   y ) HHT^^7^C D* ) * ) ) ) ) )s$ &F#&F&&&F7 F#& F47 GcL[[[55nUHnURSS9X'M UH0n[ U[ 5(dM[ R"U5 M2 g!UH0n[ U[ 5(dM[ R"U5 M2 f=frM)rNrrr6rMrrHrVrOs rrQTestMkdtemp.test_basic_manysyeJ'(  NNtN4 a%%HHQKVa%%HHQKsA++B#B#cF[R"5n[R"UR US95 [R"UR [ R "U5S95 [R"U5 g![R"U5 f=fr)rrkrHrVr6rr(rWs rrX!TestMkdtemp.test_choose_directoryse   HHT^^^, - HHT^^ (:(:3(?^@ A HHSMBHHSMs ABB c\UR5n[R"[R"U5R5nUS-nSn[ R S:Xa US- nUS-nURX#5 [R"U5 g![R"U5 f=f)Niir\r]r^) r6rr_rHrr`rarOrV)rrWr ryrbs r test_modeTestMkdtemp.test_modesnn << 4 45D EMDH||w& 1}:.   T , HHSMBHHSMs A*BB+ntOnly on Windows.cUR5n[R"SU/SS9R5n[R "U5 UR5n[ 5nSnUR5R5HnSnURU5(a URU5R5nO/U(a(USSR5(aUR5nU(dMsURURS5S5 M URSR5U5 g![R "U5 f=f) Nz icacls.exeoemencodingFrg:rz BUILTIN\Users)r6 subprocess check_outputcasefoldrHrVsetstrip splitlines startswith removeprefixisspaceadd partitionr)rrWoutusers found_userlineacls rtest_mode_win32TestMkdtemp.test_mode_win32!s  nn ))<*=NWWYC HHSMlln IIK**,DCs##'',224$r(**,,jjls #--,Q/0- )224e< HHSMs %EEc[5 [SSS5 [R"SS9nUR 5 UR UR RS55 [R"5nUR URS55 SSS5 SSS5 g!,(df  N=f!,(df  g=f)NrrFdelete) rrrrhrrSrVrrk)rrrWs rr-TestMkdtemp.test_collision_with_existing_file<s$ % "5% 7..eD HHTN  ! !$ ,+H |H s G)H66 Ic[R"SS9nUR[RR U55 [R "U5 g![R "W5 f=f)Nrr)rrkrSrHrIrrV)rrIs rtest_path_is_absolute!TestMkdtemp.test_path_is_absoluteksG ##,D OOBGGMM$/ 0 HHTNBHHTNs AAA3r0rG)r1r2r3r4rrr6r?rJrQrXrrrrrrHrVrrrrrr5r0rrrrs|"(7 E  (()"D*<==>=4 12,4rrcb^\rSrSrSrU4SjrU4Sjr"SS5rS SjrSr S r S r U=r $) TestMktempiuzTest mktemp().cV>[R"5Ul[TU]5 gr)rrkrWrrDrs rrDTestMktemp.setUpzs##%  rc>UR(a'[R"UR5 SUl[TU]5 gr)rWrHrVrtearDownrs rrTestMktemp.tearDown~s, 88 HHTXX DH rcP\rSrSr\R r\Rr Sr Sr Sr g)TestMktemp.mktempedic[R"XUS9Ul[R"[R "URUR S55 g)Nrr[)rr;rVrHrrr!)rrWrXrYs rr(TestMktemp.mktemped.__init__s7 CCHDI HHRWWTYY e< =rc:URUR5 gr)r.rVrs rr/TestMktemp.mktemped.__del__s LL #r)rVN) r1r2r3r4rHr3r.rr1r!r(r/r5r0rrmktempedr s )))) >  $rrcURURX5nURURURX5 U$r)rrWr_rV)rrXrYrs rr6TestMktemp.do_creates3}}TXXs0 tyy$((C5 rcUR5 URSS9 URSS9 URSSS9 URSSS9 grrrs rr?TestMktemp.test_basicH  3 3 3C( 4V,rc[[[55nUHnURSS9X'M A[R "5 grM)rNrrr6rrUrOs rrTestMktemp.test_manys<eJ'(A40FI rr)rr) r1r2r3r4rrDrrr6r?rr5rrs@rrrus. $ $ -rrc\rSrSrSrSSjrSrSrSrSr S r S r S r S r S rSrSrSrSrSrSrSrSrg)TestNamedTemporaryFileizTest NamedTemporaryFile().NcUc[R"5n[R"XUUS9nURURXU5 U$)N)rWrrr)rrorhr_rV)rrWrXrYrrs rr6 TestNamedTemporaryFile.do_createsG ;%%'C**ss28: tyy#C0 rcUR5 URSS9 URSS9 URSSS9 URSSS9 grrrs rr?!TestNamedTemporaryFile.test_basicrrcUR5n[R"U5nURnURnAU"S5 AU"S5 A[R "SS9(aUR U"55 gg)NfoosbarT)cpython)r6weakrefrefrrcheck_impl_detail assertIsNone)rrywrrwrite2s rtest_method_lookup)TestNamedTemporaryFile.test_method_lookupsi NN  [[^  f v   $ $T 2   bd # 3rc^/SQmU4Sjn[U"55Hup#URUTU5 M URW[T5S- 5 g)N)sspam seggs sbeans c>[R"SS9nURSRT55 UR S5 U$)Nw+br rr)rrhrrseek)ryliness r make_file3TestNamedTemporaryFile.test_iter..make_files7++7A GGCHHUO $ FF1IHrrg) enumeraterOrK)rr/rlr.s @r test_iter TestNamedTemporaryFile.test_itersP3  ik*DA   Qa )+ CJN+rc[R"5nUR[RR UR 5SUR -5 g)Nz$NamedTemporaryFile %s does not exist)rrhrSrHrIexistsrVrxs rtest_creates_named)TestNamedTemporaryFile.test_creates_nameds<  ' ' ) qvv.>G Irc[R"5n[R"US9nURS5 SSS5 UR [ R "U5/5 UR[ RRWR5SUR-5 [ R"U5 g!,(df  N=f![ R"U5 f=f)Nrr9z(NamedTemporaryFile %s exists after close) rrkrhrrOrHrrrIr6rVrVrrWrys rtest_del_on_close(TestNamedTemporaryFile.test_del_on_closes  ,,5 6   RZZ_b 1   RWW^^AFF3BQVVK M HHSM 65 HHSMs"CCA4C CCC1c [R"5nSn[R"USS9nURnUR S5 UR 5 UR [RRUR5SUR-5 Ub[R"U5 [R"U5 g!Ub[R"U5 [R"U5 f=f)NF)rWrr9z)NamedTemporaryFile %s missing after close) rrkrhrVrrrSrHrIr6r3rV)rrWtmprys rtest_dis_del_on_close,TestNamedTemporaryFile.test_dis_del_on_closes  ++EBA&&C GGG  GGI OOBGGNN1662CaffL N # HHSM # HHSMs BC1Dc[R"5nURS5 UR5 UR5 UR5 gNabc )rrhrrrxs rtest_multiple_close*TestNamedTemporaryFile.test_multiple_closes7  ' ' )       rc|^[R"5mUR[RR TR 55 SSS5 UR[RR TR 55 U4SjnUR[U5 g!,(df  Nc=f)Nc@>T SSS5 g!,(df  g=frr0rysr use_closed?TestNamedTemporaryFile.test_context_manager..use_closed ) rrhrSrHrIr6rVrrrrrIrys @rtest_context_manager+TestNamedTemporaryFile.test_context_managersr  ( ( *a OOBGGNN1662 3+ /0  *j1 + *s 9B-- B;c[R"5n[R"USSS9nURS5 URnUR 5 UR 5 UR[RRUR5SUR<S35 SSS5 SSS5 UR 5 UR[RRWR5SUR<S35 SSS5 [R"U5 g!,(df  N=f!,(df  N=f!,(df  NG=f![R"U5 f=f)NTFrWrdelete_on_closer9NamedTemporaryFile z= is incorrectly deleted on closure when delete_on_close=Falsez" exists after context manager exit) rrkrhrrVrsubTestrSrHrIr6rrV)rrWryf_names r:test_context_man_not_del_on_close_if_delete_on_close_falseQTestNamedTemporaryFile.test_context_man_not_del_on_close_if_delete_on_close_falses   ,,48=BDGH  \\^OOBGGNN166$:1!&&"?@  HHSM$^ DD  HHSMsTE/>E +A D<4E <E/A EE/< E E  EE/ E,(E//Fct[R"5n[R"USSS9nURS5 UR 5 [ R "UR5 SSS5 [ R"U5 g!,(df  N%=f![ R"U5 f=fNTFrQr9) rrkrhrrrHr3rVrVr:s r&test_context_man_ok_to_delete_manually=TestNamedTemporaryFile.test_context_man_ok_to_delete_manually5s  ,,48=BDGH   !&&! D HHSMDD HHSMs#BAB/B BBB7c[R"5nSn[R"USSS9nURS5 URnSSS5 UR [ RRWR5SUR<S35 [ R"U5 [ R"U5 g!,(df  N=f![ R"U5 [ R"U5 f=f)NrFTrQr9rSz exists after close) rrkrhrrVrSrHrIr6r3rV)rrWrUrys r(test_context_man_not_del_if_delete_false?TestNamedTemporaryFile.test_context_man_not_del_if_delete_falseDs  ,,U=ACFG C OOBGGNN1662-affZ7JK M IIf  HHSMCC IIf  HHSMs#CC  AC CC.D c:Sn[R"5 [R"5nU"U5nUR [ R RU5SU<S35 [ R"U5 g![ R"U5 f=f)Ncl[R"USSS9nURnURS5 U$rY)rrhrVrrWrytmp_names rmy_func=TestNamedTemporaryFile.test_del_by_finalizer..my_funcWs6++D.my_funcnsI++DC C C"cD[R"5nUR[RU5 UR [ 5 [R"SSUS9 SSS5 UR[R"U5/5 g!,(df  N5=fNwz bad-encoding)rrW) rrkrrrrr LookupErrorrhrOrHrrWs rtest_bad_encoding(TestNamedTemporaryFile.test_bad_encodingsj   ((#.   { +  ' 'n# N, C"-, + B Bc[R"5nUR[RU5 [ R "S5n[ R "S[ R"55n[5Ul UR[5 [R"US9 SSS5 SSS5 SSS5 W"5RR5 UR[R "U5/5 g!,(df  Nd=f!,(df  Nm=f!,(df  Nv=f)Nztempfile._TemporaryFileWrapperzio.openr)rrkrrrrrpatch mock_openKeyboardInterrupt side_effectrrhr assert_calledrOrHr)rrWmock_ntfrs rtest_unexpected_error,TestNamedTemporaryFile.test_unexpected_errors   ((#. ZZ8 9X ZZ 4>>#3 4 #4#6H ""#45++465:  '') C"-655 4: 9s< +D17%D D1D 9D1 D D  D. *D11 D?r0)NrrT)r1r2r3r4rr6r?r'r3r7r;r?rDrNrVrZr]rgrmrsrzrr5r0rrrrs[$-$ ,I  28  , .. .rrc8\rSrSrSrS SjrSrSrSrSr S r \ R"\ RS 5S 5rS rS rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr \ R"\ RS 5S5r!Sr"Sr#g)!TestSpooledTemporaryFileizTest SpooledTemporaryFile().Nc`Uc[R"5n[R"XX4S9nU$)N)max_sizerWrr)rrors)rrrWrXrYrs rr6"TestSpooledTemporaryFile.do_creates- ;%%'C,,hPS` rcUR5nURUR5 URSSSS9nURUR5 g)Nr rr>)rrXrY)r6r_rolledrxs rr?#TestSpooledTemporaryFile.test_basicsF NN  # NNCSfN = #rc`URUR5[R5 gr)rr6ioIOBasers rtest_is_iobase'TestSpooledTemporaryFile.test_is_iobases dnn. :rc|1Skn[[[R55nX- nUR US5 g)N>rr-tellrflushread1rcloseddetacherrorsfilenoisatty__exit____iter____next__rnewlinesreadablereadintoreadlineseekabletruncatewritable __enter__ readinto1 readlines writelineszMSpooledTemporaryFile missing attributes from IOBase/BufferedIOBase/TextIOBase)rrWrrsr)r iobase_attrsspooledtempfile_attrs missing_attrss rtest_iobase_interface.TestSpooledTemporaryFile.test_iobase_interfaces?  !$C(E(E$F G$<    / rc\[R"5n[R"SUS9nURUR5 UR S5 UR UR5 URnUR5 UR[R"U5/5 [U[5(d2UR[RRU5SU-5 [R "U5 g![R "U5 f=f)N )rrWsblat blat blat blat blat z*SpooledTemporaryFile %s exists after close)rrkrsrrrrSrVrrOrHrrMintrIr6rV)rrWryfilenames rr;*TestSpooledTemporaryFile.test_del_on_closes  --rsCA   QYY ' GGL ! OOAII &vvH GGI   RZZ_b 1h,,  !9@8KM HHSMBHHSMs C%DD+cURSS9nURS5 URURS5 UR [ 5 UR 5 SSS5 g!,(df  g=f)Nrrr)r6rrOrV assertWarnsResourceWarningr/rxs rtest_del_unrolled_file/TestSpooledTemporaryFile.test_del_unrolled_filesV NNBN '  &   o . IIK/ . .s A,, A:z&Emscripten cannot fstat renamed files.cURSS9nURS5 URnUR[R R U55 UR[5 UR5 SSS5 UR[R R U5SU-5 g!,(df  NA=f)Nrqrrz9Rolled SpooledTemporaryFile (name=%s) exists after delete) r6rrVrSrHrIr6rrr/r)rryrVs rtest_del_rolled_file-TestSpooledTemporaryFile.test_del_rolled_files NNAN & vv t,-   o . IIK/  GGNN4 G$ N / .s 0B<< C cURSS9nURUR5 [S5H&nUR SS5 UR S5 M( URUR5 g)Nrrxxxxxxxxxxxxxxxxxxxx)r6rrrr-r)rryrs rtest_rewrite_small+TestSpooledTemporaryFile.test_rewrite_smalls_ NNBN ' #qA FF1aL GGI  #rc`URSS9nURUR5 URS5 URUR5 URS5 URUR5 URS5 UR UR5 g)Nrrr xxxxxxxxxxx)r6rrrrSrxs rtest_write_sequential.TestSpooledTemporaryFile.test_write_sequentials} NNBN ' #   #   #    "rcUR5nURS5 URS5nURUS5 UR 5nURUS5 g)N)ryzrxyzr6rr-rOrrryposbufs rtest_writelines(TestSpooledTemporaryFile.test_writelinessS NN  '(ffQi a ffh f%rc^^TRSS9mUU4SjnTRU"55 TRS5nTRUS5 TR 5nTRUS5 g)Nrqrc3># Sv TRTR5 Sv TRTR5 g7f)Nsxyr)rrrS)ryrsrit=TestSpooledTemporaryFile.test_writelines_rollover..its2K   QYY 'J OOAII &sAArrr)rrrrrys` @rtest_writelines_rollover1TestSpooledTemporaryFile.test_writelines_rollover s` NNAN & ' RTffQi a ffh f%rc*URSS9nURS5 URUR5 UR /SQ5 UR S5nUR US5 UR5nUR US5 g)Nrqrsabc)defrsabcdef)r6rrSrrr-rOrrs rtest_writelines_fast_path2TestSpooledTemporaryFile.test_writelines_fast_pathsr NNAN &   " '(ffQi a ffh i(rcURSS9nURS5 URUR5 UR S5 UR UR5 g)N#r)rrsxxxxxr)r6rrrrrSrxs rtest_writelines_sequential3TestSpooledTemporaryFile.test_writelines_sequential'sN NNBN ' 56 #    "rc.URSS9nURUR5 URSS5nUR US5 URUR5 UR S5 UR UR5 g)Nrrr rr)r6rrr-rOrrS)rryrs r test_sparse$TestSpooledTemporaryFile.test_sparse0sr NNBN ' #ffS!n c" #    "rcURSS9nURUR5 URUR 5S:5 URUR5 g)Nrrr)r6rrrSrrxs r test_fileno$TestSpooledTemporaryFile.test_fileno;sJ NNBN ' #  Q'  "rc[R"5nURS5 URUR5 UR 5 UR 5 UR 5 grB)rrsrrrrrxs r#test_multiple_close_before_rolloverc[R"SSSS9nURS5 URS5 UR UR 5S5 URS5 URS5 UR UR 5S5 UR UR5 UR URS5 URUR5 UR UR[R5 UR URS5 UR URS 5 URS 5 URS5 UR UR 5S 5 URS 5 URS5 UR UR 5S 5 UR!UR5 UR URS5 UR#UR5 UR UR[R5 UR URS5 UR URS 5 g)Nw+rutf-8)r rrzabc rzdef zabc def strictzxyzzy zabc def xyzzy zfoobar zabc def xyzzy foobar )rrsrr-rOrrrr r$rVrrHlineseprrrSrrxs rtest_text_mode'TestSpooledTemporaryFile.test_text_modezs  ) )tb3: <  q  7+  q  <0 # & !&&! RZZ0 W- 8,   q  #67  q  #BC  " & QVV$ RZZ0 W- 8,rc[R"SSSSSS9nURS5 URS5 UR UR 5S5 UR UR5 UR URS5 URUR5 URUR5 UR URS5 UR URS5 URS 5 URS 5 URS5 UR UR 5S 5 URUR5 UR URS5 URUR5 URUR5 UR URS5 UR URS5 g) Nrrrrr:)r rnewlinerruΛ ruΜΜΜΜΜΜΜΜΜΜ u(ΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝuBΛ ΜΜΜΜΜΜΜΜΜΜ ΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ)rrsrr-rOrrrr r$rVrrrrrSrxs rtest_text_newline_and_encoding7TestSpooledTemporaryFile.test_text_newline_and_encodingsm  ) )tb24w19 ;   q  <0 # & !&&! QZZ( W- 8, &'   q  I K  " & QVV$ QZZ( W- 8,rc<^[R"SS9mURTR5 URTR5 SSS5 UR TR5 U4SjnUR [U5 g!,(df  NF=f)Nrgrc@>T SSS5 g!,(df  g=frr0rHsrrIQTestSpooledTemporaryFile.test_context_manager_before_rollover..use_closedrKrL)rrsrrrrSrrrMs @r$test_context_manager_before_rollover=TestSpooledTemporaryFile.test_context_manager_before_rolloversn  * *A 6!   QYY '   QXX &7 !  *j17 6s 7B  Bc^[R"SS9mURTR5 TR S5 TR 5 UR TR5 URTR5 SSS5 UR TR5 U4SjnUR[U5 g!,(df  NF=f)NrgrrCc@>T SSS5 g!,(df  g=frr0rHsrrIQTestSpooledTemporaryFile.test_context_manager_during_rollover..use_closedrKrL) rrsrrrrrSrrrrMs @r$test_context_manager_during_rollover=TestSpooledTemporaryFile.test_context_manager_during_rollovers  * *A 6!   QYY ' GGH  GGI OOAII &   QXX & 7 !  *j17 6s A3C  Cc^[R"SS9mTRS5 TR5 UR TR 5 T UR TR5 SSS5 UR TR5 U4SjnUR[U5 g!,(df  NF=f)NrgrrCc@>T SSS5 g!,(df  g=frr0rHsrrIPTestSpooledTemporaryFile.test_context_manager_after_rollover..use_closedrKrL) rrsrrrSrrrrrrMs @r#test_context_manager_after_rolloverc.[R"SS9nURS5 URS5 UR 5 UR UR 5 URURR5S5 [R"SS9nURS5 UR S5 UR UR 5 URURR5S5 [R"SS9nURS5 UR S5 URUR 5 UR[R"UR55RS5 g) Nrrsabcdefg rrsabcdr)rrsrr-rrrrO_filegetvaluerSrHfstatrst_sizerxs r!test_truncate_with_size_parameter:TestSpooledTemporaryFile.test_truncate_with_size_parameters  ) )2 6   q   # ))+S1  ) )2 6   1  # ))+W5  ) )2 6   2  " !((*-55r:rcnUR[R[[R 5 gr)rrrsrtypes GenericAliasrs rtest_class_getitem+TestSpooledTemporaryFile.test_class_getitems& h;;EB(( *rr0)rNrr)$r1r2r3r4rr6r?rrr;rrrrrrrrrrrrrrrrrrrrrr rrrr5r0rrrrs&$; *"__G    $ #&& )# ## 60-@-4 2 2 2__G;;**rrcB\rSrSrSrSrSrSrSrSr Sr S r S r g ) TestTemporaryFileizTest TemporaryFile().c.[R"5 gr)rrirs rr?TestTemporaryFile.test_basics  " " $rc[R"5n[R"US9nURS5 [R "U5 g! UR 5 [R "U5 e=frT)rrkrirrHrVrr:s rtest_has_no_name"TestTemporaryFile.test_has_no_namesZ""$C&&3/A GGG      s A)A<c[R"5nURS5 UR5 UR5 UR5 grB)rrirrrxs rrD%TestTemporaryFile.test_multiple_closes7&&(A GGH  GGI GGI GGIrcV^U4SjnU"SS5 U"SS5 U"SSSS9 U"S SS S 9 g) Nc>[R"U0UD6nURU5 URS5 TR XR 55 SSS5 g!,(df  g=fr)rrirr-rOr)inputrrfileobjrs r roundtrip;TestTemporaryFile.test_mode_and_encoding..roundtripsO++T\rSrSrSrSSjrS SjrSrSrSr \ R"\ RS :HS 5S 5r\ R"\ RS :HS 5S 5r\R"S 5r\R"S5r\ R"\"\ S5S5\R"S55r\R.S5r\R.S5rSrSrSrSrSrSrSr Sr!\ R"\"\ S5S5S5r"Sr#Sr$g)!TestTemporaryDirectoryiVzTest TemporaryDirectory().NcUc[R"5n[R"XUUS9nURURXU5 UR URXEU5 U$)N)rWrrignore_cleanup_errors)rrortr_rV do_create2) rrWrXrYrecursedirsfilesrJr>s rr6 TestTemporaryDirectory.do_createYs\ ;%%'C))"79 sxx3/ '7 rcU(a`[U5HQn[RRUSU-5n[R"U5 UR XbS- X45 MS [U5HJn[ [RRUSU-5S5nURS5 SSS5 ML g!,(df  M^=f)Nzdir%drgz test%d.txtrs Hello world!)rrHrIrmkdirrKrr)rrIrLrMrNrrVrys rrK!TestTemporaryDirectory.do_create2ds 4[ww||D'A+6ai=!uAbggll4)9:DAQ(BAAAs #C C cR[R"5nSSS5 UR[5n[R"WS9 SSS5 UR WR R [ R5 g!,(df  Nu=f!,(df  NT=fr)rrtrrrO exceptionerrnoENOENT)rrcms rtest_mkdtemp_failure+TestTemporaryDirectory.test_mkdtemp_failureosl ( ( *k +   0 1R  ' 'K 82 ++U\\: + * 1 1sBB B B&c[R"5nURUS9nUR[R R UR5SUR-5 UR5 UR[R R UR5SUR-5 [R"U5 g![R"U5 f=f)Nrz$TemporaryDirectory %s does not exist*TemporaryDirectory %s exists after cleanup) rrkr6rSrHrIr6rVcleanuprrV)rrWrs rtest_explicit_cleanup,TestTemporaryDirectory.test_explicit_cleanupys  3'A OOBGGNN1662BQVVK M IIK   RWW^^AFF3DqvvM O HHSMBHHSMs B+CC1c L[R"5nURUSS9n[R"UR 5nUR UR5SU<S35 [US- S5nURS5 UR5 SSS5 UR[[URS 555[[ R"R%S 55S U<35 URUR5[ R"R%S 5SU<S 35 UR5 UR'UR5SU<S 35 SSS5 g!,(df  N=f!,(df  g=f)z=Test that cleanup doesn't return an error when ignoring them.TrWrJTemporaryDirectory  does not exist a_file.txtw+t Hello world! N*win1Unexpected number of files in TemporaryDirectory  existence state unexpectedz exists after cleanup)rrtr6pathlibr-rVrSr6rrr\rOrKrNglobrr`rarrr working_dirtemp_dir temp_path open_files r#test_explicit_cleanup_ignore_errors:TestTemporaryDirectory.test_explicit_cleanup_ignore_errorssf  ( ( *k~~t&=H X]]3I OOI,,.1)oN Pi,.6) 01  "7   SinnS&9!:; !8!8!?@33<-A B     " ''.%i]2MN P         "%i]2GH J%+ * 76 + *s%A%F;"FCF F F F#rrc[R"5nURUS9n[[R R URS5S5 UR[5 UR5 SSS5 SSS5 SSS5 g!,(df  N=f!,(df  N(=f!,(df  g=f)Nrz example.txtr) rrtr6rrHrIrrVrrr\)rrmrns r#test_explicit_cleanup_correct_error:TestTemporaryDirectory.test_explicit_cleanup_correct_errors  ( ( *k~~+~6Hbggll8==-@$G&&7$$&8H+ * 87HG+ *s<AB<B+0BB+ B< B( $B++ B9 5B<< C c[R"5nURUS9n[RR UR S5n[R"U5 [R"U5 UR[5 UR5 SSS5 SSS5 SSS5 g!,(df  N=f!,(df  N(=f!,(df  g=f)Nrsubdir) rrtr6rHrIrrVrQr change_cwdrrr\)rrmrnrws r test_cleanup_with_used_directory7TestTemporaryDirectory.test_cleanup_with_used_directorys  ( ( *k~~+~6HWW\\(--:F HHV %%f-&&7$$&8. + *87.- + *s<A&C<C B<#C +C< C C  C C C,cvUR5nURSS9n[R"UR[RR URS55 UR 5 UR[RRUR5SUR-5 UR[RRUR5S5 UR[R"UR5S/S5 UR 5 g)NrrLfoor[z-Directory pointed to by a symlink was deletedz test0.txtz>Contents of the directory pointed to by a symlink were deleted) r6rHsymlinkrVrIrr\rr6rSrOr)rd1d2s r(test_cleanup_with_symlink_to_a_directory?TestTemporaryDirectory.test_cleanup_with_symlink_to_a_directorys^^  ^^A^ & 277BGGLL%89  0EO Q rww/G I BGG,{m( ) rc ,^^TRSS9n[RRUS5n[ US5R 5 [RRUS5n[R "U5 [S5GHmTS-mTR[TS5S 9 UU4S jnTRS 5 U"S S S9 SSS5 TRS5 U"S SS9 SSS5 TRS5 [R"UT5 [R"U5RnU"US S9 [R"U5RnTRXeSXe4-5 SSS5 TRS5 [R"UT5 [R"U5RnU"USS9 [R"U5RnTRXeSXe4-5 SSS5 SSS5 GM SSS5 g!,(df  GNb=f!,(df  GNS=f!,(df  N=f!,(df  NY=f!,(df  GM=f!,(df  g=f)Nrr|file1rrr]03or,c>TRSS9n[RRURS5n[R "XUS9 [R "UTSS9 [R "UT5 [R "URT5 UR5 TR[RRUR55 g![a Nf=f![a Nf=fNrr|r~target_is_directoryF)follow_symlinks) r6rHrIrrVr~rNotImplementedErrorrr\rr6)targetrrr~r rs rtestDTestTemporaryDirectory.test_cleanup_with_symlink_modes..tests!^^A^6"$'',,rww "B 64GI!HHWdEJ!HHWd3$/ (()@A 3! ! 1! !$C)(C9) C65C69 DDnonexisting file nonexistingFrnonexisting dirT existing filez %03o != %03o existing dir)r6rHrIrrrrQrrTformatrrrrO)rrrrrold_modenew_moder s` @rtest_cleanup_with_symlink_modes6TestTemporaryDirectory.test_cleanup_with_symlink_modess^^A^ &"GGLLW-E   # # %77<<F+D HHTNa \\vdE':\;B"&89]F:&78]E9o6-#%775>#9#9U>#%775>#9#9(()78:N)NP 7n5t,#%774=#8#8Tt<#%774=#8#8(()78:N)NP 6?<;! ' &2:9887665?<;' &sBJ0I2 H, I2*H> 2I2 A5I I2A5I! I2 J, H; 6I2> I I2 I I2! I/ +I22 J < J Jchflagszrequires os.chflagsc^^[R[R-mTRT5 TR SS9n[ R RUS5n[US5R5 [ R RUS5n[ R"U5 UU4SjnTRS5 U"SS S 9 SSS5 TRS 5 U"SS S 9 SSS5 TRS 5 [ R"UT5 [ R"U5RnU"US S 9 [ R"U5RnTRXe5 SSS5 TRS5 [ R"UT5 [ R"U5RnU"US S 9 [ R"U5RnTRXe5 SSS5 SSS5 g!,(df  GNK=f!,(df  GN<=f!,(df  N=f!,(df  NL=f!,(df  g=f)Nrr|rrrc>TRSS9n[RRURS5n[R "XUS9 [R "UTSS9 [R "UT5 [R "URT5 UR5 TR[RRUR55 g![a Nf=f![a Nf=fr) r6rHrIrrVr~rrrr\rr6)rrrr~r&rs rrDTestTemporaryDirectory.test_cleanup_with_symlink_flags..tests^^A^.'',,rww : 6/BDJJwuEJJw. 277E*   !89+)rrrFrrTrr)r UF_IMMUTABLE UF_NOUNLINK check_flagsr6rHrIrrrrQrTrst_flagsrO)rrrrr old_flags new_flagsr&s` @rtest_cleanup_with_symlink_flags6TestTemporaryDirectory.test_cleanup_with_symlink_flagss!!D$4$44  ^^A^ &"GGLLW-E   # # %77<<F+D HHTN :"01]>2/0]=1o. 5%(GGEN33 U6GGEN33   6 /n- 4'GGDM22 Tt4GGDM22   6 .E' &,2100/..-E' &soB I HI.H+6IA0H=?IA0II H( #I+ H: 5I= I I I I I-c.[R"5nURUS9nURnAUR [ R RU5SU-5 [ R"U5 g![ R"U5 f=f)Nr*TemporaryDirectory %s exists after __del__) rrkr6rVrrHrIr6rVrrWrrVs rtest_del_on_collection-TestTemporaryDirectory.test_del_on_collection*sr  3'A66D   RWW^^D1DtK M HHSMBHHSMs AA<<Bc [R"5nURUSS9n[R"UR 5nUR UR5SU<S35 [US- S5nURS5 ASSS5 UR[[URS 555[[R R#S 55S U<35 URUR5[R R#S 5SU<S 35 SSS5 g!,(df  N=f!,(df  g=f) z@Test that ignoring errors works when TemporaryDirectory is gced.Tr`rarbrcrdreNrfrgrhri)rrtr6rjr-rVrSr6rrrOrKrNrkrr`rarrls r$test_del_on_collection_ignore_errors;TestTemporaryDirectory.test_del_on_collection_ignore_errors7s) ( ( *k~~t&=H X]]3I OOI,,.1)oN Pi,.6) 017   SinnS&9!:; !8!8!?@33<-A B     " ''.%i]2MN P+ * 76 + *s%A%E;EB)E E E EcUR5nSHnSRXS9n[R"SU5upEnUR 5R 5nUR [RRU5SU-5 UR SS5nURSU5 URS U5 M SSS5 g!,(df  g=f) N)builtinsrHshutilr`rrAaif True: import builtins import os import shutil import sys import tempfile import warnings tmp = tempfile.TemporaryDirectory(dir={dir!r}) sys.stdout.buffer.write(tmp.name.encode()) tmp2 = os.path.join(tmp.name, 'test_dir') os.mkdir(tmp2) with open(os.path.join(tmp2, "test0.txt"), "w") as f: f.write("Hello world!") {mod}.tmp = tmp warnings.filterwarnings("always", category=ResourceWarning) )rWr=-cr[rbackslashreplace Exception 'ResourceWarning: Implicitly cleaning up r6rrassert_python_okrrrrHrIr6rr)rrWr=codercrerrrbs rtest_del_on_shutdown+TestTemporaryDirectory.test_del_on_shutdownLs ^^ R&30'( -==dDI ::<--/  !9H8SUjj*<=  s3 GM7S  s B9C C!c [R"5nSRUS9n[R"SU5up4n[ R "UR5R55nUR[[URS555[[RR!S55SU<35 URUR#5[RR!S5SU<S35 URS S 5nUR%S U5 UR%S U5 UR'S U5 SSS5 g!,(df  g=f)z?Test ignoring errors works when a tempdir is gc'ed on shutdown.aif True: import pathlib import sys import tempfile import warnings temp_dir = tempfile.TemporaryDirectory( dir={working_dir!r}, ignore_cleanup_errors=True) sys.stdout.buffer.write(temp_dir.name.encode()) temp_dir_2 = pathlib.Path(temp_dir.name) / "test_dir" temp_dir_2.mkdir() with open(temp_dir_2 / "test0.txt", "w") as test_file: test_file.write("Hello world!") open_file = open(temp_dir_2 / "open_file.txt", "w") open_file.write("Hello world!") warnings.filterwarnings("always", category=ResourceWarning) )rmrrfrgrhrarirr ExceptionErrorrN)rrtrrrrjr-rrrOrKrNrkrr`rarr6rr)rrmr__rrros r"test_del_on_shutdown_ignore_errors9TestTemporaryDirectory.test_del_on_shutdown_ignore_errorsls3  ( ( *k$F{F3% &)99$ELBS SZZ\%7%7%9:I   SinnS&9!:; !8!8!?@33<-A B     " ''.%i]2MN P**W&89C   [# .   Wc * MMCS IC+ * *s EE$$ E2cUR5nSRUS9n[R"SU5up4nUR 5R 5nUR [RRU5SU-5 UR SS5nURSU5 URSU5 SSS5 g!,(df  g=f) Naif True: import sys import tempfile import warnings def generator(): with tempfile.TemporaryDirectory(dir={dir!r}) as tmp: yield tmp g = generator() sys.stdout.buffer.write(next(g).encode()) warnings.filterwarnings("always", category=ResourceWarning) rrr[rrrrr)rrWrrrrrbs rtest_exit_on_shutdown,TestTemporaryDirectory.test_exit_on_shutdowns ^^  FsFO )99$ELBSzz|))+H   RWW^^H5DxO Q**W&89C   \3 / MMCS I)  s B0C  CcUR5nURUSS9nURn[R"S[4SS9 [ R "S[S9 A[R"5 SSS5 UR[RRU5SU-5 SSS5 g!,(df  NI=f!,(df  g=f) N)rWrL ImplicitlyF)quietalways)r<r) r6rVrr@rrArBrrUrrHrIr6rs rtest_warnings_on_cleanup/TestTemporaryDirectory.test_warnings_on_cleanups ^^ 32A66D!//1@1B6;=''?K""$ =   RWW^^D1DtK M  ==  s#8C  0B<9:C < C C  CcUR5nUR5 UR5 UR5 gr)r6r\rs rrD*TestTemporaryDirectory.test_multiple_closes) NN    rcJUR5nUnUR[RR U55 UR X!R 5 SSS5 UR[RR W55 g!,(df  N==fr)r6rSrHrIr6rOrVr)rrrVs rrN+TestTemporaryDirectory.test_context_managersh NN  $ OOBGGNN40 1   T66 * -.Qs A B B"c [S5GH nUS-nUR[US5S9 URSSSS9nU [R "UR SS 9HYup4nUH7n[R"[RRX65U5 M9 [R"X15 M[ UR5 SSS5 UR[RRUR 55 SSS5 GM g!,(df  NT=f!,(df  GM2=f) Nrr]rr,rrqrLrMrNFtopdown) rrTrr6rHwalkrVrrIrr\rr6)rr rrootrMrNrVs r test_modes!TestTemporaryDirectory.test_modess!HD QJD6$#67NN11AN>-/WWQVVU-K)E$)DHHRWW\\$%=tD%*,.LIIK   !7887Q87s%D.B DAD. D+ 'D.. D> cv[Rn[US5R5 [R "X!5 [R "US5 [R"U5 g![ a"nURSUSSU35 SnAN>SnAff=f![R"U5 f=f)Nrxrz chflags() doesn't support flags z#bz: ) rTESTFNrrrHrrrr3)rr&rexcs rr"TestTemporaryDirectory.check_flagss## ' 3  % % ' ( 8+  8Q'   X & 4 @!&r "SE344 4   X &s4B A1B 1 B;BB BB B8c J[R[R-nURU5 UR SSSS9nU [ R "URSS9HYup4nUH7n[ R"[ RRX65U5 M9 [ R"X15 M[ UR5 SSS5 UR[ RRUR55 g!,(df  NG=f)NrrqrFr)rrrrr6rHrrVrrIrr\rr6)rr&rrrMrNrVs r test_flags!TestTemporaryDirectory.test_flagss!!D$4$44  NN11AN 6 %'WWQVVU%C!E!DJJrww||D7?" 4'&D IIK  /0Qs B D D"c[R"SS9nSSS5 UR[RR W55 [ R"U5 g!,(df  NS=f)NFr)rrtrSrHrIr6rr)rrms rtest_delete_false(TestTemporaryDirectory.test_delete_falsesH  ( ( 6+ 7 {34 k"7 6s A$$ A2r0)NrrrgrgrgF)rgrgrg)%r1r2r3r4rr6rKrXr]rqrrrHrVrtryrskip_unless_symlinkrrhasattrrr cpython_onlyrrrrrrrDrNrrrrr5r0rrrHrHVs|$KL(-  ); J0D*<='>'D*<= '> '""#("".P#.P`Y/1FG"",7#H,7\    PP(N@#JJJ0M / 9' Y/1FG 1H 1#rrH__main__):rrUrrHrjr`rarA contextlibrrr!rerrrrrr test.supportrrrr2r1rrrrarrTestCaser r7rdrrrrcontextmanagerrrrrrrrrrrrrhrirr7rHr1mainr0rrrs    "&(((H,C,CC R " <<9%%JJ (7H--(7X,28$$,2^7,7<;7\;7~")|")TILI@  L   2 % %Fn2~|n2b @+4\+4\[,,[,|h.,hV00|_.\_.F_*|_*B  h&<&<<I2LI2Z   c#\c#J  z MMOr