Caml1999T037h) C4TestBytecodeBinariesР'Harness&Import'Harness 'testsuite/tools/testBytecodeBinaries.mlOO@ OO@@ @3@@@@@@#intA;@@#intA@@@@@&_none_@@A@A@$charB;@@$charA@@@@@ @A@&stringQ;@@&stringA@@@@@@@@%bytesC;@@%bytesA@@@@@@@@%floatD;@@%floatA@@@@@@@@$boolE;@@%falsec@@%@$trued@@+@@@A@@@@@,@A@$unitF;@@"()e@@6@@@A@@@@@7@A@ #exnG;@@@A@@@@@;@@@#effH;@@O@A@A@@@@@@D@@@,continuationI;@@Q@@P@B,continuationA@nY@@@@@@T@@@%arrayJ;@@R@A%arrayA@@@@@@_@@@ $listK;@@S@A"[]f@@l@"::g@@@T@@y@ @@A@Y@@@@@|@@@&optionL;@@V@A$Noneh@@@$Somei@@@@@A@Y@@@@@@@@)nativeintM;@@)nativeintA@@@@@@@@%int32N;@@%int32A@@@@@@@@%int64O;@@%int64A@@@@@@@@&lazy_tP;@@X@A&lazy_tA@Y@@@@@@@@ 5extension_constructorR;@@5extension_constructorA@@@@@@@@*floatarrayS;@@*floatarrayA@@@@@@@@&iarrayT;@@Y@A&iarrayA@Y@@@@@@@@ *atomic_locU;@@Z@A*atomic_locA@@@@@@@@@ .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@@A5!4!@)Not_foundZ#O@@@A&=)<)@-Out_of_memoryW#W@@@A.E1D1@.Stack_overflow^#_@@@A6M9L9@.Sys_blocked_io_#g@@@A>UATA@)Sys_error[#o@j@@AG^J]J@:Undefined_recursive_modulea#x@@w@s@u@@h@@AXo[n[@:Continuation_already_takenb#@@@A`wcvc@&Stdlib@@@@A3@@@O@@@3@@@@ఠ-is_executable R&*R&7@AA@@@&stringQ@@@A@q@@@A@@@A@3@'@@@డ1#Sys%win32S:?S:B@ S:CS:H@@$boolE@@@@'sys.mli@@+Stdlib__SysZ@@@@@@ZA@Y3@P@@@డZ#Fun%constTNRTNU@ TNVTN[@@@!a@}@@@~@@@@@'fun.mli[''['B@@+Stdlib__FunA@@@@X@bZ@@@@+@@ภ$true TN\!TN`@;d@@@M@@@AB@@A@@@@@kB@>@@1 @@x?@࣠@&binary{A7Vhp8Vhv@NBA@@x@@@@ డ$Unix&access$UnixPWzQWz@ TWzUWz@@@@@@ @$listK$Unix1access_permission@@@ @@@ $unitF@@@ @@ @@ @7otherlibs/unix/unix.mliu9u9u9un@@@*%@@@@@@@"@@@@@@@@@@@@@3@]@T@U@@@@ఐd&binaryWzWz@ @@@@ภ"::WzWzA;@@U@B@AA@Aw@@ภ$UnixWz@$X_OKWzWz@@;$X_OKY@@@ @@@BD@@ANqrOqr@@@\@@# @@f@@@D@D@ C@ภ"[]0A;7/@@@@AA@A@@6@3A@1@@@D@S@@Wz;@@@@@D@[@@B@@@@@C@b@ภӰWzWz@@@@6@@@m@@@n@Ġ$UnixXX@*Unix_errorX X@@;*Unix_error#exnG@@@ @%error@@@ c@@@  h@@@ @C@@A&_none_@@A@@F@@,X-X@@@@@@@@@@@@@ @@@@@@@9@@3@@@ @@@ภ%falseEXFX@;%@@@@B@@A@@@@@@@@KWz@@W@MVhl@@A@'@QS:< @@@A@SR&&@@@@ఠ#runY`^a^@wCA@@@'Harness&Import&config@@@#A@)@+Environment!t@@@,A@.$unitF@@@2@A@ _@@ డz&Format&printf`9;`9A@ `9B`9H@@@&Stdlib&format!a@נ&Stdlib&Format)formatter@@@Y$unitF@@@Z@@@X@@W@*format.mliww)@@.Stdlib__Format@0+@@@(@@(@@@D@6@@@@D@D@2@@@D@D@5@@B@@AD@@ D@@@D@@@D@D@@@=@@@@@@.@@3srrsssss@@@@@@@ภ8CamlinternalFormatBasicsU&FormatW`9I`9nA;&Format8CamlinternalFormatBasics'format6!a@!b@!c@!d@!e@!f@@@@@'#fmt$ @@@֠&stringQ@@@@B@@A@A Testing bytecode binaries in @@@@@*E@-E@,@ภ%Alpha;%Alphao@@!b@X@!x@T!c@W@@[@@Z@ !a@S@@Y@@X !d@Y!e@Z!f@[@@@W@+"@@@\@AOAYAA''(.(j@@@o@ภ5,Char_literal7;,Char_literal!a@"!b@#!c@$!d@%!e@&!f@'@@@H@$charB@@@Iߠ)%!@@@J@BLAYAA%%%%@@@l@J@@@@UE@XE@W3@ภ.-End_of_format-;-End_of_format!f@!b@ !c@à!e@Ġ@@@@@@@AYAA .. ./!@@@Cy@@M@#~D@D@)D@=F@JD@D@(D@@@@E@'@ ! Testing bytecode binaries in %a @@h@@@E@bE@a@@@@ݠ@@@E@@@డm'pp_path+EnvironmentHaoIao@ LaoMao@@@@@@@&Stdlib&Format)formatter@@@@@@@$unitF@@@@@@@@@@N  N  @@N@)$@@@@@@}@!@@@|@@@@{@@@z@@y@@x@@w@@ఐ䠐#envaoao@°@@@@aoao@@@D@@@ఐࠐ&bindiraoao@"@@BE@'@@@@4(@@ఠ(ocamlrun1bb@GA@@@@@D@3@<@@@డ(ocamlrun+Environmentbb@ bb@@@W@@@ @@@ @@ @A  A  @@\K@@@@d@@@,@@@@@+@@ఐE#envbb@#@@y8@@+@@=9@A@b@@@ఠ*exec_magic2cc@HA@@@#intA@@@@$listKQ@@@@@@@@D@3@rk@l@m@@@డP+run_process+Environment+d,d@ /d0d@@'runtime&optionL$boolE@@@G@@@F%stubs@@@E@@@D&stdlib@@@C@@@B4prefix_path_with_cwd)&@@@A@@@@%quiet52@@@?@@@>%failsA>@@@=@@@<@@@@;@@@@:%argv0X@@@9@@@8@@@@7@@@6@@@@3@@@@5@@@4@@2@@1@@0@@/@@.@@-@@,@@+@@*@@)@@(@`c@@7R@@@@@@@@@|z@@@@@@yw@@@@@@vt@@@@@@sq@@@@@@pn@@@@@@@u@@@@m@@@l j@@@@@@@ih@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ภ$None;fsp@@W@@@@AA@A@@i@@@@@ @@@ @ภ@@@@@@@@ !@ภ#"@@ @@@@@@/@ภ10@@@@@@@@=@ภ?*>@*@(@@@@@@K@ภM8L@8@6@@@@@@Y@@ఐՠ#env~dd@@@ f@@ఐܠ(ocamlrundd @p@@ @@@E@E@z@ ภ|g{@g@e @@@@@@@@ภd dA"-Md d@@ d@@ @@@E@#E@&E@%@ภA@A@ @@@$E@,@@d #@@8@@@E@"@@*@@@A@c,@@@ఠ+test_binary3ff'@IA@@@(@@@-D@/ @@@/9D@0@@1D@.3@@@@@@࣠@&binary5A f( f.@ JA@@3@* f @@@@@  @@డ}"|| hbf hbh@@$boolE@@@P@@@@O @@@N@@M@@L'%sequorBA @@@@*stdlib.mli@@^@! @@@@@@9@@@@8@@@7@@6@@53 > = = > > > > >@BNa@E@F@@@@డ&String+starts_with [g18 \g1>@  _g1? `g1J@@&prefix&stringQ@@@! @@@@! $boolE@@@! @@! @@!@*string.mli%@@.Stdlib__StringM@% @@@@@"S@@@@"R@@@"Q@@"P@@"OE@*%ocaml g1T g1Y@@ g1S g1Z@@7@@@"_G@"aG@"`Y@@ఐ&binary g1[ g1a@c@@f@@T@@@@@E@"cG@"]n@@డ&&String+starts_with hbi hbo@  hbp hb{@@k@@ki@@@"i@f@@@"he@@@"g@@"f@@"e@x(flexlink hb hb@@ hb hb@@@@@"uG@"wG@"v@@ఐ&binary hb hb@@@@@7@@@@@D@"yG@"s@@ @@@@@"zF@C@@ఠ'program} i i@ +KA@@&stringQ@@@#_F@"{3        @@@@డ(Filename&concat .i /i@  2i 3i@@@@@@"@$@@@"(@@@"@@"@@"@,filename.mli^^@@0Stdlib__FilenameC@@@@@@@#U@@@@#T<@@@#S@@#R@@#Q9@@ఐ&bindir ci di@@@2@@@#aG@#cG@#bM@@ఐw&binary wi xi@/@@Z@@M@@a[@A@ |i@@ఐ۠-is_executable j j@@@@@@@#h@@@#g@@#f3        @L~@@@@@@ఐ'program j j@ @@@@@#oF@#qF@#p@@# @@@@@#rF@#n@@ఠ.classification k k@ LA@@'Harness&Import*executable@@@#}F@#s3        @7@@@డ3classify_executable+Environment k  k@  k k*@@@@@@$&@@@#@@"@VV@@nP@@@@@@@#w3@@@#v@@#u,@@ఐ점'program k+ k2@m@@%@@@#~G@#G@#@@@3 @@KA@A@ k @@డ {"<> l6N l6P@@!a@@@@@*@@)@@()%notequalBA@@@@~QQ~Q@@R@@@@u@@@#E@#@@@@#@@#@@#3 3 2 2 3 3 3 3 3@@@@@@@ఐ.classification Jl6? Kl6M@ @@@@ภ'Vanilla Vl6Q Wl6X@;'Vanilla*executable@@@ @@@ABA@A;testsuite/tools/harness.mlibb@@@I@@@@3F@#+@@@@ @@@#F@#1@@ఠ%fails xm^j ym^o@ MA@@_@@@#F@#3 x w w x x x x x@E@@@డ "&& s   s  @@r@@@K@x@@@J@@@I@@H@@G(%sequandBAo@@@@no@@p]@@@@@@@#@@@@#4@@@#@@#@@#3        @x@@@@డ*is_renamed+Environment r   r  @  r   r  @@@V@@@@@@@@@g{{g{@@\C@@@@d@@@#@@@#@@#b@@ఐE#env r   r  @#@@yo@@,@@e@@@#@#H@#w@@ఐK.classification s   s  @Ȱ@@H@@@#V@Ġ(Tendered t   t  @;(Tendered@@@@@A@BA@AZqsZq@@;@@&header@@+launch_mode@@@ ZqZq@@D@$dlls@@$boolE@@@ ZqZq@@E@'runtime@@&stringQ@@@ ZqZq@@F@@@A@@@@@ @@@ e@AG@ঠ$dlls [t   \t  A3(D@@@#*@@A3:9@@@A4@13 @@BA@A'@$ఠ @ ~NA@3@@@#@@A nt   ot  @@X@@@#J@#@@@a@@@@@#@@@@@#@@@డ km u  < u  >@j@@@j@@@#@g@@@#f@@@#@@#@@#3        @X0-@/@.@@@@డ #not u   u  @@@@@F@@@E@@D(%boolnotAA@@@LLLt@@\@@@@@@@#@@@#@@#-@@ఐ 8&config u   u  @ @@ h<@>launcher_searches_for_ocamlrun u   u  ;@3>launcher_searches_for_ocamlrun n@@@@@@@@D#3,has_ocamlnat @@@@@@@As f js f }@@ zV@3,has_ocamlopt@@@@@A@Au  u  @@ W@33has_relative_libdir&optionL@@@@@@@@B"@Aw  !w  D@@ X@32has_runtime_search/@@@@@@@@C1@Ay p ty p @@ Y@>3 %target_launcher_searches_for_ocamlrun>@@@@@E;@A    @@ [@3{  {  @y@@@@@@$@@@$H@$@ ~@@@$@@$@@$A@@ఐ$rest{  {  @H@@N@@ภ"[]{  {  @ @@@'H@$\@@@@ @@@$I@$b@ డ .display_output+Environment| ' 5| ' @@ | ' A| ' O@@@Π @@@l@@@k @@@j@@i@     ! @@ pT@@@@@@@$@@@$@@@$@@$@@ఐ۠*all_output| ' P| ' Z@@@/.@@@$@@@$J@$J@$@@A@@ .@@@$I@$@డ),fail_because'Harness'} \ j(} \ q@ +} \ r,} \ ~@@@&Stdlib'format4!a@$unitF@@@@@@!b@@@@@@@eVVeV@@ e@-(@@@%@q@@@%F }@@@%H@%H@$H@%1@@%EH@$,@@@$)@@@$@@@$@@$@@ภ G H~} \ } \ A ภ R&StringT ;&String Ӡ!x@!b@!c@!d@!e@!f@@@@!a@@ !'padding)@@@@@@@@@ 0,($ @@@@BBAYAA  Z|@@@ 7b@ภ K*No_paddingY;*No_padding&!a@J@@@c@@@@ABAA e e@@@ Pj@@i@6J@%3@@@%DI@%N@ภ l y  ": expected only one line of output~@~@ @@@%_I@%bI@%a@ภ Ԡ R Q@@ TJ@%P@@@$I@%-I@%BI@%]@@@$I@%.I@%CI@%^  J@%U@@@%`I@%l@@@ tϠJ@%8@@@%GI@%\@@@ J@%) !"J@%@@@%/I@%A@ $%s: expected only one line of output@@ @@@%0I@%pI@%o@@@@#A8@@@$I@%,@@ఐQ'programe~  f~  @Ұ@@ I@%@@D@@ H@% @m{  !n  @@ @@p{  @@@@ఠ'runtime{@  |@  @RA@@o@@@'\H@%3zyyzzzzz@!@@@@ఠ7compiled_by_boot_ocamlcA  A  %@SA@@@@@%I@%@@ఠ$nameB ( <B ( @@TA@@D@,D@,D@,0D@*D@*D@*D@*D@%J@%3@డ%!=C C rC C s@@!a@@@@@'@@&@@%&%equalBA@@@@yy@@ Q@@@@@@@%J@%@@@@%@@%@@%d@@డX(Filename)extensionC C XC C `@ C C aC C j@@@@@@#'@@@#@@#@J ) )J ) I@@I@@@@@@@%4@@@%@@%@@ఐ &binary C C k!C C q@ذ@@ 9@@,@@E@@$.exe,C C u-C C y@@/C C t0C C z@@TK@%@@<@@N@@@%K@%@డ(Filename0remove_extensionFD  GD  @ JD  KD  @@@6@@@# :@@@# @@#@Y  Y  @@J@@@@@@@%@@@%@@%@@ఐ o&binaryoD  pD  @ '@@ @@-@@@ఐ {&binary{F  |F  @ 3@@ @C C U@@@A@B ( 8@@డH  H  @@@@@@@%@@@@%@@@%@@%@@%3@8@@@@@@డ "<>H  H  @@@@J@%@@@@%@@%@@%@@ఐ$nameH  H  @%@@(@@(ocamldocH  H  @@H  H  @@)K@%7@@@@E@@@%@%K@%?@@డH"<>H  %H  '@Ͱ@@@DJ@%@@@@%@@%@@%W@@ఐY$nameH  H  $@a@@Xd@@*ocamldebugH  )H  3@@ H  ( H  4@@eK@%s@@@@{@@@%@%K@%{@@W @@|@ @@@A@A  @@ఐh.classification"J F Z#J F h@@@e@@@%3@@@@@@Ġ'Vanilla5K n ~6K n @@@@@x@@@%310011111@@@@@|@@@%@@@ ภFK n GK n @@@@@@@&@MK n @@@Ġ&CustomXL  YL  @;&Custom@@@@BA@A__@@@H@@@  @@@@@%*@@@@@%-@@@డ Y [rN  sN  @ X@@@ X@@@& @ U@@@&  T@@@&@@&@@&G@@డ&Config9supports_shared_libraries&ConfigM  M  @ M  M  @@$boolE@@@&@0utils/config.mli%$$%$$@@&ConfigH@@@ @@@&K@&K@&s@@ఐ)7compiled_by_boot_ocamlcN  N @@@ @@@&K@&K@&@@1 @@@@@&K@&@డ,fail_because'HarnessO/O6@ O7OC@@@@@@ @@@'"nJ@&J@' @@'!J@&Π@@@&Р@@@&Ѡ @@@&@@&@@ภwˠv̰ODOdAuภ֠ ภޠ?>@@d7L@'7@@@' K@'*@ภL#K<: unexpected -custom runtime(@(@0@@@';K@'>K@'=@ภ7@7@TL@',@@@&K@' K@'K@'9 @@@&K@' K@'K@':  lL@'1@@@'%s: unexpected -custom runtimew@w@@@@' K@'LK@'KD@@~}@@QA8@@@&K@'N@@ఐ 'programPePe@ @@K@'[]@@@@J@&_@5compiled with -customRR@@RR@@$j@M  @@(l@Ġ(TenderedSS@ঠ&headerSSA3@@@%@@@3@@AuA@3@@BvAz@wvA@ఠ @UA@@@@%@'runtimeSSA3@@@%@@B3@@@A@3@@AA@A@ఠ @VA@@@@%@@ASS@@@@@%K@%@@@>@@ /@@@%@@ 2@@@%@@@@ఠ3is_expected_runtimeT  T 3@WA@@8@@@'lK@']3@DA@C@B-*@,@+@@@డz#Sys%win32U6MU6P@ U6QU6V@@I@@<@@@'_K@'^@డnp/V\z0V\{@m@@@@@@'mK@'d@n@@@'c@@'b@@'a6@@ఐe'runtimeHV\rIV\y@>@@C@@(ocamlrunSV\}TV\@@VV\|WV\@@$L@'nR@@@@VS@డdXeX@@@@ &@@@'|K@'s@@@@'r@@'q@@'pk@@ఐ'runtime}X~X@s@@x@@ఐ۠(ocamlrunXX@o@@$L@'}@@@@L@'{@U6J @@@A@T  @@@ఠ4expected_launch_modeZZ@XA@@ |@@@'K@'~3@@@@@@డ).shebangscripts&Config[ "[ (@ [ )[ 7@@'@@@&@%8&&&8&&@@$M@ @@@@@'K@'&@ภ.Header_shebang\=S\=a@;.Header_shebang @@@@@@AB@@A }V ~V@@@qB@@  @@ @@@'<@ภ*Header_exe^{^{@;*Header_exe@@@@B@@A U U@@@A@@  @@K@'O@[  @@Q@A@Z@@ఐ3is_expected_runtime``@\@@"@@@'J@'3@esl@m@n@@@డ~Y[aa@X@@@ @@@'J@'@Y@@@'@@'@@'@@ఐh&header3a4a@*@@)@@ఐ4expected_launch_mode@aAa@3@@$K@'8@@@@`@@@'K@'>@ఐo'runtimeRb/Sb6@H@@J@'J@డg,fail_because'HarnessedPffdPm@ idPnjdPz@@>@@@>@ @@@'J@'J@'@@'J@'@@@@'=@@@' @@@'@@'z@@ภ[\dP{dPAภfg ภno@@7L@'ݠ7@@@'K@'@ภ*~#۠8: unexpected launch mode(@(@@@@( K@( K@( @ภ>7@7@TL@'@@@'K@'K@'K@(@@@'K@'K@'K@(  lL@'@@@( K@(@@W@2tyL@'@@@'K@(@@d@?L@') !"L@'@@@'K@'@:%s: unexpected launch modew@w@H@@@'K@(K@(@@~}@@A8@@@'K@' @@ఐ 'program#dP$dP@ @@K@()@@@@J@'@+a@@@డ<,fail_because'Harness:f;f@ >f?f@@@@@@_@@@(@@@@(J@(0J@(@@(J@(n@@(J@(,@@@(.@@@(/ @@@(-@@(+W@@ภ89ofpfAภCD ภKL@@Ѡ?L@(p?@@@(K@(|@ภ[\#5: unexpected runtime (@(@@@@(K@(K@(@ภo+Caml_stringq8;+Caml_string!x@!b@!c@!d@!e@!f@@@@!a@@'@@@@@@@@@".*&"@@@@BCAYAA}}$@@@Rc@ภf@@@L@(@@@(K@(@ภvʠHG@@J@@@(8K@(jK@(K@(K@(@@@(9K@(kK@(K@(K@(  L@(@@@(K@(@@@mL@("L@(@@@(K@($@@@{-"#$L@(u@@@(K@(1@@@L@(O9./0L@(T@@@(lK@(~?@9%s: unexpected runtime %S@@@@@(mK@(K@(K@@@@*QF @@@(7K@(iU@@ఐX'programlg%mg,@ ٰ@@&K@(d@@ఐ'runtime{g-|g4@q@@.K@(s@@G@@)J@(>u@`@@/w@ @@0@ @@~@@@AJ F T @@ M@q @@ @A@@  @@ డ&Printf&printfiDPiDV@ iDWiD]@@@&Stdlib&format!a@)L +out_channel@@@)_$unitF@@@)`@@@)^@@)]@*printf.mli@@.Stdlib__PrintfA@+&@@@#@@@@*@@@@*N@@@*H@)H@)H@*9@@*MH@*@@*H@)1@@@)/@@@)@AE$'format4,H@*!H@)@)@)@)@A'format6@)*@) )@)à.@)@A8CamlinternalFormatBasics'format6.@)ǠC@)ȠB@)ɠE@)ʠH@)ˠK@)@@)@)Ƒ6@)@)L@)@)@@)k@@)3+**+++++@ @@@@@@ภ  CiD^DiD}Aภu t+ Runtime: @@Y@@@*I@*I@*$@ภ+,ؠภ34'@'@J@* @@@*I@*$<@ภCD7+ Output: <@<@@@@*5I@*8I@*7P@ภW XK ภ _`S@S@J@*;@@@*LI@*Vh@ภo:pc9Jg@@@@*gI@*jI@*i{@ภ.v@v@H@*H@*H@*4H@*KH@*fJ@*X$@@@)I@)I@*I@*I@*3I@*JI@*e@@@*hI@*t@@@' #$%&@@@*OI@*d@@@2J@*&"-./0@@@*6I@*I@@@>(+6789@@@*I@*2@@@I:J@)5@ABC@@@*I@*@@@UFJ@)Ϡ?9:;<@@@)I@*@; Runtime: %s Output: %s @@\@@@)I@*wI@*v@@@@_UO@ABhI@*ybI@*z^I@*{@AN=xI@*~rI@*nI@*sI@*@AM;I@*I@*I@*I@*I@*I@*@@*I@*/@*I@*}@@*|I@*x@@)I@)6@@ఐ'runtimeuiD~viD@@@@I@*E@@ఐ &outputiDiD@ @@I@*T@@@@H@)V@డ  jj@ @@@ @@@*@@@@*$@@@*@@*@@*p@@డ#Sys%win32jj@ jj@@@@.@@@*H@*H@*@@డ1  jj@ @@@@@@*H@*@ @@@*@@*@@*@@డL(Filename)extensionjj@ jj@@@@@@@@* @@@*@@*@@ఐ&binaryjj@@@@@@@6@@$.exejj@@jj@@EI@*@@.@@@@@*@*I@*@@o @@<@@@*H@*@@ఠ+without_exe1s"42s"?@HYA@@@@@*H@*30//00000@@@@డ(Filename0remove_extensionHs"BIs"J@ Ls"KMs"[@@ @@@ @@@* @@@*@@*@@ఐb&binarybs"\cs"b@@@{+@@@@/,@A@gs"0@@@@ఠ.this_exit_codextfyytf@ZA@@v@@@+KH@*3wvvwwwww@MVO@P@Q@@@@@tftf@@|y@@@+M@@@+LH@*@@tfxtf@@@@@@*@$thistftf@@+@@@*а @@@2@&@@*/@@ఠ%failsuu@\A@@@@@*I@*B@డ/#notuu@)@@@)@@@*(@@@*@@*V@@డG&String(containsuu@ uu@@@@@@!$@$charB@@@!#@@@!"@@!!@@! @000U@@Q@@@@@@@*@@@@*@@@*@@*@@*@@ఐ점+without_exeuu@@@3@@@*K@*K@*@@n.u/u@@=@@@*K@*K@*@@8u9u@@@@@*@*K@*@@v @@@A@Cu @@డv+run_process+EnvironmentQvRv@ UvVv@@&@@&$!@@@+@@@+-@@@+@@@+6@@@+@@@+?@@@+@@@+H@@@+ @@@+ Q@@@+ @@@+ @@@@+ @@@@+d @@@+@@@+@  @@@+@@@+@@@@+@@@@+@@@+@@+@@*@@*@@*@@*@@*@@*@@*@@*@@*@@*3@;@@@@@ภ@@@@@+a@@@+`@ภ@@@@@+c@@@+b@ภ@@@@@+e@@@+d-@ภ@@@@@+g@@@+f;@ภ@@Ơ@@@+i@@@+hI@ภఐY%failsww@X@@@@@+UI@+kI@+jb@@@ @@@+lf@@ఐ#env+w,w@`@@s@@ఐ$'program8w 9w'@@@@@@+RI@+oI@+n@ภఐ +without_exeQw/Rw:@а@@@@@+QI@+qI@+p@@@ @@@+r@@ภİgw<hwAAà"-Mow=pw?@@ rw@@@@@@+OI@+zI@+}I@+|@ภA@A@ܠ@@@+{I@+@@w;#@@@@@+NI@+y@@A*@@@@@@+I@+J@X3@@ @A@tft5@@డ  栐 ySsySt@ @@@@@@+G@+@ @@@+@@+@@+3@7E>@?@@@@@@@@ఐM.this_exit_codeySdySr@@@@@@ySuySv@@%H@+@@@@@@@+H@+#@డG " $z|z|@ !@@@@@@@+@@@@+@@@+@@+G@+@ /@@@+@@+@@+I@@ఐi$this z| z|@Q@@"V@@ఐ*exec_magicz|z|@!@@1G@+e@@@@6@@@+H@+k@@@ఠ.that_exit_code1{2{@H]A@@/@@@, H@+30//00000@@@@@@?{@{@@30@@@, @@@, H@+@@K{L{@@@@@@+@$thatW{X{@n^A@)@@@+ @@@0@&@@+-@డ+run_process+Environmentt|u|@ x|y|@@I@@IGD@@@+@@@+AP?@@@+@@@+>Y<@@@+@@@+;b9@@@+@@@+8k6@@@+@@@+5t3@@@+@@@+@:@@@+@2@@@+1/@@@+@@@+@.-@@@+@@@+@@@@+@Ǡ@@@+@@@+@@+@@+@@+@@+@@+@@+@@+@@+@@+@@+@@+@ภ@@@@@,@@@,@ภ@@@@@,!@@@, @ภ@@ʠ@@@,#@@@,"@ภ@@ؠ@@@,%@@@,$@ภ@@@@@,'@@@,&@ภנภ1}#2}'@@@@@@@,I@,+@@@Ѡ@@@,,@@ఐ#envG}(H}+@|@@@@ఐ@'programT},U}3@@@@@@,I@,/I@,.$@Ӑภ0ఐm&binarym};n}A@%@@6@@@@@@,1:@@ภٰ|}C}}HAؠ"-M}D}F@@ }G@@@@@, I@,9I@,?$I@,@@@,H@,s@@@7I@,XIJK2I@,@@@,H@,@ 1Neither %s nor %s seem to load the bytecode image@@@@@,H@-$H@-#@@@@6RpaH@A<o\H@-&~H@-'qH@-(\H@-)@AmpH@-,H@--H@-.H@-/H@-0tH@-1@@-2H@-+/@-*H@-%@@,hH@,@@ఐu+without_exe! !@%@@H@-3@@ఐ&binary!!@m@@@@@@G@,o@డ )! I! J@@@@@@@-BG@-9@@@@-8@@-7@@-6@@ఐ.that_exit_code! :! H@@@ @@@! K! L@@ H@-C@@@@ @@@-DH@-A@డ",fail_because'Harness!Rf"Rm@ "Rn"Rz@@ذ@@@ؠ@$G@-G@-KG@-@@-G@-G@@@-I@@@-J @A !G@-G@-W@-Y@-Z@-[$@-\@A 4 "@-_+@-`*@-a-@-b0@-c<@-d@@-e@-^2@-]@-X@@-HE@@-Fz@@ภ"%"&"\{"]{AϠภ"0"1 ݠภ"8"9@@gI@-g@@@-H@-@ภ"H"I# + is not expected to return with exit code 0(@(@@@@-H@-H@-@ภ"\"]7@7@ܠI@-a@@@-SH@-H@-H@-d@@@-TH@-H@-H@-  I@-@@@-H@-@@W@I@-@@@-H@-@@d@ I@-g) !"I@-l@@@-H@-@ -%s is not expected to return with exit code 0w@w@@@@-H@-H@-@@~}@@ӠA8@A H@-ǠOH@-ȠHH@-ɠH@-@A  H@-͠cH@-Π\H@-Ϡ_H@-РbH@-ѠH@-@@-H@-̑/@-H@-@@-RH@-:@@ఐ&binary##@Ӱ@@4G@@ @@ G@-VI@డ!#not#,#-@@@@@@@-@@@-@@-`@@డ!&String(contains#G#H@ #K#L @@`@@@`@@@-@_@@@-\@@@-@@-@@-@@ఐ5+without_exe#f #g@@@|@@@-I@-I@-@@n#w#x@@@@@-I@-I@-@@##@@@@@-@-I@-@@_ @@!@@@-H@-@డ#,fail_because'Harness##7##>@ ##?##K@@v@@@v@@@@.NG@.G@-G@.9@@.MG@-z@@@-w@@@- @A  !G@.SG@. @. @. @.$@.@A  à@.+@.*@.-@.0@.<@.@@.@.2@.@. @@-H@@-@@ภr#Ơq#ǰ#Lb#LApภ}#Ѡ# ~ภ#٠:#9@@_jI@.;j@@@.LH@.V@@ภ#G##F 1 is not expected to return the exec magic number!(@(@+@@@.gH@.jH@.iT@ภ#{#7z@7@}I@.X@@@.H@.5H@.JH@.e@@@.H@.6H@.KH@.f  I@.]@@@.hH@.t|@@W@I@.@@@@.OH@.d@@d@I@.) !"I@.@@@.7H@.I@ 3%s is not expected to return the exec magic number!w@w@@@@.8H@.xH@.w@@~}@@L֠A8@AR H@.zOH@.{HH@.|H@.}@A  H@.cH@.\H@._H@.bH@.H@.@@.H@./@.~H@.y@@.H@.4@@ఐ +without_exe$$@ ;@@H@.@@%@@G@. @ภ"()$$@;$d$n@@@N@@@@A@@A$@@$g@ @@ G@.@$ @@@$ 7@@@$^p@@"@,@@#@ภ$$@@@@G@.@$z|@@0@ภ&$H[$H]@%@@@G@.@$ySa@@=@[@@> v@ @@? @@$j @@A @ a @@B @ r @@Cx@ @@"@@@$|@@%%@@@@@@$@@@@$@@@$@@$@@@@@@$@@@@$@@@$@@$%@@@డ##not%3%4@@@@@@@.@@@.@@.;@@ఐР%fails%H%I@E@@@@@.H@.H@.O@@  @@#m@@@.H@.U@డ%g,fail_because'Harness%e%f@ %i%j@@>@@@>@@@@."@@@/5G@/4G@.G@.@@.G@.E@@@.B@@@.@AZ $G@.G@.@.@.@.'@.@A  @.+@.*@.-@.0@. ?@.@@.@.2@.@.@@.K@@.@@ภ!=%!<%%%A!;ภ!H%J% Iภ!P%%@@*mI@.m@@@.H@/@ภ!`%!%#!=: not expected to have failed(@(@ @@@/H@/H@/@ภ!t%Ƞ F%7 E@7@!HI@/@@@.H@.H@.H@/@@@.H@.H@.H@/  I@/ @@@/H@/ @@W@!hI@.@@@.H@/(@@d@!uI@.Ơ) !"I@.@@@.H@.6@?%s: not expected to have failedw@w@!~@@@.H@/$H@/#B@@~}@@٠A8@A PH@/&OH@/'HH@/(H@/)@A ` NH@/,cH@/-\H@/._H@//bH@/0H@/1@@/2H@/+/@/*H@/%@@.H@.z@@ఐs'program&|@}@@H@/3@@'@@G@.@@&@@@@@A&y z @@E@/73&&&&&&&&@@@@ @@@@&l6<@@@@@@@&j@@ @@@ {@@&g15@@ }@A@D@/;@A@@@ఠ(binaries& & @&_A@@%arrayJ&stringQ@@@/I@@@/HD@/<3&&&&&&&&@@@@@@డ%-#Sys'readdir& &  @ & !& (@@@!@@@+(@@@@@@@@7caml_sys_read_directoryAA @@@%xx% x@@%P@@@@@@@/AA>@@@/@@@@/?@@/>;@@ఐ#C&bindir' )' /@"@@2@@@/JE@/LE@/KO@@@ @@]P@A@'  @@ డ%~%Array$sort'35'3:@ '"3;'#3?@@@@!a@/@#intA@@@1@@1@@1@%arrayJ@@@1#@@@1@@1@@1@)array.mliC0e0eC0e0@@-Stdlib__Arrayj@,'@@@@#&String!t@A @ @2(D@2'@@2#D@2@1@@@2@@2@@2@.@@@1+@@@1@@1@@13'c'b'b'c'c'c'c'c@@@@@@@డ%&String'compare'~3@'3F@ '3G'3N@@@8@@@!@=@@@!#intA@@@!@@!@@!@*@@L@@@@M@@@2@R@@@2@@@2@@2@@2;@@ఐ(binaries'3O'3W@E@@n@@@2E@2&E@2$P@@ @@$@@@2)D@2V@డ&0%Array$iter'Y['Y`@ 'Ya'Ye@@@@!a@0E$\@@@17@@16@@@@15$g@@@14@@13@@12@@@S@#@@@@ @@@2IC@2/@@@21@@20@ @@@2.$@@@2-@@2,@@2+@@ఐ0+test_binary(Yf(Yq@U@@@+@@@2F%1@@@2E@@2D@@ఐ}(binaries('Yr$@$@@G9@@@2=D@2LD@2J@@b$@@$@$@@$@&$@@$w@*$@@$@@_$@@$!@!D$@@$!~@$$@@$!@$/$@@$$n@$$A@$A@2P$@A@$@$$@$@&$@$$@$@$@@3(8(7(7(8(8(8(8(8@$$@@@$4TestBytecodeBinariesA@@ H************************************************************************(LA@@(MA@L@ H (RBMM(SBM@ H OCaml (XC(YC@ H (^D(_D3@ H David Allsopp, University of Cambridge & Tarides (dE44(eE4@ H (jF(kF@ H Copyright 2024 David Allsopp Ltd. (pG(qG@ H (vH(wHg@ H All rights reserved. This file is distributed under the terms of (|Ihh(}Ih@ H the GNU Lesser General Public License version 2.1, with the (J(J@ H special exception on linking described in the file LICENSE. (K(KN@ H (LOO(LO@ H************************************************************************(M(M@ " Test for executable bit on files (Q(Q%@ & Look for all executables in $bindir/flexlink* and $bindir/ocaml*. All the distribution binaries support the -vnum flag, so it's used as a check that the launchers are operating correctly. Some additional testing is done on Windows checking the behaviour of running foo versus foo.exe (Z(]@  After the prefix has been renamed, bytecode executables compiled with -custom will still work. Otherwise, only executables where the header can search for ocamlrun and which do not require any C stubs to be loaded will still work. (nr|(q b @ = This additional part of the test ensures that the executable launcher on Windows can correctly hand-over to ocamlrun on Windows. The check is that a binary named ocamlc.byte.exe can be invoked as ocamlc.byte. -M is used as a previous bug caused ocamlc.byte to act solely as ocamlrun, the test being that ocamlrun -M returning the runtime's magic number would be likely distinct from the behaviour of any of the distribution's tools when called with -M. (k(r!@ , Expected outcome was the exec magic number ((@ & Expected outcome is a zero exit code ((G@ * Expected outcome is a non-zero exit code (H^(H@@(./ocamlc)-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/tools"-c(( L/home/touraine/ci/builds/workspace/precheck/flambda/false/label/ocaml-arm-32 @543210/.-,+*)('&%$#"! @@0$%òZA}3))))))))@)@@8CamlinternalFormatBasics0%FU(Q/Tu0aϊsD@L㏠%N0T?A5P*=)/0,t~1lZ㠠&Stdlib0Lku]8_٠-Stdlib__Array0?3$( Q&0Stdlib__Bigarray0=Jb^%.Stdlib__Printf0)5h Ԝ΀Q +Stdlib__Seq0nwzG&amg.Stdlib__String0