From e5d26516e95681e93586c652c6fd4013e2daab1e Mon Sep 17 00:00:00 2001 From: Erwan Jahier <jahier@imag.fr> Date: Fri, 6 Jun 2014 10:44:57 +0200 Subject: [PATCH] Soc2c : fix a couple of issues in struct printing. of expected passes 1073 -> 1116 of unexpected failures 325 -> 282 --- src/soc2c.ml | 23 +++++---- src/soc2cIdent.ml | 6 +-- src/socUtils.ml | 13 +++-- test/lus2lic.sum | 94 +++++++++++++++++----------------- test/lus2lic.tests/non-reg.exp | 2 +- test/lus2lic.time | 2 +- 6 files changed, 70 insertions(+), 70 deletions(-) diff --git a/src/soc2c.ml b/src/soc2c.ml index 76f2aedd..dd6126ee 100644 --- a/src/soc2c.ml +++ b/src/soc2c.ml @@ -1,4 +1,4 @@ -(* Time-stamp: <modified the 06/06/2014 (at 09:43) by Erwan Jahier> *) +(* Time-stamp: <modified the 06/06/2014 (at 10:41) by Erwan Jahier> *) (* let put (os: out_channel) (fmt:('a, unit, string, unit) format4) : 'a = *) @@ -14,11 +14,11 @@ let rec (type_to_string : Data.t -> string) = | Bool -> "_boolean" | Int -> "_integer" | Real-> "_real" - | Extern s -> s ^ "(*extern*)" + | Extern s -> s ^ "/* extern */" | Enum (s, sl) -> id2s s - | Struct (sid,_) -> (id2s sid) ^ "(*struct*)" + | Struct (sid,_) -> (id2s sid) ^ "/* struct */" | Array (ty, sz) -> Printf.sprintf "%s^%d" (type_to_string ty) sz - | Alpha nb -> assert false + | Alpha nb -> "alpha_"^(string_of_int nb) in str @@ -144,9 +144,10 @@ let (gao2c : Soc.tbl -> 'a soc_pp -> Soc.gao -> unit) = in sp.cput (gao2str gao) + let (step2c : Soc.tbl -> 'a soc_pp -> Soc.step_method -> unit) = fun stbl sp sm -> - let sm_str = SocUtils.string_of_method sp.soc sm in + let sm_str = sm.name in let sname = step_name sp.soc.key sm.name in let ctx = if is_memory_less sp.soc then "" else Printf.sprintf "%s_type* ctx" (get_ctx_name sp.soc.key) @@ -164,9 +165,9 @@ let (step2c : Soc.tbl -> 'a soc_pp -> Soc.step_method -> unit) = sp.cput "\n"; List.iter (gao2c stbl sp) gaol ) - | Iterator(it,it_soc,s) -> assert false - | Boolred(i,j,k) -> assert false - | Condact(k,el) -> assert false + | Iterator(it,it_soc,s) -> sp.cput (Printf.sprintf "%s /* XXX iterator */" it) + | Boolred(i,j,k) -> sp.cput (Printf.sprintf "boolred(%i,%i,%i) /* XXX boolred */" i j k) + | Condact(k,el) -> sp.cput (Printf.sprintf "condact() /* XXX condact */") ); sp.cput (sprintf "\n} // End of %s\n\n" sname) @@ -230,11 +231,11 @@ let rec (lic_type_to_c: Lic.type_ -> string) = Printf.sprintf "%s [%d]" (lic_type_to_c ty) sz | Struct_type_eff (name, fl) -> let field_to_c (id,(tf,_opt)) = - Printf.sprintf "%s %s" (id2s id) (lic_type_to_c tf) + Printf.sprintf " %s %s;\n" (lic_type_to_c tf) (id2s id) in - Printf.sprintf "struct %s { %s };" + Printf.sprintf "struct %s { \n %s }" (long2s name) - (String.concat ";\n" (List.map field_to_c fl)) + (String.concat "" (List.map field_to_c fl)) | TypeVar Any -> assert false | (TypeVar AnyNum) -> assert false diff --git a/src/soc2cIdent.ml b/src/soc2cIdent.ml index e2c938c9..54d7eef4 100644 --- a/src/soc2cIdent.ml +++ b/src/soc2cIdent.ml @@ -1,4 +1,4 @@ -(* Time-stamp: <modified the 02/06/2014 (at 14:55) by Erwan Jahier> *) +(* Time-stamp: <modified the 06/06/2014 (at 10:32) by Erwan Jahier> *) let colcol = Str.regexp "::" let id2s id = (* XXX Refuser les noms de module à la con plutot *) @@ -31,9 +31,9 @@ let rec (type_to_short_string : Data.t -> string) = let z_value = Char.code('z') in let str = if (nb >= 0 && nb <= (z_value - a_value)) then - ("'" ^ (Char.escaped (Char.chr(a_value + nb)))) + ((Char.escaped (Char.chr(a_value + nb)))) else - ("'a" ^ (string_of_int nb)) + ("a" ^ (string_of_int nb)) in str in diff --git a/src/socUtils.ml b/src/socUtils.ml index f7a0f3ec..91bcc07a 100644 --- a/src/socUtils.ml +++ b/src/socUtils.ml @@ -1,4 +1,4 @@ -(** Time-stamp: <modified the 16/05/2014 (at 11:21) by Erwan Jahier> *) +(** Time-stamp: <modified the 06/06/2014 (at 10:08) by Erwan Jahier> *) open Soc @@ -155,16 +155,15 @@ let string_interface_of_method: (Soc.t -> step_method -> string) = fun c m -> (* Méthode complète *) -let string_of_method_ff: (Soc.t -> step_method -> Format.formatter -> unit) = fun c m ff -> - +let string_of_method_ff: (Soc.t -> step_method -> Format.formatter -> unit) = +fun c m ff -> fprintf ff "@[<v>@[<v 2>"; string_interface_of_method_ff c m ff; - match m.impl with | Predef -> fprintf ff "@]@]" - | Boolred _ -> assert false (* todo *) - | Iterator _ -> assert false (* todo *) - | Condact _ -> assert false (* todo *) + | Boolred(i,j,k) -> assert false (* todo *) + | Iterator (id,key,size) -> fprintf ff "" (* todo *) + | Condact(key,_) -> assert false (* todo *) | Gaol (locals, gaos) -> fprintf ff ": {@;"; fprintf ff "@[<v>-- locals vars@;"; diff --git a/test/lus2lic.sum b/test/lus2lic.sum index c2c11026..829d7662 100644 --- a/test/lus2lic.sum +++ b/test/lus2lic.sum @@ -1,4 +1,4 @@ -Test Run By jahier on Fri Jun 6 09:44:19 2014 +Test Run By jahier on Fri Jun 6 10:41:47 2014 Native configuration is i686-pc-linux-gnu === lus2lic tests === @@ -87,7 +87,7 @@ PASS: ./lus2lic {-o /tmp/redIf.lic should_work/redIf.lus} PASS: ./lus2lic {-ec -o /tmp/redIf.ec should_work/redIf.lus} PASS: ./myec2c {-o /tmp/redIf.c /tmp/redIf.ec} PASS: ../utils/test_lus2lic_no_node should_work/redIf.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/redIf.lus -n redIf} +PASS: ./lus2lic {-2c should_work/redIf.lus -n redIf} FAIL: Check that the generated C code compiles : gcc redIf_redIf.c redIf_redIf_loop.c PASS: ./lus2lic {-o /tmp/t0.lic should_work/t0.lus} PASS: ./lus2lic {-ec -o /tmp/t0.ec should_work/t0.lus} @@ -147,7 +147,7 @@ PASS: ./lus2lic {-o /tmp/mappredef.lic should_work/mappredef.lus} PASS: ./lus2lic {-ec -o /tmp/mappredef.ec should_work/mappredef.lus} PASS: ./myec2c {-o /tmp/mappredef.c /tmp/mappredef.ec} PASS: ../utils/test_lus2lic_no_node should_work/mappredef.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/mappredef.lus -n mappredef} +PASS: ./lus2lic {-2c should_work/mappredef.lus -n mappredef} FAIL: Check that the generated C code compiles : gcc mappredef_mappredef.c mappredef_mappredef_loop.c PASS: ./lus2lic {-o /tmp/call06.lic should_work/call06.lus} PASS: ./lus2lic {-ec -o /tmp/call06.ec should_work/call06.lus} @@ -158,7 +158,7 @@ PASS: ./lus2lic {-o /tmp/deSimone.lic should_work/deSimone.lus} PASS: ./lus2lic {-ec -o /tmp/deSimone.ec should_work/deSimone.lus} PASS: ./myec2c {-o /tmp/deSimone.c /tmp/deSimone.ec} FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/deSimone.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/deSimone.lus -n deSimone} +PASS: ./lus2lic {-2c should_work/deSimone.lus -n deSimone} FAIL: Check that the generated C code compiles : gcc deSimone_deSimone.c deSimone_deSimone_loop.c PASS: ./lus2lic {-o /tmp/bug2.lic should_work/bug2.lus} PASS: ./lus2lic {-ec -o /tmp/bug2.ec should_work/bug2.lus} @@ -176,7 +176,7 @@ PASS: ./lus2lic {-o /tmp/yyy.lic should_work/yyy.lus} PASS: ./lus2lic {-ec -o /tmp/yyy.ec should_work/yyy.lus} PASS: ./myec2c {-o /tmp/yyy.c /tmp/yyy.ec} PASS: ../utils/test_lus2lic_no_node should_work/yyy.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/yyy.lus -n yyy} +PASS: ./lus2lic {-2c should_work/yyy.lus -n yyy} FAIL: Check that the generated C code compiles : gcc yyy_yyy.c yyy_yyy_loop.c PASS: ./lus2lic {-o /tmp/toolate.lic should_work/toolate.lus} PASS: ./lus2lic {-ec -o /tmp/toolate.ec should_work/toolate.lus} @@ -200,7 +200,7 @@ PASS: ./lus2lic {-o /tmp/predefOp.lic should_work/predefOp.lus} PASS: ./lus2lic {-ec -o /tmp/predefOp.ec should_work/predefOp.lus} PASS: ./myec2c {-o /tmp/predefOp.c /tmp/predefOp.ec} PASS: ../utils/test_lus2lic_no_node should_work/predefOp.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/predefOp.lus -n predefOp} +PASS: ./lus2lic {-2c should_work/predefOp.lus -n predefOp} FAIL: Check that the generated C code compiles : gcc predefOp_predefOp.c predefOp_predefOp_loop.c PASS: ./lus2lic {-o /tmp/t1.lic should_work/t1.lus} PASS: ./lus2lic {-ec -o /tmp/t1.ec should_work/t1.lus} @@ -235,12 +235,12 @@ PASS: ./lus2lic {-ec -o /tmp/mm1.ec should_work/mm1.lus} PASS: ./myec2c {-o /tmp/mm1.c /tmp/mm1.ec} PASS: ../utils/test_lus2lic_no_node should_work/mm1.lus PASS: ./lus2lic {-2c should_work/mm1.lus -n mm1} -FAIL: Check that the generated C code compiles : gcc mm1_mm1.c mm1_mm1_loop.c +PASS: gcc mm1_mm1.c mm1_mm1_loop.c PASS: ./lus2lic {-o /tmp/predef03.lic should_work/predef03.lus} PASS: ./lus2lic {-ec -o /tmp/predef03.ec should_work/predef03.lus} PASS: ./myec2c {-o /tmp/predef03.c /tmp/predef03.ec} PASS: ../utils/test_lus2lic_no_node should_work/predef03.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/predef03.lus -n predef03} +PASS: ./lus2lic {-2c should_work/predef03.lus -n predef03} FAIL: Check that the generated C code compiles : gcc predef03_predef03.c predef03_predef03_loop.c PASS: ./lus2lic {-o /tmp/iter.lic should_work/iter.lus} PASS: ./lus2lic {-ec -o /tmp/iter.ec should_work/iter.lus} @@ -328,7 +328,7 @@ PASS: ./lus2lic {-o /tmp/call04.lic should_work/call04.lus} PASS: ./lus2lic {-ec -o /tmp/call04.ec should_work/call04.lus} PASS: ./myec2c {-o /tmp/call04.c /tmp/call04.ec} PASS: ../utils/test_lus2lic_no_node should_work/call04.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/call04.lus -n call04} +PASS: ./lus2lic {-2c should_work/call04.lus -n call04} FAIL: Check that the generated C code compiles : gcc call04_call04.c call04_call04_loop.c PASS: ./lus2lic {-o /tmp/bascule.lic should_work/bascule.lus} PASS: ./lus2lic {-ec -o /tmp/bascule.ec should_work/bascule.lus} @@ -364,7 +364,7 @@ PASS: ./lus2lic {-ec -o /tmp/mm22.ec should_work/mm22.lus} PASS: ./myec2c {-o /tmp/mm22.c /tmp/mm22.ec} PASS: ../utils/test_lus2lic_no_node should_work/mm22.lus PASS: ./lus2lic {-2c should_work/mm22.lus -n mm22} -FAIL: Check that the generated C code compiles : gcc mm22_mm22.c mm22_mm22_loop.c +PASS: gcc mm22_mm22.c mm22_mm22_loop.c PASS: ./lus2lic {-o /tmp/is_stable.lic should_work/is_stable.lus} PASS: ./lus2lic {-ec -o /tmp/is_stable.ec should_work/is_stable.lus} PASS: ./myec2c {-o /tmp/is_stable.c /tmp/is_stable.ec} @@ -467,7 +467,7 @@ PASS: ./lus2lic {-o /tmp/xx.lic should_work/xx.lus} PASS: ./lus2lic {-ec -o /tmp/xx.ec should_work/xx.lus} PASS: ./myec2c {-o /tmp/xx.c /tmp/xx.ec} PASS: ../utils/test_lus2lic_no_node should_work/xx.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/xx.lus -n xx} +PASS: ./lus2lic {-2c should_work/xx.lus -n xx} FAIL: Check that the generated C code compiles : gcc xx_xx.c xx_xx_loop.c PASS: ./lus2lic {-o /tmp/call07.lic should_work/call07.lus} PASS: ./lus2lic {-ec -o /tmp/call07.ec should_work/call07.lus} @@ -479,7 +479,7 @@ PASS: ./lus2lic {-o /tmp/shift_ludic.lic should_work/shift_ludic.lus} PASS: ./lus2lic {-ec -o /tmp/shift_ludic.ec should_work/shift_ludic.lus} PASS: ./myec2c {-o /tmp/shift_ludic.c /tmp/shift_ludic.ec} PASS: ../utils/test_lus2lic_no_node should_work/shift_ludic.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/shift_ludic.lus -n shift_ludic} +PASS: ./lus2lic {-2c should_work/shift_ludic.lus -n shift_ludic} FAIL: Check that the generated C code compiles : gcc shift_ludic_shift_ludic.c shift_ludic_shift_ludic_loop.c PASS: ./lus2lic {-o /tmp/pilote-1.0.lic should_work/pilote-1.0.lus} PASS: ./lus2lic {-ec -o /tmp/pilote-1.0.ec should_work/pilote-1.0.lus} @@ -518,7 +518,7 @@ PASS: ./lus2lic {-o /tmp/bred.lic should_work/bred.lus} PASS: ./lus2lic {-ec -o /tmp/bred.ec should_work/bred.lus} PASS: ./myec2c {-o /tmp/bred.c /tmp/bred.ec} PASS: ../utils/test_lus2lic_no_node should_work/bred.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/bred.lus -n bred} +PASS: ./lus2lic {-2c should_work/bred.lus -n bred} FAIL: Check that the generated C code compiles : gcc bred_bred.c bred_bred_loop.c PASS: ./lus2lic {-o /tmp/test_diese.lic should_work/test_diese.lus} PASS: ./lus2lic {-ec -o /tmp/test_diese.ec should_work/test_diese.lus} @@ -536,7 +536,7 @@ PASS: ./lus2lic {-o /tmp/calculs_max.lic should_work/calculs_max.lus} PASS: ./lus2lic {-ec -o /tmp/calculs_max.ec should_work/calculs_max.lus} PASS: ./myec2c {-o /tmp/calculs_max.c /tmp/calculs_max.ec} PASS: ../utils/test_lus2lic_no_node should_work/calculs_max.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/calculs_max.lus -n calculs_max} +PASS: ./lus2lic {-2c should_work/calculs_max.lus -n calculs_max} FAIL: Check that the generated C code compiles : gcc calculs_max_calculs_max.c calculs_max_calculs_max_loop.c PASS: ./lus2lic {-o /tmp/testCA.lic should_work/testCA.lus} PASS: ./lus2lic {-ec -o /tmp/testCA.ec should_work/testCA.lus} @@ -575,7 +575,7 @@ PASS: ./lus2lic {-o /tmp/bad_call03.lic should_work/bad_call03.lus} PASS: ./lus2lic {-ec -o /tmp/bad_call03.ec should_work/bad_call03.lus} PASS: ./myec2c {-o /tmp/bad_call03.c /tmp/bad_call03.ec} PASS: ../utils/test_lus2lic_no_node should_work/bad_call03.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/bad_call03.lus -n bad_call03} +PASS: ./lus2lic {-2c should_work/bad_call03.lus -n bad_call03} FAIL: Check that the generated C code compiles : gcc bad_call03_bad_call03.c bad_call03_bad_call03_loop.c PASS: ./lus2lic {-o /tmp/onlyroll.lic should_work/onlyroll.lus} PASS: ./lus2lic {-ec -o /tmp/onlyroll.ec should_work/onlyroll.lus} @@ -611,13 +611,13 @@ PASS: ./lus2lic {-o /tmp/pipeline.lic should_work/pipeline.lus} PASS: ./lus2lic {-ec -o /tmp/pipeline.ec should_work/pipeline.lus} PASS: ./myec2c {-o /tmp/pipeline.c /tmp/pipeline.ec} FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/pipeline.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/pipeline.lus -n pipeline} +PASS: ./lus2lic {-2c should_work/pipeline.lus -n pipeline} FAIL: Check that the generated C code compiles : gcc pipeline_pipeline.c pipeline_pipeline_loop.c PASS: ./lus2lic {-o /tmp/mapinf.lic should_work/mapinf.lus} PASS: ./lus2lic {-ec -o /tmp/mapinf.ec should_work/mapinf.lus} PASS: ./myec2c {-o /tmp/mapinf.c /tmp/mapinf.ec} PASS: ../utils/test_lus2lic_no_node should_work/mapinf.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/mapinf.lus -n mapinf} +PASS: ./lus2lic {-2c should_work/mapinf.lus -n mapinf} FAIL: Check that the generated C code compiles : gcc mapinf_mapinf.c mapinf_mapinf_loop.c PASS: ./lus2lic {-o /tmp/integrator.lic should_work/integrator.lus} PASS: ./lus2lic {-ec -o /tmp/integrator.ec should_work/integrator.lus} @@ -641,13 +641,13 @@ PASS: ./lus2lic {-o /tmp/over2.lic should_work/over2.lus} PASS: ./lus2lic {-ec -o /tmp/over2.ec should_work/over2.lus} PASS: ./myec2c {-o /tmp/over2.c /tmp/over2.ec} PASS: ../utils/test_lus2lic_no_node should_work/over2.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/over2.lus -n over2} +PASS: ./lus2lic {-2c should_work/over2.lus -n over2} FAIL: Check that the generated C code compiles : gcc over2_over2.c over2_over2_loop.c PASS: ./lus2lic {-o /tmp/over3.lic should_work/over3.lus} PASS: ./lus2lic {-ec -o /tmp/over3.ec should_work/over3.lus} PASS: ./myec2c {-o /tmp/over3.c /tmp/over3.ec} PASS: ../utils/test_lus2lic_no_node should_work/over3.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/over3.lus -n over3} +PASS: ./lus2lic {-2c should_work/over3.lus -n over3} FAIL: Check that the generated C code compiles : gcc over3_over3.c over3_over3_loop.c PASS: ./lus2lic {-o /tmp/complex.lic should_work/complex.lus} PASS: ./lus2lic {-ec -o /tmp/complex.ec should_work/complex.lus} @@ -744,7 +744,7 @@ PASS: ./lus2lic {-o /tmp/FillFollowedByRed.lic should_work/FillFollowedByRed.lus PASS: ./lus2lic {-ec -o /tmp/FillFollowedByRed.ec should_work/FillFollowedByRed.lus} PASS: ./myec2c {-o /tmp/FillFollowedByRed.c /tmp/FillFollowedByRed.ec} PASS: ../utils/test_lus2lic_no_node should_work/FillFollowedByRed.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/FillFollowedByRed.lus -n FillFollowedByRed} +PASS: ./lus2lic {-2c should_work/FillFollowedByRed.lus -n FillFollowedByRed} FAIL: Check that the generated C code compiles : gcc FillFollowedByRed_FillFollowedByRed.c FillFollowedByRed_FillFollowedByRed_loop.c PASS: ./lus2lic {-o /tmp/sample_time_change.lic should_work/sample_time_change.lus} PASS: ./lus2lic {-ec -o /tmp/sample_time_change.ec should_work/sample_time_change.lus} @@ -762,7 +762,7 @@ PASS: ./lus2lic {-o /tmp/predef01.lic should_work/predef01.lus} PASS: ./lus2lic {-ec -o /tmp/predef01.ec should_work/predef01.lus} PASS: ./myec2c {-o /tmp/predef01.c /tmp/predef01.ec} PASS: ../utils/test_lus2lic_no_node should_work/predef01.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/predef01.lus -n predef01} +PASS: ./lus2lic {-2c should_work/predef01.lus -n predef01} FAIL: Check that the generated C code compiles : gcc predef01_predef01.c predef01_predef01_loop.c PASS: ./lus2lic {-o /tmp/long_et_stupide_nom_de_noeud.lic should_work/long_et_stupide_nom_de_noeud.lus} PASS: ./lus2lic {-ec -o /tmp/long_et_stupide_nom_de_noeud.ec should_work/long_et_stupide_nom_de_noeud.lus} @@ -877,7 +877,7 @@ PASS: ./lus2lic {-o /tmp/ply01.lic should_work/ply01.lus} PASS: ./lus2lic {-ec -o /tmp/ply01.ec should_work/ply01.lus} PASS: ./myec2c {-o /tmp/ply01.c /tmp/ply01.ec} PASS: ../utils/test_lus2lic_no_node should_work/ply01.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/ply01.lus -n ply01} +PASS: ./lus2lic {-2c should_work/ply01.lus -n ply01} FAIL: Check that the generated C code compiles : gcc ply01_ply01.c ply01_ply01_loop.c PASS: ./lus2lic {-o /tmp/consensus.lic should_work/consensus.lus} PASS: ./lus2lic {-ec -o /tmp/consensus.ec should_work/consensus.lus} @@ -895,7 +895,7 @@ PASS: ./lus2lic {-ec -o /tmp/type_decl.ec should_work/type_decl.lus} PASS: ./myec2c {-o /tmp/type_decl.c /tmp/type_decl.ec} PASS: ../utils/test_lus2lic_no_node should_work/type_decl.lus PASS: ./lus2lic {-2c should_work/type_decl.lus -n type_decl} -FAIL: Check that the generated C code compiles : gcc type_decl_type_decl.c type_decl_type_decl_loop.c +PASS: gcc type_decl_type_decl.c type_decl_type_decl_loop.c PASS: ./lus2lic {-o /tmp/import1.lic should_work/import1.lus} PASS: ./lus2lic {-ec -o /tmp/import1.ec should_work/import1.lus} PASS: ./myec2c {-o /tmp/import1.c /tmp/import1.ec} @@ -929,7 +929,7 @@ PASS: ./lus2lic {-o /tmp/test_condact.lic should_work/test_condact.lus} PASS: ./lus2lic {-ec -o /tmp/test_condact.ec should_work/test_condact.lus} PASS: ./myec2c {-o /tmp/test_condact.c /tmp/test_condact.ec} FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/test_condact.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/test_condact.lus -n test_condact} +PASS: ./lus2lic {-2c should_work/test_condact.lus -n test_condact} FAIL: Check that the generated C code compiles : gcc test_condact_test_condact.c test_condact_test_condact_loop.c PASS: ./lus2lic {-o /tmp/contractForElementSelectionInArray.lic should_work/contractForElementSelectionInArray.lus} PASS: ./lus2lic {-ec -o /tmp/contractForElementSelectionInArray.ec should_work/contractForElementSelectionInArray.lus} @@ -983,7 +983,7 @@ PASS: ./lus2lic {-o /tmp/moyenne.lic should_work/moyenne.lus} PASS: ./lus2lic {-ec -o /tmp/moyenne.ec should_work/moyenne.lus} PASS: ./myec2c {-o /tmp/moyenne.c /tmp/moyenne.ec} PASS: ../utils/test_lus2lic_no_node should_work/moyenne.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/moyenne.lus -n moyenne} +PASS: ./lus2lic {-2c should_work/moyenne.lus -n moyenne} FAIL: Check that the generated C code compiles : gcc moyenne_moyenne.c moyenne_moyenne_loop.c PASS: ./lus2lic {-o /tmp/activation1.lic should_work/activation1.lus} PASS: ./lus2lic {-ec -o /tmp/activation1.ec should_work/activation1.lus} @@ -1012,7 +1012,7 @@ PASS: ./lus2lic {-o /tmp/map_red_iter.lic should_work/map_red_iter.lus} PASS: ./lus2lic {-ec -o /tmp/map_red_iter.ec should_work/map_red_iter.lus} PASS: ./myec2c {-o /tmp/map_red_iter.c /tmp/map_red_iter.ec} PASS: ../utils/test_lus2lic_no_node should_work/map_red_iter.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/map_red_iter.lus -n map_red_iter} +PASS: ./lus2lic {-2c should_work/map_red_iter.lus -n map_red_iter} FAIL: Check that the generated C code compiles : gcc map_red_iter_map_red_iter.c map_red_iter_map_red_iter_loop.c PASS: ./lus2lic {-o /tmp/p.lic should_work/p.lus} PASS: ./lus2lic {-ec -o /tmp/p.ec should_work/p.lus} @@ -1024,7 +1024,7 @@ PASS: ./lus2lic {-ec -o /tmp/struct0.ec should_work/struct0.lus} PASS: ./myec2c {-o /tmp/struct0.c /tmp/struct0.ec} PASS: ../utils/test_lus2lic_no_node should_work/struct0.lus PASS: ./lus2lic {-2c should_work/struct0.lus -n struct0} -FAIL: Check that the generated C code compiles : gcc struct0_struct0.c struct0_struct0_loop.c +PASS: gcc struct0_struct0.c struct0_struct0_loop.c PASS: ./lus2lic {-o /tmp/filliter.lic should_work/filliter.lus} PASS: ./lus2lic {-ec -o /tmp/filliter.ec should_work/filliter.lus} PASS: ./myec2c {-o /tmp/filliter.c /tmp/filliter.ec} @@ -1041,7 +1041,7 @@ PASS: ./lus2lic {-o /tmp/nested.lic should_work/nested.lus} PASS: ./lus2lic {-ec -o /tmp/nested.ec should_work/nested.lus} PASS: ./myec2c {-o /tmp/nested.c /tmp/nested.ec} PASS: ../utils/test_lus2lic_no_node should_work/nested.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/nested.lus -n nested} +PASS: ./lus2lic {-2c should_work/nested.lus -n nested} FAIL: Check that the generated C code compiles : gcc nested_nested.c nested_nested_loop.c PASS: ./lus2lic {-o /tmp/Gyroscope.lic should_work/Gyroscope.lus} PASS: ./lus2lic {-ec -o /tmp/Gyroscope.ec should_work/Gyroscope.lus} @@ -1064,13 +1064,13 @@ PASS: ./lus2lic {-o /tmp/rediter.lic should_work/rediter.lus} PASS: ./lus2lic {-ec -o /tmp/rediter.ec should_work/rediter.lus} PASS: ./myec2c {-o /tmp/rediter.c /tmp/rediter.ec} PASS: ../utils/test_lus2lic_no_node should_work/rediter.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/rediter.lus -n rediter} +PASS: ./lus2lic {-2c should_work/rediter.lus -n rediter} FAIL: Check that the generated C code compiles : gcc rediter_rediter.c rediter_rediter_loop.c PASS: ./lus2lic {-o /tmp/mapdeRed.lic should_work/mapdeRed.lus} PASS: ./lus2lic {-ec -o /tmp/mapdeRed.ec should_work/mapdeRed.lus} PASS: ./myec2c {-o /tmp/mapdeRed.c /tmp/mapdeRed.ec} PASS: ../utils/test_lus2lic_no_node should_work/mapdeRed.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/mapdeRed.lus -n mapdeRed} +PASS: ./lus2lic {-2c should_work/mapdeRed.lus -n mapdeRed} FAIL: Check that the generated C code compiles : gcc mapdeRed_mapdeRed.c mapdeRed_mapdeRed_loop.c PASS: ./lus2lic {-o /tmp/modelInst.lic should_work/modelInst.lus} PASS: ./lus2lic {-ec -o /tmp/modelInst.ec should_work/modelInst.lus} @@ -1082,7 +1082,7 @@ PASS: ./lus2lic {-ec -o /tmp/dependeur_struct.ec should_work/dependeur_struct.lu PASS: ./myec2c {-o /tmp/dependeur_struct.c /tmp/dependeur_struct.ec} PASS: ../utils/test_lus2lic_no_node should_work/dependeur_struct.lus PASS: ./lus2lic {-2c should_work/dependeur_struct.lus -n dependeur_struct} -FAIL: Check that the generated C code compiles : gcc dependeur_struct_dependeur_struct.c dependeur_struct_dependeur_struct_loop.c +PASS: gcc dependeur_struct_dependeur_struct.c dependeur_struct_dependeur_struct_loop.c PASS: ./lus2lic {-o /tmp/minmax4_bis.lic should_work/minmax4_bis.lus} PASS: ./lus2lic {-ec -o /tmp/minmax4_bis.ec should_work/minmax4_bis.lus} PASS: ./myec2c {-o /tmp/minmax4_bis.c /tmp/minmax4_bis.ec} @@ -1111,7 +1111,7 @@ PASS: ./lus2lic {-o /tmp/map.lic should_work/map.lus} PASS: ./lus2lic {-ec -o /tmp/map.ec should_work/map.lus} PASS: ./myec2c {-o /tmp/map.c /tmp/map.ec} FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/map.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/map.lus -n map} +PASS: ./lus2lic {-2c should_work/map.lus -n map} FAIL: Check that the generated C code compiles : gcc map_map.c map_map_loop.c PASS: ./lus2lic {-o /tmp/pre_x.lic should_work/pre_x.lus} PASS: ./lus2lic {-ec -o /tmp/pre_x.ec should_work/pre_x.lus} @@ -1163,7 +1163,7 @@ PASS: ./lus2lic {-o /tmp/predef02.lic should_work/predef02.lus} PASS: ./lus2lic {-ec -o /tmp/predef02.ec should_work/predef02.lus} PASS: ./myec2c {-o /tmp/predef02.c /tmp/predef02.ec} PASS: ../utils/test_lus2lic_no_node should_work/predef02.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/predef02.lus -n predef02} +PASS: ./lus2lic {-2c should_work/predef02.lus -n predef02} FAIL: Check that the generated C code compiles : gcc predef02_predef02.c predef02_predef02_loop.c PASS: ./lus2lic {-o /tmp/toto.lic should_work/toto.lus} PASS: ./lus2lic {-ec -o /tmp/toto.ec should_work/toto.lus} @@ -1199,7 +1199,7 @@ PASS: ./lus2lic {-o /tmp/mapiter.lic should_work/mapiter.lus} PASS: ./lus2lic {-ec -o /tmp/mapiter.ec should_work/mapiter.lus} PASS: ./myec2c {-o /tmp/mapiter.c /tmp/mapiter.ec} PASS: ../utils/test_lus2lic_no_node should_work/mapiter.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/mapiter.lus -n mapiter} +PASS: ./lus2lic {-2c should_work/mapiter.lus -n mapiter} FAIL: Check that the generated C code compiles : gcc mapiter_mapiter.c mapiter_mapiter_loop.c PASS: ./lus2lic {-o /tmp/tuple.lic should_work/tuple.lus} PASS: ./lus2lic {-ec -o /tmp/tuple.ec should_work/tuple.lus} @@ -1229,13 +1229,13 @@ PASS: ./lus2lic {-o /tmp/triSel.lic should_work/triSel.lus} PASS: ./lus2lic {-ec -o /tmp/triSel.ec should_work/triSel.lus} PASS: ./myec2c {-o /tmp/triSel.c /tmp/triSel.ec} PASS: ../utils/test_lus2lic_no_node should_work/triSel.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/triSel.lus -n triSel} +PASS: ./lus2lic {-2c should_work/triSel.lus -n triSel} FAIL: Check that the generated C code compiles : gcc triSel_triSel.c triSel_triSel_loop.c PASS: ./lus2lic {-o /tmp/redoptest.lic should_work/redoptest.lus} PASS: ./lus2lic {-ec -o /tmp/redoptest.ec should_work/redoptest.lus} PASS: ./myec2c {-o /tmp/redoptest.c /tmp/redoptest.ec} PASS: ../utils/test_lus2lic_no_node should_work/redoptest.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/redoptest.lus -n redoptest} +PASS: ./lus2lic {-2c should_work/redoptest.lus -n redoptest} FAIL: Check that the generated C code compiles : gcc redoptest_redoptest.c redoptest_redoptest_loop.c PASS: ./lus2lic {-o /tmp/flo.lic should_work/flo.lus} PASS: ./lus2lic {-ec -o /tmp/flo.ec should_work/flo.lus} @@ -1247,13 +1247,13 @@ PASS: ./lus2lic {-o /tmp/cond01.lic should_work/cond01.lus} PASS: ./lus2lic {-ec -o /tmp/cond01.ec should_work/cond01.lus} PASS: ./myec2c {-o /tmp/cond01.c /tmp/cond01.ec} PASS: ../utils/test_lus2lic_no_node should_work/cond01.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/cond01.lus -n cond01} +PASS: ./lus2lic {-2c should_work/cond01.lus -n cond01} FAIL: Check that the generated C code compiles : gcc cond01_cond01.c cond01_cond01_loop.c PASS: ./lus2lic {-o /tmp/shiftFill_ludic.lic should_work/shiftFill_ludic.lus} PASS: ./lus2lic {-ec -o /tmp/shiftFill_ludic.ec should_work/shiftFill_ludic.lus} PASS: ./myec2c {-o /tmp/shiftFill_ludic.c /tmp/shiftFill_ludic.ec} PASS: ../utils/test_lus2lic_no_node should_work/shiftFill_ludic.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/shiftFill_ludic.lus -n shiftFill_ludic} +PASS: ./lus2lic {-2c should_work/shiftFill_ludic.lus -n shiftFill_ludic} FAIL: Check that the generated C code compiles : gcc shiftFill_ludic_shiftFill_ludic.c shiftFill_ludic_shiftFill_ludic_loop.c PASS: ./lus2lic {-o /tmp/after.lic should_work/after.lus} PASS: ./lus2lic {-ec -o /tmp/after.ec should_work/after.lus} @@ -1265,7 +1265,7 @@ PASS: ./lus2lic {-o /tmp/arrays.lic should_work/arrays.lus} PASS: ./lus2lic {-ec -o /tmp/arrays.ec should_work/arrays.lus} PASS: ./myec2c {-o /tmp/arrays.c /tmp/arrays.ec} PASS: ../utils/test_lus2lic_no_node should_work/arrays.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/arrays.lus -n arrays} +PASS: ./lus2lic {-2c should_work/arrays.lus -n arrays} FAIL: Check that the generated C code compiles : gcc arrays_arrays.c arrays_arrays_loop.c PASS: ./lus2lic {-o /tmp/nc3.lic should_work/nc3.lus} PASS: ./lus2lic {-ec -o /tmp/nc3.ec should_work/nc3.lus} @@ -1282,13 +1282,13 @@ PASS: ./lus2lic {-o /tmp/iterate.lic should_work/iterate.lus} PASS: ./lus2lic {-ec -o /tmp/iterate.ec should_work/iterate.lus} PASS: ./myec2c {-o /tmp/iterate.c /tmp/iterate.ec} PASS: ../utils/test_lus2lic_no_node should_work/iterate.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/iterate.lus -n iterate} +PASS: ./lus2lic {-2c should_work/iterate.lus -n iterate} FAIL: Check that the generated C code compiles : gcc iterate_iterate.c iterate_iterate_loop.c PASS: ./lus2lic {-o /tmp/overload.lic should_work/overload.lus} PASS: ./lus2lic {-ec -o /tmp/overload.ec should_work/overload.lus} PASS: ./myec2c {-o /tmp/overload.c /tmp/overload.ec} PASS: ../utils/test_lus2lic_no_node should_work/overload.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/overload.lus -n overload} +PASS: ./lus2lic {-2c should_work/overload.lus -n overload} FAIL: Check that the generated C code compiles : gcc overload_overload.c overload_overload_loop.c PASS: ./lus2lic {-o /tmp/PCOND.lic should_work/PCOND.lus} PASS: ./lus2lic {-ec -o /tmp/PCOND.ec should_work/PCOND.lus} @@ -1306,7 +1306,7 @@ PASS: ./lus2lic {-o /tmp/call03.lic should_work/call03.lus} PASS: ./lus2lic {-ec -o /tmp/call03.ec should_work/call03.lus} PASS: ./myec2c {-o /tmp/call03.c /tmp/call03.ec} PASS: ../utils/test_lus2lic_no_node should_work/call03.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/call03.lus -n call03} +PASS: ./lus2lic {-2c should_work/call03.lus -n call03} FAIL: Check that the generated C code compiles : gcc call03_call03.c call03_call03_loop.c PASS: ./lus2lic {-o /tmp/modes3x2-simu.lic should_work/modes3x2-simu.lus} PASS: ./lus2lic {-ec -o /tmp/modes3x2-simu.ec should_work/modes3x2-simu.lus} @@ -1361,7 +1361,7 @@ PASS: ./lus2lic {-o /tmp/bred_lv4.lic should_work/bred_lv4.lus} PASS: ./lus2lic {-ec -o /tmp/bred_lv4.ec should_work/bred_lv4.lus} PASS: ./myec2c {-o /tmp/bred_lv4.c /tmp/bred_lv4.ec} PASS: ../utils/test_lus2lic_no_node should_work/bred_lv4.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/bred_lv4.lus -n bred_lv4} +PASS: ./lus2lic {-2c should_work/bred_lv4.lus -n bred_lv4} FAIL: Check that the generated C code compiles : gcc bred_lv4_bred_lv4.c bred_lv4_bred_lv4_loop.c PASS: ./lus2lic {-o /tmp/trivial2.lic should_work/trivial2.lus} PASS: ./lus2lic {-ec -o /tmp/trivial2.ec should_work/trivial2.lus} @@ -1391,7 +1391,7 @@ PASS: ./lus2lic {-o /tmp/minus.lic should_work/minus.lus} PASS: ./lus2lic {-ec -o /tmp/minus.ec should_work/minus.lus} PASS: ./myec2c {-o /tmp/minus.c /tmp/minus.ec} PASS: ../utils/test_lus2lic_no_node should_work/minus.lus -FAIL: Generate c code : ./lus2lic {-2c should_work/minus.lus -n minus} +PASS: ./lus2lic {-2c should_work/minus.lus -n minus} FAIL: Check that the generated C code compiles : gcc minus_minus.c minus_minus_loop.c PASS: ./lus2lic {-o /tmp/remplissage-1.0.lic should_work/remplissage-1.0.lus} PASS: ./lus2lic {-ec -o /tmp/remplissage-1.0.ec should_work/remplissage-1.0.lus} @@ -1468,9 +1468,9 @@ XPASS: Test bad programs (semantics): lus2lic {-o /tmp/bug.lic should_fail/seman === lus2lic Summary === -# of expected passes 1073 -# of unexpected failures 325 +# of expected passes 1116 +# of unexpected failures 282 # of unexpected successes 21 # of expected failures 37 -testcase ./lus2lic.tests/non-reg.exp completed in 118 seconds +testcase ./lus2lic.tests/non-reg.exp completed in 113 seconds testcase ./lus2lic.tests/progression.exp completed in 0 seconds diff --git a/test/lus2lic.tests/non-reg.exp b/test/lus2lic.tests/non-reg.exp index c990b92b..12eac416 100644 --- a/test/lus2lic.tests/non-reg.exp +++ b/test/lus2lic.tests/non-reg.exp @@ -31,7 +31,7 @@ foreach f $ok_files { set id5 [should_work "Generate c code " "$lus2lic" "-2c $f -n $basef"] wait -i $id5 - if { [emptyfile "${basef}_${basef}_loop.c"] } { + if { [emptyfile "${basef}_${basef}.c"] } { set id6 [should_work "Check that the generated C code compiles " "gcc ${basef}_${basef}.c ${basef}_${basef}_loop.c"] wait -i $id6 catch { exp_close -i $id6 } diff --git a/test/lus2lic.time b/test/lus2lic.time index 8501891b..68f66339 100644 --- a/test/lus2lic.time +++ b/test/lus2lic.time @@ -1,2 +1,2 @@ -testcase ./lus2lic.tests/non-reg.exp completed in 118 seconds +testcase ./lus2lic.tests/non-reg.exp completed in 113 seconds testcase ./lus2lic.tests/progression.exp completed in 0 seconds -- GitLab