Caml1999T037)C4TestBytecodeBinariesР'Harness&Import'Harness 'testsuite/tools/testBytecodeBinaries.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@@@@ఠ-is_executable R&*R&7@AA@@@&stringQ@@@A@g@@@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@@@@+@@ภ$trueTN\TN`@;d@@@M@@@AB@@A@@@@@kB@>@@1 @@x?@࣠@&binary{A'Vhp(Vhv@>BA@@x@@@@ డ$Unix&access$Unix@WzAWz@ DWzEWz@@@@@@ @$listK$Unix1access_permission@@@ @@@ $unitF@@@ @@ @@ @(unix.mliu9u9u9un@@@*%@@@@@@@"@@@@@@@@@@@@@3qqqqqqqq@]@T@U@@@@ఐd&binaryWzWz@ @@@@ภ"::WzWzA;  @@U@B@AA@Ai@@ภ$UnixWz@$X_OKWzWz@@;$X_OKY@@@ @@@BD@@ANqrOqr@@@\@@# @@f@@@D@D@ C@ภ"[]0A;//@@@@AA@A@@.@3A@)@@@D@S@@Wz;@@@@@D@[@@B@@@@@C@b@ภӰWzWz@@@@6@@@m@@@n@Ġ$UnixXX@*Unix_errorXX@@;*Unix_error#exnG@@@ @%error@@@ c@@@  h@@@ @C@@A&_none_@@A@@F@@XX@@@@@@@@@@@@@ @@@@@@@9@@3@@@ @@@ภ%false5X6X@;%@@@@B@@A@@@@@@@@;Wz@@W@=Vhl@@A@'@AS:< @@@A@CR&&@@@@ఠ#runYP^Q^@gCA@@@'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@@@=@@@@@@.@@3cccccccc@@@@@@@ภ8CamlinternalFormatBasicsG&FormatI}`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@ภ',Char_literal);,Char_literal!a@"!b@#!c@$!d@%!e@&!f@'@@@H@$charB@@@Iߠ)%!@@@J@BLAYAA%%%%@@@l@J@@@@UE@XE@W3@ภ.t-End_of_formatv-;-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+Environment8ao9ao@ %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;^kh@@W@@@@AA@A@@a@@@@@ @@@ @ภ@@@@@@@@ !@ภ#"@@ @@@@@@/@ภ10@@@@@@@@=@ภ?>@@(@@@@@@K@ภM*L@*@6@@@@@@Y@@ఐՠ#envndod@@@ f@@ఐܠ(ocamlrun{d|d @p@@ @@@E@E@z@ ภ|Y{@Y@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@@@@@@࣠@&binary5Af(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 Kg18 Lg1>@  Og1? Pg1J@@&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@  "i #i@@@@@@"@$@@@"(@@@"@@"@@"@,filename.mli^^@@0Stdlib__FilenameC@@@@@@@#U@@@@#T<@@@#S@@#R@@#Q9@@ఐ&bindir Si Ti@@@2@@@#aG@#cG@#bM@@ఐw&binary gi hi@/@@Z@@M@@a[@A@ li@@ఐ۠-is_executable xj yj@@@@@@@#h@@@#g@@#f3 y y y y y y y y@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 # # # # # # # #@@@@@@@ఐ.classification :l6? ;l6M@ @@@@ภ'Vanilla Fl6Q Gl6X@;'Vanilla*executable@@@ @@@ABA@A;testsuite/tools/harness.mlibb@@@I@@@@3F@#+@@@@ @@@#F@#1@@ఠ%fails hm^j im^o@ MA@@_@@@#F@#3 h h h h h h h h@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@@@@@ @@@ U@AG@ঠ$dlls Kt   Lt  A3(D@@@#*@@A3:9@@@A4@13 @@BA@A'@$ఠ @ nNA@3@@@#@@A ^t   _t  @@X@@@#J@#@@@a@@@@@#@@@@@#@@@డ km tu  < uu  >@j@@@j@@@#@g@@@#f@@@#@@#@@#3 z z z z z z z z@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{  {  @x@@@@@@$@@@$H@$@ }@@@$@@$@@$A@@ఐ$rest{  {  @H@@N@@ภ {  {  @ @@@&H@$[@@@@ @@@$I@$a@ డ .display_output+Environment| ' 5| ' @@ | ' A| ' O@@@̠ @@@l@@@k @@@j@@i@     ! @@ nT@@@@@@@$@@@$@@@$@@$@@ఐڠ*all_output| ' P| ' Z@@@/.@@@$@@@$J@$J@$@@A@@ ,@@@$I@$@డ,fail_because'Harness} \ j} \ q@ } \ r} \ ~@@@&Stdlib'format4!a@$unitF@@@@@@!b@@@@@@@eVVeV@@ e@-(@@@%@o@@@%F {@@@%H@%H@$H@%1@@%EH@$,@@@$)@@@$@@@$@@$@@ภ 7 8l} \ m} \ A ภ B&StringD ;&String Ѡ!x@!b@!c@!d@!e@!f@@@@!a@@ 'padding)@@@@@@@@@ 0,($ @@@@BBAYAA  Z|@@@ 5b@ภ I*No_paddingY;*No_padding&!a@J@@@c@@@@ABAA e e@@@ Nj@@i@6J@%3@@@%DI@%N@ภ j y  ": expected only one line of output~@~@ @@@%_I@%bI@%a@ภ ~Ġ P O@@ RJ@%P@@@$I@%-I@%BI@%]@@@$I@%.I@%CI@%^  J@%U@@@%`I@%l@@@ rϠJ@%8@@@%GI@%\@@@ J@%) !"J@%@@@%/I@%A@ $%s: expected only one line of output@@ @@@%0I@%pI@%o@@@@#A8@@@$I@%,@@ఐO'programS~  T~  @а@@ I@%@@D@@ H@%@[{  !\  @@ @@^{  @@ @@ఠ'runtimei@  j@  @RA@@m@@@'\H@%3hhhhhhhh@ @@@@ఠ7compiled_by_boot_ocamlc}A  ~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@@డV(Filename)extensionC C XC C `@ C C aC C j@@@@@@#'@@@#@@#@J ) )J ) I@@I@@@@@@@%4@@@%@@%@@ఐ &binaryC C kC C q@ְ@@ 7@@,@@E@@$.exeC C uC C y@@C C tC C z@@TK@%@@<@@L@@@%K@%@డ(Filename0remove_extension4D  5D  @ 8D  9D  @@@4@@@# 8@@@# @@#@Y  Y  @@J@@@@@@@%@@@%@@%@@ఐ m&binary]D  ^D  @ %@@ @@-@@@ఐ y&binaryiF  jF  @ 1@@ @mC C U@@@A@oB ( 8@@డxH  yH  @@@@@@@%@@@@%@@@%@@%@@%3~~~~~~~~@7@@@@@@డ "<>H  H  @@@@J@%@@@@%@@%@@%@@ఐ$nameH  H  @%@@(@@(ocamldocH  H  @@H  H  @@)K@%7@@@@C@@@%@%K@%?@@డF"<>H  %H  '@˰@@@DJ@%@@@@%@@%@@%W@@ఐY$nameH  H  $@a@@Xd@@*ocamldebugH  )H  3@@H  (H  4@@eK@%s@@@@y@@@%@%K@%{@@W @@|@ @@@A@A  @@ఐf.classificationJ F ZJ F h@@@c@@@%3        @@@@@@Ġ'Vanilla#K n ~$K n @@@@@v@@@%3@@@@@z@@@%@@@ ภ4K n 5K n @@@@@@@&@;K n @@@Ġ&CustomFL  GL  @;&Custom@@@@BA@A__@@@H@@@  @@@@@%*@@@@@%-@@@డ W Y`N  aN  @ V@@@ V@@@& @ S@@@&  R@@@&@@&@@&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@&Π@@@&Р@@@&Ѡ @@@&@@&@@ภutODOdAsภƠ ภΠ?>@@d7L@'7@@@' K@'*@ภޠJ#I<: unexpected -custom runtime(@(@.@@@';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@@AsA@3~@@BtAx@utA@ఠ @UA@@@@%@'runtimeSSA3@@@%@@B3@@@A@3@@AA@A@ఠ @VA@@@@%@@ASS@@@@@%K@%@@@>@@ -@@@%@@ 0@@@%@@@@ఠ3is_expected_runtimeT  T 3@WA@@8@@@'lK@']3@DA@C@B-*@,@+@@@డx#Sys%win32U6M U6P@  U6Q U6V@@G@@:@@@'_K@'^@డnpV\zV\{@m@@@@@@'mK@'d@n@@@'c@@'b@@'a6@@ఐe'runtime6V\r7V\y@>@@C@@(ocamlrunAV\}BV\@@DV\|EV\@@$L@'nR@@@@VS@డRXSX@@@@ $@@@'|K@'s@@@@'r@@'q@@'pk@@ఐ'runtimekXlX@s@@x@@ఐ٠(ocamlrunxXyX@m@@$L@'}@@@@L@'{@U6J @@@A@T  @@@ఠ4expected_launch_modeZZ@XA@@ z@@@'K@'~3@@@@@@డ).shebangscripts&Config[ "[ (@ [ )[ 7@@'@@@&@%8&&&8&&@@$M@ @@@@@'K@'&@ภ.Header_shebang\=S\=a@;.Header_shebang @@@@@@AB@@A {V |V@@@oB@@  @@ @@@'<@ภ*Header_exe^{^{@;*Header_exe@@@@B@@A U U@@@A@@  @@K@'O@[  @@Q@A@Z@@ఐ3is_expected_runtime``@\@@ @@@'J@'3@esl@m@n@@@డ|Y[a a@X@@@ @@@'J@'@Y@@@'@@'@@'@@ఐh&header!a"a@*@@)@@ఐ4expected_launch_mode.a/a@3@@$K@'8@@@@^@@@'K@'>@ఐo'runtime@b/Ab6@H@@J@'J@డU,fail_because'HarnessSdPfTdPm@ WdPnXdPz@@>@@@>@ @@@'J@'J@'@@'J@'@@@@'=@@@' @@@'@@'z@@ภKLdP{dPAภVW ภ^_@@7L@'ݠ7@@@'K@'@ภ(no#٠8: unexpected launch mode(@(@@@@( K@( K@( @ภ<7 @7@TL@'@@@'K@'K@'K@(@@@'K@'K@'K@(  lL@'@@@( K@(@@W@0tyL@'@@@'K@(@@d@=L@') !"L@'@@@'K@'@:%s: unexpected launch modew@w@F@@@'K@(K@(@@~}@@A8@@@'K@' @@ఐ 'programdPdP@ @@K@()@@@@J@'@a@@@డ*,fail_because'Harness(f)f@ ,f-f@@@@@@]@@@(@@@@(J@(0J@(@@(J@(n@@(J@(,@@@(.@@@(/ @@@(-@@(+W@@ภ()]f^fAภ34 ภ;<@@Ѡ?L@(p?@@@(K@(|@ภKL#5: unexpected runtime (@(@@@@(K@(K@(@ภ_+Caml_stringa8;+Caml_string!x@!b@!c@!d@!e@!f@@@@!a@@'@@@@@@@@@ .*&"@@@@BCAYAA}}$@@@Pc@ภd@@@L@(@@@(K@(@ภtFE@@H@@@(8K@(jK@(K@(K@(@@@(9K@(kK@(K@(K@(  L@(@@@(K@(@@@kL@("L@(@@@(K@($@@@y-"#$L@(u@@@(K@(1@@@L@(O9./0L@(T@@@(lK@(~?@9%s: unexpected runtime %S@@@@@(mK@(K@(K@@@@*QF @@@(7K@(iU@@ఐV'programZg%[g,@ װ@@&K@(d@@ఐ'runtimeig-jg4@q@@.K@(s@@G@@)J@(>u@q`@@/w@ @@0@ @@~@@@AuJ F T @@ M@q @@ @A@x@  @@ డ&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@ @@@@@@ภ1iD^2iD}Aภs r+ Runtime: @@W@@@*I@*I@*$@ภؠภ#$'@'@J@* @@@*I@*$<@ภ347+ Output: <@<@@@@*5I@*8I@*7P@ภG HK ภ OPS@S@J@*;@@@*LI@*Vh@ภ_8`c7Jg@@@@*gI@*jI@*i{@ภ,rsv@v@H@*H@*H@*4H@*KH@*fJ@*X$@@@)I@)I@*I@*I@*3I@*JI@*e@@@*hI@*t@@@% #$%&@@@*OI@*d@@@0J@*&"-./0@@@*6I@*I@@@<(+6789@@@*I@*2@@@G:J@)5@ABC@@@*I@*@@@SFJ@)Ϡ?9:;<@@@)I@*@; Runtime: %s Output: %s @@Z@@@)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@@ఐ'runtimeciD~diD@@@@I@*E@@ఐ ~&outputriDsiD@ @@I@*T@@@@H@)V@డ jj@@@@@@@*@@@@*"@@@*@@*@@*p@@డ#Sys%win32jj@ jj@@@@,@@@*H@*H@*@@డ/  jj@ @@@@@@*H@*@ @@@*@@*@@*@@డJ(Filename)extensionjj@ jj@@@@@@@@* @@@*@@*@@ఐ&binaryjj@@@@@@@6@@$.exejj@@jj@@EI@*@@.@@@@@*@*I@*@@o @@:@@@*H@*@@ఠ+without_exes"4 s"?@6YA@@@@@*H@*3@@@@డ(Filename0remove_extension6s"B7s"J@ :s"K;s"[@@ @@@ @@@* @@@*@@*@@ఐ`&binaryPs"\Qs"b@@@y+@@@@/,@A@Us"0@@@@ఠ.this_exit_codeftfygtf@}ZA@@t@@@+KH@*3eeeeeeee@MVO@P@Q@@@@@vtfwtf@@zw@@@+M@@@+LH@*@@tfxtf@@@@@@*@$thistftf@@+@@@*а @@@2@&@@*/@@ఠ%failsuu@\A@@@@@*I@*B@డ-#notuu@'@@@'@@@*&@@@*@@*V@@డE&String(containsuu@ uu@@@@@@!$@$charB@@@!#@@@!"@@!!@@! @000U@@Q@@@@@@@*@@@@*@@@*@@*@@*@@ఐ점+without_exe u u@@@3@@@*K@*K@*@@nuu@@=@@@*K@*K@*@@&u'u@@@@@*@*K@*@@v @@@A@1u @@డt+run_process+Environment?v@v@ CvDv@@$@@$"@@@+@@@++@@@+@@@+4@@@+@@@+=@@@+@@@+F@@@+ @@@+ O@@@+ @@@+ @@@@+ @ @@@+ b @@@+@@@+@ @@@+@@@+@@@@+@@@@+@@@+@@+@@*@@*@@*@@*@@*@@*@@*@@*@@*@@*3@;@@@@@ภ@@@@@+a@@@+`@ภ@@@@@+c@@@+b@ภ@@@@@+e@@@+d-@ภ@@@@@+g@@@+f;@ภ@@Ġ@@@+i@@@+hI@ภఐY%failsww@X@@@@@+UI@+kI@+jb@@@ @@@+lf@@ఐ#envww@^@@s@@ఐ"'program&w 'w'@@@@@@+RI@+oI@+n@ภఐ +without_exe?w/@w:@а@@@@@+QI@+qI@+p@@@ @@@+r@@ภ°Uw<VwAA"-M]w=^w?@@ `w@@@@@@+OI@+zI@+}I@+|@ภA@A@Ҡ@@@+{I@+@@xw;#@@@@@+NI@+y@@A*@@@@@@+I@+J@X3@@ @A@tft5@@డ  栐 ySsySt@ @@@@@@+G@+@ @@@+@@+@@+3@7E>@?@@@@@@@@ఐM.this_exit_codeySdySr@@@@@@ySuySv@@%H@+@@@@@@@+H@+#@డE " $z|z|@ !@@@@@@@+@@@@+@@@+@@+G@+@ /@@@+@@+@@+I@@ఐi$thisz|z|@Q@@"V@@ఐ*exec_magicz|z|@@@1G@+e@@@@4@@@+H@+k@@@ఠ.that_exit_code{ {@6]A@@-@@@, H@+3@@@@@@-{.{@@1.@@@, @@@, H@+@@9{:{@@@@@@+@$thatE{F{@\^A@)@@@+ @@@0@&@@+-@డ+run_process+Environmentb|c|@ f|g|@@G@@GEB@@@+@@@+?N=@@@+@@@+<W:@@@+@@@+9`7@@@+@@@+6i4@@@+@@@+3r1@@@+@@@+@8@@@+@0@@@+/-@@@+@@@+@,+@@@+@@@+@@@@+@Š@@@+@@@+@@+@@+@@+@@+@@+@@+@@+@@+@@+@@+@@+@ภ@@@@@,@@@,@ภ@@@@@,!@@@, @ภ@@Ƞ@@@,#@@@,"@ภ@@֠@@@,%@@@,$@ภ@@@@@,'@@@,&@ภՠภ}# }'@@@@@@@,I@,+@@@Ϡ@@@,,@@ఐ#env5}(6}+@z@@@@ఐ>'programB},C}3@@@@@@,I@,/I@,.$@ѐภ ఐk&binary[};\}A@#@@6@@@@@@,1:@@ภװj}Ck}HA֠"-Mr}Ds}F@@ u}G@@@@@, I@,9I@,@@@.G@-4G@,aG@,@@,G@,@@,G@,]@@@,_@@@,`@A"7(G@,G@,m@,r@,s@,t'@,u@AJ8@,x+@,y*@,z-@,{0@,|?@,}@@,~@,w2@,v@,q@@,^O@@,\@@ภ + , ` aAภ 6 7 (Neither @@@@@,H@,H@,@ภ J Kภ  R S'@'@I@,@@@,H@,@ภ b c7͠% nor <@<@@@@,H@,H@,@ภ0 v4 wK3ภ8 ~ S@S@I@,@@@,H@-@ภH  c seem to load the bytecode imageh@h@@@@-H@-H@- @ภ\ . w-@w@0I@-@@@,iH@,H@,H@,H@,H@,H@-@@@,jH@,H@,H@,H@,H@,H@-I@- @@@-H@- =@@@\)I@,@@@,H@-J@@@iI@,Ҡ5&'( I@,@@@,H@,X@@@w@123I@,@@@,H@,e@@@)I@,L=>?$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!!@k@@@@@@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@@ภ"""J{"K{A͠ภ" "! ݠภ"(")@@gI@-g@@@-H@-@ภ"8"9# + is not expected to return with exit code 0(@(@@@@-H@-H@-@ภ"L"M7@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# # @Ѱ@@2G@@ @@ G@-VI@డ!#not##@@@@@@@-@@@-@@-`@@డ!&String(contains#5#6@ #9#: @@`@@@`@@@-@_@@@-\@@@-@@-@@-@@ఐ5+without_exe#T #U@@@|@@@-I@-I@-@@n#e#f@@@@@-I@-I@-@@#o#p@@@@@-@-I@-@@_ @@!@@@-H@-@డ#,fail_because'Harness##7##>@ ##?##K@@v@@@v@@@@.NG@.G@-G@.9@@.MG@-z@@@-w@@@- @A  !G@.SG@. @. @. @.$@.@A  à@.+@.*@.-@.0@.<@.@@.@.2@.@. @@-H@@-@@ภp#o##Lb#LAnภ{## ~ภ#ɠ:#9@@_jI@.;j@@@.LH@.V@@ภ#٠E##D 1 is not expected to return the exec magic number!(@(@)@@@.gH@.jH@.iT@ภ#y#7x@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@. @ภ"()$$@;$X$b@@@N@@@@A@@A$@@$[@ @@ G@.@$ @@@$ 7@@@$^p@@"@,@@#@ภ$$@@@@G@.@$z|@@0@ภ&$H[$H]@%@@@G@.@$ySa@@=@[@@> v@ @@? @@$j @@A @ a @@B @ r @@Cx@ @@"@@@$|@@$$@@@@@@$@@@@$@@@$@@$@@@@@@$@ @@@$@@@$@@$#@@@డ##not%!%"@@@@@@@.@@@.@@.9@@ఐΠ%fails%6%7@C@@@@@.H@.H@.M@@  @@#k@@@.H@.S@డ%U,fail_because'Harness%S%T@ %W%X@@>@@@>@@@@."@@@/5G@/4G@.G@.@@.G@.E@@@.B@@@.@AZ $G@.G@.@.@.@.'@.@A  @.+@.*@.-@.0@. ?@.@@.@.2@.@.@@.K@@.@@ภ!;%!:%%%A!9ภ!F%J% Iภ!N%%@@*mI@.m@@@.H@/@ภ!^%!%#!=: not expected to have failed(@(@ @@@/H@/H@/@ภ!r% D%7 C@7@!FI@/@@@.H@.H@.H@/@@@.H@.H@.H@/  I@/ @@@/H@/ @@W@!fI@.@@@.H@/&@@d@!sI@.Ơ) !"I@.@@@.H@.4@?%s: not expected to have failedw@w@!|@@@.H@/$H@/#@@@~}@@٠A8@A PH@/&OH@/'HH@/(H@/)@A ` NH@/,cH@/-\H@/._H@//bH@/0H@/1@@/2H@/+/@/*H@/%@@.H@.x@@ఐq'program&uz@{@@H@/3@@'~@@G@.@@&|@@@@@A&~y z @@E@/73&w&w&w&w&w&w&w&w@@@@ @@@@&l6<@@@@@@@&j@@ @@@ y@@&g15@@ {@A@D@/;@A@@@ఠ(binaries& & @&_A@@%arrayJ&stringQ@@@/I@@@/HD@/<3&&&&&&&&@@@@@@డ%+#Sys'readdir& &  @ & !& (@@@!@@@+(@@@@@@@@7caml_sys_read_directoryAA @@@%xx%x@@%P@@@@@@@/AA>@@@/@@@@/?@@/>;@@ఐ#A&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'Q'Q'Q'Q'Q'Q'Q'Q@@@@@@@డ%&String'compare'l3@'m3F@ 'p3G'q3N@@@8@@@!@=@@@!#intA@@@!@@!@@!@*@@L@@@@M@@@2@R@@@2@@@2@@2@@2;@@ఐ(binaries'3O'3W@E@@n@@@2E@2&E@2$P@@ @@$@@@2)D@2V@డ&.%Array$iter'Y['Y`@ 'Ya'Ye@@@@!a@0E$Z@@@17@@16@@@@15$e@@@14@@13@@12@@@S@#@@@@ @@@2IC@2/@@@21@@20@ @@@2.$@@@2-@@2,@@2+@@ఐ.+test_binary(Yf(Yq@U@@@)@@@2F%/@@@2E@@2D@@ఐ}(binaries(Yr$@$@@G9@@@2=D@2LD@2J@@b$@@$@$@@$@&$@@$w@($@@$>@]$@@$!@!B$@@$!|@$$@@$!}@$-$@@$$l@$$A@$A@2P$@A@$@$$@$@&$@$$@$@$@@3(&(&(&(&(&(&(&(&@$$@@@$4TestBytecodeBinariesA@@ H************************************************************************(:A@@(;A@L@ H (@BMM(ABM@ H OCaml (FC(GC@ H (LD(MD3@ H David Allsopp, University of Cambridge & Tarides (RE44(SE4@ H (XF(YF@ H Copyright 2024 David Allsopp Ltd. (^G(_G@ H (dH(eHg@ H All rights reserved. This file is distributed under the terms of (jIhh(kIh@ H the GNU Lesser General Public License version 2.1, with the (pJ(qJ@ H special exception on linking described in the file LICENSE. (vK(wKN@ 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@@../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(( ?/home/ci/builds/workspace/main/flambda/false/label/ocaml-alpine A6543210/.-,+*)('&%$#"! @@0$%òZA}3))))))))@)@@8CamlinternalFormatBasics0%FU(Q/Tu0aϊsD@L㏠%M0T?A5P*=)0,t~1lZ㠠&Stdlib0Lku]8_٠-Stdlib__Array0?3$( Q&0Stdlib__Bigarray0=Jb^%.Stdlib__Printf0)5h Ԝ΀Q +Stdlib__Seq0nwzG&amg.Stdlib__String0