Release coccinelle-0.2.0rc1
[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 (*used after list*) *
44 (*fresh used after list*)
45 Ast_cocci.meta_name list list list *
46 (*fresh used after list seeds*)
47 Ast_cocci.meta_name list list list) *
48 Ast_cocci.meta_name list list list *
49 string list list *
50 string list option
51
52 (* TODO: Remove
53 val rule_elem_of_string : string -> filename option -> Ast_cocci.rule_elem
54 *)
55
56 (*
57 val flows_of_ast : Ast_c.program -> Control_flow_c.cflow list
58 val print_flow : Control_flow_c.cflow -> unit
59
60 val ctls_of_ast :
61 Ast_cocci.rule list ->
62 Ast_cocci.meta_name list list list ->
63 (Lib_engine.ctlcocci *
64 ((Lib_engine.predicate * Ast_cocci.meta_name Ast_ctl.modif)
65 list list))
66 list list
67
68
69 val one_flow : Control_flow_c.cflow list -> Control_flow_c.cflow
70 val one_ctl : Lib_engine.ctlcocci list list -> Lib_engine.ctlcocci
71 *)