MatitaLog.debug ("Executing: ``" ^ stm ^ "''")
in
try
- status := MatitaEngine.eval_from_stream !status is cb
+ status := MatitaEngine.eval_from_stream !status is cb ;
+ !status
with
| CicTextualParser2.Parse_error (floc,err) ->
let (x, y) = CicAst.loc_of_floc floc in
List.iter (fun fname ->
let time = Unix.time () in
MatitaLog.message (sprintf "execution of %s started:" fname);
- run_script fname;
+ let status = run_script fname in
let elapsed = Unix.time () -. time in
let tm = Unix.gmtime elapsed in
let sec =
let hou =
if tm.Unix.tm_hour > 0 then (string_of_int tm.Unix.tm_hour ^ "h ") else ""
in
- MatitaLog.message
- (sprintf "execution of %s completed in %s." fname (hou^min^sec))) scripts;
- exit(0)
- with Sys.Break -> exit (-1)
+ let proof_status = status.proof_status in
+ if proof_status <> MatitaTypes.No_proof then
+ begin
+ MatitaLog.error
+ "there are still incomplete proofs at the end of the script";
+ exit(-1)
+ end
+ else
+ begin
+ MatitaLog.message
+ (sprintf "execution of %s completed in %s." fname (hou^min^sec)) ;
+ exit(0)
+ end
+ ) scripts
+ with Sys.Break ->
+ MatitaLog.error "user break!";
+ exit (-1)