Release coccinelle-0.1.8
[bpt/coccinelle.git] / testing.mli
1 open Common
2
3 (*****************************************************************************)
4 (* work with tests/ *)
5 (*****************************************************************************)
6 val testone : string (*test*) -> bool (*compare_expected*) -> unit
7 val testall : ?expected_score_file:string -> unit -> unit
8
9 (*****************************************************************************)
10 (* works with tests-big/. The .res, .ok, .spatch_ok, .failed, .var *)
11 (*****************************************************************************)
12 val test_okfailed : filename (*cocci*) -> filename (*c*) list -> unit
13 val test_regression_okfailed : unit -> unit
14
15
16
17 (*****************************************************************************)
18 (* the parameter is the result of Cocci.full_engine *)
19 (*****************************************************************************)
20 val compare_with_expected : (filename * filename option) list -> unit
21
22
23 (*****************************************************************************)
24 (* to test/debug the coccinelle subsystems *)
25 (*****************************************************************************)
26
27 (* pad:
28 * I moved the parsing_c/ subsystem testing in parsing_c/test_parsing_c.ml
29 * as I need it for other projects too.
30 *)
31
32 val test_parse_cocci : filename -> unit
33
34 (*****************************************************************************)
35 (* to be called by ocaml toplevel, to test. *)
36 (*****************************************************************************)
37
38 val sp_of_file :
39 filename (* coccifile *) -> filename option (* isofile *) ->
40 Ast_cocci.metavar list list * Ast_cocci.rule list *
41 Ast_cocci.meta_name list list list *
42 Ast_cocci.meta_name list list list *
43 Ast_cocci.meta_name list list list * Ast_cocci.meta_name list list list *
44 string list list *
45 string option
46
47 (* TODO: Remove
48 val rule_elem_of_string : string -> filename option -> Ast_cocci.rule_elem
49 *)
50
51 (*
52 val flows_of_ast : Ast_c.program -> Control_flow_c.cflow list
53 val print_flow : Control_flow_c.cflow -> unit
54
55 val ctls_of_ast :
56 Ast_cocci.rule list ->
57 Ast_cocci.meta_name list list list ->
58 (Lib_engine.ctlcocci *
59 ((Lib_engine.predicate * Ast_cocci.meta_name Ast_ctl.modif)
60 list list))
61 list list
62
63
64 val one_flow : Control_flow_c.cflow list -> Control_flow_c.cflow
65 val one_ctl : Lib_engine.ctlcocci list list -> Lib_engine.ctlcocci
66 *)