Skip to content
Snippets Groups Projects
Commit e58920f9 authored by Michele Alberti's avatar Michele Alberti
Browse files

Remove temporary files only in app mode (keep them with verbosity activated).

parent 6f81e06c
No related branches found
No related tags found
No related merge requests found
......@@ -41,7 +41,7 @@ let exe_path_of_solver solver =
with End_of_file -> false, S.exe_name
in
Stdlib.close_in in_channel;
Sys.remove tmp;
Utils.remove_on_app_mode tmp;
if found
then Ok exe
else begin
......@@ -167,7 +167,7 @@ let detect_default_solvers () =
Stdlib.close_in in_channel;
Buffer.contents buf
in
Sys.remove tmp;
Utils.remove_on_app_mode tmp;
if retcode <> 0
then begin
Logs.info (fun m -> m "No solver `%s' found." S.name);
......
......@@ -45,7 +45,7 @@ let check_availability solver config =
let retcode = Sys.command cmd in
let in_channel = Stdlib.open_in tmp in
Stdlib.close_in in_channel;
Sys.remove tmp;
Utils.remove_on_app_mode tmp;
if retcode = 0
then
Ok ()
......@@ -199,7 +199,7 @@ let exec_tasks ~raw_options solver config model tasks_htbl =
Logs.info (fun m -> m "Executing command `%s'." cmd);
try
let retcode = Sys.command cmd in
Sys.remove prop;
Utils.remove_on_app_mode prop;
if retcode <> 0
then Error (Format.sprintf "Command `%s' has failed." cmd)
else begin
......@@ -207,14 +207,14 @@ let exec_tasks ~raw_options solver config model tasks_htbl =
let result = extract_result solver ~log ~output in
Logs.app (fun m -> m "Result of `%s': %a."
task.id Solver.Result.pretty result);
Sys.remove output;
Utils.remove_on_app_mode output;
if Solver.Result.equal result Solver.Result.Failure
then
Logs.app (fun m ->
m "See error messages in `%s' for more information."
log)
else
Sys.remove log;
Utils.remove_on_app_mode log;
Ok result
end
with _ ->
......
......@@ -33,7 +33,7 @@ let options ~model ~property ~output =
| Some Info -> 1
| Some Debug -> 2
in
[ "--property"; property;
[ "--property"; property;
"--input"; model;
"--verbosity"; Int.to_string verbosity_level;
"--summary-file"; output ]
......
utils.ml 0 → 100644
(**************************************************************************)
(* *)
(* This file is part of Caisar. *)
(* *)
(**************************************************************************)
let remove_on_app_mode filename =
let is_app =
match Logs.level () with
| Some App -> true
| _ -> false
in
if is_app
then Sys.remove filename
(**************************************************************************)
(* *)
(* This file is part of Caisar. *)
(* *)
(**************************************************************************)
(** [remove_on_app_mode filename] removes the given file from the file system
when caisar is run in application mode only. *)
val remove_on_app_mode: string -> unit
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