let test_action_bindings kf ki pre post fmt =
Format.fprintf fmt "All known action bindings@\n";
Actions.iter
(fun (kf',ki',pre',post' as key) m ->
if Kernel_function.equal kf kf' && Cil_datatype.Kinstr.equal ki ki' &&
Aorai_state.equal pre pre' &&
Aorai_state.equal post post'
then begin
Format.fprintf fmt "Found an equal key(%B)!"
(Actions_key.equal (kf,ki,pre,post) key);
try ignore (Actions.find key) with Not_found ->
Format.fprintf fmt "Key itself has no binding!@\n";
end;
Format.fprintf fmt
"@[<2>%a (statement %a), from state %s to state %s"
Kernel_function.pretty kf' Cil_datatype.Kinstr.pretty ki'
pre'.name post'.name;
Cil_datatype.Term.Map.iter
(fun l _ -> Format.fprintf fmt "@\nfound binding for %a"
Cil_datatype.Term.pretty l) m;
Format.fprintf fmt "@]@\n")