+] SSKrSSKrSSKrSSKrSSKrSSKJrJr SSKJ r SSK r Sr SSK J r SSK J r Sr"S S \R"5r\S :Xa\R("5 gg!\a \R"S5ef=f) N) os_helper SHORT_TIMEOUT) make_scriptF)PROCESS_VM_READV_SUPPORTED)get_stack_tracez8Test only runs when _testexternalinspection is availablecH[XU5n[R"5 U$)N)r importlibinvalidate_caches) script_dirscript_basenamesource to_returns D/opt/alt/python313/lib64/python3.13/test/test_external_inspection.py_make_test_scriptrs J@I ! c\rSrSr\R "\RS:g=(a \RS:gS5\R "\RS:H=(a \(+S5S55r \R "\RS:g=(a \RS:gS5\R "\RS:H=(a \(+S5S55r Sr g ) TestGetStackTracedarwinlinuxz!Test only runs on Linux and MacOSz5Test only runs on Linux with process_vm_readv supportc[R"S5nSn[R"5n[R R US5n[R"U5 US3n[R"U5 [USU5n[R"[RU[U5/5n[US5nUR!5n SSS5 UR#W S5 [%UR&5n[R,"U5 WR/5 UR15 UR3[4S9 /S Qn UR#X*5 SSS5 g!,(df  N=f![(a UR+S5 Nf=f![R,"U5 WR/5 UR15 UR3[4S9 f=f!,(df  g=f) Na import time, sys, os def bar(): for x in range(100): if x == 50: baz() def baz(): foo() def foo(): fifo = sys.argv[1] with open(sys.argv[1], "w") as fifo: fifo.write("ready") time.sleep(1000) bar() script_pkgz /the_fifoscriptrreadyz0Insufficient permissions to read the stack trace)timeout)foobazbarz)textwrapdedentrtemp_dirospathjoinmkdirmkfifor subprocessPopensys executablestropenread assertEqualrpidPermissionErrorskipTestremovekill terminatewaitr) selfr stack_tracework_dirr fifo script_namep fifo_fileresponseexpected_stack_traces rtest_remote_stack_trace)TestGetStackTrace.test_remote_stack_tracesz""    !Xh =J HHZ Zy)D IIdO+J&IK .$$cnnkCI%NO$_ (~~/H%  73-aee4  $ }-$   [ ?7" !%_# R PQ R $ }-%" !sVAG1rWs  12"XB7 9<))9