Skip to content
Snippets Groups Projects
Commit 527755fa authored by Loïc Correnson's avatar Loïc Correnson Committed by Allan Blanchard
Browse files

[wp] prover coq is ok

parent 43bf7404
No related branches found
No related tags found
No related merge requests found
...@@ -1153,18 +1153,20 @@ let ping_prover_call p = ...@@ -1153,18 +1153,20 @@ let ping_prover_call p =
match Why3.Call_provers.query_call p.call with match Why3.Call_provers.query_call p.call with
| NoUpdates | NoUpdates
| ProverStarted -> | ProverStarted ->
let () = match p.timeover with let () =
| None -> if p.timeout > 0 then
let started = Unix.time () in match p.timeover with
p.timeover <- Some (started +. 2.0 +. float p.timeout) | None ->
| Some timeout -> let started = Unix.time () in
let time = Unix.time () in p.timeover <- Some (started +. 2.0 +. float p.timeout)
if time > timeout then | Some timeout ->
begin let time = Unix.time () in
Wp_parameters.debug ~dkey "Hard Kill (late why3server timeout)" ; if time > timeout then
p.interrupted <- true ; begin
Why3.Call_provers.interrupt_call p.call ; Wp_parameters.debug ~dkey "Hard Kill (late why3server timeout)" ;
end p.interrupted <- true ;
Why3.Call_provers.interrupt_call p.call ;
end
in Task.Wait 100 in Task.Wait 100
| InternalFailure exn -> | InternalFailure exn ->
let msg = Format.asprintf "@[<hov 2>%a@]" let msg = Format.asprintf "@[<hov 2>%a@]"
...@@ -1279,9 +1281,10 @@ let prepare ~file driver task = ...@@ -1279,9 +1281,10 @@ let prepare ~file driver task =
let editscript ~file pconf = let editscript ~file pconf =
let call = Why3.Call_provers.call_editor ~command:(editor pconf) file in let call = Why3.Call_provers.call_editor ~command:(editor pconf) file in
Wp_parameters.feedback ~ontty:`Transient "Editing %S..." file ;
call_prover_task ~timeout:None ~steps:None pconf.prover call call_prover_task ~timeout:None ~steps:None pconf.prover call
let interactive wpo pconf driver prover task = let interactive ~ide wpo pconf driver prover task =
let file = script ~force:true wpo in let file = script ~force:true wpo in
if not (Sys.file_exists file) then prepare ~file driver task ; if not (Sys.file_exists file) then prepare ~file driver task ;
let time = Wp_parameters.CoqTimeout.get () in let time = Wp_parameters.CoqTimeout.get () in
...@@ -1289,7 +1292,7 @@ let interactive wpo pconf driver prover task = ...@@ -1289,7 +1292,7 @@ let interactive wpo pconf driver prover task =
let open Task in let open Task in
batch pconf driver ~script:file ~timeout ~steplimit:None prover task batch pconf driver ~script:file ~timeout ~steplimit:None prover task
>>= fun result -> >>= fun result ->
if VCS.is_valid result then if not ide || VCS.is_valid result then
Task.return result Task.return result
else else
editscript ~file pconf >>= fun _ -> editscript ~file pconf >>= fun _ ->
...@@ -1317,7 +1320,7 @@ let build_proof_task ?timeout ?steplimit ~prover wpo () = ...@@ -1317,7 +1320,7 @@ let build_proof_task ?timeout ?steplimit ~prover wpo () =
Task.return VCS.valid Task.return VCS.valid
else else
if prover.prover_name = "Coq" then if prover.prover_name = "Coq" then
interactive wpo pconf drv prover task interactive ~ide:true wpo pconf drv prover task
else else
Cache.get_result Cache.get_result
~digest:(digest wpo drv) ~digest:(digest wpo drv)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment