Caml1999T037^aT^OC,TestToplevelР'Harness&Import'Harness?testsuite/tools/testToplevel.mlOO@ OO@@ @3@@@@#intA;@@A@@@@@&_none_@@A@A@$charB;@@A@@@@@@A@&stringQ;@@A@@@@@ @@@%bytesC;@@A@@@@@@@@%floatD;@@A@@@@@@@@$boolE;@@%falsec@@!@$trued@@'@@@A@@@@@(@A@$unitF;@@"()e@@2@@@A@@@@@3@A@ #exnG;@@@A@@@@@7@@@#effH;@@O@A@A@@@@@@@@@@,continuationI;@@Q@@P@B A@nY@@@@@@O@@@%arrayJ;@@R@AA@@@@@@Y@@@ $listK;@@S@A"[]f@@f@"::g@@@T@@s@ @@A@Y@@@@@v@@@&optionL;@@V@A$Noneh@@@$Somei@@@@@A@Y@@@@@@@@)nativeintM;@@A@@@@@@@@%int32N;@@A@@@@@@@@%int64O;@@A@@@@@@@@&lazy_tP;@@X@AA@Y@@@@@@@@ 5extension_constructorR;@@A@@@@@@@@*floatarrayS;@@A@@@@@@@@&iarrayT;@@Y@AA@Y@@@@@@@@ *atomic_locU;@@Z@AA@@@@@@@@@ .Assert_failure`#@@@@@J@@@@@@@@[@@A۠=ocaml.warn_on_literal_patternߐ@@0Division_by_zero]#@@@A堰  @+End_of_file\#$@@@A@'FailureY#,@'@@A@0Invalid_argumentX#5@0@@A$#@-Match_failureV#>@@=@9@;@@a@@A54@)Not_foundZ#O@@@A=<@-Out_of_memoryW#W@@@A E#D#@.Stack_overflow^#_@@@A(M+L+@.Sys_blocked_io_#g@@@A0U3T3@)Sys_error[#o@j@@A9^<]<@:Undefined_recursive_modulea#x@@w@s@u@@h@@AJoMnM@:Continuation_already_takenb#@@@ARwUvU@&Stdlib@@@@A3@@@O@@@3@@@@ఠ#run SS@AA@@@'Harness&Import&config@@@*A@!@@"@+Environment!t@@@'HA@'@@(@'Harness&Import$mode@@@ A@-@@.$unitF@@@*A@/@@0A@)@@*A@#@@$A@ 3@Q@@@࣠@&config"ASS@BA@@F3@bUSR@@@@@  @@#env#ASS@CA@@H3@!]@@@@@@@@$mode$ASS@%DA@@I3@\@@@@@@@@@ఠ(toplevel%!T"T@8EA@@&stringQ@@@ E@33########@(g@@ @@@డ+Environment)tool_path+Environment?T@T@ CTDT@@@@@@ V@@ U@@@@ T@@ S@2@@@ R@@ Q@:@@@ P@@ O>@@@ N@@ M@@ L@@ K@@ J@?testsuite/tools/environment.mli|  |  @@J@/*@@@@@@ @@ @@@@ @@ @'@@@ @@ @&@@@ @@ c@@@ @@ @@ @@ @@ `@@ఐ#envTT@@@m@@ఐ$modeTT@w@@z@@%ocamlTT@@TT@@_@@@ F@ F@ @@(ocamlnatTT@@TT@@k@@@ F@ F@ @@ @@@A@T @@ డQ&Format&printfUU@ UU@@@&Stdlib&format!a@ &Stdlib&Format)formatter@@@$unitF@@@@@@@@@@@*format.mliww)@@.Stdlib__Format@2-@@@*@@.@@@E@1@@A@ @@@E@E@*@@@@@@E@E@.@@?@@>E@@@@@@E@@@E@@@E@O@@@H@@@@@@@@7@@3GGGGGGGG@%6/@0@1@@@@ภ8CamlinternalFormatBasics+&Format-aUbUA;&Format8CamlinternalFormatBasics'format6!a@i!b@j!c@k!d@l!e@m!f@n@@@@'#fmt$ @@@Ġ&stringQ@@@@B@@A@A@!x@@@=!c@@@<@@;@@:@ @@9!a@@@8@@7!d@à!e@Ġ!f@@@@6@/$@@@?@AOAYAA''(.(j@@@o@ภ,Char_literal;,Char_literal!a@!b@!c@!d@!e@!f@@@@%@$charB@@@&)%!@@@'@BLAYAA%%%%@@@l@J%@@@@XF@[F@Z;@ภ6`%Flushb5;%Flush !a@u!b@v!c@w!d@x!e@y!f@z@@@ @-"@@@!@AJAYAA$##%$Y${@@@]j@ภq-End_of_formatp;-End_of_formatF!f@4!b@5!c@6!e@7@@@o@@@@AYAAM..N./!@@@y@@@fE@E@ E@8G@]E@ E@E@7G@^G@_G@`G@aG@b@@@gF@o@@@!G@MG@N&G@O)G@P,G@Q/G@R@@@YF@f@@@7E@(9G@2;G@3=G@4@@@KF@W@@@!G@=FGHI@@@"F@B@@@.G@HQRST@@@F@@ %Testing loading of libraries in %a %!@@@@@F@qF@p @@@@rH;+@@@F@ @@డ8'pp_path+EnvironmentuV*vV5@ yV6zV=@@@@@@ r@@ q@&Stdlib&Format)formatter@@@ p@@ o@c@@@ n@@ m$unitF@@@ l@@ k@@ j@@ i@7N  8N  @@N@/*@@@@@@@@@'@@@@@@@@@@@ @@@@@@@@@k@@ఐ̠#envV>VA@@@x@@V)VB@@E@}@@ఐ(toplevelVCVK@@@F@@@@@@@ఠ:test_libraries_in_toplevelWMSWMm@FA@@@$listKd@@@$$J@!@@@!E@@@$unitF@@@*eE@@@E@3@@@@࣠@)librariesAWMnWMw@,GA@@'3@6WMOP@@@@@  @@@ఠ+has_c_stubs+Xz,Xz@BHA@@$boolE@@@%G@3--------@+H@"@#@@@డ+Out_channel.with_open_textG[H[@ K[L[@@@&stringQ@@@@@@@g+Out_channel!t@@@@@!a@D@@@@@@@@@/out_channel.mliH  H  @@@3Stdlib__Out_channelQ@,'@@@$@@@(@@'@@!@@@&@@%VG@"@@$@@#@@!@@ 3}}}}}}}}@P@@@@6test_install_script.ml[[.@@[[/@@F@@@:H@,j2D@ /j2E0j2L@@@&Stdlib+out_channel@@@"@@"@ &format!a@"w+out_channel@@@"$unitF@@@"@@@"@@"@@"@@"~@*printf.mliR[[R[@@.Stdlib__Printf@@61@@@.@@@"@@"@)@@@#@@@#@@@@#@@#@@@$#@@@@$Y@@$X^@@@$N@#N@#WN@$B@@$WN@$ @@$"N@#@@#N@#@@#N@#n@@#N@"P@@@"N@@@"@Aa:'format4BN@#N@# @##@#$@#%@A'format6@#(*@#))@#*.@#+@A8CamlinternalFormatBasics'format6.@#.C@#/B@#0E@#1H@#2K@#3@@#4@#-6@#,@#'L@#&@#"@@"@@"@@"@@"3@@@@@@@ఐV"ocj2Mj2O@7@@@A&Stdlib+out_channel@ @#!O@# @@#@@ภ kP^ mAภx w-#directory "+@@\@@@#jO@#mO@#l@@ภ &String  ;&String!x@!b@!c@!d@!e@!f@@@@!a@@'padding)@p@@@@@@@@@@2.*&"@@@@BBAYAAZ|@@@b@ภ) S*No_padding Uo;*No_padding(!a@@@@@@@@ABAAee@@@.j@@@8.P@#p.@@@#O@#@ภJ t u+";; #load "@@@@@#O@#O@#@ภ^  ภf = <@@dTP@#T@@@#O@#@ภv  n@p@@@#O@#O@#@ภ  ภ h g@@yP@#ڠy@@@#O@#@ภ ˠS R:";; print_endline "Loaded @@7@@@$ O@$ O@$ @ภ ߠ ڠภ  @@P@$@@@$!O@$-3@ภ  n@@@@$>O@$AO@$@F@ภ  %ภ  -@-@P@$D@@@$VO@$b^@ภ " #=#";;B@B@@@@$sO@$vO@$ur@ภ  6 7Q@Q@N@#iN@#N@#N@#N@#N@#N@$N@$ N@$=N@$UN@$rP@$dR@@@#O@#VO@#hO@#O@#O@#O@#O@#O@$O@$O@$@@@$ZO@$p@@@(-P@$/.EFGH@@@$?O@$S@@@497NOPQ@@@$%O@$;@@@?JP@#AXYZ[@@@$ O@$@@@KVJabcd@@@#O@$@@@VjP@#ŠTklmn@@@#O@#@@@bv]tuvw@@@#O@#@@@mP@#g~@@@#O@#@@@yp@@@#O@#@@@P@#[z@@@#kO@#*@@@P@#6@@@#XO@#g6@ A#directory "+%s";; #load "%s.%s";; print_endline "Loaded %s.%s";;@@@@@#YO@$O@$B@@@@ɠ@AO@$O@$O@$@AO@$O@$O@$O@$@AO@$O@$O@$O@$O@$O@$@@$O@$/@$O@$@@$O@$@@#O@#U@@ఐH'library n n@)@@@@ఐU'library n n@6@@@@ఐL#ext n n@@@"O@$@@ఐq'library n n@R@@@@ఐh#ext n n@ʰ@@/O@$@@@@+N@#@డ ="|| p   p  @@@@@]@@\@@@@[@@Z@@@Y@@X@@W'%sequorBA>@@@@=>@@^@ @@@@@@$@@$@@@@$@@$@@@$@@$@@$ @@ఐנ*c_bindings o  o @°@@@@డ "&& p  7 p  9@@@@@V@@U@@@@T@@S@@@R@@Q@@P(%sequandBA@@@@@@ 4]@! @@@@@@$@@$@@@@$@@$@@@$@@$@@$V@@డ "<> Rp  * Sp  ,@@!a@@@ @@@0@@@@@@@)%notequalBAà@@@@~QQ~Q@@ nR@@@@yO@$@@$@@@$@@@$@@$@@$@@ఐJ'library p  " p  )@+@@@@'dynlink p  . p  5@@ p  - p  6@@P@$@@@@@@@$@$P@$@@డ  p  ? p  @@@@@ O@$@@$@@@$@@@$@@$@@$@@ఐ $mode p  : p  >@ @@ @@ภ(Bytecode p  A p  I@@@@ P@$@@@@@@@$@$P@$@@ p  ! p  J@@ @@@$@$O@$@@ o  p  K@@*N@$@@@@@@@ ]Un p  L@@@@@!@@@!@@!@@!K@%K@$8@@ภ%false p  M p  R@;  @@@M@@@@B@@A @@ @ @@OK@%@@ఐ )libraries p  S p  \@@@-@@G@@Z@A@ !\;C@@ డ &Printf'fprintf 1r h p 2r h v@  5r h w 6r h ~@@@@@@@@%@@%@ @@@%J@%$J@%@@@%@@@%@A@%,@%-@%.@A(@%1#@%2"@%3'@%4@A<@%77@%86@%99@%:<@%;?@%<@@%=@%6/@%5@%0@@%/@%+@@%@@%O@@% @@% 3        @@@@@@@ఐ"oc r h  r h @ݰ@@E@AG@@%*K@%)@@%'@@ภ \  [  r h  r h A Zภ g     (#quit;; @@ @@@%sK@%vK@%u;@ภ {    @@ OJ@%`J@%rL@%d@@@%#K@%_K@%q  @@@%tK@%Z@@6@ fL@%?@@@%aK@%pf@7F@F@ l@@@%bK@%K@%q@@ML@@ǠƠ&@Ak6K@%3K@%K@%@AwfFK@%CK@%K@%K@%@AvdZK@%WK@%K@%K@%K@%K@%@@%K@%/@%K@%@@%K@%@@%"K@%^@@@@ @ఐ+has_c_stubsWs  Xs  @@@)@*@@*@;@@+@][0^s  @@@@@@8@@7@@6H@%H@%3@@$ @@4@A@lXz~@@@ఠ$argstwu  xu  @NA@@  @@@%G@%@@@%G@%3}}}}}}}}@Qb[@\@]@@@ภ"::v  v  A; @@U@ B@AA@Ad@@ '-noinitv  v  @@v  @@@ภv  A+-no-versionv  v  @@ v  @@1G@%-@ภ+v  *A))-nopromptv  v  @@ v  @@DG@%@@ภ>v  =A<6test_install_script.mlv  v  @@ v  @@WG@%S@ภ"[] PA;KO@@@@AA@A@@J@ SA@EhH@%@@@%G@%e@@ \A@NqH@%@@@%G@%n@@<eA@WzH@%@@@%G@%w@@XnA@`@@@%G@%~@@v  v@@@@@%@A@ u  |@@@ఠ2expected_exit_codeux  x  #@.OA@@@@@&G@%3@@@@@@డ -{  .{  @@@@@@@%@@%@@@@%@@%@@@%@@%@@%!@@ఐ +has_c_stubsK{  L{  @İ@@7@@@%H@%H@%5@@డ #nota{  b{  @@ 7@@@O@@N ;@@@M@@L(%boolnotAAΠ@@@LLLt@@ x\@@@@@@@%@@%@@@%@@%c@@డ&Config9supports_shared_libraries&Config{  {  @ {  {  @@$boolE@@@&@0utils/config.mlia**a**@@&ConfigR@@@D@@@%I@&I@&@@O@@@@@%@&I@%@@m @@@@@&H@%@}|  |  @@@@~  ~  @@G@&@{  @@@A@x  @@@@ఠ)exit_codeؠ@  @  @PA@@#intA@@@'@@@'=G@&@@)@@@)@@@&#@డ +run_process+EnvironmentG  G  @ G  G  @@'runtime&optionL$boolE@@@ @@@ @@ %stubs@@@ @@@ @@ &stdlib!@@@ @@@ @@ 4prefix_path_with_cwd/,@@@ @@@ @@ %quiet=:@@@ @@@ @@ %failsKH@@@ @@@ @@ @@@@ @@ @_@@@ @@ %argv0hl@@@ @@@ @@ @y@@@ @@@ @@ @@@@ @@@@ @@@ @@ @@ @@ @@ @@ @@ @@ @@ @@ @@ @@ @M`Nc@@R@@@@@@&@@@&@@&@@@&@@@&@@&@@@&@@@&@@&@@@&@@@&@@& @@@&@@@&@@&͠@@@&@@@&@@&@E@@@&@@&@@@@&@@&~@@@&@@@&@@&@}|@@@&@@@&@@&@@@@@&ޠ@.+@@@&@@@&@@&@@&@@&@@&@@&@@&@@&@@&@@&@@&@@&F@ภ$Some;@@W@A@AA@A @@డ46GI  7HI  9@3@@@3@@@'b@@'a@2@@@'`@@'_1@@@'^@@']@@'\q@@డ ؠ ڰfI  ,gI  -@ װ@@@I@'x@@'y@@@'w @@@'v@@'u@@'t@@ఐu$modeI  'I  +@S@@@@ภ(BytecodeI  .I  6@ @@@J@'@@@@{@@@'r@'J@'@@డ#notI  :I  =@D@@@D@@@'@@'C@@@'@@'@@ఐؠ&configI  >I  D@@@@>launcher_searches_for_ocamlrunI  EI  c@3>launcher_searches_for_ocamlrun @@@$boolE@@@@@D'3,has_ocamlnat  @@@@@@@A [z   \z  @@.Y@3,has_ocamlopt@@@@@A@A e|   f|  @@8Z@33has_relative_libdir &optionL&stringQ@@@@@@@@B$@A x~ Y ] y~ Y @@K[@32has_runtime_search3&Config-search_method@@@@@C2@A A   A  !@@Y\@A3 %target_launcher_searches_for_ocamlrunA>@@@@@E<@A G e i G e @@c^@3H  H  @@@@@@@'H@'@@'@ @@'@@@'@@'@@'%@@ఐ2expected_exit_codeH  H  @/@@2@@@#H  $H  @@"I@'=@@(H  )H  @@@@@'K@'I@'G@@ @נ @@@'K@@ఐE#env?J e @J e @-@@X@@ఐ+(toplevelLJ e MJ e @@@@@@'FH@'H@'l@̐ภ*@*@7@@@'@@@'@@'|@@ఐ$argspJ e qJ e @P@@۠@@@'A@@@'@H@'H@'@@e@@@@@@'H@';@A@@  @@ డ[.display_output+EnvironmentL  L  @ L  L  @@@@@@ @@@ @@ @@@ @@ @I  J ! @@T@@@@@@@'@@@'@@'@@@'@@'3@@@@@@@@@ఐޠ&outputL  L  @ @@65@@@'@@@'H@'H@'@@J@@@@@'G@'#@ డg"<>M  M  @@@@@@@(G@(@@(@ @@(@@@(@@(@@(C@@ఐ3)exit_codeM  M  @L@@P@@ఐ2expected_exit_codeM  M  @4@@&H@(_@@@@ I@@@(H@(e@డ8,fail_because'Harness6N 7N@ :N;N@@@&Stdlib'format4!a@$unitF@@@ܠg@@@ݠ!b@@@@@@@@@ oZZ oZ@@i@/*@@@'@v@@@(u@@(t@#intA@@@(@@(L@@@(G@(G@(G@(@@(G@(^@@(sG@(<@@@(9@@@(@AQ, ڠ2G@(zG@(+@(1@(2@(3'@(4@A  ۠@(7+@(8*@(9-@(:0@(;?@(<@@(=@(62@(5@(0@@(@@(Y@@(@@ภqpN NFAoภ|   ภ [ Z@@ {I@(`{@@@(rH@(~&@ภF#E was expected to exit with code (@(@*@@@(H@(H@(:@ภҠ#Int8;#Int}!x@!b@!c@!d@!e@!f@@@@!y@ !a@#@(int_conv@@@ ٠2@@@)precision@@@@@@@@@@@Ġ#C?;73@@@@DDAYAA%%@@@d@ภ2%Int_d4;%Int_d4@@@@@@@P@@AUU@@@E@@@>@@@(H@(@ภ J K @@ I@(G@(H@(@@@(H@(@ภ3],No_precision_;,No_precisionS!a@ޠ@@@@@@@BAAAlLNlLq@@@8o@@@c"1@@@(H@(@ภS}~@@'5p@@@(&H@(ZH@(pH@(H@(u@@@('H@([H@(qH@(H@(  PI@(@@@(H@(@@@JdI@("^I@(@@@(H@(@@@Xr-"#$kI@(e@@@(vH@(+@@ @eI@(?9./0yI@(D@@@(\H@(o9@ $%s was expected to exit with code %d3@3@n@@@(]H@(H@(E@@:9@@ʠQF@A YH@(Ѡ_H@(ҠVH@(ӠH@(@A i WH@(נsH@(ؠjH@(٠mH@(ڠpH@(۠H@(@@(H@(֑/@(H@(@@(%H@(Y}@@ఐ*(toplevelKOGbLOGj@@@H@(@@ఐC2expected_exit_codeZOGk[OG}@p@@H@(@@*@@G@(.@@bM  @@@డ#Sys&removepPqP@ tPuP@@@&stringQ@@@)@@)@@@)@@)/caml_sys_removeAA @@@'sys.mli~  ~  @@+Stdlib__SysF@!@@@@@@*^@@*]@@@*\@@*[@@6test_install_script.mlPP@@P@@/@@@*gG@*iG@*h@@?@@@N@@@@@@*@@@@@@@@-@I@@~@A@E@*k@A@@డ5$List$iterRR@ RR@@@@!a@@@@@@@@@@@@@@@@@@@@@@@@@@U@)$@@@@@@@*@@@*D@*r@@*v&@@@*u@@*t@@*s@%@@@*q@@*p3@@@*o@@*n@@*m3@+$@%@&@@@@ఐ2:test_libraries_in_toplevelRR@ @@@-(@@@*@@@*@@*%@@@*@@*@@ఐQ&config7R8R@6@@-@)libraries>RM@ N@@cQ@@@*E@*E@*;@@W@@r<@-X@@sA@jY@@tB@{Z@@u@d[A@A@*b@A@_@_^@s@@@@@3IIIIIIII@@@@,TestToplevelA@@ H************************************************************************]A@@^A@L@ H cBMMdBM@ H OCaml iCjC@ H oDpD3@ H David Allsopp, University of Cambridge & Tarides uE44vE4@ H {F|F@ H Copyright 2024 David Allsopp Ltd. GG@ H HHg@ H All rights reserved. This file is distributed under the terms of IhhIh@ H the GNU Lesser General Public License version 2.1, with the JJ@ H special exception on linking described in the file LICENSE. KKN@ H LOOLO@ H************************************************************************MM@ | This test verifies that a series of libraries can be loaded in a toplevel. Any failures cause the script to be aborted. QRM@ [ Generate a test script for loading each library in a separate toplevel instance. YZ@ dynlink.cmxs does not exist, for obvious reasons, but we can check loading the library in ocamlnat "works". bcU@ d Systems configured with --disable-shared can't load bytecode libraries which need C stubs y & ,z v @  In the Renamed phase, the ocaml binary will only be able to start if the launcher searches for ocamlrun (as the Windows executable launcher does). CAML_LD_LIBRARY_PATH will need to be set if any of the libraries being loaded need C stubs. Finally, Config.standard_library will still point to the Original location, requiring OCAMLLIB to be set for the toplevel to start at all. A  !F  @@../ocamlopt.opt)-nostdlib"-I(./stdlib"-g0-strict-sequence*-principal(-absname"-w8+a-4-9-40-41-42-44-45-48+-warn-error"+a*-bin-annot/-strict-formats"-I/testsuite/tools"-I%utils"-I'parsing"-I&typing"-I(bytecomp"-I,file_formats"-I&lambda"-I*middle_end"-I2middle_end/closure"-I2middle_end/flambda"-I=middle_end/flambda/base_types"-I'asmcomp"-I&driver"-I(toplevel"-I%tools"-I'runtime"-I1otherlibs/dynlink"-I-otherlibs/str"-I4otherlibs/systhreads"-I.otherlibs/unix"-I8otherlibs/runtime_events"-I/testsuite/tools"-I/testsuite/tools2-function-sections"-c J/home/ci/builds/workspace/precheck/flambda/false/label/ocaml-ubuntu-latest A6543210/.-,+*)('&%$#"! @@0w4دI&'*63@@@5Build_path_prefix_map0DGl}%Y5Lhi(Byterntm0udTw|dxv ,Bytesections0@3\f8CamlinternalFormatBasics0|.e1R$|o&Config0܈[P(N {~Š0A. ,wEzD*Format_doc0uy@GmWUࠠJ06la7̖n$Misc0]\/j*^e&Stdlib0t0VoS%{<F:0Stdlib__Bigarray081}wJf֠.Stdlib__Buffer0,I[?z/Stdlib__Complex0e<9r@fǠ.Stdlib__Digest0#z25I*.Stdlib__Domain0'Ϳo\0m.K.Stdlib__Either0HD ?|>.Stdlib__Format0b HvkR/Stdlib__Hashtbl0(L%bԠ,Stdlib__List0+TJaN.?+Stdlib__Map0*4ɇ2ɠĐ0I)/~S׋D@@AJC < F@  @‘@@@ӑ@@ku",@@@ @@@@@@@Pߓ@4@1@@@A@@