######################################################################### # # # Objective Caml # # # # Damien Doligez, projet Para, INRIA Rocquencourt # # # # Copyright 1999 Institut National de Recherche en Informatique et # # en Automatique. All rights reserved. This file is distributed # # under the terms of the Q Public License version 1.0. # # # ######################################################################### # $Id$ # usage: runtest.mpw [-bc] [-run ] [-start ] É set echo 0 exit if {#} < 1 set dobytecode 0 set dorun 0 set start 0 loop if "{1}" == "-bc" set dobytecode 1 else if "{1}" == "-run" set dorun 1 set runtime "{2}" shift else if "{1}" == "-start" if "{2}" =~ /0*([0-9]+)¨0/ shift set start {¨0} else echo "### runtest.mpw: option "-start" expects a number as argument" > dev:stderr exit 2 end else break end shift end set _camlrunparam "{camlrunparam}" loop break if {#} == 0 if "{1}" !~ /(t0*([0-9]+)¨1Å)¨0.ml/ shift continue end set base "{¨0}" if {¨1} < {start} shift continue end if {¨1} >= 300 set libs "lib.ml stdlib.cma" else if {¨1} >= 51 set libs "lib.ml" else set libs "" end set -e camlrunparam v=0 ocamlc -unsafe -nopervasives {libs} "{1}" || (shift; continue) if {dobytecode} Set f "`Files -f -q "{1}"`" # get full pathnames Set _openWindows " ``Windows -q`` " If "{_openWindows}" !~ /Å [¶']*"{f}"[¶']* Å/ Open "{f}" Set _closeit 1 else set _closeit 0 End find ° "{f}" find Æ\'**)'\:\'(**'\Æ "{f}" echo >"{f}".¤ ocamldumpobj a.out >>"{f}".¤ find ¥ "{f}" if {_closeit} close -y "{f}" end end if {dorun} set -e camlrunparam "{_camlrunparam}" echo "{runtime} :a.out ### testing {1}" "{runtime}" :a.out || if "{1}" != "t060-raise.ml"; exit 3; end echo "### done" end delete -i "{base}".cmi "{base}".cmo shift end set -e camlrunparam "{_camlrunparam}"