L i ddlZddlmZmZmZddlmZmZmZm Z m Z m Z m Z ddl mZmZmZddlmZddlmZmZede e gdZede e gd Zeed Zeed Zed d dgdZdZdZeeedddeegede e gdZede e gdZede e gdZy)N) LokyBackendMultiprocessingBackendThreadingBackend)BACKENDSDEFAULT_BACKENDEXTERNAL_BACKENDSParalleldelayedparallel_backendparallel_config)npwith_multiprocessing with_numpy) check_memmap) parametrizeraisescontextc&tj}|d} ttjtsJ |j t tjt |usJy#|j wxYw)N threading)r _backend isinstancer unregistertype)rdefaultpbs ]/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/joblib/test/test_config.pytest_global_parallel_backendrslj!!G  B(*--/?@@@   ## $W 55 5 s $A>>Bcd}|td< |d5ttjtsJ dddtd=y#1swYxYw#td=wxYw)Ncttd<y)Nfoo)rrr register_fooz,test_external_backends..register_foo$s *r"r )rrr rr)rr#s rtest_external_backendsr$"sg+ ,e% U^ Ehj113CD DD E e $ E E e $s!A%A A AA A!ctdd|5td5}t|jtsJ|j dk(sJ|dt jjdgdzDttj|dkDsJ ddddddy#1swYxYw#1swYyxYw) Nn_jobs max_nbytes temp_folder processes)preferc3FK|]}tt|ywNr r.0as r z2test_parallel_config_no_backend..:s K1#gl#A& K! r) r r rrrr)r randomlenoslistdirtmpdirps rtest_parallel_config_no_backendr>/s aV D/ [ ) /Qajj+6 6688q= =  K1A1A"1E0F0J K Krzz&)*Q. ..  /// / ///s# B;BB/B;/B8 4B;;Cc tdd|5tddd5}t|jtsJ|j dk(sJt td 5|d tjjd gdzDdddddddddy#1swYxYw#1swYxYw#1swYyxYw) Nr'r(r&r,1M)r)r-r*zExpected np.memmap instancematchc3FK|]}tt|ywr/r0r1s rr4z;test_parallel_config_params_explicit_set..HsOq'','*Or5r6) r r rrrr)r TypeErrorr r7r;s r(test_parallel_config_params_explicit_setrF>s aV DP Q{t D Pajj+6 6688q= = )FG PORYY5E5Eb5I4JQ4NOO P  PPP  P P  P PPPs:B??B31B'B3B?'B0 ,B33B< 8B??Cparamr-requirectt|d5tdi|di5tddddddy#1swYxYw#1swYyxYw)Nz=wrong is not a validrBwrongr!)r ValueErrorr r )rGs rtest_parallel_config_bad_paramsrLKsZ  UG+@"A B  0w/ 0  J   sA  ?A A A  Acttd5td5 ddddddttd5td5 ddddddttd5tttd5 ddddddy#1swY~xYw#1swYxYw#1swYfxYw#1swYjxYw#1swYBxYw#1swYyxYw)Nz'only supported when backend is not NonerBr'inner_max_num_threads) backend_paramz'only supported when backend is a string)backendrP)rrKr rrr!r"r'test_parallel_config_constructor_paramsrRTs  "K L 1 5     "K L 1 -     "K L Xo%>a P           si B*BB* CB6C2C C CB' #B**B36B? ;CC C CC#ctd5t}t|jtt sJ|j dk(sJ dddtd5td5t}t|jtsJ|j dk(sJ ddddddtd5td5t}|jdk(sJ|j dk(sJ ddddddy#1swYxYw#1swYuxYw#1swYyxYw#1swY6xYw#1swYyxYw)Nr&r)rrQd)verbose) r r rrrrr)rrW)r=s rtest_parallel_config_nestedrXds#  " J!**h&?@@@xx1}}  -! A & ! Aajj*:; ;;88q= = !!  %! A & ! A99# ##88q= = !!!  ! !!! ! !!!sS?D! D'.8D'D' D?-D3>D?DD$ D''D03D< 8D??ErQmultiprocessingrcdttd5||ddddy#1swYyxYw)Nz#does not acc.*inner_max_num_threadsrBr'rN)rAssertionError)rrQs r1test_threadpool_limitation_in_child_context_errorr\zs. &L M2q1222s &/cr|dd5td5}|jdk(sJ dddddd|d5tj}td5}|j|k(sJ ddddddy#1swY_xYw#1swYcxYw#1swY*xYw#1swYyxYw)Nrr&rQr)rTrUr r))rr=default_n_jobss rtest_parallel_n_jobs_noneras Q /! T " !a88q= = !!  %.!** T " .a88~- -- ... ! !!!  . ...sE BB B!B-%B!8B- B BB!B* &B--B6c|dd5|dd5t5}|jdk(sJ dddddddddy#1swYxYw#1swYxYw#1swYyxYw)Nrr&r^r'r_)rr=s r test_parallel_config_n_jobs_nonercss Q /% [ 6 % %qxx1}$} % %%% % % % %%%s7 A% AA AA% A AA" A%%A.) r9joblib._parallel_backendsrrrjoblib.parallelrrrr r r r joblib.test.commonr rrjoblib.test.test_parallelrjoblib.testingrrrr$r>rFrLrRrXr\rarcr!r"rriso  DC2. Y*:;<6=6 Y*:;< %= %  /  / P P Wx+,-  !,    %;%=?O?QR Y*:;<2=  2  Y*:;< .= . Y*:;<%=%r"