diff --git a/Makefile b/Makefile
index b969245541f0ee6a96d1dd82477c7f947adcf705..0165dfeffbf05baadc939e0d6dcf43634b34a16e 100644
--- a/Makefile
+++ b/Makefile
@@ -14,9 +14,6 @@ setup.data:configure
 configure: setup.ml
 	ocaml setup.ml -configure $(PROF)  --prefix $(LUSTREV6_PATH) --exec-prefix $(LUSTREV6_PATH)/$(HOSTTYPE)
 
-test: build 
-	cd test; make test
-
 install:
 	ocaml setup.ml -install
 
diff --git a/src/compile.ml b/src/compile.ml
index 9c6769b54b5365774f9387e16e7f6fbfe0b54695..46f22844f2638dd9f90f896e84676e5f00fe3c68 100644
--- a/src/compile.ml
+++ b/src/compile.ml
@@ -1,4 +1,4 @@
-(* Time-stamp: <modified the 04/07/2014 (at 16:23) by Erwan Jahier> *)
+(* Time-stamp: <modified the 14/08/2014 (at 17:16) by Erwan Jahier> *)
 
 open Lxm
 open Lv6errors
@@ -13,7 +13,7 @@ let info msg =
 
 let (doit : Lv6MainArgs.t -> AstV6.pack_or_model list -> Ident.idref option -> LicPrg.t) = 
   fun opt srclist main_node ->
-    let t0 = Sys.time() in
+(*     let t0 = Sys.time() in *)
     info "Start compiling to lic...\n";
     let syntax_tab = AstTab.create srclist in
     (* Pour chaque package, on a un solveur de références
diff --git a/src/evalClock.ml b/src/evalClock.ml
index 6abb88ef3b68da6291743d3694e174f934575161..31e65c9c796cc37a148350b38061f297064f6c0a 100644
--- a/src/evalClock.ml
+++ b/src/evalClock.ml
@@ -1,4 +1,4 @@
-(* Time-stamp: <modified the 14/08/2014 (at 16:13) by Erwan Jahier> *)
+(* Time-stamp: <modified the 14/08/2014 (at 17:03) by Erwan Jahier> *)
  
   
 open AstPredef
@@ -318,6 +318,8 @@ and (eval_by_pos_clock : IdSolver.t -> Lic.by_pos_op -> Lxm.t -> Lic.val_exp lis
           in
           args, (List.map current_clock (List.flatten clocks_of_args), s)
         )
+        | Lic.CURRENT None, _     -> assert false (* SNO *)
+        | Lic.CURRENT (Some _), _ -> assert false (* SNO *)
         | Lic.WHEN when_exp_clk,args -> (
           let c_clk =
             match when_exp_clk with
diff --git a/src/genOcamlGlue.ml b/src/genOcamlGlue.ml
index 1ff584d73ebeca4aa3194d54b20ccf60b6de1686..4f1d7ab08b0da9890af5cbe8e49b123bbdf0f8f1 100644
--- a/src/genOcamlGlue.ml
+++ b/src/genOcamlGlue.ml
@@ -1,8 +1,10 @@
-(* Time-stamp: <modified the 26/03/2014 (at 16:17) by Erwan Jahier> *)
+(* Time-stamp: <modified the 14/08/2014 (at 17:07) by Erwan Jahier> *)
 
 (* generate ocaml glue code that makes it possible to call lus2lic
    from ocaml with the current set of arguments (with Lus2licRun.make).
 *)
+open Lv6MainArgs
+
 let (f: string array -> Lv6MainArgs.t -> unit) =
   fun argv opt -> 
     let outfile = if opt.outfile <> "" then opt.outfile else
diff --git a/src/l2lExpandArrays.ml b/src/l2lExpandArrays.ml
index 5abf80a30a489e4f07eaa75b75f23c4e15f35810..740d3dfa34939ed485edc491932de1786d02d837 100644
--- a/src/l2lExpandArrays.ml
+++ b/src/l2lExpandArrays.ml
@@ -1,4 +1,4 @@
-(** Time-stamp: <modified the 14/08/2014 (at 15:11) by Erwan Jahier> *)
+(** Time-stamp: <modified the 14/08/2014 (at 16:29) by Erwan Jahier> *)
 
 (* Replace structures and arrays by as many variables as necessary.
    Since structures can be recursive, it migth be a lot of new variables...
@@ -108,7 +108,7 @@ let soi = string_of_int
 let (index_list_of_slice_info : Lic.slice_info -> int list) =
   fun si -> 
     let rec aux acc cpt =
-      if ((si.se_step > 0 & cpt > si.se_last) || (si.se_step < 0 & cpt < si.se_last))
+      if ((si.se_step > 0 && cpt > si.se_last) || (si.se_step < 0 && cpt < si.se_last))
       then acc else aux (cpt::acc) (cpt + si.se_step)
     in
       List.rev (aux [] si.se_first)
diff --git a/src/lic2soc.ml b/src/lic2soc.ml
index 111b9804d3bf12b66fac82fd5c3aa77d2f7a94ac..d03c7b1d10a0797a234342cd0fa6a3c1952cd446 100644
--- a/src/lic2soc.ml
+++ b/src/lic2soc.ml
@@ -1,4 +1,4 @@
-(** Time-stamp: <modified the 14/08/2014 (at 10:34) by Erwan Jahier> *)
+(** Time-stamp: <modified the 14/08/2014 (at 16:35) by Erwan Jahier> *)
 
 (* XXX ce module est mal écrit. A reprendre. (R1) *)
  
@@ -113,7 +113,7 @@ let rec (lic2soc_const : Lic.const -> Soc.var_expr list) =
     | Extern_const_eff (s,  teff) -> [Soc.Const(Ident.string_of_long s, lic_to_data_type teff)]
     | Abstract_const_eff (s,  teff,_,_) -> [Soc.Const(Ident.string_of_long s, lic_to_data_type teff)]
     | Enum_const_eff   (s,  teff) -> 
-      let Enum_type_eff(_,ll) = teff in
+      let ll = match teff with Enum_type_eff(_,ll) -> ll | _ ->  assert false in
       [Soc.Const(enum_to_string s ll, lic_to_data_type teff)]
     | Struct_const_eff (fl, teff) -> assert false (* todo *)
     | Array_const_eff  (ct, teff) -> assert false (* todo *)
@@ -208,7 +208,6 @@ let rec get_leaf: (LicPrg.t -> Lic.val_exp -> Soc.var_expr list option) =
 (** Traduction d'une partie gauche d'équation en filtre d'accès soc. *)
 let rec filter_of_left_part: (LicPrg.t -> Lic.left -> Soc.var_expr list) = 
   fun licprg lp -> 
-    let type_ = Lic.type_of_left lp in
     match lp with
       | Lic.LeftVarLic  (vi, _lxm) -> (
         [Soc.Var (rename_user_var vi.Lic.var_name_eff, lic_to_data_type vi.Lic.var_type_eff)]
diff --git a/src/licDump.ml b/src/licDump.ml
index 5926d00ce51d8903b113eb53201d7982d70abedf..8eca37101b1835ae916e10d92427d827e57e09c9 100644
--- a/src/licDump.ml
+++ b/src/licDump.ml
@@ -1,4 +1,4 @@
-(* Time-stamp: <modified the 14/08/2014 (at 10:59) by Erwan Jahier> *)
+(* Time-stamp: <modified the 14/08/2014 (at 17:08) by Erwan Jahier> *)
 
 open Lv6errors
 open Printf
@@ -59,6 +59,7 @@ let rec string_of_const_eff =
         (string_of_const_eff v)
     (*     | Abstract_const_eff (s,t,v,false) -> (dump_long s)  *)
     | Enum_const_eff   (s,Enum_type_eff(_,ll)) -> Lic.enum_to_string s ll
+    | Enum_const_eff   (_) -> assert false
     | Struct_const_eff (fl, t) -> (
       let string_of_field = 
         function (id, veff) -> 
diff --git a/src/licPrg.ml b/src/licPrg.ml
index 7c8b79398a51f17cabb19e6fc3afb95851e579f6..f1c09a48329c5eaf64444c9a4f3225ef400a748f 100644
--- a/src/licPrg.ml
+++ b/src/licPrg.ml
@@ -1,4 +1,4 @@
-(* Time-stamp: <modified the 03/07/2014 (at 14:04) by Erwan Jahier> *)
+(* Time-stamp: <modified the 14/08/2014 (at 17:09) by Erwan Jahier> *)
 
 module ItemKeyMap = struct
 	include Map.Make (
@@ -183,7 +183,6 @@ let to_file (opt: Lv6MainArgs.t) (this:t) (main_node: Ident.idref option) =
       List.iter(
         List.iteri
           (fun i (t,elt) -> 
-            let const = Lic.Extern_const_eff (elt, Lic.External_type_eff t) in
             let const = Lic.Int_const_eff (string_of_int i) in
             output_string opt.Lv6MainArgs.oc (LicDump.const_decl elt const))
       )
@@ -202,7 +201,7 @@ let to_file (opt: Lv6MainArgs.t) (this:t) (main_node: Ident.idref option) =
     NodeKeyMap.iter 
       (fun (key,_) nexp -> (
         if nexp.Lic.def_eff = Lic.ExternLic && Ident.pack_of_long key <> "Lustre" then (
-          let str = (if nexp.has_mem_eff then "extern node " else "function ") ^
+          let str = (if nexp.Lic.has_mem_eff then "extern node " else "function ") ^
               (Ident.of_long key)^(LicDump.profile_of_node_exp_eff nexp)^".\n" 
           in
           output_string opt.Lv6MainArgs.oc (str);
diff --git a/src/lus2licRun.ml b/src/lus2licRun.ml
index 95dae55525ca203992d8efc5017af459e99f8217..eef62bfdff14a72cc0fdc07c49b711cb4a717cf1 100644
--- a/src/lus2licRun.ml
+++ b/src/lus2licRun.ml
@@ -1,4 +1,4 @@
-(* Time-stamp: <modified the 10/06/2014 (at 10:46) by Erwan Jahier> *)
+(* Time-stamp: <modified the 14/08/2014 (at 16:45) by Erwan Jahier> *)
 (*-----------------------------------------------------------------------
 ** Copyright (C) - Verimag.
 *)
@@ -12,7 +12,6 @@ open RdbgPlugin
 
 let make argv =
   let opt = Lv6MainArgs.parse argv in
-  let node = opt.main_node in
   Verbose.exe ~level:3 (fun () ->
     Gc.set { (Gc.get ()) with Gc.verbose = 0x01 }
   );
@@ -31,7 +30,6 @@ let make argv =
   let nsl = Compile.get_source_list opt opt.infiles in
   let lic_prg = Compile.doit opt nsl main_node in
 
-  let first_file = List.hd opt.infiles in
   let nk = (Lic.node_key_of_idref (Ident.to_idref opt.main_node)) in
   let sk, soc_tbl = 
     if LicPrg.node_exists lic_prg nk then (
@@ -44,11 +42,9 @@ let make argv =
     )
   in
   let soc = try Soc.SocMap.find sk soc_tbl with Not_found -> assert false in
-  let soc_inputs  = (SocVar.expand_profile false false (fst soc.profile)) in
   let soc_outputs = (SocVar.expand_profile true false (snd soc.profile)) in
   let (vntl_i:Data.vntl) = (fst soc.profile) in
   let (vntl_o:Data.vntl) = (snd soc.profile) in
-  let oc = stdout in
   (*    Lv6util.dump_entete oc;  *)
   (*    RifIO.write_interface oc vntl_i vntl_o None None;  *)
   (*    RifIO.flush oc;  *)
diff --git a/src/soc2c.ml b/src/soc2c.ml
index b17410c953f06531b4b86bdef7f2b647c0dacecd..7cf68801aac73188adc4e43358ec9abd727c35b1 100644
--- a/src/soc2c.ml
+++ b/src/soc2c.ml
@@ -1,4 +1,4 @@
-(* Time-stamp: <modified the 11/07/2014 (at 11:44) by Erwan Jahier> *)
+(* Time-stamp: <modified the 14/08/2014 (at 17:22) by Erwan Jahier> *)
 
 
 (* let put (os: out_channel) (fmt:('a, unit, string, unit) format4) : 'a = *)
@@ -63,11 +63,6 @@ let var_expr_is_not_a_slice = function Slice _ -> false | _ -> true
 
 let (gao2c : Soc.tbl -> 'a soc_pp -> Soc.gao -> unit) =
   fun stbl sp gao -> 
-    let string_of_var_expr_list vel =
-      List.iter (fun ve  -> assert(var_expr_is_not_a_slice ve)) vel;
-      let vel = List.map (string_of_var_expr sp.soc) vel in
-      String.concat "," vel
-    in
     let rec gao2str gao = 
       match gao with
         | Case(id, id_gao_l) -> ( 
@@ -114,7 +109,6 @@ let (gao2c : Soc.tbl -> 'a soc_pp -> Soc.gao -> unit) =
 let (step2c : Soc.tbl -> 'a soc_pp -> Soc.step_method -> unit) =
   fun stbl sp sm -> 
     if inline_soc sp.soc.key then () (* don't generate code if inlined *) else
-      let sm_str = sm.name in
     (*     let sname = Soc2cUtil.step_name sp.soc.key sm.name in *)
       let sname = Soc2cUtil.step_name sp.soc.key sm.name in
       let ctx = if is_memory_less sp.soc then "" else
@@ -156,11 +150,6 @@ let (soc2c: int -> out_channel -> out_channel -> Soc.tbl -> Soc.t -> unit) =
 	 let cfmt fmt = Printf.kprintf (fun t -> output_string cfile t) fmt in
     let hput str = output_string hfile str in
     let cput str = output_string cfile str in
-    let put str = cput str; hput str in
-    let fmt f str = cfmt f str; hfmt f str in    
-    let name, _,_ = soc.key in
-    let name = id2s name in
-    let il,ol = soc.profile in
     let sp = { hfmt = hfmt; cfmt=cfmt; hput = hput; cput = cput; soc = soc } in
     let ctx_name = get_ctx_name soc.key in
     let ctx_name_type = ctx_name^"_type" in    
@@ -210,7 +199,7 @@ let (type_to_format_string : Data.t -> string) =
     | Struct (sid,_) -> "%s"
     | Array (ty, sz) -> "%s"
     | Alpha nb -> assert false 
-
+    | Alias _ -> assert false 
 
 
 (****************************************************************************)
@@ -263,7 +252,7 @@ let  (find_typedep_nf : Lic.type_ -> Lic.item_key list) =
 
 let (is_extern_type: Lic.type_ -> bool) =
   function 
-    | External_type_eff _ -> true
+    | Lic.External_type_eff _ -> true
     | _  -> false
 
 let (typedef : LicPrg.t -> Soc.tbl -> Soc.t -> string) =
@@ -334,14 +323,15 @@ let (typedef : LicPrg.t -> Soc.tbl -> Soc.t -> string) =
 (****************************************************************************)
 let rec (const_to_c: Lic.const -> string) =
   function
-    | Bool_const_eff true -> "1"
-    | Bool_const_eff false -> "0"
-    | Int_const_eff i -> (sprintf "%s" i)
-    | Real_const_eff r -> r
-    | Extern_const_eff (s,t) -> (long2s s)
-    | Abstract_const_eff (s,t,v,_) -> const_to_c v
-    | Enum_const_eff   (s,Enum_type_eff(_,ll)) -> Lic.enum_to_string s ll
-    | Struct_const_eff (fl, t) -> (
+    | Lic.Bool_const_eff true -> "1"
+    | Lic.Bool_const_eff false -> "0"
+    | Lic.Int_const_eff i -> (sprintf "%s" i)
+    | Lic.Real_const_eff r -> r
+    | Lic.Extern_const_eff (s,t) -> (long2s s)
+    | Lic.Abstract_const_eff (s,t,v,_) -> const_to_c v
+    | Lic.Enum_const_eff   (s,Lic.Enum_type_eff(_,ll)) -> Lic.enum_to_string s ll
+    | Lic.Enum_const_eff   _ -> assert false (* SNO *)
+    | Lic.Struct_const_eff (fl, t) -> (
       let string_of_field = 
         function (id, veff) -> 
           (Ident.to_string id)^" = "^ (const_to_c veff) 
@@ -350,11 +340,11 @@ let rec (const_to_c: Lic.const -> string) =
 (*       (string_of_type_eff t)^ *)
         "{"^(String.concat "; " flst)^"}"
     )
-    | Array_const_eff (ctab, t) -> (
+    | Lic.Array_const_eff (ctab, t) -> (
       let vl = List.map const_to_c ctab in
       "["^(String.concat ", " vl)^"]"
     )
-    | Tuple_const_eff   cl -> assert false
+    | Lic.Tuple_const_eff   cl -> assert false
 
 let (constdef : LicPrg.t -> string) = 
   fun licprg -> 
@@ -427,7 +417,7 @@ _boolean _get_bool(char* n){
    char c;
    do {
       if(ISATTY) {
-         if((s != 1)||(r == -1)) printf(\"\a\");
+         if((s != 1)||(r == -1)) printf(\"\\a\");
          // printf(\"%s (1,t,T/0,f,F) ? \", n);
       }
       if(scanf(\"%s\", b)==EOF) exit(0);
@@ -445,7 +435,7 @@ _integer _get_int(char* n){
    int s = 1;
    do {
       if(ISATTY) {
-         if(s != 1) printf(\"\a\");
+         if(s != 1) printf(\"\\a\");
          //printf(\"%s (integer) ? \", n);
       }
       if(scanf(\"%s\", b)==EOF) exit(0);
@@ -461,7 +451,7 @@ _real _get_real(char* n){
    int s = 1;
    do {
       if(ISATTY) {
-         if(s != 1) printf(\"\a\");
+         if(s != 1) printf(\"\\a\");
          //printf(\"%s (real) ? \", n);
       }
       if(scanf(\"%s\", b)==EOF) exit(0);
diff --git a/src/soc2cExtern.ml b/src/soc2cExtern.ml
index 5e0c34b0d2c54b66342a6df0676d214c4509cba4..7df38095929722813f1df2a8cdc468fadf923b45 100644
--- a/src/soc2cExtern.ml
+++ b/src/soc2cExtern.ml
@@ -1,4 +1,4 @@
-(* Time-stamp: <modified the 11/07/2014 (at 14:02) by Erwan Jahier> *)
+(* Time-stamp: <modified the 14/08/2014 (at 17:11) by Erwan Jahier> *)
 
 open Soc2cIdent
 
@@ -103,11 +103,11 @@ let (gen_files : Soc.t -> Soc.tbl -> LicPrg.t -> string -> string-> string -> bo
       stbl []
     in
     let extern_types = LicPrg.fold_types 
-      (fun _ t acc -> match t with External_type_eff et -> et::acc | _ -> acc)
+      (fun _ t acc -> match t with Lic.External_type_eff et -> et::acc | _ -> acc)
       licprg []
     in
     let extern_consts = LicPrg.fold_consts 
-      (fun _ c acc -> match c with Extern_const_eff(ec,_) -> ec::acc | _ -> acc)
+      (fun _ c acc -> match c with Lic.Extern_const_eff(ec,_) -> ec::acc | _ -> acc)
       licprg []
     in
     let needs_cfile = extern_steps <> [] in
diff --git a/src/soc2cIdent.ml b/src/soc2cIdent.ml
index 292d6d69e9f1a1ddd2ff56a87e8f54b446b02887..8bb422ae4b030a2bcd1a60802f2ac9eb990cf437 100644
--- a/src/soc2cIdent.ml
+++ b/src/soc2cIdent.ml
@@ -1,4 +1,5 @@
-(* Time-stamp: <modified the 14/08/2014 (at 10:32) by Erwan Jahier> *)
+(* Time-stamp: <modified the 14/08/2014 (at 17:10) by Erwan Jahier> *)
+open Soc
 
 let colcol = Str.regexp "::"
 let id2s id = (* XXX Refuser les noms de module à la con plutot *)
diff --git a/src/soc2cUtil.ml b/src/soc2cUtil.ml
index ec1ff5c7240a55ed3a3cb2f770d7fafd6f8d6210..fbc8e46a3a5ed0cee69af986fbb6f076675b3c10 100644
--- a/src/soc2cUtil.ml
+++ b/src/soc2cUtil.ml
@@ -1,6 +1,7 @@
-(* Time-stamp: <modified the 09/07/2014 (at 11:48) by Erwan Jahier> *)
+(* Time-stamp: <modified the 14/08/2014 (at 17:15) by Erwan Jahier> *)
 
 open Soc2cIdent
+open Soc
 
 let (mem_interface : Soc.t -> string -> bool) =
   fun soc id -> 
@@ -28,16 +29,16 @@ let rec (string_of_var_expr: Soc.t -> Soc.var_expr -> string) =
 let rec (gen_assign : Data.t  -> string -> string -> string -> string) =
   fun t vi vo size -> 
     match t with
-      | Alias(_,t) -> gen_assign t vi vo size
-      | Enum _  
-      | Struct(_) (* should I rather use memcpy for struct? *)
-      | Bool | Int | Real -> 
+      | Data.Alias(_,t) -> gen_assign t vi vo size
+      | Data.Enum _  
+      | Data.Struct(_) (* should I rather use memcpy for struct? *)
+      | Data.Bool | Data.Int | Data.Real -> 
         Printf.sprintf "  %s = %s;\n" vi vo
-      | Alpha(_) (* dead code ? *) 
-      | Array(_) -> 
+      | Data.Alpha(_) (* dead code ? *) 
+      | Data.Array(_) -> 
         Printf.sprintf "  memcpy(%s, %s, %s);\n" vi vo size
 
-      | Extern (id) -> 
+      | Data.Extern (id) -> 
         (* what should i do for extern types? Ask the user to provide the
            copy function I guess *)
         Printf.sprintf "  _assign_%s(&%s, %s);\n" (id2s id) vi vo 
@@ -166,28 +167,28 @@ let rec (lic_type_to_c: Lic.type_  -> string -> string) =
         in
         ((Printf.sprintf "struct { %s\n  }" 
             (String.concat "" (List.map field_to_c fl)))^ " " ^ n) 
-      | Enum_type_eff (name, l) -> "_integer"^ " " ^ n              
+      | Lic.Enum_type_eff (name, l) -> "_integer"^ " " ^ n              
       | _ -> type_to_string (Lic2soc.lic_to_data_type t) n
 
 
 let rec (lic_type_to_c_old: Lic.type_  -> string -> string) =
   fun t n -> match t with
-    | Bool_type_eff -> "_boolean"^ " " ^ n
-    | Int_type_eff  -> "_integer"^ " " ^ n
-    | Real_type_eff -> "_real"^ " " ^ n
-    | External_type_eff (name) -> (long2s name)^ " " ^ n
-    | Abstract_type_eff (name, t) -> lic_type_to_c t n
-    | Enum_type_eff (name, l) -> "_integer"^ " " ^ n
-    | Array_type_eff (ty, sz) -> 
+    | Lic.Bool_type_eff -> "_boolean"^ " " ^ n
+    | Lic.Int_type_eff  -> "_integer"^ " " ^ n
+    | Lic.Real_type_eff -> "_real"^ " " ^ n
+    | Lic.External_type_eff (name) -> (long2s name)^ " " ^ n
+    | Lic.Abstract_type_eff (name, t) -> lic_type_to_c t n
+    | Lic.Enum_type_eff (name, l) -> "_integer"^ " " ^ n
+    | Lic.Array_type_eff (ty, sz) -> 
       Printf.sprintf "%s %s[%d]" (lic_type_to_c ty "") n sz
-    | Struct_type_eff (name, fl) ->
+    | Lic.Struct_type_eff (name, fl) ->
       let field_to_c (id,(tf,_opt)) = 
         Printf.sprintf "  %s %s;\n" (lic_type_to_c tf "")  (id2s id)
       in
       (Printf.sprintf "struct %s { %s }" 
         (long2s name) 
         (String.concat "" (List.map field_to_c fl)))^ " " ^ n
-    | TypeVar Any -> assert false
-    | (TypeVar AnyNum) -> assert false
+    | Lic.TypeVar Lic.Any -> assert false
+    | Lic.TypeVar Lic.AnyNum -> assert false
 
 
diff --git a/src/socExec.ml b/src/socExec.ml
index 14fbba2e45e4436948d37cf625f86f5f7e1efcaf..b36558edfaa5524b63df9cb2c1bc1fc78d4467e7 100644
--- a/src/socExec.ml
+++ b/src/socExec.ml
@@ -1,4 +1,4 @@
-(* Time-stamp: <modified the 13/08/2014 (at 09:36) by Erwan Jahier> *)
+(* Time-stamp: <modified the 14/08/2014 (at 17:16) by Erwan Jahier> *)
 
 open Soc
 open Data
@@ -203,21 +203,22 @@ let (add_data_subst : var list -> Data.subst list -> SocExecValue.substs -> SocE
 let (read_soc_input : Lv6MainArgs.t -> var list -> Data.vntl -> out_channel -> substs -> substs) =
   fun opt vntl_i exp_vntl_i_str oc ctx_s -> 
     let s:Data.subst list = 
-      RifIO.read ~debug:(Verbose.level()>0) stdin (if opt.rif then None else Some oc) exp_vntl_i_str 
+      RifIO.read ~debug:(Verbose.level()>0) stdin 
+        (if opt.Lv6MainArgs.rif then None else Some oc) exp_vntl_i_str 
     in
     add_data_subst vntl_i s ctx_s
 
 let rec (loop_step : Lv6MainArgs.t -> Soc.tbl -> Soc.var list -> Data.vntl -> Data.vntl
          -> Soc.t -> SocExecValue.ctx -> int -> out_channel -> unit) =
   fun opt soc_tbl vntl_i exp_vntl_i_str exp_vntl_o_str soc ctx step_nb oc ->
-    if not opt.rif then RifIO.write oc ("\n#step " ^ (string_of_int step_nb)^"\n");
+    if not opt.Lv6MainArgs.rif then RifIO.write oc ("\n#step " ^ (string_of_int step_nb)^"\n");
     let ctx = { ctx with s = read_soc_input opt vntl_i exp_vntl_i_str oc ctx.s } in
     let step = match soc.step with [step] -> step | _ ->  assert false in
     let ctx = soc_step step soc_tbl soc ctx in
     let s = SocExecValue.filter_top_subst ctx.s in
     let s = List.flatten(List.map SocVar.expand_subst s) in
     let f2s = SocUtils.my_string_of_float_precision opt.Lv6MainArgs.precision in
-    if not opt.rif then RifIO.write oc " #outs ";
+    if not opt.Lv6MainArgs.rif then RifIO.write oc " #outs ";
     RifIO.write_outputs oc f2s exp_vntl_o_str s;
     RifIO.write oc "\n";
     RifIO.flush oc;
@@ -271,18 +272,6 @@ let rec (do_step_dbg : Soc.tbl -> Soc.t -> Event.ctx -> SocExecValue.ctx ->
     } 
     in
     let cont2 ctx =
-      let lazy_si = (fun () -> 
-        let soc_step = match soc.step with [step] -> step | _ ->  assert false in
-        let lxm = soc_step.lxm in
-        [{
-          Event.str = Lxm.str lxm;
-          Event.file = Lxm.file lxm ;
-          Event.line = Lxm.line lxm,Lxm.line lxm;
-          Event.char = Lxm.cstart lxm, Lxm.cend lxm;
-          (*           Event.stack = if tl=[] then None else Some (to_src_info tl); *)
-          Event.stack = None; 
-        }]) 
-      in
       let enb = Event.incr_nb () in
       { 
         Event.step = ectx.Event.ctx_step;
diff --git a/src/socExecEvalPredef.ml b/src/socExecEvalPredef.ml
index 038fb85978b67c6dbd80e7085469770890aeb6f8..00849a9838de6270d75713023c251723c1f7ff91 100644
--- a/src/socExecEvalPredef.ml
+++ b/src/socExecEvalPredef.ml
@@ -1,4 +1,4 @@
-(* Time-stamp: <modified the 14/08/2014 (at 15:39) by Erwan Jahier> *)
+(* Time-stamp: <modified the 14/08/2014 (at 16:46) by Erwan Jahier> *)
 
 open SocExecValue
 open Data
@@ -76,7 +76,6 @@ let lustre_minus ctx =
       | [F x1; F x2] -> "z"::ctx.cpath,F(x1 -. x2)
       | [U; _] | [_;U] -> "z"::ctx.cpath,U
       | [v1;v2]  ->  type_error v1 v2; "z"::ctx.cpath,U
-      | [v1;v2]  ->  type_error v1 v2; "z"::ctx.cpath,U
       | _  -> assert false
   in
   { ctx with s = sadd ctx.s vn vv }
@@ -97,7 +96,6 @@ let lustre_eq ctx =
     match ([get_val "x" ctx; get_val "y" ctx]) with
       | [U; _] | [_;U] -> "z"::ctx.cpath,U
       | [x1; x2] -> "z"::ctx.cpath,B(x1 = x2)
-      | [v1;v2]  ->  type_error v1 v2; "z"::ctx.cpath,U
       | _  -> assert false
   in
   { ctx with s = sadd ctx.s vn vv }
@@ -151,7 +149,6 @@ let lustre_lt ctx =
     match ([get_val "x" ctx; get_val "y" ctx]) with
       | [U; _] | [_;U] -> "z"::ctx.cpath,U
       | [x1; x2] -> "z"::ctx.cpath,B(x1 < x2)
-      | [v1;v2]  ->  type_error v1 v2; "z"::ctx.cpath,U
       | _  -> assert false
   in
   { ctx with s = sadd ctx.s vn vv }
@@ -161,7 +158,6 @@ let lustre_gt ctx =
     match ([get_val "x" ctx; get_val "y" ctx]) with
       | [U; _] | [_;U] -> "z"::ctx.cpath,U
       | [x1; x2] -> "z"::ctx.cpath,B(x1 > x2)
-      | [v1;v2]  ->  type_error v1 v2; "z"::ctx.cpath,U
       | _  -> assert false
   in
   { ctx with s = sadd ctx.s vn vv }
@@ -171,7 +167,6 @@ let lustre_lte ctx =
     match ([get_val "x" ctx; get_val "y" ctx]) with
       | [U; _] | [_;U] -> "z"::ctx.cpath,U
       | [x1; x2] -> "z"::ctx.cpath,B(x1 <= x2)
-      | [v1;v2]  ->  type_error v1 v2; "z"::ctx.cpath,U
       | _  -> assert false
   in
   { ctx with s = sadd ctx.s vn vv }
@@ -181,7 +176,6 @@ let lustre_gte ctx =
     match ([get_val "x" ctx; get_val "y" ctx]) with
       | [U; _] | [_;U] -> "z"::ctx.cpath,U
       | [x1; x2] -> "z"::ctx.cpath,B(x1 >= x2)
-      | [v1;v2]  ->  type_error v1 v2; "z"::ctx.cpath,U 
       | _  -> assert false
   in
   { ctx with s = sadd ctx.s vn vv }
@@ -231,7 +225,7 @@ let lustre_or  ctx =
 let lustre_impl ctx =
   let (vn,vv) = 
     match ([get_val "x" ctx; get_val "y" ctx]) with
-      | [B x1; B x2] -> "z"::ctx.cpath,B(not x1 or x2)
+      | [B x1; B x2] -> "z"::ctx.cpath,B(not x1 || x2)
       | [U; _] | [_;U] -> "z"::ctx.cpath,U
       | [v1;v2]  ->  type_error2 v1 v2 "bool";"z"::ctx.cpath,U
       | _  -> assert false
diff --git a/src/socPredef.ml b/src/socPredef.ml
index 97e13314cc18ce7cb64246f0c9eaba4b81065181..ddd04b8f392af02fa9b8d488889fa6380531370a 100644
--- a/src/socPredef.ml
+++ b/src/socPredef.ml
@@ -1,4 +1,4 @@
-(* Time-stamp: <modified the 14/08/2014 (at 16:14) by Erwan Jahier> *)
+(* Time-stamp: <modified the 14/08/2014 (at 16:32) by Erwan Jahier> *)
 
 (** Synchronous Object Code for Predefined operators. *)
 
@@ -505,6 +505,7 @@ let (soc_interface_of_pos_op:
        Lxm.t -> Lic.by_pos_op -> Data.t list -> Soc.var_expr option -> Soc.t) =
   fun lxm op types fby_init_opt ->
     match (op, types,fby_init_opt) with
+
       | Lic.PREDEF_CALL ({Lxm.it=("Lustre","if"),[]}),_ ,_  ->
         let concrete_type = List.nth types 1 in
         let soc = of_soc_key ("Lustre::if", types@[concrete_type], Nomore) in
@@ -546,7 +547,7 @@ let (soc_interface_of_pos_op:
         (make_array_soc i elt_type)
 
       | Lic.ARRAY_SLICE sinfo, [Array (t, s)], _ -> (make_array_slice_soc sinfo s t)
-      | Lic.ARRAY_SLICE sinfo, [], _ -> assert false
+      | Lic.ARRAY_SLICE sinfo, _, _ -> assert false
 
       | Lic.CONCAT, [Array (t1, s1); Array (t2, s2)], _->  
         assert (t1=t2);
@@ -556,8 +557,7 @@ let (soc_interface_of_pos_op:
       | Lic.CALL _,_,_ ->  assert false 
       | Lic.CONST _ ,  _,_ ->  assert false
 
-      (* Those are not soc *)
-
+        (* Those are not soc *)
       | Lic.VAR_REF _, _,_ -> assert false
       | Lic.CONST_REF _, _,_ -> assert false
       | Lic.STRUCT_ACCESS _, _,_ -> assert false
diff --git a/src/socPredef2c.ml b/src/socPredef2c.ml
index 68148f2e410fa231c2fc3ebe19bedba37a02f25c..659ee1eb9a75d487493618250fd000397ee7c870 100644
--- a/src/socPredef2c.ml
+++ b/src/socPredef2c.ml
@@ -1,4 +1,4 @@
-(* Time-stamp: <modified the 14/08/2014 (at 16:16) by Erwan Jahier> *)
+(* Time-stamp: <modified the 14/08/2014 (at 16:37) by Erwan Jahier> *)
 
 open Data
 open Soc
@@ -23,7 +23,7 @@ let (lustre_unop : Soc.key -> string -> string) =
 let (lustre_ite : Soc.key -> string) =
   fun sk -> 
     let ctx = get_ctx_name sk in
-    let (_,_::t::_,_) = sk in
+    let t = match sk with  (_,_::t::_,_) -> t | _ ->  assert false in
 (*     Printf.sprintf"  %s.z = (%s.c)? %s.xt : %s.xe;\n" ctx ctx ctx ctx *)
     Soc2cUtil.gen_assign t (Printf.sprintf "%s.z" ctx)
        (Printf.sprintf "(%s.c)? %s.xt : %s.xe" ctx ctx ctx)
@@ -39,7 +39,7 @@ let (lustre_impl : Soc.key -> string) =
 let (lustre_arrow : Soc.key -> string) =
   fun sk -> 
     let x,y,z = "ctx->x", "ctx->y", "ctx->z" in
-    let (_,t::_,_) = sk in
+    let t = match sk with  (_,_::t::_,_) -> t | _ ->  assert false in
     let vo = Printf.sprintf"((ctx->_memory)? %s : %s)" x y in
     let size = Printf.sprintf "sizeof(%s)" x in
     (Soc2cUtil.gen_assign t z vo size) ^ 
@@ -48,7 +48,7 @@ let (lustre_arrow : Soc.key -> string) =
 let (lustre_merge : Soc.key -> string) =
   fun sk -> 
     let ctx = get_ctx_name sk in
-    let (_,tc::tl,_) = sk in
+    let tc,tl = match sk with  (_,tc::tl,_) -> tc,tl | _ ->  assert false in
     match tc with
       | Bool ->
         Printf.sprintf"  %s.z = (%s.clk) ? %s.x1 : %s.x2  ;\n" ctx ctx ctx ctx
@@ -283,12 +283,10 @@ let (get_iterator : Soc.t -> string -> Soc.t -> int -> string) =
 (* exported *)
 let (get_condact : Soc.t -> Soc.t -> var_expr list -> string ) = 
   fun soc condact_soc el -> 
-    let ctx = get_ctx_name soc.key in
-    let buff = ref "" in
+        let buff = ref "" in
     let add str = buff:=!buff^(str^"\n") in
 
     let clk = Printf.sprintf "ctx->i0" in
-    let string_of_var_soc (id,_) = "ctx->"^(id2s id) in
     let vel_in,vel_out = soc.profile in
     let vel_in = List.tl vel_in in
     let vel_in  = List.map (fun var -> Var var) vel_in  in
diff --git a/src/socUtils.ml b/src/socUtils.ml
index 44c09bce7cb08ccb98b5386e71e799f9ab2030cf..2424303e5e5585d8ec54dcbb47b0456e58f44d51 100644
--- a/src/socUtils.ml
+++ b/src/socUtils.ml
@@ -1,4 +1,4 @@
-(** Time-stamp: <modified the 14/08/2014 (at 11:11) by Erwan Jahier> *)
+(** Time-stamp: <modified the 14/08/2014 (at 16:30) by Erwan Jahier> *)
 
 
 open Soc
@@ -161,6 +161,7 @@ fun c m ff ->
   fprintf ff "@[<v>@[<v 2>";
   string_interface_of_method_ff c m ff;
   match m.impl with
+    | Extern -> assert false
     | Predef -> fprintf ff "@]@]"
     | Boolred(i,j,k) -> assert false (* todo *)
     | Iterator (id,key,size) -> fprintf ff "" (* todo *)
diff --git a/src/socVar.ml b/src/socVar.ml
index 4607f11ec3f75843090f8decd691db9a28023873..6cd88744cb61b8eba2094df14b62fbdd833d6c5a 100644
--- a/src/socVar.ml
+++ b/src/socVar.ml
@@ -1,4 +1,4 @@
-(* Time-stamp: <modified the 26/06/2014 (at 17:43) by Erwan Jahier> *)
+(* Time-stamp: <modified the 14/08/2014 (at 16:38) by Erwan Jahier> *)
 
 open Data
 
@@ -103,6 +103,7 @@ let (unexpand_profile : sl -> Soc.var list -> sl) =
 
           | _, (vn,Extern id)::_ -> assert false (* finish me! *)
           | _, (vn,Alpha _  )::_ -> assert false (* should not occur *) 
+          | _, (_, Alias _)::_ -> assert false (* should not occur *) 
 
     and (aux_field : sl * (ident * Data.v) list -> ident * Data.t -> sl * (ident * Data.v) list ) =
       fun (sl_todo, fl) (fn, t) ->
diff --git a/test/lus2lic.log.ref b/test/lus2lic.log.ref
index 66d36d8e9da7eb9ba6064014707329911db60ba7..24bc8c733d255b4a5f9c1dee5ae8909276c36e87 100644
--- a/test/lus2lic.log.ref
+++ b/test/lus2lic.log.ref
@@ -1,4 +1,4 @@
-Test Run By jahier on Mon Jun  2 16:02:49 2014
+Test Run By jahier on Thu Aug 14 17:23:15 2014
 Native configuration is i686-pc-linux-gnu
 
 		=== lus2lic tests ===
@@ -13,12 +13,12 @@ Using ./config/unix.exp as tool-and-target-specific interface file.
 Running ./lus2lic.tests/non-reg.exp ...
 spawn ./lus2lic -unit
 PASS: ./lus2lic -unit
-spawn ./lus2lic -o /tmp/nc6.lic should_work/nc6.lus
-PASS: ./lus2lic {-o /tmp/nc6.lic should_work/nc6.lus}
-spawn ./lus2lic -ec -o /tmp/nc6.ec should_work/nc6.lus
-PASS: ./lus2lic {-ec -o /tmp/nc6.ec should_work/nc6.lus}
-spawn ./myec2c -o /tmp/nc6.c /tmp/nc6.ec
-PASS: ./myec2c {-o /tmp/nc6.c /tmp/nc6.ec}
+spawn ./lus2lic -o ./tmp/nc6.lic should_work/nc6.lus
+PASS: ./lus2lic {-o ./tmp/nc6.lic should_work/nc6.lus}
+spawn ./lus2lic -ec -o ./tmp/nc6.ec should_work/nc6.lus
+PASS: ./lus2lic {-ec -o ./tmp/nc6.ec should_work/nc6.lus}
+spawn ./myec2c -o ./tmp/nc6.c ./tmp/nc6.ec
+PASS: ./myec2c {-o ./tmp/nc6.c ./tmp/nc6.ec}
 spawn ../utils/test_lus2lic_no_node should_work/nc6.lus
 + ./lus2lic should_work/nc6.lus -n nc6 --gen-autotest -np
 _nc6_env.lut generated.
@@ -35,20 +35,65 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
 + echo lurettetop ok
 lurettetop ok
-+ exit 0PASS: ../utils/test_lus2lic_no_node should_work/nc6.lus
-spawn ./lus2lic -o /tmp/argos.lic should_work/argos.lus
-PASS: ./lus2lic {-o /tmp/argos.lic should_work/argos.lus}
-spawn ./lus2lic -ec -o /tmp/argos.ec should_work/argos.lus
-PASS: ./lus2lic {-ec -o /tmp/argos.ec should_work/argos.lus}
-spawn ./myec2c -o /tmp/argos.c /tmp/argos.ec
-PASS: ./myec2c {-o /tmp/argos.c /tmp/argos.ec}
++ exit 0
+PASS: ../utils/test_lus2lic_no_node should_work/nc6.lus
+spawn ./lus2lic -2c should_work/nc6.lus -n nc6
+nc6_nc6_loop.c has been generated.
+nc6_nc6.h has been generated.
+nc6_nc6.c has been generated.
+you can compile those files doing, e.g.,
+  gcc nc6_nc6.c nc6_nc6_loop.c
+PASS: ./lus2lic {-2c should_work/nc6.lus -n nc6}
+spawn rm -f a.out
+spawn gcc nc6_nc6.c nc6_nc6_loop.c
+PASS: gcc nc6_nc6.c nc6_nc6_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/nc6.lus
++ ./lus2lic should_work/nc6.lus -n nc6 --gen-autotest -np
+_nc6_env.lut generated.
+_nc6_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/nc6.lus
++ ./lus2lic should_work/nc6.lus -n nc6 -2c -cc
+nc6_nc6_loop.c has been generated.
+nc6_nc6.h has been generated.
+nc6_nc6.c has been generated.
+sys call: 'gcc nc6_nc6.c nc6_nc6_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_nc6_env.lut -rp oracle:v6:_nc6_oracle.lus:nc6_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/nc6.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/nc6.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/nc6.lus
+spawn ./lus2lic -o ./tmp/argos.lic should_work/argos.lus
+PASS: ./lus2lic {-o ./tmp/argos.lic should_work/argos.lus}
+spawn ./lus2lic -ec -o ./tmp/argos.ec should_work/argos.lus
+PASS: ./lus2lic {-ec -o ./tmp/argos.ec should_work/argos.lus}
+spawn ./myec2c -o ./tmp/argos.c ./tmp/argos.ec
+PASS: ./myec2c {-o ./tmp/argos.c ./tmp/argos.ec}
 spawn ../utils/test_lus2lic_no_node should_work/argos.lus
 + ./lus2lic should_work/argos.lus -n argos --gen-autotest -np
 _argos_env.lut generated.
@@ -65,7 +110,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -74,12 +119,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/argos.lus
-spawn ./lus2lic -o /tmp/ck5.lic should_work/ck5.lus
-PASS: ./lus2lic {-o /tmp/ck5.lic should_work/ck5.lus}
-spawn ./lus2lic -ec -o /tmp/ck5.ec should_work/ck5.lus
-PASS: ./lus2lic {-ec -o /tmp/ck5.ec should_work/ck5.lus}
-spawn ./myec2c -o /tmp/ck5.c /tmp/ck5.ec
-PASS: ./myec2c {-o /tmp/ck5.c /tmp/ck5.ec}
+spawn ./lus2lic -2c should_work/argos.lus -n argos
+argos_argos_loop.c has been generated.
+argos_argos.h has been generated.
+argos_argos.c has been generated.
+you can compile those files doing, e.g.,
+  gcc argos_argos.c argos_argos_loop.c
+PASS: ./lus2lic {-2c should_work/argos.lus -n argos}
+spawn rm -f a.out
+spawn gcc argos_argos.c argos_argos_loop.c
+PASS: gcc argos_argos.c argos_argos_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/argos.lus
++ ./lus2lic should_work/argos.lus -n argos --gen-autotest -np
+_argos_env.lut generated.
+_argos_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/argos.lus
++ ./lus2lic should_work/argos.lus -n argos -2c -cc
+argos_argos_loop.c has been generated.
+argos_argos.h has been generated.
+argos_argos.c has been generated.
+sys call: 'gcc argos_argos.c argos_argos_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_argos_env.lut -rp oracle:v6:_argos_oracle.lus:argos_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/argos.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/argos.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/argos.lus
+spawn ./lus2lic -o ./tmp/ck5.lic should_work/ck5.lus
+PASS: ./lus2lic {-o ./tmp/ck5.lic should_work/ck5.lus}
+spawn ./lus2lic -ec -o ./tmp/ck5.ec should_work/ck5.lus
+PASS: ./lus2lic {-ec -o ./tmp/ck5.ec should_work/ck5.lus}
+spawn ./myec2c -o ./tmp/ck5.c ./tmp/ck5.ec
+PASS: ./myec2c {-o ./tmp/ck5.c ./tmp/ck5.ec}
 spawn ../utils/test_lus2lic_no_node should_work/ck5.lus
 + ./lus2lic should_work/ck5.lus -n ck5 --gen-autotest -np
 _ck5_env.lut generated.
@@ -96,7 +185,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -105,43 +194,106 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/ck5.lus
-spawn ./lus2lic -o /tmp/normal.lic should_work/normal.lus
-PASS: ./lus2lic {-o /tmp/normal.lic should_work/normal.lus}
-spawn ./lus2lic -ec -o /tmp/normal.ec should_work/normal.lus
-PASS: ./lus2lic {-ec -o /tmp/normal.ec should_work/normal.lus}
-spawn ./myec2c -o /tmp/normal.c /tmp/normal.ec
-PASS: ./myec2c {-o /tmp/normal.c /tmp/normal.ec}
-spawn ../utils/test_lus2lic_no_node should_work/normal.lus
+spawn ./lus2lic -2c should_work/ck5.lus -n ck5
+ck5_ck5_loop.c has been generated.
+ck5_ck5.h has been generated.
+ck5_ck5.c has been generated.
+you can compile those files doing, e.g.,
+  gcc ck5_ck5.c ck5_ck5_loop.c
+PASS: ./lus2lic {-2c should_work/ck5.lus -n ck5}
+spawn rm -f a.out
+spawn gcc ck5_ck5.c ck5_ck5_loop.c
+PASS: gcc ck5_ck5.c ck5_ck5_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/ck5.lus
++ ./lus2lic should_work/ck5.lus -n ck5 --gen-autotest -np
+_ck5_env.lut generated.
+_ck5_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/ck5.lus
++ ./lus2lic should_work/ck5.lus -n ck5 -2c -cc
+ck5_ck5_loop.c has been generated.
+ck5_ck5.h has been generated.
+ck5_ck5.c has been generated.
+sys call: 'gcc ck5_ck5.c ck5_ck5_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_ck5_env.lut -rp oracle:v6:_ck5_oracle.lus:ck5_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/ck5.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/ck5.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/ck5.lus
+spawn ./lus2lic -o ./tmp/normal.lic should_work/normal.lus
+PASS: ./lus2lic {-o ./tmp/normal.lic should_work/normal.lus}
+spawn ./lus2lic -ec -o ./tmp/normal.ec should_work/normal.lus
+PASS: ./lus2lic {-ec -o ./tmp/normal.ec should_work/normal.lus}
+spawn ./myec2c -o ./tmp/normal.c ./tmp/normal.ec
+PASS: ./myec2c {-o ./tmp/normal.c ./tmp/normal.ec}
+spawn ./lus2lic -2c should_work/normal.lus -n normal
+normal_normal_loop.c has been generated.
+normal_normal.h has been generated.
+normal_normal.c has been generated.
+you can compile those files doing, e.g.,
+  gcc normal_normal.c normal_normal_loop.c
+PASS: ./lus2lic {-2c should_work/normal.lus -n normal}
+spawn rm -f a.out
+spawn gcc normal_normal.c normal_normal_loop.c
+PASS: gcc normal_normal.c normal_normal_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/normal.lus
 + ./lus2lic should_work/normal.lus -n normal --gen-autotest -np
 _normal_env.lut generated.
 _normal_oracle.lus generated.
 + echo lus2lic --gen-autotest done
 lus2lic --gen-autotest done
 + cat should_work/normal.lus
-+ ./lus2lic should_work/normal.lus -n normal -ec -o normal.ec
-+ echo lus2lic -ec done
-lus2lic -ec done
++ ./lus2lic should_work/normal.lus -n normal -2c -cc
+normal_normal_loop.c has been generated.
+normal_normal.h has been generated.
+normal_normal.c has been generated.
+sys call: 'gcc normal_normal.c normal_normal_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:normal.ec:normal -rp env:lutin:_normal_env.lut -rp oracle:v6:_normal_oracle.lus:normal_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_normal_env.lut -rp oracle:v6:_normal_oracle.lus:normal_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
 RP Variables are compatible.
-quit
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
 
-
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/normal.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/normal.lus: ok
 + echo lurettetop ok
 lurettetop ok
 + exit 0
-PASS: ../utils/test_lus2lic_no_node should_work/normal.lus
-spawn ./lus2lic -o /tmp/nodeparam.lic should_work/nodeparam.lus
-PASS: ./lus2lic {-o /tmp/nodeparam.lic should_work/nodeparam.lus}
-spawn ./lus2lic -ec -o /tmp/nodeparam.ec should_work/nodeparam.lus
-PASS: ./lus2lic {-ec -o /tmp/nodeparam.ec should_work/nodeparam.lus}
-spawn ./myec2c -o /tmp/nodeparam.c /tmp/nodeparam.ec
-PASS: ./myec2c {-o /tmp/nodeparam.c /tmp/nodeparam.ec}
+PASS: ../utils/compare_exec_and_2c should_work/normal.lus
+spawn ./lus2lic -o ./tmp/nodeparam.lic should_work/nodeparam.lus
+PASS: ./lus2lic {-o ./tmp/nodeparam.lic should_work/nodeparam.lus}
+spawn ./lus2lic -ec -o ./tmp/nodeparam.ec should_work/nodeparam.lus
+PASS: ./lus2lic {-ec -o ./tmp/nodeparam.ec should_work/nodeparam.lus}
+spawn ./myec2c -o ./tmp/nodeparam.c ./tmp/nodeparam.ec
+PASS: ./myec2c {-o ./tmp/nodeparam.c ./tmp/nodeparam.ec}
 spawn ../utils/test_lus2lic_no_node should_work/nodeparam.lus
 + ./lus2lic should_work/nodeparam.lus -n nodeparam --gen-autotest -np
 _nodeparam_env.lut generated.
@@ -158,7 +310,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -167,60 +319,124 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/nodeparam.lus
-spawn ./lus2lic -o /tmp/enum0.lic should_work/enum0.lus
-PASS: ./lus2lic {-o /tmp/enum0.lic should_work/enum0.lus}
-spawn ./lus2lic -ec -o /tmp/enum0.ec should_work/enum0.lus
-PASS: ./lus2lic {-ec -o /tmp/enum0.ec should_work/enum0.lus}
-spawn ./myec2c -o /tmp/enum0.c /tmp/enum0.ec
-PASS: ./myec2c {-o /tmp/enum0.c /tmp/enum0.ec}
-spawn ../utils/test_lus2lic_no_node should_work/enum0.lus
+spawn ./lus2lic -2c should_work/nodeparam.lus -n nodeparam
+nodeparam_nodeparam_loop.c has been generated.
+nodeparam_nodeparam.h has been generated.
+nodeparam_nodeparam.c has been generated.
+you can compile those files doing, e.g.,
+  gcc nodeparam_nodeparam.c nodeparam_nodeparam_loop.c
+PASS: ./lus2lic {-2c should_work/nodeparam.lus -n nodeparam}
+spawn rm -f a.out
+spawn gcc nodeparam_nodeparam.c nodeparam_nodeparam_loop.c
+PASS: gcc nodeparam_nodeparam.c nodeparam_nodeparam_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/nodeparam.lus
++ ./lus2lic should_work/nodeparam.lus -n nodeparam --gen-autotest -np
+_nodeparam_env.lut generated.
+_nodeparam_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/nodeparam.lus
++ ./lus2lic should_work/nodeparam.lus -n nodeparam -2c -cc
+nodeparam_nodeparam_loop.c has been generated.
+nodeparam_nodeparam.h has been generated.
+nodeparam_nodeparam.c has been generated.
+sys call: 'gcc nodeparam_nodeparam.c nodeparam_nodeparam_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_nodeparam_env.lut -rp oracle:v6:_nodeparam_oracle.lus:nodeparam_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/nodeparam.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/nodeparam.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/nodeparam.lus
+spawn ./lus2lic -o ./tmp/enum0.lic should_work/enum0.lus
+PASS: ./lus2lic {-o ./tmp/enum0.lic should_work/enum0.lus}
+spawn ./lus2lic -ec -o ./tmp/enum0.ec should_work/enum0.lus
+PASS: ./lus2lic {-ec -o ./tmp/enum0.ec should_work/enum0.lus}
+spawn ./myec2c -o ./tmp/enum0.c ./tmp/enum0.ec
+PASS: ./myec2c {-o ./tmp/enum0.c ./tmp/enum0.ec}
+spawn ./lus2lic -2c should_work/enum0.lus -n enum0
+enum0_enum0_loop.c has been generated.
+enum0_enum0.h has been generated.
+enum0_enum0.c has been generated.
+you can compile those files doing, e.g.,
+  gcc enum0_enum0.c enum0_enum0_loop.c
+PASS: ./lus2lic {-2c should_work/enum0.lus -n enum0}
+spawn rm -f a.out
+spawn gcc enum0_enum0.c enum0_enum0_loop.c
+PASS: gcc enum0_enum0.c enum0_enum0_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/enum0.lus
 + ./lus2lic should_work/enum0.lus -n enum0 --gen-autotest -np
 _enum0_env.lut generated.
 _enum0_oracle.lus generated.
 + echo lus2lic --gen-autotest done
 lus2lic --gen-autotest done
 + cat should_work/enum0.lus
-+ ./lus2lic should_work/enum0.lus -n enum0 -ec -o enum0.ec
-+ echo lus2lic -ec done
-lus2lic -ec done
++ ./lus2lic should_work/enum0.lus -n enum0 -2c -cc
+enum0_enum0_loop.c has been generated.
+enum0_enum0.h has been generated.
+enum0_enum0.c has been generated.
+sys call: 'gcc enum0_enum0.c enum0_enum0_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:enum0.ec:enum0 -rp env:lutin:_enum0_env.lut -rp oracle:v6:_enum0_oracle.lus:enum0_oracle -go -l 10 -ns2c --stop-on-oracle-error
-Error in lurette: Failure("color1: unsupported type.\n")
-Lurette launched a process that failed (exit 2).
- 
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_enum0_env.lut -rp oracle:v6:_enum0_oracle.lus:enum0_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
-+ echo error
-error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/enum0.lus
-spawn ./lus2lic -o /tmp/ck6.lic should_work/ck6.lus
-PASS: ./lus2lic {-o /tmp/ck6.lic should_work/ck6.lus}
-spawn ./lus2lic -ec -o /tmp/ck6.ec should_work/ck6.lus
-PASS: ./lus2lic {-ec -o /tmp/ck6.ec should_work/ck6.lus}
-spawn ./myec2c -o /tmp/ck6.c /tmp/ck6.ec
-PASS: ./myec2c {-o /tmp/ck6.c /tmp/ck6.ec}
-spawn ../utils/test_lus2lic_no_node should_work/ck6.lus
-+ ./lus2lic should_work/ck6.lus -n ck6 --gen-autotest -np
-*** The soc of ck6::p is not defined. FINISH ME! 
-Extern node not yet supported, sorry
-
-*** oops: lus2lic internal error
-	File "src/lic2soc.ml", line 898, column 14
-*** when compiling lustre program should_work/ck6.lus
-
-*** You migth want to sent a bug report to jahier@imag.fr
-+ echo Error
-Error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/ck6.lus
-spawn ./lus2lic -o /tmp/Gyroscope2.lic should_work/Gyroscope2.lus
-PASS: ./lus2lic {-o /tmp/Gyroscope2.lic should_work/Gyroscope2.lus}
-spawn ./lus2lic -ec -o /tmp/Gyroscope2.ec should_work/Gyroscope2.lus
-PASS: ./lus2lic {-ec -o /tmp/Gyroscope2.ec should_work/Gyroscope2.lus}
-spawn ./myec2c -o /tmp/Gyroscope2.c /tmp/Gyroscope2.ec
-PASS: ./myec2c {-o /tmp/Gyroscope2.c /tmp/Gyroscope2.ec}
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/enum0.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/enum0.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/enum0.lus
+spawn ./lus2lic -o ./tmp/ck6.lic should_work/ck6.lus
+PASS: ./lus2lic {-o ./tmp/ck6.lic should_work/ck6.lus}
+spawn ./lus2lic -ec -o ./tmp/ck6.ec should_work/ck6.lus
+PASS: ./lus2lic {-ec -o ./tmp/ck6.ec should_work/ck6.lus}
+spawn ./myec2c -o ./tmp/ck6.c ./tmp/ck6.ec
+PASS: ./myec2c {-o ./tmp/ck6.c ./tmp/ck6.ec}
+spawn ./lus2lic -2c should_work/ck6.lus -n ck6
+ck6_ck6_ext.h has been generated.
+ck6_ck6_ext.c has been generated.
+ck6_ck6_loop.c has been generated.
+ck6_ck6.h has been generated.
+ck6_ck6.c has been generated.
+you can compile those files doing, e.g.,
+   gcc ck6_ck6.c ck6_ck6_ext.c ck6_ck6_loop.c
+PASS: ./lus2lic {-2c should_work/ck6.lus -n ck6}
+spawn rm -f a.out
+spawn gcc ck6_ck6.c ck6_ck6_ext.c ck6_ck6_loop.c
+PASS: gcc ck6_ck6.c ck6_ck6_ext.c ck6_ck6_loop.c 
+spawn ./lus2lic -o ./tmp/Gyroscope2.lic should_work/Gyroscope2.lus
+PASS: ./lus2lic {-o ./tmp/Gyroscope2.lic should_work/Gyroscope2.lus}
+spawn ./lus2lic -ec -o ./tmp/Gyroscope2.ec should_work/Gyroscope2.lus
+PASS: ./lus2lic {-ec -o ./tmp/Gyroscope2.ec should_work/Gyroscope2.lus}
+spawn ./myec2c -o ./tmp/Gyroscope2.c ./tmp/Gyroscope2.ec
+PASS: ./myec2c {-o ./tmp/Gyroscope2.c ./tmp/Gyroscope2.ec}
 spawn ../utils/test_lus2lic_no_node should_work/Gyroscope2.lus
 + ./lus2lic should_work/Gyroscope2.lus -n Gyroscope2 --gen-autotest -np
 _Gyroscope2_env.lut generated.
@@ -245,12 +461,56 @@ lurettetop: bye!
 error
 + exit 2
 FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/Gyroscope2.lus
-spawn ./lus2lic -o /tmp/mouse2.lic should_work/mouse2.lus
-PASS: ./lus2lic {-o /tmp/mouse2.lic should_work/mouse2.lus}
-spawn ./lus2lic -ec -o /tmp/mouse2.ec should_work/mouse2.lus
-PASS: ./lus2lic {-ec -o /tmp/mouse2.ec should_work/mouse2.lus}
-spawn ./myec2c -o /tmp/mouse2.c /tmp/mouse2.ec
-PASS: ./myec2c {-o /tmp/mouse2.c /tmp/mouse2.ec}
+spawn ./lus2lic -2c should_work/Gyroscope2.lus -n Gyroscope2
+Gyroscope2_Gyroscope2_loop.c has been generated.
+Gyroscope2_Gyroscope2.h has been generated.
+Gyroscope2_Gyroscope2.c has been generated.
+you can compile those files doing, e.g.,
+  gcc Gyroscope2_Gyroscope2.c Gyroscope2_Gyroscope2_loop.c
+PASS: ./lus2lic {-2c should_work/Gyroscope2.lus -n Gyroscope2}
+spawn rm -f a.out
+spawn gcc Gyroscope2_Gyroscope2.c Gyroscope2_Gyroscope2_loop.c
+PASS: gcc Gyroscope2_Gyroscope2.c Gyroscope2_Gyroscope2_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/Gyroscope2.lus
++ ./lus2lic should_work/Gyroscope2.lus -n Gyroscope2 --gen-autotest -np
+_Gyroscope2_env.lut generated.
+_Gyroscope2_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/Gyroscope2.lus
++ ./lus2lic should_work/Gyroscope2.lus -n Gyroscope2 -2c -cc
+Gyroscope2_Gyroscope2_loop.c has been generated.
+Gyroscope2_Gyroscope2.h has been generated.
+Gyroscope2_Gyroscope2.c has been generated.
+sys call: 'gcc Gyroscope2_Gyroscope2.c Gyroscope2_Gyroscope2_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_Gyroscope2_env.lut -rp oracle:v6:_Gyroscope2_oracle.lus:Gyroscope2_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/Gyroscope2.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/Gyroscope2.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/Gyroscope2.lus
+spawn ./lus2lic -o ./tmp/mouse2.lic should_work/mouse2.lus
+PASS: ./lus2lic {-o ./tmp/mouse2.lic should_work/mouse2.lus}
+spawn ./lus2lic -ec -o ./tmp/mouse2.ec should_work/mouse2.lus
+PASS: ./lus2lic {-ec -o ./tmp/mouse2.ec should_work/mouse2.lus}
+spawn ./myec2c -o ./tmp/mouse2.c ./tmp/mouse2.ec
+PASS: ./myec2c {-o ./tmp/mouse2.c ./tmp/mouse2.ec}
 spawn ../utils/test_lus2lic_no_node should_work/mouse2.lus
 + ./lus2lic should_work/mouse2.lus -n mouse2 --gen-autotest -np
 _mouse2_env.lut generated.
@@ -267,7 +527,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -276,20 +536,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/mouse2.lus
-spawn ./lus2lic -o /tmp/modes3x2-v3.lic should_work/modes3x2-v3.lus
-PASS: ./lus2lic {-o /tmp/modes3x2-v3.lic should_work/modes3x2-v3.lus}
-spawn ./lus2lic -ec -o /tmp/modes3x2-v3.ec should_work/modes3x2-v3.lus
-PASS: ./lus2lic {-ec -o /tmp/modes3x2-v3.ec should_work/modes3x2-v3.lus}
-spawn ./myec2c -o /tmp/modes3x2-v3.c /tmp/modes3x2-v3.ec
-syntax error     - at line 10
-syntax errors...
-FAIL: Try ec2c on the result: ./myec2c {-o /tmp/modes3x2-v3.c /tmp/modes3x2-v3.ec}
-spawn ./lus2lic -o /tmp/dep.lic should_work/dep.lus
-PASS: ./lus2lic {-o /tmp/dep.lic should_work/dep.lus}
-spawn ./lus2lic -ec -o /tmp/dep.ec should_work/dep.lus
-PASS: ./lus2lic {-ec -o /tmp/dep.ec should_work/dep.lus}
-spawn ./myec2c -o /tmp/dep.c /tmp/dep.ec
-PASS: ./myec2c {-o /tmp/dep.c /tmp/dep.ec}
+spawn ./lus2lic -2c should_work/mouse2.lus -n mouse2
+mouse2_mouse2_loop.c has been generated.
+mouse2_mouse2.h has been generated.
+mouse2_mouse2.c has been generated.
+you can compile those files doing, e.g.,
+  gcc mouse2_mouse2.c mouse2_mouse2_loop.c
+PASS: ./lus2lic {-2c should_work/mouse2.lus -n mouse2}
+spawn rm -f a.out
+spawn gcc mouse2_mouse2.c mouse2_mouse2_loop.c
+PASS: gcc mouse2_mouse2.c mouse2_mouse2_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/mouse2.lus
++ ./lus2lic should_work/mouse2.lus -n mouse2 --gen-autotest -np
+_mouse2_env.lut generated.
+_mouse2_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/mouse2.lus
++ ./lus2lic should_work/mouse2.lus -n mouse2 -2c -cc
+mouse2_mouse2_loop.c has been generated.
+mouse2_mouse2.h has been generated.
+mouse2_mouse2.c has been generated.
+sys call: 'gcc mouse2_mouse2.c mouse2_mouse2_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_mouse2_env.lut -rp oracle:v6:_mouse2_oracle.lus:mouse2_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/mouse2.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/mouse2.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/mouse2.lus
+spawn ./lus2lic -o ./tmp/dep.lic should_work/dep.lus
+PASS: ./lus2lic {-o ./tmp/dep.lic should_work/dep.lus}
+spawn ./lus2lic -ec -o ./tmp/dep.ec should_work/dep.lus
+PASS: ./lus2lic {-ec -o ./tmp/dep.ec should_work/dep.lus}
+spawn ./myec2c -o ./tmp/dep.c ./tmp/dep.ec
+PASS: ./myec2c {-o ./tmp/dep.c ./tmp/dep.ec}
 spawn ../utils/test_lus2lic_no_node should_work/dep.lus
 + ./lus2lic should_work/dep.lus -n dep --gen-autotest -np
 _dep_env.lut generated.
@@ -306,7 +602,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -315,71 +611,122 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/dep.lus
-spawn ./lus2lic -o /tmp/ELMU.lic should_work/ELMU.lus
-PASS: ./lus2lic {-o /tmp/ELMU.lic should_work/ELMU.lus}
-spawn ./lus2lic -ec -o /tmp/ELMU.ec should_work/ELMU.lus
-PASS: ./lus2lic {-ec -o /tmp/ELMU.ec should_work/ELMU.lus}
-spawn ./myec2c -o /tmp/ELMU.c /tmp/ELMU.ec
-PASS: ./myec2c {-o /tmp/ELMU.c /tmp/ELMU.ec}
-spawn ../utils/test_lus2lic_no_node should_work/ELMU.lus
-+ ./lus2lic should_work/ELMU.lus -n ELMU --gen-autotest -np
-_ELMU_env.lut generated.
-_ELMU_oracle.lus generated.
+spawn ./lus2lic -2c should_work/dep.lus -n dep
+dep_dep_loop.c has been generated.
+dep_dep.h has been generated.
+dep_dep.c has been generated.
+you can compile those files doing, e.g.,
+  gcc dep_dep.c dep_dep_loop.c
+PASS: ./lus2lic {-2c should_work/dep.lus -n dep}
+spawn rm -f a.out
+spawn gcc dep_dep.c dep_dep_loop.c
+PASS: gcc dep_dep.c dep_dep_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/dep.lus
++ ./lus2lic should_work/dep.lus -n dep --gen-autotest -np
+_dep_env.lut generated.
+_dep_oracle.lus generated.
 + echo lus2lic --gen-autotest done
 lus2lic --gen-autotest done
-+ cat should_work/ELMU.lus
-+ ./lus2lic should_work/ELMU.lus -n ELMU -ec -o ELMU.ec
-+ echo lus2lic -ec done
-lus2lic -ec done
++ cat should_work/dep.lus
++ ./lus2lic should_work/dep.lus -n dep -2c -cc
+dep_dep_loop.c has been generated.
+dep_dep.h has been generated.
+dep_dep.c has been generated.
+sys call: 'gcc dep_dep.c dep_dep_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:ELMU.ec:ELMU -rp env:lutin:_ELMU_env.lut -rp oracle:v6:_ELMU_oracle.lus:ELMU_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_dep_env.lut -rp oracle:v6:_dep_oracle.lus:dep_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
 RP Variables are compatible.
-quit
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
 
-
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/dep.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/dep.lus: ok
 + echo lurettetop ok
 lurettetop ok
 + exit 0
-PASS: ../utils/test_lus2lic_no_node should_work/ELMU.lus
-spawn ./lus2lic -o /tmp/testPilote.lic should_work/testPilote.lus
-PASS: ./lus2lic {-o /tmp/testPilote.lic should_work/testPilote.lus}
-spawn ./lus2lic -ec -o /tmp/testPilote.ec should_work/testPilote.lus
-PASS: ./lus2lic {-ec -o /tmp/testPilote.ec should_work/testPilote.lus}
-spawn ./myec2c -o /tmp/testPilote.c /tmp/testPilote.ec
-PASS: ./myec2c {-o /tmp/testPilote.c /tmp/testPilote.ec}
-spawn ../utils/test_lus2lic_no_node should_work/testPilote.lus
-+ ./lus2lic should_work/testPilote.lus -n testPilote --gen-autotest -np
-_testPilote_env.lut generated.
-_testPilote_oracle.lus generated.
+PASS: ../utils/compare_exec_and_2c should_work/dep.lus
+spawn ./lus2lic -o ./tmp/ELMU.lic should_work/ELMU.lus
+PASS: ./lus2lic {-o ./tmp/ELMU.lic should_work/ELMU.lus}
+spawn ./lus2lic -ec -o ./tmp/ELMU.ec should_work/ELMU.lus
+PASS: ./lus2lic {-ec -o ./tmp/ELMU.ec should_work/ELMU.lus}
+spawn ./myec2c -o ./tmp/ELMU.c ./tmp/ELMU.ec
+PASS: ./myec2c {-o ./tmp/ELMU.c ./tmp/ELMU.ec}
+spawn ./lus2lic -2c should_work/ELMU.lus -n ELMU
+ELMU_ELMU_loop.c has been generated.
+ELMU_ELMU.h has been generated.
+ELMU_ELMU.c has been generated.
+you can compile those files doing, e.g.,
+  gcc ELMU_ELMU.c ELMU_ELMU_loop.c
+PASS: ./lus2lic {-2c should_work/ELMU.lus -n ELMU}
+spawn rm -f a.out
+spawn gcc ELMU_ELMU.c ELMU_ELMU_loop.c
+PASS: gcc ELMU_ELMU.c ELMU_ELMU_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/ELMU.lus
++ ./lus2lic should_work/ELMU.lus -n ELMU --gen-autotest -np
+_ELMU_env.lut generated.
+_ELMU_oracle.lus generated.
 + echo lus2lic --gen-autotest done
 lus2lic --gen-autotest done
-+ cat should_work/testPilote.lus
-+ ./lus2lic should_work/testPilote.lus -n testPilote -ec -o testPilote.ec
-+ echo lus2lic -ec done
-lus2lic -ec done
++ cat should_work/ELMU.lus
++ ./lus2lic should_work/ELMU.lus -n ELMU -2c -cc
+ELMU_ELMU_loop.c has been generated.
+ELMU_ELMU.h has been generated.
+ELMU_ELMU.c has been generated.
+sys call: 'gcc ELMU_ELMU.c ELMU_ELMU_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:testPilote.ec:testPilote -rp env:lutin:_testPilote_env.lut -rp oracle:v6:_testPilote_oracle.lus:testPilote_oracle -go -l 10 -ns2c --stop-on-oracle-error
-Error in lurette: Parsing.Parse_error
-Lurette launched a process that failed (exit 2).
- 
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_ELMU_env.lut -rp oracle:v6:_ELMU_oracle.lus:ELMU_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
-+ echo error
-error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/testPilote.lus
-spawn ./lus2lic -o /tmp/redIf.lic should_work/redIf.lus
-PASS: ./lus2lic {-o /tmp/redIf.lic should_work/redIf.lus}
-spawn ./lus2lic -ec -o /tmp/redIf.ec should_work/redIf.lus
-PASS: ./lus2lic {-ec -o /tmp/redIf.ec should_work/redIf.lus}
-spawn ./myec2c -o /tmp/redIf.c /tmp/redIf.ec
-PASS: ./myec2c {-o /tmp/redIf.c /tmp/redIf.ec}
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/ELMU.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/ELMU.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/ELMU.lus
+spawn ./lus2lic -o ./tmp/testPilote.lic should_work/testPilote.lus
+PASS: ./lus2lic {-o ./tmp/testPilote.lic should_work/testPilote.lus}
+spawn ./lus2lic -ec -o ./tmp/testPilote.ec should_work/testPilote.lus
+PASS: ./lus2lic {-ec -o ./tmp/testPilote.ec should_work/testPilote.lus}
+spawn ./myec2c -o ./tmp/testPilote.c ./tmp/testPilote.ec
+PASS: ./myec2c {-o ./tmp/testPilote.c ./tmp/testPilote.ec}
+spawn ./lus2lic -2c should_work/testPilote.lus -n testPilote
+testPilote_testPilote_loop.c has been generated.
+testPilote_testPilote.h has been generated.
+testPilote_testPilote.c has been generated.
+you can compile those files doing, e.g.,
+  gcc testPilote_testPilote.c testPilote_testPilote_loop.c
+PASS: ./lus2lic {-2c should_work/testPilote.lus -n testPilote}
+spawn rm -f a.out
+spawn gcc testPilote_testPilote.c testPilote_testPilote_loop.c
+PASS: gcc testPilote_testPilote.c testPilote_testPilote_loop.c 
+spawn ./lus2lic -o ./tmp/redIf.lic should_work/redIf.lus
+PASS: ./lus2lic {-o ./tmp/redIf.lic should_work/redIf.lus}
+spawn ./lus2lic -ec -o ./tmp/redIf.ec should_work/redIf.lus
+PASS: ./lus2lic {-ec -o ./tmp/redIf.ec should_work/redIf.lus}
+spawn ./myec2c -o ./tmp/redIf.c ./tmp/redIf.ec
+PASS: ./myec2c {-o ./tmp/redIf.c ./tmp/redIf.ec}
 spawn ../utils/test_lus2lic_no_node should_work/redIf.lus
 + ./lus2lic should_work/redIf.lus -n redIf --gen-autotest -np
 _redIf_env.lut generated.
@@ -396,7 +743,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -405,43 +752,72 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/redIf.lus
-spawn ./lus2lic -o /tmp/t0.lic should_work/t0.lus
-PASS: ./lus2lic {-o /tmp/t0.lic should_work/t0.lus}
-spawn ./lus2lic -ec -o /tmp/t0.ec should_work/t0.lus
-PASS: ./lus2lic {-ec -o /tmp/t0.ec should_work/t0.lus}
-spawn ./myec2c -o /tmp/t0.c /tmp/t0.ec
-PASS: ./myec2c {-o /tmp/t0.c /tmp/t0.ec}
-spawn ../utils/test_lus2lic_no_node should_work/t0.lus
-+ ./lus2lic should_work/t0.lus -n t0 --gen-autotest -np
-_t0_env.lut generated.
-_t0_oracle.lus generated.
+spawn ./lus2lic -2c should_work/redIf.lus -n redIf
+redIf_redIf_loop.c has been generated.
+redIf_redIf.h has been generated.
+redIf_redIf.c has been generated.
+you can compile those files doing, e.g.,
+  gcc redIf_redIf.c redIf_redIf_loop.c
+PASS: ./lus2lic {-2c should_work/redIf.lus -n redIf}
+spawn rm -f a.out
+spawn gcc redIf_redIf.c redIf_redIf_loop.c
+PASS: gcc redIf_redIf.c redIf_redIf_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/redIf.lus
++ ./lus2lic should_work/redIf.lus -n redIf --gen-autotest -np
+_redIf_env.lut generated.
+_redIf_oracle.lus generated.
 + echo lus2lic --gen-autotest done
 lus2lic --gen-autotest done
-+ cat should_work/t0.lus
-+ ./lus2lic should_work/t0.lus -n t0 -ec -o t0.ec
-+ echo lus2lic -ec done
-lus2lic -ec done
++ cat should_work/redIf.lus
++ ./lus2lic should_work/redIf.lus -n redIf -2c -cc
+redIf_redIf_loop.c has been generated.
+redIf_redIf.h has been generated.
+redIf_redIf.c has been generated.
+sys call: 'gcc redIf_redIf.c redIf_redIf_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:t0.ec:t0 -rp env:lutin:_t0_env.lut -rp oracle:v6:_t0_oracle.lus:t0_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_redIf_env.lut -rp oracle:v6:_redIf_oracle.lus:redIf_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
 RP Variables are compatible.
-quit
-
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/redIf.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/redIf.lus: ok
 + echo lurettetop ok
 lurettetop ok
 + exit 0
-PASS: ../utils/test_lus2lic_no_node should_work/t0.lus
-spawn ./lus2lic -o /tmp/lucky.lic should_work/lucky.lus
-PASS: ./lus2lic {-o /tmp/lucky.lic should_work/lucky.lus}
-spawn ./lus2lic -ec -o /tmp/lucky.ec should_work/lucky.lus
-PASS: ./lus2lic {-ec -o /tmp/lucky.ec should_work/lucky.lus}
-spawn ./myec2c -o /tmp/lucky.c /tmp/lucky.ec
-PASS: ./myec2c {-o /tmp/lucky.c /tmp/lucky.ec}
+PASS: ../utils/compare_exec_and_2c should_work/redIf.lus
+spawn ./lus2lic -o ./tmp/t0.lic should_work/t0.lus
+PASS: ./lus2lic {-o ./tmp/t0.lic should_work/t0.lus}
+spawn ./lus2lic -ec -o ./tmp/t0.ec should_work/t0.lus
+PASS: ./lus2lic {-ec -o ./tmp/t0.ec should_work/t0.lus}
+spawn ./myec2c -o ./tmp/t0.c ./tmp/t0.ec
+PASS: ./myec2c {-o ./tmp/t0.c ./tmp/t0.ec}
+spawn ./lus2lic -2c should_work/t0.lus -n t0
+t0_t0_loop.c has been generated.
+t0_t0.h has been generated.
+t0_t0.c has been generated.
+you can compile those files doing, e.g.,
+  gcc t0_t0.c t0_t0_loop.c
+PASS: ./lus2lic {-2c should_work/t0.lus -n t0}
+spawn rm -f a.out
+spawn gcc t0_t0.c t0_t0_loop.c
+PASS: gcc t0_t0.c t0_t0_loop.c 
+spawn ./lus2lic -o ./tmp/lucky.lic should_work/lucky.lus
+PASS: ./lus2lic {-o ./tmp/lucky.lic should_work/lucky.lus}
+spawn ./lus2lic -ec -o ./tmp/lucky.ec should_work/lucky.lus
+PASS: ./lus2lic {-ec -o ./tmp/lucky.ec should_work/lucky.lus}
+spawn ./myec2c -o ./tmp/lucky.c ./tmp/lucky.ec
+PASS: ./myec2c {-o ./tmp/lucky.c ./tmp/lucky.ec}
 spawn ../utils/test_lus2lic_no_node should_work/lucky.lus
 + ./lus2lic should_work/lucky.lus -n lucky --gen-autotest -np
 _lucky_env.lut generated.
@@ -458,7 +834,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -467,12 +843,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/lucky.lus
-spawn ./lus2lic -o /tmp/heater_control.lic should_work/heater_control.lus
-PASS: ./lus2lic {-o /tmp/heater_control.lic should_work/heater_control.lus}
-spawn ./lus2lic -ec -o /tmp/heater_control.ec should_work/heater_control.lus
-PASS: ./lus2lic {-ec -o /tmp/heater_control.ec should_work/heater_control.lus}
-spawn ./myec2c -o /tmp/heater_control.c /tmp/heater_control.ec
-PASS: ./myec2c {-o /tmp/heater_control.c /tmp/heater_control.ec}
+spawn ./lus2lic -2c should_work/lucky.lus -n lucky
+lucky_lucky_loop.c has been generated.
+lucky_lucky.h has been generated.
+lucky_lucky.c has been generated.
+you can compile those files doing, e.g.,
+  gcc lucky_lucky.c lucky_lucky_loop.c
+PASS: ./lus2lic {-2c should_work/lucky.lus -n lucky}
+spawn rm -f a.out
+spawn gcc lucky_lucky.c lucky_lucky_loop.c
+PASS: gcc lucky_lucky.c lucky_lucky_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/lucky.lus
++ ./lus2lic should_work/lucky.lus -n lucky --gen-autotest -np
+_lucky_env.lut generated.
+_lucky_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/lucky.lus
++ ./lus2lic should_work/lucky.lus -n lucky -2c -cc
+lucky_lucky_loop.c has been generated.
+lucky_lucky.h has been generated.
+lucky_lucky.c has been generated.
+sys call: 'gcc lucky_lucky.c lucky_lucky_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_lucky_env.lut -rp oracle:v6:_lucky_oracle.lus:lucky_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/lucky.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/lucky.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/lucky.lus
+spawn ./lus2lic -o ./tmp/heater_control.lic should_work/heater_control.lus
+PASS: ./lus2lic {-o ./tmp/heater_control.lic should_work/heater_control.lus}
+spawn ./lus2lic -ec -o ./tmp/heater_control.ec should_work/heater_control.lus
+PASS: ./lus2lic {-ec -o ./tmp/heater_control.ec should_work/heater_control.lus}
+spawn ./myec2c -o ./tmp/heater_control.c ./tmp/heater_control.ec
+PASS: ./myec2c {-o ./tmp/heater_control.c ./tmp/heater_control.ec}
 spawn ../utils/test_lus2lic_no_node should_work/heater_control.lus
 + ./lus2lic should_work/heater_control.lus -n heater_control --gen-autotest -np
 _heater_control_env.lut generated.
@@ -489,7 +909,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -498,12 +918,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/heater_control.lus
-spawn ./lus2lic -o /tmp/titi.lic should_work/titi.lus
-PASS: ./lus2lic {-o /tmp/titi.lic should_work/titi.lus}
-spawn ./lus2lic -ec -o /tmp/titi.ec should_work/titi.lus
-PASS: ./lus2lic {-ec -o /tmp/titi.ec should_work/titi.lus}
-spawn ./myec2c -o /tmp/titi.c /tmp/titi.ec
-PASS: ./myec2c {-o /tmp/titi.c /tmp/titi.ec}
+spawn ./lus2lic -2c should_work/heater_control.lus -n heater_control
+heater_control_heater_control_loop.c has been generated.
+heater_control_heater_control.h has been generated.
+heater_control_heater_control.c has been generated.
+you can compile those files doing, e.g.,
+  gcc heater_control_heater_control.c heater_control_heater_control_loop.c
+PASS: ./lus2lic {-2c should_work/heater_control.lus -n heater_control}
+spawn rm -f a.out
+spawn gcc heater_control_heater_control.c heater_control_heater_control_loop.c
+PASS: gcc heater_control_heater_control.c heater_control_heater_control_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/heater_control.lus
++ ./lus2lic should_work/heater_control.lus -n heater_control --gen-autotest -np
+_heater_control_env.lut generated.
+_heater_control_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/heater_control.lus
++ ./lus2lic should_work/heater_control.lus -n heater_control -2c -cc
+heater_control_heater_control_loop.c has been generated.
+heater_control_heater_control.h has been generated.
+heater_control_heater_control.c has been generated.
+sys call: 'gcc heater_control_heater_control.c heater_control_heater_control_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_heater_control_env.lut -rp oracle:v6:_heater_control_oracle.lus:heater_control_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/heater_control.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/heater_control.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/heater_control.lus
+spawn ./lus2lic -o ./tmp/titi.lic should_work/titi.lus
+PASS: ./lus2lic {-o ./tmp/titi.lic should_work/titi.lus}
+spawn ./lus2lic -ec -o ./tmp/titi.ec should_work/titi.lus
+PASS: ./lus2lic {-ec -o ./tmp/titi.ec should_work/titi.lus}
+spawn ./myec2c -o ./tmp/titi.c ./tmp/titi.ec
+PASS: ./myec2c {-o ./tmp/titi.c ./tmp/titi.ec}
 spawn ../utils/test_lus2lic_no_node should_work/titi.lus
 + ./lus2lic should_work/titi.lus -n titi --gen-autotest -np
 _titi_env.lut generated.
@@ -520,7 +984,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -529,12 +993,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/titi.lus
-spawn ./lus2lic -o /tmp/cminus.lic should_work/cminus.lus
-PASS: ./lus2lic {-o /tmp/cminus.lic should_work/cminus.lus}
-spawn ./lus2lic -ec -o /tmp/cminus.ec should_work/cminus.lus
-PASS: ./lus2lic {-ec -o /tmp/cminus.ec should_work/cminus.lus}
-spawn ./myec2c -o /tmp/cminus.c /tmp/cminus.ec
-PASS: ./myec2c {-o /tmp/cminus.c /tmp/cminus.ec}
+spawn ./lus2lic -2c should_work/titi.lus -n titi
+titi_titi_loop.c has been generated.
+titi_titi.h has been generated.
+titi_titi.c has been generated.
+you can compile those files doing, e.g.,
+  gcc titi_titi.c titi_titi_loop.c
+PASS: ./lus2lic {-2c should_work/titi.lus -n titi}
+spawn rm -f a.out
+spawn gcc titi_titi.c titi_titi_loop.c
+PASS: gcc titi_titi.c titi_titi_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/titi.lus
++ ./lus2lic should_work/titi.lus -n titi --gen-autotest -np
+_titi_env.lut generated.
+_titi_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/titi.lus
++ ./lus2lic should_work/titi.lus -n titi -2c -cc
+titi_titi_loop.c has been generated.
+titi_titi.h has been generated.
+titi_titi.c has been generated.
+sys call: 'gcc titi_titi.c titi_titi_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_titi_env.lut -rp oracle:v6:_titi_oracle.lus:titi_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/titi.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/titi.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/titi.lus
+spawn ./lus2lic -o ./tmp/cminus.lic should_work/cminus.lus
+PASS: ./lus2lic {-o ./tmp/cminus.lic should_work/cminus.lus}
+spawn ./lus2lic -ec -o ./tmp/cminus.ec should_work/cminus.lus
+PASS: ./lus2lic {-ec -o ./tmp/cminus.ec should_work/cminus.lus}
+spawn ./myec2c -o ./tmp/cminus.c ./tmp/cminus.ec
+PASS: ./myec2c {-o ./tmp/cminus.c ./tmp/cminus.ec}
 spawn ../utils/test_lus2lic_no_node should_work/cminus.lus
 + ./lus2lic should_work/cminus.lus -n cminus --gen-autotest -np
 _cminus_env.lut generated.
@@ -551,7 +1059,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -560,12 +1068,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/cminus.lus
-spawn ./lus2lic -o /tmp/rs.lic should_work/rs.lus
-PASS: ./lus2lic {-o /tmp/rs.lic should_work/rs.lus}
-spawn ./lus2lic -ec -o /tmp/rs.ec should_work/rs.lus
-PASS: ./lus2lic {-ec -o /tmp/rs.ec should_work/rs.lus}
-spawn ./myec2c -o /tmp/rs.c /tmp/rs.ec
-PASS: ./myec2c {-o /tmp/rs.c /tmp/rs.ec}
+spawn ./lus2lic -2c should_work/cminus.lus -n cminus
+cminus_cminus_loop.c has been generated.
+cminus_cminus.h has been generated.
+cminus_cminus.c has been generated.
+you can compile those files doing, e.g.,
+  gcc cminus_cminus.c cminus_cminus_loop.c
+PASS: ./lus2lic {-2c should_work/cminus.lus -n cminus}
+spawn rm -f a.out
+spawn gcc cminus_cminus.c cminus_cminus_loop.c
+PASS: gcc cminus_cminus.c cminus_cminus_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/cminus.lus
++ ./lus2lic should_work/cminus.lus -n cminus --gen-autotest -np
+_cminus_env.lut generated.
+_cminus_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/cminus.lus
++ ./lus2lic should_work/cminus.lus -n cminus -2c -cc
+cminus_cminus_loop.c has been generated.
+cminus_cminus.h has been generated.
+cminus_cminus.c has been generated.
+sys call: 'gcc cminus_cminus.c cminus_cminus_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_cminus_env.lut -rp oracle:v6:_cminus_oracle.lus:cminus_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/cminus.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/cminus.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/cminus.lus
+spawn ./lus2lic -o ./tmp/rs.lic should_work/rs.lus
+PASS: ./lus2lic {-o ./tmp/rs.lic should_work/rs.lus}
+spawn ./lus2lic -ec -o ./tmp/rs.ec should_work/rs.lus
+PASS: ./lus2lic {-ec -o ./tmp/rs.ec should_work/rs.lus}
+spawn ./myec2c -o ./tmp/rs.c ./tmp/rs.ec
+PASS: ./myec2c {-o ./tmp/rs.c ./tmp/rs.ec}
 spawn ../utils/test_lus2lic_no_node should_work/rs.lus
 + ./lus2lic should_work/rs.lus -n rs --gen-autotest -np
 _rs_env.lut generated.
@@ -582,7 +1134,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -591,12 +1143,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/rs.lus
-spawn ./lus2lic -o /tmp/access.lic should_work/access.lus
-PASS: ./lus2lic {-o /tmp/access.lic should_work/access.lus}
-spawn ./lus2lic -ec -o /tmp/access.ec should_work/access.lus
-PASS: ./lus2lic {-ec -o /tmp/access.ec should_work/access.lus}
-spawn ./myec2c -o /tmp/access.c /tmp/access.ec
-PASS: ./myec2c {-o /tmp/access.c /tmp/access.ec}
+spawn ./lus2lic -2c should_work/rs.lus -n rs
+rs_rs_loop.c has been generated.
+rs_rs.h has been generated.
+rs_rs.c has been generated.
+you can compile those files doing, e.g.,
+  gcc rs_rs.c rs_rs_loop.c
+PASS: ./lus2lic {-2c should_work/rs.lus -n rs}
+spawn rm -f a.out
+spawn gcc rs_rs.c rs_rs_loop.c
+PASS: gcc rs_rs.c rs_rs_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/rs.lus
++ ./lus2lic should_work/rs.lus -n rs --gen-autotest -np
+_rs_env.lut generated.
+_rs_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/rs.lus
++ ./lus2lic should_work/rs.lus -n rs -2c -cc
+rs_rs_loop.c has been generated.
+rs_rs.h has been generated.
+rs_rs.c has been generated.
+sys call: 'gcc rs_rs.c rs_rs_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_rs_env.lut -rp oracle:v6:_rs_oracle.lus:rs_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/rs.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/rs.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/rs.lus
+spawn ./lus2lic -o ./tmp/access.lic should_work/access.lus
+PASS: ./lus2lic {-o ./tmp/access.lic should_work/access.lus}
+spawn ./lus2lic -ec -o ./tmp/access.ec should_work/access.lus
+PASS: ./lus2lic {-ec -o ./tmp/access.ec should_work/access.lus}
+spawn ./myec2c -o ./tmp/access.c ./tmp/access.ec
+PASS: ./myec2c {-o ./tmp/access.c ./tmp/access.ec}
 spawn ../utils/test_lus2lic_no_node should_work/access.lus
 + ./lus2lic should_work/access.lus -n access --gen-autotest -np
 _access_env.lut generated.
@@ -613,7 +1209,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -622,12 +1218,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/access.lus
-spawn ./lus2lic -o /tmp/consensus2.lic should_work/consensus2.lus
-PASS: ./lus2lic {-o /tmp/consensus2.lic should_work/consensus2.lus}
-spawn ./lus2lic -ec -o /tmp/consensus2.ec should_work/consensus2.lus
-PASS: ./lus2lic {-ec -o /tmp/consensus2.ec should_work/consensus2.lus}
-spawn ./myec2c -o /tmp/consensus2.c /tmp/consensus2.ec
-PASS: ./myec2c {-o /tmp/consensus2.c /tmp/consensus2.ec}
+spawn ./lus2lic -2c should_work/access.lus -n access
+access_access_loop.c has been generated.
+access_access.h has been generated.
+access_access.c has been generated.
+you can compile those files doing, e.g.,
+  gcc access_access.c access_access_loop.c
+PASS: ./lus2lic {-2c should_work/access.lus -n access}
+spawn rm -f a.out
+spawn gcc access_access.c access_access_loop.c
+PASS: gcc access_access.c access_access_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/access.lus
++ ./lus2lic should_work/access.lus -n access --gen-autotest -np
+_access_env.lut generated.
+_access_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/access.lus
++ ./lus2lic should_work/access.lus -n access -2c -cc
+access_access_loop.c has been generated.
+access_access.h has been generated.
+access_access.c has been generated.
+sys call: 'gcc access_access.c access_access_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_access_env.lut -rp oracle:v6:_access_oracle.lus:access_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/access.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/access.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/access.lus
+spawn ./lus2lic -o ./tmp/consensus2.lic should_work/consensus2.lus
+PASS: ./lus2lic {-o ./tmp/consensus2.lic should_work/consensus2.lus}
+spawn ./lus2lic -ec -o ./tmp/consensus2.ec should_work/consensus2.lus
+PASS: ./lus2lic {-ec -o ./tmp/consensus2.ec should_work/consensus2.lus}
+spawn ./myec2c -o ./tmp/consensus2.c ./tmp/consensus2.ec
+PASS: ./myec2c {-o ./tmp/consensus2.c ./tmp/consensus2.ec}
 spawn ../utils/test_lus2lic_no_node should_work/consensus2.lus
 + ./lus2lic should_work/consensus2.lus -n consensus2 --gen-autotest -np
 _consensus2_env.lut generated.
@@ -644,7 +1284,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -653,12 +1293,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/consensus2.lus
-spawn ./lus2lic -o /tmp/dependeur.lic should_work/dependeur.lus
-PASS: ./lus2lic {-o /tmp/dependeur.lic should_work/dependeur.lus}
-spawn ./lus2lic -ec -o /tmp/dependeur.ec should_work/dependeur.lus
-PASS: ./lus2lic {-ec -o /tmp/dependeur.ec should_work/dependeur.lus}
-spawn ./myec2c -o /tmp/dependeur.c /tmp/dependeur.ec
-PASS: ./myec2c {-o /tmp/dependeur.c /tmp/dependeur.ec}
+spawn ./lus2lic -2c should_work/consensus2.lus -n consensus2
+consensus2_consensus2_loop.c has been generated.
+consensus2_consensus2.h has been generated.
+consensus2_consensus2.c has been generated.
+you can compile those files doing, e.g.,
+  gcc consensus2_consensus2.c consensus2_consensus2_loop.c
+PASS: ./lus2lic {-2c should_work/consensus2.lus -n consensus2}
+spawn rm -f a.out
+spawn gcc consensus2_consensus2.c consensus2_consensus2_loop.c
+PASS: gcc consensus2_consensus2.c consensus2_consensus2_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/consensus2.lus
++ ./lus2lic should_work/consensus2.lus -n consensus2 --gen-autotest -np
+_consensus2_env.lut generated.
+_consensus2_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/consensus2.lus
++ ./lus2lic should_work/consensus2.lus -n consensus2 -2c -cc
+consensus2_consensus2_loop.c has been generated.
+consensus2_consensus2.h has been generated.
+consensus2_consensus2.c has been generated.
+sys call: 'gcc consensus2_consensus2.c consensus2_consensus2_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_consensus2_env.lut -rp oracle:v6:_consensus2_oracle.lus:consensus2_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/consensus2.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/consensus2.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/consensus2.lus
+spawn ./lus2lic -o ./tmp/dependeur.lic should_work/dependeur.lus
+PASS: ./lus2lic {-o ./tmp/dependeur.lic should_work/dependeur.lus}
+spawn ./lus2lic -ec -o ./tmp/dependeur.ec should_work/dependeur.lus
+PASS: ./lus2lic {-ec -o ./tmp/dependeur.ec should_work/dependeur.lus}
+spawn ./myec2c -o ./tmp/dependeur.c ./tmp/dependeur.ec
+PASS: ./myec2c {-o ./tmp/dependeur.c ./tmp/dependeur.ec}
 spawn ../utils/test_lus2lic_no_node should_work/dependeur.lus
 + ./lus2lic should_work/dependeur.lus -n dependeur --gen-autotest -np
 _dependeur_env.lut generated.
@@ -675,7 +1359,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -684,12 +1368,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/dependeur.lus
-spawn ./lus2lic -o /tmp/mappredef.lic should_work/mappredef.lus
-PASS: ./lus2lic {-o /tmp/mappredef.lic should_work/mappredef.lus}
-spawn ./lus2lic -ec -o /tmp/mappredef.ec should_work/mappredef.lus
-PASS: ./lus2lic {-ec -o /tmp/mappredef.ec should_work/mappredef.lus}
-spawn ./myec2c -o /tmp/mappredef.c /tmp/mappredef.ec
-PASS: ./myec2c {-o /tmp/mappredef.c /tmp/mappredef.ec}
+spawn ./lus2lic -2c should_work/dependeur.lus -n dependeur
+dependeur_dependeur_loop.c has been generated.
+dependeur_dependeur.h has been generated.
+dependeur_dependeur.c has been generated.
+you can compile those files doing, e.g.,
+  gcc dependeur_dependeur.c dependeur_dependeur_loop.c
+PASS: ./lus2lic {-2c should_work/dependeur.lus -n dependeur}
+spawn rm -f a.out
+spawn gcc dependeur_dependeur.c dependeur_dependeur_loop.c
+PASS: gcc dependeur_dependeur.c dependeur_dependeur_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/dependeur.lus
++ ./lus2lic should_work/dependeur.lus -n dependeur --gen-autotest -np
+_dependeur_env.lut generated.
+_dependeur_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/dependeur.lus
++ ./lus2lic should_work/dependeur.lus -n dependeur -2c -cc
+dependeur_dependeur_loop.c has been generated.
+dependeur_dependeur.h has been generated.
+dependeur_dependeur.c has been generated.
+sys call: 'gcc dependeur_dependeur.c dependeur_dependeur_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_dependeur_env.lut -rp oracle:v6:_dependeur_oracle.lus:dependeur_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/dependeur.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/dependeur.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/dependeur.lus
+spawn ./lus2lic -o ./tmp/mappredef.lic should_work/mappredef.lus
+PASS: ./lus2lic {-o ./tmp/mappredef.lic should_work/mappredef.lus}
+spawn ./lus2lic -ec -o ./tmp/mappredef.ec should_work/mappredef.lus
+PASS: ./lus2lic {-ec -o ./tmp/mappredef.ec should_work/mappredef.lus}
+spawn ./myec2c -o ./tmp/mappredef.c ./tmp/mappredef.ec
+PASS: ./myec2c {-o ./tmp/mappredef.c ./tmp/mappredef.ec}
 spawn ../utils/test_lus2lic_no_node should_work/mappredef.lus
 + ./lus2lic should_work/mappredef.lus -n mappredef --gen-autotest -np
 _mappredef_env.lut generated.
@@ -706,7 +1434,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -715,32 +1443,74 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/mappredef.lus
-spawn ./lus2lic -o /tmp/call06.lic should_work/call06.lus
-PASS: ./lus2lic {-o /tmp/call06.lic should_work/call06.lus}
-spawn ./lus2lic -ec -o /tmp/call06.ec should_work/call06.lus
-PASS: ./lus2lic {-ec -o /tmp/call06.ec should_work/call06.lus}
-spawn ./myec2c -o /tmp/call06.c /tmp/call06.ec
-PASS: ./myec2c {-o /tmp/call06.c /tmp/call06.ec}
-spawn ../utils/test_lus2lic_no_node should_work/call06.lus
-+ ./lus2lic should_work/call06.lus -n call06 --gen-autotest -np
-*** The soc of call06::bip is not defined. FINISH ME! 
-Extern node not yet supported, sorry
+spawn ./lus2lic -2c should_work/mappredef.lus -n mappredef
+mappredef_mappredef_loop.c has been generated.
+mappredef_mappredef.h has been generated.
+mappredef_mappredef.c has been generated.
+you can compile those files doing, e.g.,
+  gcc mappredef_mappredef.c mappredef_mappredef_loop.c
+PASS: ./lus2lic {-2c should_work/mappredef.lus -n mappredef}
+spawn rm -f a.out
+spawn gcc mappredef_mappredef.c mappredef_mappredef_loop.c
+PASS: gcc mappredef_mappredef.c mappredef_mappredef_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/mappredef.lus
++ ./lus2lic should_work/mappredef.lus -n mappredef --gen-autotest -np
+_mappredef_env.lut generated.
+_mappredef_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/mappredef.lus
++ ./lus2lic should_work/mappredef.lus -n mappredef -2c -cc
+mappredef_mappredef_loop.c has been generated.
+mappredef_mappredef.h has been generated.
+mappredef_mappredef.c has been generated.
+sys call: 'gcc mappredef_mappredef.c mappredef_mappredef_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_mappredef_env.lut -rp oracle:v6:_mappredef_oracle.lus:mappredef_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
 
-*** oops: lus2lic internal error
-	File "src/lic2soc.ml", line 898, column 14
-*** when compiling lustre program should_work/call06.lus
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
 
-*** You migth want to sent a bug report to jahier@imag.fr
-+ echo Error
-Error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/call06.lus
-spawn ./lus2lic -o /tmp/deSimone.lic should_work/deSimone.lus
-PASS: ./lus2lic {-o /tmp/deSimone.lic should_work/deSimone.lus}
-spawn ./lus2lic -ec -o /tmp/deSimone.ec should_work/deSimone.lus
-PASS: ./lus2lic {-ec -o /tmp/deSimone.ec should_work/deSimone.lus}
-spawn ./myec2c -o /tmp/deSimone.c /tmp/deSimone.ec
-PASS: ./myec2c {-o /tmp/deSimone.c /tmp/deSimone.ec}
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/mappredef.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/mappredef.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/mappredef.lus
+spawn ./lus2lic -o ./tmp/call06.lic should_work/call06.lus
+PASS: ./lus2lic {-o ./tmp/call06.lic should_work/call06.lus}
+spawn ./lus2lic -ec -o ./tmp/call06.ec should_work/call06.lus
+PASS: ./lus2lic {-ec -o ./tmp/call06.ec should_work/call06.lus}
+spawn ./myec2c -o ./tmp/call06.c ./tmp/call06.ec
+PASS: ./myec2c {-o ./tmp/call06.c ./tmp/call06.ec}
+spawn ./lus2lic -2c should_work/call06.lus -n call06
+call06_call06_ext.h has been generated.
+call06_call06_ext.c has been generated.
+call06_call06_loop.c has been generated.
+call06_call06.h has been generated.
+call06_call06.c has been generated.
+you can compile those files doing, e.g.,
+   gcc call06_call06.c call06_call06_ext.c call06_call06_loop.c
+PASS: ./lus2lic {-2c should_work/call06.lus -n call06}
+spawn rm -f a.out
+spawn gcc call06_call06.c call06_call06_ext.c call06_call06_loop.c
+PASS: gcc call06_call06.c call06_call06_ext.c call06_call06_loop.c 
+spawn ./lus2lic -o ./tmp/deSimone.lic should_work/deSimone.lus
+PASS: ./lus2lic {-o ./tmp/deSimone.lic should_work/deSimone.lus}
+spawn ./lus2lic -ec -o ./tmp/deSimone.ec should_work/deSimone.lus
+PASS: ./lus2lic {-ec -o ./tmp/deSimone.ec should_work/deSimone.lus}
+spawn ./myec2c -o ./tmp/deSimone.c ./tmp/deSimone.ec
+PASS: ./myec2c {-o ./tmp/deSimone.c ./tmp/deSimone.ec}
 spawn ../utils/test_lus2lic_no_node should_work/deSimone.lus
 + ./lus2lic should_work/deSimone.lus -n deSimone --gen-autotest -np
 _deSimone_env.lut generated.
@@ -754,94 +1524,68 @@ lus2lic -ec done
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
 + ./lurettetop -p 6 -seed 42 -rp sut:ec:deSimone.ec:deSimone -rp env:lutin:_deSimone_env.lut -rp oracle:v6:_deSimone_oracle.lus:deSimone_oracle -go -l 10 -ns2c --stop-on-oracle-error
 RP Variables are compatible.
+quit
 
-*** The oracle returned false at step 6
-Other Oracle outputs that are true: 
-	acknowledge_bis_1
-Oracle outputs that are false: 
-	acknowledge_bis_0
-	acknowledge_bis_2
-	acknowledge_bis_3
-	acknowledge_bis_4
-	acknowledge_bis_5
-	acknowledge_bis_6
-	acknowledge_bis_7
-	acknowledge_bis_8
-	acknowledge_bis_9
-Oracle inputs: 
-	new_token=t
-	request_0=f
-	request_1=t
-	request_2=t
-	request_3=f
-	request_4=t
-	request_5=t
-	request_6=t
-	request_7=f
-	request_8=f
-	request_9=f
-	acknowledge_0=f
-	acknowledge_1=f
-	acknowledge_2=f
-	acknowledge_3=f
-	acknowledge_4=f
-	acknowledge_5=f
-	acknowledge_6=f
-	acknowledge_7=f
-	acknowledge_8=f
-	acknowledge_9=f
-
-*** The oracle returned false at step 6
-Other Oracle outputs that are true: 
-	acknowledge_bis_1
-Oracle outputs that are false: 
-	acknowledge_bis_0
-	acknowledge_bis_2
-	acknowledge_bis_3
-	acknowledge_bis_4
-	acknowledge_bis_5
-	acknowledge_bis_6
-	acknowledge_bis_7
-	acknowledge_bis_8
-	acknowledge_bis_9
-Oracle inputs: 
-	new_token=t
-	request_0=f
-	request_1=t
-	request_2=t
-	request_3=f
-	request_4=t
-	request_5=t
-	request_6=t
-	request_7=f
-	request_8=f
-	request_9=f
-	acknowledge_0=f
-	acknowledge_1=f
-	acknowledge_2=f
-	acknowledge_3=f
-	acknowledge_4=f
-	acknowledge_5=f
-	acknowledge_6=f
-	acknowledge_7=f
-	acknowledge_8=f
-	acknowledge_9=f
 
-Lurette launched a process that failed (exit 2).
- 
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
-+ echo error
-error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/deSimone.lus
-spawn ./lus2lic -o /tmp/bug2.lic should_work/bug2.lus
-PASS: ./lus2lic {-o /tmp/bug2.lic should_work/bug2.lus}
-spawn ./lus2lic -ec -o /tmp/bug2.ec should_work/bug2.lus
-PASS: ./lus2lic {-ec -o /tmp/bug2.ec should_work/bug2.lus}
-spawn ./myec2c -o /tmp/bug2.c /tmp/bug2.ec
-PASS: ./myec2c {-o /tmp/bug2.c /tmp/bug2.ec}
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/test_lus2lic_no_node should_work/deSimone.lus
+spawn ./lus2lic -2c should_work/deSimone.lus -n deSimone
+deSimone_deSimone_loop.c has been generated.
+deSimone_deSimone.h has been generated.
+deSimone_deSimone.c has been generated.
+you can compile those files doing, e.g.,
+  gcc deSimone_deSimone.c deSimone_deSimone_loop.c
+PASS: ./lus2lic {-2c should_work/deSimone.lus -n deSimone}
+spawn rm -f a.out
+spawn gcc deSimone_deSimone.c deSimone_deSimone_loop.c
+PASS: gcc deSimone_deSimone.c deSimone_deSimone_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/deSimone.lus
++ ./lus2lic should_work/deSimone.lus -n deSimone --gen-autotest -np
+_deSimone_env.lut generated.
+_deSimone_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/deSimone.lus
++ ./lus2lic should_work/deSimone.lus -n deSimone -2c -cc
+deSimone_deSimone_loop.c has been generated.
+deSimone_deSimone.h has been generated.
+deSimone_deSimone.c has been generated.
+sys call: 'gcc deSimone_deSimone.c deSimone_deSimone_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_deSimone_env.lut -rp oracle:v6:_deSimone_oracle.lus:deSimone_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/deSimone.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/deSimone.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/deSimone.lus
+spawn ./lus2lic -o ./tmp/bug2.lic should_work/bug2.lus
+PASS: ./lus2lic {-o ./tmp/bug2.lic should_work/bug2.lus}
+spawn ./lus2lic -ec -o ./tmp/bug2.ec should_work/bug2.lus
+PASS: ./lus2lic {-ec -o ./tmp/bug2.ec should_work/bug2.lus}
+spawn ./myec2c -o ./tmp/bug2.c ./tmp/bug2.ec
+PASS: ./myec2c {-o ./tmp/bug2.c ./tmp/bug2.ec}
 spawn ../utils/test_lus2lic_no_node should_work/bug2.lus
 + ./lus2lic should_work/bug2.lus -n bug2 --gen-autotest -np
 _bug2_env.lut generated.
@@ -858,7 +1602,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -867,12 +1611,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/bug2.lus
-spawn ./lus2lic -o /tmp/mm.lic should_work/mm.lus
-PASS: ./lus2lic {-o /tmp/mm.lic should_work/mm.lus}
-spawn ./lus2lic -ec -o /tmp/mm.ec should_work/mm.lus
-PASS: ./lus2lic {-ec -o /tmp/mm.ec should_work/mm.lus}
-spawn ./myec2c -o /tmp/mm.c /tmp/mm.ec
-PASS: ./myec2c {-o /tmp/mm.c /tmp/mm.ec}
+spawn ./lus2lic -2c should_work/bug2.lus -n bug2
+bug2_bug2_loop.c has been generated.
+bug2_bug2.h has been generated.
+bug2_bug2.c has been generated.
+you can compile those files doing, e.g.,
+  gcc bug2_bug2.c bug2_bug2_loop.c
+PASS: ./lus2lic {-2c should_work/bug2.lus -n bug2}
+spawn rm -f a.out
+spawn gcc bug2_bug2.c bug2_bug2_loop.c
+PASS: gcc bug2_bug2.c bug2_bug2_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/bug2.lus
++ ./lus2lic should_work/bug2.lus -n bug2 --gen-autotest -np
+_bug2_env.lut generated.
+_bug2_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/bug2.lus
++ ./lus2lic should_work/bug2.lus -n bug2 -2c -cc
+bug2_bug2_loop.c has been generated.
+bug2_bug2.h has been generated.
+bug2_bug2.c has been generated.
+sys call: 'gcc bug2_bug2.c bug2_bug2_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_bug2_env.lut -rp oracle:v6:_bug2_oracle.lus:bug2_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/bug2.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/bug2.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/bug2.lus
+spawn ./lus2lic -o ./tmp/mm.lic should_work/mm.lus
+PASS: ./lus2lic {-o ./tmp/mm.lic should_work/mm.lus}
+spawn ./lus2lic -ec -o ./tmp/mm.ec should_work/mm.lus
+PASS: ./lus2lic {-ec -o ./tmp/mm.ec should_work/mm.lus}
+spawn ./myec2c -o ./tmp/mm.c ./tmp/mm.ec
+PASS: ./myec2c {-o ./tmp/mm.c ./tmp/mm.ec}
 spawn ../utils/test_lus2lic_no_node should_work/mm.lus
 + ./lus2lic should_work/mm.lus -n mm --gen-autotest -np
 _mm_env.lut generated.
@@ -889,7 +1677,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -898,12 +1686,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/mm.lus
-spawn ./lus2lic -o /tmp/yyy.lic should_work/yyy.lus
-PASS: ./lus2lic {-o /tmp/yyy.lic should_work/yyy.lus}
-spawn ./lus2lic -ec -o /tmp/yyy.ec should_work/yyy.lus
-PASS: ./lus2lic {-ec -o /tmp/yyy.ec should_work/yyy.lus}
-spawn ./myec2c -o /tmp/yyy.c /tmp/yyy.ec
-PASS: ./myec2c {-o /tmp/yyy.c /tmp/yyy.ec}
+spawn ./lus2lic -2c should_work/mm.lus -n mm
+mm_mm_loop.c has been generated.
+mm_mm.h has been generated.
+mm_mm.c has been generated.
+you can compile those files doing, e.g.,
+  gcc mm_mm.c mm_mm_loop.c
+PASS: ./lus2lic {-2c should_work/mm.lus -n mm}
+spawn rm -f a.out
+spawn gcc mm_mm.c mm_mm_loop.c
+PASS: gcc mm_mm.c mm_mm_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/mm.lus
++ ./lus2lic should_work/mm.lus -n mm --gen-autotest -np
+_mm_env.lut generated.
+_mm_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/mm.lus
++ ./lus2lic should_work/mm.lus -n mm -2c -cc
+mm_mm_loop.c has been generated.
+mm_mm.h has been generated.
+mm_mm.c has been generated.
+sys call: 'gcc mm_mm.c mm_mm_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_mm_env.lut -rp oracle:v6:_mm_oracle.lus:mm_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/mm.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/mm.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/mm.lus
+spawn ./lus2lic -o ./tmp/yyy.lic should_work/yyy.lus
+PASS: ./lus2lic {-o ./tmp/yyy.lic should_work/yyy.lus}
+spawn ./lus2lic -ec -o ./tmp/yyy.ec should_work/yyy.lus
+PASS: ./lus2lic {-ec -o ./tmp/yyy.ec should_work/yyy.lus}
+spawn ./myec2c -o ./tmp/yyy.c ./tmp/yyy.ec
+PASS: ./myec2c {-o ./tmp/yyy.c ./tmp/yyy.ec}
 spawn ../utils/test_lus2lic_no_node should_work/yyy.lus
 + ./lus2lic should_work/yyy.lus -n yyy --gen-autotest -np
 _yyy_env.lut generated.
@@ -920,7 +1752,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -929,12 +1761,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/yyy.lus
-spawn ./lus2lic -o /tmp/toolate.lic should_work/toolate.lus
-PASS: ./lus2lic {-o /tmp/toolate.lic should_work/toolate.lus}
-spawn ./lus2lic -ec -o /tmp/toolate.ec should_work/toolate.lus
-PASS: ./lus2lic {-ec -o /tmp/toolate.ec should_work/toolate.lus}
-spawn ./myec2c -o /tmp/toolate.c /tmp/toolate.ec
-PASS: ./myec2c {-o /tmp/toolate.c /tmp/toolate.ec}
+spawn ./lus2lic -2c should_work/yyy.lus -n yyy
+yyy_yyy_loop.c has been generated.
+yyy_yyy.h has been generated.
+yyy_yyy.c has been generated.
+you can compile those files doing, e.g.,
+  gcc yyy_yyy.c yyy_yyy_loop.c
+PASS: ./lus2lic {-2c should_work/yyy.lus -n yyy}
+spawn rm -f a.out
+spawn gcc yyy_yyy.c yyy_yyy_loop.c
+PASS: gcc yyy_yyy.c yyy_yyy_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/yyy.lus
++ ./lus2lic should_work/yyy.lus -n yyy --gen-autotest -np
+_yyy_env.lut generated.
+_yyy_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/yyy.lus
++ ./lus2lic should_work/yyy.lus -n yyy -2c -cc
+yyy_yyy_loop.c has been generated.
+yyy_yyy.h has been generated.
+yyy_yyy.c has been generated.
+sys call: 'gcc yyy_yyy.c yyy_yyy_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_yyy_env.lut -rp oracle:v6:_yyy_oracle.lus:yyy_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/yyy.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/yyy.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/yyy.lus
+spawn ./lus2lic -o ./tmp/toolate.lic should_work/toolate.lus
+PASS: ./lus2lic {-o ./tmp/toolate.lic should_work/toolate.lus}
+spawn ./lus2lic -ec -o ./tmp/toolate.ec should_work/toolate.lus
+PASS: ./lus2lic {-ec -o ./tmp/toolate.ec should_work/toolate.lus}
+spawn ./myec2c -o ./tmp/toolate.c ./tmp/toolate.ec
+PASS: ./myec2c {-o ./tmp/toolate.c ./tmp/toolate.ec}
 spawn ../utils/test_lus2lic_no_node should_work/toolate.lus
 + ./lus2lic should_work/toolate.lus -n toolate --gen-autotest -np
 _toolate_env.lut generated.
@@ -951,7 +1827,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -960,40 +1836,72 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/toolate.lus
-spawn ./lus2lic -o /tmp/testCapt.lic should_work/testCapt.lus
-PASS: ./lus2lic {-o /tmp/testCapt.lic should_work/testCapt.lus}
-spawn ./lus2lic -ec -o /tmp/testCapt.ec should_work/testCapt.lus
-PASS: ./lus2lic {-ec -o /tmp/testCapt.ec should_work/testCapt.lus}
-spawn ./myec2c -o /tmp/testCapt.c /tmp/testCapt.ec
-PASS: ./myec2c {-o /tmp/testCapt.c /tmp/testCapt.ec}
-spawn ../utils/test_lus2lic_no_node should_work/testCapt.lus
-+ ./lus2lic should_work/testCapt.lus -n testCapt --gen-autotest -np
-_testCapt_env.lut generated.
-_testCapt_oracle.lus generated.
+spawn ./lus2lic -2c should_work/toolate.lus -n toolate
+toolate_toolate_loop.c has been generated.
+toolate_toolate.h has been generated.
+toolate_toolate.c has been generated.
+you can compile those files doing, e.g.,
+  gcc toolate_toolate.c toolate_toolate_loop.c
+PASS: ./lus2lic {-2c should_work/toolate.lus -n toolate}
+spawn rm -f a.out
+spawn gcc toolate_toolate.c toolate_toolate_loop.c
+PASS: gcc toolate_toolate.c toolate_toolate_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/toolate.lus
++ ./lus2lic should_work/toolate.lus -n toolate --gen-autotest -np
+_toolate_env.lut generated.
+_toolate_oracle.lus generated.
 + echo lus2lic --gen-autotest done
 lus2lic --gen-autotest done
-+ cat should_work/testCapt.lus
-+ ./lus2lic should_work/testCapt.lus -n testCapt -ec -o testCapt.ec
-+ echo lus2lic -ec done
-lus2lic -ec done
++ cat should_work/toolate.lus
++ ./lus2lic should_work/toolate.lus -n toolate -2c -cc
+toolate_toolate_loop.c has been generated.
+toolate_toolate.h has been generated.
+toolate_toolate.c has been generated.
+sys call: 'gcc toolate_toolate.c toolate_toolate_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:testCapt.ec:testCapt -rp env:lutin:_testCapt_env.lut -rp oracle:v6:_testCapt_oracle.lus:testCapt_oracle -go -l 10 -ns2c --stop-on-oracle-error
-Error in lurette: Parsing.Parse_error
-Lurette launched a process that failed (exit 2).
- 
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_toolate_env.lut -rp oracle:v6:_toolate_oracle.lus:toolate_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
-+ echo error
-error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/testCapt.lus
-spawn ./lus2lic -o /tmp/nc7.lic should_work/nc7.lus
-PASS: ./lus2lic {-o /tmp/nc7.lic should_work/nc7.lus}
-spawn ./lus2lic -ec -o /tmp/nc7.ec should_work/nc7.lus
-PASS: ./lus2lic {-ec -o /tmp/nc7.ec should_work/nc7.lus}
-spawn ./myec2c -o /tmp/nc7.c /tmp/nc7.ec
-PASS: ./myec2c {-o /tmp/nc7.c /tmp/nc7.ec}
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/toolate.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/toolate.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/toolate.lus
+spawn ./lus2lic -o ./tmp/testCapt.lic should_work/testCapt.lus
+PASS: ./lus2lic {-o ./tmp/testCapt.lic should_work/testCapt.lus}
+spawn ./lus2lic -ec -o ./tmp/testCapt.ec should_work/testCapt.lus
+PASS: ./lus2lic {-ec -o ./tmp/testCapt.ec should_work/testCapt.lus}
+spawn ./myec2c -o ./tmp/testCapt.c ./tmp/testCapt.ec
+PASS: ./myec2c {-o ./tmp/testCapt.c ./tmp/testCapt.ec}
+spawn ./lus2lic -2c should_work/testCapt.lus -n testCapt
+testCapt_testCapt_loop.c has been generated.
+testCapt_testCapt.h has been generated.
+testCapt_testCapt.c has been generated.
+you can compile those files doing, e.g.,
+  gcc testCapt_testCapt.c testCapt_testCapt_loop.c
+PASS: ./lus2lic {-2c should_work/testCapt.lus -n testCapt}
+spawn rm -f a.out
+spawn gcc testCapt_testCapt.c testCapt_testCapt_loop.c
+PASS: gcc testCapt_testCapt.c testCapt_testCapt_loop.c 
+spawn ./lus2lic -o ./tmp/nc7.lic should_work/nc7.lus
+PASS: ./lus2lic {-o ./tmp/nc7.lic should_work/nc7.lus}
+spawn ./lus2lic -ec -o ./tmp/nc7.ec should_work/nc7.lus
+PASS: ./lus2lic {-ec -o ./tmp/nc7.ec should_work/nc7.lus}
+spawn ./myec2c -o ./tmp/nc7.c ./tmp/nc7.ec
+PASS: ./myec2c {-o ./tmp/nc7.c ./tmp/nc7.ec}
 spawn ../utils/test_lus2lic_no_node should_work/nc7.lus
 + ./lus2lic should_work/nc7.lus -n nc7 --gen-autotest -np
 _nc7_env.lut generated.
@@ -1010,7 +1918,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -1019,12 +1927,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/nc7.lus
-spawn ./lus2lic -o /tmp/predefOp.lic should_work/predefOp.lus
-PASS: ./lus2lic {-o /tmp/predefOp.lic should_work/predefOp.lus}
-spawn ./lus2lic -ec -o /tmp/predefOp.ec should_work/predefOp.lus
-PASS: ./lus2lic {-ec -o /tmp/predefOp.ec should_work/predefOp.lus}
-spawn ./myec2c -o /tmp/predefOp.c /tmp/predefOp.ec
-PASS: ./myec2c {-o /tmp/predefOp.c /tmp/predefOp.ec}
+spawn ./lus2lic -2c should_work/nc7.lus -n nc7
+nc7_nc7_loop.c has been generated.
+nc7_nc7.h has been generated.
+nc7_nc7.c has been generated.
+you can compile those files doing, e.g.,
+  gcc nc7_nc7.c nc7_nc7_loop.c
+PASS: ./lus2lic {-2c should_work/nc7.lus -n nc7}
+spawn rm -f a.out
+spawn gcc nc7_nc7.c nc7_nc7_loop.c
+PASS: gcc nc7_nc7.c nc7_nc7_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/nc7.lus
++ ./lus2lic should_work/nc7.lus -n nc7 --gen-autotest -np
+_nc7_env.lut generated.
+_nc7_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/nc7.lus
++ ./lus2lic should_work/nc7.lus -n nc7 -2c -cc
+nc7_nc7_loop.c has been generated.
+nc7_nc7.h has been generated.
+nc7_nc7.c has been generated.
+sys call: 'gcc nc7_nc7.c nc7_nc7_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_nc7_env.lut -rp oracle:v6:_nc7_oracle.lus:nc7_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/nc7.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/nc7.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/nc7.lus
+spawn ./lus2lic -o ./tmp/predefOp.lic should_work/predefOp.lus
+PASS: ./lus2lic {-o ./tmp/predefOp.lic should_work/predefOp.lus}
+spawn ./lus2lic -ec -o ./tmp/predefOp.ec should_work/predefOp.lus
+PASS: ./lus2lic {-ec -o ./tmp/predefOp.ec should_work/predefOp.lus}
+spawn ./myec2c -o ./tmp/predefOp.c ./tmp/predefOp.ec
+PASS: ./myec2c {-o ./tmp/predefOp.c ./tmp/predefOp.ec}
 spawn ../utils/test_lus2lic_no_node should_work/predefOp.lus
 + ./lus2lic should_work/predefOp.lus -n predefOp --gen-autotest -np
 _predefOp_env.lut generated.
@@ -1041,7 +1993,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -1050,12 +2002,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/predefOp.lus
-spawn ./lus2lic -o /tmp/t1.lic should_work/t1.lus
-PASS: ./lus2lic {-o /tmp/t1.lic should_work/t1.lus}
-spawn ./lus2lic -ec -o /tmp/t1.ec should_work/t1.lus
-PASS: ./lus2lic {-ec -o /tmp/t1.ec should_work/t1.lus}
-spawn ./myec2c -o /tmp/t1.c /tmp/t1.ec
-PASS: ./myec2c {-o /tmp/t1.c /tmp/t1.ec}
+spawn ./lus2lic -2c should_work/predefOp.lus -n predefOp
+predefOp_predefOp_loop.c has been generated.
+predefOp_predefOp.h has been generated.
+predefOp_predefOp.c has been generated.
+you can compile those files doing, e.g.,
+  gcc predefOp_predefOp.c predefOp_predefOp_loop.c
+PASS: ./lus2lic {-2c should_work/predefOp.lus -n predefOp}
+spawn rm -f a.out
+spawn gcc predefOp_predefOp.c predefOp_predefOp_loop.c
+PASS: gcc predefOp_predefOp.c predefOp_predefOp_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/predefOp.lus
++ ./lus2lic should_work/predefOp.lus -n predefOp --gen-autotest -np
+_predefOp_env.lut generated.
+_predefOp_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/predefOp.lus
++ ./lus2lic should_work/predefOp.lus -n predefOp -2c -cc
+predefOp_predefOp_loop.c has been generated.
+predefOp_predefOp.h has been generated.
+predefOp_predefOp.c has been generated.
+sys call: 'gcc predefOp_predefOp.c predefOp_predefOp_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_predefOp_env.lut -rp oracle:v6:_predefOp_oracle.lus:predefOp_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/predefOp.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/predefOp.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/predefOp.lus
+spawn ./lus2lic -o ./tmp/t1.lic should_work/t1.lus
+PASS: ./lus2lic {-o ./tmp/t1.lic should_work/t1.lus}
+spawn ./lus2lic -ec -o ./tmp/t1.ec should_work/t1.lus
+PASS: ./lus2lic {-ec -o ./tmp/t1.ec should_work/t1.lus}
+spawn ./myec2c -o ./tmp/t1.c ./tmp/t1.ec
+PASS: ./myec2c {-o ./tmp/t1.c ./tmp/t1.ec}
 spawn ../utils/test_lus2lic_no_node should_work/t1.lus
 + ./lus2lic should_work/t1.lus -n t1 --gen-autotest -np
 _t1_env.lut generated.
@@ -1072,7 +2068,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -1081,12 +2077,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/t1.lus
-spawn ./lus2lic -o /tmp/nc9.lic should_work/nc9.lus
-PASS: ./lus2lic {-o /tmp/nc9.lic should_work/nc9.lus}
-spawn ./lus2lic -ec -o /tmp/nc9.ec should_work/nc9.lus
-PASS: ./lus2lic {-ec -o /tmp/nc9.ec should_work/nc9.lus}
-spawn ./myec2c -o /tmp/nc9.c /tmp/nc9.ec
-PASS: ./myec2c {-o /tmp/nc9.c /tmp/nc9.ec}
+spawn ./lus2lic -2c should_work/t1.lus -n t1
+t1_t1_loop.c has been generated.
+t1_t1.h has been generated.
+t1_t1.c has been generated.
+you can compile those files doing, e.g.,
+  gcc t1_t1.c t1_t1_loop.c
+PASS: ./lus2lic {-2c should_work/t1.lus -n t1}
+spawn rm -f a.out
+spawn gcc t1_t1.c t1_t1_loop.c
+PASS: gcc t1_t1.c t1_t1_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/t1.lus
++ ./lus2lic should_work/t1.lus -n t1 --gen-autotest -np
+_t1_env.lut generated.
+_t1_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/t1.lus
++ ./lus2lic should_work/t1.lus -n t1 -2c -cc
+t1_t1_loop.c has been generated.
+t1_t1.h has been generated.
+t1_t1.c has been generated.
+sys call: 'gcc t1_t1.c t1_t1_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_t1_env.lut -rp oracle:v6:_t1_oracle.lus:t1_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/t1.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/t1.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/t1.lus
+spawn ./lus2lic -o ./tmp/nc9.lic should_work/nc9.lus
+PASS: ./lus2lic {-o ./tmp/nc9.lic should_work/nc9.lus}
+spawn ./lus2lic -ec -o ./tmp/nc9.ec should_work/nc9.lus
+PASS: ./lus2lic {-ec -o ./tmp/nc9.ec should_work/nc9.lus}
+spawn ./myec2c -o ./tmp/nc9.c ./tmp/nc9.ec
+PASS: ./myec2c {-o ./tmp/nc9.c ./tmp/nc9.ec}
 spawn ../utils/test_lus2lic_no_node should_work/nc9.lus
 + ./lus2lic should_work/nc9.lus -n nc9 --gen-autotest -np
 _nc9_env.lut generated.
@@ -1103,7 +2143,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -1112,96 +2152,85 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/nc9.lus
-spawn ./lus2lic -o /tmp/packageTableau.lic should_work/packageTableau.lus
-PASS: ./lus2lic {-o /tmp/packageTableau.lic should_work/packageTableau.lus}
-spawn ./lus2lic -ec -o /tmp/packageTableau.ec should_work/packageTableau.lus
-PASS: ./lus2lic {-ec -o /tmp/packageTableau.ec should_work/packageTableau.lus}
-spawn ./myec2c -o /tmp/packageTableau.c /tmp/packageTableau.ec
-PASS: ./myec2c {-o /tmp/packageTableau.c /tmp/packageTableau.ec}
-spawn ../utils/test_lus2lic_no_node should_work/packageTableau.lus
-+ ./lus2lic should_work/packageTableau.lus -n packageTableau --gen-autotest -np
-*** Can not find package 'packageTableau' in the following packages: 
-***	 'util'
-***	 'main'
-***	 'intArray'
-+ echo Error
-Error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/packageTableau.lus
-spawn ./lus2lic -o /tmp/nc8.lic should_work/nc8.lus
-PASS: ./lus2lic {-o /tmp/nc8.lic should_work/nc8.lus}
-spawn ./lus2lic -ec -o /tmp/nc8.ec should_work/nc8.lus
-PASS: ./lus2lic {-ec -o /tmp/nc8.ec should_work/nc8.lus}
-spawn ./myec2c -o /tmp/nc8.c /tmp/nc8.ec
-PASS: ./myec2c {-o /tmp/nc8.c /tmp/nc8.ec}
-spawn ../utils/test_lus2lic_no_node should_work/nc8.lus
-+ ./lus2lic should_work/nc8.lus -n nc8 --gen-autotest -np
-_nc8_env.lut generated.
-_nc8_oracle.lus generated.
+spawn ./lus2lic -2c should_work/nc9.lus -n nc9
+nc9_nc9_loop.c has been generated.
+nc9_nc9.h has been generated.
+nc9_nc9.c has been generated.
+you can compile those files doing, e.g.,
+  gcc nc9_nc9.c nc9_nc9_loop.c
+PASS: ./lus2lic {-2c should_work/nc9.lus -n nc9}
+spawn rm -f a.out
+spawn gcc nc9_nc9.c nc9_nc9_loop.c
+PASS: gcc nc9_nc9.c nc9_nc9_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/nc9.lus
++ ./lus2lic should_work/nc9.lus -n nc9 --gen-autotest -np
+_nc9_env.lut generated.
+_nc9_oracle.lus generated.
 + echo lus2lic --gen-autotest done
 lus2lic --gen-autotest done
-+ cat should_work/nc8.lus
-+ ./lus2lic should_work/nc8.lus -n nc8 -ec -o nc8.ec
-+ echo lus2lic -ec done
-lus2lic -ec done
++ cat should_work/nc9.lus
++ ./lus2lic should_work/nc9.lus -n nc9 -2c -cc
+nc9_nc9_loop.c has been generated.
+nc9_nc9.h has been generated.
+nc9_nc9.c has been generated.
+sys call: 'gcc nc9_nc9.c nc9_nc9_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:nc8.ec:nc8 -rp env:lutin:_nc8_env.lut -rp oracle:v6:_nc8_oracle.lus:nc8_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_nc9_env.lut -rp oracle:v6:_nc9_oracle.lus:nc9_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
 RP Variables are compatible.
-quit
-
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/nc9.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/nc9.lus: ok
 + echo lurettetop ok
 lurettetop ok
 + exit 0
-PASS: ../utils/test_lus2lic_no_node should_work/nc8.lus
-spawn ./lus2lic -o /tmp/minmax5.lic should_work/minmax5.lus
-PASS: ./lus2lic {-o /tmp/minmax5.lic should_work/minmax5.lus}
-spawn ./lus2lic -ec -o /tmp/minmax5.ec should_work/minmax5.lus
-PASS: ./lus2lic {-ec -o /tmp/minmax5.ec should_work/minmax5.lus}
-spawn ./myec2c -o /tmp/minmax5.c /tmp/minmax5.ec
-PASS: ./myec2c {-o /tmp/minmax5.c /tmp/minmax5.ec}
-spawn ../utils/test_lus2lic_no_node should_work/minmax5.lus
-+ ./lus2lic should_work/minmax5.lus -n minmax5 --gen-autotest -np
-*** The soc of minmax5::minmax is not defined. FINISH ME! 
-Extern node not yet supported, sorry
-
-*** oops: lus2lic internal error
-	File "src/lic2soc.ml", line 898, column 14
-*** when compiling lustre program should_work/minmax5.lus
-
-*** You migth want to sent a bug report to jahier@imag.fr
-+ echo Error
-Error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/minmax5.lus
-spawn ./lus2lic -o /tmp/mm1.lic should_work/mm1.lus
-PASS: ./lus2lic {-o /tmp/mm1.lic should_work/mm1.lus}
-spawn ./lus2lic -ec -o /tmp/mm1.ec should_work/mm1.lus
-PASS: ./lus2lic {-ec -o /tmp/mm1.ec should_work/mm1.lus}
-spawn ./myec2c -o /tmp/mm1.c /tmp/mm1.ec
-PASS: ./myec2c {-o /tmp/mm1.c /tmp/mm1.ec}
-spawn ../utils/test_lus2lic_no_node should_work/mm1.lus
-+ ./lus2lic should_work/mm1.lus -n mm1 --gen-autotest -np
-_mm1_env.lut generated.
-_mm1_oracle.lus generated.
+PASS: ../utils/compare_exec_and_2c should_work/nc9.lus
+spawn ./lus2lic -o ./tmp/packageTableau.lic should_work/packageTableau.lus
+PASS: ./lus2lic {-o ./tmp/packageTableau.lic should_work/packageTableau.lus}
+spawn ./lus2lic -ec -o ./tmp/packageTableau.ec should_work/packageTableau.lus
+PASS: ./lus2lic {-ec -o ./tmp/packageTableau.ec should_work/packageTableau.lus}
+spawn ./myec2c -o ./tmp/packageTableau.c ./tmp/packageTableau.ec
+PASS: ./myec2c {-o ./tmp/packageTableau.c ./tmp/packageTableau.ec}
+spawn ./lus2lic -2c should_work/packageTableau.lus -n packageTableau
+*** Can not find package 'packageTableau' in the following packages: 
+***	 'util'
+***	 'main'
+***	 'intArray'
+PASS: ./lus2lic {-2c should_work/packageTableau.lus -n packageTableau}
+spawn ./lus2lic -o ./tmp/test_poly.lic should_work/test_poly.lus
+PASS: ./lus2lic {-o ./tmp/test_poly.lic should_work/test_poly.lus}
+spawn ./lus2lic -ec -o ./tmp/test_poly.ec should_work/test_poly.lus
+PASS: ./lus2lic {-ec -o ./tmp/test_poly.ec should_work/test_poly.lus}
+spawn ./myec2c -o ./tmp/test_poly.c ./tmp/test_poly.ec
+PASS: ./myec2c {-o ./tmp/test_poly.c ./tmp/test_poly.ec}
+spawn ../utils/test_lus2lic_no_node should_work/test_poly.lus
++ ./lus2lic should_work/test_poly.lus -n test_poly --gen-autotest -np
+_test_poly_env.lut generated.
+_test_poly_oracle.lus generated.
 + echo lus2lic --gen-autotest done
 lus2lic --gen-autotest done
-+ cat should_work/mm1.lus
-+ ./lus2lic should_work/mm1.lus -n mm1 -ec -o mm1.ec
++ cat should_work/test_poly.lus
++ ./lus2lic should_work/test_poly.lus -n test_poly -ec -o test_poly.ec
 + echo lus2lic -ec done
 lus2lic -ec done
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:mm1.ec:mm1 -rp env:lutin:_mm1_env.lut -rp oracle:v6:_mm1_oracle.lus:mm1_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./lurettetop -p 6 -seed 42 -rp sut:ec:test_poly.ec:test_poly -rp env:lutin:_test_poly_env.lut -rp oracle:v6:_test_poly_oracle.lus:test_poly_oracle -go -l 10 -ns2c --stop-on-oracle-error
 RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -1209,47 +2238,1226 @@ lurettetop: bye!
 + echo lurettetop ok
 lurettetop ok
 + exit 0
-PASS: ../utils/test_lus2lic_no_node should_work/mm1.lus
-spawn ./lus2lic -o /tmp/predef03.lic should_work/predef03.lus
-PASS: ./lus2lic {-o /tmp/predef03.lic should_work/predef03.lus}
-spawn ./lus2lic -ec -o /tmp/predef03.ec should_work/predef03.lus
-PASS: ./lus2lic {-ec -o /tmp/predef03.ec should_work/predef03.lus}
-spawn ./myec2c -o /tmp/predef03.c /tmp/predef03.ec
-PASS: ./myec2c {-o /tmp/predef03.c /tmp/predef03.ec}
-spawn ../utils/test_lus2lic_no_node should_work/predef03.lus
-+ ./lus2lic should_work/predef03.lus -n predef03 --gen-autotest -np
-_predef03_env.lut generated.
-_predef03_oracle.lus generated.
+PASS: ../utils/test_lus2lic_no_node should_work/test_poly.lus
+spawn ./lus2lic -2c should_work/test_poly.lus -n test_poly
+test_poly_test_poly_loop.c has been generated.
+test_poly_test_poly.h has been generated.
+test_poly_test_poly.c has been generated.
+you can compile those files doing, e.g.,
+  gcc test_poly_test_poly.c test_poly_test_poly_loop.c
+PASS: ./lus2lic {-2c should_work/test_poly.lus -n test_poly}
+spawn rm -f a.out
+spawn gcc test_poly_test_poly.c test_poly_test_poly_loop.c
+PASS: gcc test_poly_test_poly.c test_poly_test_poly_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/test_poly.lus
++ ./lus2lic should_work/test_poly.lus -n test_poly --gen-autotest -np
+_test_poly_env.lut generated.
+_test_poly_oracle.lus generated.
 + echo lus2lic --gen-autotest done
 lus2lic --gen-autotest done
-+ cat should_work/predef03.lus
-+ ./lus2lic should_work/predef03.lus -n predef03 -ec -o predef03.ec
-+ echo lus2lic -ec done
-lus2lic -ec done
++ cat should_work/test_poly.lus
++ ./lus2lic should_work/test_poly.lus -n test_poly -2c -cc
+test_poly_test_poly_loop.c has been generated.
+test_poly_test_poly.h has been generated.
+test_poly_test_poly.c has been generated.
+sys call: 'gcc test_poly_test_poly.c test_poly_test_poly_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:predef03.ec:predef03 -rp env:lutin:_predef03_env.lut -rp oracle:v6:_predef03_oracle.lus:predef03_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_test_poly_env.lut -rp oracle:v6:_test_poly_oracle.lus:test_poly_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
 RP Variables are compatible.
-quit
 
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
 
-The coverage rate is -nan%
-The coverage file lurette.cov has been updated/generated
-break signal catched
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
 
-lurettetop: bye!
-+ echo lurettetop ok
-lurettetop ok
-+ exit 0
-PASS: ../utils/test_lus2lic_no_node should_work/predef03.lus
-spawn ./lus2lic -o /tmp/iter.lic should_work/iter.lus
-PASS: ./lus2lic {-o /tmp/iter.lic should_work/iter.lus}
-spawn ./lus2lic -ec -o /tmp/iter.ec should_work/iter.lus
-PASS: ./lus2lic {-ec -o /tmp/iter.ec should_work/iter.lus}
-spawn ./myec2c -o /tmp/iter.c /tmp/iter.ec
-PASS: ./myec2c {-o /tmp/iter.c /tmp/iter.ec}
-spawn ../utils/test_lus2lic_no_node should_work/iter.lus
-+ ./lus2lic should_work/iter.lus -n iter --gen-autotest -np
-_iter_env.lut generated.
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+
+*** Warning: type error, 5 is an int, but a real is expected. I convert it to '5.'
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/test_poly.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/test_poly.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/test_poly.lus
+spawn ./lus2lic -o ./tmp/nc8.lic should_work/nc8.lus
+PASS: ./lus2lic {-o ./tmp/nc8.lic should_work/nc8.lus}
+spawn ./lus2lic -ec -o ./tmp/nc8.ec should_work/nc8.lus
+PASS: ./lus2lic {-ec -o ./tmp/nc8.ec should_work/nc8.lus}
+spawn ./myec2c -o ./tmp/nc8.c ./tmp/nc8.ec
+PASS: ./myec2c {-o ./tmp/nc8.c ./tmp/nc8.ec}
+spawn ../utils/test_lus2lic_no_node should_work/nc8.lus
++ ./lus2lic should_work/nc8.lus -n nc8 --gen-autotest -np
+_nc8_env.lut generated.
+_nc8_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/nc8.lus
++ ./lus2lic should_work/nc8.lus -n nc8 -ec -o nc8.ec
++ echo lus2lic -ec done
+lus2lic -ec done
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:ec:nc8.ec:nc8 -rp env:lutin:_nc8_env.lut -rp oracle:v6:_nc8_oracle.lus:nc8_oracle -go -l 10 -ns2c --stop-on-oracle-error
+RP Variables are compatible.
+quit
+
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/test_lus2lic_no_node should_work/nc8.lus
+spawn ./lus2lic -2c should_work/nc8.lus -n nc8
+nc8_nc8_loop.c has been generated.
+nc8_nc8.h has been generated.
+nc8_nc8.c has been generated.
+you can compile those files doing, e.g.,
+  gcc nc8_nc8.c nc8_nc8_loop.c
+PASS: ./lus2lic {-2c should_work/nc8.lus -n nc8}
+spawn rm -f a.out
+spawn gcc nc8_nc8.c nc8_nc8_loop.c
+PASS: gcc nc8_nc8.c nc8_nc8_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/nc8.lus
++ ./lus2lic should_work/nc8.lus -n nc8 --gen-autotest -np
+_nc8_env.lut generated.
+_nc8_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/nc8.lus
++ ./lus2lic should_work/nc8.lus -n nc8 -2c -cc
+nc8_nc8_loop.c has been generated.
+nc8_nc8.h has been generated.
+nc8_nc8.c has been generated.
+sys call: 'gcc nc8_nc8.c nc8_nc8_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_nc8_env.lut -rp oracle:v6:_nc8_oracle.lus:nc8_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/nc8.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/nc8.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/nc8.lus
+spawn ./lus2lic -o ./tmp/minmax5.lic should_work/minmax5.lus
+PASS: ./lus2lic {-o ./tmp/minmax5.lic should_work/minmax5.lus}
+spawn ./lus2lic -ec -o ./tmp/minmax5.ec should_work/minmax5.lus
+PASS: ./lus2lic {-ec -o ./tmp/minmax5.ec should_work/minmax5.lus}
+spawn ./myec2c -o ./tmp/minmax5.c ./tmp/minmax5.ec
+PASS: ./myec2c {-o ./tmp/minmax5.c ./tmp/minmax5.ec}
+spawn ./lus2lic -2c should_work/minmax5.lus -n minmax5
+minmax5_minmax5_ext.h has been generated.
+minmax5_minmax5_ext.c has been generated.
+minmax5_minmax5_loop.c has been generated.
+minmax5_minmax5.h has been generated.
+minmax5_minmax5.c has been generated.
+you can compile those files doing, e.g.,
+   gcc minmax5_minmax5.c minmax5_minmax5_ext.c minmax5_minmax5_loop.c
+PASS: ./lus2lic {-2c should_work/minmax5.lus -n minmax5}
+spawn rm -f a.out
+spawn gcc minmax5_minmax5.c minmax5_minmax5_ext.c minmax5_minmax5_loop.c
+PASS: gcc minmax5_minmax5.c minmax5_minmax5_ext.c minmax5_minmax5_loop.c 
+spawn ./lus2lic -o ./tmp/mm1.lic should_work/mm1.lus
+PASS: ./lus2lic {-o ./tmp/mm1.lic should_work/mm1.lus}
+spawn ./lus2lic -ec -o ./tmp/mm1.ec should_work/mm1.lus
+PASS: ./lus2lic {-ec -o ./tmp/mm1.ec should_work/mm1.lus}
+spawn ./myec2c -o ./tmp/mm1.c ./tmp/mm1.ec
+PASS: ./myec2c {-o ./tmp/mm1.c ./tmp/mm1.ec}
+spawn ../utils/test_lus2lic_no_node should_work/mm1.lus
++ ./lus2lic should_work/mm1.lus -n mm1 --gen-autotest -np
+_mm1_env.lut generated.
+_mm1_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/mm1.lus
++ ./lus2lic should_work/mm1.lus -n mm1 -ec -o mm1.ec
++ echo lus2lic -ec done
+lus2lic -ec done
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:ec:mm1.ec:mm1 -rp env:lutin:_mm1_env.lut -rp oracle:v6:_mm1_oracle.lus:mm1_oracle -go -l 10 -ns2c --stop-on-oracle-error
+RP Variables are compatible.
+quit
+
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/test_lus2lic_no_node should_work/mm1.lus
+spawn ./lus2lic -2c should_work/mm1.lus -n mm1
+mm1_mm1_loop.c has been generated.
+mm1_mm1.h has been generated.
+mm1_mm1.c has been generated.
+you can compile those files doing, e.g.,
+  gcc mm1_mm1.c mm1_mm1_loop.c
+PASS: ./lus2lic {-2c should_work/mm1.lus -n mm1}
+spawn rm -f a.out
+spawn gcc mm1_mm1.c mm1_mm1_loop.c
+PASS: gcc mm1_mm1.c mm1_mm1_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/mm1.lus
++ ./lus2lic should_work/mm1.lus -n mm1 --gen-autotest -np
+_mm1_env.lut generated.
+_mm1_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/mm1.lus
++ ./lus2lic should_work/mm1.lus -n mm1 -2c -cc
+mm1_mm1_loop.c has been generated.
+mm1_mm1.h has been generated.
+mm1_mm1.c has been generated.
+sys call: 'gcc mm1_mm1.c mm1_mm1_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_mm1_env.lut -rp oracle:v6:_mm1_oracle.lus:mm1_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/mm1.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/mm1.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/mm1.lus
+spawn ./lus2lic -o ./tmp/predef03.lic should_work/predef03.lus
+PASS: ./lus2lic {-o ./tmp/predef03.lic should_work/predef03.lus}
+spawn ./lus2lic -ec -o ./tmp/predef03.ec should_work/predef03.lus
+PASS: ./lus2lic {-ec -o ./tmp/predef03.ec should_work/predef03.lus}
+spawn ./myec2c -o ./tmp/predef03.c ./tmp/predef03.ec
+PASS: ./myec2c {-o ./tmp/predef03.c ./tmp/predef03.ec}
+spawn ../utils/test_lus2lic_no_node should_work/predef03.lus
++ ./lus2lic should_work/predef03.lus -n predef03 --gen-autotest -np
+_predef03_env.lut generated.
+_predef03_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/predef03.lus
++ ./lus2lic should_work/predef03.lus -n predef03 -ec -o predef03.ec
++ echo lus2lic -ec done
+lus2lic -ec done
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:ec:predef03.ec:predef03 -rp env:lutin:_predef03_env.lut -rp oracle:v6:_predef03_oracle.lus:predef03_oracle -go -l 10 -ns2c --stop-on-oracle-error
+RP Variables are compatible.
+quit
+
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo lurettetop ok
+lurettetop ok
+PASS: ../utils/test_lus2lic_no_node should_work/predef03.lus
+spawn ./lus2lic -2c should_work/predef03.lus -n predef03
+predef03_predef03_loop.c has been generated.
+predef03_predef03.h has been generated.
+predef03_predef03.c has been generated.
+you can compile those files doing, e.g.,
+  gcc predef03_predef03.c predef03_predef03_loop.c
+PASS: ./lus2lic {-2c should_work/predef03.lus -n predef03}
+spawn rm -f a.out
+spawn gcc predef03_predef03.c predef03_predef03_loop.c
+PASS: gcc predef03_predef03.c predef03_predef03_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/predef03.lus
++ ./lus2lic should_work/predef03.lus -n predef03 --gen-autotest -np
+_predef03_env.lut generated.
+_predef03_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/predef03.lus
++ ./lus2lic should_work/predef03.lus -n predef03 -2c -cc
+predef03_predef03_loop.c has been generated.
+predef03_predef03.h has been generated.
+predef03_predef03.c has been generated.
+sys call: 'gcc predef03_predef03.c predef03_predef03_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_predef03_env.lut -rp oracle:v6:_predef03_oracle.lus:predef03_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/predef03.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/predef03.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/predef03.lus
+spawn ./lus2lic -o ./tmp/iter.lic should_work/iter.lus
+PASS: ./lus2lic {-o ./tmp/iter.lic should_work/iter.lus}
+spawn ./lus2lic -ec -o ./tmp/iter.ec should_work/iter.lus
+PASS: ./lus2lic {-ec -o ./tmp/iter.ec should_work/iter.lus}
+spawn ./myec2c -o ./tmp/iter.c ./tmp/iter.ec
+PASS: ./myec2c {-o ./tmp/iter.c ./tmp/iter.ec}
+spawn ../utils/test_lus2lic_no_node should_work/iter.lus
++ ./lus2lic should_work/iter.lus -n iter --gen-autotest -np
+_iter_env.lut generated.
 _iter_oracle.lus generated.
 + echo lus2lic --gen-autotest done
 lus2lic --gen-autotest done
@@ -1263,7 +3471,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -1272,40 +3480,102 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/iter.lus
-spawn ./lus2lic -o /tmp/call05.lic should_work/call05.lus
-PASS: ./lus2lic {-o /tmp/call05.lic should_work/call05.lus}
-spawn ./lus2lic -ec -o /tmp/call05.ec should_work/call05.lus
-PASS: ./lus2lic {-ec -o /tmp/call05.ec should_work/call05.lus}
-spawn ./myec2c -o /tmp/call05.c /tmp/call05.ec
-Segmentation fault
-FAIL: Try ec2c on the result: ./myec2c {-o /tmp/call05.c /tmp/call05.ec}
-spawn ./lus2lic -o /tmp/Watch.lic should_work/Watch.lus
-PASS: ./lus2lic {-o /tmp/Watch.lic should_work/Watch.lus}
-spawn ./lus2lic -ec -o /tmp/Watch.ec should_work/Watch.lus
-PASS: ./lus2lic {-ec -o /tmp/Watch.ec should_work/Watch.lus}
-spawn ./myec2c -o /tmp/Watch.c /tmp/Watch.ec
-Segmentation fault
-FAIL: Try ec2c on the result: ./myec2c {-o /tmp/Watch.c /tmp/Watch.ec}
-spawn ./lus2lic -o /tmp/testBoite.lic should_work/testBoite.lus
-PASS: ./lus2lic {-o /tmp/testBoite.lic should_work/testBoite.lus}
-spawn ./lus2lic -ec -o /tmp/testBoite.ec should_work/testBoite.lus
-PASS: ./lus2lic {-ec -o /tmp/testBoite.ec should_work/testBoite.lus}
-spawn ./myec2c -o /tmp/testBoite.c /tmp/testBoite.ec
-PASS: ./myec2c {-o /tmp/testBoite.c /tmp/testBoite.ec}
-spawn ../utils/test_lus2lic_no_node should_work/testBoite.lus
-+ ./lus2lic should_work/testBoite.lus -n testBoite --gen-autotest -np
+spawn ./lus2lic -2c should_work/iter.lus -n iter
+iter_iter_loop.c has been generated.
+iter_iter.h has been generated.
+iter_iter.c has been generated.
+you can compile those files doing, e.g.,
+  gcc iter_iter.c iter_iter_loop.c
+PASS: ./lus2lic {-2c should_work/iter.lus -n iter}
+spawn rm -f a.out
+spawn gcc iter_iter.c iter_iter_loop.c
+PASS: gcc iter_iter.c iter_iter_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/iter.lus
++ ./lus2lic should_work/iter.lus -n iter --gen-autotest -np
+_iter_env.lut generated.
+_iter_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/iter.lus
++ ./lus2lic should_work/iter.lus -n iter -2c -cc
+iter_iter_loop.c has been generated.
+iter_iter.h has been generated.
+iter_iter.c has been generated.
+sys call: 'gcc iter_iter.c iter_iter_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_iter_env.lut -rp oracle:v6:_iter_oracle.lus:iter_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/iter.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/iter.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/iter.lus
+spawn ./lus2lic -o ./tmp/call05.lic should_work/call05.lus
+PASS: ./lus2lic {-o ./tmp/call05.lic should_work/call05.lus}
+spawn ./lus2lic -ec -o ./tmp/call05.ec should_work/call05.lus
+PASS: ./lus2lic {-ec -o ./tmp/call05.ec should_work/call05.lus}
+spawn ./myec2c -o ./tmp/call05.c ./tmp/call05.ec
+PASS: ./myec2c {-o ./tmp/call05.c ./tmp/call05.ec}
+spawn ./lus2lic -2c should_work/call05.lus -n call05
+call05_call05_ext.h has been generated.
+call05_call05_ext.c has been generated.
+call05_call05_loop.c has been generated.
+call05_call05.h has been generated.
+call05_call05.c has been generated.
+you can compile those files doing, e.g.,
+   gcc call05_call05.c call05_call05_ext.c call05_call05_loop.c
+PASS: ./lus2lic {-2c should_work/call05.lus -n call05}
+spawn rm -f a.out
+spawn gcc call05_call05.c call05_call05_ext.c call05_call05_loop.c
+PASS: gcc call05_call05.c call05_call05_ext.c call05_call05_loop.c 
+spawn ./lus2lic -o ./tmp/Watch.lic should_work/Watch.lus
+PASS: ./lus2lic {-o ./tmp/Watch.lic should_work/Watch.lus}
+spawn ./lus2lic -ec -o ./tmp/Watch.ec should_work/Watch.lus
+PASS: ./lus2lic {-ec -o ./tmp/Watch.ec should_work/Watch.lus}
+spawn ./myec2c -o ./tmp/Watch.c ./tmp/Watch.ec
+PASS: ./myec2c {-o ./tmp/Watch.c ./tmp/Watch.ec}
+spawn ./lus2lic -2c should_work/Watch.lus -n Watch
+Watch_Watch_ext.h has been generated.
+Watch_Watch_ext.c has been generated.
+Watch_Watch_loop.c has been generated.
+Watch_Watch.h has been generated.
+Watch_Watch.c has been generated.
+you can compile those files doing, e.g.,
+   gcc Watch_Watch.c Watch_Watch_ext.c Watch_Watch_loop.c
+PASS: ./lus2lic {-2c should_work/Watch.lus -n Watch}
+spawn rm -f a.out
+spawn gcc Watch_Watch.c Watch_Watch_ext.c Watch_Watch_loop.c
+PASS: gcc Watch_Watch.c Watch_Watch_ext.c Watch_Watch_loop.c 
+spawn ./lus2lic -o ./tmp/testBoite.lic should_work/testBoite.lus
+PASS: ./lus2lic {-o ./tmp/testBoite.lic should_work/testBoite.lus}
+spawn ./lus2lic -ec -o ./tmp/testBoite.ec should_work/testBoite.lus
+PASS: ./lus2lic {-ec -o ./tmp/testBoite.ec should_work/testBoite.lus}
+spawn ./myec2c -o ./tmp/testBoite.c ./tmp/testBoite.ec
+PASS: ./myec2c {-o ./tmp/testBoite.c ./tmp/testBoite.ec}
+spawn ./lus2lic -2c should_work/testBoite.lus -n testBoite
 *** Can not find package 'testBoite' in the following packages: 
 ***	 'boite'
-+ echo Error
-Error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/testBoite.lus
-spawn ./lus2lic -o /tmp/node_caller1.lic should_work/node_caller1.lus
-PASS: ./lus2lic {-o /tmp/node_caller1.lic should_work/node_caller1.lus}
-spawn ./lus2lic -ec -o /tmp/node_caller1.ec should_work/node_caller1.lus
-PASS: ./lus2lic {-ec -o /tmp/node_caller1.ec should_work/node_caller1.lus}
-spawn ./myec2c -o /tmp/node_caller1.c /tmp/node_caller1.ec
-PASS: ./myec2c {-o /tmp/node_caller1.c /tmp/node_caller1.ec}
+PASS: ./lus2lic {-2c should_work/testBoite.lus -n testBoite}
+spawn ./lus2lic -o ./tmp/node_caller1.lic should_work/node_caller1.lus
+PASS: ./lus2lic {-o ./tmp/node_caller1.lic should_work/node_caller1.lus}
+spawn ./lus2lic -ec -o ./tmp/node_caller1.ec should_work/node_caller1.lus
+PASS: ./lus2lic {-ec -o ./tmp/node_caller1.ec should_work/node_caller1.lus}
+spawn ./myec2c -o ./tmp/node_caller1.c ./tmp/node_caller1.ec
+PASS: ./myec2c {-o ./tmp/node_caller1.c ./tmp/node_caller1.ec}
 spawn ../utils/test_lus2lic_no_node should_work/node_caller1.lus
 + ./lus2lic should_work/node_caller1.lus -n node_caller1 --gen-autotest -np
 _node_caller1_env.lut generated.
@@ -1322,7 +3592,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -1331,12 +3601,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/node_caller1.lus
-spawn ./lus2lic -o /tmp/nc1.lic should_work/nc1.lus
-PASS: ./lus2lic {-o /tmp/nc1.lic should_work/nc1.lus}
-spawn ./lus2lic -ec -o /tmp/nc1.ec should_work/nc1.lus
-PASS: ./lus2lic {-ec -o /tmp/nc1.ec should_work/nc1.lus}
-spawn ./myec2c -o /tmp/nc1.c /tmp/nc1.ec
-PASS: ./myec2c {-o /tmp/nc1.c /tmp/nc1.ec}
+spawn ./lus2lic -2c should_work/node_caller1.lus -n node_caller1
+node_caller1_node_caller1_loop.c has been generated.
+node_caller1_node_caller1.h has been generated.
+node_caller1_node_caller1.c has been generated.
+you can compile those files doing, e.g.,
+  gcc node_caller1_node_caller1.c node_caller1_node_caller1_loop.c
+PASS: ./lus2lic {-2c should_work/node_caller1.lus -n node_caller1}
+spawn rm -f a.out
+spawn gcc node_caller1_node_caller1.c node_caller1_node_caller1_loop.c
+PASS: gcc node_caller1_node_caller1.c node_caller1_node_caller1_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/node_caller1.lus
++ ./lus2lic should_work/node_caller1.lus -n node_caller1 --gen-autotest -np
+_node_caller1_env.lut generated.
+_node_caller1_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/node_caller1.lus
++ ./lus2lic should_work/node_caller1.lus -n node_caller1 -2c -cc
+node_caller1_node_caller1_loop.c has been generated.
+node_caller1_node_caller1.h has been generated.
+node_caller1_node_caller1.c has been generated.
+sys call: 'gcc node_caller1_node_caller1.c node_caller1_node_caller1_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_node_caller1_env.lut -rp oracle:v6:_node_caller1_oracle.lus:node_caller1_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/node_caller1.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/node_caller1.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/node_caller1.lus
+spawn ./lus2lic -o ./tmp/nc1.lic should_work/nc1.lus
+PASS: ./lus2lic {-o ./tmp/nc1.lic should_work/nc1.lus}
+spawn ./lus2lic -ec -o ./tmp/nc1.ec should_work/nc1.lus
+PASS: ./lus2lic {-ec -o ./tmp/nc1.ec should_work/nc1.lus}
+spawn ./myec2c -o ./tmp/nc1.c ./tmp/nc1.ec
+PASS: ./myec2c {-o ./tmp/nc1.c ./tmp/nc1.ec}
 spawn ../utils/test_lus2lic_no_node should_work/nc1.lus
 + ./lus2lic should_work/nc1.lus -n nc1 --gen-autotest -np
 _nc1_env.lut generated.
@@ -1353,7 +3667,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -1362,12 +3676,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/nc1.lus
-spawn ./lus2lic -o /tmp/test_node_expand2.lic should_work/test_node_expand2.lus
-PASS: ./lus2lic {-o /tmp/test_node_expand2.lic should_work/test_node_expand2.lus}
-spawn ./lus2lic -ec -o /tmp/test_node_expand2.ec should_work/test_node_expand2.lus
-PASS: ./lus2lic {-ec -o /tmp/test_node_expand2.ec should_work/test_node_expand2.lus}
-spawn ./myec2c -o /tmp/test_node_expand2.c /tmp/test_node_expand2.ec
-PASS: ./myec2c {-o /tmp/test_node_expand2.c /tmp/test_node_expand2.ec}
+spawn ./lus2lic -2c should_work/nc1.lus -n nc1
+nc1_nc1_loop.c has been generated.
+nc1_nc1.h has been generated.
+nc1_nc1.c has been generated.
+you can compile those files doing, e.g.,
+  gcc nc1_nc1.c nc1_nc1_loop.c
+PASS: ./lus2lic {-2c should_work/nc1.lus -n nc1}
+spawn rm -f a.out
+spawn gcc nc1_nc1.c nc1_nc1_loop.c
+PASS: gcc nc1_nc1.c nc1_nc1_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/nc1.lus
++ ./lus2lic should_work/nc1.lus -n nc1 --gen-autotest -np
+_nc1_env.lut generated.
+_nc1_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/nc1.lus
++ ./lus2lic should_work/nc1.lus -n nc1 -2c -cc
+nc1_nc1_loop.c has been generated.
+nc1_nc1.h has been generated.
+nc1_nc1.c has been generated.
+sys call: 'gcc nc1_nc1.c nc1_nc1_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_nc1_env.lut -rp oracle:v6:_nc1_oracle.lus:nc1_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/nc1.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/nc1.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/nc1.lus
+spawn ./lus2lic -o ./tmp/test_node_expand2.lic should_work/test_node_expand2.lus
+PASS: ./lus2lic {-o ./tmp/test_node_expand2.lic should_work/test_node_expand2.lus}
+spawn ./lus2lic -ec -o ./tmp/test_node_expand2.ec should_work/test_node_expand2.lus
+PASS: ./lus2lic {-ec -o ./tmp/test_node_expand2.ec should_work/test_node_expand2.lus}
+spawn ./myec2c -o ./tmp/test_node_expand2.c ./tmp/test_node_expand2.ec
+PASS: ./myec2c {-o ./tmp/test_node_expand2.c ./tmp/test_node_expand2.ec}
 spawn ../utils/test_lus2lic_no_node should_work/test_node_expand2.lus
 + ./lus2lic should_work/test_node_expand2.lus -n test_node_expand2 --gen-autotest -np
 _test_node_expand2_env.lut generated.
@@ -1391,12 +3749,51 @@ lurettetop: bye!
 error
 + exit 2
 FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/test_node_expand2.lus
-spawn ./lus2lic -o /tmp/test.lic should_work/test.lus
-PASS: ./lus2lic {-o /tmp/test.lic should_work/test.lus}
-spawn ./lus2lic -ec -o /tmp/test.ec should_work/test.lus
-PASS: ./lus2lic {-ec -o /tmp/test.ec should_work/test.lus}
-spawn ./myec2c -o /tmp/test.c /tmp/test.ec
-PASS: ./myec2c {-o /tmp/test.c /tmp/test.ec}
+spawn ./lus2lic -2c should_work/test_node_expand2.lus -n test_node_expand2
+test_node_expand2_test_node_expand2_loop.c has been generated.
+test_node_expand2_test_node_expand2.h has been generated.
+test_node_expand2_test_node_expand2.c has been generated.
+you can compile those files doing, e.g.,
+  gcc test_node_expand2_test_node_expand2.c test_node_expand2_test_node_expand2_loop.c
+PASS: ./lus2lic {-2c should_work/test_node_expand2.lus -n test_node_expand2}
+spawn rm -f a.out
+spawn gcc test_node_expand2_test_node_expand2.c test_node_expand2_test_node_expand2_loop.c
+PASS: gcc test_node_expand2_test_node_expand2.c test_node_expand2_test_node_expand2_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/test_node_expand2.lus
++ ./lus2lic should_work/test_node_expand2.lus -n test_node_expand2 --gen-autotest -np
+_test_node_expand2_env.lut generated.
+_test_node_expand2_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/test_node_expand2.lus
++ ./lus2lic should_work/test_node_expand2.lus -n test_node_expand2 -2c -cc
+test_node_expand2_test_node_expand2_loop.c has been generated.
+test_node_expand2_test_node_expand2.h has been generated.
+test_node_expand2_test_node_expand2.c has been generated.
+sys call: 'gcc test_node_expand2_test_node_expand2.c test_node_expand2_test_node_expand2_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_test_node_expand2_env.lut -rp oracle:v6:_test_node_expand2_oracle.lus:test_node_expand2_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Failure occured in lurette: int_of_string
+Lurette launched a process that failed (exit 2).
+ 
+break signal catched
+
+lurettetop: bye!
++ echo error
+error
++ exit 2
+FAIL: Try to compare lus2lic -exec and -2c: ../utils/compare_exec_and_2c should_work/test_node_expand2.lus
+spawn ./lus2lic -o ./tmp/test.lic should_work/test.lus
+PASS: ./lus2lic {-o ./tmp/test.lic should_work/test.lus}
+spawn ./lus2lic -ec -o ./tmp/test.ec should_work/test.lus
+PASS: ./lus2lic {-ec -o ./tmp/test.ec should_work/test.lus}
+spawn ./myec2c -o ./tmp/test.c ./tmp/test.ec
+PASS: ./myec2c {-o ./tmp/test.c ./tmp/test.ec}
 spawn ../utils/test_lus2lic_no_node should_work/test.lus
 + ./lus2lic should_work/test.lus -n test --gen-autotest -np
 _test_env.lut generated.
@@ -1410,52 +3807,68 @@ lus2lic -ec done
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
 + ./lurettetop -p 6 -seed 42 -rp sut:ec:test.ec:test -rp env:lutin:_test_env.lut -rp oracle:v6:_test_oracle.lus:test_oracle -go -l 10 -ns2c --stop-on-oracle-error
 RP Variables are compatible.
+quit
 
-*** The oracle returned false at step 1
-Other Oracle outputs that are true: 
-	b3_bis
-	b5_bis
-Oracle outputs that are false: 
-	b4_bis
-	b6_bis
-Oracle inputs: 
-	b1=t
-	b2=f
-	b3=t
-	b4=t
-	b5=t
-	b6=f
 
-*** The oracle returned false at step 1
-Other Oracle outputs that are true: 
-	b3_bis
-	b5_bis
-Oracle outputs that are false: 
-	b4_bis
-	b6_bis
-Oracle inputs: 
-	b1=t
-	b2=f
-	b3=t
-	b4=t
-	b5=t
-	b6=f
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
 
-Lurette launched a process that failed (exit 2).
- 
+lurettetop: bye!
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/test_lus2lic_no_node should_work/test.lus
+spawn ./lus2lic -2c should_work/test.lus -n test
+test_test_loop.c has been generated.
+test_test.h has been generated.
+test_test.c has been generated.
+you can compile those files doing, e.g.,
+  gcc test_test.c test_test_loop.c
+PASS: ./lus2lic {-2c should_work/test.lus -n test}
+spawn rm -f a.out
+spawn gcc test_test.c test_test_loop.c
+PASS: gcc test_test.c test_test_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/test.lus
++ ./lus2lic should_work/test.lus -n test --gen-autotest -np
+_test_env.lut generated.
+_test_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/test.lus
++ ./lus2lic should_work/test.lus -n test -2c -cc
+test_test_loop.c has been generated.
+test_test.h has been generated.
+test_test.c has been generated.
+sys call: 'gcc test_test.c test_test_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_test_env.lut -rp oracle:v6:_test_oracle.lus:test_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
-+ echo error
-error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/test.lus
-spawn ./lus2lic -o /tmp/FALLING_EDGE.lic should_work/FALLING_EDGE.lus
-PASS: ./lus2lic {-o /tmp/FALLING_EDGE.lic should_work/FALLING_EDGE.lus}
-spawn ./lus2lic -ec -o /tmp/FALLING_EDGE.ec should_work/FALLING_EDGE.lus
-PASS: ./lus2lic {-ec -o /tmp/FALLING_EDGE.ec should_work/FALLING_EDGE.lus}
-spawn ./myec2c -o /tmp/FALLING_EDGE.c /tmp/FALLING_EDGE.ec
-PASS: ./myec2c {-o /tmp/FALLING_EDGE.c /tmp/FALLING_EDGE.ec}
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/test.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/test.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/test.lus
+spawn ./lus2lic -o ./tmp/FALLING_EDGE.lic should_work/FALLING_EDGE.lus
+PASS: ./lus2lic {-o ./tmp/FALLING_EDGE.lic should_work/FALLING_EDGE.lus}
+spawn ./lus2lic -ec -o ./tmp/FALLING_EDGE.ec should_work/FALLING_EDGE.lus
+PASS: ./lus2lic {-ec -o ./tmp/FALLING_EDGE.ec should_work/FALLING_EDGE.lus}
+spawn ./myec2c -o ./tmp/FALLING_EDGE.c ./tmp/FALLING_EDGE.ec
+PASS: ./myec2c {-o ./tmp/FALLING_EDGE.c ./tmp/FALLING_EDGE.ec}
 spawn ../utils/test_lus2lic_no_node should_work/FALLING_EDGE.lus
 + ./lus2lic should_work/FALLING_EDGE.lus -n FALLING_EDGE --gen-autotest -np
 _FALLING_EDGE_env.lut generated.
@@ -1472,7 +3885,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -1481,12 +3894,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/FALLING_EDGE.lus
-spawn ./lus2lic -o /tmp/SWITCH.lic should_work/SWITCH.lus
-PASS: ./lus2lic {-o /tmp/SWITCH.lic should_work/SWITCH.lus}
-spawn ./lus2lic -ec -o /tmp/SWITCH.ec should_work/SWITCH.lus
-PASS: ./lus2lic {-ec -o /tmp/SWITCH.ec should_work/SWITCH.lus}
-spawn ./myec2c -o /tmp/SWITCH.c /tmp/SWITCH.ec
-PASS: ./myec2c {-o /tmp/SWITCH.c /tmp/SWITCH.ec}
+spawn ./lus2lic -2c should_work/FALLING_EDGE.lus -n FALLING_EDGE
+FALLING_EDGE_FALLING_EDGE_loop.c has been generated.
+FALLING_EDGE_FALLING_EDGE.h has been generated.
+FALLING_EDGE_FALLING_EDGE.c has been generated.
+you can compile those files doing, e.g.,
+  gcc FALLING_EDGE_FALLING_EDGE.c FALLING_EDGE_FALLING_EDGE_loop.c
+PASS: ./lus2lic {-2c should_work/FALLING_EDGE.lus -n FALLING_EDGE}
+spawn rm -f a.out
+spawn gcc FALLING_EDGE_FALLING_EDGE.c FALLING_EDGE_FALLING_EDGE_loop.c
+PASS: gcc FALLING_EDGE_FALLING_EDGE.c FALLING_EDGE_FALLING_EDGE_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/FALLING_EDGE.lus
++ ./lus2lic should_work/FALLING_EDGE.lus -n FALLING_EDGE --gen-autotest -np
+_FALLING_EDGE_env.lut generated.
+_FALLING_EDGE_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/FALLING_EDGE.lus
++ ./lus2lic should_work/FALLING_EDGE.lus -n FALLING_EDGE -2c -cc
+FALLING_EDGE_FALLING_EDGE_loop.c has been generated.
+FALLING_EDGE_FALLING_EDGE.h has been generated.
+FALLING_EDGE_FALLING_EDGE.c has been generated.
+sys call: 'gcc FALLING_EDGE_FALLING_EDGE.c FALLING_EDGE_FALLING_EDGE_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_FALLING_EDGE_env.lut -rp oracle:v6:_FALLING_EDGE_oracle.lus:FALLING_EDGE_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/FALLING_EDGE.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/FALLING_EDGE.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/FALLING_EDGE.lus
+spawn ./lus2lic -o ./tmp/SWITCH.lic should_work/SWITCH.lus
+PASS: ./lus2lic {-o ./tmp/SWITCH.lic should_work/SWITCH.lus}
+spawn ./lus2lic -ec -o ./tmp/SWITCH.ec should_work/SWITCH.lus
+PASS: ./lus2lic {-ec -o ./tmp/SWITCH.ec should_work/SWITCH.lus}
+spawn ./myec2c -o ./tmp/SWITCH.c ./tmp/SWITCH.ec
+PASS: ./myec2c {-o ./tmp/SWITCH.c ./tmp/SWITCH.ec}
 spawn ../utils/test_lus2lic_no_node should_work/SWITCH.lus
 + ./lus2lic should_work/SWITCH.lus -n SWITCH --gen-autotest -np
 _SWITCH_env.lut generated.
@@ -1503,7 +3960,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -1512,12 +3969,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/SWITCH.lus
-spawn ./lus2lic -o /tmp/cst.lic should_work/cst.lus
-PASS: ./lus2lic {-o /tmp/cst.lic should_work/cst.lus}
-spawn ./lus2lic -ec -o /tmp/cst.ec should_work/cst.lus
-PASS: ./lus2lic {-ec -o /tmp/cst.ec should_work/cst.lus}
-spawn ./myec2c -o /tmp/cst.c /tmp/cst.ec
-PASS: ./myec2c {-o /tmp/cst.c /tmp/cst.ec}
+spawn ./lus2lic -2c should_work/SWITCH.lus -n SWITCH
+SWITCH_SWITCH_loop.c has been generated.
+SWITCH_SWITCH.h has been generated.
+SWITCH_SWITCH.c has been generated.
+you can compile those files doing, e.g.,
+  gcc SWITCH_SWITCH.c SWITCH_SWITCH_loop.c
+PASS: ./lus2lic {-2c should_work/SWITCH.lus -n SWITCH}
+spawn rm -f a.out
+spawn gcc SWITCH_SWITCH.c SWITCH_SWITCH_loop.c
+PASS: gcc SWITCH_SWITCH.c SWITCH_SWITCH_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/SWITCH.lus
++ ./lus2lic should_work/SWITCH.lus -n SWITCH --gen-autotest -np
+_SWITCH_env.lut generated.
+_SWITCH_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/SWITCH.lus
++ ./lus2lic should_work/SWITCH.lus -n SWITCH -2c -cc
+SWITCH_SWITCH_loop.c has been generated.
+SWITCH_SWITCH.h has been generated.
+SWITCH_SWITCH.c has been generated.
+sys call: 'gcc SWITCH_SWITCH.c SWITCH_SWITCH_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_SWITCH_env.lut -rp oracle:v6:_SWITCH_oracle.lus:SWITCH_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/SWITCH.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/SWITCH.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/SWITCH.lus
+spawn ./lus2lic -o ./tmp/cst.lic should_work/cst.lus
+PASS: ./lus2lic {-o ./tmp/cst.lic should_work/cst.lus}
+spawn ./lus2lic -ec -o ./tmp/cst.ec should_work/cst.lus
+PASS: ./lus2lic {-ec -o ./tmp/cst.ec should_work/cst.lus}
+spawn ./myec2c -o ./tmp/cst.c ./tmp/cst.ec
+PASS: ./myec2c {-o ./tmp/cst.c ./tmp/cst.ec}
 spawn ../utils/test_lus2lic_no_node should_work/cst.lus
 + ./lus2lic should_work/cst.lus -n cst --gen-autotest -np
 _cst_env.lut generated.
@@ -1534,7 +4035,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -1543,32 +4044,74 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/cst.lus
-spawn ./lus2lic -o /tmp/minmax5_random.lic should_work/minmax5_random.lus
-PASS: ./lus2lic {-o /tmp/minmax5_random.lic should_work/minmax5_random.lus}
-spawn ./lus2lic -ec -o /tmp/minmax5_random.ec should_work/minmax5_random.lus
-PASS: ./lus2lic {-ec -o /tmp/minmax5_random.ec should_work/minmax5_random.lus}
-spawn ./myec2c -o /tmp/minmax5_random.c /tmp/minmax5_random.ec
-PASS: ./myec2c {-o /tmp/minmax5_random.c /tmp/minmax5_random.ec}
-spawn ../utils/test_lus2lic_no_node should_work/minmax5_random.lus
-+ ./lus2lic should_work/minmax5_random.lus -n minmax5_random --gen-autotest -np
-*** The soc of minmax5_random::minmax is not defined. FINISH ME! 
-Extern node not yet supported, sorry
+spawn ./lus2lic -2c should_work/cst.lus -n cst
+cst_cst_loop.c has been generated.
+cst_cst.h has been generated.
+cst_cst.c has been generated.
+you can compile those files doing, e.g.,
+  gcc cst_cst.c cst_cst_loop.c
+PASS: ./lus2lic {-2c should_work/cst.lus -n cst}
+spawn rm -f a.out
+spawn gcc cst_cst.c cst_cst_loop.c
+PASS: gcc cst_cst.c cst_cst_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/cst.lus
++ ./lus2lic should_work/cst.lus -n cst --gen-autotest -np
+_cst_env.lut generated.
+_cst_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/cst.lus
++ ./lus2lic should_work/cst.lus -n cst -2c -cc
+cst_cst_loop.c has been generated.
+cst_cst.h has been generated.
+cst_cst.c has been generated.
+sys call: 'gcc cst_cst.c cst_cst_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_cst_env.lut -rp oracle:v6:_cst_oracle.lus:cst_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
 
-*** oops: lus2lic internal error
-	File "src/lic2soc.ml", line 898, column 14
-*** when compiling lustre program should_work/minmax5_random.lus
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
 
-*** You migth want to sent a bug report to jahier@imag.fr
-+ echo Error
-Error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/minmax5_random.lus
-spawn ./lus2lic -o /tmp/matrice2.lic should_work/matrice2.lus
-PASS: ./lus2lic {-o /tmp/matrice2.lic should_work/matrice2.lus}
-spawn ./lus2lic -ec -o /tmp/matrice2.ec should_work/matrice2.lus
-PASS: ./lus2lic {-ec -o /tmp/matrice2.ec should_work/matrice2.lus}
-spawn ./myec2c -o /tmp/matrice2.c /tmp/matrice2.ec
-PASS: ./myec2c {-o /tmp/matrice2.c /tmp/matrice2.ec}
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/cst.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/cst.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/cst.lus
+spawn ./lus2lic -o ./tmp/minmax5_random.lic should_work/minmax5_random.lus
+PASS: ./lus2lic {-o ./tmp/minmax5_random.lic should_work/minmax5_random.lus}
+spawn ./lus2lic -ec -o ./tmp/minmax5_random.ec should_work/minmax5_random.lus
+PASS: ./lus2lic {-ec -o ./tmp/minmax5_random.ec should_work/minmax5_random.lus}
+spawn ./myec2c -o ./tmp/minmax5_random.c ./tmp/minmax5_random.ec
+PASS: ./myec2c {-o ./tmp/minmax5_random.c ./tmp/minmax5_random.ec}
+spawn ./lus2lic -2c should_work/minmax5_random.lus -n minmax5_random
+minmax5_random_minmax5_random_ext.h has been generated.
+minmax5_random_minmax5_random_ext.c has been generated.
+minmax5_random_minmax5_random_loop.c has been generated.
+minmax5_random_minmax5_random.h has been generated.
+minmax5_random_minmax5_random.c has been generated.
+you can compile those files doing, e.g.,
+   gcc minmax5_random_minmax5_random.c minmax5_random_minmax5_random_ext.c minmax5_random_minmax5_random_loop.c
+PASS: ./lus2lic {-2c should_work/minmax5_random.lus -n minmax5_random}
+spawn rm -f a.out
+spawn gcc minmax5_random_minmax5_random.c minmax5_random_minmax5_random_ext.c minmax5_random_minmax5_random_loop.c
+PASS: gcc minmax5_random_minmax5_random.c minmax5_random_minmax5_random_ext.c minmax5_random_minmax5_random_loop.c 
+spawn ./lus2lic -o ./tmp/matrice2.lic should_work/matrice2.lus
+PASS: ./lus2lic {-o ./tmp/matrice2.lic should_work/matrice2.lus}
+spawn ./lus2lic -ec -o ./tmp/matrice2.ec should_work/matrice2.lus
+PASS: ./lus2lic {-ec -o ./tmp/matrice2.ec should_work/matrice2.lus}
+spawn ./myec2c -o ./tmp/matrice2.c ./tmp/matrice2.ec
+PASS: ./myec2c {-o ./tmp/matrice2.c ./tmp/matrice2.ec}
 spawn ../utils/test_lus2lic_no_node should_work/matrice2.lus
 + ./lus2lic should_work/matrice2.lus -n matrice2 --gen-autotest -np
 _matrice2_env.lut generated.
@@ -1580,26 +4123,70 @@ lus2lic --gen-autotest done
 + echo lus2lic -ec done
 lus2lic -ec done
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:matrice2.ec:matrice2 -rp env:lutin:_matrice2_env.lut -rp oracle:v6:_matrice2_oracle.lus:matrice2_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./lurettetop -p 6 -seed 42 -rp sut:ec:matrice2.ec:matrice2 -rp env:lutin:_matrice2_env.lut -rp oracle:v6:_matrice2_oracle.lus:matrice2_oracle -go -l 10 -ns2c --stop-on-oracle-error
+RP Variables are compatible.
+quit
+
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/test_lus2lic_no_node should_work/matrice2.lus
+spawn ./lus2lic -2c should_work/matrice2.lus -n matrice2
+matrice2_matrice2_loop.c has been generated.
+matrice2_matrice2.h has been generated.
+matrice2_matrice2.c has been generated.
+you can compile those files doing, e.g.,
+  gcc matrice2_matrice2.c matrice2_matrice2_loop.c
+PASS: ./lus2lic {-2c should_work/matrice2.lus -n matrice2}
+spawn rm -f a.out
+spawn gcc matrice2_matrice2.c matrice2_matrice2_loop.c
+PASS: gcc matrice2_matrice2.c matrice2_matrice2_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/matrice2.lus
++ ./lus2lic should_work/matrice2.lus -n matrice2 --gen-autotest -np
+_matrice2_env.lut generated.
+_matrice2_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/matrice2.lus
++ ./lus2lic should_work/matrice2.lus -n matrice2 -2c -cc
+matrice2_matrice2_loop.c has been generated.
+matrice2_matrice2.h has been generated.
+matrice2_matrice2.c has been generated.
+sys call: 'gcc matrice2_matrice2.c matrice2_matrice2_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_matrice2_env.lut -rp oracle:v6:_matrice2_oracle.lus:matrice2_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
 RP Variables are compatible.
-quit
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
 
-
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/matrice2.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/matrice2.lus: ok
 + echo lurettetop ok
 lurettetop ok
 + exit 0
-PASS: ../utils/test_lus2lic_no_node should_work/matrice2.lus
-spawn ./lus2lic -o /tmp/v1.lic should_work/v1.lus
-PASS: ./lus2lic {-o /tmp/v1.lic should_work/v1.lus}
-spawn ./lus2lic -ec -o /tmp/v1.ec should_work/v1.lus
-PASS: ./lus2lic {-ec -o /tmp/v1.ec should_work/v1.lus}
-spawn ./myec2c -o /tmp/v1.c /tmp/v1.ec
-PASS: ./myec2c {-o /tmp/v1.c /tmp/v1.ec}
+PASS: ../utils/compare_exec_and_2c should_work/matrice2.lus
+spawn ./lus2lic -o ./tmp/v1.lic should_work/v1.lus
+PASS: ./lus2lic {-o ./tmp/v1.lic should_work/v1.lus}
+spawn ./lus2lic -ec -o ./tmp/v1.ec should_work/v1.lus
+PASS: ./lus2lic {-ec -o ./tmp/v1.ec should_work/v1.lus}
+spawn ./myec2c -o ./tmp/v1.c ./tmp/v1.ec
+PASS: ./myec2c {-o ./tmp/v1.c ./tmp/v1.ec}
 spawn ../utils/test_lus2lic_no_node should_work/v1.lus
 + ./lus2lic should_work/v1.lus -n v1 --gen-autotest -np
 _v1_env.lut generated.
@@ -1616,7 +4203,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -1625,43 +4212,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/v1.lus
-spawn ./lus2lic -o /tmp/ply02.lic should_work/ply02.lus
-PASS: ./lus2lic {-o /tmp/ply02.lic should_work/ply02.lus}
-spawn ./lus2lic -ec -o /tmp/ply02.ec should_work/ply02.lus
-PASS: ./lus2lic {-ec -o /tmp/ply02.ec should_work/ply02.lus}
-spawn ./myec2c -o /tmp/ply02.c /tmp/ply02.ec
-PASS: ./myec2c {-o /tmp/ply02.c /tmp/ply02.ec}
-spawn ../utils/test_lus2lic_no_node should_work/ply02.lus
-+ ./lus2lic should_work/ply02.lus -n ply02 --gen-autotest -np
-_ply02_env.lut generated.
-_ply02_oracle.lus generated.
+spawn ./lus2lic -2c should_work/v1.lus -n v1
+v1_v1_loop.c has been generated.
+v1_v1.h has been generated.
+v1_v1.c has been generated.
+you can compile those files doing, e.g.,
+  gcc v1_v1.c v1_v1_loop.c
+PASS: ./lus2lic {-2c should_work/v1.lus -n v1}
+spawn rm -f a.out
+spawn gcc v1_v1.c v1_v1_loop.c
+PASS: gcc v1_v1.c v1_v1_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/v1.lus
++ ./lus2lic should_work/v1.lus -n v1 --gen-autotest -np
+_v1_env.lut generated.
+_v1_oracle.lus generated.
 + echo lus2lic --gen-autotest done
 lus2lic --gen-autotest done
-+ cat should_work/ply02.lus
-+ ./lus2lic should_work/ply02.lus -n ply02 -ec -o ply02.ec
-+ echo lus2lic -ec done
-lus2lic -ec done
++ cat should_work/v1.lus
++ ./lus2lic should_work/v1.lus -n v1 -2c -cc
+v1_v1_loop.c has been generated.
+v1_v1.h has been generated.
+v1_v1.c has been generated.
+sys call: 'gcc v1_v1.c v1_v1_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:ply02.ec:ply02 -rp env:lutin:_ply02_env.lut -rp oracle:v6:_ply02_oracle.lus:ply02_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_v1_env.lut -rp oracle:v6:_v1_oracle.lus:v1_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
 RP Variables are compatible.
-quit
-
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/v1.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/v1.lus: ok
 + echo lurettetop ok
 lurettetop ok
 + exit 0
-PASS: ../utils/test_lus2lic_no_node should_work/ply02.lus
-spawn ./lus2lic -o /tmp/call04.lic should_work/call04.lus
-PASS: ./lus2lic {-o /tmp/call04.lic should_work/call04.lus}
-spawn ./lus2lic -ec -o /tmp/call04.ec should_work/call04.lus
-PASS: ./lus2lic {-ec -o /tmp/call04.ec should_work/call04.lus}
-spawn ./myec2c -o /tmp/call04.c /tmp/call04.ec
-PASS: ./myec2c {-o /tmp/call04.c /tmp/call04.ec}
+PASS: ../utils/compare_exec_and_2c should_work/v1.lus
+spawn ./lus2lic -o ./tmp/call04.lic should_work/call04.lus
+PASS: ./lus2lic {-o ./tmp/call04.lic should_work/call04.lus}
+spawn ./lus2lic -ec -o ./tmp/call04.ec should_work/call04.lus
+PASS: ./lus2lic {-ec -o ./tmp/call04.ec should_work/call04.lus}
+spawn ./myec2c -o ./tmp/call04.c ./tmp/call04.ec
+PASS: ./myec2c {-o ./tmp/call04.c ./tmp/call04.ec}
 spawn ../utils/test_lus2lic_no_node should_work/call04.lus
 + ./lus2lic should_work/call04.lus -n call04 --gen-autotest -np
 _call04_env.lut generated.
@@ -1678,7 +4278,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -1687,12 +4287,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/call04.lus
-spawn ./lus2lic -o /tmp/bascule.lic should_work/bascule.lus
-PASS: ./lus2lic {-o /tmp/bascule.lic should_work/bascule.lus}
-spawn ./lus2lic -ec -o /tmp/bascule.ec should_work/bascule.lus
-PASS: ./lus2lic {-ec -o /tmp/bascule.ec should_work/bascule.lus}
-spawn ./myec2c -o /tmp/bascule.c /tmp/bascule.ec
-PASS: ./myec2c {-o /tmp/bascule.c /tmp/bascule.ec}
+spawn ./lus2lic -2c should_work/call04.lus -n call04
+call04_call04_loop.c has been generated.
+call04_call04.h has been generated.
+call04_call04.c has been generated.
+you can compile those files doing, e.g.,
+  gcc call04_call04.c call04_call04_loop.c
+PASS: ./lus2lic {-2c should_work/call04.lus -n call04}
+spawn rm -f a.out
+spawn gcc call04_call04.c call04_call04_loop.c
+PASS: gcc call04_call04.c call04_call04_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/call04.lus
++ ./lus2lic should_work/call04.lus -n call04 --gen-autotest -np
+_call04_env.lut generated.
+_call04_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/call04.lus
++ ./lus2lic should_work/call04.lus -n call04 -2c -cc
+call04_call04_loop.c has been generated.
+call04_call04.h has been generated.
+call04_call04.c has been generated.
+sys call: 'gcc call04_call04.c call04_call04_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_call04_env.lut -rp oracle:v6:_call04_oracle.lus:call04_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/call04.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/call04.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/call04.lus
+spawn ./lus2lic -o ./tmp/bascule.lic should_work/bascule.lus
+PASS: ./lus2lic {-o ./tmp/bascule.lic should_work/bascule.lus}
+spawn ./lus2lic -ec -o ./tmp/bascule.ec should_work/bascule.lus
+PASS: ./lus2lic {-ec -o ./tmp/bascule.ec should_work/bascule.lus}
+spawn ./myec2c -o ./tmp/bascule.c ./tmp/bascule.ec
+PASS: ./myec2c {-o ./tmp/bascule.c ./tmp/bascule.ec}
 spawn ../utils/test_lus2lic_no_node should_work/bascule.lus
 + ./lus2lic should_work/bascule.lus -n bascule --gen-autotest -np
 _bascule_env.lut generated.
@@ -1709,7 +4353,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -1718,12 +4362,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/bascule.lus
-spawn ./lus2lic -o /tmp/double_delay.lic should_work/double_delay.lus
-PASS: ./lus2lic {-o /tmp/double_delay.lic should_work/double_delay.lus}
-spawn ./lus2lic -ec -o /tmp/double_delay.ec should_work/double_delay.lus
-PASS: ./lus2lic {-ec -o /tmp/double_delay.ec should_work/double_delay.lus}
-spawn ./myec2c -o /tmp/double_delay.c /tmp/double_delay.ec
-PASS: ./myec2c {-o /tmp/double_delay.c /tmp/double_delay.ec}
+spawn ./lus2lic -2c should_work/bascule.lus -n bascule
+bascule_bascule_loop.c has been generated.
+bascule_bascule.h has been generated.
+bascule_bascule.c has been generated.
+you can compile those files doing, e.g.,
+  gcc bascule_bascule.c bascule_bascule_loop.c
+PASS: ./lus2lic {-2c should_work/bascule.lus -n bascule}
+spawn rm -f a.out
+spawn gcc bascule_bascule.c bascule_bascule_loop.c
+PASS: gcc bascule_bascule.c bascule_bascule_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/bascule.lus
++ ./lus2lic should_work/bascule.lus -n bascule --gen-autotest -np
+_bascule_env.lut generated.
+_bascule_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/bascule.lus
++ ./lus2lic should_work/bascule.lus -n bascule -2c -cc
+bascule_bascule_loop.c has been generated.
+bascule_bascule.h has been generated.
+bascule_bascule.c has been generated.
+sys call: 'gcc bascule_bascule.c bascule_bascule_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_bascule_env.lut -rp oracle:v6:_bascule_oracle.lus:bascule_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/bascule.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/bascule.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/bascule.lus
+spawn ./lus2lic -o ./tmp/double_delay.lic should_work/double_delay.lus
+PASS: ./lus2lic {-o ./tmp/double_delay.lic should_work/double_delay.lus}
+spawn ./lus2lic -ec -o ./tmp/double_delay.ec should_work/double_delay.lus
+PASS: ./lus2lic {-ec -o ./tmp/double_delay.ec should_work/double_delay.lus}
+spawn ./myec2c -o ./tmp/double_delay.c ./tmp/double_delay.ec
+PASS: ./myec2c {-o ./tmp/double_delay.c ./tmp/double_delay.ec}
 spawn ../utils/test_lus2lic_no_node should_work/double_delay.lus
 + ./lus2lic should_work/double_delay.lus -n double_delay --gen-autotest -np
 _double_delay_env.lut generated.
@@ -1740,7 +4428,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -1749,25 +4437,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/double_delay.lus
-spawn ./lus2lic -o /tmp/modes3x2-v2.lic should_work/modes3x2-v2.lus
-PASS: ./lus2lic {-o /tmp/modes3x2-v2.lic should_work/modes3x2-v2.lus}
-spawn ./lus2lic -ec -o /tmp/modes3x2-v2.ec should_work/modes3x2-v2.lus
-PASS: ./lus2lic {-ec -o /tmp/modes3x2-v2.ec should_work/modes3x2-v2.lus}
-spawn ./myec2c -o /tmp/modes3x2-v2.c /tmp/modes3x2-v2.ec
-PASS: ./myec2c {-o /tmp/modes3x2-v2.c /tmp/modes3x2-v2.ec}
-spawn ../utils/test_lus2lic_no_node should_work/modes3x2-v2.lus
-+ ./lus2lic should_work/modes3x2-v2.lus -n modes3x2-v2 --gen-autotest -np
-Error. Can not find node modes3x2-v2 in dummy
-+ echo Error
-Error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/modes3x2-v2.lus
-spawn ./lus2lic -o /tmp/struct_with.lic should_work/struct_with.lus
-PASS: ./lus2lic {-o /tmp/struct_with.lic should_work/struct_with.lus}
-spawn ./lus2lic -ec -o /tmp/struct_with.ec should_work/struct_with.lus
-PASS: ./lus2lic {-ec -o /tmp/struct_with.ec should_work/struct_with.lus}
-spawn ./myec2c -o /tmp/struct_with.c /tmp/struct_with.ec
-PASS: ./myec2c {-o /tmp/struct_with.c /tmp/struct_with.ec}
+spawn ./lus2lic -2c should_work/double_delay.lus -n double_delay
+double_delay_double_delay_loop.c has been generated.
+double_delay_double_delay.h has been generated.
+double_delay_double_delay.c has been generated.
+you can compile those files doing, e.g.,
+  gcc double_delay_double_delay.c double_delay_double_delay_loop.c
+PASS: ./lus2lic {-2c should_work/double_delay.lus -n double_delay}
+spawn rm -f a.out
+spawn gcc double_delay_double_delay.c double_delay_double_delay_loop.c
+PASS: gcc double_delay_double_delay.c double_delay_double_delay_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/double_delay.lus
++ ./lus2lic should_work/double_delay.lus -n double_delay --gen-autotest -np
+_double_delay_env.lut generated.
+_double_delay_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/double_delay.lus
++ ./lus2lic should_work/double_delay.lus -n double_delay -2c -cc
+double_delay_double_delay_loop.c has been generated.
+double_delay_double_delay.h has been generated.
+double_delay_double_delay.c has been generated.
+sys call: 'gcc double_delay_double_delay.c double_delay_double_delay_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_double_delay_env.lut -rp oracle:v6:_double_delay_oracle.lus:double_delay_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/double_delay.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/double_delay.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/double_delay.lus
+spawn ./lus2lic -o ./tmp/struct_with.lic should_work/struct_with.lus
+PASS: ./lus2lic {-o ./tmp/struct_with.lic should_work/struct_with.lus}
+spawn ./lus2lic -ec -o ./tmp/struct_with.ec should_work/struct_with.lus
+PASS: ./lus2lic {-ec -o ./tmp/struct_with.ec should_work/struct_with.lus}
+spawn ./myec2c -o ./tmp/struct_with.c ./tmp/struct_with.ec
+PASS: ./myec2c {-o ./tmp/struct_with.c ./tmp/struct_with.ec}
 spawn ../utils/test_lus2lic_no_node should_work/struct_with.lus
 + ./lus2lic should_work/struct_with.lus -n struct_with --gen-autotest -np
 _struct_with_env.lut generated.
@@ -1784,7 +4503,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -1793,12 +4512,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/struct_with.lus
-spawn ./lus2lic -o /tmp/test_node_expand.lic should_work/test_node_expand.lus
-PASS: ./lus2lic {-o /tmp/test_node_expand.lic should_work/test_node_expand.lus}
-spawn ./lus2lic -ec -o /tmp/test_node_expand.ec should_work/test_node_expand.lus
-PASS: ./lus2lic {-ec -o /tmp/test_node_expand.ec should_work/test_node_expand.lus}
-spawn ./myec2c -o /tmp/test_node_expand.c /tmp/test_node_expand.ec
-PASS: ./myec2c {-o /tmp/test_node_expand.c /tmp/test_node_expand.ec}
+spawn ./lus2lic -2c should_work/struct_with.lus -n struct_with
+struct_with_struct_with_loop.c has been generated.
+struct_with_struct_with.h has been generated.
+struct_with_struct_with.c has been generated.
+you can compile those files doing, e.g.,
+  gcc struct_with_struct_with.c struct_with_struct_with_loop.c
+PASS: ./lus2lic {-2c should_work/struct_with.lus -n struct_with}
+spawn rm -f a.out
+spawn gcc struct_with_struct_with.c struct_with_struct_with_loop.c
+PASS: gcc struct_with_struct_with.c struct_with_struct_with_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/struct_with.lus
++ ./lus2lic should_work/struct_with.lus -n struct_with --gen-autotest -np
+_struct_with_env.lut generated.
+_struct_with_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/struct_with.lus
++ ./lus2lic should_work/struct_with.lus -n struct_with -2c -cc
+struct_with_struct_with_loop.c has been generated.
+struct_with_struct_with.h has been generated.
+struct_with_struct_with.c has been generated.
+sys call: 'gcc struct_with_struct_with.c struct_with_struct_with_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_struct_with_env.lut -rp oracle:v6:_struct_with_oracle.lus:struct_with_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/struct_with.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/struct_with.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/struct_with.lus
+spawn ./lus2lic -o ./tmp/test_node_expand.lic should_work/test_node_expand.lus
+PASS: ./lus2lic {-o ./tmp/test_node_expand.lic should_work/test_node_expand.lus}
+spawn ./lus2lic -ec -o ./tmp/test_node_expand.ec should_work/test_node_expand.lus
+PASS: ./lus2lic {-ec -o ./tmp/test_node_expand.ec should_work/test_node_expand.lus}
+spawn ./myec2c -o ./tmp/test_node_expand.c ./tmp/test_node_expand.ec
+PASS: ./myec2c {-o ./tmp/test_node_expand.c ./tmp/test_node_expand.ec}
 spawn ../utils/test_lus2lic_no_node should_work/test_node_expand.lus
 + ./lus2lic should_work/test_node_expand.lus -n test_node_expand --gen-autotest -np
 _test_node_expand_env.lut generated.
@@ -1822,12 +4585,51 @@ lurettetop: bye!
 error
 + exit 2
 FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/test_node_expand.lus
-spawn ./lus2lic -o /tmp/mm22.lic should_work/mm22.lus
-PASS: ./lus2lic {-o /tmp/mm22.lic should_work/mm22.lus}
-spawn ./lus2lic -ec -o /tmp/mm22.ec should_work/mm22.lus
-PASS: ./lus2lic {-ec -o /tmp/mm22.ec should_work/mm22.lus}
-spawn ./myec2c -o /tmp/mm22.c /tmp/mm22.ec
-PASS: ./myec2c {-o /tmp/mm22.c /tmp/mm22.ec}
+spawn ./lus2lic -2c should_work/test_node_expand.lus -n test_node_expand
+test_node_expand_test_node_expand_loop.c has been generated.
+test_node_expand_test_node_expand.h has been generated.
+test_node_expand_test_node_expand.c has been generated.
+you can compile those files doing, e.g.,
+  gcc test_node_expand_test_node_expand.c test_node_expand_test_node_expand_loop.c
+PASS: ./lus2lic {-2c should_work/test_node_expand.lus -n test_node_expand}
+spawn rm -f a.out
+spawn gcc test_node_expand_test_node_expand.c test_node_expand_test_node_expand_loop.c
+PASS: gcc test_node_expand_test_node_expand.c test_node_expand_test_node_expand_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/test_node_expand.lus
++ ./lus2lic should_work/test_node_expand.lus -n test_node_expand --gen-autotest -np
+_test_node_expand_env.lut generated.
+_test_node_expand_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/test_node_expand.lus
++ ./lus2lic should_work/test_node_expand.lus -n test_node_expand -2c -cc
+test_node_expand_test_node_expand_loop.c has been generated.
+test_node_expand_test_node_expand.h has been generated.
+test_node_expand_test_node_expand.c has been generated.
+sys call: 'gcc test_node_expand_test_node_expand.c test_node_expand_test_node_expand_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_test_node_expand_env.lut -rp oracle:v6:_test_node_expand_oracle.lus:test_node_expand_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Failure occured in lurette: int_of_string
+Lurette launched a process that failed (exit 2).
+ 
+break signal catched
+
+lurettetop: bye!
++ echo error
+error
++ exit 2
+FAIL: Try to compare lus2lic -exec and -2c: ../utils/compare_exec_and_2c should_work/test_node_expand.lus
+spawn ./lus2lic -o ./tmp/mm22.lic should_work/mm22.lus
+PASS: ./lus2lic {-o ./tmp/mm22.lic should_work/mm22.lus}
+spawn ./lus2lic -ec -o ./tmp/mm22.ec should_work/mm22.lus
+PASS: ./lus2lic {-ec -o ./tmp/mm22.ec should_work/mm22.lus}
+spawn ./myec2c -o ./tmp/mm22.c ./tmp/mm22.ec
+PASS: ./myec2c {-o ./tmp/mm22.c ./tmp/mm22.ec}
 spawn ../utils/test_lus2lic_no_node should_work/mm22.lus
 + ./lus2lic should_work/mm22.lus -n mm22 --gen-autotest -np
 _mm22_env.lut generated.
@@ -1844,7 +4646,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -1853,12 +4655,108 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/mm22.lus
-spawn ./lus2lic -o /tmp/is_stable.lic should_work/is_stable.lus
-PASS: ./lus2lic {-o /tmp/is_stable.lic should_work/is_stable.lus}
-spawn ./lus2lic -ec -o /tmp/is_stable.ec should_work/is_stable.lus
-PASS: ./lus2lic {-ec -o /tmp/is_stable.ec should_work/is_stable.lus}
-spawn ./myec2c -o /tmp/is_stable.c /tmp/is_stable.ec
-PASS: ./myec2c {-o /tmp/is_stable.c /tmp/is_stable.ec}
+spawn ./lus2lic -2c should_work/mm22.lus -n mm22
+mm22_mm22_loop.c has been generated.
+mm22_mm22.h has been generated.
+mm22_mm22.c has been generated.
+you can compile those files doing, e.g.,
+  gcc mm22_mm22.c mm22_mm22_loop.c
+PASS: ./lus2lic {-2c should_work/mm22.lus -n mm22}
+spawn rm -f a.out
+spawn gcc mm22_mm22.c mm22_mm22_loop.c
+PASS: gcc mm22_mm22.c mm22_mm22_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/mm22.lus
++ ./lus2lic should_work/mm22.lus -n mm22 --gen-autotest -np
+_mm22_env.lut generated.
+_mm22_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/mm22.lus
++ ./lus2lic should_work/mm22.lus -n mm22 -2c -cc
+mm22_mm22_loop.c has been generated.
+mm22_mm22.h has been generated.
+mm22_mm22.c has been generated.
+sys call: 'gcc mm22_mm22.c mm22_mm22_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_mm22_env.lut -rp oracle:v6:_mm22_oracle.lus:mm22_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/mm22.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/mm22.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/mm22.lus
+spawn ./lus2lic -o ./tmp/array_concat2.lic should_work/array_concat2.lus
+PASS: ./lus2lic {-o ./tmp/array_concat2.lic should_work/array_concat2.lus}
+spawn ./lus2lic -ec -o ./tmp/array_concat2.ec should_work/array_concat2.lus
+PASS: ./lus2lic {-ec -o ./tmp/array_concat2.ec should_work/array_concat2.lus}
+spawn ./myec2c -o ./tmp/array_concat2.c ./tmp/array_concat2.ec
+syntax error     - at line 30
+syntax errors...
+FAIL: Try ec2c on the result: ./myec2c {-o ./tmp/array_concat2.c ./tmp/array_concat2.ec}
+spawn ./lus2lic -2c should_work/array_concat2.lus -n array_concat2
+array_concat2_array_concat2_loop.c has been generated.
+array_concat2_array_concat2.h has been generated.
+array_concat2_array_concat2.c has been generated.
+you can compile those files doing, e.g.,
+  gcc array_concat2_array_concat2.c array_concat2_array_concat2_loop.c
+PASS: ./lus2lic {-2c should_work/array_concat2.lus -n array_concat2}
+spawn rm -f a.out
+spawn gcc array_concat2_array_concat2.c array_concat2_array_concat2_loop.c
+PASS: gcc array_concat2_array_concat2.c array_concat2_array_concat2_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/array_concat2.lus
++ ./lus2lic should_work/array_concat2.lus -n array_concat2 --gen-autotest -np
+_array_concat2_env.lut generated.
+_array_concat2_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/array_concat2.lus
++ ./lus2lic should_work/array_concat2.lus -n array_concat2 -2c -cc
+array_concat2_array_concat2_loop.c has been generated.
+array_concat2_array_concat2.h has been generated.
+array_concat2_array_concat2.c has been generated.
+sys call: 'gcc array_concat2_array_concat2.c array_concat2_array_concat2_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_array_concat2_env.lut -rp oracle:v6:_array_concat2_oracle.lus:array_concat2_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/array_concat2.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/array_concat2.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/array_concat2.lus
+spawn ./lus2lic -o ./tmp/is_stable.lic should_work/is_stable.lus
+PASS: ./lus2lic {-o ./tmp/is_stable.lic should_work/is_stable.lus}
+spawn ./lus2lic -ec -o ./tmp/is_stable.ec should_work/is_stable.lus
+PASS: ./lus2lic {-ec -o ./tmp/is_stable.ec should_work/is_stable.lus}
+spawn ./myec2c -o ./tmp/is_stable.c ./tmp/is_stable.ec
+PASS: ./myec2c {-o ./tmp/is_stable.c ./tmp/is_stable.ec}
 spawn ../utils/test_lus2lic_no_node should_work/is_stable.lus
 + ./lus2lic should_work/is_stable.lus -n is_stable --gen-autotest -np
 _is_stable_env.lut generated.
@@ -1875,7 +4773,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -1884,42 +4782,78 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/is_stable.lus
-spawn ./lus2lic -o /tmp/test_clash.lic should_work/test_clash.lus
-PASS: ./lus2lic {-o /tmp/test_clash.lic should_work/test_clash.lus}
-spawn ./lus2lic -ec -o /tmp/test_clash.ec should_work/test_clash.lus
-PASS: ./lus2lic {-ec -o /tmp/test_clash.ec should_work/test_clash.lus}
-spawn ./myec2c -o /tmp/test_clash.c /tmp/test_clash.ec
-PASS: ./myec2c {-o /tmp/test_clash.c /tmp/test_clash.ec}
-spawn ../utils/test_lus2lic_no_node should_work/test_clash.lus
-+ ./lus2lic should_work/test_clash.lus -n test_clash --gen-autotest -np
+spawn ./lus2lic -2c should_work/is_stable.lus -n is_stable
+is_stable_is_stable_loop.c has been generated.
+is_stable_is_stable.h has been generated.
+is_stable_is_stable.c has been generated.
+you can compile those files doing, e.g.,
+  gcc is_stable_is_stable.c is_stable_is_stable_loop.c
+PASS: ./lus2lic {-2c should_work/is_stable.lus -n is_stable}
+spawn rm -f a.out
+spawn gcc is_stable_is_stable.c is_stable_is_stable_loop.c
+PASS: gcc is_stable_is_stable.c is_stable_is_stable_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/is_stable.lus
++ ./lus2lic should_work/is_stable.lus -n is_stable --gen-autotest -np
+_is_stable_env.lut generated.
+_is_stable_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/is_stable.lus
++ ./lus2lic should_work/is_stable.lus -n is_stable -2c -cc
+is_stable_is_stable_loop.c has been generated.
+is_stable_is_stable.h has been generated.
+is_stable_is_stable.c has been generated.
+sys call: 'gcc is_stable_is_stable.c is_stable_is_stable_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_is_stable_env.lut -rp oracle:v6:_is_stable_oracle.lus:is_stable_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/is_stable.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/is_stable.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/is_stable.lus
+spawn ./lus2lic -o ./tmp/test_clash.lic should_work/test_clash.lus
+PASS: ./lus2lic {-o ./tmp/test_clash.lic should_work/test_clash.lus}
+spawn ./lus2lic -ec -o ./tmp/test_clash.ec should_work/test_clash.lus
+PASS: ./lus2lic {-ec -o ./tmp/test_clash.ec should_work/test_clash.lus}
+spawn ./myec2c -o ./tmp/test_clash.c ./tmp/test_clash.ec
+PASS: ./myec2c {-o ./tmp/test_clash.c ./tmp/test_clash.ec}
+spawn ./lus2lic -2c should_work/test_clash.lus -n test_clash
 *** Can not find package 'test_clash' in the following packages: 
 ***	 'test'
-+ echo Error
-Error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/test_clash.lus
-spawn ./lus2lic -o /tmp/model2.lic should_work/model2.lus
-PASS: ./lus2lic {-o /tmp/model2.lic should_work/model2.lus}
-spawn ./lus2lic -ec -o /tmp/model2.ec should_work/model2.lus
-PASS: ./lus2lic {-ec -o /tmp/model2.ec should_work/model2.lus}
-spawn ./myec2c -o /tmp/model2.c /tmp/model2.ec
-PASS: ./myec2c {-o /tmp/model2.c /tmp/model2.ec}
-spawn ../utils/test_lus2lic_no_node should_work/model2.lus
-+ ./lus2lic should_work/model2.lus -n model2 --gen-autotest -np
+PASS: ./lus2lic {-2c should_work/test_clash.lus -n test_clash}
+spawn ./lus2lic -o ./tmp/model2.lic should_work/model2.lus
+PASS: ./lus2lic {-o ./tmp/model2.lic should_work/model2.lus}
+spawn ./lus2lic -ec -o ./tmp/model2.ec should_work/model2.lus
+PASS: ./lus2lic {-ec -o ./tmp/model2.ec should_work/model2.lus}
+spawn ./myec2c -o ./tmp/model2.c ./tmp/model2.ec
+PASS: ./myec2c {-o ./tmp/model2.c ./tmp/model2.ec}
+spawn ./lus2lic -2c should_work/model2.lus -n model2
 *** Can not find package 'model2' in the following packages: 
 ***	 'p'
 ***	 'u'
 ***	 'p2'
-+ echo Error
-Error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/model2.lus
-spawn ./lus2lic -o /tmp/onlyroll2.lic should_work/onlyroll2.lus
-PASS: ./lus2lic {-o /tmp/onlyroll2.lic should_work/onlyroll2.lus}
-spawn ./lus2lic -ec -o /tmp/onlyroll2.ec should_work/onlyroll2.lus
-PASS: ./lus2lic {-ec -o /tmp/onlyroll2.ec should_work/onlyroll2.lus}
-spawn ./myec2c -o /tmp/onlyroll2.c /tmp/onlyroll2.ec
-PASS: ./myec2c {-o /tmp/onlyroll2.c /tmp/onlyroll2.ec}
+PASS: ./lus2lic {-2c should_work/model2.lus -n model2}
+spawn ./lus2lic -o ./tmp/onlyroll2.lic should_work/onlyroll2.lus
+PASS: ./lus2lic {-o ./tmp/onlyroll2.lic should_work/onlyroll2.lus}
+spawn ./lus2lic -ec -o ./tmp/onlyroll2.ec should_work/onlyroll2.lus
+PASS: ./lus2lic {-ec -o ./tmp/onlyroll2.ec should_work/onlyroll2.lus}
+spawn ./myec2c -o ./tmp/onlyroll2.c ./tmp/onlyroll2.ec
+PASS: ./myec2c {-o ./tmp/onlyroll2.c ./tmp/onlyroll2.ec}
 spawn ../utils/test_lus2lic_no_node should_work/onlyroll2.lus
 + ./lus2lic should_work/onlyroll2.lus -n onlyroll2 --gen-autotest -np
 _onlyroll2_env.lut generated.
@@ -1936,7 +4870,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -1945,25 +4879,93 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/onlyroll2.lus
-spawn ./lus2lic -o /tmp/X6.lic should_work/X6.lus
-PASS: ./lus2lic {-o /tmp/X6.lic should_work/X6.lus}
-spawn ./lus2lic -ec -o /tmp/X6.ec should_work/X6.lus
-PASS: ./lus2lic {-ec -o /tmp/X6.ec should_work/X6.lus}
-spawn ./myec2c -o /tmp/X6.c /tmp/X6.ec
-PASS: ./myec2c {-o /tmp/X6.c /tmp/X6.ec}
-spawn ../utils/test_lus2lic_no_node should_work/X6.lus
-+ ./lus2lic should_work/X6.lus -n X6 --gen-autotest -np
-_X6_env.lut generated.
-_X6_oracle.lus generated.
+spawn ./lus2lic -2c should_work/onlyroll2.lus -n onlyroll2
+onlyroll2_onlyroll2_loop.c has been generated.
+onlyroll2_onlyroll2.h has been generated.
+onlyroll2_onlyroll2.c has been generated.
+you can compile those files doing, e.g.,
+  gcc onlyroll2_onlyroll2.c onlyroll2_onlyroll2_loop.c
+PASS: ./lus2lic {-2c should_work/onlyroll2.lus -n onlyroll2}
+spawn rm -f a.out
+spawn gcc onlyroll2_onlyroll2.c onlyroll2_onlyroll2_loop.c
+PASS: gcc onlyroll2_onlyroll2.c onlyroll2_onlyroll2_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/onlyroll2.lus
++ ./lus2lic should_work/onlyroll2.lus -n onlyroll2 --gen-autotest -np
+_onlyroll2_env.lut generated.
+_onlyroll2_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/onlyroll2.lus
++ ./lus2lic should_work/onlyroll2.lus -n onlyroll2 -2c -cc
+onlyroll2_onlyroll2_loop.c has been generated.
+onlyroll2_onlyroll2.h has been generated.
+onlyroll2_onlyroll2.c has been generated.
+sys call: 'gcc onlyroll2_onlyroll2.c onlyroll2_onlyroll2_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_onlyroll2_env.lut -rp oracle:v6:_onlyroll2_oracle.lus:onlyroll2_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+
+*** Warning: type error, 1 is an int, but a real is expected. I convert it to '1.'
+
+*** Warning: type error, 1 is an int, but a real is expected. I convert it to '1.'
+
+*** Warning: type error, 1 is an int, but a real is expected. I convert it to '1.'
+
+*** Warning: type error, 1 is an int, but a real is expected. I convert it to '1.'
+
+*** Warning: type error, 1 is an int, but a real is expected. I convert it to '1.'
+
+*** Warning: type error, 1 is an int, but a real is expected. I convert it to '1.'
+
+*** Warning: type error, 1 is an int, but a real is expected. I convert it to '1.'
+
+*** Warning: type error, 1 is an int, but a real is expected. I convert it to '1.'
+
+*** Warning: type error, 1 is an int, but a real is expected. I convert it to '1.'
+
+*** Warning: type error, 1 is an int, but a real is expected. I convert it to '1.'
+
+*** Warning: type error, 1 is an int, but a real is expected. I convert it to '1.'
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/onlyroll2.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/onlyroll2.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/onlyroll2.lus
+spawn ./lus2lic -o ./tmp/modes3x2_v2.lic should_work/modes3x2_v2.lus
+PASS: ./lus2lic {-o ./tmp/modes3x2_v2.lic should_work/modes3x2_v2.lus}
+spawn ./lus2lic -ec -o ./tmp/modes3x2_v2.ec should_work/modes3x2_v2.lus
+PASS: ./lus2lic {-ec -o ./tmp/modes3x2_v2.ec should_work/modes3x2_v2.lus}
+spawn ./myec2c -o ./tmp/modes3x2_v2.c ./tmp/modes3x2_v2.ec
+PASS: ./myec2c {-o ./tmp/modes3x2_v2.c ./tmp/modes3x2_v2.ec}
+spawn ../utils/test_lus2lic_no_node should_work/modes3x2_v2.lus
++ ./lus2lic should_work/modes3x2_v2.lus -n modes3x2_v2 --gen-autotest -np
+_modes3x2_v2_env.lut generated.
+_modes3x2_v2_oracle.lus generated.
 + echo lus2lic --gen-autotest done
 lus2lic --gen-autotest done
-+ cat should_work/X6.lus
-+ ./lus2lic should_work/X6.lus -n X6 -ec -o X6.ec
++ cat should_work/modes3x2_v2.lus
++ ./lus2lic should_work/modes3x2_v2.lus -n modes3x2_v2 -ec -o modes3x2_v2.ec
 + echo lus2lic -ec done
 lus2lic -ec done
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:X6.ec:X6 -rp env:lutin:_X6_env.lut -rp oracle:v6:_X6_oracle.lus:X6_oracle -go -l 10 -ns2c --stop-on-oracle-error
-Error in lurette: Lv6errors.Compile_error(_, "\n*** clock error: The two following clocks are not compatible:\n***\t on base\n***\t on b on base\n")
++ ./lurettetop -p 6 -seed 42 -rp sut:ec:modes3x2_v2.ec:modes3x2_v2 -rp env:lutin:_modes3x2_v2_env.lut -rp oracle:v6:_modes3x2_v2_oracle.lus:modes3x2_v2_oracle -go -l 10 -ns2c --stop-on-oracle-error
+RP Variables are compatible.
+#ERROR: Assertion takes on false
+RifIO.Bye
 Lurette launched a process that failed (exit 2).
  
 break signal catched
@@ -1972,13 +4974,84 @@ lurettetop: bye!
 + echo error
 error
 + exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/X6.lus
-spawn ./lus2lic -o /tmp/zzz2.lic should_work/zzz2.lus
-PASS: ./lus2lic {-o /tmp/zzz2.lic should_work/zzz2.lus}
-spawn ./lus2lic -ec -o /tmp/zzz2.ec should_work/zzz2.lus
-PASS: ./lus2lic {-ec -o /tmp/zzz2.ec should_work/zzz2.lus}
-spawn ./myec2c -o /tmp/zzz2.c /tmp/zzz2.ec
-PASS: ./myec2c {-o /tmp/zzz2.c /tmp/zzz2.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/modes3x2_v2.lus
+spawn ./lus2lic -2c should_work/modes3x2_v2.lus -n modes3x2_v2
+modes3x2_v2_modes3x2_v2_loop.c has been generated.
+modes3x2_v2_modes3x2_v2.h has been generated.
+modes3x2_v2_modes3x2_v2.c has been generated.
+you can compile those files doing, e.g.,
+  gcc modes3x2_v2_modes3x2_v2.c modes3x2_v2_modes3x2_v2_loop.c
+PASS: ./lus2lic {-2c should_work/modes3x2_v2.lus -n modes3x2_v2}
+spawn rm -f a.out
+spawn gcc modes3x2_v2_modes3x2_v2.c modes3x2_v2_modes3x2_v2_loop.c
+PASS: gcc modes3x2_v2_modes3x2_v2.c modes3x2_v2_modes3x2_v2_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/modes3x2_v2.lus
++ ./lus2lic should_work/modes3x2_v2.lus -n modes3x2_v2 --gen-autotest -np
+_modes3x2_v2_env.lut generated.
+_modes3x2_v2_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/modes3x2_v2.lus
++ ./lus2lic should_work/modes3x2_v2.lus -n modes3x2_v2 -2c -cc
+modes3x2_v2_modes3x2_v2_loop.c has been generated.
+modes3x2_v2_modes3x2_v2.h has been generated.
+modes3x2_v2_modes3x2_v2.c has been generated.
+sys call: 'gcc modes3x2_v2_modes3x2_v2.c modes3x2_v2_modes3x2_v2_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_modes3x2_v2_env.lut -rp oracle:v6:_modes3x2_v2_oracle.lus:modes3x2_v2_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/modes3x2_v2.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/modes3x2_v2.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/modes3x2_v2.lus
+spawn ./lus2lic -o ./tmp/X6.lic should_work/X6.lus
+*** Error in file "/home/jahier/lus2lic/test/should_work/X6.lus", line 15, col 21 to 21, token '=':
+*** 
+*** clock error: The two following clocks are not compatible:
+***	 on c on base
+***	 on c on b on base
+
+
+FAIL: without any option: ./lus2lic {-o ./tmp/X6.lic should_work/X6.lus}
+spawn ./lus2lic -ec -o ./tmp/X6.ec should_work/X6.lus
+*** Error in file "/home/jahier/lus2lic/test/should_work/X6.lus", line 15, col 21 to 21, token '=':
+*** 
+*** clock error: The two following clocks are not compatible:
+***	 on c on base
+***	 on c on b on base
+
+
+FAIL: Generate ec code  : ./lus2lic {-ec -o ./tmp/X6.ec should_work/X6.lus}
+spawn ./lus2lic -2c should_work/X6.lus -n X6
+*** Error in file "/home/jahier/lus2lic/test/should_work/X6.lus", line 15, col 21 to 21, token '=':
+*** 
+*** clock error: The two following clocks are not compatible:
+***	 on c on base
+***	 on c on b on base
+
+
+FAIL: Generate c code  : ./lus2lic {-2c should_work/X6.lus -n X6}
+spawn ./lus2lic -o ./tmp/zzz2.lic should_work/zzz2.lus
+PASS: ./lus2lic {-o ./tmp/zzz2.lic should_work/zzz2.lus}
+spawn ./lus2lic -ec -o ./tmp/zzz2.ec should_work/zzz2.lus
+PASS: ./lus2lic {-ec -o ./tmp/zzz2.ec should_work/zzz2.lus}
+spawn ./myec2c -o ./tmp/zzz2.c ./tmp/zzz2.ec
+PASS: ./myec2c {-o ./tmp/zzz2.c ./tmp/zzz2.ec}
 spawn ../utils/test_lus2lic_no_node should_work/zzz2.lus
 + ./lus2lic should_work/zzz2.lus -n zzz2 --gen-autotest -np
 _zzz2_env.lut generated.
@@ -1995,7 +5068,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -2004,26 +5077,66 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/zzz2.lus
-spawn ./lus2lic -o /tmp/polymorphic_pack.lic should_work/polymorphic_pack.lus
-PASS: ./lus2lic {-o /tmp/polymorphic_pack.lic should_work/polymorphic_pack.lus}
-spawn ./lus2lic -ec -o /tmp/polymorphic_pack.ec should_work/polymorphic_pack.lus
-PASS: ./lus2lic {-ec -o /tmp/polymorphic_pack.ec should_work/polymorphic_pack.lus}
-spawn ./myec2c -o /tmp/polymorphic_pack.c /tmp/polymorphic_pack.ec
-PASS: ./myec2c {-o /tmp/polymorphic_pack.c /tmp/polymorphic_pack.ec}
-spawn ../utils/test_lus2lic_no_node should_work/polymorphic_pack.lus
-+ ./lus2lic should_work/polymorphic_pack.lus -n polymorphic_pack --gen-autotest -np
+spawn ./lus2lic -2c should_work/zzz2.lus -n zzz2
+zzz2_zzz2_loop.c has been generated.
+zzz2_zzz2.h has been generated.
+zzz2_zzz2.c has been generated.
+you can compile those files doing, e.g.,
+  gcc zzz2_zzz2.c zzz2_zzz2_loop.c
+PASS: ./lus2lic {-2c should_work/zzz2.lus -n zzz2}
+spawn rm -f a.out
+spawn gcc zzz2_zzz2.c zzz2_zzz2_loop.c
+PASS: gcc zzz2_zzz2.c zzz2_zzz2_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/zzz2.lus
++ ./lus2lic should_work/zzz2.lus -n zzz2 --gen-autotest -np
+_zzz2_env.lut generated.
+_zzz2_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/zzz2.lus
++ ./lus2lic should_work/zzz2.lus -n zzz2 -2c -cc
+zzz2_zzz2_loop.c has been generated.
+zzz2_zzz2.h has been generated.
+zzz2_zzz2.c has been generated.
+sys call: 'gcc zzz2_zzz2.c zzz2_zzz2_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_zzz2_env.lut -rp oracle:v6:_zzz2_oracle.lus:zzz2_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/zzz2.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/zzz2.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/zzz2.lus
+spawn ./lus2lic -o ./tmp/polymorphic_pack.lic should_work/polymorphic_pack.lus
+PASS: ./lus2lic {-o ./tmp/polymorphic_pack.lic should_work/polymorphic_pack.lus}
+spawn ./lus2lic -ec -o ./tmp/polymorphic_pack.ec should_work/polymorphic_pack.lus
+PASS: ./lus2lic {-ec -o ./tmp/polymorphic_pack.ec should_work/polymorphic_pack.lus}
+spawn ./myec2c -o ./tmp/polymorphic_pack.c ./tmp/polymorphic_pack.ec
+PASS: ./myec2c {-o ./tmp/polymorphic_pack.c ./tmp/polymorphic_pack.ec}
+spawn ./lus2lic -2c should_work/polymorphic_pack.lus -n polymorphic_pack
 *** Can not find package 'polymorphic_pack' in the following packages: 
 ***	 'p'
-+ echo Error
-Error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/polymorphic_pack.lus
-spawn ./lus2lic -o /tmp/COUNTER.lic should_work/COUNTER.lus
-PASS: ./lus2lic {-o /tmp/COUNTER.lic should_work/COUNTER.lus}
-spawn ./lus2lic -ec -o /tmp/COUNTER.ec should_work/COUNTER.lus
-PASS: ./lus2lic {-ec -o /tmp/COUNTER.ec should_work/COUNTER.lus}
-spawn ./myec2c -o /tmp/COUNTER.c /tmp/COUNTER.ec
-PASS: ./myec2c {-o /tmp/COUNTER.c /tmp/COUNTER.ec}
+PASS: ./lus2lic {-2c should_work/polymorphic_pack.lus -n polymorphic_pack}
+spawn ./lus2lic -o ./tmp/COUNTER.lic should_work/COUNTER.lus
+PASS: ./lus2lic {-o ./tmp/COUNTER.lic should_work/COUNTER.lus}
+spawn ./lus2lic -ec -o ./tmp/COUNTER.ec should_work/COUNTER.lus
+PASS: ./lus2lic {-ec -o ./tmp/COUNTER.ec should_work/COUNTER.lus}
+spawn ./myec2c -o ./tmp/COUNTER.c ./tmp/COUNTER.ec
+PASS: ./myec2c {-o ./tmp/COUNTER.c ./tmp/COUNTER.ec}
 spawn ../utils/test_lus2lic_no_node should_work/COUNTER.lus
 + ./lus2lic should_work/COUNTER.lus -n COUNTER --gen-autotest -np
 _COUNTER_env.lut generated.
@@ -2040,7 +5153,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -2049,12 +5162,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/COUNTER.lus
-spawn ./lus2lic -o /tmp/minmax3.lic should_work/minmax3.lus
-PASS: ./lus2lic {-o /tmp/minmax3.lic should_work/minmax3.lus}
-spawn ./lus2lic -ec -o /tmp/minmax3.ec should_work/minmax3.lus
-PASS: ./lus2lic {-ec -o /tmp/minmax3.ec should_work/minmax3.lus}
-spawn ./myec2c -o /tmp/minmax3.c /tmp/minmax3.ec
-PASS: ./myec2c {-o /tmp/minmax3.c /tmp/minmax3.ec}
+spawn ./lus2lic -2c should_work/COUNTER.lus -n COUNTER
+COUNTER_COUNTER_loop.c has been generated.
+COUNTER_COUNTER.h has been generated.
+COUNTER_COUNTER.c has been generated.
+you can compile those files doing, e.g.,
+  gcc COUNTER_COUNTER.c COUNTER_COUNTER_loop.c
+PASS: ./lus2lic {-2c should_work/COUNTER.lus -n COUNTER}
+spawn rm -f a.out
+spawn gcc COUNTER_COUNTER.c COUNTER_COUNTER_loop.c
+PASS: gcc COUNTER_COUNTER.c COUNTER_COUNTER_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/COUNTER.lus
++ ./lus2lic should_work/COUNTER.lus -n COUNTER --gen-autotest -np
+_COUNTER_env.lut generated.
+_COUNTER_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/COUNTER.lus
++ ./lus2lic should_work/COUNTER.lus -n COUNTER -2c -cc
+COUNTER_COUNTER_loop.c has been generated.
+COUNTER_COUNTER.h has been generated.
+COUNTER_COUNTER.c has been generated.
+sys call: 'gcc COUNTER_COUNTER.c COUNTER_COUNTER_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_COUNTER_env.lut -rp oracle:v6:_COUNTER_oracle.lus:COUNTER_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/COUNTER.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/COUNTER.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/COUNTER.lus
+spawn ./lus2lic -o ./tmp/minmax3.lic should_work/minmax3.lus
+PASS: ./lus2lic {-o ./tmp/minmax3.lic should_work/minmax3.lus}
+spawn ./lus2lic -ec -o ./tmp/minmax3.ec should_work/minmax3.lus
+PASS: ./lus2lic {-ec -o ./tmp/minmax3.ec should_work/minmax3.lus}
+spawn ./myec2c -o ./tmp/minmax3.c ./tmp/minmax3.ec
+PASS: ./myec2c {-o ./tmp/minmax3.c ./tmp/minmax3.ec}
 spawn ../utils/test_lus2lic_no_node should_work/minmax3.lus
 + ./lus2lic should_work/minmax3.lus -n minmax3 --gen-autotest -np
 _minmax3_env.lut generated.
@@ -2071,21 +5228,65 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/test_lus2lic_no_node should_work/minmax3.lus
+spawn ./lus2lic -2c should_work/minmax3.lus -n minmax3
+minmax3_minmax3_loop.c has been generated.
+minmax3_minmax3.h has been generated.
+minmax3_minmax3.c has been generated.
+you can compile those files doing, e.g.,
+  gcc minmax3_minmax3.c minmax3_minmax3_loop.c
+PASS: ./lus2lic {-2c should_work/minmax3.lus -n minmax3}
+spawn rm -f a.out
+spawn gcc minmax3_minmax3.c minmax3_minmax3_loop.c
+PASS: gcc minmax3_minmax3.c minmax3_minmax3_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/minmax3.lus
++ ./lus2lic should_work/minmax3.lus -n minmax3 --gen-autotest -np
+_minmax3_env.lut generated.
+_minmax3_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/minmax3.lus
++ ./lus2lic should_work/minmax3.lus -n minmax3 -2c -cc
+minmax3_minmax3_loop.c has been generated.
+minmax3_minmax3.h has been generated.
+minmax3_minmax3.c has been generated.
+sys call: 'gcc minmax3_minmax3.c minmax3_minmax3_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_minmax3_env.lut -rp oracle:v6:_minmax3_oracle.lus:minmax3_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/minmax3.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/minmax3.lus: ok
 + echo lurettetop ok
 lurettetop ok
 + exit 0
-PASS: ../utils/test_lus2lic_no_node should_work/minmax3.lus
-spawn ./lus2lic -o /tmp/filter.lic should_work/filter.lus
-PASS: ./lus2lic {-o /tmp/filter.lic should_work/filter.lus}
-spawn ./lus2lic -ec -o /tmp/filter.ec should_work/filter.lus
-PASS: ./lus2lic {-ec -o /tmp/filter.ec should_work/filter.lus}
-spawn ./myec2c -o /tmp/filter.c /tmp/filter.ec
-PASS: ./myec2c {-o /tmp/filter.c /tmp/filter.ec}
+PASS: ../utils/compare_exec_and_2c should_work/minmax3.lus
+spawn ./lus2lic -o ./tmp/filter.lic should_work/filter.lus
+PASS: ./lus2lic {-o ./tmp/filter.lic should_work/filter.lus}
+spawn ./lus2lic -ec -o ./tmp/filter.ec should_work/filter.lus
+PASS: ./lus2lic {-ec -o ./tmp/filter.ec should_work/filter.lus}
+spawn ./myec2c -o ./tmp/filter.c ./tmp/filter.ec
+PASS: ./myec2c {-o ./tmp/filter.c ./tmp/filter.ec}
 spawn ../utils/test_lus2lic_no_node should_work/filter.lus
 + ./lus2lic should_work/filter.lus -n filter --gen-autotest -np
 Error. A combinational cycle been detected in file "/home/jahier/lus2lic/test/should_work/filter.lus", line 5, col 5 to 10, token 'filter' on 
@@ -2102,12 +5303,24 @@ Hint: try to use --expand-nodes.
 Error
 + exit 2
 FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/filter.lus
-spawn ./lus2lic -o /tmp/ec.lic should_work/ec.lus
-PASS: ./lus2lic {-o /tmp/ec.lic should_work/ec.lus}
-spawn ./lus2lic -ec -o /tmp/ec.ec should_work/ec.lus
-PASS: ./lus2lic {-ec -o /tmp/ec.ec should_work/ec.lus}
-spawn ./myec2c -o /tmp/ec.c /tmp/ec.ec
-PASS: ./myec2c {-o /tmp/ec.c /tmp/ec.ec}
+spawn ./lus2lic -2c should_work/filter.lus -n filter
+Error. A combinational cycle been detected in file "/home/jahier/lus2lic/test/should_work/filter.lus", line 5, col 5 to 10, token 'filter' on 
+  v00 = (z.x)
+  v03 = (z.y)
+  v00 = (z.x)
+  v04 = (v03.y)
+  z.x.y = (v00.x)
+  ok = Lustre::lt(v04, v06)
+
+Hint: try to use --expand-nodes.
+
+FAIL: Generate c code  : ./lus2lic {-2c should_work/filter.lus -n filter}
+spawn ./lus2lic -o ./tmp/ec.lic should_work/ec.lus
+PASS: ./lus2lic {-o ./tmp/ec.lic should_work/ec.lus}
+spawn ./lus2lic -ec -o ./tmp/ec.ec should_work/ec.lus
+PASS: ./lus2lic {-ec -o ./tmp/ec.ec should_work/ec.lus}
+spawn ./myec2c -o ./tmp/ec.c ./tmp/ec.ec
+PASS: ./myec2c {-o ./tmp/ec.c ./tmp/ec.ec}
 spawn ../utils/test_lus2lic_no_node should_work/ec.lus
 + ./lus2lic should_work/ec.lus -n ec --gen-autotest -np
 _ec_env.lut generated.
@@ -2124,7 +5337,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -2133,12 +5346,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/ec.lus
-spawn ./lus2lic -o /tmp/morel3.lic should_work/morel3.lus
-PASS: ./lus2lic {-o /tmp/morel3.lic should_work/morel3.lus}
-spawn ./lus2lic -ec -o /tmp/morel3.ec should_work/morel3.lus
-PASS: ./lus2lic {-ec -o /tmp/morel3.ec should_work/morel3.lus}
-spawn ./myec2c -o /tmp/morel3.c /tmp/morel3.ec
-PASS: ./myec2c {-o /tmp/morel3.c /tmp/morel3.ec}
+spawn ./lus2lic -2c should_work/ec.lus -n ec
+ec_ec_loop.c has been generated.
+ec_ec.h has been generated.
+ec_ec.c has been generated.
+you can compile those files doing, e.g.,
+  gcc ec_ec.c ec_ec_loop.c
+PASS: ./lus2lic {-2c should_work/ec.lus -n ec}
+spawn rm -f a.out
+spawn gcc ec_ec.c ec_ec_loop.c
+PASS: gcc ec_ec.c ec_ec_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/ec.lus
++ ./lus2lic should_work/ec.lus -n ec --gen-autotest -np
+_ec_env.lut generated.
+_ec_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/ec.lus
++ ./lus2lic should_work/ec.lus -n ec -2c -cc
+ec_ec_loop.c has been generated.
+ec_ec.h has been generated.
+ec_ec.c has been generated.
+sys call: 'gcc ec_ec.c ec_ec_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_ec_env.lut -rp oracle:v6:_ec_oracle.lus:ec_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/ec.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/ec.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/ec.lus
+spawn ./lus2lic -o ./tmp/morel3.lic should_work/morel3.lus
+PASS: ./lus2lic {-o ./tmp/morel3.lic should_work/morel3.lus}
+spawn ./lus2lic -ec -o ./tmp/morel3.ec should_work/morel3.lus
+PASS: ./lus2lic {-ec -o ./tmp/morel3.ec should_work/morel3.lus}
+spawn ./myec2c -o ./tmp/morel3.c ./tmp/morel3.ec
+PASS: ./myec2c {-o ./tmp/morel3.c ./tmp/morel3.ec}
 spawn ../utils/test_lus2lic_no_node should_work/morel3.lus
 + ./lus2lic should_work/morel3.lus -n morel3 --gen-autotest -np
 _morel3_env.lut generated.
@@ -2155,7 +5412,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -2164,12 +5421,29 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/morel3.lus
-spawn ./lus2lic -o /tmp/fresh_name.lic should_work/fresh_name.lus
-PASS: ./lus2lic {-o /tmp/fresh_name.lic should_work/fresh_name.lus}
-spawn ./lus2lic -ec -o /tmp/fresh_name.ec should_work/fresh_name.lus
-PASS: ./lus2lic {-ec -o /tmp/fresh_name.ec should_work/fresh_name.lus}
-spawn ./myec2c -o /tmp/fresh_name.c /tmp/fresh_name.ec
-PASS: ./myec2c {-o /tmp/fresh_name.c /tmp/fresh_name.ec}
+spawn ./lus2lic -2c should_work/morel3.lus -n morel3
+
+*** oops: lus2lic internal error
+	File "src/soc2c.ml", line 103, column 32
+*** when compiling lustre program should_work/morel3.lus
+
+*** You migth want to sent a bug report to jahier@imag.fr
+FAIL: Generate c code  : ./lus2lic {-2c should_work/morel3.lus -n morel3}
+spawn rm -f a.out
+spawn gcc morel3_morel3.c morel3_morel3_loop.c
+In file included from morel3_morel3.c:4:0:
+morel3_morel3.h:21:0: error: unterminated #ifndef
+morel3_morel3.c: In function 'morel3_tab_bibbbiii_step':
+morel3_morel3.c:200:3: error: expected declaration or statement at end of input
+In file included from morel3_morel3_loop.c:8:0:
+morel3_morel3.h:21:0: error: unterminated #ifndef
+FAIL: Check that the generated C code compiles  : gcc morel3_morel3.c morel3_morel3_loop.c 
+spawn ./lus2lic -o ./tmp/fresh_name.lic should_work/fresh_name.lus
+PASS: ./lus2lic {-o ./tmp/fresh_name.lic should_work/fresh_name.lus}
+spawn ./lus2lic -ec -o ./tmp/fresh_name.ec should_work/fresh_name.lus
+PASS: ./lus2lic {-ec -o ./tmp/fresh_name.ec should_work/fresh_name.lus}
+spawn ./myec2c -o ./tmp/fresh_name.c ./tmp/fresh_name.ec
+PASS: ./myec2c {-o ./tmp/fresh_name.c ./tmp/fresh_name.ec}
 spawn ../utils/test_lus2lic_no_node should_work/fresh_name.lus
 + ./lus2lic should_work/fresh_name.lus -n fresh_name --gen-autotest -np
 _fresh_name_env.lut generated.
@@ -2186,21 +5460,64 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
 + echo lurettetop ok
 lurettetop ok
-+ exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/fresh_name.lus
-spawn ./lus2lic -o /tmp/ply03.lic should_work/ply03.lus
-PASS: ./lus2lic {-o /tmp/ply03.lic should_work/ply03.lus}
-spawn ./lus2lic -ec -o /tmp/ply03.ec should_work/ply03.lus
-PASS: ./lus2lic {-ec -o /tmp/ply03.ec should_work/ply03.lus}
-spawn ./myec2c -o /tmp/ply03.c /tmp/ply03.ec
-PASS: ./myec2c {-o /tmp/ply03.c /tmp/ply03.ec}
+spawn ./lus2lic -2c should_work/fresh_name.lus -n fresh_name
+fresh_name_fresh_name_loop.c has been generated.
+fresh_name_fresh_name.h has been generated.
+fresh_name_fresh_name.c has been generated.
+you can compile those files doing, e.g.,
+  gcc fresh_name_fresh_name.c fresh_name_fresh_name_loop.c
+PASS: ./lus2lic {-2c should_work/fresh_name.lus -n fresh_name}
+spawn rm -f a.out
+spawn gcc fresh_name_fresh_name.c fresh_name_fresh_name_loop.c
+PASS: gcc fresh_name_fresh_name.c fresh_name_fresh_name_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/fresh_name.lus
++ ./lus2lic should_work/fresh_name.lus -n fresh_name --gen-autotest -np
+_fresh_name_env.lut generated.
+_fresh_name_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/fresh_name.lus
++ ./lus2lic should_work/fresh_name.lus -n fresh_name -2c -cc
+fresh_name_fresh_name_loop.c has been generated.
+fresh_name_fresh_name.h has been generated.
+fresh_name_fresh_name.c has been generated.
+sys call: 'gcc fresh_name_fresh_name.c fresh_name_fresh_name_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_fresh_name_env.lut -rp oracle:v6:_fresh_name_oracle.lus:fresh_name_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/fresh_name.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/fresh_name.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/fresh_name.lus
+spawn ./lus2lic -o ./tmp/ply03.lic should_work/ply03.lus
+PASS: ./lus2lic {-o ./tmp/ply03.lic should_work/ply03.lus}
+spawn ./lus2lic -ec -o ./tmp/ply03.ec should_work/ply03.lus
+PASS: ./lus2lic {-ec -o ./tmp/ply03.ec should_work/ply03.lus}
+spawn ./myec2c -o ./tmp/ply03.c ./tmp/ply03.ec
+PASS: ./myec2c {-o ./tmp/ply03.c ./tmp/ply03.ec}
 spawn ../utils/test_lus2lic_no_node should_work/ply03.lus
 + ./lus2lic should_work/ply03.lus -n ply03 --gen-autotest -np
 _ply03_env.lut generated.
@@ -2217,7 +5534,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -2226,12 +5543,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/ply03.lus
-spawn ./lus2lic -o /tmp/param_struct.lic should_work/param_struct.lus
-PASS: ./lus2lic {-o /tmp/param_struct.lic should_work/param_struct.lus}
-spawn ./lus2lic -ec -o /tmp/param_struct.ec should_work/param_struct.lus
-PASS: ./lus2lic {-ec -o /tmp/param_struct.ec should_work/param_struct.lus}
-spawn ./myec2c -o /tmp/param_struct.c /tmp/param_struct.ec
-PASS: ./myec2c {-o /tmp/param_struct.c /tmp/param_struct.ec}
+spawn ./lus2lic -2c should_work/ply03.lus -n ply03
+ply03_ply03_loop.c has been generated.
+ply03_ply03.h has been generated.
+ply03_ply03.c has been generated.
+you can compile those files doing, e.g.,
+  gcc ply03_ply03.c ply03_ply03_loop.c
+PASS: ./lus2lic {-2c should_work/ply03.lus -n ply03}
+spawn rm -f a.out
+spawn gcc ply03_ply03.c ply03_ply03_loop.c
+PASS: gcc ply03_ply03.c ply03_ply03_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/ply03.lus
++ ./lus2lic should_work/ply03.lus -n ply03 --gen-autotest -np
+_ply03_env.lut generated.
+_ply03_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/ply03.lus
++ ./lus2lic should_work/ply03.lus -n ply03 -2c -cc
+ply03_ply03_loop.c has been generated.
+ply03_ply03.h has been generated.
+ply03_ply03.c has been generated.
+sys call: 'gcc ply03_ply03.c ply03_ply03_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_ply03_env.lut -rp oracle:v6:_ply03_oracle.lus:ply03_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/ply03.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/ply03.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/ply03.lus
+spawn ./lus2lic -o ./tmp/param_struct.lic should_work/param_struct.lus
+PASS: ./lus2lic {-o ./tmp/param_struct.lic should_work/param_struct.lus}
+spawn ./lus2lic -ec -o ./tmp/param_struct.ec should_work/param_struct.lus
+PASS: ./lus2lic {-ec -o ./tmp/param_struct.ec should_work/param_struct.lus}
+spawn ./myec2c -o ./tmp/param_struct.c ./tmp/param_struct.ec
+PASS: ./myec2c {-o ./tmp/param_struct.c ./tmp/param_struct.ec}
 spawn ../utils/test_lus2lic_no_node should_work/param_struct.lus
 + ./lus2lic should_work/param_struct.lus -n param_struct --gen-autotest -np
 _param_struct_env.lut generated.
@@ -2248,7 +5609,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -2257,12 +5618,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/param_struct.lus
-spawn ./lus2lic -o /tmp/minmax2.lic should_work/minmax2.lus
-PASS: ./lus2lic {-o /tmp/minmax2.lic should_work/minmax2.lus}
-spawn ./lus2lic -ec -o /tmp/minmax2.ec should_work/minmax2.lus
-PASS: ./lus2lic {-ec -o /tmp/minmax2.ec should_work/minmax2.lus}
-spawn ./myec2c -o /tmp/minmax2.c /tmp/minmax2.ec
-PASS: ./myec2c {-o /tmp/minmax2.c /tmp/minmax2.ec}
+spawn ./lus2lic -2c should_work/param_struct.lus -n param_struct
+param_struct_param_struct_loop.c has been generated.
+param_struct_param_struct.h has been generated.
+param_struct_param_struct.c has been generated.
+you can compile those files doing, e.g.,
+  gcc param_struct_param_struct.c param_struct_param_struct_loop.c
+PASS: ./lus2lic {-2c should_work/param_struct.lus -n param_struct}
+spawn rm -f a.out
+spawn gcc param_struct_param_struct.c param_struct_param_struct_loop.c
+PASS: gcc param_struct_param_struct.c param_struct_param_struct_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/param_struct.lus
++ ./lus2lic should_work/param_struct.lus -n param_struct --gen-autotest -np
+_param_struct_env.lut generated.
+_param_struct_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/param_struct.lus
++ ./lus2lic should_work/param_struct.lus -n param_struct -2c -cc
+param_struct_param_struct_loop.c has been generated.
+param_struct_param_struct.h has been generated.
+param_struct_param_struct.c has been generated.
+sys call: 'gcc param_struct_param_struct.c param_struct_param_struct_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_param_struct_env.lut -rp oracle:v6:_param_struct_oracle.lus:param_struct_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/param_struct.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/param_struct.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/param_struct.lus
+spawn ./lus2lic -o ./tmp/minmax2.lic should_work/minmax2.lus
+PASS: ./lus2lic {-o ./tmp/minmax2.lic should_work/minmax2.lus}
+spawn ./lus2lic -ec -o ./tmp/minmax2.ec should_work/minmax2.lus
+PASS: ./lus2lic {-ec -o ./tmp/minmax2.ec should_work/minmax2.lus}
+spawn ./myec2c -o ./tmp/minmax2.c ./tmp/minmax2.ec
+PASS: ./myec2c {-o ./tmp/minmax2.c ./tmp/minmax2.ec}
 spawn ../utils/test_lus2lic_no_node should_work/minmax2.lus
 + ./lus2lic should_work/minmax2.lus -n minmax2 --gen-autotest -np
 _minmax2_env.lut generated.
@@ -2279,7 +5684,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -2288,12 +5693,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/minmax2.lus
-spawn ./lus2lic -o /tmp/plus.lic should_work/plus.lus
-PASS: ./lus2lic {-o /tmp/plus.lic should_work/plus.lus}
-spawn ./lus2lic -ec -o /tmp/plus.ec should_work/plus.lus
-PASS: ./lus2lic {-ec -o /tmp/plus.ec should_work/plus.lus}
-spawn ./myec2c -o /tmp/plus.c /tmp/plus.ec
-PASS: ./myec2c {-o /tmp/plus.c /tmp/plus.ec}
+spawn ./lus2lic -2c should_work/minmax2.lus -n minmax2
+minmax2_minmax2_loop.c has been generated.
+minmax2_minmax2.h has been generated.
+minmax2_minmax2.c has been generated.
+you can compile those files doing, e.g.,
+  gcc minmax2_minmax2.c minmax2_minmax2_loop.c
+PASS: ./lus2lic {-2c should_work/minmax2.lus -n minmax2}
+spawn rm -f a.out
+spawn gcc minmax2_minmax2.c minmax2_minmax2_loop.c
+PASS: gcc minmax2_minmax2.c minmax2_minmax2_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/minmax2.lus
++ ./lus2lic should_work/minmax2.lus -n minmax2 --gen-autotest -np
+_minmax2_env.lut generated.
+_minmax2_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/minmax2.lus
++ ./lus2lic should_work/minmax2.lus -n minmax2 -2c -cc
+minmax2_minmax2_loop.c has been generated.
+minmax2_minmax2.h has been generated.
+minmax2_minmax2.c has been generated.
+sys call: 'gcc minmax2_minmax2.c minmax2_minmax2_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_minmax2_env.lut -rp oracle:v6:_minmax2_oracle.lus:minmax2_oracle+  -go -l 10 -ns2c --stop-on-oracle-error
+./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/minmax2.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/minmax2.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/minmax2.lus
+spawn ./lus2lic -o ./tmp/plus.lic should_work/plus.lus
+PASS: ./lus2lic {-o ./tmp/plus.lic should_work/plus.lus}
+spawn ./lus2lic -ec -o ./tmp/plus.ec should_work/plus.lus
+PASS: ./lus2lic {-ec -o ./tmp/plus.ec should_work/plus.lus}
+spawn ./myec2c -o ./tmp/plus.c ./tmp/plus.ec
+PASS: ./myec2c {-o ./tmp/plus.c ./tmp/plus.ec}
 spawn ../utils/test_lus2lic_no_node should_work/plus.lus
 + ./lus2lic should_work/plus.lus -n plus --gen-autotest -np
 _plus_env.lut generated.
@@ -2310,7 +5759,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -2319,12 +5768,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/plus.lus
-spawn ./lus2lic -o /tmp/xx.lic should_work/xx.lus
-PASS: ./lus2lic {-o /tmp/xx.lic should_work/xx.lus}
-spawn ./lus2lic -ec -o /tmp/xx.ec should_work/xx.lus
-PASS: ./lus2lic {-ec -o /tmp/xx.ec should_work/xx.lus}
-spawn ./myec2c -o /tmp/xx.c /tmp/xx.ec
-PASS: ./myec2c {-o /tmp/xx.c /tmp/xx.ec}
+spawn ./lus2lic -2c should_work/plus.lus -n plus
+plus_plus_loop.c has been generated.
+plus_plus.h has been generated.
+plus_plus.c has been generated.
+you can compile those files doing, e.g.,
+  gcc plus_plus.c plus_plus_loop.c
+PASS: ./lus2lic {-2c should_work/plus.lus -n plus}
+spawn rm -f a.out
+spawn gcc plus_plus.c plus_plus_loop.c
+PASS: gcc plus_plus.c plus_plus_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/plus.lus
++ ./lus2lic should_work/plus.lus -n plus --gen-autotest -np
+_plus_env.lut generated.
+_plus_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/plus.lus
++ ./lus2lic should_work/plus.lus -n plus -2c -cc
+plus_plus_loop.c has been generated.
+plus_plus.h has been generated.
+plus_plus.c has been generated.
+sys call: 'gcc plus_plus.c plus_plus_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_plus_env.lut -rp oracle:v6:_plus_oracle.lus:plus_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/plus.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/plus.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/plus.lus
+spawn ./lus2lic -o ./tmp/xx.lic should_work/xx.lus
+PASS: ./lus2lic {-o ./tmp/xx.lic should_work/xx.lus}
+spawn ./lus2lic -ec -o ./tmp/xx.ec should_work/xx.lus
+PASS: ./lus2lic {-ec -o ./tmp/xx.ec should_work/xx.lus}
+spawn ./myec2c -o ./tmp/xx.c ./tmp/xx.ec
+PASS: ./myec2c {-o ./tmp/xx.c ./tmp/xx.ec}
 spawn ../utils/test_lus2lic_no_node should_work/xx.lus
 + ./lus2lic should_work/xx.lus -n xx --gen-autotest -np
 _xx_env.lut generated.
@@ -2341,7 +5834,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -2350,12 +5843,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/xx.lus
-spawn ./lus2lic -o /tmp/call07.lic should_work/call07.lus
-PASS: ./lus2lic {-o /tmp/call07.lic should_work/call07.lus}
-spawn ./lus2lic -ec -o /tmp/call07.ec should_work/call07.lus
-PASS: ./lus2lic {-ec -o /tmp/call07.ec should_work/call07.lus}
-spawn ./myec2c -o /tmp/call07.c /tmp/call07.ec
-PASS: ./myec2c {-o /tmp/call07.c /tmp/call07.ec}
+spawn ./lus2lic -2c should_work/xx.lus -n xx
+xx_xx_loop.c has been generated.
+xx_xx.h has been generated.
+xx_xx.c has been generated.
+you can compile those files doing, e.g.,
+  gcc xx_xx.c xx_xx_loop.c
+PASS: ./lus2lic {-2c should_work/xx.lus -n xx}
+spawn rm -f a.out
+spawn gcc xx_xx.c xx_xx_loop.c
+PASS: gcc xx_xx.c xx_xx_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/xx.lus
++ ./lus2lic should_work/xx.lus -n xx --gen-autotest -np
+_xx_env.lut generated.
+_xx_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/xx.lus
++ ./lus2lic should_work/xx.lus -n xx -2c -cc
+xx_xx_loop.c has been generated.
+xx_xx.h has been generated.
+xx_xx.c has been generated.
+sys call: 'gcc xx_xx.c xx_xx_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_xx_env.lut -rp oracle:v6:_xx_oracle.lus:xx_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/xx.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/xx.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/xx.lus
+spawn ./lus2lic -o ./tmp/call07.lic should_work/call07.lus
+PASS: ./lus2lic {-o ./tmp/call07.lic should_work/call07.lus}
+spawn ./lus2lic -ec -o ./tmp/call07.ec should_work/call07.lus
+PASS: ./lus2lic {-ec -o ./tmp/call07.ec should_work/call07.lus}
+spawn ./myec2c -o ./tmp/call07.c ./tmp/call07.ec
+PASS: ./myec2c {-o ./tmp/call07.c ./tmp/call07.ec}
 spawn ../utils/test_lus2lic_no_node should_work/call07.lus
 + ./lus2lic should_work/call07.lus -n call07 --gen-autotest -np
 _call07_env.lut generated.
@@ -2372,7 +5909,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -2381,12 +5918,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/call07.lus
-spawn ./lus2lic -o /tmp/shift_ludic.lic should_work/shift_ludic.lus
-PASS: ./lus2lic {-o /tmp/shift_ludic.lic should_work/shift_ludic.lus}
-spawn ./lus2lic -ec -o /tmp/shift_ludic.ec should_work/shift_ludic.lus
-PASS: ./lus2lic {-ec -o /tmp/shift_ludic.ec should_work/shift_ludic.lus}
-spawn ./myec2c -o /tmp/shift_ludic.c /tmp/shift_ludic.ec
-PASS: ./myec2c {-o /tmp/shift_ludic.c /tmp/shift_ludic.ec}
+spawn ./lus2lic -2c should_work/call07.lus -n call07
+call07_call07_loop.c has been generated.
+call07_call07.h has been generated.
+call07_call07.c has been generated.
+you can compile those files doing, e.g.,
+  gcc call07_call07.c call07_call07_loop.c
+PASS: ./lus2lic {-2c should_work/call07.lus -n call07}
+spawn rm -f a.out
+spawn gcc call07_call07.c call07_call07_loop.c
+PASS: gcc call07_call07.c call07_call07_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/call07.lus
++ ./lus2lic should_work/call07.lus -n call07 --gen-autotest -np
+_call07_env.lut generated.
+_call07_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/call07.lus
++ ./lus2lic should_work/call07.lus -n call07 -2c -cc
+call07_call07_loop.c has been generated.
+call07_call07.h has been generated.
+call07_call07.c has been generated.
+sys call: 'gcc call07_call07.c call07_call07_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_call07_env.lut -rp oracle:v6:_call07_oracle.lus:call07_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/call07.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/call07.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/call07.lus
+spawn ./lus2lic -o ./tmp/shift_ludic.lic should_work/shift_ludic.lus
+PASS: ./lus2lic {-o ./tmp/shift_ludic.lic should_work/shift_ludic.lus}
+spawn ./lus2lic -ec -o ./tmp/shift_ludic.ec should_work/shift_ludic.lus
+PASS: ./lus2lic {-ec -o ./tmp/shift_ludic.ec should_work/shift_ludic.lus}
+spawn ./myec2c -o ./tmp/shift_ludic.c ./tmp/shift_ludic.ec
+PASS: ./myec2c {-o ./tmp/shift_ludic.c ./tmp/shift_ludic.ec}
 spawn ../utils/test_lus2lic_no_node should_work/shift_ludic.lus
 + ./lus2lic should_work/shift_ludic.lus -n shift_ludic --gen-autotest -np
 _shift_ludic_env.lut generated.
@@ -2403,7 +5984,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -2412,27 +5993,67 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/shift_ludic.lus
-spawn ./lus2lic -o /tmp/pilote-1.0.lic should_work/pilote-1.0.lus
-PASS: ./lus2lic {-o /tmp/pilote-1.0.lic should_work/pilote-1.0.lus}
-spawn ./lus2lic -ec -o /tmp/pilote-1.0.ec should_work/pilote-1.0.lus
-PASS: ./lus2lic {-ec -o /tmp/pilote-1.0.ec should_work/pilote-1.0.lus}
-spawn ./myec2c -o /tmp/pilote-1.0.c /tmp/pilote-1.0.ec
-PASS: ./myec2c {-o /tmp/pilote-1.0.c /tmp/pilote-1.0.ec}
-spawn ../utils/test_lus2lic_no_node should_work/pilote-1.0.lus
-+ ./lus2lic should_work/pilote-1.0.lus -n pilote-1.0 --gen-autotest -np
+spawn ./lus2lic -2c should_work/shift_ludic.lus -n shift_ludic
+shift_ludic_shift_ludic_loop.c has been generated.
+shift_ludic_shift_ludic.h has been generated.
+shift_ludic_shift_ludic.c has been generated.
+you can compile those files doing, e.g.,
+  gcc shift_ludic_shift_ludic.c shift_ludic_shift_ludic_loop.c
+PASS: ./lus2lic {-2c should_work/shift_ludic.lus -n shift_ludic}
+spawn rm -f a.out
+spawn gcc shift_ludic_shift_ludic.c shift_ludic_shift_ludic_loop.c
+PASS: gcc shift_ludic_shift_ludic.c shift_ludic_shift_ludic_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/shift_ludic.lus
++ ./lus2lic should_work/shift_ludic.lus -n shift_ludic --gen-autotest -np
+_shift_ludic_env.lut generated.
+_shift_ludic_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/shift_ludic.lus
++ ./lus2lic should_work/shift_ludic.lus -n shift_ludic -2c -cc
+shift_ludic_shift_ludic_loop.c has been generated.
+shift_ludic_shift_ludic.h has been generated.
+shift_ludic_shift_ludic.c has been generated.
+sys call: 'gcc shift_ludic_shift_ludic.c shift_ludic_shift_ludic_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_shift_ludic_env.lut -rp oracle:v6:_shift_ludic_oracle.lus:shift_ludic_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/shift_ludic.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/shift_ludic.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/shift_ludic.lus
+spawn ./lus2lic -o ./tmp/pilote-1.0.lic should_work/pilote-1.0.lus
+PASS: ./lus2lic {-o ./tmp/pilote-1.0.lic should_work/pilote-1.0.lus}
+spawn ./lus2lic -ec -o ./tmp/pilote-1.0.ec should_work/pilote-1.0.lus
+PASS: ./lus2lic {-ec -o ./tmp/pilote-1.0.ec should_work/pilote-1.0.lus}
+spawn ./myec2c -o ./tmp/pilote-1.0.c ./tmp/pilote-1.0.ec
+PASS: ./myec2c {-o ./tmp/pilote-1.0.c ./tmp/pilote-1.0.ec}
+spawn ./lus2lic -2c should_work/pilote-1.0.lus -n pilote-1.0
 *** Can not find package 'pilote-1.0' in the following packages: 
 ***	 'util'
 ***	 'pilote'
-+ echo Error
-Error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/pilote-1.0.lus
-spawn ./lus2lic -o /tmp/trivial.lic should_work/trivial.lus
-PASS: ./lus2lic {-o /tmp/trivial.lic should_work/trivial.lus}
-spawn ./lus2lic -ec -o /tmp/trivial.ec should_work/trivial.lus
-PASS: ./lus2lic {-ec -o /tmp/trivial.ec should_work/trivial.lus}
-spawn ./myec2c -o /tmp/trivial.c /tmp/trivial.ec
-PASS: ./myec2c {-o /tmp/trivial.c /tmp/trivial.ec}
+PASS: ./lus2lic {-2c should_work/pilote-1.0.lus -n pilote-1.0}
+spawn ./lus2lic -o ./tmp/trivial.lic should_work/trivial.lus
+PASS: ./lus2lic {-o ./tmp/trivial.lic should_work/trivial.lus}
+spawn ./lus2lic -ec -o ./tmp/trivial.ec should_work/trivial.lus
+PASS: ./lus2lic {-ec -o ./tmp/trivial.ec should_work/trivial.lus}
+spawn ./myec2c -o ./tmp/trivial.c ./tmp/trivial.ec
+PASS: ./myec2c {-o ./tmp/trivial.c ./tmp/trivial.ec}
 spawn ../utils/test_lus2lic_no_node should_work/trivial.lus
 + ./lus2lic should_work/trivial.lus -n trivial --gen-autotest -np
 _trivial_env.lut generated.
@@ -2449,38 +6070,79 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
 + echo lurettetop ok
 lurettetop ok
++ exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/trivial.lus
-spawn ./lus2lic -o /tmp/packs.lic should_work/packs.lus
-PASS: ./lus2lic {-o /tmp/packs.lic should_work/packs.lus}
-spawn ./lus2lic -ec -o /tmp/packs.ec should_work/packs.lus
-PASS: ./lus2lic {-ec -o /tmp/packs.ec should_work/packs.lus}
-spawn ./myec2c -o /tmp/packs.c /tmp/packs.ec
-PASS: ./myec2c {-o /tmp/packs.c /tmp/packs.ec}
-spawn ../utils/test_lus2lic_no_node should_work/packs.lus
-+ ./lus2lic should_work/packs.lus -n packs --gen-autotest -np
+spawn ./lus2lic -2c should_work/trivial.lus -n trivial
+trivial_trivial_loop.c has been generated.
+trivial_trivial.h has been generated.
+trivial_trivial.c has been generated.
+you can compile those files doing, e.g.,
+  gcc trivial_trivial.c trivial_trivial_loop.c
+PASS: ./lus2lic {-2c should_work/trivial.lus -n trivial}
+spawn rm -f a.out
+spawn gcc trivial_trivial.c trivial_trivial_loop.c
+PASS: gcc trivial_trivial.c trivial_trivial_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/trivial.lus
++ ./lus2lic should_work/trivial.lus -n trivial --gen-autotest -np
+_trivial_env.lut generated.
+_trivial_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/trivial.lus
++ ./lus2lic should_work/trivial.lus -n trivial -2c -cc
+trivial_trivial_loop.c has been generated.
+trivial_trivial.h has been generated.
+trivial_trivial.c has been generated.
+sys call: 'gcc trivial_trivial.c trivial_trivial_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_trivial_env.lut -rp oracle:v6:_trivial_oracle.lus:trivial_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/trivial.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/trivial.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/trivial.lus
+spawn ./lus2lic -o ./tmp/packs.lic should_work/packs.lus
+PASS: ./lus2lic {-o ./tmp/packs.lic should_work/packs.lus}
+spawn ./lus2lic -ec -o ./tmp/packs.ec should_work/packs.lus
+PASS: ./lus2lic {-ec -o ./tmp/packs.ec should_work/packs.lus}
+spawn ./myec2c -o ./tmp/packs.c ./tmp/packs.ec
+PASS: ./myec2c {-o ./tmp/packs.c ./tmp/packs.ec}
+spawn ./lus2lic -2c should_work/packs.lus -n packs
 *** Can not find package 'packs' in the following packages: 
 ***	 'pbool'
 ***	 'mainPack'
 ***	 'pint'
 ***	 'inter'
 ***	 'preal'
-+ echo Error
-Error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/packs.lus
-spawn ./lus2lic -o /tmp/sincos.lic should_work/sincos.lus
-PASS: ./lus2lic {-o /tmp/sincos.lic should_work/sincos.lus}
-spawn ./lus2lic -ec -o /tmp/sincos.ec should_work/sincos.lus
-PASS: ./lus2lic {-ec -o /tmp/sincos.ec should_work/sincos.lus}
-spawn ./myec2c -o /tmp/sincos.c /tmp/sincos.ec
-PASS: ./myec2c {-o /tmp/sincos.c /tmp/sincos.ec}
+PASS: ./lus2lic {-2c should_work/packs.lus -n packs}
+spawn ./lus2lic -o ./tmp/sincos.lic should_work/sincos.lus
+PASS: ./lus2lic {-o ./tmp/sincos.lic should_work/sincos.lus}
+spawn ./lus2lic -ec -o ./tmp/sincos.ec should_work/sincos.lus
+PASS: ./lus2lic {-ec -o ./tmp/sincos.ec should_work/sincos.lus}
+spawn ./myec2c -o ./tmp/sincos.c ./tmp/sincos.ec
+PASS: ./myec2c {-o ./tmp/sincos.c ./tmp/sincos.ec}
 spawn ../utils/test_lus2lic_no_node should_work/sincos.lus
 + ./lus2lic should_work/sincos.lus -n sincos --gen-autotest -np
 _sincos_env.lut generated.
@@ -2505,30 +6167,68 @@ lurettetop: bye!
 error
 + exit 2
 FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/sincos.lus
-spawn ./lus2lic -o /tmp/newpacks.lic should_work/newpacks.lus
-PASS: ./lus2lic {-o /tmp/newpacks.lic should_work/newpacks.lus}
-spawn ./lus2lic -ec -o /tmp/newpacks.ec should_work/newpacks.lus
-PASS: ./lus2lic {-ec -o /tmp/newpacks.ec should_work/newpacks.lus}
-spawn ./myec2c -o /tmp/newpacks.c /tmp/newpacks.ec
-PASS: ./myec2c {-o /tmp/newpacks.c /tmp/newpacks.ec}
-spawn ../utils/test_lus2lic_no_node should_work/newpacks.lus
-+ ./lus2lic should_work/newpacks.lus -n newpacks --gen-autotest -np
+spawn ./lus2lic -2c should_work/sincos.lus -n sincos
+sincos_sincos_loop.c has been generated.
+sincos_sincos.h has been generated.
+sincos_sincos.c has been generated.
+you can compile those files doing, e.g.,
+  gcc sincos_sincos.c sincos_sincos_loop.c
+PASS: ./lus2lic {-2c should_work/sincos.lus -n sincos}
+spawn rm -f a.out
+spawn gcc sincos_sincos.c sincos_sincos_loop.c
+PASS: gcc sincos_sincos.c sincos_sincos_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/sincos.lus
++ ./lus2lic should_work/sincos.lus -n sincos --gen-autotest -np
+_sincos_env.lut generated.
+_sincos_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/sincos.lus
++ ./lus2lic should_work/sincos.lus -n sincos -2c -cc
+sincos_sincos_loop.c has been generated.
+sincos_sincos.h has been generated.
+sincos_sincos.c has been generated.
+sys call: 'gcc sincos_sincos.c sincos_sincos_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_sincos_env.lut -rp oracle:v6:_sincos_oracle.lus:sincos_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Runtime error: 'nil' is not a 'numeric'
+
+*** Warning: type error, 0 is an int, but a real is expected. I convert it to '0.'
+Failure occured in lurette: The oracle first output should be a bool; but ok has type nil
+Lurette launched a process that failed (exit 2).
+ 
+break signal catched
+
+lurettetop: bye!
++ echo error
+error
++ exit 2
+FAIL: Try to compare lus2lic -exec and -2c: ../utils/compare_exec_and_2c should_work/sincos.lus
+spawn ./lus2lic -o ./tmp/newpacks.lic should_work/newpacks.lus
+PASS: ./lus2lic {-o ./tmp/newpacks.lic should_work/newpacks.lus}
+spawn ./lus2lic -ec -o ./tmp/newpacks.ec should_work/newpacks.lus
+PASS: ./lus2lic {-ec -o ./tmp/newpacks.ec should_work/newpacks.lus}
+spawn ./myec2c -o ./tmp/newpacks.c ./tmp/newpacks.ec
+PASS: ./myec2c {-o ./tmp/newpacks.c ./tmp/newpacks.ec}
+spawn ./lus2lic -2c should_work/newpacks.lus -n newpacks
 *** Can not find package 'newpacks' in the following packages: 
 ***	 'pbool'
 ***	 'mainPack'
 ***	 'pint'
 ***	 'inter'
 ***	 'preal'
-+ echo Error
-Error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/newpacks.lus
-spawn ./lus2lic -o /tmp/morel5.lic should_work/morel5.lus
-PASS: ./lus2lic {-o /tmp/morel5.lic should_work/morel5.lus}
-spawn ./lus2lic -ec -o /tmp/morel5.ec should_work/morel5.lus
-PASS: ./lus2lic {-ec -o /tmp/morel5.ec should_work/morel5.lus}
-spawn ./myec2c -o /tmp/morel5.c /tmp/morel5.ec
-PASS: ./myec2c {-o /tmp/morel5.c /tmp/morel5.ec}
+PASS: ./lus2lic {-2c should_work/newpacks.lus -n newpacks}
+spawn ./lus2lic -o ./tmp/morel5.lic should_work/morel5.lus
+PASS: ./lus2lic {-o ./tmp/morel5.lic should_work/morel5.lus}
+spawn ./lus2lic -ec -o ./tmp/morel5.ec should_work/morel5.lus
+PASS: ./lus2lic {-ec -o ./tmp/morel5.ec should_work/morel5.lus}
+spawn ./myec2c -o ./tmp/morel5.c ./tmp/morel5.ec
+PASS: ./myec2c {-o ./tmp/morel5.c ./tmp/morel5.ec}
 spawn ../utils/test_lus2lic_no_node should_work/morel5.lus
 + ./lus2lic should_work/morel5.lus -n morel5 --gen-autotest -np
 _morel5_env.lut generated.
@@ -2545,7 +6245,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -2554,12 +6254,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/morel5.lus
-spawn ./lus2lic -o /tmp/bred.lic should_work/bred.lus
-PASS: ./lus2lic {-o /tmp/bred.lic should_work/bred.lus}
-spawn ./lus2lic -ec -o /tmp/bred.ec should_work/bred.lus
-PASS: ./lus2lic {-ec -o /tmp/bred.ec should_work/bred.lus}
-spawn ./myec2c -o /tmp/bred.c /tmp/bred.ec
-PASS: ./myec2c {-o /tmp/bred.c /tmp/bred.ec}
+spawn ./lus2lic -2c should_work/morel5.lus -n morel5
+morel5_morel5_loop.c has been generated.
+morel5_morel5.h has been generated.
+morel5_morel5.c has been generated.
+you can compile those files doing, e.g.,
+  gcc morel5_morel5.c morel5_morel5_loop.c
+PASS: ./lus2lic {-2c should_work/morel5.lus -n morel5}
+spawn rm -f a.out
+spawn gcc morel5_morel5.c morel5_morel5_loop.c
+PASS: gcc morel5_morel5.c morel5_morel5_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/morel5.lus
++ ./lus2lic should_work/morel5.lus -n morel5 --gen-autotest -np
+_morel5_env.lut generated.
+_morel5_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/morel5.lus
++ ./lus2lic should_work/morel5.lus -n morel5 -2c -cc
+morel5_morel5_loop.c has been generated.
+morel5_morel5.h has been generated.
+morel5_morel5.c has been generated.
+sys call: 'gcc morel5_morel5.c morel5_morel5_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_morel5_env.lut -rp oracle:v6:_morel5_oracle.lus:morel5_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/morel5.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/morel5.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/morel5.lus
+spawn ./lus2lic -o ./tmp/bred.lic should_work/bred.lus
+PASS: ./lus2lic {-o ./tmp/bred.lic should_work/bred.lus}
+spawn ./lus2lic -ec -o ./tmp/bred.ec should_work/bred.lus
+PASS: ./lus2lic {-ec -o ./tmp/bred.ec should_work/bred.lus}
+spawn ./myec2c -o ./tmp/bred.c ./tmp/bred.ec
+PASS: ./myec2c {-o ./tmp/bred.c ./tmp/bred.ec}
 spawn ../utils/test_lus2lic_no_node should_work/bred.lus
 + ./lus2lic should_work/bred.lus -n bred --gen-autotest -np
 _bred_env.lut generated.
@@ -2571,12 +6315,87 @@ lus2lic --gen-autotest done
 + echo lus2lic -ec done
 lus2lic -ec done
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:bred.ec:bred -rp env:lutin:_bred_env.lut -rp oracle:v6:_bred_oracle.lus:bred_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./lurettetop -p 6 -seed 42 -rp sut:ec:bred.ec:bred -rp env:lutin:_bred_env.lut -rp oracle:v6:_bred_oracle.lus:bred_oracle -go -l 10 -ns2c --stop-on-oracle-error
+RP Variables are compatible.
+quit
+
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/test_lus2lic_no_node should_work/bred.lus
+spawn ./lus2lic -2c should_work/bred.lus -n bred
+bred_bred_loop.c has been generated.
+bred_bred.h has been generated.
+bred_bred.c has been generated.
+you can compile those files doing, e.g.,
+  gcc bred_bred.c bred_bred_loop.c
+PASS: ./lus2lic {-2c should_work/bred.lus -n bred}
+spawn rm -f a.out
+spawn gcc bred_bred.c bred_bred_loop.c
+PASS: gcc bred_bred.c bred_bred_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/bred.lus
++ ./lus2lic should_work/bred.lus -n bred --gen-autotest -np
+_bred_env.lut generated.
+_bred_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/bred.lus
++ ./lus2lic should_work/bred.lus -n bred -2c -cc
+bred_bred_loop.c has been generated.
+bred_bred.h has been generated.
+bred_bred.c has been generated.
+sys call: 'gcc bred_bred.c bred_bred_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed+  42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_bred_env.lut -rp oracle:v6:_bred_oracle.lus:bred_oracle./call-via-socket -go -server -l -addr 10 127.0.0.1 -ns2c -port --stop-on-oracle-error 2001
+ ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/bred.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/bred.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/bred.lus
+spawn ./lus2lic -o ./tmp/test_diese.lic should_work/test_diese.lus
+PASS: ./lus2lic {-o ./tmp/test_diese.lic should_work/test_diese.lus}
+spawn ./lus2lic -ec -o ./tmp/test_diese.ec should_work/test_diese.lus
+PASS: ./lus2lic {-ec -o ./tmp/test_diese.ec should_work/test_diese.lus}
+spawn ./myec2c -o ./tmp/test_diese.c ./tmp/test_diese.ec
+PASS: ./myec2c {-o ./tmp/test_diese.c ./tmp/test_diese.ec}
+spawn ../utils/test_lus2lic_no_node should_work/test_diese.lus
++ ./lus2lic should_work/test_diese.lus -n test_diese --gen-autotest -np
+_test_diese_env.lut generated.
+_test_diese_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/test_diese.lus
++ ./lus2lic should_work/test_diese.lus -n test_diese -ec -o test_diese.ec
++ echo lus2lic -ec done
+lus2lic -ec done
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:ec:test_diese.ec:test_diese -rp env:lutin:_test_diese_env.lut -rp oracle:v6:_test_diese_oracle.lus:test_diese_oracle -go -l 10 -ns2c --stop-on-oracle-error
 RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -2584,44 +6403,57 @@ lurettetop: bye!
 + echo lurettetop ok
 lurettetop ok
 + exit 0
-PASS: ../utils/test_lus2lic_no_node should_work/bred.lus
-spawn ./lus2lic -o /tmp/test_diese.lic should_work/test_diese.lus
-PASS: ./lus2lic {-o /tmp/test_diese.lic should_work/test_diese.lus}
-spawn ./lus2lic -ec -o /tmp/test_diese.ec should_work/test_diese.lus
-PASS: ./lus2lic {-ec -o /tmp/test_diese.ec should_work/test_diese.lus}
-spawn ./myec2c -o /tmp/test_diese.c /tmp/test_diese.ec
-PASS: ./myec2c {-o /tmp/test_diese.c /tmp/test_diese.ec}
-spawn ../utils/test_lus2lic_no_node should_work/test_diese.lus
+PASS: ../utils/test_lus2lic_no_node should_work/test_diese.lus
+spawn ./lus2lic -2c should_work/test_diese.lus -n test_diese
+test_diese_test_diese_loop.c has been generated.
+test_diese_test_diese.h has been generated.
+test_diese_test_diese.c has been generated.
+you can compile those files doing, e.g.,
+  gcc test_diese_test_diese.c test_diese_test_diese_loop.c
+PASS: ./lus2lic {-2c should_work/test_diese.lus -n test_diese}
+spawn rm -f a.out
+spawn gcc test_diese_test_diese.c test_diese_test_diese_loop.c
+PASS: gcc test_diese_test_diese.c test_diese_test_diese_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/test_diese.lus
 + ./lus2lic should_work/test_diese.lus -n test_diese --gen-autotest -np
 _test_diese_env.lut generated.
 _test_diese_oracle.lus generated.
 + echo lus2lic --gen-autotest done
 lus2lic --gen-autotest done
 + cat should_work/test_diese.lus
-+ ./lus2lic should_work/test_diese.lus -n test_diese -ec -o test_diese.ec
-+ echo lus2lic -ec done
-lus2lic -ec done
++ ./lus2lic should_work/test_diese.lus -n test_diese -2c -cc
+test_diese_test_diese_loop.c has been generated.
+test_diese_test_diese.h has been generated.
+test_diese_test_diese.c has been generated.
+sys call: 'gcc test_diese_test_diese.c test_diese_test_diese_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:test_diese.ec:test_diese -rp env:lutin:_test_diese_env.lut -rp oracle:v6:_test_diese_oracle.lus:test_diese_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_test_diese_env.lut -rp oracle:v6:_test_diese_oracle.lus:test_diese_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
 RP Variables are compatible.
-quit
-
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/test_diese.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/test_diese.lus: ok
 + echo lurettetop ok
 lurettetop ok
 + exit 0
-PASS: ../utils/test_lus2lic_no_node should_work/test_diese.lus
-spawn ./lus2lic -o /tmp/tri.lic should_work/tri.lus
-PASS: ./lus2lic {-o /tmp/tri.lic should_work/tri.lus}
-spawn ./lus2lic -ec -o /tmp/tri.ec should_work/tri.lus
-PASS: ./lus2lic {-ec -o /tmp/tri.ec should_work/tri.lus}
-spawn ./myec2c -o /tmp/tri.c /tmp/tri.ec
-PASS: ./myec2c {-o /tmp/tri.c /tmp/tri.ec}
+PASS: ../utils/compare_exec_and_2c should_work/test_diese.lus
+spawn ./lus2lic -o ./tmp/tri.lic should_work/tri.lus
+PASS: ./lus2lic {-o ./tmp/tri.lic should_work/tri.lus}
+spawn ./lus2lic -ec -o ./tmp/tri.ec should_work/tri.lus
+PASS: ./lus2lic {-ec -o ./tmp/tri.ec should_work/tri.lus}
+spawn ./myec2c -o ./tmp/tri.c ./tmp/tri.ec
+PASS: ./myec2c {-o ./tmp/tri.c ./tmp/tri.ec}
 spawn ../utils/test_lus2lic_no_node should_work/tri.lus
 + ./lus2lic should_work/tri.lus -n tri --gen-autotest -np
 _tri_env.lut generated.
@@ -2638,7 +6470,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -2647,12 +6479,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/tri.lus
-spawn ./lus2lic -o /tmp/calculs_max.lic should_work/calculs_max.lus
-PASS: ./lus2lic {-o /tmp/calculs_max.lic should_work/calculs_max.lus}
-spawn ./lus2lic -ec -o /tmp/calculs_max.ec should_work/calculs_max.lus
-PASS: ./lus2lic {-ec -o /tmp/calculs_max.ec should_work/calculs_max.lus}
-spawn ./myec2c -o /tmp/calculs_max.c /tmp/calculs_max.ec
-PASS: ./myec2c {-o /tmp/calculs_max.c /tmp/calculs_max.ec}
+spawn ./lus2lic -2c should_work/tri.lus -n tri
+tri_tri_loop.c has been generated.
+tri_tri.h has been generated.
+tri_tri.c has been generated.
+you can compile those files doing, e.g.,
+  gcc tri_tri.c tri_tri_loop.c
+PASS: ./lus2lic {-2c should_work/tri.lus -n tri}
+spawn rm -f a.out
+spawn gcc tri_tri.c tri_tri_loop.c
+PASS: gcc tri_tri.c tri_tri_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/tri.lus
++ ./lus2lic should_work/tri.lus -n tri --gen-autotest -np
+_tri_env.lut generated.
+_tri_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/tri.lus
++ ./lus2lic should_work/tri.lus -n tri -2c -cc
+tri_tri_loop.c has been generated.
+tri_tri.h has been generated.
+tri_tri.c has been generated.
+sys call: 'gcc tri_tri.c tri_tri_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_tri_env.lut -rp oracle:v6:_tri_oracle.lus:tri_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/tri.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/tri.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/tri.lus
+spawn ./lus2lic -o ./tmp/calculs_max.lic should_work/calculs_max.lus
+PASS: ./lus2lic {-o ./tmp/calculs_max.lic should_work/calculs_max.lus}
+spawn ./lus2lic -ec -o ./tmp/calculs_max.ec should_work/calculs_max.lus
+PASS: ./lus2lic {-ec -o ./tmp/calculs_max.ec should_work/calculs_max.lus}
+spawn ./myec2c -o ./tmp/calculs_max.c ./tmp/calculs_max.ec
+PASS: ./myec2c {-o ./tmp/calculs_max.c ./tmp/calculs_max.ec}
 spawn ../utils/test_lus2lic_no_node should_work/calculs_max.lus
 + ./lus2lic should_work/calculs_max.lus -n calculs_max --gen-autotest -np
 _calculs_max_env.lut generated.
@@ -2669,7 +6545,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -2678,12 +6554,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/calculs_max.lus
-spawn ./lus2lic -o /tmp/testCA.lic should_work/testCA.lus
-PASS: ./lus2lic {-o /tmp/testCA.lic should_work/testCA.lus}
-spawn ./lus2lic -ec -o /tmp/testCA.ec should_work/testCA.lus
-PASS: ./lus2lic {-ec -o /tmp/testCA.ec should_work/testCA.lus}
-spawn ./myec2c -o /tmp/testCA.c /tmp/testCA.ec
-PASS: ./myec2c {-o /tmp/testCA.c /tmp/testCA.ec}
+spawn ./lus2lic -2c should_work/calculs_max.lus -n calculs_max
+calculs_max_calculs_max_loop.c has been generated.
+calculs_max_calculs_max.h has been generated.
+calculs_max_calculs_max.c has been generated.
+you can compile those files doing, e.g.,
+  gcc calculs_max_calculs_max.c calculs_max_calculs_max_loop.c
+PASS: ./lus2lic {-2c should_work/calculs_max.lus -n calculs_max}
+spawn rm -f a.out
+spawn gcc calculs_max_calculs_max.c calculs_max_calculs_max_loop.c
+PASS: gcc calculs_max_calculs_max.c calculs_max_calculs_max_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/calculs_max.lus
++ ./lus2lic should_work/calculs_max.lus -n calculs_max --gen-autotest -np
+_calculs_max_env.lut generated.
+_calculs_max_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/calculs_max.lus
++ ./lus2lic should_work/calculs_max.lus -n calculs_max -2c -cc
+calculs_max_calculs_max_loop.c has been generated.
+calculs_max_calculs_max.h has been generated.
+calculs_max_calculs_max.c has been generated.
+sys call: 'gcc calculs_max_calculs_max.c calculs_max_calculs_max_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_calculs_max_env.lut -rp oracle:v6:_calculs_max_oracle.lus:calculs_max_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/calculs_max.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/calculs_max.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/calculs_max.lus
+spawn ./lus2lic -o ./tmp/testCA.lic should_work/testCA.lus
+PASS: ./lus2lic {-o ./tmp/testCA.lic should_work/testCA.lus}
+spawn ./lus2lic -ec -o ./tmp/testCA.ec should_work/testCA.lus
+PASS: ./lus2lic {-ec -o ./tmp/testCA.ec should_work/testCA.lus}
+spawn ./myec2c -o ./tmp/testCA.c ./tmp/testCA.ec
+PASS: ./myec2c {-o ./tmp/testCA.c ./tmp/testCA.ec}
 spawn ../utils/test_lus2lic_no_node should_work/testCA.lus
 + ./lus2lic should_work/testCA.lus -n testCA --gen-autotest -np
 _testCA_env.lut generated.
@@ -2700,7 +6620,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -2709,19 +6629,92 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/testCA.lus
-spawn ./lus2lic -o /tmp/deconne.lic should_work/deconne.lus
-PASS: ./lus2lic {-o /tmp/deconne.lic should_work/deconne.lus}
-spawn ./lus2lic -ec -o /tmp/deconne.ec should_work/deconne.lus
-PASS: ./lus2lic {-ec -o /tmp/deconne.ec should_work/deconne.lus}
-spawn ./myec2c -o /tmp/deconne.c /tmp/deconne.ec
-Segmentation fault
-FAIL: Try ec2c on the result: ./myec2c {-o /tmp/deconne.c /tmp/deconne.ec}
-spawn ./lus2lic -o /tmp/noAlarm.lic should_work/noAlarm.lus
-PASS: ./lus2lic {-o /tmp/noAlarm.lic should_work/noAlarm.lus}
-spawn ./lus2lic -ec -o /tmp/noAlarm.ec should_work/noAlarm.lus
-PASS: ./lus2lic {-ec -o /tmp/noAlarm.ec should_work/noAlarm.lus}
-spawn ./myec2c -o /tmp/noAlarm.c /tmp/noAlarm.ec
-PASS: ./myec2c {-o /tmp/noAlarm.c /tmp/noAlarm.ec}
+spawn ./lus2lic -2c should_work/testCA.lus -n testCA
+testCA_testCA_loop.c has been generated.
+testCA_testCA.h has been generated.
+testCA_testCA.c has been generated.
+you can compile those files doing, e.g.,
+  gcc testCA_testCA.c testCA_testCA_loop.c
+PASS: ./lus2lic {-2c should_work/testCA.lus -n testCA}
+spawn rm -f a.out
+spawn gcc testCA_testCA.c testCA_testCA_loop.c
+PASS: gcc testCA_testCA.c testCA_testCA_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/testCA.lus
++ ./lus2lic should_work/testCA.lus -n testCA --gen-autotest -np
+_testCA_env.lut generated.
+_testCA_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/testCA.lus
++ ./lus2lic should_work/testCA.lus -n testCA -2c -cc
+testCA_testCA_loop.c has been generated.
+testCA_testCA.h has been generated.
+testCA_testCA.c has been generated.
+sys call: 'gcc testCA_testCA.c testCA_testCA_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_testCA_env.lut -rp oracle:v6:_testCA_oracle.lus:testCA_oracle -go -l 10 -ns2c+  --stop-on-oracle-error
+./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/testCA.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/testCA.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/testCA.lus
+spawn ./lus2lic -o ./tmp/test_extern.lic should_work/test_extern.lus
+PASS: ./lus2lic {-o ./tmp/test_extern.lic should_work/test_extern.lus}
+spawn ./lus2lic -ec -o ./tmp/test_extern.ec should_work/test_extern.lus
+PASS: ./lus2lic {-ec -o ./tmp/test_extern.ec should_work/test_extern.lus}
+spawn ./myec2c -o ./tmp/test_extern.c ./tmp/test_extern.ec
+PASS: ./myec2c {-o ./tmp/test_extern.c ./tmp/test_extern.ec}
+spawn ./lus2lic -2c should_work/test_extern.lus -n test_extern
+test_extern_test_extern_ext.h has been generated.
+test_extern_test_extern_ext.c has been generated.
+test_extern_test_extern_loop.c has been generated.
+test_extern_test_extern.h has been generated.
+test_extern_test_extern.c has been generated.
+you can compile those files doing, e.g.,
+   gcc test_extern_test_extern.c test_extern_test_extern_ext.c test_extern_test_extern_loop.c
+PASS: ./lus2lic {-2c should_work/test_extern.lus -n test_extern}
+spawn rm -f a.out
+spawn gcc test_extern_test_extern.c test_extern_test_extern_ext.c test_extern_test_extern_loop.c
+PASS: gcc test_extern_test_extern.c test_extern_test_extern_ext.c test_extern_test_extern_loop.c 
+spawn ./lus2lic -o ./tmp/deconne.lic should_work/deconne.lus
+PASS: ./lus2lic {-o ./tmp/deconne.lic should_work/deconne.lus}
+spawn ./lus2lic -ec -o ./tmp/deconne.ec should_work/deconne.lus
+PASS: ./lus2lic {-ec -o ./tmp/deconne.ec should_work/deconne.lus}
+spawn ./myec2c -o ./tmp/deconne.c ./tmp/deconne.ec
+PASS: ./myec2c {-o ./tmp/deconne.c ./tmp/deconne.ec}
+spawn ./lus2lic -2c should_work/deconne.lus -n deconne
+deconne_deconne_ext.h has been generated.
+deconne_deconne_ext.c has been generated.
+deconne_deconne_loop.c has been generated.
+deconne_deconne.h has been generated.
+deconne_deconne.c has been generated.
+you can compile those files doing, e.g.,
+   gcc deconne_deconne.c deconne_deconne_ext.c deconne_deconne_loop.c
+PASS: ./lus2lic {-2c should_work/deconne.lus -n deconne}
+spawn rm -f a.out
+spawn gcc deconne_deconne.c deconne_deconne_ext.c deconne_deconne_loop.c
+PASS: gcc deconne_deconne.c deconne_deconne_ext.c deconne_deconne_loop.c 
+spawn ./lus2lic -o ./tmp/noAlarm.lic should_work/noAlarm.lus
+PASS: ./lus2lic {-o ./tmp/noAlarm.lic should_work/noAlarm.lus}
+spawn ./lus2lic -ec -o ./tmp/noAlarm.ec should_work/noAlarm.lus
+PASS: ./lus2lic {-ec -o ./tmp/noAlarm.ec should_work/noAlarm.lus}
+spawn ./myec2c -o ./tmp/noAlarm.c ./tmp/noAlarm.ec
+PASS: ./myec2c {-o ./tmp/noAlarm.c ./tmp/noAlarm.ec}
 spawn ../utils/test_lus2lic_no_node should_work/noAlarm.lus
 + ./lus2lic should_work/noAlarm.lus -n noAlarm --gen-autotest -np
 _noAlarm_env.lut generated.
@@ -2738,7 +6731,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -2747,12 +6740,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/noAlarm.lus
-spawn ./lus2lic -o /tmp/clock_ite.lic should_work/clock_ite.lus
-PASS: ./lus2lic {-o /tmp/clock_ite.lic should_work/clock_ite.lus}
-spawn ./lus2lic -ec -o /tmp/clock_ite.ec should_work/clock_ite.lus
-PASS: ./lus2lic {-ec -o /tmp/clock_ite.ec should_work/clock_ite.lus}
-spawn ./myec2c -o /tmp/clock_ite.c /tmp/clock_ite.ec
-PASS: ./myec2c {-o /tmp/clock_ite.c /tmp/clock_ite.ec}
+spawn ./lus2lic -2c should_work/noAlarm.lus -n noAlarm
+noAlarm_noAlarm_loop.c has been generated.
+noAlarm_noAlarm.h has been generated.
+noAlarm_noAlarm.c has been generated.
+you can compile those files doing, e.g.,
+  gcc noAlarm_noAlarm.c noAlarm_noAlarm_loop.c
+PASS: ./lus2lic {-2c should_work/noAlarm.lus -n noAlarm}
+spawn rm -f a.out
+spawn gcc noAlarm_noAlarm.c noAlarm_noAlarm_loop.c
+PASS: gcc noAlarm_noAlarm.c noAlarm_noAlarm_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/noAlarm.lus
++ ./lus2lic should_work/noAlarm.lus -n noAlarm --gen-autotest -np
+_noAlarm_env.lut generated.
+_noAlarm_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/noAlarm.lus
++ ./lus2lic should_work/noAlarm.lus -n noAlarm -2c -cc
+noAlarm_noAlarm_loop.c has been generated.
+noAlarm_noAlarm.h has been generated.
+noAlarm_noAlarm.c has been generated.
+sys call: 'gcc noAlarm_noAlarm.c noAlarm_noAlarm_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_noAlarm_env.lut -rp oracle:v6:_noAlarm_oracle.lus:noAlarm_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/noAlarm.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/noAlarm.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/noAlarm.lus
+spawn ./lus2lic -o ./tmp/clock_ite.lic should_work/clock_ite.lus
+PASS: ./lus2lic {-o ./tmp/clock_ite.lic should_work/clock_ite.lus}
+spawn ./lus2lic -ec -o ./tmp/clock_ite.ec should_work/clock_ite.lus
+PASS: ./lus2lic {-ec -o ./tmp/clock_ite.ec should_work/clock_ite.lus}
+spawn ./myec2c -o ./tmp/clock_ite.c ./tmp/clock_ite.ec
+PASS: ./myec2c {-o ./tmp/clock_ite.c ./tmp/clock_ite.ec}
 spawn ../utils/test_lus2lic_no_node should_work/clock_ite.lus
 + ./lus2lic should_work/clock_ite.lus -n clock_ite --gen-autotest -np
 _clock_ite_env.lut generated.
@@ -2765,22 +6802,69 @@ lus2lic --gen-autotest done
 lus2lic -ec done
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
 + ./lurettetop -p 6 -seed 42 -rp sut:ec:clock_ite.ec:clock_ite -rp env:lutin:_clock_ite_env.lut -rp oracle:v6:_clock_ite_oracle.lus:clock_ite_oracle -go -l 10 -ns2c --stop-on-oracle-error
-Error in lurette: Lv6errors.Compile_error(_, "\n*** clock error: The two following clocks are not compatible:\n***\t on base\n***\t on a on base\n")
-Lurette launched a process that failed (exit 2).
- 
+RP Variables are compatible.
+quit
+
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
-+ echo error
-error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/clock_ite.lus
-spawn ./lus2lic -o /tmp/morel4.lic should_work/morel4.lus
-PASS: ./lus2lic {-o /tmp/morel4.lic should_work/morel4.lus}
-spawn ./lus2lic -ec -o /tmp/morel4.ec should_work/morel4.lus
-PASS: ./lus2lic {-ec -o /tmp/morel4.ec should_work/morel4.lus}
-spawn ./myec2c -o /tmp/morel4.c /tmp/morel4.ec
-PASS: ./myec2c {-o /tmp/morel4.c /tmp/morel4.ec}
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/test_lus2lic_no_node should_work/clock_ite.lus
+spawn ./lus2lic -2c should_work/clock_ite.lus -n clock_ite
+clock_ite_clock_ite_loop.c has been generated.
+clock_ite_clock_ite.h has been generated.
+clock_ite_clock_ite.c has been generated.
+you can compile those files doing, e.g.,
+  gcc clock_ite_clock_ite.c clock_ite_clock_ite_loop.c
+PASS: ./lus2lic {-2c should_work/clock_ite.lus -n clock_ite}
+spawn rm -f a.out
+spawn gcc clock_ite_clock_ite.c clock_ite_clock_ite_loop.c
+PASS: gcc clock_ite_clock_ite.c clock_ite_clock_ite_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/clock_ite.lus
++ ./lus2lic should_work/clock_ite.lus -n clock_ite --gen-autotest -np
+_clock_ite_env.lut generated.
+_clock_ite_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/clock_ite.lus
++ ./lus2lic should_work/clock_ite.lus -n clock_ite -2c -cc
+clock_ite_clock_ite_loop.c has been generated.
+clock_ite_clock_ite.h has been generated.
+clock_ite_clock_ite.c has been generated.
+sys call: 'gcc clock_ite_clock_ite.c clock_ite_clock_ite_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_clock_ite_env.lut -rp oracle:v6:_clock_ite_oracle.lus:clock_ite_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/clock_ite.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/clock_ite.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/clock_ite.lus
+spawn ./lus2lic -o ./tmp/morel4.lic should_work/morel4.lus
+PASS: ./lus2lic {-o ./tmp/morel4.lic should_work/morel4.lus}
+spawn ./lus2lic -ec -o ./tmp/morel4.ec should_work/morel4.lus
+PASS: ./lus2lic {-ec -o ./tmp/morel4.ec should_work/morel4.lus}
+spawn ./myec2c -o ./tmp/morel4.c ./tmp/morel4.ec
+PASS: ./myec2c {-o ./tmp/morel4.c ./tmp/morel4.ec}
 spawn ../utils/test_lus2lic_no_node should_work/morel4.lus
 + ./lus2lic should_work/morel4.lus -n morel4 --gen-autotest -np
 _morel4_env.lut generated.
@@ -2797,7 +6881,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -2806,12 +6890,84 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/morel4.lus
-spawn ./lus2lic -o /tmp/param_node4.lic should_work/param_node4.lus
-PASS: ./lus2lic {-o /tmp/param_node4.lic should_work/param_node4.lus}
-spawn ./lus2lic -ec -o /tmp/param_node4.ec should_work/param_node4.lus
-PASS: ./lus2lic {-ec -o /tmp/param_node4.ec should_work/param_node4.lus}
-spawn ./myec2c -o /tmp/param_node4.c /tmp/param_node4.ec
-PASS: ./myec2c {-o /tmp/param_node4.c /tmp/param_node4.ec}
+spawn ./lus2lic -2c should_work/morel4.lus -n morel4
+
+*** oops: lus2lic internal error
+	File "src/soc2c.ml", line 103, column 32
+*** when compiling lustre program should_work/morel4.lus
+
+*** You migth want to sent a bug report to jahier@imag.fr
+FAIL: Generate c code  : ./lus2lic {-2c should_work/morel4.lus -n morel4}
+spawn rm -f a.out
+spawn gcc morel4_morel4.c morel4_morel4_loop.c
+In file included from morel4_morel4.c:4:0:
+morel4_morel4.h:21:0: error: unterminated #ifndef
+morel4_morel4.c: In function 'morel4_tab_bibbbiii_step':
+morel4_morel4.c:227:3: error: expected declaration or statement at end of input
+In file included from morel4_morel4_loop.c:8:0:
+morel4_morel4.h:21:0: error: unterminated #ifndef
+FAIL: Check that the generated C code compiles  : gcc morel4_morel4.c morel4_morel4_loop.c 
+spawn ./lus2lic -o ./tmp/trivial_array.lic should_work/trivial_array.lus
+PASS: ./lus2lic {-o ./tmp/trivial_array.lic should_work/trivial_array.lus}
+spawn ./lus2lic -ec -o ./tmp/trivial_array.ec should_work/trivial_array.lus
+*** Error in file "/home/jahier/lus2lic/test/should_work/trivial_array.lus", line 3, col 3 to 3, token '=':
+*** *** error expression v04_0_0, v04_0_1, v04_0_2, v04_1_0, v04_1_1, v04_1_2, v04_2_0, v04_2_1, v04_2_2 | v05_0_0, v05_0_1, v05_0_2
+ cannot be broken 
+v04_0_0, v04_0_1, v04_0_2, v04_1_0, v04_1_1, v04_1_2, v04_2_0, v04_2_1, v04_2_2 should have the same arity as
+v05_0_0, v05_0_1, v05_0_2
+
+
+FAIL: Generate ec code  : ./lus2lic {-ec -o ./tmp/trivial_array.ec should_work/trivial_array.lus}
+spawn ./lus2lic -2c should_work/trivial_array.lus -n trivial_array
+trivial_array_trivial_array_loop.c has been generated.
+trivial_array_trivial_array.h has been generated.
+trivial_array_trivial_array.c has been generated.
+you can compile those files doing, e.g.,
+  gcc trivial_array_trivial_array.c trivial_array_trivial_array_loop.c
+PASS: ./lus2lic {-2c should_work/trivial_array.lus -n trivial_array}
+spawn rm -f a.out
+spawn gcc trivial_array_trivial_array.c trivial_array_trivial_array_loop.c
+PASS: gcc trivial_array_trivial_array.c trivial_array_trivial_array_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/trivial_array.lus
++ ./lus2lic should_work/trivial_array.lus -n trivial_array --gen-autotest -np
+_trivial_array_env.lut generated.
+_trivial_array_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/trivial_array.lus
++ ./lus2lic should_work/trivial_array.lus -n trivial_array -2c -cc
+trivial_array_trivial_array_loop.c has been generated.
+trivial_array_trivial_array.h has been generated.
+trivial_array_trivial_array.c has been generated.
+sys call: 'gcc trivial_array_trivial_array.c trivial_array_trivial_array_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_trivial_array_env.lut -rp oracle:v6:_trivial_array_oracle.lus:trivial_array_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/trivial_array.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/trivial_array.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/trivial_array.lus
+spawn ./lus2lic -o ./tmp/param_node4.lic should_work/param_node4.lus
+PASS: ./lus2lic {-o ./tmp/param_node4.lic should_work/param_node4.lus}
+spawn ./lus2lic -ec -o ./tmp/param_node4.ec should_work/param_node4.lus
+PASS: ./lus2lic {-ec -o ./tmp/param_node4.ec should_work/param_node4.lus}
+spawn ./myec2c -o ./tmp/param_node4.c ./tmp/param_node4.ec
+PASS: ./myec2c {-o ./tmp/param_node4.c ./tmp/param_node4.ec}
 spawn ../utils/test_lus2lic_no_node should_work/param_node4.lus
 + ./lus2lic should_work/param_node4.lus -n param_node4 --gen-autotest -np
 _param_node4_env.lut generated.
@@ -2828,7 +6984,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -2837,12 +6993,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/param_node4.lus
-spawn ./lus2lic -o /tmp/bad_call03.lic should_work/bad_call03.lus
-PASS: ./lus2lic {-o /tmp/bad_call03.lic should_work/bad_call03.lus}
-spawn ./lus2lic -ec -o /tmp/bad_call03.ec should_work/bad_call03.lus
-PASS: ./lus2lic {-ec -o /tmp/bad_call03.ec should_work/bad_call03.lus}
-spawn ./myec2c -o /tmp/bad_call03.c /tmp/bad_call03.ec
-PASS: ./myec2c {-o /tmp/bad_call03.c /tmp/bad_call03.ec}
+spawn ./lus2lic -2c should_work/param_node4.lus -n param_node4
+param_node4_param_node4_loop.c has been generated.
+param_node4_param_node4.h has been generated.
+param_node4_param_node4.c has been generated.
+you can compile those files doing, e.g.,
+  gcc param_node4_param_node4.c param_node4_param_node4_loop.c
+PASS: ./lus2lic {-2c should_work/param_node4.lus -n param_node4}
+spawn rm -f a.out
+spawn gcc param_node4_param_node4.c param_node4_param_node4_loop.c
+PASS: gcc param_node4_param_node4.c param_node4_param_node4_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/param_node4.lus
++ ./lus2lic should_work/param_node4.lus -n param_node4 --gen-autotest -np
+_param_node4_env.lut generated.
+_param_node4_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/param_node4.lus
++ ./lus2lic should_work/param_node4.lus -n param_node4 -2c -cc
+param_node4_param_node4_loop.c has been generated.
+param_node4_param_node4.h has been generated.
+param_node4_param_node4.c has been generated.
+sys call: 'gcc param_node4_param_node4.c param_node4_param_node4_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_param_node4_env.lut -rp oracle:v6:_param_node4_oracle.lus:param_node4_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/param_node4.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/param_node4.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/param_node4.lus
+spawn ./lus2lic -o ./tmp/bad_call03.lic should_work/bad_call03.lus
+PASS: ./lus2lic {-o ./tmp/bad_call03.lic should_work/bad_call03.lus}
+spawn ./lus2lic -ec -o ./tmp/bad_call03.ec should_work/bad_call03.lus
+PASS: ./lus2lic {-ec -o ./tmp/bad_call03.ec should_work/bad_call03.lus}
+spawn ./myec2c -o ./tmp/bad_call03.c ./tmp/bad_call03.ec
+PASS: ./myec2c {-o ./tmp/bad_call03.c ./tmp/bad_call03.ec}
 spawn ../utils/test_lus2lic_no_node should_work/bad_call03.lus
 + ./lus2lic should_work/bad_call03.lus -n bad_call03 --gen-autotest -np
 _bad_call03_env.lut generated.
@@ -2859,7 +7059,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -2868,12 +7068,58 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/bad_call03.lus
-spawn ./lus2lic -o /tmp/onlyroll.lic should_work/onlyroll.lus
-PASS: ./lus2lic {-o /tmp/onlyroll.lic should_work/onlyroll.lus}
-spawn ./lus2lic -ec -o /tmp/onlyroll.ec should_work/onlyroll.lus
-PASS: ./lus2lic {-ec -o /tmp/onlyroll.ec should_work/onlyroll.lus}
-spawn ./myec2c -o /tmp/onlyroll.c /tmp/onlyroll.ec
-PASS: ./myec2c {-o /tmp/onlyroll.c /tmp/onlyroll.ec}
+spawn ./lus2lic -2c should_work/bad_call03.lus -n bad_call03
+bad_call03_bad_call03_loop.c has been generated.
+bad_call03_bad_call03.h has been generated.
+bad_call03_bad_call03.c has been generated.
+you can compile those files doing, e.g.,
+  gcc bad_call03_bad_call03.c bad_call03_bad_call03_loop.c
+PASS: ./lus2lic {-2c should_work/bad_call03.lus -n bad_call03}
+spawn rm -f a.out
+spawn gcc bad_call03_bad_call03.c bad_call03_bad_call03_loop.c
+PASS: gcc bad_call03_bad_call03.c bad_call03_bad_call03_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/bad_call03.lus
++ ./lus2lic should_work/bad_call03.lus -n bad_call03 --gen-autotest -np
+_bad_call03_env.lut generated.
+_bad_call03_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/bad_call03.lus
++ ./lus2lic should_work/bad_call03.lus -n bad_call03 -2c -cc
+bad_call03_bad_call03_loop.c has been generated.
+bad_call03_bad_call03.h has been generated.
+bad_call03_bad_call03.c has been generated.
+sys call: 'gcc bad_call03_bad_call03.c bad_call03_bad_call03_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_bad_call03_env.lut -rp oracle:v6:_bad_call03_oracle.lus:bad_call03_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+
+*** Warning: type error, -4542 is an int, but a real is expected. I convert it to '-4542.'
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/bad_call03.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/bad_call03.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/bad_call03.lus
+spawn ./lus2lic -o ./tmp/onlyroll.lic should_work/onlyroll.lus
+PASS: ./lus2lic {-o ./tmp/onlyroll.lic should_work/onlyroll.lus}
+spawn ./lus2lic -ec -o ./tmp/onlyroll.ec should_work/onlyroll.lus
+PASS: ./lus2lic {-ec -o ./tmp/onlyroll.ec should_work/onlyroll.lus}
+spawn ./myec2c -o ./tmp/onlyroll.c ./tmp/onlyroll.ec
+PASS: ./myec2c {-o ./tmp/onlyroll.c ./tmp/onlyroll.ec}
 spawn ../utils/test_lus2lic_no_node should_work/onlyroll.lus
 + ./lus2lic should_work/onlyroll.lus -n onlyroll --gen-autotest -np
 _onlyroll_env.lut generated.
@@ -2890,7 +7136,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -2899,12 +7145,78 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/onlyroll.lus
-spawn ./lus2lic -o /tmp/produitBool.lic should_work/produitBool.lus
-PASS: ./lus2lic {-o /tmp/produitBool.lic should_work/produitBool.lus}
-spawn ./lus2lic -ec -o /tmp/produitBool.ec should_work/produitBool.lus
-PASS: ./lus2lic {-ec -o /tmp/produitBool.ec should_work/produitBool.lus}
-spawn ./myec2c -o /tmp/produitBool.c /tmp/produitBool.ec
-PASS: ./myec2c {-o /tmp/produitBool.c /tmp/produitBool.ec}
+spawn ./lus2lic -2c should_work/onlyroll.lus -n onlyroll
+onlyroll_onlyroll_loop.c has been generated.
+onlyroll_onlyroll.h has been generated.
+onlyroll_onlyroll.c has been generated.
+you can compile those files doing, e.g.,
+  gcc onlyroll_onlyroll.c onlyroll_onlyroll_loop.c
+PASS: ./lus2lic {-2c should_work/onlyroll.lus -n onlyroll}
+spawn rm -f a.out
+spawn gcc onlyroll_onlyroll.c onlyroll_onlyroll_loop.c
+PASS: gcc onlyroll_onlyroll.c onlyroll_onlyroll_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/onlyroll.lus
++ ./lus2lic should_work/onlyroll.lus -n onlyroll --gen-autotest -np
+_onlyroll_env.lut generated.
+_onlyroll_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/onlyroll.lus
++ ./lus2lic should_work/onlyroll.lus -n onlyroll -2c -cc
+onlyroll_onlyroll_loop.c has been generated.
+onlyroll_onlyroll.h has been generated.
+onlyroll_onlyroll.c has been generated.
+sys call: 'gcc onlyroll_onlyroll.c onlyroll_onlyroll_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_onlyroll_env.lut -rp oracle:v6:_onlyroll_oracle.lus:onlyroll_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+
+*** Warning: type error, 1 is an int, but a real is expected. I convert it to '1.'
+
+*** Warning: type error, 1 is an int, but a real is expected. I convert it to '1.'
+
+*** Warning: type error, 1 is an int, but a real is expected. I convert it to '1.'
+
+*** Warning: type error, 1 is an int, but a real is expected. I convert it to '1.'
+
+*** Warning: type error, 1 is an int, but a real is expected. I convert it to '1.'
+
+*** Warning: type error, 1 is an int, but a real is expected. I convert it to '1.'
+
+*** Warning: type error, 1 is an int, but a real is expected. I convert it to '1.'
+
+*** Warning: type error, 1 is an int, but a real is expected. I convert it to '1.'
+
+*** Warning: type error, 1 is an int, but a real is expected. I convert it to '1.'
+
+*** Warning: type error, 1 is an int, but a real is expected. I convert it to '1.'
+
+*** Warning: type error, 1 is an int, but a real is expected. I convert it to '1.'
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/onlyroll.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/onlyroll.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/onlyroll.lus
+spawn ./lus2lic -o ./tmp/produitBool.lic should_work/produitBool.lus
+PASS: ./lus2lic {-o ./tmp/produitBool.lic should_work/produitBool.lus}
+spawn ./lus2lic -ec -o ./tmp/produitBool.ec should_work/produitBool.lus
+PASS: ./lus2lic {-ec -o ./tmp/produitBool.ec should_work/produitBool.lus}
+spawn ./myec2c -o ./tmp/produitBool.c ./tmp/produitBool.ec
+PASS: ./myec2c {-o ./tmp/produitBool.c ./tmp/produitBool.ec}
 spawn ../utils/test_lus2lic_no_node should_work/produitBool.lus
 + ./lus2lic should_work/produitBool.lus -n produitBool --gen-autotest -np
 _produitBool_env.lut generated.
@@ -2921,7 +7233,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -2930,12 +7242,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/produitBool.lus
-spawn ./lus2lic -o /tmp/noeudsIndependants.lic should_work/noeudsIndependants.lus
-PASS: ./lus2lic {-o /tmp/noeudsIndependants.lic should_work/noeudsIndependants.lus}
-spawn ./lus2lic -ec -o /tmp/noeudsIndependants.ec should_work/noeudsIndependants.lus
-PASS: ./lus2lic {-ec -o /tmp/noeudsIndependants.ec should_work/noeudsIndependants.lus}
-spawn ./myec2c -o /tmp/noeudsIndependants.c /tmp/noeudsIndependants.ec
-PASS: ./myec2c {-o /tmp/noeudsIndependants.c /tmp/noeudsIndependants.ec}
+spawn ./lus2lic -2c should_work/produitBool.lus -n produitBool
+produitBool_produitBool_loop.c has been generated.
+produitBool_produitBool.h has been generated.
+produitBool_produitBool.c has been generated.
+you can compile those files doing, e.g.,
+  gcc produitBool_produitBool.c produitBool_produitBool_loop.c
+PASS: ./lus2lic {-2c should_work/produitBool.lus -n produitBool}
+spawn rm -f a.out
+spawn gcc produitBool_produitBool.c produitBool_produitBool_loop.c
+PASS: gcc produitBool_produitBool.c produitBool_produitBool_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/produitBool.lus
++ ./lus2lic should_work/produitBool.lus -n produitBool --gen-autotest -np
+_produitBool_env.lut generated.
+_produitBool_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/produitBool.lus
++ ./lus2lic should_work/produitBool.lus -n produitBool -2c -cc
+produitBool_produitBool_loop.c has been generated.
+produitBool_produitBool.h has been generated.
+produitBool_produitBool.c has been generated.
+sys call: 'gcc produitBool_produitBool.c produitBool_produitBool_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_produitBool_env.lut -rp oracle:v6:_produitBool_oracle.lus:produitBool_oracle+  -go -l 10 -ns2c --stop-on-oracle-error
+./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/produitBool.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/produitBool.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/produitBool.lus
+spawn ./lus2lic -o ./tmp/noeudsIndependants.lic should_work/noeudsIndependants.lus
+PASS: ./lus2lic {-o ./tmp/noeudsIndependants.lic should_work/noeudsIndependants.lus}
+spawn ./lus2lic -ec -o ./tmp/noeudsIndependants.ec should_work/noeudsIndependants.lus
+PASS: ./lus2lic {-ec -o ./tmp/noeudsIndependants.ec should_work/noeudsIndependants.lus}
+spawn ./myec2c -o ./tmp/noeudsIndependants.c ./tmp/noeudsIndependants.ec
+PASS: ./myec2c {-o ./tmp/noeudsIndependants.c ./tmp/noeudsIndependants.ec}
 spawn ../utils/test_lus2lic_no_node should_work/noeudsIndependants.lus
 + ./lus2lic should_work/noeudsIndependants.lus -n noeudsIndependants --gen-autotest -np
 _noeudsIndependants_env.lut generated.
@@ -2952,7 +7308,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -2961,29 +7317,148 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/noeudsIndependants.lus
-spawn ./lus2lic -o /tmp/mouse.lic should_work/mouse.lus
-PASS: ./lus2lic {-o /tmp/mouse.lic should_work/mouse.lus}
-spawn ./lus2lic -ec -o /tmp/mouse.ec should_work/mouse.lus
-PASS: ./lus2lic {-ec -o /tmp/mouse.ec should_work/mouse.lus}
-spawn ./myec2c -o /tmp/mouse.c /tmp/mouse.ec
-PASS: ./myec2c {-o /tmp/mouse.c /tmp/mouse.ec}
+spawn ./lus2lic -2c should_work/noeudsIndependants.lus -n noeudsIndependants
+noeudsIndependants_noeudsIndependants_loop.c has been generated.
+noeudsIndependants_noeudsIndependants.h has been generated.
+noeudsIndependants_noeudsIndependants.c has been generated.
+you can compile those files doing, e.g.,
+  gcc noeudsIndependants_noeudsIndependants.c noeudsIndependants_noeudsIndependants_loop.c
+PASS: ./lus2lic {-2c should_work/noeudsIndependants.lus -n noeudsIndependants}
+spawn rm -f a.out
+spawn gcc noeudsIndependants_noeudsIndependants.c noeudsIndependants_noeudsIndependants_loop.c
+PASS: gcc noeudsIndependants_noeudsIndependants.c noeudsIndependants_noeudsIndependants_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/noeudsIndependants.lus
++ ./lus2lic should_work/noeudsIndependants.lus -n noeudsIndependants --gen-autotest -np
+_noeudsIndependants_env.lut generated.
+_noeudsIndependants_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/noeudsIndependants.lus
++ ./lus2lic should_work/noeudsIndependants.lus -n noeudsIndependants -2c -cc
+noeudsIndependants_noeudsIndependants_loop.c has been generated.
+noeudsIndependants_noeudsIndependants.h has been generated.
+noeudsIndependants_noeudsIndependants.c has been generated.
+sys call: 'gcc noeudsIndependants_noeudsIndependants.c noeudsIndependants_noeudsIndependants_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_noeudsIndependants_env.lut -rp oracle:v6:_noeudsIndependants_oracle.lus:noeudsIndependants_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/noeudsIndependants.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/noeudsIndependants.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/noeudsIndependants.lus
+spawn ./lus2lic -o ./tmp/mouse.lic should_work/mouse.lus
+PASS: ./lus2lic {-o ./tmp/mouse.lic should_work/mouse.lus}
+spawn ./lus2lic -ec -o ./tmp/mouse.ec should_work/mouse.lus
+PASS: ./lus2lic {-ec -o ./tmp/mouse.ec should_work/mouse.lus}
+spawn ./myec2c -o ./tmp/mouse.c ./tmp/mouse.ec
+PASS: ./myec2c {-o ./tmp/mouse.c ./tmp/mouse.ec}
 spawn ../utils/test_lus2lic_no_node should_work/mouse.lus
 + ./lus2lic should_work/mouse.lus -n mouse --gen-autotest -np
 _mouse_env.lut generated.
 _mouse_oracle.lus generated.
 + echo lus2lic --gen-autotest done
 lus2lic --gen-autotest done
-+ cat should_work/mouse.lus
-+ ./lus2lic should_work/mouse.lus -n mouse -ec -o mouse.ec
++ cat should_work/mouse.lus
++ ./lus2lic should_work/mouse.lus -n mouse -ec -o mouse.ec
++ echo lus2lic -ec done
+lus2lic -ec done
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:ec:mouse.ec:mouse -rp env:lutin:_mouse_env.lut -rp oracle:v6:_mouse_oracle.lus:mouse_oracle -go -l 10 -ns2c --stop-on-oracle-error
+RP Variables are compatible.
+quit
+
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/test_lus2lic_no_node should_work/mouse.lus
+spawn ./lus2lic -2c should_work/mouse.lus -n mouse
+mouse_mouse_loop.c has been generated.
+mouse_mouse.h has been generated.
+mouse_mouse.c has been generated.
+you can compile those files doing, e.g.,
+  gcc mouse_mouse.c mouse_mouse_loop.c
+PASS: ./lus2lic {-2c should_work/mouse.lus -n mouse}
+spawn rm -f a.out
+spawn gcc mouse_mouse.c mouse_mouse_loop.c
+PASS: gcc mouse_mouse.c mouse_mouse_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/mouse.lus
++ ./lus2lic should_work/mouse.lus -n mouse --gen-autotest -np
+_mouse_env.lut generated.
+_mouse_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/mouse.lus
++ ./lus2lic should_work/mouse.lus -n mouse -2c -cc
+mouse_mouse_loop.c has been generated.
+mouse_mouse.h has been generated.
+mouse_mouse.c has been generated.
+sys call: 'gcc mouse_mouse.c mouse_mouse_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_mouse_env.lut -rp oracle:v6:_mouse_oracle.lus:mouse_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/mouse.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/mouse.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/mouse.lus
+spawn ./lus2lic -o ./tmp/param_node3.lic should_work/param_node3.lus
+PASS: ./lus2lic {-o ./tmp/param_node3.lic should_work/param_node3.lus}
+spawn ./lus2lic -ec -o ./tmp/param_node3.ec should_work/param_node3.lus
+PASS: ./lus2lic {-ec -o ./tmp/param_node3.ec should_work/param_node3.lus}
+spawn ./myec2c -o ./tmp/param_node3.c ./tmp/param_node3.ec
+PASS: ./myec2c {-o ./tmp/param_node3.c ./tmp/param_node3.ec}
+spawn ../utils/test_lus2lic_no_node should_work/param_node3.lus
++ ./lus2lic should_work/param_node3.lus -n param_node3 --gen-autotest -np
+_param_node3_env.lut generated.
+_param_node3_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/param_node3.lus
++ ./lus2lic should_work/param_node3.lus -n param_node3 -ec -o param_node3.ec
 + echo lus2lic -ec done
 lus2lic -ec done
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:mouse.ec:mouse -rp env:lutin:_mouse_env.lut -rp oracle:v6:_mouse_oracle.lus:mouse_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./lurettetop -p 6 -seed 42 -rp sut:ec:param_node3.ec:param_node3 -rp env:lutin:_param_node3_env.lut -rp oracle:v6:_param_node3_oracle.lus:param_node3_oracle -go -l 10 -ns2c --stop-on-oracle-error
 RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -2991,44 +7466,57 @@ lurettetop: bye!
 + echo lurettetop ok
 lurettetop ok
 + exit 0
-PASS: ../utils/test_lus2lic_no_node should_work/mouse.lus
-spawn ./lus2lic -o /tmp/param_node3.lic should_work/param_node3.lus
-PASS: ./lus2lic {-o /tmp/param_node3.lic should_work/param_node3.lus}
-spawn ./lus2lic -ec -o /tmp/param_node3.ec should_work/param_node3.lus
-PASS: ./lus2lic {-ec -o /tmp/param_node3.ec should_work/param_node3.lus}
-spawn ./myec2c -o /tmp/param_node3.c /tmp/param_node3.ec
-PASS: ./myec2c {-o /tmp/param_node3.c /tmp/param_node3.ec}
-spawn ../utils/test_lus2lic_no_node should_work/param_node3.lus
+PASS: ../utils/test_lus2lic_no_node should_work/param_node3.lus
+spawn ./lus2lic -2c should_work/param_node3.lus -n param_node3
+param_node3_param_node3_loop.c has been generated.
+param_node3_param_node3.h has been generated.
+param_node3_param_node3.c has been generated.
+you can compile those files doing, e.g.,
+  gcc param_node3_param_node3.c param_node3_param_node3_loop.c
+PASS: ./lus2lic {-2c should_work/param_node3.lus -n param_node3}
+spawn rm -f a.out
+spawn gcc param_node3_param_node3.c param_node3_param_node3_loop.c
+PASS: gcc param_node3_param_node3.c param_node3_param_node3_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/param_node3.lus
 + ./lus2lic should_work/param_node3.lus -n param_node3 --gen-autotest -np
 _param_node3_env.lut generated.
 _param_node3_oracle.lus generated.
 + echo lus2lic --gen-autotest done
 lus2lic --gen-autotest done
 + cat should_work/param_node3.lus
-+ ./lus2lic should_work/param_node3.lus -n param_node3 -ec -o param_node3.ec
-+ echo lus2lic -ec done
-lus2lic -ec done
++ ./lus2lic should_work/param_node3.lus -n param_node3 -2c -cc
+param_node3_param_node3_loop.c has been generated.
+param_node3_param_node3.h has been generated.
+param_node3_param_node3.c has been generated.
+sys call: 'gcc param_node3_param_node3.c param_node3_param_node3_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:param_node3.ec:param_node3 -rp env:lutin:_param_node3_env.lut -rp oracle:v6:_param_node3_oracle.lus:param_node3_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_param_node3_env.lut -rp oracle:v6:_param_node3_oracle.lus:param_node3_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
 RP Variables are compatible.
-quit
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
 
-
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/param_node3.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/param_node3.lus: ok
 + echo lurettetop ok
 lurettetop ok
 + exit 0
-PASS: ../utils/test_lus2lic_no_node should_work/param_node3.lus
-spawn ./lus2lic -o /tmp/pipeline.lic should_work/pipeline.lus
-PASS: ./lus2lic {-o /tmp/pipeline.lic should_work/pipeline.lus}
-spawn ./lus2lic -ec -o /tmp/pipeline.ec should_work/pipeline.lus
-PASS: ./lus2lic {-ec -o /tmp/pipeline.ec should_work/pipeline.lus}
-spawn ./myec2c -o /tmp/pipeline.c /tmp/pipeline.ec
-PASS: ./myec2c {-o /tmp/pipeline.c /tmp/pipeline.ec}
+PASS: ../utils/compare_exec_and_2c should_work/param_node3.lus
+spawn ./lus2lic -o ./tmp/pipeline.lic should_work/pipeline.lus
+PASS: ./lus2lic {-o ./tmp/pipeline.lic should_work/pipeline.lus}
+spawn ./lus2lic -ec -o ./tmp/pipeline.ec should_work/pipeline.lus
+PASS: ./lus2lic {-ec -o ./tmp/pipeline.ec should_work/pipeline.lus}
+spawn ./myec2c -o ./tmp/pipeline.c ./tmp/pipeline.ec
+PASS: ./myec2c {-o ./tmp/pipeline.c ./tmp/pipeline.ec}
 spawn ../utils/test_lus2lic_no_node should_work/pipeline.lus
 + ./lus2lic should_work/pipeline.lus -n pipeline --gen-autotest -np
 _pipeline_env.lut generated.
@@ -3042,90 +7530,68 @@ lus2lic -ec done
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
 + ./lurettetop -p 6 -seed 42 -rp sut:ec:pipeline.ec:pipeline -rp env:lutin:_pipeline_env.lut -rp oracle:v6:_pipeline_oracle.lus:pipeline_oracle -go -l 10 -ns2c --stop-on-oracle-error
 RP Variables are compatible.
+quit
 
-*** The oracle returned false at step 1
-Other Oracle outputs that are true: 
-	out_bis_0
-	out_bis_1
-	out_bis_2
-	out_bis_3
-	out_bis_4
-	out_bis_5
-	out_bis_6
-	out_bis_7
-	out_bis_8
-	out_bis_9
-Oracle inputs: 
-	in_0=t
-	in_1=f
-	in_2=f
-	in_3=t
-	in_4=f
-	in_5=f
-	in_6=t
-	in_7=t
-	in_8=t
-	in_9=f
-	out_0=f
-	out_1=f
-	out_2=f
-	out_3=f
-	out_4=t
-	out_5=f
-	out_6=t
-	out_7=f
-	out_8=f
-	out_9=f
 
-*** The oracle returned false at step 1
-Other Oracle outputs that are true: 
-	out_bis_0
-	out_bis_1
-	out_bis_2
-	out_bis_3
-	out_bis_4
-	out_bis_5
-	out_bis_6
-	out_bis_7
-	out_bis_8
-	out_bis_9
-Oracle inputs: 
-	in_0=t
-	in_1=f
-	in_2=f
-	in_3=t
-	in_4=f
-	in_5=f
-	in_6=t
-	in_7=t
-	in_8=t
-	in_9=f
-	out_0=f
-	out_1=f
-	out_2=f
-	out_3=f
-	out_4=t
-	out_5=f
-	out_6=t
-	out_7=f
-	out_8=f
-	out_9=f
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
 
-Lurette launched a process that failed (exit 2).
- 
+lurettetop: bye!
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/test_lus2lic_no_node should_work/pipeline.lus
+spawn ./lus2lic -2c should_work/pipeline.lus -n pipeline
+pipeline_pipeline_loop.c has been generated.
+pipeline_pipeline.h has been generated.
+pipeline_pipeline.c has been generated.
+you can compile those files doing, e.g.,
+  gcc pipeline_pipeline.c pipeline_pipeline_loop.c
+PASS: ./lus2lic {-2c should_work/pipeline.lus -n pipeline}
+spawn rm -f a.out
+spawn gcc pipeline_pipeline.c pipeline_pipeline_loop.c
+PASS: gcc pipeline_pipeline.c pipeline_pipeline_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/pipeline.lus
++ ./lus2lic should_work/pipeline.lus -n pipeline --gen-autotest -np
+_pipeline_env.lut generated.
+_pipeline_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/pipeline.lus
++ ./lus2lic should_work/pipeline.lus -n pipeline -2c -cc
+pipeline_pipeline_loop.c has been generated.
+pipeline_pipeline.h has been generated.
+pipeline_pipeline.c has been generated.
+sys call: 'gcc pipeline_pipeline.c pipeline_pipeline_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42+  -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_pipeline_env.lut -rp oracle:v6:_pipeline_oracle.lus:pipeline_oracle -go./call-via-socket -l -server 10 -addr -ns2c 127.0.0.1 -port --stop-on-oracle-error 2001
+ ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
-+ echo error
-error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/pipeline.lus
-spawn ./lus2lic -o /tmp/mapinf.lic should_work/mapinf.lus
-PASS: ./lus2lic {-o /tmp/mapinf.lic should_work/mapinf.lus}
-spawn ./lus2lic -ec -o /tmp/mapinf.ec should_work/mapinf.lus
-PASS: ./lus2lic {-ec -o /tmp/mapinf.ec should_work/mapinf.lus}
-spawn ./myec2c -o /tmp/mapinf.c /tmp/mapinf.ec
-PASS: ./myec2c {-o /tmp/mapinf.c /tmp/mapinf.ec}
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/pipeline.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/pipeline.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/pipeline.lus
+spawn ./lus2lic -o ./tmp/mapinf.lic should_work/mapinf.lus
+PASS: ./lus2lic {-o ./tmp/mapinf.lic should_work/mapinf.lus}
+spawn ./lus2lic -ec -o ./tmp/mapinf.ec should_work/mapinf.lus
+PASS: ./lus2lic {-ec -o ./tmp/mapinf.ec should_work/mapinf.lus}
+spawn ./myec2c -o ./tmp/mapinf.c ./tmp/mapinf.ec
+PASS: ./myec2c {-o ./tmp/mapinf.c ./tmp/mapinf.ec}
 spawn ../utils/test_lus2lic_no_node should_work/mapinf.lus
 + ./lus2lic should_work/mapinf.lus -n mapinf --gen-autotest -np
 _mapinf_env.lut generated.
@@ -3142,7 +7608,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -3151,12 +7617,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/mapinf.lus
-spawn ./lus2lic -o /tmp/integrator.lic should_work/integrator.lus
-PASS: ./lus2lic {-o /tmp/integrator.lic should_work/integrator.lus}
-spawn ./lus2lic -ec -o /tmp/integrator.ec should_work/integrator.lus
-PASS: ./lus2lic {-ec -o /tmp/integrator.ec should_work/integrator.lus}
-spawn ./myec2c -o /tmp/integrator.c /tmp/integrator.ec
-PASS: ./myec2c {-o /tmp/integrator.c /tmp/integrator.ec}
+spawn ./lus2lic -2c should_work/mapinf.lus -n mapinf
+mapinf_mapinf_loop.c has been generated.
+mapinf_mapinf.h has been generated.
+mapinf_mapinf.c has been generated.
+you can compile those files doing, e.g.,
+  gcc mapinf_mapinf.c mapinf_mapinf_loop.c
+PASS: ./lus2lic {-2c should_work/mapinf.lus -n mapinf}
+spawn rm -f a.out
+spawn gcc mapinf_mapinf.c mapinf_mapinf_loop.c
+PASS: gcc mapinf_mapinf.c mapinf_mapinf_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/mapinf.lus
++ ./lus2lic should_work/mapinf.lus -n mapinf --gen-autotest -np
+_mapinf_env.lut generated.
+_mapinf_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/mapinf.lus
++ ./lus2lic should_work/mapinf.lus -n mapinf -2c -cc
+mapinf_mapinf_loop.c has been generated.
+mapinf_mapinf.h has been generated.
+mapinf_mapinf.c has been generated.
+sys call: 'gcc mapinf_mapinf.c mapinf_mapinf_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_mapinf_env.lut -rp oracle:v6:_mapinf_oracle.lus:mapinf_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/mapinf.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/mapinf.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/mapinf.lus
+spawn ./lus2lic -o ./tmp/integrator.lic should_work/integrator.lus
+PASS: ./lus2lic {-o ./tmp/integrator.lic should_work/integrator.lus}
+spawn ./lus2lic -ec -o ./tmp/integrator.ec should_work/integrator.lus
+PASS: ./lus2lic {-ec -o ./tmp/integrator.ec should_work/integrator.lus}
+spawn ./myec2c -o ./tmp/integrator.c ./tmp/integrator.ec
+PASS: ./myec2c {-o ./tmp/integrator.c ./tmp/integrator.ec}
 spawn ../utils/test_lus2lic_no_node should_work/integrator.lus
 + ./lus2lic should_work/integrator.lus -n integrator --gen-autotest -np
 _integrator_env.lut generated.
@@ -3198,12 +7708,69 @@ lurettetop: bye!
 error
 + exit 2
 FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/integrator.lus
-spawn ./lus2lic -o /tmp/nc4.lic should_work/nc4.lus
-PASS: ./lus2lic {-o /tmp/nc4.lic should_work/nc4.lus}
-spawn ./lus2lic -ec -o /tmp/nc4.ec should_work/nc4.lus
-PASS: ./lus2lic {-ec -o /tmp/nc4.ec should_work/nc4.lus}
-spawn ./myec2c -o /tmp/nc4.c /tmp/nc4.ec
-PASS: ./myec2c {-o /tmp/nc4.c /tmp/nc4.ec}
+spawn ./lus2lic -2c should_work/integrator.lus -n integrator
+integrator_integrator_loop.c has been generated.
+integrator_integrator.h has been generated.
+integrator_integrator.c has been generated.
+you can compile those files doing, e.g.,
+  gcc integrator_integrator.c integrator_integrator_loop.c
+PASS: ./lus2lic {-2c should_work/integrator.lus -n integrator}
+spawn rm -f a.out
+spawn gcc integrator_integrator.c integrator_integrator_loop.c
+PASS: gcc integrator_integrator.c integrator_integrator_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/integrator.lus
++ ./lus2lic should_work/integrator.lus -n integrator --gen-autotest -np
+_integrator_env.lut generated.
+_integrator_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/integrator.lus
++ ./lus2lic should_work/integrator.lus -n integrator -2c -cc
+integrator_integrator_loop.c has been generated.
+integrator_integrator.h has been generated.
+integrator_integrator.c has been generated.
+sys call: 'gcc integrator_integrator.c integrator_integrator_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_integrator_env.lut -rp oracle:v6:_integrator_oracle.lus:integrator_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+
+*** The oracle returned false at step 1
+Oracle numeric outputs: 
+	Y_bis=1305025.02198
+Oracle inputs: 
+	F=5370.98610205
+	STEP=-1516.80289185
+	init=-6736.47757463
+	Y=1305020.
+
+*** The oracle returned false at step 1
+Oracle numeric outputs: 
+	Y_bis=1305025.02198
+Oracle inputs: 
+	F=5370.98610205
+	STEP=-1516.80289185
+	init=-6736.47757463
+	Y=1305020.
+
+Lurette launched a process that failed (exit 2).
+ 
+break signal catched
+
+lurettetop: bye!
++ echo error
+error
++ exit 2
+FAIL: Try to compare lus2lic -exec and -2c: ../utils/compare_exec_and_2c should_work/integrator.lus
+spawn ./lus2lic -o ./tmp/nc4.lic should_work/nc4.lus
+PASS: ./lus2lic {-o ./tmp/nc4.lic should_work/nc4.lus}
+spawn ./lus2lic -ec -o ./tmp/nc4.ec should_work/nc4.lus
+PASS: ./lus2lic {-ec -o ./tmp/nc4.ec should_work/nc4.lus}
+spawn ./myec2c -o ./tmp/nc4.c ./tmp/nc4.ec
+PASS: ./myec2c {-o ./tmp/nc4.c ./tmp/nc4.ec}
 spawn ../utils/test_lus2lic_no_node should_work/nc4.lus
 + ./lus2lic should_work/nc4.lus -n nc4 --gen-autotest -np
 _nc4_env.lut generated.
@@ -3220,7 +7787,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -3229,12 +7796,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/nc4.lus
-spawn ./lus2lic -o /tmp/mm3.lic should_work/mm3.lus
-PASS: ./lus2lic {-o /tmp/mm3.lic should_work/mm3.lus}
-spawn ./lus2lic -ec -o /tmp/mm3.ec should_work/mm3.lus
-PASS: ./lus2lic {-ec -o /tmp/mm3.ec should_work/mm3.lus}
-spawn ./myec2c -o /tmp/mm3.c /tmp/mm3.ec
-PASS: ./myec2c {-o /tmp/mm3.c /tmp/mm3.ec}
+spawn ./lus2lic -2c should_work/nc4.lus -n nc4
+nc4_nc4_loop.c has been generated.
+nc4_nc4.h has been generated.
+nc4_nc4.c has been generated.
+you can compile those files doing, e.g.,
+  gcc nc4_nc4.c nc4_nc4_loop.c
+PASS: ./lus2lic {-2c should_work/nc4.lus -n nc4}
+spawn rm -f a.out
+spawn gcc nc4_nc4.c nc4_nc4_loop.c
+PASS: gcc nc4_nc4.c nc4_nc4_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/nc4.lus
++ ./lus2lic should_work/nc4.lus -n nc4 --gen-autotest -np
+_nc4_env.lut generated.
+_nc4_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/nc4.lus
++ ./lus2lic should_work/nc4.lus -n nc4 -2c -cc
+nc4_nc4_loop.c has been generated.
+nc4_nc4.h has been generated.
+nc4_nc4.c has been generated.
+sys call: 'gcc nc4_nc4.c nc4_nc4_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_nc4_env.lut -rp oracle:v6:_nc4_oracle.lus:nc4_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/nc4.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/nc4.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/nc4.lus
+spawn ./lus2lic -o ./tmp/mm3.lic should_work/mm3.lus
+PASS: ./lus2lic {-o ./tmp/mm3.lic should_work/mm3.lus}
+spawn ./lus2lic -ec -o ./tmp/mm3.ec should_work/mm3.lus
+PASS: ./lus2lic {-ec -o ./tmp/mm3.ec should_work/mm3.lus}
+spawn ./myec2c -o ./tmp/mm3.c ./tmp/mm3.ec
+PASS: ./myec2c {-o ./tmp/mm3.c ./tmp/mm3.ec}
 spawn ../utils/test_lus2lic_no_node should_work/mm3.lus
 + ./lus2lic should_work/mm3.lus -n mm3 --gen-autotest -np
 _mm3_env.lut generated.
@@ -3251,7 +7862,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -3260,12 +7871,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/mm3.lus
-spawn ./lus2lic -o /tmp/over2.lic should_work/over2.lus
-PASS: ./lus2lic {-o /tmp/over2.lic should_work/over2.lus}
-spawn ./lus2lic -ec -o /tmp/over2.ec should_work/over2.lus
-PASS: ./lus2lic {-ec -o /tmp/over2.ec should_work/over2.lus}
-spawn ./myec2c -o /tmp/over2.c /tmp/over2.ec
-PASS: ./myec2c {-o /tmp/over2.c /tmp/over2.ec}
+spawn ./lus2lic -2c should_work/mm3.lus -n mm3
+mm3_mm3_loop.c has been generated.
+mm3_mm3.h has been generated.
+mm3_mm3.c has been generated.
+you can compile those files doing, e.g.,
+  gcc mm3_mm3.c mm3_mm3_loop.c
+PASS: ./lus2lic {-2c should_work/mm3.lus -n mm3}
+spawn rm -f a.out
+spawn gcc mm3_mm3.c mm3_mm3_loop.c
+PASS: gcc mm3_mm3.c mm3_mm3_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/mm3.lus
++ ./lus2lic should_work/mm3.lus -n mm3 --gen-autotest -np
+_mm3_env.lut generated.
+_mm3_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/mm3.lus
++ ./lus2lic should_work/mm3.lus -n mm3 -2c -cc
+mm3_mm3_loop.c has been generated.
+mm3_mm3.h has been generated.
+mm3_mm3.c has been generated.
+sys call: 'gcc mm3_mm3.c mm3_mm3_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_mm3_env.lut -rp oracle:v6:_mm3_oracle.lus:mm3_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/mm3.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/mm3.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/mm3.lus
+spawn ./lus2lic -o ./tmp/over2.lic should_work/over2.lus
+PASS: ./lus2lic {-o ./tmp/over2.lic should_work/over2.lus}
+spawn ./lus2lic -ec -o ./tmp/over2.ec should_work/over2.lus
+PASS: ./lus2lic {-ec -o ./tmp/over2.ec should_work/over2.lus}
+spawn ./myec2c -o ./tmp/over2.c ./tmp/over2.ec
+PASS: ./myec2c {-o ./tmp/over2.c ./tmp/over2.ec}
 spawn ../utils/test_lus2lic_no_node should_work/over2.lus
 + ./lus2lic should_work/over2.lus -n over2 --gen-autotest -np
 _over2_env.lut generated.
@@ -3282,7 +7937,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -3291,12 +7946,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/over2.lus
-spawn ./lus2lic -o /tmp/over3.lic should_work/over3.lus
-PASS: ./lus2lic {-o /tmp/over3.lic should_work/over3.lus}
-spawn ./lus2lic -ec -o /tmp/over3.ec should_work/over3.lus
-PASS: ./lus2lic {-ec -o /tmp/over3.ec should_work/over3.lus}
-spawn ./myec2c -o /tmp/over3.c /tmp/over3.ec
-PASS: ./myec2c {-o /tmp/over3.c /tmp/over3.ec}
+spawn ./lus2lic -2c should_work/over2.lus -n over2
+over2_over2_loop.c has been generated.
+over2_over2.h has been generated.
+over2_over2.c has been generated.
+you can compile those files doing, e.g.,
+  gcc over2_over2.c over2_over2_loop.c
+PASS: ./lus2lic {-2c should_work/over2.lus -n over2}
+spawn rm -f a.out
+spawn gcc over2_over2.c over2_over2_loop.c
+PASS: gcc over2_over2.c over2_over2_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/over2.lus
++ ./lus2lic should_work/over2.lus -n over2 --gen-autotest -np
+_over2_env.lut generated.
+_over2_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/over2.lus
++ ./lus2lic should_work/over2.lus -n over2 -2c -cc
+over2_over2_loop.c has been generated.
+over2_over2.h has been generated.
+over2_over2.c has been generated.
+sys call: 'gcc over2_over2.c over2_over2_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_over2_env.lut -rp oracle:v6:_over2_oracle.lus:over2_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/over2.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/over2.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/over2.lus
+spawn ./lus2lic -o ./tmp/over3.lic should_work/over3.lus
+PASS: ./lus2lic {-o ./tmp/over3.lic should_work/over3.lus}
+spawn ./lus2lic -ec -o ./tmp/over3.ec should_work/over3.lus
+PASS: ./lus2lic {-ec -o ./tmp/over3.ec should_work/over3.lus}
+spawn ./myec2c -o ./tmp/over3.c ./tmp/over3.ec
+PASS: ./myec2c {-o ./tmp/over3.c ./tmp/over3.ec}
 spawn ../utils/test_lus2lic_no_node should_work/over3.lus
 + ./lus2lic should_work/over3.lus -n over3 --gen-autotest -np
 _over3_env.lut generated.
@@ -3313,7 +8012,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -3322,40 +8021,72 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/over3.lus
-spawn ./lus2lic -o /tmp/complex.lic should_work/complex.lus
-PASS: ./lus2lic {-o /tmp/complex.lic should_work/complex.lus}
-spawn ./lus2lic -ec -o /tmp/complex.ec should_work/complex.lus
-PASS: ./lus2lic {-ec -o /tmp/complex.ec should_work/complex.lus}
-spawn ./myec2c -o /tmp/complex.c /tmp/complex.ec
-PASS: ./myec2c {-o /tmp/complex.c /tmp/complex.ec}
-spawn ../utils/test_lus2lic_no_node should_work/complex.lus
-+ ./lus2lic should_work/complex.lus -n complex --gen-autotest -np
-_complex_env.lut generated.
-_complex_oracle.lus generated.
+spawn ./lus2lic -2c should_work/over3.lus -n over3
+over3_over3_loop.c has been generated.
+over3_over3.h has been generated.
+over3_over3.c has been generated.
+you can compile those files doing, e.g.,
+  gcc over3_over3.c over3_over3_loop.c
+PASS: ./lus2lic {-2c should_work/over3.lus -n over3}
+spawn rm -f a.out
+spawn gcc over3_over3.c over3_over3_loop.c
+PASS: gcc over3_over3.c over3_over3_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/over3.lus
++ ./lus2lic should_work/over3.lus -n over3 --gen-autotest -np
+_over3_env.lut generated.
+_over3_oracle.lus generated.
 + echo lus2lic --gen-autotest done
 lus2lic --gen-autotest done
-+ cat should_work/complex.lus
-+ ./lus2lic should_work/complex.lus -n complex -ec -o complex.ec
-+ echo lus2lic -ec done
-lus2lic -ec done
++ cat should_work/over3.lus
++ ./lus2lic should_work/over3.lus -n over3 -2c -cc
+over3_over3_loop.c has been generated.
+over3_over3.h has been generated.
+over3_over3.c has been generated.
+sys call: 'gcc over3_over3.c over3_over3_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:complex.ec:complex -rp env:lutin:_complex_env.lut -rp oracle:v6:_complex_oracle.lus:complex_oracle -go -l 10 -ns2c --stop-on-oracle-error
-Error in lurette: Parsing.Parse_error
-Lurette launched a process that failed (exit 2).
- 
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_over3_env.lut -rp oracle:v6:_over3_oracle.lus:over3_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
-+ echo error
-error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/complex.lus
-spawn ./lus2lic -o /tmp/initial.lic should_work/initial.lus
-PASS: ./lus2lic {-o /tmp/initial.lic should_work/initial.lus}
-spawn ./lus2lic -ec -o /tmp/initial.ec should_work/initial.lus
-PASS: ./lus2lic {-ec -o /tmp/initial.ec should_work/initial.lus}
-spawn ./myec2c -o /tmp/initial.c /tmp/initial.ec
-PASS: ./myec2c {-o /tmp/initial.c /tmp/initial.ec}
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/over3.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/over3.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/over3.lus
+spawn ./lus2lic -o ./tmp/complex.lic should_work/complex.lus
+PASS: ./lus2lic {-o ./tmp/complex.lic should_work/complex.lus}
+spawn ./lus2lic -ec -o ./tmp/complex.ec should_work/complex.lus
+PASS: ./lus2lic {-ec -o ./tmp/complex.ec should_work/complex.lus}
+spawn ./myec2c -o ./tmp/complex.c ./tmp/complex.ec
+PASS: ./myec2c {-o ./tmp/complex.c ./tmp/complex.ec}
+spawn ./lus2lic -2c should_work/complex.lus -n complex
+complex_complex_loop.c has been generated.
+complex_complex.h has been generated.
+complex_complex.c has been generated.
+you can compile those files doing, e.g.,
+  gcc complex_complex.c complex_complex_loop.c
+PASS: ./lus2lic {-2c should_work/complex.lus -n complex}
+spawn rm -f a.out
+spawn gcc complex_complex.c complex_complex_loop.c
+PASS: gcc complex_complex.c complex_complex_loop.c 
+spawn ./lus2lic -o ./tmp/initial.lic should_work/initial.lus
+PASS: ./lus2lic {-o ./tmp/initial.lic should_work/initial.lus}
+spawn ./lus2lic -ec -o ./tmp/initial.ec should_work/initial.lus
+PASS: ./lus2lic {-ec -o ./tmp/initial.ec should_work/initial.lus}
+spawn ./myec2c -o ./tmp/initial.c ./tmp/initial.ec
+PASS: ./myec2c {-o ./tmp/initial.c ./tmp/initial.ec}
 spawn ../utils/test_lus2lic_no_node should_work/initial.lus
 + ./lus2lic should_work/initial.lus -n initial --gen-autotest -np
 _initial_env.lut generated.
@@ -3372,7 +8103,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -3381,43 +8112,76 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/initial.lus
-spawn ./lus2lic -o /tmp/declaration.lic should_work/declaration.lus
-PASS: ./lus2lic {-o /tmp/declaration.lic should_work/declaration.lus}
-spawn ./lus2lic -ec -o /tmp/declaration.ec should_work/declaration.lus
-PASS: ./lus2lic {-ec -o /tmp/declaration.ec should_work/declaration.lus}
-spawn ./myec2c -o /tmp/declaration.c /tmp/declaration.ec
-PASS: ./myec2c {-o /tmp/declaration.c /tmp/declaration.ec}
-spawn ../utils/test_lus2lic_no_node should_work/declaration.lus
-+ ./lus2lic should_work/declaration.lus -n declaration --gen-autotest -np
-_declaration_env.lut generated.
-_declaration_oracle.lus generated.
+spawn ./lus2lic -2c should_work/initial.lus -n initial
+initial_initial_loop.c has been generated.
+initial_initial.h has been generated.
+initial_initial.c has been generated.
+you can compile those files doing, e.g.,
+  gcc initial_initial.c initial_initial_loop.c
+PASS: ./lus2lic {-2c should_work/initial.lus -n initial}
+spawn rm -f a.out
+spawn gcc initial_initial.c initial_initial_loop.c
+PASS: gcc initial_initial.c initial_initial_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/initial.lus
++ ./lus2lic should_work/initial.lus -n initial --gen-autotest -np
+_initial_env.lut generated.
+_initial_oracle.lus generated.
 + echo lus2lic --gen-autotest done
 lus2lic --gen-autotest done
-+ cat should_work/declaration.lus
-+ ./lus2lic should_work/declaration.lus -n declaration -ec -o declaration.ec
-+ echo lus2lic -ec done
-lus2lic -ec done
++ cat should_work/initial.lus
++ ./lus2lic should_work/initial.lus -n initial -2c -cc
+initial_initial_loop.c has been generated.
+initial_initial.h has been generated.
+initial_initial.c has been generated.
+sys call: 'gcc initial_initial.c initial_initial_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:declaration.ec:declaration -rp env:lutin:_declaration_env.lut -rp oracle:v6:_declaration_oracle.lus:declaration_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_initial_env.lut -rp oracle:v6:_initial_oracle.lus:initial_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
 RP Variables are compatible.
-quit
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
 
-
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/initial.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/initial.lus: ok
 + echo lurettetop ok
 lurettetop ok
 + exit 0
-PASS: ../utils/test_lus2lic_no_node should_work/declaration.lus
-spawn ./lus2lic -o /tmp/PCOND1.lic should_work/PCOND1.lus
-PASS: ./lus2lic {-o /tmp/PCOND1.lic should_work/PCOND1.lus}
-spawn ./lus2lic -ec -o /tmp/PCOND1.ec should_work/PCOND1.lus
-PASS: ./lus2lic {-ec -o /tmp/PCOND1.ec should_work/PCOND1.lus}
-spawn ./myec2c -o /tmp/PCOND1.c /tmp/PCOND1.ec
-PASS: ./myec2c {-o /tmp/PCOND1.c /tmp/PCOND1.ec}
+PASS: ../utils/compare_exec_and_2c should_work/initial.lus
+spawn ./lus2lic -o ./tmp/declaration.lic should_work/declaration.lus
+PASS: ./lus2lic {-o ./tmp/declaration.lic should_work/declaration.lus}
+spawn ./lus2lic -ec -o ./tmp/declaration.ec should_work/declaration.lus
+PASS: ./lus2lic {-ec -o ./tmp/declaration.ec should_work/declaration.lus}
+spawn ./myec2c -o ./tmp/declaration.c ./tmp/declaration.ec
+  Warning :
+basic support of extern node (treated as unsafe procedure)
+  Warning :
+basic support of extern node (treated as unsafe procedure)
+PASS: ./myec2c {-o ./tmp/declaration.c ./tmp/declaration.ec}
+spawn ./lus2lic -2c should_work/declaration.lus -n declaration
+declaration_declaration_loop.c has been generated.
+declaration_declaration.h has been generated.
+declaration_declaration.c has been generated.
+you can compile those files doing, e.g.,
+  gcc declaration_declaration.c declaration_declaration_loop.c
+PASS: ./lus2lic {-2c should_work/declaration.lus -n declaration}
+spawn rm -f a.out
+spawn gcc declaration_declaration.c declaration_declaration_loop.c
+PASS: gcc declaration_declaration.c declaration_declaration_loop.c 
+spawn ./lus2lic -o ./tmp/PCOND1.lic should_work/PCOND1.lus
+PASS: ./lus2lic {-o ./tmp/PCOND1.lic should_work/PCOND1.lus}
+spawn ./lus2lic -ec -o ./tmp/PCOND1.ec should_work/PCOND1.lus
+PASS: ./lus2lic {-ec -o ./tmp/PCOND1.ec should_work/PCOND1.lus}
+spawn ./myec2c -o ./tmp/PCOND1.c ./tmp/PCOND1.ec
+PASS: ./myec2c {-o ./tmp/PCOND1.c ./tmp/PCOND1.ec}
 spawn ../utils/test_lus2lic_no_node should_work/PCOND1.lus
 + ./lus2lic should_work/PCOND1.lus -n PCOND1 --gen-autotest -np
 _PCOND1_env.lut generated.
@@ -3430,7 +8194,9 @@ lus2lic --gen-autotest done
 lus2lic -ec done
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
 + ./lurettetop -p 6 -seed 42 -rp sut:ec:PCOND1.ec:PCOND1 -rp env:lutin:_PCOND1_env.lut -rp oracle:v6:_PCOND1_oracle.lus:PCOND1_oracle -go -l 10 -ns2c --stop-on-oracle-error
-Error in lurette: Lv6errors.Compile_error(_, "\n*** clock error: The two following clocks are not compatible:\n***\t on base\n***\t on h0 on base\n")
+RP Variables are compatible.
+#ERROR: Output takes on nil
+RifIO.Bye
 Lurette launched a process that failed (exit 2).
  
 break signal catched
@@ -3440,12 +8206,52 @@ lurettetop: bye!
 error
 + exit 2
 FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/PCOND1.lus
-spawn ./lus2lic -o /tmp/TIME_STABLE1.lic should_work/TIME_STABLE1.lus
-PASS: ./lus2lic {-o /tmp/TIME_STABLE1.lic should_work/TIME_STABLE1.lus}
-spawn ./lus2lic -ec -o /tmp/TIME_STABLE1.ec should_work/TIME_STABLE1.lus
-PASS: ./lus2lic {-ec -o /tmp/TIME_STABLE1.ec should_work/TIME_STABLE1.lus}
-spawn ./myec2c -o /tmp/TIME_STABLE1.c /tmp/TIME_STABLE1.ec
-PASS: ./myec2c {-o /tmp/TIME_STABLE1.c /tmp/TIME_STABLE1.ec}
+spawn ./lus2lic -2c should_work/PCOND1.lus -n PCOND1
+PCOND1_PCOND1_loop.c has been generated.
+PCOND1_PCOND1.h has been generated.
+PCOND1_PCOND1.c has been generated.
+you can compile those files doing, e.g.,
+  gcc PCOND1_PCOND1.c PCOND1_PCOND1_loop.c
+PASS: ./lus2lic {-2c should_work/PCOND1.lus -n PCOND1}
+spawn rm -f a.out
+spawn gcc PCOND1_PCOND1.c PCOND1_PCOND1_loop.c
+PASS: gcc PCOND1_PCOND1.c PCOND1_PCOND1_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/PCOND1.lus
++ ./lus2lic should_work/PCOND1.lus -n PCOND1 --gen-autotest -np
+_PCOND1_env.lut generated.
+_PCOND1_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/PCOND1.lus
++ ./lus2lic should_work/PCOND1.lus -n PCOND1 -2c -cc
+PCOND1_PCOND1_loop.c has been generated.
+PCOND1_PCOND1.h has been generated.
+PCOND1_PCOND1.c has been generated.
+sys call: 'gcc PCOND1_PCOND1.c PCOND1_PCOND1_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_PCOND1_env.lut -rp+  oracle:v6:_PCOND1_oracle.lus:PCOND1_oracle -go -l 10 -ns2c --stop-on-oracle-error
+./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+hA_on_h0 undefined
+File "../obj-linux/socExecValue.ml", line 243, characters 6-12: Assertion failed
+Lurette launched a process that failed (exit 2).
+ 
+break signal catched
+
+lurettetop: bye!
++ echo error
+error
++ exit 2
+FAIL: Try to compare lus2lic -exec and -2c: ../utils/compare_exec_and_2c should_work/PCOND1.lus
+spawn ./lus2lic -o ./tmp/TIME_STABLE1.lic should_work/TIME_STABLE1.lus
+PASS: ./lus2lic {-o ./tmp/TIME_STABLE1.lic should_work/TIME_STABLE1.lus}
+spawn ./lus2lic -ec -o ./tmp/TIME_STABLE1.ec should_work/TIME_STABLE1.lus
+PASS: ./lus2lic {-ec -o ./tmp/TIME_STABLE1.ec should_work/TIME_STABLE1.lus}
+spawn ./myec2c -o ./tmp/TIME_STABLE1.c ./tmp/TIME_STABLE1.ec
+PASS: ./myec2c {-o ./tmp/TIME_STABLE1.c ./tmp/TIME_STABLE1.ec}
 spawn ../utils/test_lus2lic_no_node should_work/TIME_STABLE1.lus
 + ./lus2lic should_work/TIME_STABLE1.lus -n TIME_STABLE1 --gen-autotest -np
 _TIME_STABLE1_env.lut generated.
@@ -3462,7 +8268,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -3471,12 +8277,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/TIME_STABLE1.lus
-spawn ./lus2lic -o /tmp/nc5.lic should_work/nc5.lus
-PASS: ./lus2lic {-o /tmp/nc5.lic should_work/nc5.lus}
-spawn ./lus2lic -ec -o /tmp/nc5.ec should_work/nc5.lus
-PASS: ./lus2lic {-ec -o /tmp/nc5.ec should_work/nc5.lus}
-spawn ./myec2c -o /tmp/nc5.c /tmp/nc5.ec
-PASS: ./myec2c {-o /tmp/nc5.c /tmp/nc5.ec}
+spawn ./lus2lic -2c should_work/TIME_STABLE1.lus -n TIME_STABLE1
+TIME_STABLE1_TIME_STABLE1_loop.c has been generated.
+TIME_STABLE1_TIME_STABLE1.h has been generated.
+TIME_STABLE1_TIME_STABLE1.c has been generated.
+you can compile those files doing, e.g.,
+  gcc TIME_STABLE1_TIME_STABLE1.c TIME_STABLE1_TIME_STABLE1_loop.c
+PASS: ./lus2lic {-2c should_work/TIME_STABLE1.lus -n TIME_STABLE1}
+spawn rm -f a.out
+spawn gcc TIME_STABLE1_TIME_STABLE1.c TIME_STABLE1_TIME_STABLE1_loop.c
+PASS: gcc TIME_STABLE1_TIME_STABLE1.c TIME_STABLE1_TIME_STABLE1_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/TIME_STABLE1.lus
++ ./lus2lic should_work/TIME_STABLE1.lus -n TIME_STABLE1 --gen-autotest -np
+_TIME_STABLE1_env.lut generated.
+_TIME_STABLE1_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/TIME_STABLE1.lus
++ ./lus2lic should_work/TIME_STABLE1.lus -n TIME_STABLE1 -2c -cc
+TIME_STABLE1_TIME_STABLE1_loop.c has been generated.
+TIME_STABLE1_TIME_STABLE1.h has been generated.
+TIME_STABLE1_TIME_STABLE1.c has been generated.
+sys call: 'gcc TIME_STABLE1_TIME_STABLE1.c TIME_STABLE1_TIME_STABLE1_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_TIME_STABLE1_env.lut -rp oracle:v6:_TIME_STABLE1_oracle.lus:TIME_STABLE1_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/TIME_STABLE1.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/TIME_STABLE1.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/TIME_STABLE1.lus
+spawn ./lus2lic -o ./tmp/nc5.lic should_work/nc5.lus
+PASS: ./lus2lic {-o ./tmp/nc5.lic should_work/nc5.lus}
+spawn ./lus2lic -ec -o ./tmp/nc5.ec should_work/nc5.lus
+PASS: ./lus2lic {-ec -o ./tmp/nc5.ec should_work/nc5.lus}
+spawn ./myec2c -o ./tmp/nc5.c ./tmp/nc5.ec
+PASS: ./myec2c {-o ./tmp/nc5.c ./tmp/nc5.ec}
 spawn ../utils/test_lus2lic_no_node should_work/nc5.lus
 + ./lus2lic should_work/nc5.lus -n nc5 --gen-autotest -np
 _nc5_env.lut generated.
@@ -3493,7 +8343,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -3502,36 +8352,166 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/nc5.lus
-spawn ./lus2lic -o /tmp/call.lic should_work/call.lus
-PASS: ./lus2lic {-o /tmp/call.lic should_work/call.lus}
-spawn ./lus2lic -ec -o /tmp/call.ec should_work/call.lus
-PASS: ./lus2lic {-ec -o /tmp/call.ec should_work/call.lus}
-spawn ./myec2c -o /tmp/call.c /tmp/call.ec
-Segmentation fault
-FAIL: Try ec2c on the result: ./myec2c {-o /tmp/call.c /tmp/call.ec}
-spawn ./lus2lic -o /tmp/mouse1.lic should_work/mouse1.lus
-PASS: ./lus2lic {-o /tmp/mouse1.lic should_work/mouse1.lus}
-spawn ./lus2lic -ec -o /tmp/mouse1.ec should_work/mouse1.lus
-PASS: ./lus2lic {-ec -o /tmp/mouse1.ec should_work/mouse1.lus}
-spawn ./myec2c -o /tmp/mouse1.c /tmp/mouse1.ec
-PASS: ./myec2c {-o /tmp/mouse1.c /tmp/mouse1.ec}
+spawn ./lus2lic -2c should_work/nc5.lus -n nc5
+nc5_nc5_loop.c has been generated.
+nc5_nc5.h has been generated.
+nc5_nc5.c has been generated.
+you can compile those files doing, e.g.,
+  gcc nc5_nc5.c nc5_nc5_loop.c
+PASS: ./lus2lic {-2c should_work/nc5.lus -n nc5}
+spawn rm -f a.out
+spawn gcc nc5_nc5.c nc5_nc5_loop.c
+PASS: gcc nc5_nc5.c nc5_nc5_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/nc5.lus
++ ./lus2lic should_work/nc5.lus -n nc5 --gen-autotest -np
+_nc5_env.lut generated.
+_nc5_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/nc5.lus
++ ./lus2lic should_work/nc5.lus -n nc5 -2c -cc
+nc5_nc5_loop.c has been generated.
+nc5_nc5.h has been generated.
+nc5_nc5.c has been generated.
+sys call: 'gcc nc5_nc5.c nc5_nc5_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_nc5_env.lut -rp oracle:v6:_nc5_oracle.lus:nc5_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/nc5.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/nc5.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/nc5.lus
+spawn ./lus2lic -o ./tmp/call.lic should_work/call.lus
+PASS: ./lus2lic {-o ./tmp/call.lic should_work/call.lus}
+spawn ./lus2lic -ec -o ./tmp/call.ec should_work/call.lus
+PASS: ./lus2lic {-ec -o ./tmp/call.ec should_work/call.lus}
+spawn ./myec2c -o ./tmp/call.c ./tmp/call.ec
+PASS: ./myec2c {-o ./tmp/call.c ./tmp/call.ec}
+spawn ./lus2lic -2c should_work/call.lus -n call
+call_call_ext.h has been generated.
+call_call_ext.c has been generated.
+call_call_loop.c has been generated.
+call_call.h has been generated.
+call_call.c has been generated.
+you can compile those files doing, e.g.,
+   gcc call_call.c call_call_ext.c call_call_loop.c
+PASS: ./lus2lic {-2c should_work/call.lus -n call}
+spawn rm -f a.out
+spawn gcc call_call.c call_call_ext.c call_call_loop.c
+PASS: gcc call_call.c call_call_ext.c call_call_loop.c 
+spawn ./lus2lic -o ./tmp/mouse1.lic should_work/mouse1.lus
+PASS: ./lus2lic {-o ./tmp/mouse1.lic should_work/mouse1.lus}
+spawn ./lus2lic -ec -o ./tmp/mouse1.ec should_work/mouse1.lus
+PASS: ./lus2lic {-ec -o ./tmp/mouse1.ec should_work/mouse1.lus}
+spawn ./myec2c -o ./tmp/mouse1.c ./tmp/mouse1.ec
+PASS: ./myec2c {-o ./tmp/mouse1.c ./tmp/mouse1.ec}
 spawn ../utils/test_lus2lic_no_node should_work/mouse1.lus
 + ./lus2lic should_work/mouse1.lus -n mouse1 --gen-autotest -np
 _mouse1_env.lut generated.
 _mouse1_oracle.lus generated.
 + echo lus2lic --gen-autotest done
 lus2lic --gen-autotest done
-+ cat should_work/mouse1.lus
-+ ./lus2lic should_work/mouse1.lus -n mouse1 -ec -o mouse1.ec
++ cat should_work/mouse1.lus
++ ./lus2lic should_work/mouse1.lus -n mouse1 -ec -o mouse1.ec
++ echo lus2lic -ec done
+lus2lic -ec done
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:ec:mouse1.ec:mouse1 -rp env:lutin:_mouse1_env.lut -rp oracle:v6:_mouse1_oracle.lus:mouse1_oracle -go -l 10 -ns2c --stop-on-oracle-error
+RP Variables are compatible.
+quit
+
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/test_lus2lic_no_node should_work/mouse1.lus
+spawn ./lus2lic -2c should_work/mouse1.lus -n mouse1
+mouse1_mouse1_loop.c has been generated.
+mouse1_mouse1.h has been generated.
+mouse1_mouse1.c has been generated.
+you can compile those files doing, e.g.,
+  gcc mouse1_mouse1.c mouse1_mouse1_loop.c
+PASS: ./lus2lic {-2c should_work/mouse1.lus -n mouse1}
+spawn rm -f a.out
+spawn gcc mouse1_mouse1.c mouse1_mouse1_loop.c
+PASS: gcc mouse1_mouse1.c mouse1_mouse1_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/mouse1.lus
++ ./lus2lic should_work/mouse1.lus -n mouse1 --gen-autotest -np
+_mouse1_env.lut generated.
+_mouse1_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/mouse1.lus
++ ./lus2lic should_work/mouse1.lus -n mouse1 -2c -cc
+mouse1_mouse1_loop.c has been generated.
+mouse1_mouse1.h has been generated.
+mouse1_mouse1.c has been generated.
+sys call: 'gcc mouse1_mouse1.c mouse1_mouse1_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_mouse1_env.lut -rp oracle:v6:_mouse1_oracle.lus:mouse1_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/mouse1.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/mouse1.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/mouse1.lus
+spawn ./lus2lic -o ./tmp/lustre_test1_ok.lic should_work/lustre_test1_ok.lus
+PASS: ./lus2lic {-o ./tmp/lustre_test1_ok.lic should_work/lustre_test1_ok.lus}
+spawn ./lus2lic -ec -o ./tmp/lustre_test1_ok.ec should_work/lustre_test1_ok.lus
+PASS: ./lus2lic {-ec -o ./tmp/lustre_test1_ok.ec should_work/lustre_test1_ok.lus}
+spawn ./myec2c -o ./tmp/lustre_test1_ok.c ./tmp/lustre_test1_ok.ec
+PASS: ./myec2c {-o ./tmp/lustre_test1_ok.c ./tmp/lustre_test1_ok.ec}
+spawn ../utils/test_lus2lic_no_node should_work/lustre_test1_ok.lus
++ ./lus2lic should_work/lustre_test1_ok.lus -n lustre_test1_ok --gen-autotest -np
+_lustre_test1_ok_env.lut generated.
+_lustre_test1_ok_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/lustre_test1_ok.lus
++ ./lus2lic should_work/lustre_test1_ok.lus -n lustre_test1_ok -ec -o lustre_test1_ok.ec
 + echo lus2lic -ec done
 lus2lic -ec done
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:mouse1.ec:mouse1 -rp env:lutin:_mouse1_env.lut -rp oracle:v6:_mouse1_oracle.lus:mouse1_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./lurettetop -p 6 -seed 42 -rp sut:ec:lustre_test1_ok.ec:lustre_test1_ok -rp env:lutin:_lustre_test1_ok_env.lut -rp oracle:v6:_lustre_test1_ok_oracle.lus:lustre_test1_ok_oracle -go -l 10 -ns2c --stop-on-oracle-error
 RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -3539,41 +8519,69 @@ lurettetop: bye!
 + echo lurettetop ok
 lurettetop ok
 + exit 0
-PASS: ../utils/test_lus2lic_no_node should_work/mouse1.lus
-spawn ./lus2lic -o /tmp/lustre_test1_ok.lic should_work/lustre_test1_ok.lus
-PASS: ./lus2lic {-o /tmp/lustre_test1_ok.lic should_work/lustre_test1_ok.lus}
-spawn ./lus2lic -ec -o /tmp/lustre_test1_ok.ec should_work/lustre_test1_ok.lus
-PASS: ./lus2lic {-ec -o /tmp/lustre_test1_ok.ec should_work/lustre_test1_ok.lus}
-spawn ./myec2c -o /tmp/lustre_test1_ok.c /tmp/lustre_test1_ok.ec
-PASS: ./myec2c {-o /tmp/lustre_test1_ok.c /tmp/lustre_test1_ok.ec}
-spawn ../utils/test_lus2lic_no_node should_work/lustre_test1_ok.lus
+PASS: ../utils/test_lus2lic_no_node should_work/lustre_test1_ok.lus
+spawn ./lus2lic -2c should_work/lustre_test1_ok.lus -n lustre_test1_ok
+lustre_test1_ok_lustre_test1_ok_loop.c has been generated.
+lustre_test1_ok_lustre_test1_ok.h has been generated.
+lustre_test1_ok_lustre_test1_ok.c has been generated.
+you can compile those files doing, e.g.,
+  gcc lustre_test1_ok_lustre_test1_ok.c lustre_test1_ok_lustre_test1_ok_loop.c
+PASS: ./lus2lic {-2c should_work/lustre_test1_ok.lus -n lustre_test1_ok}
+spawn rm -f a.out
+spawn gcc lustre_test1_ok_lustre_test1_ok.c lustre_test1_ok_lustre_test1_ok_loop.c
+PASS: gcc lustre_test1_ok_lustre_test1_ok.c lustre_test1_ok_lustre_test1_ok_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/lustre_test1_ok.lus
 + ./lus2lic should_work/lustre_test1_ok.lus -n lustre_test1_ok --gen-autotest -np
 _lustre_test1_ok_env.lut generated.
 _lustre_test1_ok_oracle.lus generated.
 + echo lus2lic --gen-autotest done
 lus2lic --gen-autotest done
 + cat should_work/lustre_test1_ok.lus
-+ ./lus2lic should_work/lustre_test1_ok.lus -n lustre_test1_ok -ec -o lustre_test1_ok.ec
-+ echo lus2lic -ec done
-lus2lic -ec done
++ ./lus2lic should_work/lustre_test1_ok.lus -n lustre_test1_ok -2c -cc
+lustre_test1_ok_lustre_test1_ok_loop.c has been generated.
+lustre_test1_ok_lustre_test1_ok.h has been generated.
+lustre_test1_ok_lustre_test1_ok.c has been generated.
+sys call: 'gcc lustre_test1_ok_lustre_test1_ok.c lustre_test1_ok_lustre_test1_ok_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:lustre_test1_ok.ec:lustre_test1_ok -rp env:lutin:_lustre_test1_ok_env.lut -rp oracle:v6:_lustre_test1_ok_oracle.lus:lustre_test1_ok_oracle -go -l 10 -ns2c --stop-on-oracle-error
-Error in lurette: Lv6errors.Compile_error(_, "\n*** clock error: The two following clocks are not compatible:\n***\t on base\n***\t on cl1_2 on base\n")
-Lurette launched a process that failed (exit 2).
- 
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_lustre_test1_ok_env.lut -rp oracle:v6:_lustre_test1_ok_oracle.lus:lustre_test1_ok_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+
+*** Warning: type error, 0 is an int, but a real is expected. I convert it to '0.'
+
+*** Warning: type error, 11243 is an int, but a real is expected. I convert it to '11243.'
+
+*** Warning: type error, 0 is an int, but a real is expected. I convert it to '0.'
+
+*** Warning: type error, 0 is an int, but a real is expected. I convert it to '0.'
+
+*** Warning: type error, 0 is an int, but a real is expected. I convert it to '0.'
+
+*** Warning: type error, 0 is an int, but a real is expected. I convert it to '0.'
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
-+ echo error
-error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/lustre_test1_ok.lus
-spawn ./lus2lic -o /tmp/compteur.lic should_work/compteur.lus
-PASS: ./lus2lic {-o /tmp/compteur.lic should_work/compteur.lus}
-spawn ./lus2lic -ec -o /tmp/compteur.ec should_work/compteur.lus
-PASS: ./lus2lic {-ec -o /tmp/compteur.ec should_work/compteur.lus}
-spawn ./myec2c -o /tmp/compteur.c /tmp/compteur.ec
-PASS: ./myec2c {-o /tmp/compteur.c /tmp/compteur.ec}
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/lustre_test1_ok.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/lustre_test1_ok.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/lustre_test1_ok.lus
+spawn ./lus2lic -o ./tmp/compteur.lic should_work/compteur.lus
+PASS: ./lus2lic {-o ./tmp/compteur.lic should_work/compteur.lus}
+spawn ./lus2lic -ec -o ./tmp/compteur.ec should_work/compteur.lus
+PASS: ./lus2lic {-ec -o ./tmp/compteur.ec should_work/compteur.lus}
+spawn ./myec2c -o ./tmp/compteur.c ./tmp/compteur.ec
+PASS: ./myec2c {-o ./tmp/compteur.c ./tmp/compteur.ec}
 spawn ../utils/test_lus2lic_no_node should_work/compteur.lus
 + ./lus2lic should_work/compteur.lus -n compteur --gen-autotest -np
 _compteur_env.lut generated.
@@ -3590,7 +8598,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -3599,41 +8607,98 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/compteur.lus
-spawn ./lus2lic -o /tmp/Int.lic should_work/Int.lus
-PASS: ./lus2lic {-o /tmp/Int.lic should_work/Int.lus}
-spawn ./lus2lic -ec -o /tmp/Int.ec should_work/Int.lus
-PASS: ./lus2lic {-ec -o /tmp/Int.ec should_work/Int.lus}
-spawn ./myec2c -o /tmp/Int.c /tmp/Int.ec
-PASS: ./myec2c {-o /tmp/Int.c /tmp/Int.ec}
-spawn ../utils/test_lus2lic_no_node should_work/Int.lus
-+ ./lus2lic should_work/Int.lus -n Int --gen-autotest -np
+spawn ./lus2lic -2c should_work/compteur.lus -n compteur
+compteur_compteur_loop.c has been generated.
+compteur_compteur.h has been generated.
+compteur_compteur.c has been generated.
+you can compile those files doing, e.g.,
+  gcc compteur_compteur.c compteur_compteur_loop.c
+PASS: ./lus2lic {-2c should_work/compteur.lus -n compteur}
+spawn rm -f a.out
+spawn gcc compteur_compteur.c compteur_compteur_loop.c
+PASS: gcc compteur_compteur.c compteur_compteur_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/compteur.lus
++ ./lus2lic should_work/compteur.lus -n compteur --gen-autotest -np
+_compteur_env.lut generated.
+_compteur_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/compteur.lus
++ ./lus2lic should_work/compteur.lus -n compteur -2c -cc
+compteur_compteur_loop.c has been generated.
+compteur_compteur.h has been generated.
+compteur_compteur.c has been generated.
+sys call: 'gcc compteur_compteur.c compteur_compteur_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_compteur_env.lut -rp oracle:v6:_compteur_oracle.lus:compteur_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/compteur.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/compteur.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/compteur.lus
+spawn ./lus2lic -o ./tmp/Int.lic should_work/Int.lus
+PASS: ./lus2lic {-o ./tmp/Int.lic should_work/Int.lus}
+spawn ./lus2lic -ec -o ./tmp/Int.ec should_work/Int.lus
+PASS: ./lus2lic {-ec -o ./tmp/Int.ec should_work/Int.lus}
+spawn ./myec2c -o ./tmp/Int.c ./tmp/Int.ec
+PASS: ./myec2c {-o ./tmp/Int.c ./tmp/Int.ec}
+spawn ./lus2lic -2c should_work/Int.lus -n Int
 *** Can not find package 'Int' in the following packages: 
 ***	 'mainPack'
 ***	 'Int8'
-+ echo Error
-Error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/Int.lus
-spawn ./lus2lic -o /tmp/tranche.lic should_work/tranche.lus
+PASS: ./lus2lic {-2c should_work/Int.lus -n Int}
+spawn ./lus2lic -o ./tmp/tranche.lic should_work/tranche.lus
 *** Error in file "/home/jahier/lus2lic/test/should_work/tranche.lus", line 7, col 5 to 5, token 'n':
 *** 
 *** can't eval constant: 
 *** cannot access this extern constant value
 
-FAIL: without any option: ./lus2lic {-o /tmp/tranche.lic should_work/tranche.lus}
-spawn ./lus2lic -ec -o /tmp/tranche.ec should_work/tranche.lus
+FAIL: without any option: ./lus2lic {-o ./tmp/tranche.lic should_work/tranche.lus}
+spawn ./lus2lic -ec -o ./tmp/tranche.ec should_work/tranche.lus
 *** Error in file "/home/jahier/lus2lic/test/should_work/tranche.lus", line 7, col 5 to 5, token 'n':
 *** 
 *** can't eval constant: 
 *** cannot access this extern constant value
 
-FAIL: Generate ec code  : ./lus2lic {-ec -o /tmp/tranche.ec should_work/tranche.lus}
-spawn ./lus2lic -o /tmp/t2.lic should_work/t2.lus
-PASS: ./lus2lic {-o /tmp/t2.lic should_work/t2.lus}
-spawn ./lus2lic -ec -o /tmp/t2.ec should_work/t2.lus
-PASS: ./lus2lic {-ec -o /tmp/t2.ec should_work/t2.lus}
-spawn ./myec2c -o /tmp/t2.c /tmp/t2.ec
-PASS: ./myec2c {-o /tmp/t2.c /tmp/t2.ec}
+FAIL: Generate ec code  : ./lus2lic {-ec -o ./tmp/tranche.ec should_work/tranche.lus}
+spawn ./lus2lic -2c should_work/tranche.lus -n tranche
+
+*** oops: lus2lic internal error
+	File "src/soc2c.ml", line 103, column 32
+*** when compiling lustre program should_work/tranche.lus
+
+*** You migth want to sent a bug report to jahier@imag.fr
+FAIL: Generate c code  : ./lus2lic {-2c should_work/tranche.lus -n tranche}
+spawn rm -f a.out
+spawn gcc tranche_tranche.c tranche_tranche_loop.c
+In file included from tranche_tranche.c:4:0:
+tranche_tranche.h:21:0: error: unterminated #ifndef
+tranche_tranche.c: In function 'tranche_tranche_bp3b_step':
+tranche_tranche.c:25:4: error: expected declaration or statement at end of input
+In file included from tranche_tranche_loop.c:8:0:
+tranche_tranche.h:21:0: error: unterminated #ifndef
+FAIL: Check that the generated C code compiles  : gcc tranche_tranche.c tranche_tranche_loop.c 
+spawn ./lus2lic -o ./tmp/t2.lic should_work/t2.lus
+PASS: ./lus2lic {-o ./tmp/t2.lic should_work/t2.lus}
+spawn ./lus2lic -ec -o ./tmp/t2.ec should_work/t2.lus
+PASS: ./lus2lic {-ec -o ./tmp/t2.ec should_work/t2.lus}
+spawn ./myec2c -o ./tmp/t2.c ./tmp/t2.ec
+PASS: ./myec2c {-o ./tmp/t2.c ./tmp/t2.ec}
 spawn ../utils/test_lus2lic_no_node should_work/t2.lus
 + ./lus2lic should_work/t2.lus -n t2 --gen-autotest -np
 _t2_env.lut generated.
@@ -3650,7 +8715,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -3659,19 +8724,88 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/t2.lus
-spawn ./lus2lic -o /tmp/arbitre.lic should_work/arbitre.lus
-PASS: ./lus2lic {-o /tmp/arbitre.lic should_work/arbitre.lus}
-spawn ./lus2lic -ec -o /tmp/arbitre.ec should_work/arbitre.lus
-PASS: ./lus2lic {-ec -o /tmp/arbitre.ec should_work/arbitre.lus}
-spawn ./myec2c -o /tmp/arbitre.c /tmp/arbitre.ec
-Segmentation fault
-FAIL: Try ec2c on the result: ./myec2c {-o /tmp/arbitre.c /tmp/arbitre.ec}
-spawn ./lus2lic -o /tmp/test_const.lic should_work/test_const.lus
-PASS: ./lus2lic {-o /tmp/test_const.lic should_work/test_const.lus}
-spawn ./lus2lic -ec -o /tmp/test_const.ec should_work/test_const.lus
-PASS: ./lus2lic {-ec -o /tmp/test_const.ec should_work/test_const.lus}
-spawn ./myec2c -o /tmp/test_const.c /tmp/test_const.ec
-PASS: ./myec2c {-o /tmp/test_const.c /tmp/test_const.ec}
+spawn ./lus2lic -2c should_work/t2.lus -n t2
+t2_t2_loop.c has been generated.
+t2_t2.h has been generated.
+t2_t2.c has been generated.
+you can compile those files doing, e.g.,
+  gcc t2_t2.c t2_t2_loop.c
+PASS: ./lus2lic {-2c should_work/t2.lus -n t2}
+spawn rm -f a.out
+spawn gcc t2_t2.c t2_t2_loop.c
+PASS: gcc t2_t2.c t2_t2_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/t2.lus
++ ./lus2lic should_work/t2.lus -n t2 --gen-autotest -np
+_t2_env.lut generated.
+_t2_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/t2.lus
++ ./lus2lic should_work/t2.lus -n t2 -2c -cc
+t2_t2_loop.c has been generated.
+t2_t2.h has been generated.
+t2_t2.c has been generated.
+sys call: 'gcc t2_t2.c t2_t2_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_t2_env.lut -rp oracle:v6:_t2_oracle.lus:t2_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/t2.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/t2.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/t2.lus
+spawn ./lus2lic -o ./tmp/arbitre.lic should_work/arbitre.lus
+PASS: ./lus2lic {-o ./tmp/arbitre.lic should_work/arbitre.lus}
+spawn ./lus2lic -ec -o ./tmp/arbitre.ec should_work/arbitre.lus
+PASS: ./lus2lic {-ec -o ./tmp/arbitre.ec should_work/arbitre.lus}
+spawn ./myec2c -o ./tmp/arbitre.c ./tmp/arbitre.ec
+  Warning :
+basic support of extern node (treated as unsafe procedure)
+PASS: ./myec2c {-o ./tmp/arbitre.c ./tmp/arbitre.ec}
+spawn ./lus2lic -2c should_work/arbitre.lus -n arbitre
+arbitre_arbitre_ext.h has been generated.
+arbitre_arbitre_ext.c has been generated.
+arbitre_arbitre_loop.c has been generated.
+arbitre_arbitre.h has been generated.
+arbitre_arbitre.c has been generated.
+you can compile those files doing, e.g.,
+   gcc arbitre_arbitre.c arbitre_arbitre_ext.c arbitre_arbitre_loop.c
+PASS: ./lus2lic {-2c should_work/arbitre.lus -n arbitre}
+spawn rm -f a.out
+spawn gcc arbitre_arbitre.c arbitre_arbitre_ext.c arbitre_arbitre_loop.c
+In file included from arbitre_arbitre.h:21:0,
+                 from arbitre_arbitre.c:4:
+arbitre_arbitre_ext.h:1:28: error: unknown type name 'arbitre_xedge_bb_ctx'
+In file included from arbitre_arbitre.h:21:0,
+                 from arbitre_arbitre_ext.c:1:
+arbitre_arbitre_ext.h:1:28: error: unknown type name 'arbitre_xedge_bb_ctx'
+arbitre_arbitre_ext.c:2:28: error: unknown type name 'arbitre_xedge_bb_ctx'
+arbitre_arbitre_ext.c:3:4: error: stray '\' in program
+arbitre_arbitre_ext.c:3:4: error: stray '\' in program
+In file included from arbitre_arbitre.h:21:0,
+                 from arbitre_arbitre_loop.c:8:
+arbitre_arbitre_ext.h:1:28: error: unknown type name 'arbitre_xedge_bb_ctx'
+FAIL: Check that the generated C code compiles  : gcc arbitre_arbitre.c arbitre_arbitre_ext.c arbitre_arbitre_loop.c 
+spawn ./lus2lic -o ./tmp/test_const.lic should_work/test_const.lus
+PASS: ./lus2lic {-o ./tmp/test_const.lic should_work/test_const.lus}
+spawn ./lus2lic -ec -o ./tmp/test_const.ec should_work/test_const.lus
+PASS: ./lus2lic {-ec -o ./tmp/test_const.ec should_work/test_const.lus}
+spawn ./myec2c -o ./tmp/test_const.c ./tmp/test_const.ec
+PASS: ./myec2c {-o ./tmp/test_const.c ./tmp/test_const.ec}
 spawn ../utils/test_lus2lic_no_node should_work/test_const.lus
 + ./lus2lic should_work/test_const.lus -n test_const --gen-autotest -np
 _test_const_env.lut generated.
@@ -3688,7 +8822,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -3697,58 +8831,190 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/test_const.lus
-spawn ./lus2lic -o /tmp/when_tuple.lic should_work/when_tuple.lus
-PASS: ./lus2lic {-o /tmp/when_tuple.lic should_work/when_tuple.lus}
-spawn ./lus2lic -ec -o /tmp/when_tuple.ec should_work/when_tuple.lus
-PASS: ./lus2lic {-ec -o /tmp/when_tuple.ec should_work/when_tuple.lus}
-spawn ./myec2c -o /tmp/when_tuple.c /tmp/when_tuple.ec
-Segmentation fault
-FAIL: Try ec2c on the result: ./myec2c {-o /tmp/when_tuple.c /tmp/when_tuple.ec}
-spawn ./lus2lic -o /tmp/carV2.lic should_work/carV2.lus
-PASS: ./lus2lic {-o /tmp/carV2.lic should_work/carV2.lus}
-spawn ./lus2lic -ec -o /tmp/carV2.ec should_work/carV2.lus
-PASS: ./lus2lic {-ec -o /tmp/carV2.ec should_work/carV2.lus}
-spawn ./myec2c -o /tmp/carV2.c /tmp/carV2.ec
-PASS: ./myec2c {-o /tmp/carV2.c /tmp/carV2.ec}
-spawn ../utils/test_lus2lic_no_node should_work/carV2.lus
+spawn ./lus2lic -2c should_work/test_const.lus -n test_const
+test_const_test_const_loop.c has been generated.
+test_const_test_const.h has been generated.
+test_const_test_const.c has been generated.
+you can compile those files doing, e.g.,
+  gcc test_const_test_const.c test_const_test_const_loop.c
+PASS: ./lus2lic {-2c should_work/test_const.lus -n test_const}
+spawn rm -f a.out
+spawn gcc test_const_test_const.c test_const_test_const_loop.c
+PASS: gcc test_const_test_const.c test_const_test_const_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/test_const.lus
++ ./lus2lic should_work/test_const.lus -n test_const --gen-autotest -np
+_test_const_env.lut generated.
+_test_const_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/test_const.lus
++ ./lus2lic should_work/test_const.lus -n test_const -2c -cc
+test_const_test_const_loop.c has been generated.
+test_const_test_const.h has been generated.
+test_const_test_const.c has been generated.
+sys call: 'gcc test_const_test_const.c test_const_test_const_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_test_const_env.lut -rp oracle:v6:_test_const_oracle.lus:test_const_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/test_const.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/test_const.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/test_const.lus
+spawn ./lus2lic -o ./tmp/when_tuple.lic should_work/when_tuple.lus
+PASS: ./lus2lic {-o ./tmp/when_tuple.lic should_work/when_tuple.lus}
+spawn ./lus2lic -ec -o ./tmp/when_tuple.ec should_work/when_tuple.lus
+PASS: ./lus2lic {-ec -o ./tmp/when_tuple.ec should_work/when_tuple.lus}
+spawn ./myec2c -o ./tmp/when_tuple.c ./tmp/when_tuple.ec
+  Warning :
+basic support of extern node (treated as unsafe procedure)
+PASS: ./myec2c {-o ./tmp/when_tuple.c ./tmp/when_tuple.ec}
+spawn ./lus2lic -2c should_work/when_tuple.lus -n when_tuple
+when_tuple_when_tuple_ext.h has been generated.
+when_tuple_when_tuple_ext.c has been generated.
+when_tuple_when_tuple_loop.c has been generated.
+when_tuple_when_tuple.h has been generated.
+when_tuple_when_tuple.c has been generated.
+you can compile those files doing, e.g.,
+   gcc when_tuple_when_tuple.c when_tuple_when_tuple_ext.c when_tuple_when_tuple_loop.c
+PASS: ./lus2lic {-2c should_work/when_tuple.lus -n when_tuple}
+spawn rm -f a.out
+spawn gcc when_tuple_when_tuple.c when_tuple_when_tuple_ext.c when_tuple_when_tuple_loop.c
+In file included from when_tuple_when_tuple.h:21:0,
+                 from when_tuple_when_tuple.c:4:
+when_tuple_when_tuple_ext.h:1:32: error: unknown type name 'when_tuple_toto_bbbb_ctx'
+In file included from when_tuple_when_tuple.h:21:0,
+                 from when_tuple_when_tuple_ext.c:1:
+when_tuple_when_tuple_ext.h:1:32: error: unknown type name 'when_tuple_toto_bbbb_ctx'
+when_tuple_when_tuple_ext.c:2:32: error: unknown type name 'when_tuple_toto_bbbb_ctx'
+when_tuple_when_tuple_ext.c:3:4: error: stray '\' in program
+when_tuple_when_tuple_ext.c:3:4: error: stray '\' in program
+In file included from when_tuple_when_tuple.h:21:0,
+                 from when_tuple_when_tuple_loop.c:8:
+when_tuple_when_tuple_ext.h:1:32: error: unknown type name 'when_tuple_toto_bbbb_ctx'
+FAIL: Check that the generated C code compiles  : gcc when_tuple_when_tuple.c when_tuple_when_tuple_ext.c when_tuple_when_tuple_loop.c 
+spawn ./lus2lic -o ./tmp/carV2.lic should_work/carV2.lus
+PASS: ./lus2lic {-o ./tmp/carV2.lic should_work/carV2.lus}
+spawn ./lus2lic -ec -o ./tmp/carV2.ec should_work/carV2.lus
+PASS: ./lus2lic {-ec -o ./tmp/carV2.ec should_work/carV2.lus}
+spawn ./myec2c -o ./tmp/carV2.c ./tmp/carV2.ec
+PASS: ./myec2c {-o ./tmp/carV2.c ./tmp/carV2.ec}
+spawn ./lus2lic -2c should_work/carV2.lus -n carV2
+carV2_carV2_loop.c has been generated.
+carV2_carV2.h has been generated.
+carV2_carV2.c has been generated.
+you can compile those files doing, e.g.,
+  gcc carV2_carV2.c carV2_carV2_loop.c
+PASS: ./lus2lic {-2c should_work/carV2.lus -n carV2}
+spawn rm -f a.out
+spawn gcc carV2_carV2.c carV2_carV2_loop.c
+PASS: gcc carV2_carV2.c carV2_carV2_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/carV2.lus
 + ./lus2lic should_work/carV2.lus -n carV2 --gen-autotest -np
 _carV2_env.lut generated.
 _carV2_oracle.lus generated.
 + echo lus2lic --gen-autotest done
 lus2lic --gen-autotest done
 + cat should_work/carV2.lus
-+ ./lus2lic should_work/carV2.lus -n carV2 -ec -o carV2.ec
-+ echo lus2lic -ec done
-lus2lic -ec done
++ ./lus2lic should_work/carV2.lus -n carV2 -2c -cc
+carV2_carV2_loop.c has been generated.
+carV2_carV2.h has been generated.
+carV2_carV2.c has been generated.
+sys call: 'gcc carV2_carV2.c carV2_carV2_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:carV2.ec:carV2 -rp env:lutin:_carV2_env.lut -rp oracle:v6:_carV2_oracle.lus:carV2_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_carV2_env.lut -rp oracle:v6:_carV2_oracle.lus:carV2_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
 RP Variables are compatible.
-quit
-
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/carV2.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/carV2.lus: ok
 + echo lurettetop ok
 lurettetop ok
 + exit 0
-PASS: ../utils/test_lus2lic_no_node should_work/carV2.lus
-spawn ./lus2lic -o /tmp/test_merge.lic should_work/test_merge.lus
-PASS: ./lus2lic {-o /tmp/test_merge.lic should_work/test_merge.lus}
-spawn ./lus2lic -ec -o /tmp/test_merge.ec should_work/test_merge.lus
-PASS: ./lus2lic {-ec -o /tmp/test_merge.ec should_work/test_merge.lus}
-spawn ./myec2c -o /tmp/test_merge.c /tmp/test_merge.ec
+PASS: ../utils/compare_exec_and_2c should_work/carV2.lus
+spawn ./lus2lic -o ./tmp/test_merge.lic should_work/test_merge.lus
+PASS: ./lus2lic {-o ./tmp/test_merge.lic should_work/test_merge.lus}
+spawn ./lus2lic -ec -o ./tmp/test_merge.ec should_work/test_merge.lus
+PASS: ./lus2lic {-ec -o ./tmp/test_merge.ec should_work/test_merge.lus}
+spawn ./myec2c -o ./tmp/test_merge.c ./tmp/test_merge.ec
 syntax error     - at line 14
 syntax errors...
-FAIL: Try ec2c on the result: ./myec2c {-o /tmp/test_merge.c /tmp/test_merge.ec}
-spawn ./lus2lic -o /tmp/FillFollowedByRed.lic should_work/FillFollowedByRed.lus
-PASS: ./lus2lic {-o /tmp/FillFollowedByRed.lic should_work/FillFollowedByRed.lus}
-spawn ./lus2lic -ec -o /tmp/FillFollowedByRed.ec should_work/FillFollowedByRed.lus
-PASS: ./lus2lic {-ec -o /tmp/FillFollowedByRed.ec should_work/FillFollowedByRed.lus}
-spawn ./myec2c -o /tmp/FillFollowedByRed.c /tmp/FillFollowedByRed.ec
-PASS: ./myec2c {-o /tmp/FillFollowedByRed.c /tmp/FillFollowedByRed.ec}
+FAIL: Try ec2c on the result: ./myec2c {-o ./tmp/test_merge.c ./tmp/test_merge.ec}
+spawn ./lus2lic -2c should_work/test_merge.lus -n test_merge
+test_merge_test_merge_loop.c has been generated.
+test_merge_test_merge.h has been generated.
+test_merge_test_merge.c has been generated.
+you can compile those files doing, e.g.,
+  gcc test_merge_test_merge.c test_merge_test_merge_loop.c
+PASS: ./lus2lic {-2c should_work/test_merge.lus -n test_merge}
+spawn rm -f a.out
+spawn gcc test_merge_test_merge.c test_merge_test_merge_loop.c
+PASS: gcc test_merge_test_merge.c test_merge_test_merge_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/test_merge.lus
++ ./lus2lic should_work/test_merge.lus -n test_merge --gen-autotest -np
+_test_merge_env.lut generated.
+_test_merge_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/test_merge.lus
++ ./lus2lic should_work/test_merge.lus -n test_merge -2c -cc
+test_merge_test_merge_loop.c has been generated.
+test_merge_test_merge.h has been generated.
+test_merge_test_merge.c has been generated.
+sys call: 'gcc test_merge_test_merge.c test_merge_test_merge_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_test_merge_env.lut -rp oracle:v6:_test_merge_oracle.lus:test_merge_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/test_merge.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/test_merge.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/test_merge.lus
+spawn ./lus2lic -o ./tmp/FillFollowedByRed.lic should_work/FillFollowedByRed.lus
+PASS: ./lus2lic {-o ./tmp/FillFollowedByRed.lic should_work/FillFollowedByRed.lus}
+spawn ./lus2lic -ec -o ./tmp/FillFollowedByRed.ec should_work/FillFollowedByRed.lus
+PASS: ./lus2lic {-ec -o ./tmp/FillFollowedByRed.ec should_work/FillFollowedByRed.lus}
+spawn ./myec2c -o ./tmp/FillFollowedByRed.c ./tmp/FillFollowedByRed.ec
+PASS: ./myec2c {-o ./tmp/FillFollowedByRed.c ./tmp/FillFollowedByRed.ec}
 spawn ../utils/test_lus2lic_no_node should_work/FillFollowedByRed.lus
 + ./lus2lic should_work/FillFollowedByRed.lus -n FillFollowedByRed --gen-autotest -np
 _FillFollowedByRed_env.lut generated.
@@ -3765,7 +9031,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -3774,68 +9040,106 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/FillFollowedByRed.lus
-spawn ./lus2lic -o /tmp/sample_time_change.lic should_work/sample_time_change.lus
-PASS: ./lus2lic {-o /tmp/sample_time_change.lic should_work/sample_time_change.lus}
-spawn ./lus2lic -ec -o /tmp/sample_time_change.ec should_work/sample_time_change.lus
-PASS: ./lus2lic {-ec -o /tmp/sample_time_change.ec should_work/sample_time_change.lus}
-spawn ./myec2c -o /tmp/sample_time_change.c /tmp/sample_time_change.ec
-PASS: ./myec2c {-o /tmp/sample_time_change.c /tmp/sample_time_change.ec}
-spawn ../utils/test_lus2lic_no_node should_work/sample_time_change.lus
-+ ./lus2lic should_work/sample_time_change.lus -n sample_time_change --gen-autotest -np
-_sample_time_change_env.lut generated.
-_sample_time_change_oracle.lus generated.
+spawn ./lus2lic -2c should_work/FillFollowedByRed.lus -n FillFollowedByRed
+FillFollowedByRed_FillFollowedByRed_loop.c has been generated.
+FillFollowedByRed_FillFollowedByRed.h has been generated.
+FillFollowedByRed_FillFollowedByRed.c has been generated.
+you can compile those files doing, e.g.,
+  gcc FillFollowedByRed_FillFollowedByRed.c FillFollowedByRed_FillFollowedByRed_loop.c
+PASS: ./lus2lic {-2c should_work/FillFollowedByRed.lus -n FillFollowedByRed}
+spawn rm -f a.out
+spawn gcc FillFollowedByRed_FillFollowedByRed.c FillFollowedByRed_FillFollowedByRed_loop.c
+PASS: gcc FillFollowedByRed_FillFollowedByRed.c FillFollowedByRed_FillFollowedByRed_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/FillFollowedByRed.lus
++ ./lus2lic should_work/FillFollowedByRed.lus -n FillFollowedByRed --gen-autotest -np
+_FillFollowedByRed_env.lut generated.
+_FillFollowedByRed_oracle.lus generated.
 + echo lus2lic --gen-autotest done
 lus2lic --gen-autotest done
-+ cat should_work/sample_time_change.lus
-+ ./lus2lic should_work/sample_time_change.lus -n sample_time_change -ec -o sample_time_change.ec
-+ echo lus2lic -ec done
-lus2lic -ec done
++ cat should_work/FillFollowedByRed.lus
++ ./lus2lic should_work/FillFollowedByRed.lus -n FillFollowedByRed -2c -cc
+FillFollowedByRed_FillFollowedByRed_loop.c has been generated.
+FillFollowedByRed_FillFollowedByRed.h has been generated.
+FillFollowedByRed_FillFollowedByRed.c has been generated.
+sys call: 'gcc FillFollowedByRed_FillFollowedByRed.c FillFollowedByRed_FillFollowedByRed_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:sample_time_change.ec:sample_time_change -rp env:lutin:_sample_time_change_env.lut -rp oracle:v6:_sample_time_change_oracle.lus:sample_time_change_oracle -go -l 10 -ns2c --stop-on-oracle-error
-Error in lurette: Lv6errors.Compile_error(_, "\n*** clock error: The two following clocks are not compatible:\n***\t on base\n***\t on cl1_12_3 on base\n")
-Lurette launched a process that failed (exit 2).
- 
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_FillFollowedByRed_env.lut -rp oracle:v6:_FillFollowedByRed_oracle.lus:FillFollowedByRed_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
-+ echo error
-error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/sample_time_change.lus
-spawn ./lus2lic -o /tmp/test_enum.lic should_work/test_enum.lus
-PASS: ./lus2lic {-o /tmp/test_enum.lic should_work/test_enum.lus}
-spawn ./lus2lic -ec -o /tmp/test_enum.ec should_work/test_enum.lus
-PASS: ./lus2lic {-ec -o /tmp/test_enum.ec should_work/test_enum.lus}
-spawn ./myec2c -o /tmp/test_enum.c /tmp/test_enum.ec
-PASS: ./myec2c {-o /tmp/test_enum.c /tmp/test_enum.ec}
-spawn ../utils/test_lus2lic_no_node should_work/test_enum.lus
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/FillFollowedByRed.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/FillFollowedByRed.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/FillFollowedByRed.lus
+spawn ./lus2lic -o ./tmp/test_enum.lic should_work/test_enum.lus
+PASS: ./lus2lic {-o ./tmp/test_enum.lic should_work/test_enum.lus}
+spawn ./lus2lic -ec -o ./tmp/test_enum.ec should_work/test_enum.lus
+PASS: ./lus2lic {-ec -o ./tmp/test_enum.ec should_work/test_enum.lus}
+spawn ./myec2c -o ./tmp/test_enum.c ./tmp/test_enum.ec
+PASS: ./myec2c {-o ./tmp/test_enum.c ./tmp/test_enum.ec}
+spawn ./lus2lic -2c should_work/test_enum.lus -n test_enum
+test_enum_test_enum_loop.c has been generated.
+test_enum_test_enum.h has been generated.
+test_enum_test_enum.c has been generated.
+you can compile those files doing, e.g.,
+  gcc test_enum_test_enum.c test_enum_test_enum_loop.c
+PASS: ./lus2lic {-2c should_work/test_enum.lus -n test_enum}
+spawn rm -f a.out
+spawn gcc test_enum_test_enum.c test_enum_test_enum_loop.c
+PASS: gcc test_enum_test_enum.c test_enum_test_enum_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/test_enum.lus
 + ./lus2lic should_work/test_enum.lus -n test_enum --gen-autotest -np
 _test_enum_env.lut generated.
 _test_enum_oracle.lus generated.
 + echo lus2lic --gen-autotest done
 lus2lic --gen-autotest done
 + cat should_work/test_enum.lus
-+ ./lus2lic should_work/test_enum.lus -n test_enum -ec -o test_enum.ec
-+ echo lus2lic -ec done
-lus2lic -ec done
++ ./lus2lic should_work/test_enum.lus -n test_enum -2c -cc
+test_enum_test_enum_loop.c has been generated.
+test_enum_test_enum.h has been generated.
+test_enum_test_enum.c has been generated.
+sys call: 'gcc test_enum_test_enum.c test_enum_test_enum_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:test_enum.ec:test_enum -rp env:lutin:_test_enum_env.lut -rp oracle:v6:_test_enum_oracle.lus:test_enum_oracle -go -l 10 -ns2c --stop-on-oracle-error
-Error in lurette: Failure("couleur: unsupported type.\n")
-Lurette launched a process that failed (exit 2).
- 
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_test_enum_env.lut -rp oracle:v6:_test_enum_oracle.lus:test_enum_oracle -go -l 10+  -ns2c --stop-on-oracle-error
+./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
-+ echo error
-error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/test_enum.lus
-spawn ./lus2lic -o /tmp/predef01.lic should_work/predef01.lus
-PASS: ./lus2lic {-o /tmp/predef01.lic should_work/predef01.lus}
-spawn ./lus2lic -ec -o /tmp/predef01.ec should_work/predef01.lus
-PASS: ./lus2lic {-ec -o /tmp/predef01.ec should_work/predef01.lus}
-spawn ./myec2c -o /tmp/predef01.c /tmp/predef01.ec
-PASS: ./myec2c {-o /tmp/predef01.c /tmp/predef01.ec}
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/test_enum.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/test_enum.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/test_enum.lus
+spawn ./lus2lic -o ./tmp/predef01.lic should_work/predef01.lus
+PASS: ./lus2lic {-o ./tmp/predef01.lic should_work/predef01.lus}
+spawn ./lus2lic -ec -o ./tmp/predef01.ec should_work/predef01.lus
+PASS: ./lus2lic {-ec -o ./tmp/predef01.ec should_work/predef01.lus}
+spawn ./myec2c -o ./tmp/predef01.c ./tmp/predef01.ec
+PASS: ./myec2c {-o ./tmp/predef01.c ./tmp/predef01.ec}
 spawn ../utils/test_lus2lic_no_node should_work/predef01.lus
 + ./lus2lic should_work/predef01.lus -n predef01 --gen-autotest -np
 _predef01_env.lut generated.
@@ -3852,7 +9156,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -3861,12 +9165,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/predef01.lus
-spawn ./lus2lic -o /tmp/long_et_stupide_nom_de_noeud.lic should_work/long_et_stupide_nom_de_noeud.lus
-PASS: ./lus2lic {-o /tmp/long_et_stupide_nom_de_noeud.lic should_work/long_et_stupide_nom_de_noeud.lus}
-spawn ./lus2lic -ec -o /tmp/long_et_stupide_nom_de_noeud.ec 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}
-spawn ./myec2c -o /tmp/long_et_stupide_nom_de_noeud.c /tmp/long_et_stupide_nom_de_noeud.ec
-PASS: ./myec2c {-o /tmp/long_et_stupide_nom_de_noeud.c /tmp/long_et_stupide_nom_de_noeud.ec}
+spawn ./lus2lic -2c should_work/predef01.lus -n predef01
+predef01_predef01_loop.c has been generated.
+predef01_predef01.h has been generated.
+predef01_predef01.c has been generated.
+you can compile those files doing, e.g.,
+  gcc predef01_predef01.c predef01_predef01_loop.c
+PASS: ./lus2lic {-2c should_work/predef01.lus -n predef01}
+spawn rm -f a.out
+spawn gcc predef01_predef01.c predef01_predef01_loop.c
+PASS: gcc predef01_predef01.c predef01_predef01_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/predef01.lus
++ ./lus2lic should_work/predef01.lus -n predef01 --gen-autotest -np
+_predef01_env.lut generated.
+_predef01_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/predef01.lus
++ ./lus2lic should_work/predef01.lus -n predef01 -2c -cc
+predef01_predef01_loop.c has been generated.
+predef01_predef01.h has been generated.
+predef01_predef01.c has been generated.
+sys call: 'gcc predef01_predef01.c predef01_predef01_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_predef01_env.lut -rp oracle:v6:_predef01_oracle.lus:predef01_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/predef01.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/predef01.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/predef01.lus
+spawn ./lus2lic -o ./tmp/long_et_stupide_nom_de_noeud.lic should_work/long_et_stupide_nom_de_noeud.lus
+PASS: ./lus2lic {-o ./tmp/long_et_stupide_nom_de_noeud.lic should_work/long_et_stupide_nom_de_noeud.lus}
+spawn ./lus2lic -ec -o ./tmp/long_et_stupide_nom_de_noeud.ec 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}
+spawn ./myec2c -o ./tmp/long_et_stupide_nom_de_noeud.c ./tmp/long_et_stupide_nom_de_noeud.ec
+PASS: ./myec2c {-o ./tmp/long_et_stupide_nom_de_noeud.c ./tmp/long_et_stupide_nom_de_noeud.ec}
 spawn ../utils/test_lus2lic_no_node should_work/long_et_stupide_nom_de_noeud.lus
 + ./lus2lic should_work/long_et_stupide_nom_de_noeud.lus -n long_et_stupide_nom_de_noeud --gen-autotest -np
 _long_et_stupide_nom_de_noeud_env.lut generated.
@@ -3883,7 +9231,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -3892,12 +9240,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/long_et_stupide_nom_de_noeud.lus
-spawn ./lus2lic -o /tmp/CURRENT.lic should_work/CURRENT.lus
-PASS: ./lus2lic {-o /tmp/CURRENT.lic should_work/CURRENT.lus}
-spawn ./lus2lic -ec -o /tmp/CURRENT.ec should_work/CURRENT.lus
-PASS: ./lus2lic {-ec -o /tmp/CURRENT.ec should_work/CURRENT.lus}
-spawn ./myec2c -o /tmp/CURRENT.c /tmp/CURRENT.ec
-PASS: ./myec2c {-o /tmp/CURRENT.c /tmp/CURRENT.ec}
+spawn ./lus2lic -2c should_work/long_et_stupide_nom_de_noeud.lus -n long_et_stupide_nom_de_noeud
+long_et_stupide_nom_de_noeud_long_et_stupide_nom_de_noeud_loop.c has been generated.
+long_et_stupide_nom_de_noeud_long_et_stupide_nom_de_noeud.h has been generated.
+long_et_stupide_nom_de_noeud_long_et_stupide_nom_de_noeud.c has been generated.
+you can compile those files doing, e.g.,
+  gcc long_et_stupide_nom_de_noeud_long_et_stupide_nom_de_noeud.c long_et_stupide_nom_de_noeud_long_et_stupide_nom_de_noeud_loop.c
+PASS: ./lus2lic {-2c should_work/long_et_stupide_nom_de_noeud.lus -n long_et_stupide_nom_de_noeud}
+spawn rm -f a.out
+spawn gcc long_et_stupide_nom_de_noeud_long_et_stupide_nom_de_noeud.c long_et_stupide_nom_de_noeud_long_et_stupide_nom_de_noeud_loop.c
+PASS: gcc long_et_stupide_nom_de_noeud_long_et_stupide_nom_de_noeud.c long_et_stupide_nom_de_noeud_long_et_stupide_nom_de_noeud_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/long_et_stupide_nom_de_noeud.lus
++ ./lus2lic should_work/long_et_stupide_nom_de_noeud.lus -n long_et_stupide_nom_de_noeud --gen-autotest -np
+_long_et_stupide_nom_de_noeud_env.lut generated.
+_long_et_stupide_nom_de_noeud_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/long_et_stupide_nom_de_noeud.lus
++ ./lus2lic should_work/long_et_stupide_nom_de_noeud.lus -n long_et_stupide_nom_de_noeud -2c -cc
+long_et_stupide_nom_de_noeud_long_et_stupide_nom_de_noeud_loop.c has been generated.
+long_et_stupide_nom_de_noeud_long_et_stupide_nom_de_noeud.h has been generated.
+long_et_stupide_nom_de_noeud_long_et_stupide_nom_de_noeud.c has been generated.
+sys call: 'gcc long_et_stupide_nom_de_noeud_long_et_stupide_nom_de_noeud.c long_et_stupide_nom_de_noeud_long_et_stupide_nom_de_noeud_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_long_et_stupide_nom_de_noeud_env.lut -rp oracle:v6:_long_et_stupide_nom_de_noeud_oracle.lus:long_et_stupide_nom_de_noeud_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/long_et_stupide_nom_de_noeud.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/long_et_stupide_nom_de_noeud.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/long_et_stupide_nom_de_noeud.lus
+spawn ./lus2lic -o ./tmp/CURRENT.lic should_work/CURRENT.lus
+PASS: ./lus2lic {-o ./tmp/CURRENT.lic should_work/CURRENT.lus}
+spawn ./lus2lic -ec -o ./tmp/CURRENT.ec should_work/CURRENT.lus
+PASS: ./lus2lic {-ec -o ./tmp/CURRENT.ec should_work/CURRENT.lus}
+spawn ./myec2c -o ./tmp/CURRENT.c ./tmp/CURRENT.ec
+PASS: ./myec2c {-o ./tmp/CURRENT.c ./tmp/CURRENT.ec}
 spawn ../utils/test_lus2lic_no_node should_work/CURRENT.lus
 + ./lus2lic should_work/CURRENT.lus -n CURRENT --gen-autotest -np
 _CURRENT_env.lut generated.
@@ -3910,22 +9302,69 @@ lus2lic --gen-autotest done
 lus2lic -ec done
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
 + ./lurettetop -p 6 -seed 42 -rp sut:ec:CURRENT.ec:CURRENT -rp env:lutin:_CURRENT_env.lut -rp oracle:v6:_CURRENT_oracle.lus:CURRENT_oracle -go -l 10 -ns2c --stop-on-oracle-error
-Error in lurette: Lv6errors.Compile_error(_, "\n*** clock error: The two following clocks are not compatible:\n***\t on base\n***\t on x on base\n")
-Lurette launched a process that failed (exit 2).
- 
+RP Variables are compatible.
+quit
+
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
-+ echo error
-error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/CURRENT.lus
-spawn ./lus2lic -o /tmp/left.lic should_work/left.lus
-PASS: ./lus2lic {-o /tmp/left.lic should_work/left.lus}
-spawn ./lus2lic -ec -o /tmp/left.ec should_work/left.lus
-PASS: ./lus2lic {-ec -o /tmp/left.ec should_work/left.lus}
-spawn ./myec2c -o /tmp/left.c /tmp/left.ec
-PASS: ./myec2c {-o /tmp/left.c /tmp/left.ec}
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/test_lus2lic_no_node should_work/CURRENT.lus
+spawn ./lus2lic -2c should_work/CURRENT.lus -n CURRENT
+CURRENT_CURRENT_loop.c has been generated.
+CURRENT_CURRENT.h has been generated.
+CURRENT_CURRENT.c has been generated.
+you can compile those files doing, e.g.,
+  gcc CURRENT_CURRENT.c CURRENT_CURRENT_loop.c
+PASS: ./lus2lic {-2c should_work/CURRENT.lus -n CURRENT}
+spawn rm -f a.out
+spawn gcc CURRENT_CURRENT.c CURRENT_CURRENT_loop.c
+PASS: gcc CURRENT_CURRENT.c CURRENT_CURRENT_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/CURRENT.lus
++ ./lus2lic should_work/CURRENT.lus -n CURRENT --gen-autotest -np
+_CURRENT_env.lut generated.
+_CURRENT_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/CURRENT.lus
++ ./lus2lic should_work/CURRENT.lus -n CURRENT -2c -cc
+CURRENT_CURRENT_loop.c has been generated.
+CURRENT_CURRENT.h has been generated.
+CURRENT_CURRENT.c has been generated.
+sys call: 'gcc CURRENT_CURRENT.c CURRENT_CURRENT_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_CURRENT_env.lut -rp oracle:v6:_CURRENT_oracle.lus:CURRENT_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/CURRENT.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/CURRENT.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/CURRENT.lus
+spawn ./lus2lic -o ./tmp/left.lic should_work/left.lus
+PASS: ./lus2lic {-o ./tmp/left.lic should_work/left.lus}
+spawn ./lus2lic -ec -o ./tmp/left.ec should_work/left.lus
+PASS: ./lus2lic {-ec -o ./tmp/left.ec should_work/left.lus}
+spawn ./myec2c -o ./tmp/left.c ./tmp/left.ec
+PASS: ./myec2c {-o ./tmp/left.c ./tmp/left.ec}
 spawn ../utils/test_lus2lic_no_node should_work/left.lus
 + ./lus2lic should_work/left.lus -n left --gen-autotest -np
 _left_env.lut generated.
@@ -3942,7 +9381,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -3951,12 +9390,29 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/left.lus
-spawn ./lus2lic -o /tmp/ts04.lic should_work/ts04.lus
-PASS: ./lus2lic {-o /tmp/ts04.lic should_work/ts04.lus}
-spawn ./lus2lic -ec -o /tmp/ts04.ec should_work/ts04.lus
-PASS: ./lus2lic {-ec -o /tmp/ts04.ec should_work/ts04.lus}
-spawn ./myec2c -o /tmp/ts04.c /tmp/ts04.ec
-PASS: ./myec2c {-o /tmp/ts04.c /tmp/ts04.ec}
+spawn ./lus2lic -2c should_work/left.lus -n left
+
+*** oops: lus2lic internal error
+	File "src/soc2c.ml", line 103, column 32
+*** when compiling lustre program should_work/left.lus
+
+*** You migth want to sent a bug report to jahier@imag.fr
+FAIL: Generate c code  : ./lus2lic {-2c should_work/left.lus -n left}
+spawn rm -f a.out
+spawn gcc left_left.c left_left_loop.c
+In file included from left_left.c:4:0:
+left_left.h:21:0: error: unterminated #ifndef
+left_left.c: In function 'left_left_bleft_trucp3_step':
+left_left.c:218:3: error: expected declaration or statement at end of input
+In file included from left_left_loop.c:8:0:
+left_left.h:21:0: error: unterminated #ifndef
+FAIL: Check that the generated C code compiles  : gcc left_left.c left_left_loop.c 
+spawn ./lus2lic -o ./tmp/ts04.lic should_work/ts04.lus
+PASS: ./lus2lic {-o ./tmp/ts04.lic should_work/ts04.lus}
+spawn ./lus2lic -ec -o ./tmp/ts04.ec should_work/ts04.lus
+PASS: ./lus2lic {-ec -o ./tmp/ts04.ec should_work/ts04.lus}
+spawn ./myec2c -o ./tmp/ts04.c ./tmp/ts04.ec
+PASS: ./myec2c {-o ./tmp/ts04.c ./tmp/ts04.ec}
 spawn ../utils/test_lus2lic_no_node should_work/ts04.lus
 + ./lus2lic should_work/ts04.lus -n ts04 --gen-autotest -np
 _ts04_env.lut generated.
@@ -3973,7 +9429,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -3982,22 +9438,69 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/ts04.lus
-spawn ./lus2lic -o /tmp/bug_map_fby.lic should_work/bug_map_fby.lus
+spawn ./lus2lic -2c should_work/ts04.lus -n ts04
+ts04_ts04_loop.c has been generated.
+ts04_ts04.h has been generated.
+ts04_ts04.c has been generated.
+you can compile those files doing, e.g.,
+  gcc ts04_ts04.c ts04_ts04_loop.c
+PASS: ./lus2lic {-2c should_work/ts04.lus -n ts04}
+spawn rm -f a.out
+spawn gcc ts04_ts04.c ts04_ts04_loop.c
+PASS: gcc ts04_ts04.c ts04_ts04_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/ts04.lus
++ ./lus2lic should_work/ts04.lus -n ts04 --gen-autotest -np
+_ts04_env.lut generated.
+_ts04_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/ts04.lus
++ ./lus2lic should_work/ts04.lus -n ts04 -2c -cc
+ts04_ts04_loop.c has been generated.
+ts04_ts04.h has been generated.
+ts04_ts04.c has been generated.
+sys call: 'gcc ts04_ts04.c ts04_ts04_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ + ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001./call-via-socket -rp -server env:lutin:_ts04_env.lut -addr -rp 127.0.0.1 -port oracle:v6:_ts04_oracle.lus:ts04_oracle 2001 ./a.out -go
+ -l 10 -ns2c --stop-on-oracle-error
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/ts04.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/ts04.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/ts04.lus
+spawn ./lus2lic -o ./tmp/bug_map_fby.lic should_work/bug_map_fby.lus
 *** Error in file "/home/jahier/lus2lic/test/should_work/bug_map_fby.lus", line 33, col 13 to 15, token 'fby':
 *** Bad static argument nature, a node was expected
 
-FAIL: without any option: ./lus2lic {-o /tmp/bug_map_fby.lic should_work/bug_map_fby.lus}
-spawn ./lus2lic -ec -o /tmp/bug_map_fby.ec should_work/bug_map_fby.lus
+FAIL: without any option: ./lus2lic {-o ./tmp/bug_map_fby.lic should_work/bug_map_fby.lus}
+spawn ./lus2lic -ec -o ./tmp/bug_map_fby.ec should_work/bug_map_fby.lus
 *** Error in file "/home/jahier/lus2lic/test/should_work/bug_map_fby.lus", line 33, col 13 to 15, token 'fby':
 *** Bad static argument nature, a node was expected
 
-FAIL: Generate ec code  : ./lus2lic {-ec -o /tmp/bug_map_fby.ec should_work/bug_map_fby.lus}
-spawn ./lus2lic -o /tmp/multiclock.lic should_work/multiclock.lus
-PASS: ./lus2lic {-o /tmp/multiclock.lic should_work/multiclock.lus}
-spawn ./lus2lic -ec -o /tmp/multiclock.ec should_work/multiclock.lus
-PASS: ./lus2lic {-ec -o /tmp/multiclock.ec should_work/multiclock.lus}
-spawn ./myec2c -o /tmp/multiclock.c /tmp/multiclock.ec
-PASS: ./myec2c {-o /tmp/multiclock.c /tmp/multiclock.ec}
+FAIL: Generate ec code  : ./lus2lic {-ec -o ./tmp/bug_map_fby.ec should_work/bug_map_fby.lus}
+spawn ./lus2lic -2c should_work/bug_map_fby.lus -n bug_map_fby
+Error. Can not find node bug_map_fby
+FAIL: Generate c code  : ./lus2lic {-2c should_work/bug_map_fby.lus -n bug_map_fby}
+spawn ./lus2lic -o ./tmp/multiclock.lic should_work/multiclock.lus
+PASS: ./lus2lic {-o ./tmp/multiclock.lic should_work/multiclock.lus}
+spawn ./lus2lic -ec -o ./tmp/multiclock.ec should_work/multiclock.lus
+PASS: ./lus2lic {-ec -o ./tmp/multiclock.ec should_work/multiclock.lus}
+spawn ./myec2c -o ./tmp/multiclock.c ./tmp/multiclock.ec
+PASS: ./myec2c {-o ./tmp/multiclock.c ./tmp/multiclock.ec}
 spawn ../utils/test_lus2lic_no_node should_work/multiclock.lus
 + ./lus2lic should_work/multiclock.lus -n multiclock --gen-autotest -np
 _multiclock_env.lut generated.
@@ -4010,39 +9513,161 @@ lus2lic --gen-autotest done
 lus2lic -ec done
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
 + ./lurettetop -p 6 -seed 42 -rp sut:ec:multiclock.ec:multiclock -rp env:lutin:_multiclock_env.lut -rp oracle:v6:_multiclock_oracle.lus:multiclock_oracle -go -l 10 -ns2c --stop-on-oracle-error
-Error in lurette: Lv6errors.Compile_error(_, "\n*** clock error: The two following clocks are not compatible:\n***\t on base\n***\t on c on base\n")
-Lurette launched a process that failed (exit 2).
- 
+RP Variables are compatible.
+quit
+
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/test_lus2lic_no_node should_work/multiclock.lus
+spawn ./lus2lic -2c should_work/multiclock.lus -n multiclock
+multiclock_multiclock_loop.c has been generated.
+multiclock_multiclock.h has been generated.
+multiclock_multiclock.c has been generated.
+you can compile those files doing, e.g.,
+  gcc multiclock_multiclock.c multiclock_multiclock_loop.c
+PASS: ./lus2lic {-2c should_work/multiclock.lus -n multiclock}
+spawn rm -f a.out
+spawn gcc multiclock_multiclock.c multiclock_multiclock_loop.c
+PASS: gcc multiclock_multiclock.c multiclock_multiclock_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/multiclock.lus
++ ./lus2lic should_work/multiclock.lus -n multiclock --gen-autotest -np
+_multiclock_env.lut generated.
+_multiclock_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/multiclock.lus
++ ./lus2lic should_work/multiclock.lus -n multiclock -2c -cc
+multiclock_multiclock_loop.c has been generated.
+multiclock_multiclock.h has been generated.
+multiclock_multiclock.c has been generated.
+sys call: 'gcc multiclock_multiclock.c multiclock_multiclock_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_multiclock_env.lut -rp oracle:v6:_multiclock_oracle.lus:multiclock_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/multiclock.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/multiclock.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/multiclock.lus
+spawn ./lus2lic -o ./tmp/nc2.lic should_work/nc2.lus
+PASS: ./lus2lic {-o ./tmp/nc2.lic should_work/nc2.lus}
+spawn ./lus2lic -ec -o ./tmp/nc2.ec should_work/nc2.lus
+PASS: ./lus2lic {-ec -o ./tmp/nc2.ec should_work/nc2.lus}
+spawn ./myec2c -o ./tmp/nc2.c ./tmp/nc2.ec
+PASS: ./myec2c {-o ./tmp/nc2.c ./tmp/nc2.ec}
+spawn ../utils/test_lus2lic_no_node should_work/nc2.lus
++ ./lus2lic should_work/nc2.lus -n nc2 --gen-autotest -np
+_nc2_env.lut generated.
+_nc2_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/nc2.lus
++ ./lus2lic should_work/nc2.lus -n nc2 -ec -o nc2.ec
++ echo lus2lic -ec done
+lus2lic -ec done
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:ec:nc2.ec:nc2 -rp env:lutin:_nc2_env.lut -rp oracle:v6:_nc2_oracle.lus:nc2_oracle -go -l 10 -ns2c --stop-on-oracle-error
+RP Variables are compatible.
+quit
+
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
-+ echo error
-error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/multiclock.lus
-spawn ./lus2lic -o /tmp/nc2.lic should_work/nc2.lus
-PASS: ./lus2lic {-o /tmp/nc2.lic should_work/nc2.lus}
-spawn ./lus2lic -ec -o /tmp/nc2.ec should_work/nc2.lus
-PASS: ./lus2lic {-ec -o /tmp/nc2.ec should_work/nc2.lus}
-spawn ./myec2c -o /tmp/nc2.c /tmp/nc2.ec
-PASS: ./myec2c {-o /tmp/nc2.c /tmp/nc2.ec}
-spawn ../utils/test_lus2lic_no_node should_work/nc2.lus
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/test_lus2lic_no_node should_work/nc2.lus
+spawn ./lus2lic -2c should_work/nc2.lus -n nc2
+nc2_nc2_loop.c has been generated.
+nc2_nc2.h has been generated.
+nc2_nc2.c has been generated.
+you can compile those files doing, e.g.,
+  gcc nc2_nc2.c nc2_nc2_loop.c
+PASS: ./lus2lic {-2c should_work/nc2.lus -n nc2}
+spawn rm -f a.out
+spawn gcc nc2_nc2.c nc2_nc2_loop.c
+PASS: gcc nc2_nc2.c nc2_nc2_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/nc2.lus
 + ./lus2lic should_work/nc2.lus -n nc2 --gen-autotest -np
 _nc2_env.lut generated.
 _nc2_oracle.lus generated.
 + echo lus2lic --gen-autotest done
 lus2lic --gen-autotest done
 + cat should_work/nc2.lus
-+ ./lus2lic should_work/nc2.lus -n nc2 -ec -o nc2.ec
++ ./lus2lic should_work/nc2.lus -n nc2 -2c -cc
+nc2_nc2_loop.c has been generated.
+nc2_nc2.h has been generated.
+nc2_nc2.c has been generated.
+sys call: 'gcc nc2_nc2.c nc2_nc2_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_nc2_env.lut -rp oracle:v6:_nc2_oracle.lus:nc2_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/nc2.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/nc2.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/nc2.lus
+spawn ./lus2lic -o ./tmp/test_arrow.lic should_work/test_arrow.lus
+PASS: ./lus2lic {-o ./tmp/test_arrow.lic should_work/test_arrow.lus}
+spawn ./lus2lic -ec -o ./tmp/test_arrow.ec should_work/test_arrow.lus
+PASS: ./lus2lic {-ec -o ./tmp/test_arrow.ec should_work/test_arrow.lus}
+spawn ./myec2c -o ./tmp/test_arrow.c ./tmp/test_arrow.ec
+PASS: ./myec2c {-o ./tmp/test_arrow.c ./tmp/test_arrow.ec}
+spawn ../utils/test_lus2lic_no_node should_work/test_arrow.lus
++ ./lus2lic should_work/test_arrow.lus -n test_arrow --gen-autotest -np
+_test_arrow_env.lut generated.
+_test_arrow_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/test_arrow.lus
++ ./lus2lic should_work/test_arrow.lus -n test_arrow -ec -o test_arrow.ec
 + echo lus2lic -ec done
 lus2lic -ec done
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:nc2.ec:nc2 -rp env:lutin:_nc2_env.lut -rp oracle:v6:_nc2_oracle.lus:nc2_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./lurettetop -p 6 -seed 42 -rp sut:ec:test_arrow.ec:test_arrow -rp env:lutin:_test_arrow_env.lut -rp oracle:v6:_test_arrow_oracle.lus:test_arrow_oracle -go -l 10 -ns2c --stop-on-oracle-error
 RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -4050,13 +9675,57 @@ lurettetop: bye!
 + echo lurettetop ok
 lurettetop ok
 + exit 0
-PASS: ../utils/test_lus2lic_no_node should_work/nc2.lus
-spawn ./lus2lic -o /tmp/morel.lic should_work/morel.lus
-PASS: ./lus2lic {-o /tmp/morel.lic should_work/morel.lus}
-spawn ./lus2lic -ec -o /tmp/morel.ec should_work/morel.lus
-PASS: ./lus2lic {-ec -o /tmp/morel.ec should_work/morel.lus}
-spawn ./myec2c -o /tmp/morel.c /tmp/morel.ec
-PASS: ./myec2c {-o /tmp/morel.c /tmp/morel.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/test_arrow.lus
+spawn ./lus2lic -2c should_work/test_arrow.lus -n test_arrow
+test_arrow_test_arrow_loop.c has been generated.
+test_arrow_test_arrow.h has been generated.
+test_arrow_test_arrow.c has been generated.
+you can compile those files doing, e.g.,
+  gcc test_arrow_test_arrow.c test_arrow_test_arrow_loop.c
+PASS: ./lus2lic {-2c should_work/test_arrow.lus -n test_arrow}
+spawn rm -f a.out
+spawn gcc test_arrow_test_arrow.c test_arrow_test_arrow_loop.c
+PASS: gcc test_arrow_test_arrow.c test_arrow_test_arrow_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/test_arrow.lus
++ ./lus2lic should_work/test_arrow.lus -n test_arrow --gen-autotest -np
+_test_arrow_env.lut generated.
+_test_arrow_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/test_arrow.lus
++ ./lus2lic should_work/test_arrow.lus -n test_arrow -2c -cc
+test_arrow_test_arrow_loop.c has been generated.
+test_arrow_test_arrow.h has been generated.
+test_arrow_test_arrow.c has been generated.
+sys call: 'gcc test_arrow_test_arrow.c test_arrow_test_arrow_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_test_arrow_env.lut -rp oracle:v6:_test_arrow_oracle.lus:test_arrow_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/test_arrow.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/test_arrow.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/test_arrow.lus
+spawn ./lus2lic -o ./tmp/morel.lic should_work/morel.lus
+PASS: ./lus2lic {-o ./tmp/morel.lic should_work/morel.lus}
+spawn ./lus2lic -ec -o ./tmp/morel.ec should_work/morel.lus
+PASS: ./lus2lic {-ec -o ./tmp/morel.ec should_work/morel.lus}
+spawn ./myec2c -o ./tmp/morel.c ./tmp/morel.ec
+PASS: ./myec2c {-o ./tmp/morel.c ./tmp/morel.ec}
 spawn ../utils/test_lus2lic_no_node should_work/morel.lus
 + ./lus2lic should_work/morel.lus -n morel --gen-autotest -np
 _morel_env.lut generated.
@@ -4073,7 +9742,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -4082,12 +9751,29 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/morel.lus
-spawn ./lus2lic -o /tmp/SOURIS.lic should_work/SOURIS.lus
-PASS: ./lus2lic {-o /tmp/SOURIS.lic should_work/SOURIS.lus}
-spawn ./lus2lic -ec -o /tmp/SOURIS.ec should_work/SOURIS.lus
-PASS: ./lus2lic {-ec -o /tmp/SOURIS.ec should_work/SOURIS.lus}
-spawn ./myec2c -o /tmp/SOURIS.c /tmp/SOURIS.ec
-PASS: ./myec2c {-o /tmp/SOURIS.c /tmp/SOURIS.ec}
+spawn ./lus2lic -2c should_work/morel.lus -n morel
+
+*** oops: lus2lic internal error
+	File "src/soc2c.ml", line 103, column 32
+*** when compiling lustre program should_work/morel.lus
+
+*** You migth want to sent a bug report to jahier@imag.fr
+FAIL: Generate c code  : ./lus2lic {-2c should_work/morel.lus -n morel}
+spawn rm -f a.out
+spawn gcc morel_morel.c morel_morel_loop.c
+In file included from morel_morel.c:4:0:
+morel_morel.h:21:0: error: unterminated #ifndef
+morel_morel.c: In function 'morel_tab_bibbbiii_step':
+morel_morel.c:215:3: error: expected declaration or statement at end of input
+In file included from morel_morel_loop.c:8:0:
+morel_morel.h:21:0: error: unterminated #ifndef
+FAIL: Check that the generated C code compiles  : gcc morel_morel.c morel_morel_loop.c 
+spawn ./lus2lic -o ./tmp/SOURIS.lic should_work/SOURIS.lus
+PASS: ./lus2lic {-o ./tmp/SOURIS.lic should_work/SOURIS.lus}
+spawn ./lus2lic -ec -o ./tmp/SOURIS.ec should_work/SOURIS.lus
+PASS: ./lus2lic {-ec -o ./tmp/SOURIS.ec should_work/SOURIS.lus}
+spawn ./myec2c -o ./tmp/SOURIS.c ./tmp/SOURIS.ec
+PASS: ./myec2c {-o ./tmp/SOURIS.c ./tmp/SOURIS.ec}
 spawn ../utils/test_lus2lic_no_node should_work/SOURIS.lus
 + ./lus2lic should_work/SOURIS.lus -n SOURIS --gen-autotest -np
 _SOURIS_env.lut generated.
@@ -4104,7 +9790,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -4113,12 +9799,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/SOURIS.lus
-spawn ./lus2lic -o /tmp/param_node2.lic should_work/param_node2.lus
-PASS: ./lus2lic {-o /tmp/param_node2.lic should_work/param_node2.lus}
-spawn ./lus2lic -ec -o /tmp/param_node2.ec should_work/param_node2.lus
-PASS: ./lus2lic {-ec -o /tmp/param_node2.ec should_work/param_node2.lus}
-spawn ./myec2c -o /tmp/param_node2.c /tmp/param_node2.ec
-PASS: ./myec2c {-o /tmp/param_node2.c /tmp/param_node2.ec}
+spawn ./lus2lic -2c should_work/SOURIS.lus -n SOURIS
+SOURIS_SOURIS_loop.c has been generated.
+SOURIS_SOURIS.h has been generated.
+SOURIS_SOURIS.c has been generated.
+you can compile those files doing, e.g.,
+  gcc SOURIS_SOURIS.c SOURIS_SOURIS_loop.c
+PASS: ./lus2lic {-2c should_work/SOURIS.lus -n SOURIS}
+spawn rm -f a.out
+spawn gcc SOURIS_SOURIS.c SOURIS_SOURIS_loop.c
+PASS: gcc SOURIS_SOURIS.c SOURIS_SOURIS_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/SOURIS.lus
++ ./lus2lic should_work/SOURIS.lus -n SOURIS --gen-autotest -np
+_SOURIS_env.lut generated.
+_SOURIS_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/SOURIS.lus
++ ./lus2lic should_work/SOURIS.lus -n SOURIS -2c -cc
+SOURIS_SOURIS_loop.c has been generated.
+SOURIS_SOURIS.h has been generated.
+SOURIS_SOURIS.c has been generated.
+sys call: 'gcc SOURIS_SOURIS.c SOURIS_SOURIS_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_SOURIS_env.lut -rp oracle:v6:_SOURIS_oracle.lus:SOURIS_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/SOURIS.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/SOURIS.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/SOURIS.lus
+spawn ./lus2lic -o ./tmp/param_node2.lic should_work/param_node2.lus
+PASS: ./lus2lic {-o ./tmp/param_node2.lic should_work/param_node2.lus}
+spawn ./lus2lic -ec -o ./tmp/param_node2.ec should_work/param_node2.lus
+PASS: ./lus2lic {-ec -o ./tmp/param_node2.ec should_work/param_node2.lus}
+spawn ./myec2c -o ./tmp/param_node2.c ./tmp/param_node2.ec
+PASS: ./myec2c {-o ./tmp/param_node2.c ./tmp/param_node2.ec}
 spawn ../utils/test_lus2lic_no_node should_work/param_node2.lus
 + ./lus2lic should_work/param_node2.lus -n param_node2 --gen-autotest -np
 _param_node2_env.lut generated.
@@ -4135,7 +9865,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -4144,12 +9874,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/param_node2.lus
-spawn ./lus2lic -o /tmp/o2l_feux_compl.lic should_work/o2l_feux_compl.lus
-PASS: ./lus2lic {-o /tmp/o2l_feux_compl.lic should_work/o2l_feux_compl.lus}
-spawn ./lus2lic -ec -o /tmp/o2l_feux_compl.ec should_work/o2l_feux_compl.lus
-PASS: ./lus2lic {-ec -o /tmp/o2l_feux_compl.ec should_work/o2l_feux_compl.lus}
-spawn ./myec2c -o /tmp/o2l_feux_compl.c /tmp/o2l_feux_compl.ec
-PASS: ./myec2c {-o /tmp/o2l_feux_compl.c /tmp/o2l_feux_compl.ec}
+spawn ./lus2lic -2c should_work/param_node2.lus -n param_node2
+param_node2_param_node2_loop.c has been generated.
+param_node2_param_node2.h has been generated.
+param_node2_param_node2.c has been generated.
+you can compile those files doing, e.g.,
+  gcc param_node2_param_node2.c param_node2_param_node2_loop.c
+PASS: ./lus2lic {-2c should_work/param_node2.lus -n param_node2}
+spawn rm -f a.out
+spawn gcc param_node2_param_node2.c param_node2_param_node2_loop.c
+PASS: gcc param_node2_param_node2.c param_node2_param_node2_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/param_node2.lus
++ ./lus2lic should_work/param_node2.lus -n param_node2 --gen-autotest -np
+_param_node2_env.lut generated.
+_param_node2_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/param_node2.lus
++ ./lus2lic should_work/param_node2.lus -n param_node2 -2c -cc
+param_node2_param_node2_loop.c has been generated.
+param_node2_param_node2.h has been generated.
+param_node2_param_node2.c has been generated.
+sys call: 'gcc param_node2_param_node2.c param_node2_param_node2_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_param_node2_env.lut -rp oracle:v6:_param_node2_oracle.lus:param_node2_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/param_node2.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/param_node2.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/param_node2.lus
+spawn ./lus2lic -o ./tmp/o2l_feux_compl.lic should_work/o2l_feux_compl.lus
+PASS: ./lus2lic {-o ./tmp/o2l_feux_compl.lic should_work/o2l_feux_compl.lus}
+spawn ./lus2lic -ec -o ./tmp/o2l_feux_compl.ec should_work/o2l_feux_compl.lus
+PASS: ./lus2lic {-ec -o ./tmp/o2l_feux_compl.ec should_work/o2l_feux_compl.lus}
+spawn ./myec2c -o ./tmp/o2l_feux_compl.c ./tmp/o2l_feux_compl.ec
+PASS: ./myec2c {-o ./tmp/o2l_feux_compl.c ./tmp/o2l_feux_compl.ec}
 spawn ../utils/test_lus2lic_no_node should_work/o2l_feux_compl.lus
 + ./lus2lic should_work/o2l_feux_compl.lus -n o2l_feux_compl --gen-autotest -np
 _o2l_feux_compl_env.lut generated.
@@ -4166,7 +9940,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -4175,27 +9949,67 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/o2l_feux_compl.lus
-spawn ./lus2lic -o /tmp/model.lic should_work/model.lus
-PASS: ./lus2lic {-o /tmp/model.lic should_work/model.lus}
-spawn ./lus2lic -ec -o /tmp/model.ec should_work/model.lus
-PASS: ./lus2lic {-ec -o /tmp/model.ec should_work/model.lus}
-spawn ./myec2c -o /tmp/model.c /tmp/model.ec
-PASS: ./myec2c {-o /tmp/model.c /tmp/model.ec}
-spawn ../utils/test_lus2lic_no_node should_work/model.lus
-+ ./lus2lic should_work/model.lus -n model --gen-autotest -np
+spawn ./lus2lic -2c should_work/o2l_feux_compl.lus -n o2l_feux_compl
+o2l_feux_compl_o2l_feux_compl_loop.c has been generated.
+o2l_feux_compl_o2l_feux_compl.h has been generated.
+o2l_feux_compl_o2l_feux_compl.c has been generated.
+you can compile those files doing, e.g.,
+  gcc o2l_feux_compl_o2l_feux_compl.c o2l_feux_compl_o2l_feux_compl_loop.c
+PASS: ./lus2lic {-2c should_work/o2l_feux_compl.lus -n o2l_feux_compl}
+spawn rm -f a.out
+spawn gcc o2l_feux_compl_o2l_feux_compl.c o2l_feux_compl_o2l_feux_compl_loop.c
+PASS: gcc o2l_feux_compl_o2l_feux_compl.c o2l_feux_compl_o2l_feux_compl_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/o2l_feux_compl.lus
++ ./lus2lic should_work/o2l_feux_compl.lus -n o2l_feux_compl --gen-autotest -np
+_o2l_feux_compl_env.lut generated.
+_o2l_feux_compl_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/o2l_feux_compl.lus
++ ./lus2lic should_work/o2l_feux_compl.lus -n o2l_feux_compl -2c -cc
+o2l_feux_compl_o2l_feux_compl_loop.c has been generated.
+o2l_feux_compl_o2l_feux_compl.h has been generated.
+o2l_feux_compl_o2l_feux_compl.c has been generated.
+sys call: 'gcc o2l_feux_compl_o2l_feux_compl.c o2l_feux_compl_o2l_feux_compl_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_o2l_feux_compl_env.lut -rp oracle:v6:_o2l_feux_compl_oracle.lus:o2l_feux_compl_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/o2l_feux_compl.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/o2l_feux_compl.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/o2l_feux_compl.lus
+spawn ./lus2lic -o ./tmp/model.lic should_work/model.lus
+PASS: ./lus2lic {-o ./tmp/model.lic should_work/model.lus}
+spawn ./lus2lic -ec -o ./tmp/model.ec should_work/model.lus
+PASS: ./lus2lic {-ec -o ./tmp/model.ec should_work/model.lus}
+spawn ./myec2c -o ./tmp/model.c ./tmp/model.ec
+PASS: ./myec2c {-o ./tmp/model.c ./tmp/model.ec}
+spawn ./lus2lic -2c should_work/model.lus -n model
 *** Can not find package 'model' in the following packages: 
 ***	 'p'
 ***	 'u'
-+ echo Error
-Error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/model.lus
-spawn ./lus2lic -o /tmp/matrice.lic should_work/matrice.lus
-PASS: ./lus2lic {-o /tmp/matrice.lic should_work/matrice.lus}
-spawn ./lus2lic -ec -o /tmp/matrice.ec should_work/matrice.lus
-PASS: ./lus2lic {-ec -o /tmp/matrice.ec should_work/matrice.lus}
-spawn ./myec2c -o /tmp/matrice.c /tmp/matrice.ec
-PASS: ./myec2c {-o /tmp/matrice.c /tmp/matrice.ec}
+PASS: ./lus2lic {-2c should_work/model.lus -n model}
+spawn ./lus2lic -o ./tmp/matrice.lic should_work/matrice.lus
+PASS: ./lus2lic {-o ./tmp/matrice.lic should_work/matrice.lus}
+spawn ./lus2lic -ec -o ./tmp/matrice.ec should_work/matrice.lus
+PASS: ./lus2lic {-ec -o ./tmp/matrice.ec should_work/matrice.lus}
+spawn ./myec2c -o ./tmp/matrice.c ./tmp/matrice.ec
+PASS: ./myec2c {-o ./tmp/matrice.c ./tmp/matrice.ec}
 spawn ../utils/test_lus2lic_no_node should_work/matrice.lus
 + ./lus2lic should_work/matrice.lus -n matrice --gen-autotest -np
 _matrice_env.lut generated.
@@ -4212,7 +10026,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -4221,12 +10035,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/matrice.lus
-spawn ./lus2lic -o /tmp/TIME_STABLE.lic should_work/TIME_STABLE.lus
-PASS: ./lus2lic {-o /tmp/TIME_STABLE.lic should_work/TIME_STABLE.lus}
-spawn ./lus2lic -ec -o /tmp/TIME_STABLE.ec should_work/TIME_STABLE.lus
-PASS: ./lus2lic {-ec -o /tmp/TIME_STABLE.ec should_work/TIME_STABLE.lus}
-spawn ./myec2c -o /tmp/TIME_STABLE.c /tmp/TIME_STABLE.ec
-PASS: ./myec2c {-o /tmp/TIME_STABLE.c /tmp/TIME_STABLE.ec}
+spawn ./lus2lic -2c should_work/matrice.lus -n matrice
+matrice_matrice_loop.c has been generated.
+matrice_matrice.h has been generated.
+matrice_matrice.c has been generated.
+you can compile those files doing, e.g.,
+  gcc matrice_matrice.c matrice_matrice_loop.c
+PASS: ./lus2lic {-2c should_work/matrice.lus -n matrice}
+spawn rm -f a.out
+spawn gcc matrice_matrice.c matrice_matrice_loop.c
+PASS: gcc matrice_matrice.c matrice_matrice_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/matrice.lus
++ ./lus2lic should_work/matrice.lus -n matrice --gen-autotest -np
+_matrice_env.lut generated.
+_matrice_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/matrice.lus
++ ./lus2lic should_work/matrice.lus -n matrice -2c -cc
+matrice_matrice_loop.c has been generated.
+matrice_matrice.h has been generated.
+matrice_matrice.c has been generated.
+sys call: 'gcc matrice_matrice.c matrice_matrice_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_matrice_env.lut -rp oracle:v6:_matrice_oracle.lus:matrice_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/matrice.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/matrice.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/matrice.lus
+spawn ./lus2lic -o ./tmp/TIME_STABLE.lic should_work/TIME_STABLE.lus
+PASS: ./lus2lic {-o ./tmp/TIME_STABLE.lic should_work/TIME_STABLE.lus}
+spawn ./lus2lic -ec -o ./tmp/TIME_STABLE.ec should_work/TIME_STABLE.lus
+PASS: ./lus2lic {-ec -o ./tmp/TIME_STABLE.ec should_work/TIME_STABLE.lus}
+spawn ./myec2c -o ./tmp/TIME_STABLE.c ./tmp/TIME_STABLE.ec
+PASS: ./myec2c {-o ./tmp/TIME_STABLE.c ./tmp/TIME_STABLE.ec}
 spawn ../utils/test_lus2lic_no_node should_work/TIME_STABLE.lus
 + ./lus2lic should_work/TIME_STABLE.lus -n TIME_STABLE --gen-autotest -np
 _TIME_STABLE_env.lut generated.
@@ -4243,7 +10101,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -4252,12 +10110,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/TIME_STABLE.lus
-spawn ./lus2lic -o /tmp/cpt.lic should_work/cpt.lus
-PASS: ./lus2lic {-o /tmp/cpt.lic should_work/cpt.lus}
-spawn ./lus2lic -ec -o /tmp/cpt.ec should_work/cpt.lus
-PASS: ./lus2lic {-ec -o /tmp/cpt.ec should_work/cpt.lus}
-spawn ./myec2c -o /tmp/cpt.c /tmp/cpt.ec
-PASS: ./myec2c {-o /tmp/cpt.c /tmp/cpt.ec}
+spawn ./lus2lic -2c should_work/TIME_STABLE.lus -n TIME_STABLE
+TIME_STABLE_TIME_STABLE_loop.c has been generated.
+TIME_STABLE_TIME_STABLE.h has been generated.
+TIME_STABLE_TIME_STABLE.c has been generated.
+you can compile those files doing, e.g.,
+  gcc TIME_STABLE_TIME_STABLE.c TIME_STABLE_TIME_STABLE_loop.c
+PASS: ./lus2lic {-2c should_work/TIME_STABLE.lus -n TIME_STABLE}
+spawn rm -f a.out
+spawn gcc TIME_STABLE_TIME_STABLE.c TIME_STABLE_TIME_STABLE_loop.c
+PASS: gcc TIME_STABLE_TIME_STABLE.c TIME_STABLE_TIME_STABLE_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/TIME_STABLE.lus
++ ./lus2lic should_work/TIME_STABLE.lus -n TIME_STABLE --gen-autotest -np
+_TIME_STABLE_env.lut generated.
+_TIME_STABLE_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/TIME_STABLE.lus
++ ./lus2lic should_work/TIME_STABLE.lus -n TIME_STABLE -2c -cc
+TIME_STABLE_TIME_STABLE_loop.c has been generated.
+TIME_STABLE_TIME_STABLE.h has been generated.
+TIME_STABLE_TIME_STABLE.c has been generated.
+sys call: 'gcc TIME_STABLE_TIME_STABLE.c TIME_STABLE_TIME_STABLE_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_TIME_STABLE_env.lut -rp oracle:v6:_TIME_STABLE_oracle.lus:TIME_STABLE_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/TIME_STABLE.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/TIME_STABLE.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/TIME_STABLE.lus
+spawn ./lus2lic -o ./tmp/cpt.lic should_work/cpt.lus
+PASS: ./lus2lic {-o ./tmp/cpt.lic should_work/cpt.lus}
+spawn ./lus2lic -ec -o ./tmp/cpt.ec should_work/cpt.lus
+PASS: ./lus2lic {-ec -o ./tmp/cpt.ec should_work/cpt.lus}
+spawn ./myec2c -o ./tmp/cpt.c ./tmp/cpt.ec
+PASS: ./myec2c {-o ./tmp/cpt.c ./tmp/cpt.ec}
 spawn ../utils/test_lus2lic_no_node should_work/cpt.lus
 + ./lus2lic should_work/cpt.lus -n cpt --gen-autotest -np
 _cpt_env.lut generated.
@@ -4274,7 +10176,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -4283,12 +10185,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/cpt.lus
-spawn ./lus2lic -o /tmp/multipar.lic should_work/multipar.lus
-PASS: ./lus2lic {-o /tmp/multipar.lic should_work/multipar.lus}
-spawn ./lus2lic -ec -o /tmp/multipar.ec should_work/multipar.lus
-PASS: ./lus2lic {-ec -o /tmp/multipar.ec should_work/multipar.lus}
-spawn ./myec2c -o /tmp/multipar.c /tmp/multipar.ec
-PASS: ./myec2c {-o /tmp/multipar.c /tmp/multipar.ec}
+spawn ./lus2lic -2c should_work/cpt.lus -n cpt
+cpt_cpt_loop.c has been generated.
+cpt_cpt.h has been generated.
+cpt_cpt.c has been generated.
+you can compile those files doing, e.g.,
+  gcc cpt_cpt.c cpt_cpt_loop.c
+PASS: ./lus2lic {-2c should_work/cpt.lus -n cpt}
+spawn rm -f a.out
+spawn gcc cpt_cpt.c cpt_cpt_loop.c
+PASS: gcc cpt_cpt.c cpt_cpt_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/cpt.lus
++ ./lus2lic should_work/cpt.lus -n cpt --gen-autotest -np
+_cpt_env.lut generated.
+_cpt_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/cpt.lus
++ ./lus2lic should_work/cpt.lus -n cpt -2c -cc
+cpt_cpt_loop.c has been generated.
+cpt_cpt.h has been generated.
+cpt_cpt.c has been generated.
+sys call: 'gcc cpt_cpt.c cpt_cpt_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_cpt_env.lut -rp oracle:v6:_cpt_oracle.lus:cpt_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/cpt.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/cpt.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/cpt.lus
+spawn ./lus2lic -o ./tmp/multipar.lic should_work/multipar.lus
+PASS: ./lus2lic {-o ./tmp/multipar.lic should_work/multipar.lus}
+spawn ./lus2lic -ec -o ./tmp/multipar.ec should_work/multipar.lus
+PASS: ./lus2lic {-ec -o ./tmp/multipar.ec should_work/multipar.lus}
+spawn ./myec2c -o ./tmp/multipar.c ./tmp/multipar.ec
+PASS: ./myec2c {-o ./tmp/multipar.c ./tmp/multipar.ec}
 spawn ../utils/test_lus2lic_no_node should_work/multipar.lus
 + ./lus2lic should_work/multipar.lus -n multipar --gen-autotest -np
 _multipar_env.lut generated.
@@ -4312,12 +10258,51 @@ lurettetop: bye!
 error
 + exit 2
 FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/multipar.lus
-spawn ./lus2lic -o /tmp/activation_ec.lic should_work/activation_ec.lus
-PASS: ./lus2lic {-o /tmp/activation_ec.lic should_work/activation_ec.lus}
-spawn ./lus2lic -ec -o /tmp/activation_ec.ec should_work/activation_ec.lus
-PASS: ./lus2lic {-ec -o /tmp/activation_ec.ec should_work/activation_ec.lus}
-spawn ./myec2c -o /tmp/activation_ec.c /tmp/activation_ec.ec
-PASS: ./myec2c {-o /tmp/activation_ec.c /tmp/activation_ec.ec}
+spawn ./lus2lic -2c should_work/multipar.lus -n multipar
+multipar_multipar_loop.c has been generated.
+multipar_multipar.h has been generated.
+multipar_multipar.c has been generated.
+you can compile those files doing, e.g.,
+  gcc multipar_multipar.c multipar_multipar_loop.c
+PASS: ./lus2lic {-2c should_work/multipar.lus -n multipar}
+spawn rm -f a.out
+spawn gcc multipar_multipar.c multipar_multipar_loop.c
+PASS: gcc multipar_multipar.c multipar_multipar_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/multipar.lus
++ ./lus2lic should_work/multipar.lus -n multipar --gen-autotest -np
+_multipar_env.lut generated.
+_multipar_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/multipar.lus
++ ./lus2lic should_work/multipar.lus -n multipar -2c -cc
+multipar_multipar_loop.c has been generated.
+multipar_multipar.h has been generated.
+multipar_multipar.c has been generated.
+sys call: 'gcc multipar_multipar.c multipar_multipar_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_multipar_env.lut -rp oracle:v6:_multipar_oracle.lus:multipar_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Failure occured in lurette: int_of_string
+Lurette launched a process that failed (exit 2).
+ 
+break signal catched
+
+lurettetop: bye!
++ echo error
+error
++ exit 2
+FAIL: Try to compare lus2lic -exec and -2c: ../utils/compare_exec_and_2c should_work/multipar.lus
+spawn ./lus2lic -o ./tmp/activation_ec.lic should_work/activation_ec.lus
+PASS: ./lus2lic {-o ./tmp/activation_ec.lic should_work/activation_ec.lus}
+spawn ./lus2lic -ec -o ./tmp/activation_ec.ec should_work/activation_ec.lus
+PASS: ./lus2lic {-ec -o ./tmp/activation_ec.ec should_work/activation_ec.lus}
+spawn ./myec2c -o ./tmp/activation_ec.c ./tmp/activation_ec.ec
+PASS: ./myec2c {-o ./tmp/activation_ec.c ./tmp/activation_ec.ec}
 spawn ../utils/test_lus2lic_no_node should_work/activation_ec.lus
 + ./lus2lic should_work/activation_ec.lus -n activation_ec --gen-autotest -np
 _activation_ec_env.lut generated.
@@ -4334,7 +10319,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -4343,12 +10328,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/activation_ec.lus
-spawn ./lus2lic -o /tmp/impl_priority.lic should_work/impl_priority.lus
-PASS: ./lus2lic {-o /tmp/impl_priority.lic should_work/impl_priority.lus}
-spawn ./lus2lic -ec -o /tmp/impl_priority.ec should_work/impl_priority.lus
-PASS: ./lus2lic {-ec -o /tmp/impl_priority.ec should_work/impl_priority.lus}
-spawn ./myec2c -o /tmp/impl_priority.c /tmp/impl_priority.ec
-PASS: ./myec2c {-o /tmp/impl_priority.c /tmp/impl_priority.ec}
+spawn ./lus2lic -2c should_work/activation_ec.lus -n activation_ec
+activation_ec_activation_ec_loop.c has been generated.
+activation_ec_activation_ec.h has been generated.
+activation_ec_activation_ec.c has been generated.
+you can compile those files doing, e.g.,
+  gcc activation_ec_activation_ec.c activation_ec_activation_ec_loop.c
+PASS: ./lus2lic {-2c should_work/activation_ec.lus -n activation_ec}
+spawn rm -f a.out
+spawn gcc activation_ec_activation_ec.c activation_ec_activation_ec_loop.c
+PASS: gcc activation_ec_activation_ec.c activation_ec_activation_ec_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/activation_ec.lus
++ ./lus2lic should_work/activation_ec.lus -n activation_ec --gen-autotest -np
+_activation_ec_env.lut generated.
+_activation_ec_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/activation_ec.lus
++ ./lus2lic should_work/activation_ec.lus -n activation_ec -2c -cc
+activation_ec_activation_ec_loop.c has been generated.
+activation_ec_activation_ec.h has been generated.
+activation_ec_activation_ec.c has been generated.
+sys call: 'gcc activation_ec_activation_ec.c activation_ec_activation_ec_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_activation_ec_env.lut -rp oracle:v6:_activation_ec_oracle.lus:activation_ec_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/activation_ec.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/activation_ec.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/activation_ec.lus
+spawn ./lus2lic -o ./tmp/impl_priority.lic should_work/impl_priority.lus
+PASS: ./lus2lic {-o ./tmp/impl_priority.lic should_work/impl_priority.lus}
+spawn ./lus2lic -ec -o ./tmp/impl_priority.ec should_work/impl_priority.lus
+PASS: ./lus2lic {-ec -o ./tmp/impl_priority.ec should_work/impl_priority.lus}
+spawn ./myec2c -o ./tmp/impl_priority.c ./tmp/impl_priority.ec
+PASS: ./myec2c {-o ./tmp/impl_priority.c ./tmp/impl_priority.ec}
 spawn ../utils/test_lus2lic_no_node should_work/impl_priority.lus
 + ./lus2lic should_work/impl_priority.lus -n impl_priority --gen-autotest -np
 _impl_priority_env.lut generated.
@@ -4365,7 +10394,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -4374,12 +10403,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/impl_priority.lus
-spawn ./lus2lic -o /tmp/exclusion.lic should_work/exclusion.lus
-PASS: ./lus2lic {-o /tmp/exclusion.lic should_work/exclusion.lus}
-spawn ./lus2lic -ec -o /tmp/exclusion.ec should_work/exclusion.lus
-PASS: ./lus2lic {-ec -o /tmp/exclusion.ec should_work/exclusion.lus}
-spawn ./myec2c -o /tmp/exclusion.c /tmp/exclusion.ec
-PASS: ./myec2c {-o /tmp/exclusion.c /tmp/exclusion.ec}
+spawn ./lus2lic -2c should_work/impl_priority.lus -n impl_priority
+impl_priority_impl_priority_loop.c has been generated.
+impl_priority_impl_priority.h has been generated.
+impl_priority_impl_priority.c has been generated.
+you can compile those files doing, e.g.,
+  gcc impl_priority_impl_priority.c impl_priority_impl_priority_loop.c
+PASS: ./lus2lic {-2c should_work/impl_priority.lus -n impl_priority}
+spawn rm -f a.out
+spawn gcc impl_priority_impl_priority.c impl_priority_impl_priority_loop.c
+PASS: gcc impl_priority_impl_priority.c impl_priority_impl_priority_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/impl_priority.lus
++ ./lus2lic should_work/impl_priority.lus -n impl_priority --gen-autotest -np
+_impl_priority_env.lut generated.
+_impl_priority_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/impl_priority.lus
++ ./lus2lic should_work/impl_priority.lus -n impl_priority -2c -cc
+impl_priority_impl_priority_loop.c has been generated.
+impl_priority_impl_priority.h has been generated.
+impl_priority_impl_priority.c has been generated.
+sys call: 'gcc impl_priority_impl_priority.c impl_priority_impl_priority_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_impl_priority_env.lut -rp oracle:v6:_impl_priority_oracle.lus:impl_priority_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/impl_priority.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/impl_priority.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/impl_priority.lus
+spawn ./lus2lic -o ./tmp/exclusion.lic should_work/exclusion.lus
+PASS: ./lus2lic {-o ./tmp/exclusion.lic should_work/exclusion.lus}
+spawn ./lus2lic -ec -o ./tmp/exclusion.ec should_work/exclusion.lus
+PASS: ./lus2lic {-ec -o ./tmp/exclusion.ec should_work/exclusion.lus}
+spawn ./myec2c -o ./tmp/exclusion.c ./tmp/exclusion.ec
+PASS: ./myec2c {-o ./tmp/exclusion.c ./tmp/exclusion.ec}
 spawn ../utils/test_lus2lic_no_node should_work/exclusion.lus
 + ./lus2lic should_work/exclusion.lus -n exclusion --gen-autotest -np
 _exclusion_env.lut generated.
@@ -4396,7 +10469,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -4405,12 +10478,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/exclusion.lus
-spawn ./lus2lic -o /tmp/ply01.lic should_work/ply01.lus
-PASS: ./lus2lic {-o /tmp/ply01.lic should_work/ply01.lus}
-spawn ./lus2lic -ec -o /tmp/ply01.ec should_work/ply01.lus
-PASS: ./lus2lic {-ec -o /tmp/ply01.ec should_work/ply01.lus}
-spawn ./myec2c -o /tmp/ply01.c /tmp/ply01.ec
-PASS: ./myec2c {-o /tmp/ply01.c /tmp/ply01.ec}
+spawn ./lus2lic -2c should_work/exclusion.lus -n exclusion
+exclusion_exclusion_loop.c has been generated.
+exclusion_exclusion.h has been generated.
+exclusion_exclusion.c has been generated.
+you can compile those files doing, e.g.,
+  gcc exclusion_exclusion.c exclusion_exclusion_loop.c
+PASS: ./lus2lic {-2c should_work/exclusion.lus -n exclusion}
+spawn rm -f a.out
+spawn gcc exclusion_exclusion.c exclusion_exclusion_loop.c
+PASS: gcc exclusion_exclusion.c exclusion_exclusion_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/exclusion.lus
++ ./lus2lic should_work/exclusion.lus -n exclusion --gen-autotest -np
+_exclusion_env.lut generated.
+_exclusion_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/exclusion.lus
++ ./lus2lic should_work/exclusion.lus -n exclusion -2c -cc
+exclusion_exclusion_loop.c has been generated.
+exclusion_exclusion.h has been generated.
+exclusion_exclusion.c has been generated.
+sys call: 'gcc exclusion_exclusion.c exclusion_exclusion_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_exclusion_env.lut -rp oracle:v6:_exclusion_oracle.lus:exclusion_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/exclusion.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/exclusion.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/exclusion.lus
+spawn ./lus2lic -o ./tmp/ply01.lic should_work/ply01.lus
+PASS: ./lus2lic {-o ./tmp/ply01.lic should_work/ply01.lus}
+spawn ./lus2lic -ec -o ./tmp/ply01.ec should_work/ply01.lus
+PASS: ./lus2lic {-ec -o ./tmp/ply01.ec should_work/ply01.lus}
+spawn ./myec2c -o ./tmp/ply01.c ./tmp/ply01.ec
+PASS: ./myec2c {-o ./tmp/ply01.c ./tmp/ply01.ec}
 spawn ../utils/test_lus2lic_no_node should_work/ply01.lus
 + ./lus2lic should_work/ply01.lus -n ply01 --gen-autotest -np
 _ply01_env.lut generated.
@@ -4427,7 +10544,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -4436,12 +10553,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/ply01.lus
-spawn ./lus2lic -o /tmp/consensus.lic should_work/consensus.lus
-PASS: ./lus2lic {-o /tmp/consensus.lic should_work/consensus.lus}
-spawn ./lus2lic -ec -o /tmp/consensus.ec should_work/consensus.lus
-PASS: ./lus2lic {-ec -o /tmp/consensus.ec should_work/consensus.lus}
-spawn ./myec2c -o /tmp/consensus.c /tmp/consensus.ec
-PASS: ./myec2c {-o /tmp/consensus.c /tmp/consensus.ec}
+spawn ./lus2lic -2c should_work/ply01.lus -n ply01
+ply01_ply01_loop.c has been generated.
+ply01_ply01.h has been generated.
+ply01_ply01.c has been generated.
+you can compile those files doing, e.g.,
+  gcc ply01_ply01.c ply01_ply01_loop.c
+PASS: ./lus2lic {-2c should_work/ply01.lus -n ply01}
+spawn rm -f a.out
+spawn gcc ply01_ply01.c ply01_ply01_loop.c
+PASS: gcc ply01_ply01.c ply01_ply01_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/ply01.lus
++ ./lus2lic should_work/ply01.lus -n ply01 --gen-autotest -np
+_ply01_env.lut generated.
+_ply01_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/ply01.lus
++ ./lus2lic should_work/ply01.lus -n ply01 -2c -cc
+ply01_ply01_loop.c has been generated.
+ply01_ply01.h has been generated.
+ply01_ply01.c has been generated.
+sys call: 'gcc ply01_ply01.c ply01_ply01_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_ply01_env.lut -rp oracle:v6:_ply01_oracle.lus:ply01_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/ply01.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/ply01.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/ply01.lus
+spawn ./lus2lic -o ./tmp/consensus.lic should_work/consensus.lus
+PASS: ./lus2lic {-o ./tmp/consensus.lic should_work/consensus.lus}
+spawn ./lus2lic -ec -o ./tmp/consensus.ec should_work/consensus.lus
+PASS: ./lus2lic {-ec -o ./tmp/consensus.ec should_work/consensus.lus}
+spawn ./myec2c -o ./tmp/consensus.c ./tmp/consensus.ec
+PASS: ./myec2c {-o ./tmp/consensus.c ./tmp/consensus.ec}
 spawn ../utils/test_lus2lic_no_node should_work/consensus.lus
 + ./lus2lic should_work/consensus.lus -n consensus --gen-autotest -np
 _consensus_env.lut generated.
@@ -4458,7 +10619,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -4467,18 +10628,62 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/consensus.lus
-spawn ./lus2lic -o /tmp/activation2.lic should_work/activation2.lus
-PASS: ./lus2lic {-o /tmp/activation2.lic should_work/activation2.lus}
-spawn ./lus2lic -ec -o /tmp/activation2.ec should_work/activation2.lus
-PASS: ./lus2lic {-ec -o /tmp/activation2.ec should_work/activation2.lus}
-spawn ./myec2c -o /tmp/activation2.c /tmp/activation2.ec
-PASS: ./myec2c {-o /tmp/activation2.c /tmp/activation2.ec}
+spawn ./lus2lic -2c should_work/consensus.lus -n consensus
+consensus_consensus_loop.c has been generated.
+consensus_consensus.h has been generated.
+consensus_consensus.c has been generated.
+you can compile those files doing, e.g.,
+  gcc consensus_consensus.c consensus_consensus_loop.c
+PASS: ./lus2lic {-2c should_work/consensus.lus -n consensus}
+spawn rm -f a.out
+spawn gcc consensus_consensus.c consensus_consensus_loop.c
+PASS: gcc consensus_consensus.c consensus_consensus_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/consensus.lus
++ ./lus2lic should_work/consensus.lus -n consensus --gen-autotest -np
+_consensus_env.lut generated.
+_consensus_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/consensus.lus
++ ./lus2lic should_work/consensus.lus -n consensus -2c -cc
+consensus_consensus_loop.c has been generated.
+consensus_consensus.h has been generated.
+consensus_consensus.c has been generated.
+sys call: 'gcc consensus_consensus.c consensus_consensus_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_consensus_env.lut -rp oracle:v6:_consensus_oracle.lus:consensus_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/consensus.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/consensus.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/consensus.lus
+spawn ./lus2lic -o ./tmp/activation2.lic should_work/activation2.lus
+PASS: ./lus2lic {-o ./tmp/activation2.lic should_work/activation2.lus}
+spawn ./lus2lic -ec -o ./tmp/activation2.ec should_work/activation2.lus
+PASS: ./lus2lic {-ec -o ./tmp/activation2.ec should_work/activation2.lus}
+spawn ./myec2c -o ./tmp/activation2.c ./tmp/activation2.ec
+PASS: ./myec2c {-o ./tmp/activation2.c ./tmp/activation2.ec}
 spawn ../utils/test_lus2lic_no_node should_work/activation2.lus
 + ./lus2lic should_work/activation2.lus -n activation2 --gen-autotest -np
 Error. A combinational cycle been detected in file "/home/jahier/lus2lic/test/should_work/activation2.lus", line 11, col 5 to 15, token 'activation2' on 
-  v07 = activation2::up1(scie)
-  scie = Lustre::arrow(0, v11)
-  v07 = activation2::up1(scie)
+  v07 = activation2::up2(scie)
+  scie = Lustre::arrow1(0, v11)
+  v07 = activation2::up2(scie)
   v09 = Lustre::if(go_up, v07, v08)
   v11 = Lustre::if(evt, v09, v10)
 
@@ -4488,29 +10693,90 @@ Hint: try to use --expand-nodes.
 Error
 + exit 2
 FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/activation2.lus
-spawn ./lus2lic -o /tmp/type_decl.lic should_work/type_decl.lus
-PASS: ./lus2lic {-o /tmp/type_decl.lic should_work/type_decl.lus}
-spawn ./lus2lic -ec -o /tmp/type_decl.ec should_work/type_decl.lus
-PASS: ./lus2lic {-ec -o /tmp/type_decl.ec should_work/type_decl.lus}
-spawn ./myec2c -o /tmp/type_decl.c /tmp/type_decl.ec
-PASS: ./myec2c {-o /tmp/type_decl.c /tmp/type_decl.ec}
-spawn ../utils/test_lus2lic_no_node should_work/type_decl.lus
+spawn ./lus2lic -2c should_work/activation2.lus -n activation2
+Error. A combinational cycle been detected in file "/home/jahier/lus2lic/test/should_work/activation2.lus", line 11, col 5 to 15, token 'activation2' on 
+  v07 = activation2::up2(scie)
+  scie = Lustre::arrow1(0, v11)
+  v07 = activation2::up2(scie)
+  v09 = Lustre::if(go_up, v07, v08)
+  v11 = Lustre::if(evt, v09, v10)
+
+Hint: try to use --expand-nodes.
+
+FAIL: Generate c code  : ./lus2lic {-2c should_work/activation2.lus -n activation2}
+spawn ./lus2lic -o ./tmp/type_decl.lic should_work/type_decl.lus
+PASS: ./lus2lic {-o ./tmp/type_decl.lic should_work/type_decl.lus}
+spawn ./lus2lic -ec -o ./tmp/type_decl.ec should_work/type_decl.lus
+PASS: ./lus2lic {-ec -o ./tmp/type_decl.ec should_work/type_decl.lus}
+spawn ./myec2c -o ./tmp/type_decl.c ./tmp/type_decl.ec
+PASS: ./myec2c {-o ./tmp/type_decl.c ./tmp/type_decl.ec}
+spawn ./lus2lic -2c should_work/type_decl.lus -n type_decl
+type_decl_type_decl_loop.c has been generated.
+type_decl_type_decl.h has been generated.
+type_decl_type_decl.c has been generated.
+you can compile those files doing, e.g.,
+  gcc type_decl_type_decl.c type_decl_type_decl_loop.c
+PASS: ./lus2lic {-2c should_work/type_decl.lus -n type_decl}
+spawn rm -f a.out
+spawn 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 
+spawn ../utils/compare_exec_and_2c should_work/type_decl.lus
 + ./lus2lic should_work/type_decl.lus -n type_decl --gen-autotest -np
 _type_decl_env.lut generated.
 _type_decl_oracle.lus generated.
 + echo lus2lic --gen-autotest done
 lus2lic --gen-autotest done
 + cat should_work/type_decl.lus
-+ ./lus2lic should_work/type_decl.lus -n type_decl -ec -o type_decl.ec
++ ./lus2lic should_work/type_decl.lus -n type_decl -2c -cc
+type_decl_type_decl_loop.c has been generated.
+type_decl_type_decl.h has been generated.
+type_decl_type_decl.c has been generated.
+sys call: 'gcc type_decl_type_decl.c type_decl_type_decl_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_type_decl_env.lut -rp oracle:v6:_type_decl_oracle.lus:type_decl_oracle -go+  -l 10 -ns2c --stop-on-oracle-error
+./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/type_decl.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/type_decl.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/type_decl.lus
+spawn ./lus2lic -o ./tmp/sample_time_change_MainNode.lic should_work/sample_time_change_MainNode.lus
+PASS: ./lus2lic {-o ./tmp/sample_time_change_MainNode.lic should_work/sample_time_change_MainNode.lus}
+spawn ./lus2lic -ec -o ./tmp/sample_time_change_MainNode.ec should_work/sample_time_change_MainNode.lus
+PASS: ./lus2lic {-ec -o ./tmp/sample_time_change_MainNode.ec should_work/sample_time_change_MainNode.lus}
+spawn ./myec2c -o ./tmp/sample_time_change_MainNode.c ./tmp/sample_time_change_MainNode.ec
+PASS: ./myec2c {-o ./tmp/sample_time_change_MainNode.c ./tmp/sample_time_change_MainNode.ec}
+spawn ../utils/test_lus2lic_no_node should_work/sample_time_change_MainNode.lus
++ ./lus2lic should_work/sample_time_change_MainNode.lus -n sample_time_change_MainNode --gen-autotest -np
+_sample_time_change_MainNode_env.lut generated.
+_sample_time_change_MainNode_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/sample_time_change_MainNode.lus
++ ./lus2lic should_work/sample_time_change_MainNode.lus -n sample_time_change_MainNode -ec -o sample_time_change_MainNode.ec
 + echo lus2lic -ec done
 lus2lic -ec done
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:type_decl.ec:type_decl -rp env:lutin:_type_decl_env.lut -rp oracle:v6:_type_decl_oracle.lus:type_decl_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./lurettetop -p 6 -seed 42 -rp sut:ec:sample_time_change_MainNode.ec:sample_time_change_MainNode -rp env:lutin:_sample_time_change_MainNode_env.lut -rp oracle:v6:_sample_time_change_MainNode_oracle.lus:sample_time_change_MainNode_oracle -go -l 10 -ns2c --stop-on-oracle-error
 RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -4518,61 +10784,127 @@ lurettetop: bye!
 + echo lurettetop ok
 lurettetop ok
 + exit 0
-PASS: ../utils/test_lus2lic_no_node should_work/type_decl.lus
-spawn ./lus2lic -o /tmp/import1.lic should_work/import1.lus
-PASS: ./lus2lic {-o /tmp/import1.lic should_work/import1.lus}
-spawn ./lus2lic -ec -o /tmp/import1.ec should_work/import1.lus
-PASS: ./lus2lic {-ec -o /tmp/import1.ec should_work/import1.lus}
-spawn ./myec2c -o /tmp/import1.c /tmp/import1.ec
-PASS: ./myec2c {-o /tmp/import1.c /tmp/import1.ec}
-spawn ../utils/test_lus2lic_no_node should_work/import1.lus
-+ ./lus2lic should_work/import1.lus -n import1 --gen-autotest -np
-*** The soc of import1::imp is not defined. FINISH ME! 
-Extern node not yet supported, sorry
-
-*** oops: lus2lic internal error
-	File "src/lic2soc.ml", line 898, column 14
-*** when compiling lustre program should_work/import1.lus
-
-*** You migth want to sent a bug report to jahier@imag.fr
-+ echo Error
-Error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/import1.lus
-spawn ./lus2lic -o /tmp/pack1.lic should_work/pack1.lus
-PASS: ./lus2lic {-o /tmp/pack1.lic should_work/pack1.lus}
-spawn ./lus2lic -ec -o /tmp/pack1.ec should_work/pack1.lus
-PASS: ./lus2lic {-ec -o /tmp/pack1.ec should_work/pack1.lus}
-spawn ./myec2c -o /tmp/pack1.c /tmp/pack1.ec
-PASS: ./myec2c {-o /tmp/pack1.c /tmp/pack1.ec}
-spawn ../utils/test_lus2lic_no_node should_work/pack1.lus
-+ ./lus2lic should_work/pack1.lus -n pack1 --gen-autotest -np
-_pack1_env.lut generated.
-_pack1_oracle.lus generated.
+PASS: ../utils/test_lus2lic_no_node should_work/sample_time_change_MainNode.lus
+spawn ./lus2lic -2c should_work/sample_time_change_MainNode.lus -n sample_time_change_MainNode
+sample_time_change_MainNode_sample_time_change_MainNode_loop.c has been generated.
+sample_time_change_MainNode_sample_time_change_MainNode.h has been generated.
+sample_time_change_MainNode_sample_time_change_MainNode.c has been generated.
+you can compile those files doing, e.g.,
+  gcc sample_time_change_MainNode_sample_time_change_MainNode.c sample_time_change_MainNode_sample_time_change_MainNode_loop.c
+PASS: ./lus2lic {-2c should_work/sample_time_change_MainNode.lus -n sample_time_change_MainNode}
+spawn rm -f a.out
+spawn gcc sample_time_change_MainNode_sample_time_change_MainNode.c sample_time_change_MainNode_sample_time_change_MainNode_loop.c
+PASS: gcc sample_time_change_MainNode_sample_time_change_MainNode.c sample_time_change_MainNode_sample_time_change_MainNode_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/sample_time_change_MainNode.lus
++ ./lus2lic should_work/sample_time_change_MainNode.lus -n sample_time_change_MainNode --gen-autotest -np
+_sample_time_change_MainNode_env.lut generated.
+_sample_time_change_MainNode_oracle.lus generated.
 + echo lus2lic --gen-autotest done
 lus2lic --gen-autotest done
-+ cat should_work/pack1.lus
-+ ./lus2lic should_work/pack1.lus -n pack1 -ec -o pack1.ec
-+ echo lus2lic -ec done
-lus2lic -ec done
++ cat should_work/sample_time_change_MainNode.lus
++ ./lus2lic should_work/sample_time_change_MainNode.lus -n sample_time_change_MainNode -2c -cc
+sample_time_change_MainNode_sample_time_change_MainNode_loop.c has been generated.
+sample_time_change_MainNode_sample_time_change_MainNode.h has been generated.
+sample_time_change_MainNode_sample_time_change_MainNode.c has been generated.
+sys call: 'gcc sample_time_change_MainNode_sample_time_change_MainNode.c sample_time_change_MainNode_sample_time_change_MainNode_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:pack1.ec:pack1 -rp env:lutin:_pack1_env.lut -rp oracle:v6:_pack1_oracle.lus:pack1_oracle -go -l 10 -ns2c --stop-on-oracle-error
-Error in lurette: Parsing.Parse_error
-Lurette launched a process that failed (exit 2).
- 
++ ./lurettetop -p 6 -seed+  42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_sample_time_change_MainNode_env.lut -rp./call-via-socket oracle:v6:_sample_time_change_MainNode_oracle.lus:sample_time_change_MainNode_oracle -server -go -addr -l 127.0.0.1 10 -port -ns2c 2001 ./a.out --stop-on-oracle-error
+
+RP Variables are compatible.
+
+*** Warning: type error, 0 is an int, but a real is expected. I convert it to '0.'
+
+*** Warning: type error, 0 is an int, but a real is expected. I convert it to '0.'
+
+*** Warning: type error, 0 is an int, but a real is expected. I convert it to '0.'
+
+*** Warning: type error, 0 is an int, but a real is expected. I convert it to '0.'
+
+*** Warning: type error, 0 is an int, but a real is expected. I convert it to '0.'
+
+*** Warning: type error, 0 is an int, but a real is expected. I convert it to '0.'
+
+*** Warning: type error, 0 is an int, but a real is expected. I convert it to '0.'
+
+*** Warning: type error, 0 is an int, but a real is expected. I convert it to '0.'
+
+*** Warning: type error, 0 is an int, but a real is expected. I convert it to '0.'
+
+*** Warning: type error, 0 is an int, but a real is expected. I convert it to '0.'
+
+*** Warning: type error, 0 is an int, but a real is expected. I convert it to '0.'
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
-+ echo error
-error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/pack1.lus
-spawn ./lus2lic -o /tmp/bob.lic should_work/bob.lus
-PASS: ./lus2lic {-o /tmp/bob.lic should_work/bob.lus}
-spawn ./lus2lic -ec -o /tmp/bob.ec should_work/bob.lus
-PASS: ./lus2lic {-ec -o /tmp/bob.ec should_work/bob.lus}
-spawn ./myec2c -o /tmp/bob.c /tmp/bob.ec
-PASS: ./myec2c {-o /tmp/bob.c /tmp/bob.ec}
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/sample_time_change_MainNode.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/sample_time_change_MainNode.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/sample_time_change_MainNode.lus
+spawn ./lus2lic -o ./tmp/import1.lic should_work/import1.lus
+PASS: ./lus2lic {-o ./tmp/import1.lic should_work/import1.lus}
+spawn ./lus2lic -ec -o ./tmp/import1.ec should_work/import1.lus
+PASS: ./lus2lic {-ec -o ./tmp/import1.ec should_work/import1.lus}
+spawn ./myec2c -o ./tmp/import1.c ./tmp/import1.ec
+  Warning :
+basic support of extern node (treated as unsafe procedure)
+PASS: ./myec2c {-o ./tmp/import1.c ./tmp/import1.ec}
+spawn ./lus2lic -2c should_work/import1.lus -n import1
+import1_import1_ext.h has been generated.
+import1_import1_ext.c has been generated.
+import1_import1_loop.c has been generated.
+import1_import1.h has been generated.
+import1_import1.c has been generated.
+you can compile those files doing, e.g.,
+   gcc import1_import1.c import1_import1_ext.c import1_import1_loop.c
+PASS: ./lus2lic {-2c should_work/import1.lus -n import1}
+spawn rm -f a.out
+spawn gcc import1_import1.c import1_import1_ext.c import1_import1_loop.c
+In file included from import1_import1.h:21:0,
+                 from import1_import1.c:4:
+import1_import1_ext.h:1:26: error: unknown type name 'import1_imp_ii_ctx'
+In file included from import1_import1.h:21:0,
+                 from import1_import1_ext.c:1:
+import1_import1_ext.h:1:26: error: unknown type name 'import1_imp_ii_ctx'
+import1_import1_ext.c:2:26: error: unknown type name 'import1_imp_ii_ctx'
+import1_import1_ext.c:3:4: error: stray '\' in program
+import1_import1_ext.c:3:4: error: stray '\' in program
+In file included from import1_import1.h:21:0,
+                 from import1_import1_loop.c:8:
+import1_import1_ext.h:1:26: error: unknown type name 'import1_imp_ii_ctx'
+FAIL: Check that the generated C code compiles  : gcc import1_import1.c import1_import1_ext.c import1_import1_loop.c 
+spawn ./lus2lic -o ./tmp/pack1.lic should_work/pack1.lus
+PASS: ./lus2lic {-o ./tmp/pack1.lic should_work/pack1.lus}
+spawn ./lus2lic -ec -o ./tmp/pack1.ec should_work/pack1.lus
+PASS: ./lus2lic {-ec -o ./tmp/pack1.ec should_work/pack1.lus}
+spawn ./myec2c -o ./tmp/pack1.c ./tmp/pack1.ec
+PASS: ./myec2c {-o ./tmp/pack1.c ./tmp/pack1.ec}
+spawn ./lus2lic -2c should_work/pack1.lus -n pack1
+pack1_pack1_loop.c has been generated.
+pack1_pack1.h has been generated.
+pack1_pack1.c has been generated.
+you can compile those files doing, e.g.,
+  gcc pack1_pack1.c pack1_pack1_loop.c
+PASS: ./lus2lic {-2c should_work/pack1.lus -n pack1}
+spawn rm -f a.out
+spawn gcc pack1_pack1.c pack1_pack1_loop.c
+PASS: gcc pack1_pack1.c pack1_pack1_loop.c 
+spawn ./lus2lic -o ./tmp/bob.lic should_work/bob.lus
+PASS: ./lus2lic {-o ./tmp/bob.lic should_work/bob.lus}
+spawn ./lus2lic -ec -o ./tmp/bob.ec should_work/bob.lus
+PASS: ./lus2lic {-ec -o ./tmp/bob.ec should_work/bob.lus}
+spawn ./myec2c -o ./tmp/bob.c ./tmp/bob.ec
+PASS: ./myec2c {-o ./tmp/bob.c ./tmp/bob.ec}
 spawn ../utils/test_lus2lic_no_node should_work/bob.lus
 + ./lus2lic should_work/bob.lus -n bob --gen-autotest -np
 _bob_env.lut generated.
@@ -4585,7 +10917,22 @@ lus2lic --gen-autotest done
 lus2lic -ec done
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
 + ./lurettetop -p 6 -seed 42 -rp sut:ec:bob.ec:bob -rp env:lutin:_bob_env.lut -rp oracle:v6:_bob_oracle.lus:bob_oracle -go -l 10 -ns2c --stop-on-oracle-error
-Error in lurette: Lv6errors.Compile_error(_, "\n*** clock error: The two following clocks are not compatible:\n***\t on base\n***\t on i on base\n")
+RP Variables are compatible.
+
+*** The oracle returned false at step 2
+Oracle outputs that are false: 
+	o_bis
+Oracle inputs: 
+	i=t
+	o=t
+
+*** The oracle returned false at step 2
+Oracle outputs that are false: 
+	o_bis
+Oracle inputs: 
+	i=t
+	o=t
+
 Lurette launched a process that failed (exit 2).
  
 break signal catched
@@ -4595,12 +10942,56 @@ lurettetop: bye!
 error
 + exit 2
 FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/bob.lus
-spawn ./lus2lic -o /tmp/notTwo.lic should_work/notTwo.lus
-PASS: ./lus2lic {-o /tmp/notTwo.lic should_work/notTwo.lus}
-spawn ./lus2lic -ec -o /tmp/notTwo.ec should_work/notTwo.lus
-PASS: ./lus2lic {-ec -o /tmp/notTwo.ec should_work/notTwo.lus}
-spawn ./myec2c -o /tmp/notTwo.c /tmp/notTwo.ec
-PASS: ./myec2c {-o /tmp/notTwo.c /tmp/notTwo.ec}
+spawn ./lus2lic -2c should_work/bob.lus -n bob
+bob_bob_loop.c has been generated.
+bob_bob.h has been generated.
+bob_bob.c has been generated.
+you can compile those files doing, e.g.,
+  gcc bob_bob.c bob_bob_loop.c
+PASS: ./lus2lic {-2c should_work/bob.lus -n bob}
+spawn rm -f a.out
+spawn gcc bob_bob.c bob_bob_loop.c
+PASS: gcc bob_bob.c bob_bob_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/bob.lus
++ ./lus2lic should_work/bob.lus -n bob --gen-autotest -np
+_bob_env.lut generated.
+_bob_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/bob.lus
++ ./lus2lic should_work/bob.lus -n bob -2c -cc
+bob_bob_loop.c has been generated.
+bob_bob.h has been generated.
+bob_bob.c has been generated.
+sys call: 'gcc bob_bob.c bob_bob_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_bob_env.lut -rp oracle:v6:_bob_oracle.lus:bob_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/bob.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/bob.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/bob.lus
+spawn ./lus2lic -o ./tmp/notTwo.lic should_work/notTwo.lus
+PASS: ./lus2lic {-o ./tmp/notTwo.lic should_work/notTwo.lus}
+spawn ./lus2lic -ec -o ./tmp/notTwo.ec should_work/notTwo.lus
+PASS: ./lus2lic {-ec -o ./tmp/notTwo.ec should_work/notTwo.lus}
+spawn ./myec2c -o ./tmp/notTwo.c ./tmp/notTwo.ec
+PASS: ./myec2c {-o ./tmp/notTwo.c ./tmp/notTwo.ec}
 spawn ../utils/test_lus2lic_no_node should_work/notTwo.lus
 + ./lus2lic should_work/notTwo.lus -n notTwo --gen-autotest -np
 _notTwo_env.lut generated.
@@ -4617,7 +11008,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -4626,12 +11017,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/notTwo.lus
-spawn ./lus2lic -o /tmp/stopwatch.lic should_work/stopwatch.lus
-PASS: ./lus2lic {-o /tmp/stopwatch.lic should_work/stopwatch.lus}
-spawn ./lus2lic -ec -o /tmp/stopwatch.ec should_work/stopwatch.lus
-PASS: ./lus2lic {-ec -o /tmp/stopwatch.ec should_work/stopwatch.lus}
-spawn ./myec2c -o /tmp/stopwatch.c /tmp/stopwatch.ec
-PASS: ./myec2c {-o /tmp/stopwatch.c /tmp/stopwatch.ec}
+spawn ./lus2lic -2c should_work/notTwo.lus -n notTwo
+notTwo_notTwo_loop.c has been generated.
+notTwo_notTwo.h has been generated.
+notTwo_notTwo.c has been generated.
+you can compile those files doing, e.g.,
+  gcc notTwo_notTwo.c notTwo_notTwo_loop.c
+PASS: ./lus2lic {-2c should_work/notTwo.lus -n notTwo}
+spawn rm -f a.out
+spawn gcc notTwo_notTwo.c notTwo_notTwo_loop.c
+PASS: gcc notTwo_notTwo.c notTwo_notTwo_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/notTwo.lus
++ ./lus2lic should_work/notTwo.lus -n notTwo --gen-autotest -np
+_notTwo_env.lut generated.
+_notTwo_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/notTwo.lus
++ ./lus2lic should_work/notTwo.lus -n notTwo -2c -cc
+notTwo_notTwo_loop.c has been generated.
+notTwo_notTwo.h has been generated.
+notTwo_notTwo.c has been generated.
+sys call: 'gcc notTwo_notTwo.c notTwo_notTwo_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_notTwo_env.lut -rp oracle:v6:_notTwo_oracle.lus:notTwo_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/notTwo.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/notTwo.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/notTwo.lus
+spawn ./lus2lic -o ./tmp/stopwatch.lic should_work/stopwatch.lus
+PASS: ./lus2lic {-o ./tmp/stopwatch.lic should_work/stopwatch.lus}
+spawn ./lus2lic -ec -o ./tmp/stopwatch.ec should_work/stopwatch.lus
+PASS: ./lus2lic {-ec -o ./tmp/stopwatch.ec should_work/stopwatch.lus}
+spawn ./myec2c -o ./tmp/stopwatch.c ./tmp/stopwatch.ec
+PASS: ./myec2c {-o ./tmp/stopwatch.c ./tmp/stopwatch.ec}
 spawn ../utils/test_lus2lic_no_node should_work/stopwatch.lus
 + ./lus2lic should_work/stopwatch.lus -n stopwatch --gen-autotest -np
 _stopwatch_env.lut generated.
@@ -4648,7 +11083,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -4657,12 +11092,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/stopwatch.lus
-spawn ./lus2lic -o /tmp/test_condact.lic should_work/test_condact.lus
-PASS: ./lus2lic {-o /tmp/test_condact.lic should_work/test_condact.lus}
-spawn ./lus2lic -ec -o /tmp/test_condact.ec should_work/test_condact.lus
-PASS: ./lus2lic {-ec -o /tmp/test_condact.ec should_work/test_condact.lus}
-spawn ./myec2c -o /tmp/test_condact.c /tmp/test_condact.ec
-PASS: ./myec2c {-o /tmp/test_condact.c /tmp/test_condact.ec}
+spawn ./lus2lic -2c should_work/stopwatch.lus -n stopwatch
+stopwatch_stopwatch_loop.c has been generated.
+stopwatch_stopwatch.h has been generated.
+stopwatch_stopwatch.c has been generated.
+you can compile those files doing, e.g.,
+  gcc stopwatch_stopwatch.c stopwatch_stopwatch_loop.c
+PASS: ./lus2lic {-2c should_work/stopwatch.lus -n stopwatch}
+spawn rm -f a.out
+spawn gcc stopwatch_stopwatch.c stopwatch_stopwatch_loop.c
+PASS: gcc stopwatch_stopwatch.c stopwatch_stopwatch_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/stopwatch.lus
++ ./lus2lic should_work/stopwatch.lus -n stopwatch --gen-autotest -np
+_stopwatch_env.lut generated.
+_stopwatch_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/stopwatch.lus
++ ./lus2lic should_work/stopwatch.lus -n stopwatch -2c -cc
+stopwatch_stopwatch_loop.c has been generated.
+stopwatch_stopwatch.h has been generated.
+stopwatch_stopwatch.c has been generated.
+sys call: 'gcc stopwatch_stopwatch.c stopwatch_stopwatch_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_stopwatch_env.lut -rp oracle:v6:_stopwatch_oracle.lus:stopwatch_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/stopwatch.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/stopwatch.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/stopwatch.lus
+spawn ./lus2lic -o ./tmp/test_condact.lic should_work/test_condact.lus
+PASS: ./lus2lic {-o ./tmp/test_condact.lic should_work/test_condact.lus}
+spawn ./lus2lic -ec -o ./tmp/test_condact.ec should_work/test_condact.lus
+PASS: ./lus2lic {-ec -o ./tmp/test_condact.ec should_work/test_condact.lus}
+spawn ./myec2c -o ./tmp/test_condact.c ./tmp/test_condact.ec
+PASS: ./myec2c {-o ./tmp/test_condact.c ./tmp/test_condact.ec}
 spawn ../utils/test_lus2lic_no_node should_work/test_condact.lus
 + ./lus2lic should_work/test_condact.lus -n test_condact --gen-autotest -np
 _test_condact_env.lut generated.
@@ -4712,12 +11191,56 @@ lurettetop: bye!
 error
 + exit 2
 FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/test_condact.lus
-spawn ./lus2lic -o /tmp/contractForElementSelectionInArray.lic should_work/contractForElementSelectionInArray.lus
-PASS: ./lus2lic {-o /tmp/contractForElementSelectionInArray.lic should_work/contractForElementSelectionInArray.lus}
-spawn ./lus2lic -ec -o /tmp/contractForElementSelectionInArray.ec should_work/contractForElementSelectionInArray.lus
-PASS: ./lus2lic {-ec -o /tmp/contractForElementSelectionInArray.ec should_work/contractForElementSelectionInArray.lus}
-spawn ./myec2c -o /tmp/contractForElementSelectionInArray.c /tmp/contractForElementSelectionInArray.ec
-PASS: ./myec2c {-o /tmp/contractForElementSelectionInArray.c /tmp/contractForElementSelectionInArray.ec}
+spawn ./lus2lic -2c should_work/test_condact.lus -n test_condact
+test_condact_test_condact_loop.c has been generated.
+test_condact_test_condact.h has been generated.
+test_condact_test_condact.c has been generated.
+you can compile those files doing, e.g.,
+  gcc test_condact_test_condact.c test_condact_test_condact_loop.c
+PASS: ./lus2lic {-2c should_work/test_condact.lus -n test_condact}
+spawn rm -f a.out
+spawn gcc test_condact_test_condact.c test_condact_test_condact_loop.c
+PASS: gcc test_condact_test_condact.c test_condact_test_condact_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/test_condact.lus
++ ./lus2lic should_work/test_condact.lus -n test_condact --gen-autotest -np
+_test_condact_env.lut generated.
+_test_condact_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/test_condact.lus
++ ./lus2lic should_work/test_condact.lus -n test_condact -2c -cc
+test_condact_test_condact_loop.c has been generated.
+test_condact_test_condact.h has been generated.
+test_condact_test_condact.c has been generated.
+sys call: 'gcc test_condact_test_condact.c test_condact_test_condact_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_test_condact_env.lut -rp oracle:v6:_test_condact_oracle.lus:test_condact_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/test_condact.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/test_condact.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/test_condact.lus
+spawn ./lus2lic -o ./tmp/contractForElementSelectionInArray.lic should_work/contractForElementSelectionInArray.lus
+PASS: ./lus2lic {-o ./tmp/contractForElementSelectionInArray.lic should_work/contractForElementSelectionInArray.lus}
+spawn ./lus2lic -ec -o ./tmp/contractForElementSelectionInArray.ec should_work/contractForElementSelectionInArray.lus
+PASS: ./lus2lic {-ec -o ./tmp/contractForElementSelectionInArray.ec should_work/contractForElementSelectionInArray.lus}
+spawn ./myec2c -o ./tmp/contractForElementSelectionInArray.c ./tmp/contractForElementSelectionInArray.ec
+PASS: ./myec2c {-o ./tmp/contractForElementSelectionInArray.c ./tmp/contractForElementSelectionInArray.ec}
 spawn ../utils/test_lus2lic_no_node should_work/contractForElementSelectionInArray.lus
 + ./lus2lic should_work/contractForElementSelectionInArray.lus -n contractForElementSelectionInArray --gen-autotest -np
 _contractForElementSelectionInArray_env.lut generated.
@@ -4734,7 +11257,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -4743,12 +11266,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/contractForElementSelectionInArray.lus
-spawn ./lus2lic -o /tmp/iterFibo.lic should_work/iterFibo.lus
-PASS: ./lus2lic {-o /tmp/iterFibo.lic should_work/iterFibo.lus}
-spawn ./lus2lic -ec -o /tmp/iterFibo.ec should_work/iterFibo.lus
-PASS: ./lus2lic {-ec -o /tmp/iterFibo.ec should_work/iterFibo.lus}
-spawn ./myec2c -o /tmp/iterFibo.c /tmp/iterFibo.ec
-PASS: ./myec2c {-o /tmp/iterFibo.c /tmp/iterFibo.ec}
+spawn ./lus2lic -2c should_work/contractForElementSelectionInArray.lus -n contractForElementSelectionInArray
+contractForElementSelectionInArray_contractForElementSelectionInArray_loop.c has been generated.
+contractForElementSelectionInArray_contractForElementSelectionInArray.h has been generated.
+contractForElementSelectionInArray_contractForElementSelectionInArray.c has been generated.
+you can compile those files doing, e.g.,
+  gcc contractForElementSelectionInArray_contractForElementSelectionInArray.c contractForElementSelectionInArray_contractForElementSelectionInArray_loop.c
+PASS: ./lus2lic {-2c should_work/contractForElementSelectionInArray.lus -n contractForElementSelectionInArray}
+spawn rm -f a.out
+spawn gcc contractForElementSelectionInArray_contractForElementSelectionInArray.c contractForElementSelectionInArray_contractForElementSelectionInArray_loop.c
+PASS: gcc contractForElementSelectionInArray_contractForElementSelectionInArray.c contractForElementSelectionInArray_contractForElementSelectionInArray_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/contractForElementSelectionInArray.lus
++ ./lus2lic should_work/contractForElementSelectionInArray.lus -n contractForElementSelectionInArray --gen-autotest -np
+_contractForElementSelectionInArray_env.lut generated.
+_contractForElementSelectionInArray_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/contractForElementSelectionInArray.lus
++ ./lus2lic should_work/contractForElementSelectionInArray.lus -n contractForElementSelectionInArray -2c -cc
+contractForElementSelectionInArray_contractForElementSelectionInArray_loop.c has been generated.
+contractForElementSelectionInArray_contractForElementSelectionInArray.h has been generated.
+contractForElementSelectionInArray_contractForElementSelectionInArray.c has been generated.
+sys call: 'gcc contractForElementSelectionInArray_contractForElementSelectionInArray.c contractForElementSelectionInArray_contractForElementSelectionInArray_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_contractForElementSelectionInArray_env.lut -rp oracle:v6:_contractForElementSelectionInArray_oracle.lus:contractForElementSelectionInArray_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/contractForElementSelectionInArray.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/contractForElementSelectionInArray.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/contractForElementSelectionInArray.lus
+spawn ./lus2lic -o ./tmp/iterFibo.lic should_work/iterFibo.lus
+PASS: ./lus2lic {-o ./tmp/iterFibo.lic should_work/iterFibo.lus}
+spawn ./lus2lic -ec -o ./tmp/iterFibo.ec should_work/iterFibo.lus
+PASS: ./lus2lic {-ec -o ./tmp/iterFibo.ec should_work/iterFibo.lus}
+spawn ./myec2c -o ./tmp/iterFibo.c ./tmp/iterFibo.ec
+PASS: ./myec2c {-o ./tmp/iterFibo.c ./tmp/iterFibo.ec}
 spawn ../utils/test_lus2lic_no_node should_work/iterFibo.lus
 + ./lus2lic should_work/iterFibo.lus -n iterFibo --gen-autotest -np
 _iterFibo_env.lut generated.
@@ -4765,7 +11332,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -4774,12 +11341,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/iterFibo.lus
-spawn ./lus2lic -o /tmp/morel2.lic should_work/morel2.lus
-PASS: ./lus2lic {-o /tmp/morel2.lic should_work/morel2.lus}
-spawn ./lus2lic -ec -o /tmp/morel2.ec should_work/morel2.lus
-PASS: ./lus2lic {-ec -o /tmp/morel2.ec should_work/morel2.lus}
-spawn ./myec2c -o /tmp/morel2.c /tmp/morel2.ec
-PASS: ./myec2c {-o /tmp/morel2.c /tmp/morel2.ec}
+spawn ./lus2lic -2c should_work/iterFibo.lus -n iterFibo
+iterFibo_iterFibo_loop.c has been generated.
+iterFibo_iterFibo.h has been generated.
+iterFibo_iterFibo.c has been generated.
+you can compile those files doing, e.g.,
+  gcc iterFibo_iterFibo.c iterFibo_iterFibo_loop.c
+PASS: ./lus2lic {-2c should_work/iterFibo.lus -n iterFibo}
+spawn rm -f a.out
+spawn gcc iterFibo_iterFibo.c iterFibo_iterFibo_loop.c
+PASS: gcc iterFibo_iterFibo.c iterFibo_iterFibo_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/iterFibo.lus
++ ./lus2lic should_work/iterFibo.lus -n iterFibo --gen-autotest -np
+_iterFibo_env.lut generated.
+_iterFibo_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/iterFibo.lus
++ ./lus2lic should_work/iterFibo.lus -n iterFibo -2c -cc
+iterFibo_iterFibo_loop.c has been generated.
+iterFibo_iterFibo.h has been generated.
+iterFibo_iterFibo.c has been generated.
+sys call: 'gcc iterFibo_iterFibo.c iterFibo_iterFibo_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_iterFibo_env.lut -rp oracle:v6:_iterFibo_oracle.lus:iterFibo_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/iterFibo.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/iterFibo.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/iterFibo.lus
+spawn ./lus2lic -o ./tmp/morel2.lic should_work/morel2.lus
+PASS: ./lus2lic {-o ./tmp/morel2.lic should_work/morel2.lus}
+spawn ./lus2lic -ec -o ./tmp/morel2.ec should_work/morel2.lus
+PASS: ./lus2lic {-ec -o ./tmp/morel2.ec should_work/morel2.lus}
+spawn ./myec2c -o ./tmp/morel2.c ./tmp/morel2.ec
+PASS: ./myec2c {-o ./tmp/morel2.c ./tmp/morel2.ec}
 spawn ../utils/test_lus2lic_no_node should_work/morel2.lus
 + ./lus2lic should_work/morel2.lus -n morel2 --gen-autotest -np
 _morel2_env.lut generated.
@@ -4796,7 +11407,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -4805,12 +11416,29 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/morel2.lus
-spawn ./lus2lic -o /tmp/minmax1.lic should_work/minmax1.lus
-PASS: ./lus2lic {-o /tmp/minmax1.lic should_work/minmax1.lus}
-spawn ./lus2lic -ec -o /tmp/minmax1.ec should_work/minmax1.lus
-PASS: ./lus2lic {-ec -o /tmp/minmax1.ec should_work/minmax1.lus}
-spawn ./myec2c -o /tmp/minmax1.c /tmp/minmax1.ec
-PASS: ./myec2c {-o /tmp/minmax1.c /tmp/minmax1.ec}
+spawn ./lus2lic -2c should_work/morel2.lus -n morel2
+
+*** oops: lus2lic internal error
+	File "src/soc2c.ml", line 103, column 32
+*** when compiling lustre program should_work/morel2.lus
+
+*** You migth want to sent a bug report to jahier@imag.fr
+FAIL: Generate c code  : ./lus2lic {-2c should_work/morel2.lus -n morel2}
+spawn rm -f a.out
+spawn gcc morel2_morel2.c morel2_morel2_loop.c
+In file included from morel2_morel2.c:4:0:
+morel2_morel2.h:21:0: error: unterminated #ifndef
+morel2_morel2.c: In function 'morel2_morel2_bibbbiii_step':
+morel2_morel2.c:193:3: error: expected declaration or statement at end of input
+In file included from morel2_morel2_loop.c:8:0:
+morel2_morel2.h:21:0: error: unterminated #ifndef
+FAIL: Check that the generated C code compiles  : gcc morel2_morel2.c morel2_morel2_loop.c 
+spawn ./lus2lic -o ./tmp/minmax1.lic should_work/minmax1.lus
+PASS: ./lus2lic {-o ./tmp/minmax1.lic should_work/minmax1.lus}
+spawn ./lus2lic -ec -o ./tmp/minmax1.ec should_work/minmax1.lus
+PASS: ./lus2lic {-ec -o ./tmp/minmax1.ec should_work/minmax1.lus}
+spawn ./myec2c -o ./tmp/minmax1.c ./tmp/minmax1.ec
+PASS: ./myec2c {-o ./tmp/minmax1.c ./tmp/minmax1.ec}
 spawn ../utils/test_lus2lic_no_node should_work/minmax1.lus
 + ./lus2lic should_work/minmax1.lus -n minmax1 --gen-autotest -np
 _minmax1_env.lut generated.
@@ -4827,7 +11455,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -4836,12 +11464,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/minmax1.lus
-spawn ./lus2lic -o /tmp/aa.lic should_work/aa.lus
-PASS: ./lus2lic {-o /tmp/aa.lic should_work/aa.lus}
-spawn ./lus2lic -ec -o /tmp/aa.ec should_work/aa.lus
-PASS: ./lus2lic {-ec -o /tmp/aa.ec should_work/aa.lus}
-spawn ./myec2c -o /tmp/aa.c /tmp/aa.ec
-PASS: ./myec2c {-o /tmp/aa.c /tmp/aa.ec}
+spawn ./lus2lic -2c should_work/minmax1.lus -n minmax1
+minmax1_minmax1_loop.c has been generated.
+minmax1_minmax1.h has been generated.
+minmax1_minmax1.c has been generated.
+you can compile those files doing, e.g.,
+  gcc minmax1_minmax1.c minmax1_minmax1_loop.c
+PASS: ./lus2lic {-2c should_work/minmax1.lus -n minmax1}
+spawn rm -f a.out
+spawn gcc minmax1_minmax1.c minmax1_minmax1_loop.c
+PASS: gcc minmax1_minmax1.c minmax1_minmax1_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/minmax1.lus
++ ./lus2lic should_work/minmax1.lus -n minmax1 --gen-autotest -np
+_minmax1_env.lut generated.
+_minmax1_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/minmax1.lus
++ ./lus2lic should_work/minmax1.lus -n minmax1 -2c -cc
+minmax1_minmax1_loop.c has been generated.
+minmax1_minmax1.h has been generated.
+minmax1_minmax1.c has been generated.
+sys call: 'gcc minmax1_minmax1.c minmax1_minmax1_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_minmax1_env.lut -rp oracle:v6:_minmax1_oracle.lus:minmax1_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/minmax1.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/minmax1.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/minmax1.lus
+spawn ./lus2lic -o ./tmp/aa.lic should_work/aa.lus
+PASS: ./lus2lic {-o ./tmp/aa.lic should_work/aa.lus}
+spawn ./lus2lic -ec -o ./tmp/aa.ec should_work/aa.lus
+PASS: ./lus2lic {-ec -o ./tmp/aa.ec should_work/aa.lus}
+spawn ./myec2c -o ./tmp/aa.c ./tmp/aa.ec
+PASS: ./myec2c {-o ./tmp/aa.c ./tmp/aa.ec}
 spawn ../utils/test_lus2lic_no_node should_work/aa.lus
 + ./lus2lic should_work/aa.lus -n aa --gen-autotest -np
 _aa_env.lut generated.
@@ -4858,7 +11530,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -4867,12 +11539,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/aa.lus
-spawn ./lus2lic -o /tmp/mouse3.lic should_work/mouse3.lus
-PASS: ./lus2lic {-o /tmp/mouse3.lic should_work/mouse3.lus}
-spawn ./lus2lic -ec -o /tmp/mouse3.ec should_work/mouse3.lus
-PASS: ./lus2lic {-ec -o /tmp/mouse3.ec should_work/mouse3.lus}
-spawn ./myec2c -o /tmp/mouse3.c /tmp/mouse3.ec
-PASS: ./myec2c {-o /tmp/mouse3.c /tmp/mouse3.ec}
+spawn ./lus2lic -2c should_work/aa.lus -n aa
+aa_aa_loop.c has been generated.
+aa_aa.h has been generated.
+aa_aa.c has been generated.
+you can compile those files doing, e.g.,
+  gcc aa_aa.c aa_aa_loop.c
+PASS: ./lus2lic {-2c should_work/aa.lus -n aa}
+spawn rm -f a.out
+spawn gcc aa_aa.c aa_aa_loop.c
+PASS: gcc aa_aa.c aa_aa_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/aa.lus
++ ./lus2lic should_work/aa.lus -n aa --gen-autotest -np
+_aa_env.lut generated.
+_aa_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/aa.lus
++ ./lus2lic should_work/aa.lus -n aa -2c -cc
+aa_aa_loop.c has been generated.
+aa_aa.h has been generated.
+aa_aa.c has been generated.
+sys call: 'gcc aa_aa.c aa_aa_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_aa_env.lut -rp oracle:v6:_aa_oracle.lus:aa_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/aa.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/aa.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/aa.lus
+spawn ./lus2lic -o ./tmp/mouse3.lic should_work/mouse3.lus
+PASS: ./lus2lic {-o ./tmp/mouse3.lic should_work/mouse3.lus}
+spawn ./lus2lic -ec -o ./tmp/mouse3.ec should_work/mouse3.lus
+PASS: ./lus2lic {-ec -o ./tmp/mouse3.ec should_work/mouse3.lus}
+spawn ./myec2c -o ./tmp/mouse3.c ./tmp/mouse3.ec
+PASS: ./myec2c {-o ./tmp/mouse3.c ./tmp/mouse3.ec}
 spawn ../utils/test_lus2lic_no_node should_work/mouse3.lus
 + ./lus2lic should_work/mouse3.lus -n mouse3 --gen-autotest -np
 _mouse3_env.lut generated.
@@ -4889,7 +11605,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -4898,12 +11614,110 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/mouse3.lus
-spawn ./lus2lic -o /tmp/ex.lic should_work/ex.lus
-PASS: ./lus2lic {-o /tmp/ex.lic should_work/ex.lus}
-spawn ./lus2lic -ec -o /tmp/ex.ec should_work/ex.lus
-PASS: ./lus2lic {-ec -o /tmp/ex.ec should_work/ex.lus}
-spawn ./myec2c -o /tmp/ex.c /tmp/ex.ec
-PASS: ./myec2c {-o /tmp/ex.c /tmp/ex.ec}
+spawn ./lus2lic -2c should_work/mouse3.lus -n mouse3
+mouse3_mouse3_loop.c has been generated.
+mouse3_mouse3.h has been generated.
+mouse3_mouse3.c has been generated.
+you can compile those files doing, e.g.,
+  gcc mouse3_mouse3.c mouse3_mouse3_loop.c
+PASS: ./lus2lic {-2c should_work/mouse3.lus -n mouse3}
+spawn rm -f a.out
+spawn gcc mouse3_mouse3.c mouse3_mouse3_loop.c
+PASS: gcc mouse3_mouse3.c mouse3_mouse3_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/mouse3.lus
++ ./lus2lic should_work/mouse3.lus -n mouse3 --gen-autotest -np
+_mouse3_env.lut generated.
+_mouse3_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/mouse3.lus
++ ./lus2lic should_work/mouse3.lus -n mouse3 -2c -cc
+mouse3_mouse3_loop.c has been generated.
+mouse3_mouse3.h has been generated.
+mouse3_mouse3.c has been generated.
+sys call: 'gcc mouse3_mouse3.c mouse3_mouse3_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_mouse3_env.lut -rp oracle:v6:_mouse3_oracle.lus:mouse3_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/mouse3.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/mouse3.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/mouse3.lus
+spawn ./lus2lic -o ./tmp/array_concat.lic should_work/array_concat.lus
+PASS: ./lus2lic {-o ./tmp/array_concat.lic should_work/array_concat.lus}
+spawn ./lus2lic -ec -o ./tmp/array_concat.ec should_work/array_concat.lus
+PASS: ./lus2lic {-ec -o ./tmp/array_concat.ec should_work/array_concat.lus}
+spawn ./myec2c -o ./tmp/array_concat.c ./tmp/array_concat.ec
+ec2oc lex error : unknown char '91' ([), line '9'
+FAIL: Try ec2c on the result: ./myec2c {-o ./tmp/array_concat.c ./tmp/array_concat.ec}
+spawn ./lus2lic -2c should_work/array_concat.lus -n array_concat
+array_concat_array_concat_loop.c has been generated.
+array_concat_array_concat.h has been generated.
+array_concat_array_concat.c has been generated.
+you can compile those files doing, e.g.,
+  gcc array_concat_array_concat.c array_concat_array_concat_loop.c
+PASS: ./lus2lic {-2c should_work/array_concat.lus -n array_concat}
+spawn rm -f a.out
+spawn gcc array_concat_array_concat.c array_concat_array_concat_loop.c
+array_concat_array_concat.c: In function 'Lustre_concat_bp1bp1bp2_step':
+array_concat_array_concat.c:20:3: warning: passing argument 1 of 'memcpy' makes pointer from integer without a cast [enabled by default]
+In file included from array_concat_array_concat.h:6:0,
+                 from array_concat_array_concat.c:4:
+/usr/include/string.h:44:14: note: expected 'void * __restrict__' but argument is of type '_boolean'
+PASS: gcc array_concat_array_concat.c array_concat_array_concat_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/array_concat.lus
++ ./lus2lic should_work/array_concat.lus -n array_concat --gen-autotest -np
+_array_concat_env.lut generated.
+_array_concat_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/array_concat.lus
++ ./lus2lic should_work/array_concat.lus -n array_concat -2c -cc
+array_concat_array_concat.c: In function 'Lustre_concat_bp1bp1bp2_step':
+array_concat_array_concat.c:20:3: warning: passing argument 1 of 'memcpy' makes pointer from integer without a cast [enabled by default]
+In file included from array_concat_array_concat.h:6:0,
+                 from array_concat_array_concat.c:4:
+/usr/include/string.h:44:14: note: expected 'void * __restrict__' but argument is of type '_boolean'
+array_concat_array_concat_loop.c has been generated.
+array_concat_array_concat.h has been generated.
+array_concat_array_concat.c has been generated.
+sys call: 'gcc array_concat_array_concat.c array_concat_array_concat_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_array_concat_env.lut -rp oracle:v6:_array_concat_oracle.lus:array_concat_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+*** Error when parsing RIF: End_of_file
+break signal catched
+
+lurettetop: bye!
++ echo error
+error
++ exit 2
+FAIL: Try to compare lus2lic -exec and -2c: ../utils/compare_exec_and_2c should_work/array_concat.lus
+spawn ./lus2lic -o ./tmp/ex.lic should_work/ex.lus
+PASS: ./lus2lic {-o ./tmp/ex.lic should_work/ex.lus}
+spawn ./lus2lic -ec -o ./tmp/ex.ec should_work/ex.lus
+PASS: ./lus2lic {-ec -o ./tmp/ex.ec should_work/ex.lus}
+spawn ./myec2c -o ./tmp/ex.c ./tmp/ex.ec
+PASS: ./myec2c {-o ./tmp/ex.c ./tmp/ex.ec}
 spawn ../utils/test_lus2lic_no_node should_work/ex.lus
 + ./lus2lic should_work/ex.lus -n ex --gen-autotest -np
 _ex_env.lut generated.
@@ -4920,21 +11734,48 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
 + echo lurettetop ok
-lurettetop ok
-+ exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/ex.lus
-spawn ./lus2lic -o /tmp/xxx.lic should_work/xxx.lus
-PASS: ./lus2lic {-o /tmp/xxx.lic should_work/xxx.lus}
-spawn ./lus2lic -ec -o /tmp/xxx.ec should_work/xxx.lus
-PASS: ./lus2lic {-ec -o /tmp/xxx.ec should_work/xxx.lus}
-spawn ./myec2c -o /tmp/xxx.c /tmp/xxx.ec
-PASS: ./myec2c {-o /tmp/xxx.c /tmp/xxx.ec}
+spawn ./lus2lic -2c should_work/ex.lus -n ex
+ex_ex_loop.c has been generated.
+ex_ex.h has been generated.
+ex_ex.c has been generated.
+you can compile those files doing, e.g.,
+  gcc ex_ex.c ex_ex_loop.c
+PASS: ./lus2lic {-2c should_work/ex.lus -n ex}
+spawn rm -f a.out
+spawn gcc ex_ex.c ex_ex_loop.c
+PASS: gcc ex_ex.c ex_ex_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/ex.lus
++ ./lus2lic should_work/ex.lus -n ex --gen-autotest -np
+_ex_env.lut generated.
+_ex_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/ex.lus
++ ./lus2lic should_work/ex.lus -n ex -2c -cc
+ex_ex_loop.c has been generated.
+ex_ex.h has been generated.
+ex_ex.c has been generated.
+sys call: 'gcc ex_ex.c ex_ex_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001+  -rp env:lutin:_ex_env.lut -rp oracle:v6:_ex_oracle.lus:ex_oracle -go -l 10 -ns2c --stop-on-oracle-error./call-via-socket
+ -server -addr 127.0.0.1 -port 2001 ./a.out
+UNRESOLVED: Time out: ../utils/compare_exec_and_2c should_work/ex.lus
+spawn ./lus2lic -o ./tmp/xxx.lic should_work/xxx.lus
+PASS: ./lus2lic {-o ./tmp/xxx.lic should_work/xxx.lus}
+spawn ./lus2lic -ec -o ./tmp/xxx.ec should_work/xxx.lus
+PASS: ./lus2lic {-ec -o ./tmp/xxx.ec should_work/xxx.lus}
+spawn ./myec2c -o ./tmp/xxx.c ./tmp/xxx.ec
+PASS: ./myec2c {-o ./tmp/xxx.c ./tmp/xxx.ec}
 spawn ../utils/test_lus2lic_no_node should_work/xxx.lus
 + ./lus2lic should_work/xxx.lus -n xxx --gen-autotest -np
 _xxx_env.lut generated.
@@ -4951,21 +11792,49 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
 + echo lurettetop ok
 lurettetop ok
-+ exit 0
-PASS: ../utils/test_lus2lic_no_node should_work/xxx.lus
-spawn ./lus2lic -o /tmp/moyenne.lic should_work/moyenne.lus
-PASS: ./lus2lic {-o /tmp/moyenne.lic should_work/moyenne.lus}
-spawn ./lus2lic -ec -o /tmp/moyenne.ec should_work/moyenne.lus
-PASS: ./lus2lic {-ec -o /tmp/moyenne.ec should_work/moyenne.lus}
-spawn ./myec2c -o /tmp/moyenne.c /tmp/moyenne.ec
-PASS: ./myec2c {-o /tmp/moyenne.c /tmp/moyenne.ec}
++ exitPASS: ../utils/test_lus2lic_no_node should_work/xxx.lus
+spawn ./lus2lic -2c should_work/xxx.lus -n xxx
+xxx_xxx_loop.c has been generated.
+xxx_xxx.h has been generated.
+xxx_xxx.c has been generated.
+you can compile those files doing, e.g.,
+  gcc xxx_xxx.c xxx_xxx_loop.c
+PASS: ./lus2lic {-2c should_work/xxx.lus -n xxx}
+spawn rm -f a.out
+spawn gcc xxx_xxx.c xxx_xxx_loop.c
+PASS: gcc xxx_xxx.c xxx_xxx_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/xxx.lus
++ ./lus2lic should_work/xxx.lus -n xxx --gen-autotest -np
+_xxx_env.lut generated.
+_xxx_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/xxx.lus
++ ./lus2lic should_work/xxx.lus -n xxx -2c -cc
+xxx_xxx_loop.c has been generated.
+xxx_xxx.h has been generated.
+xxx_xxx.c has been generated.
+sys call: 'gcc xxx_xxx.c xxx_xxx_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_xxx_env.lut -rp oracle:v6:_xxx_oracle.lus:xxx_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+UNRESOLVED: Time out: ../utils/compare_exec_and_2c should_work/xxx.lus
+spawn ./lus2lic -o ./tmp/moyenne.lic should_work/moyenne.lus
+PASS: ./lus2lic {-o ./tmp/moyenne.lic should_work/moyenne.lus}
+spawn ./lus2lic -ec -o ./tmp/moyenne.ec should_work/moyenne.lus
+PASS: ./lus2lic {-ec -o ./tmp/moyenne.ec should_work/moyenne.lus}
+spawn ./myec2c -o ./tmp/moyenne.c ./tmp/moyenne.ec
+PASS: ./myec2c {-o ./tmp/moyenne.c ./tmp/moyenne.ec}
 spawn ../utils/test_lus2lic_no_node should_work/moyenne.lus
 + ./lus2lic should_work/moyenne.lus -n moyenne --gen-autotest -np
 _moyenne_env.lut generated.
@@ -4982,7 +11851,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -4991,17 +11860,46 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/moyenne.lus
-spawn ./lus2lic -o /tmp/activation1.lic should_work/activation1.lus
-PASS: ./lus2lic {-o /tmp/activation1.lic should_work/activation1.lus}
-spawn ./lus2lic -ec -o /tmp/activation1.ec should_work/activation1.lus
-PASS: ./lus2lic {-ec -o /tmp/activation1.ec should_work/activation1.lus}
-spawn ./myec2c -o /tmp/activation1.c /tmp/activation1.ec
-PASS: ./myec2c {-o /tmp/activation1.c /tmp/activation1.ec}
+spawn ./lus2lic -2c should_work/moyenne.lus -n moyenne
+moyenne_moyenne_loop.c has been generated.
+moyenne_moyenne.h has been generated.
+moyenne_moyenne.c has been generated.
+you can compile those files doing, e.g.,
+  gcc moyenne_moyenne.c moyenne_moyenne_loop.c
+PASS: ./lus2lic {-2c should_work/moyenne.lus -n moyenne}
+spawn rm -f a.out
+spawn gcc moyenne_moyenne.c moyenne_moyenne_loop.c
+PASS: gcc moyenne_moyenne.c moyenne_moyenne_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/moyenne.lus
++ ./lus2lic should_work/moyenne.lus -n moyenne --gen-autotest -np
+_moyenne_env.lut generated.
+_moyenne_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/moyenne.lus
++ ./lus2lic should_work/moyenne.lus -n moyenne -2c -cc
+moyenne_moyenne_loop.c has been generated.
+moyenne_moyenne.h has been generated.
+moyenne_moyenne.c has been generated.
+sys call: 'gcc moyenne_moyenne.c moyenne_moyenne_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_moyenne_env.lut -rp oracle:v6:_moyenne_oracle.lus:moyenne_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+UNRESOLVED: Time out: ../utils/compare_exec_and_2c should_work/moyenne.lus
+spawn ./lus2lic -o ./tmp/activation1.lic should_work/activation1.lus
+PASS: ./lus2lic {-o ./tmp/activation1.lic should_work/activation1.lus}
+spawn ./lus2lic -ec -o ./tmp/activation1.ec should_work/activation1.lus
+PASS: ./lus2lic {-ec -o ./tmp/activation1.ec should_work/activation1.lus}
+spawn ./myec2c -o ./tmp/activation1.c ./tmp/activation1.ec
+PASS: ./myec2c {-o ./tmp/activation1.c ./tmp/activation1.ec}
 spawn ../utils/test_lus2lic_no_node should_work/activation1.lus
 + ./lus2lic should_work/activation1.lus -n activation1 --gen-autotest -np
 Error. A combinational cycle been detected in file "/home/jahier/lus2lic/test/should_work/activation1.lus", line 11, col 5 to 15, token 'activation1' on 
   v07 = activation1::up1(scie)
-  v10 = Lustre::arrow(0, v09)
+  v10 = Lustre::arrow3(0, v09)
   v07 = activation1::up1(scie)
   scie = Lustre::if(reset, 0, v10)
   v09 = Lustre::if(go_up, v07, v08)
@@ -5012,60 +11910,131 @@ Hint: try to use --expand-nodes.
 Error
 + exit 2
 FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/activation1.lus
-spawn ./lus2lic -o /tmp/call01.lic should_work/call01.lus
-PASS: ./lus2lic {-o /tmp/call01.lic should_work/call01.lus}
-spawn ./lus2lic -ec -o /tmp/call01.ec should_work/call01.lus
-PASS: ./lus2lic {-ec -o /tmp/call01.ec should_work/call01.lus}
-spawn ./myec2c -o /tmp/call01.c /tmp/call01.ec
-PASS: ./myec2c {-o /tmp/call01.c /tmp/call01.ec}
-spawn ../utils/test_lus2lic_no_node should_work/call01.lus
-+ ./lus2lic should_work/call01.lus -n call01 --gen-autotest -np
-_call01_env.lut generated.
-_call01_oracle.lus generated.
+spawn ./lus2lic -2c should_work/activation1.lus -n activation1
+Error. A combinational cycle been detected in file "/home/jahier/lus2lic/test/should_work/activation1.lus", line 11, col 5 to 15, token 'activation1' on 
+  v07 = activation1::up1(scie)
+  v10 = Lustre::arrow3(0, v09)
+  v07 = activation1::up1(scie)
+  scie = Lustre::if(reset, 0, v10)
+  v09 = Lustre::if(go_up, v07, v08)
+
+Hint: try to use --expand-nodes.
+
+FAIL: Generate c code  : ./lus2lic {-2c should_work/activation1.lus -n activation1}
+spawn ./lus2lic -o ./tmp/call01.lic should_work/call01.lus
+PASS: ./lus2lic {-o ./tmp/call01.lic should_work/call01.lus}
+spawn ./lus2lic -ec -o ./tmp/call01.ec should_work/call01.lus
+PASS: ./lus2lic {-ec -o ./tmp/call01.ec should_work/call01.lus}
+spawn ./myec2c -o ./tmp/call01.c ./tmp/call01.ec
+PASS: ./myec2c {-o ./tmp/call01.c ./tmp/call01.ec}
+spawn ./lus2lic -2c should_work/call01.lus -n call01
+call01_call01_loop.c has been generated.
+call01_call01.h has been generated.
+call01_call01.c has been generated.
+you can compile those files doing, e.g.,
+  gcc call01_call01.c call01_call01_loop.c
+PASS: ./lus2lic {-2c should_work/call01.lus -n call01}
+spawn rm -f a.out
+spawn gcc call01_call01.c call01_call01_loop.c
+PASS: gcc call01_call01.c call01_call01_loop.c 
+spawn ./lus2lic -o ./tmp/bug.lic should_work/bug.lus
+PASS: ./lus2lic {-o ./tmp/bug.lic should_work/bug.lus}
+spawn ./lus2lic -ec -o ./tmp/bug.ec should_work/bug.lus
+PASS: ./lus2lic {-ec -o ./tmp/bug.ec should_work/bug.lus}
+spawn ./myec2c -o ./tmp/bug.c ./tmp/bug.ec
+PASS: ./myec2c {-o ./tmp/bug.c ./tmp/bug.ec}
+spawn ../utils/test_lus2lic_no_node should_work/bug.lus
++ ./lus2lic should_work/bug.lus -n bug --gen-autotest -np
+_bug_env.lut generated.
+_bug_oracle.lus generated.
 + echo lus2lic --gen-autotest done
 lus2lic --gen-autotest done
-+ cat should_work/call01.lus
-+ ./lus2lic should_work/call01.lus -n call01 -ec -o call01.ec
++ cat should_work/bug.lus
++ ./lus2lic should_work/bug.lus -n bug -ec -o bug.ec
 + echo lus2lic -ec done
 lus2lic -ec done
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:call01.ec:call01 -rp env:lutin:_call01_env.lut -rp oracle:v6:_call01_oracle.lus:call01_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./lurettetop -p 6 -seed 42 -rp sut:ec:bug.ec:bug -rp env:lutin:_bug_env.lut -rp oracle:v6:_bug_oracle.lus:bug_oracle -go -l 10 -ns2c --stop-on-oracle-error
+RP Variables are compatible.
+quit
+
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/test_lus2lic_no_node should_work/bug.lus
+spawn ./lus2lic -2c should_work/bug.lus -n bug
+bug_bug_loop.c has been generated.
+bug_bug.h has been generated.
+bug_bug.c has been generated.
+you can compile those files doing, e.g.,
+  gcc bug_bug.c bug_bug_loop.c
+PASS: ./lus2lic {-2c should_work/bug.lus -n bug}
+spawn rm -f a.out
+spawn gcc bug_bug.c bug_bug_loop.c
+PASS: gcc bug_bug.c bug_bug_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/bug.lus
++ ./lus2lic should_work/bug.lus -n bug --gen-autotest -np
+_bug_env.lut generated.
+_bug_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/bug.lus
++ ./lus2lic should_work/bug.lus -n bug -2c -cc
+bug_bug_loop.c has been generated.
+bug_bug.h has been generated.
+bug_bug.c has been generated.
+sys call: 'gcc bug_bug.c bug_bug_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_bug_env.lut -rp oracle:v6:_bug_oracle.lus:bug_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
 RP Variables are compatible.
-quit
-
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/bug.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/bug.lus: ok
 + echo lurettetop ok
 lurettetop ok
 + exit 0
-PASS: ../utils/test_lus2lic_no_node should_work/call01.lus
-spawn ./lus2lic -o /tmp/bug.lic should_work/bug.lus
-PASS: ./lus2lic {-o /tmp/bug.lic should_work/bug.lus}
-spawn ./lus2lic -ec -o /tmp/bug.ec should_work/bug.lus
-PASS: ./lus2lic {-ec -o /tmp/bug.ec should_work/bug.lus}
-spawn ./myec2c -o /tmp/bug.c /tmp/bug.ec
-PASS: ./myec2c {-o /tmp/bug.c /tmp/bug.ec}
-spawn ../utils/test_lus2lic_no_node should_work/bug.lus
-+ ./lus2lic should_work/bug.lus -n bug --gen-autotest -np
-_bug_env.lut generated.
-_bug_oracle.lus generated.
+PASS: ../utils/compare_exec_and_2c should_work/bug.lus
+spawn ./lus2lic -o ./tmp/ck4.lic should_work/ck4.lus
+PASS: ./lus2lic {-o ./tmp/ck4.lic should_work/ck4.lus}
+spawn ./lus2lic -ec -o ./tmp/ck4.ec should_work/ck4.lus
+PASS: ./lus2lic {-ec -o ./tmp/ck4.ec should_work/ck4.lus}
+spawn ./myec2c -o ./tmp/ck4.c ./tmp/ck4.ec
+PASS: ./myec2c {-o ./tmp/ck4.c ./tmp/ck4.ec}
+spawn ../utils/test_lus2lic_no_node should_work/ck4.lus
++ ./lus2lic should_work/ck4.lus -n ck4 --gen-autotest -np
+_ck4_env.lut generated.
+_ck4_oracle.lus generated.
 + echo lus2lic --gen-autotest done
 lus2lic --gen-autotest done
-+ cat should_work/bug.lus
-+ ./lus2lic should_work/bug.lus -n bug -ec -o bug.ec
++ cat should_work/ck4.lus
++ ./lus2lic should_work/ck4.lus -n ck4 -ec -o ck4.ec
 + echo lus2lic -ec done
 lus2lic -ec done
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:bug.ec:bug -rp env:lutin:_bug_env.lut -rp oracle:v6:_bug_oracle.lus:bug_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./lurettetop -p 6 -seed 42 -rp sut:ec:ck4.ec:ck4 -rp env:lutin:_ck4_env.lut -rp oracle:v6:_ck4_oracle.lus:ck4_oracle -go -l 10 -ns2c --stop-on-oracle-error
 RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -5073,90 +12042,121 @@ lurettetop: bye!
 + echo lurettetop ok
 lurettetop ok
 + exit 0
-PASS: ../utils/test_lus2lic_no_node should_work/bug.lus
-spawn ./lus2lic -o /tmp/ck4.lic should_work/ck4.lus
-PASS: ./lus2lic {-o /tmp/ck4.lic should_work/ck4.lus}
-spawn ./lus2lic -ec -o /tmp/ck4.ec should_work/ck4.lus
-PASS: ./lus2lic {-ec -o /tmp/ck4.ec should_work/ck4.lus}
-spawn ./myec2c -o /tmp/ck4.c /tmp/ck4.ec
-PASS: ./myec2c {-o /tmp/ck4.c /tmp/ck4.ec}
-spawn ../utils/test_lus2lic_no_node should_work/ck4.lus
+PASS: ../utils/test_lus2lic_no_node should_work/ck4.lus
+spawn ./lus2lic -2c should_work/ck4.lus -n ck4
+ck4_ck4_loop.c has been generated.
+ck4_ck4.h has been generated.
+ck4_ck4.c has been generated.
+you can compile those files doing, e.g.,
+  gcc ck4_ck4.c ck4_ck4_loop.c
+PASS: ./lus2lic {-2c should_work/ck4.lus -n ck4}
+spawn rm -f a.out
+spawn gcc ck4_ck4.c ck4_ck4_loop.c
+PASS: gcc ck4_ck4.c ck4_ck4_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/ck4.lus
 + ./lus2lic should_work/ck4.lus -n ck4 --gen-autotest -np
 _ck4_env.lut generated.
 _ck4_oracle.lus generated.
 + echo lus2lic --gen-autotest done
 lus2lic --gen-autotest done
 + cat should_work/ck4.lus
-+ ./lus2lic should_work/ck4.lus -n ck4 -ec -o ck4.ec
-+ echo lus2lic -ec done
-lus2lic -ec done
++ ./lus2lic should_work/ck4.lus -n ck4 -2c -cc
+ck4_ck4_loop.c has been generated.
+ck4_ck4.h has been generated.
+ck4_ck4.c has been generated.
+sys call: 'gcc ck4_ck4.c ck4_ck4_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:ck4.ec:ck4 -rp env:lutin:_ck4_env.lut -rp oracle:v6:_ck4_oracle.lus:ck4_oracle -go -l 10 -ns2c --stop-on-oracle-error
-Error in lurette: Lv6errors.Compile_error(_, "\n*** clock error: The two following clocks are not compatible:\n***\t on base\n***\t on b'a0\n")
-Lurette launched a process that failed (exit 2).
- 
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_ck4_env.lut -rp oracle:v6:_ck4_oracle.lus:ck4_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
-+ echo error
-error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/ck4.lus
-spawn ./lus2lic -o /tmp/map_red_iter.lic should_work/map_red_iter.lus
-PASS: ./lus2lic {-o /tmp/map_red_iter.lic should_work/map_red_iter.lus}
-spawn ./lus2lic -ec -o /tmp/map_red_iter.ec should_work/map_red_iter.lus
-PASS: ./lus2lic {-ec -o /tmp/map_red_iter.ec should_work/map_red_iter.lus}
-spawn ./myec2c -o /tmp/map_red_iter.c /tmp/map_red_iter.ec
-PASS: ./myec2c {-o /tmp/map_red_iter.c /tmp/map_red_iter.ec}
-spawn ../utils/test_lus2lic_no_node should_work/map_red_iter.lus
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/ck4.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/ck4.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/ck4.lus
+spawn ./lus2lic -o ./tmp/map_red_iter.lic should_work/map_red_iter.lus
+PASS: ./lus2lic {-o ./tmp/map_red_iter.lic should_work/map_red_iter.lus}
+spawn ./lus2lic -ec -o ./tmp/map_red_iter.ec should_work/map_red_iter.lus
+PASS: ./lus2lic {-ec -o ./tmp/map_red_iter.ec should_work/map_red_iter.lus}
+spawn ./myec2c -o ./tmp/map_red_iter.c ./tmp/map_red_iter.ec
+PASS: ./myec2c {-o ./tmp/map_red_iter.c ./tmp/map_red_iter.ec}
+spawn ./lus2lic -2c should_work/map_red_iter.lus -n map_red_iter
+map_red_iter_map_red_iter_loop.c has been generated.
+map_red_iter_map_red_iter.h has been generated.
+map_red_iter_map_red_iter.c has been generated.
+you can compile those files doing, e.g.,
+  gcc map_red_iter_map_red_iter.c map_red_iter_map_red_iter_loop.c
+PASS: ./lus2lic {-2c should_work/map_red_iter.lus -n map_red_iter}
+spawn rm -f a.out
+spawn gcc map_red_iter_map_red_iter.c map_red_iter_map_red_iter_loop.c
+PASS: gcc map_red_iter_map_red_iter.c map_red_iter_map_red_iter_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/map_red_iter.lus
 + ./lus2lic should_work/map_red_iter.lus -n map_red_iter --gen-autotest -np
 _map_red_iter_env.lut generated.
 _map_red_iter_oracle.lus generated.
 + echo lus2lic --gen-autotest done
 lus2lic --gen-autotest done
 + cat should_work/map_red_iter.lus
-+ ./lus2lic should_work/map_red_iter.lus -n map_red_iter -ec -o map_red_iter.ec
-+ echo lus2lic -ec done
-lus2lic -ec done
++ ./lus2lic should_work/map_red_iter.lus -n map_red_iter -2c -cc
+map_red_iter_map_red_iter_loop.c has been generated.
+map_red_iter_map_red_iter.h has been generated.
+map_red_iter_map_red_iter.c has been generated.
+sys call: 'gcc map_red_iter_map_red_iter.c map_red_iter_map_red_iter_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:map_red_iter.ec:map_red_iter -rp env:lutin:_map_red_iter_env.lut -rp oracle:v6:_map_red_iter_oracle.lus:map_red_iter_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_map_red_iter_env.lut -rp oracle:v6:_map_red_iter_oracle.lus:map_red_iter_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
 RP Variables are compatible.
-quit
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
 
-
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/map_red_iter.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/map_red_iter.lus: ok
 + echo lurettetop ok
 lurettetop ok
 + exit 0
-PASS: ../utils/test_lus2lic_no_node should_work/map_red_iter.lus
-spawn ./lus2lic -o /tmp/p.lic should_work/p.lus
-PASS: ./lus2lic {-o /tmp/p.lic should_work/p.lus}
-spawn ./lus2lic -ec -o /tmp/p.ec should_work/p.lus
-PASS: ./lus2lic {-ec -o /tmp/p.ec should_work/p.lus}
-spawn ./myec2c -o /tmp/p.c /tmp/p.ec
-PASS: ./myec2c {-o /tmp/p.c /tmp/p.ec}
-spawn ../utils/test_lus2lic_no_node should_work/p.lus
-+ ./lus2lic should_work/p.lus -n p --gen-autotest -np
+PASS: ../utils/compare_exec_and_2c should_work/map_red_iter.lus
+spawn ./lus2lic -o ./tmp/p.lic should_work/p.lus
+PASS: ./lus2lic {-o ./tmp/p.lic should_work/p.lus}
+spawn ./lus2lic -ec -o ./tmp/p.ec should_work/p.lus
+PASS: ./lus2lic {-ec -o ./tmp/p.ec should_work/p.lus}
+spawn ./myec2c -o ./tmp/p.c ./tmp/p.ec
+PASS: ./myec2c {-o ./tmp/p.c ./tmp/p.ec}
+spawn ./lus2lic -2c should_work/p.lus -n p
 *** Can not find package 'p' in the following packages: 
 ***	 'pbool'
 ***	 'mainPack'
 ***	 'pint'
 ***	 'inter'
 ***	 'preal'
-+ echo Error
-Error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/p.lus
-spawn ./lus2lic -o /tmp/struct0.lic should_work/struct0.lus
-PASS: ./lus2lic {-o /tmp/struct0.lic should_work/struct0.lus}
-spawn ./lus2lic -ec -o /tmp/struct0.ec should_work/struct0.lus
-PASS: ./lus2lic {-ec -o /tmp/struct0.ec should_work/struct0.lus}
-spawn ./myec2c -o /tmp/struct0.c /tmp/struct0.ec
-PASS: ./myec2c {-o /tmp/struct0.c /tmp/struct0.ec}
+PASS: ./lus2lic {-2c should_work/p.lus -n p}
+spawn ./lus2lic -o ./tmp/struct0.lic should_work/struct0.lus
+PASS: ./lus2lic {-o ./tmp/struct0.lic should_work/struct0.lus}
+spawn ./lus2lic -ec -o ./tmp/struct0.ec should_work/struct0.lus
+PASS: ./lus2lic {-ec -o ./tmp/struct0.ec should_work/struct0.lus}
+spawn ./myec2c -o ./tmp/struct0.c ./tmp/struct0.ec
+PASS: ./myec2c {-o ./tmp/struct0.c ./tmp/struct0.ec}
 spawn ../utils/test_lus2lic_no_node should_work/struct0.lus
 + ./lus2lic should_work/struct0.lus -n struct0 --gen-autotest -np
 _struct0_env.lut generated.
@@ -5173,7 +12173,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -5182,12 +12182,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/struct0.lus
-spawn ./lus2lic -o /tmp/filliter.lic should_work/filliter.lus
-PASS: ./lus2lic {-o /tmp/filliter.lic should_work/filliter.lus}
-spawn ./lus2lic -ec -o /tmp/filliter.ec should_work/filliter.lus
-PASS: ./lus2lic {-ec -o /tmp/filliter.ec should_work/filliter.lus}
-spawn ./myec2c -o /tmp/filliter.c /tmp/filliter.ec
-PASS: ./myec2c {-o /tmp/filliter.c /tmp/filliter.ec}
+spawn ./lus2lic -2c should_work/struct0.lus -n struct0
+struct0_struct0_loop.c has been generated.
+struct0_struct0.h has been generated.
+struct0_struct0.c has been generated.
+you can compile those files doing, e.g.,
+  gcc struct0_struct0.c struct0_struct0_loop.c
+PASS: ./lus2lic {-2c should_work/struct0.lus -n struct0}
+spawn rm -f a.out
+spawn gcc struct0_struct0.c struct0_struct0_loop.c
+PASS: gcc struct0_struct0.c struct0_struct0_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/struct0.lus
++ ./lus2lic should_work/struct0.lus -n struct0 --gen-autotest -np
+_struct0_env.lut generated.
+_struct0_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/struct0.lus
++ ./lus2lic should_work/struct0.lus -n struct0 -2c -cc
+struct0_struct0_loop.c has been generated.
+struct0_struct0.h has been generated.
+struct0_struct0.c has been generated.
+sys call: 'gcc struct0_struct0.c struct0_struct0_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_struct0_env.lut -rp oracle:v6:_struct0_oracle.lus:struct0_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/struct0.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/struct0.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/struct0.lus
+spawn ./lus2lic -o ./tmp/filliter.lic should_work/filliter.lus
+PASS: ./lus2lic {-o ./tmp/filliter.lic should_work/filliter.lus}
+spawn ./lus2lic -ec -o ./tmp/filliter.ec should_work/filliter.lus
+PASS: ./lus2lic {-ec -o ./tmp/filliter.ec should_work/filliter.lus}
+spawn ./myec2c -o ./tmp/filliter.c ./tmp/filliter.ec
+PASS: ./myec2c {-o ./tmp/filliter.c ./tmp/filliter.ec}
 spawn ../utils/test_lus2lic_no_node should_work/filliter.lus
 + ./lus2lic should_work/filliter.lus -n filliter --gen-autotest -np
 _filliter_env.lut generated.
@@ -5200,22 +12244,69 @@ lus2lic --gen-autotest done
 lus2lic -ec done
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
 + ./lurettetop -p 6 -seed 42 -rp sut:ec:filliter.ec:filliter -rp env:lutin:_filliter_env.lut -rp oracle:v6:_filliter_oracle.lus:filliter_oracle -go -l 10 -ns2c --stop-on-oracle-error
-Error in lurette: Lv6errors.Compile_error(_, "\n*** clock error: The two following clocks are not compatible:\n***\t on base\n***\t on c on base\n")
-Lurette launched a process that failed (exit 2).
- 
+RP Variables are compatible.
+quit
+
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
-+ echo error
-error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/filliter.lus
-spawn ./lus2lic -o /tmp/minmax4.lic should_work/minmax4.lus
-PASS: ./lus2lic {-o /tmp/minmax4.lic should_work/minmax4.lus}
-spawn ./lus2lic -ec -o /tmp/minmax4.ec should_work/minmax4.lus
-PASS: ./lus2lic {-ec -o /tmp/minmax4.ec should_work/minmax4.lus}
-spawn ./myec2c -o /tmp/minmax4.c /tmp/minmax4.ec
-PASS: ./myec2c {-o /tmp/minmax4.c /tmp/minmax4.ec}
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/test_lus2lic_no_node should_work/filliter.lus
+spawn ./lus2lic -2c should_work/filliter.lus -n filliter
+filliter_filliter_loop.c has been generated.
+filliter_filliter.h has been generated.
+filliter_filliter.c has been generated.
+you can compile those files doing, e.g.,
+  gcc filliter_filliter.c filliter_filliter_loop.c
+PASS: ./lus2lic {-2c should_work/filliter.lus -n filliter}
+spawn rm -f a.out
+spawn gcc filliter_filliter.c filliter_filliter_loop.c
+PASS: gcc filliter_filliter.c filliter_filliter_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/filliter.lus
++ ./lus2lic should_work/filliter.lus -n filliter --gen-autotest -np
+_filliter_env.lut generated.
+_filliter_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/filliter.lus
++ ./lus2lic should_work/filliter.lus -n filliter -2c -cc
+filliter_filliter_loop.c has been generated.
+filliter_filliter.h has been generated.
+filliter_filliter.c has been generated.
+sys call: 'gcc filliter_filliter.c filliter_filliter_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_filliter_env.lut -rp oracle:v6:_filliter_oracle.lus:filliter_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/filliter.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/filliter.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/filliter.lus
+spawn ./lus2lic -o ./tmp/minmax4.lic should_work/minmax4.lus
+PASS: ./lus2lic {-o ./tmp/minmax4.lic should_work/minmax4.lus}
+spawn ./lus2lic -ec -o ./tmp/minmax4.ec should_work/minmax4.lus
+PASS: ./lus2lic {-ec -o ./tmp/minmax4.ec should_work/minmax4.lus}
+spawn ./myec2c -o ./tmp/minmax4.c ./tmp/minmax4.ec
+PASS: ./myec2c {-o ./tmp/minmax4.c ./tmp/minmax4.ec}
 spawn ../utils/test_lus2lic_no_node should_work/minmax4.lus
 + ./lus2lic should_work/minmax4.lus -n minmax4 --gen-autotest -np
 _minmax4_env.lut generated.
@@ -5232,7 +12323,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -5241,12 +12332,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/minmax4.lus
-spawn ./lus2lic -o /tmp/nested.lic should_work/nested.lus
-PASS: ./lus2lic {-o /tmp/nested.lic should_work/nested.lus}
-spawn ./lus2lic -ec -o /tmp/nested.ec should_work/nested.lus
-PASS: ./lus2lic {-ec -o /tmp/nested.ec should_work/nested.lus}
-spawn ./myec2c -o /tmp/nested.c /tmp/nested.ec
-PASS: ./myec2c {-o /tmp/nested.c /tmp/nested.ec}
+spawn ./lus2lic -2c should_work/minmax4.lus -n minmax4
+minmax4_minmax4_loop.c has been generated.
+minmax4_minmax4.h has been generated.
+minmax4_minmax4.c has been generated.
+you can compile those files doing, e.g.,
+  gcc minmax4_minmax4.c minmax4_minmax4_loop.c
+PASS: ./lus2lic {-2c should_work/minmax4.lus -n minmax4}
+spawn rm -f a.out
+spawn gcc minmax4_minmax4.c minmax4_minmax4_loop.c
+PASS: gcc minmax4_minmax4.c minmax4_minmax4_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/minmax4.lus
++ ./lus2lic should_work/minmax4.lus -n minmax4 --gen-autotest -np
+_minmax4_env.lut generated.
+_minmax4_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/minmax4.lus
++ ./lus2lic should_work/minmax4.lus -n minmax4 -2c -cc
+minmax4_minmax4_loop.c has been generated.
+minmax4_minmax4.h has been generated.
+minmax4_minmax4.c has been generated.
+sys call: 'gcc minmax4_minmax4.c minmax4_minmax4_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed+  42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_minmax4_env.lut -rp./call-via-socket oracle:v6:_minmax4_oracle.lus:minmax4_oracle -server -addr -go 127.0.0.1 -l -port 10 2001 ./a.out -ns2c
+ --stop-on-oracle-error
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/minmax4.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/minmax4.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/minmax4.lus
+spawn ./lus2lic -o ./tmp/nested.lic should_work/nested.lus
+PASS: ./lus2lic {-o ./tmp/nested.lic should_work/nested.lus}
+spawn ./lus2lic -ec -o ./tmp/nested.ec should_work/nested.lus
+PASS: ./lus2lic {-ec -o ./tmp/nested.ec should_work/nested.lus}
+spawn ./myec2c -o ./tmp/nested.c ./tmp/nested.ec
+PASS: ./myec2c {-o ./tmp/nested.c ./tmp/nested.ec}
 spawn ../utils/test_lus2lic_no_node should_work/nested.lus
 + ./lus2lic should_work/nested.lus -n nested --gen-autotest -np
 _nested_env.lut generated.
@@ -5263,7 +12398,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -5272,12 +12407,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/nested.lus
-spawn ./lus2lic -o /tmp/Gyroscope.lic should_work/Gyroscope.lus
-PASS: ./lus2lic {-o /tmp/Gyroscope.lic should_work/Gyroscope.lus}
-spawn ./lus2lic -ec -o /tmp/Gyroscope.ec should_work/Gyroscope.lus
-PASS: ./lus2lic {-ec -o /tmp/Gyroscope.ec should_work/Gyroscope.lus}
-spawn ./myec2c -o /tmp/Gyroscope.c /tmp/Gyroscope.ec
-PASS: ./myec2c {-o /tmp/Gyroscope.c /tmp/Gyroscope.ec}
+spawn ./lus2lic -2c should_work/nested.lus -n nested
+nested_nested_loop.c has been generated.
+nested_nested.h has been generated.
+nested_nested.c has been generated.
+you can compile those files doing, e.g.,
+  gcc nested_nested.c nested_nested_loop.c
+PASS: ./lus2lic {-2c should_work/nested.lus -n nested}
+spawn rm -f a.out
+spawn gcc nested_nested.c nested_nested_loop.c
+PASS: gcc nested_nested.c nested_nested_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/nested.lus
++ ./lus2lic should_work/nested.lus -n nested --gen-autotest -np
+_nested_env.lut generated.
+_nested_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/nested.lus
++ ./lus2lic should_work/nested.lus -n nested -2c -cc
+nested_nested_loop.c has been generated.
+nested_nested.h has been generated.
+nested_nested.c has been generated.
+sys call: 'gcc nested_nested.c nested_nested_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_nested_env.lut -rp oracle:v6:_nested_oracle.lus:nested_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/nested.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/nested.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/nested.lus
+spawn ./lus2lic -o ./tmp/Gyroscope.lic should_work/Gyroscope.lus
+PASS: ./lus2lic {-o ./tmp/Gyroscope.lic should_work/Gyroscope.lus}
+spawn ./lus2lic -ec -o ./tmp/Gyroscope.ec should_work/Gyroscope.lus
+PASS: ./lus2lic {-ec -o ./tmp/Gyroscope.ec should_work/Gyroscope.lus}
+spawn ./myec2c -o ./tmp/Gyroscope.c ./tmp/Gyroscope.ec
+PASS: ./myec2c {-o ./tmp/Gyroscope.c ./tmp/Gyroscope.ec}
 spawn ../utils/test_lus2lic_no_node should_work/Gyroscope.lus
 + ./lus2lic should_work/Gyroscope.lus -n Gyroscope --gen-autotest -np
 _Gyroscope_env.lut generated.
@@ -5302,12 +12481,131 @@ lurettetop: bye!
 error
 + exit 2
 FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/Gyroscope.lus
-spawn ./lus2lic -o /tmp/followed_by.lic should_work/followed_by.lus
-PASS: ./lus2lic {-o /tmp/followed_by.lic should_work/followed_by.lus}
-spawn ./lus2lic -ec -o /tmp/followed_by.ec should_work/followed_by.lus
-PASS: ./lus2lic {-ec -o /tmp/followed_by.ec should_work/followed_by.lus}
-spawn ./myec2c -o /tmp/followed_by.c /tmp/followed_by.ec
-PASS: ./myec2c {-o /tmp/followed_by.c /tmp/followed_by.ec}
+spawn ./lus2lic -2c should_work/Gyroscope.lus -n Gyroscope
+Gyroscope_Gyroscope_loop.c has been generated.
+Gyroscope_Gyroscope.h has been generated.
+Gyroscope_Gyroscope.c has been generated.
+you can compile those files doing, e.g.,
+  gcc Gyroscope_Gyroscope.c Gyroscope_Gyroscope_loop.c
+PASS: ./lus2lic {-2c should_work/Gyroscope.lus -n Gyroscope}
+spawn rm -f a.out
+spawn gcc Gyroscope_Gyroscope.c Gyroscope_Gyroscope_loop.c
+PASS: gcc Gyroscope_Gyroscope.c Gyroscope_Gyroscope_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/Gyroscope.lus
++ ./lus2lic should_work/Gyroscope.lus -n Gyroscope --gen-autotest -np
+_Gyroscope_env.lut generated.
+_Gyroscope_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/Gyroscope.lus
++ ./lus2lic should_work/Gyroscope.lus -n Gyroscope -2c -cc
+Gyroscope_Gyroscope_loop.c has been generated.
+Gyroscope_Gyroscope.h has been generated.
+Gyroscope_Gyroscope.c has been generated.
+sys call: 'gcc Gyroscope_Gyroscope.c Gyroscope_Gyroscope_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_Gyroscope_env.lut -rp oracle:v6:_Gyroscope_oracle.lus:Gyroscope_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/Gyroscope.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/Gyroscope.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/Gyroscope.lus
+spawn ./lus2lic -o ./tmp/test_map.lic should_work/test_map.lus
+PASS: ./lus2lic {-o ./tmp/test_map.lic should_work/test_map.lus}
+spawn ./lus2lic -ec -o ./tmp/test_map.ec should_work/test_map.lus
+PASS: ./lus2lic {-ec -o ./tmp/test_map.ec should_work/test_map.lus}
+spawn ./myec2c -o ./tmp/test_map.c ./tmp/test_map.ec
+PASS: ./myec2c {-o ./tmp/test_map.c ./tmp/test_map.ec}
+spawn ../utils/test_lus2lic_no_node should_work/test_map.lus
++ ./lus2lic should_work/test_map.lus -n test_map --gen-autotest -np
+_test_map_env.lut generated.
+_test_map_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/test_map.lus
++ ./lus2lic should_work/test_map.lus -n test_map -ec -o test_map.ec
++ echo lus2lic -ec done
+lus2lic -ec done
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:ec:test_map.ec:test_map -rp env:lutin:_test_map_env.lut -rp oracle:v6:_test_map_oracle.lus:test_map_oracle -go -l 10 -ns2c --stop-on-oracle-error
+RP Variables are compatible.
+quit
+
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/test_lus2lic_no_node should_work/test_map.lus
+spawn ./lus2lic -2c should_work/test_map.lus -n test_map
+test_map_test_map_loop.c has been generated.
+test_map_test_map.h has been generated.
+test_map_test_map.c has been generated.
+you can compile those files doing, e.g.,
+  gcc test_map_test_map.c test_map_test_map_loop.c
+PASS: ./lus2lic {-2c should_work/test_map.lus -n test_map}
+spawn rm -f a.out
+spawn gcc test_map_test_map.c test_map_test_map_loop.c
+PASS: gcc test_map_test_map.c test_map_test_map_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/test_map.lus
++ ./lus2lic should_work/test_map.lus -n test_map --gen-autotest -np
+_test_map_env.lut generated.
+_test_map_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/test_map.lus
++ ./lus2lic should_work/test_map.lus -n test_map -2c -cc
+test_map_test_map_loop.c has been generated.
+test_map_test_map.h has been generated.
+test_map_test_map.c has been generated.
+sys call: 'gcc test_map_test_map.c test_map_test_map_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_test_map_env.lut -rp oracle:v6:_test_map_oracle.lus:test_map_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/test_map.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/test_map.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/test_map.lus
+spawn ./lus2lic -o ./tmp/followed_by.lic should_work/followed_by.lus
+PASS: ./lus2lic {-o ./tmp/followed_by.lic should_work/followed_by.lus}
+spawn ./lus2lic -ec -o ./tmp/followed_by.ec should_work/followed_by.lus
+PASS: ./lus2lic {-ec -o ./tmp/followed_by.ec should_work/followed_by.lus}
+spawn ./myec2c -o ./tmp/followed_by.c ./tmp/followed_by.ec
+PASS: ./myec2c {-o ./tmp/followed_by.c ./tmp/followed_by.ec}
 spawn ../utils/test_lus2lic_no_node should_work/followed_by.lus
 + ./lus2lic should_work/followed_by.lus -n followed_by --gen-autotest -np
 _followed_by_env.lut generated.
@@ -5324,7 +12622,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -5333,32 +12631,74 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/followed_by.lus
-spawn ./lus2lic -o /tmp/asservi.lic should_work/asservi.lus
-PASS: ./lus2lic {-o /tmp/asservi.lic should_work/asservi.lus}
-spawn ./lus2lic -ec -o /tmp/asservi.ec should_work/asservi.lus
-PASS: ./lus2lic {-ec -o /tmp/asservi.ec should_work/asservi.lus}
-spawn ./myec2c -o /tmp/asservi.c /tmp/asservi.ec
-PASS: ./myec2c {-o /tmp/asservi.c /tmp/asservi.ec}
-spawn ../utils/test_lus2lic_no_node should_work/asservi.lus
-+ ./lus2lic should_work/asservi.lus -n asservi --gen-autotest -np
-*** The soc of asservi::make_pend is not defined. FINISH ME! 
-Extern node not yet supported, sorry
+spawn ./lus2lic -2c should_work/followed_by.lus -n followed_by
+followed_by_followed_by_loop.c has been generated.
+followed_by_followed_by.h has been generated.
+followed_by_followed_by.c has been generated.
+you can compile those files doing, e.g.,
+  gcc followed_by_followed_by.c followed_by_followed_by_loop.c
+PASS: ./lus2lic {-2c should_work/followed_by.lus -n followed_by}
+spawn rm -f a.out
+spawn gcc followed_by_followed_by.c followed_by_followed_by_loop.c
+PASS: gcc followed_by_followed_by.c followed_by_followed_by_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/followed_by.lus
++ ./lus2lic should_work/followed_by.lus -n followed_by --gen-autotest -np
+_followed_by_env.lut generated.
+_followed_by_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/followed_by.lus
++ ./lus2lic should_work/followed_by.lus -n followed_by -2c -cc
+followed_by_followed_by_loop.c has been generated.
+followed_by_followed_by.h has been generated.
+followed_by_followed_by.c has been generated.
+sys call: 'gcc followed_by_followed_by.c followed_by_followed_by_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_followed_by_env.lut -rp oracle:v6:_followed_by_oracle.lus:followed_by_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
 
-*** oops: lus2lic internal error
-	File "src/lic2soc.ml", line 898, column 14
-*** when compiling lustre program should_work/asservi.lus
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
 
-*** You migth want to sent a bug report to jahier@imag.fr
-+ echo Error
-Error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/asservi.lus
-spawn ./lus2lic -o /tmp/rediter.lic should_work/rediter.lus
-PASS: ./lus2lic {-o /tmp/rediter.lic should_work/rediter.lus}
-spawn ./lus2lic -ec -o /tmp/rediter.ec should_work/rediter.lus
-PASS: ./lus2lic {-ec -o /tmp/rediter.ec should_work/rediter.lus}
-spawn ./myec2c -o /tmp/rediter.c /tmp/rediter.ec
-PASS: ./myec2c {-o /tmp/rediter.c /tmp/rediter.ec}
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/followed_by.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/followed_by.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/followed_by.lus
+spawn ./lus2lic -o ./tmp/asservi.lic should_work/asservi.lus
+PASS: ./lus2lic {-o ./tmp/asservi.lic should_work/asservi.lus}
+spawn ./lus2lic -ec -o ./tmp/asservi.ec should_work/asservi.lus
+PASS: ./lus2lic {-ec -o ./tmp/asservi.ec should_work/asservi.lus}
+spawn ./myec2c -o ./tmp/asservi.c ./tmp/asservi.ec
+PASS: ./myec2c {-o ./tmp/asservi.c ./tmp/asservi.ec}
+spawn ./lus2lic -2c should_work/asservi.lus -n asservi
+Error. A combinational cycle been detected in file "/home/jahier/lus2lic/test/should_work/asservi.lus", line 29, col 5 to 8, token 'PEND' on 
+  v00 = asservi::sin(teta)
+  teta = asservi::I21(v06)
+  v06 = Lustre::slash(v05, 2.0)
+  v05 = Lustre::minus(v02, v04)
+  v02 = Lustre::times(v00, v01)
+  v00 = asservi::sin(teta)
+
+Hint: try to use --expand-nodes.
+
+FAIL: Generate c code  : ./lus2lic {-2c should_work/asservi.lus -n asservi}
+spawn ./lus2lic -o ./tmp/rediter.lic should_work/rediter.lus
+PASS: ./lus2lic {-o ./tmp/rediter.lic should_work/rediter.lus}
+spawn ./lus2lic -ec -o ./tmp/rediter.ec should_work/rediter.lus
+PASS: ./lus2lic {-ec -o ./tmp/rediter.ec should_work/rediter.lus}
+spawn ./myec2c -o ./tmp/rediter.c ./tmp/rediter.ec
+PASS: ./myec2c {-o ./tmp/rediter.c ./tmp/rediter.ec}
 spawn ../utils/test_lus2lic_no_node should_work/rediter.lus
 + ./lus2lic should_work/rediter.lus -n rediter --gen-autotest -np
 _rediter_env.lut generated.
@@ -5375,7 +12715,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -5384,12 +12724,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/rediter.lus
-spawn ./lus2lic -o /tmp/mapdeRed.lic should_work/mapdeRed.lus
-PASS: ./lus2lic {-o /tmp/mapdeRed.lic should_work/mapdeRed.lus}
-spawn ./lus2lic -ec -o /tmp/mapdeRed.ec should_work/mapdeRed.lus
-PASS: ./lus2lic {-ec -o /tmp/mapdeRed.ec should_work/mapdeRed.lus}
-spawn ./myec2c -o /tmp/mapdeRed.c /tmp/mapdeRed.ec
-PASS: ./myec2c {-o /tmp/mapdeRed.c /tmp/mapdeRed.ec}
+spawn ./lus2lic -2c should_work/rediter.lus -n rediter
+rediter_rediter_loop.c has been generated.
+rediter_rediter.h has been generated.
+rediter_rediter.c has been generated.
+you can compile those files doing, e.g.,
+  gcc rediter_rediter.c rediter_rediter_loop.c
+PASS: ./lus2lic {-2c should_work/rediter.lus -n rediter}
+spawn rm -f a.out
+spawn gcc rediter_rediter.c rediter_rediter_loop.c
+PASS: gcc rediter_rediter.c rediter_rediter_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/rediter.lus
++ ./lus2lic should_work/rediter.lus -n rediter --gen-autotest -np
+_rediter_env.lut generated.
+_rediter_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/rediter.lus
++ ./lus2lic should_work/rediter.lus -n rediter -2c -cc
+rediter_rediter_loop.c has been generated.
+rediter_rediter.h has been generated.
+rediter_rediter.c has been generated.
+sys call: 'gcc rediter_rediter.c rediter_rediter_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_rediter_env.lut -rp oracle:v6:_rediter_oracle.lus:rediter_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/rediter.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/rediter.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/rediter.lus
+spawn ./lus2lic -o ./tmp/mapdeRed.lic should_work/mapdeRed.lus
+PASS: ./lus2lic {-o ./tmp/mapdeRed.lic should_work/mapdeRed.lus}
+spawn ./lus2lic -ec -o ./tmp/mapdeRed.ec should_work/mapdeRed.lus
+PASS: ./lus2lic {-ec -o ./tmp/mapdeRed.ec should_work/mapdeRed.lus}
+spawn ./myec2c -o ./tmp/mapdeRed.c ./tmp/mapdeRed.ec
+PASS: ./myec2c {-o ./tmp/mapdeRed.c ./tmp/mapdeRed.ec}
 spawn ../utils/test_lus2lic_no_node should_work/mapdeRed.lus
 + ./lus2lic should_work/mapdeRed.lus -n mapdeRed --gen-autotest -np
 _mapdeRed_env.lut generated.
@@ -5406,7 +12790,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -5415,29 +12799,69 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/mapdeRed.lus
-spawn ./lus2lic -o /tmp/modelInst.lic should_work/modelInst.lus
-PASS: ./lus2lic {-o /tmp/modelInst.lic should_work/modelInst.lus}
-spawn ./lus2lic -ec -o /tmp/modelInst.ec should_work/modelInst.lus
-PASS: ./lus2lic {-ec -o /tmp/modelInst.ec should_work/modelInst.lus}
-spawn ./myec2c -o /tmp/modelInst.c /tmp/modelInst.ec
-PASS: ./myec2c {-o /tmp/modelInst.c /tmp/modelInst.ec}
-spawn ../utils/test_lus2lic_no_node should_work/modelInst.lus
-+ ./lus2lic should_work/modelInst.lus -n modelInst --gen-autotest -np
+spawn ./lus2lic -2c should_work/mapdeRed.lus -n mapdeRed
+mapdeRed_mapdeRed_loop.c has been generated.
+mapdeRed_mapdeRed.h has been generated.
+mapdeRed_mapdeRed.c has been generated.
+you can compile those files doing, e.g.,
+  gcc mapdeRed_mapdeRed.c mapdeRed_mapdeRed_loop.c
+PASS: ./lus2lic {-2c should_work/mapdeRed.lus -n mapdeRed}
+spawn rm -f a.out
+spawn gcc mapdeRed_mapdeRed.c mapdeRed_mapdeRed_loop.c
+PASS: gcc mapdeRed_mapdeRed.c mapdeRed_mapdeRed_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/mapdeRed.lus
++ ./lus2lic should_work/mapdeRed.lus -n mapdeRed --gen-autotest -np
+_mapdeRed_env.lut generated.
+_mapdeRed_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/mapdeRed.lus
++ ./lus2lic should_work/mapdeRed.lus -n mapdeRed -2c -cc
+mapdeRed_mapdeRed_loop.c has been generated.
+mapdeRed_mapdeRed.h has been generated.
+mapdeRed_mapdeRed.c has been generated.
+sys call: 'gcc mapdeRed_mapdeRed.c mapdeRed_mapdeRed_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p+  6./call-via-socket -seed 42 -server -rp -addr sut:socket:127.0.0.1:2001 127.0.0.1 -rp -port env:lutin:_mapdeRed_env.lut 2001 -rp ./a.out oracle:v6:_mapdeRed_oracle.lus:mapdeRed_oracle
+ -go -l 10 -ns2c --stop-on-oracle-error
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/mapdeRed.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/mapdeRed.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/mapdeRed.lus
+spawn ./lus2lic -o ./tmp/modelInst.lic should_work/modelInst.lus
+PASS: ./lus2lic {-o ./tmp/modelInst.lic should_work/modelInst.lus}
+spawn ./lus2lic -ec -o ./tmp/modelInst.ec should_work/modelInst.lus
+PASS: ./lus2lic {-ec -o ./tmp/modelInst.ec should_work/modelInst.lus}
+spawn ./myec2c -o ./tmp/modelInst.c ./tmp/modelInst.ec
+PASS: ./myec2c {-o ./tmp/modelInst.c ./tmp/modelInst.ec}
+spawn ./lus2lic -2c should_work/modelInst.lus -n modelInst
 *** Can not find package 'modelInst' in the following packages: 
 ***	 'Preal'
 ***	 'Pint'
 ***	 'main'
 ***	 'Pbool'
-+ echo Error
-Error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/modelInst.lus
-spawn ./lus2lic -o /tmp/dependeur_struct.lic should_work/dependeur_struct.lus
-PASS: ./lus2lic {-o /tmp/dependeur_struct.lic should_work/dependeur_struct.lus}
-spawn ./lus2lic -ec -o /tmp/dependeur_struct.ec should_work/dependeur_struct.lus
-PASS: ./lus2lic {-ec -o /tmp/dependeur_struct.ec should_work/dependeur_struct.lus}
-spawn ./myec2c -o /tmp/dependeur_struct.c /tmp/dependeur_struct.ec
-PASS: ./myec2c {-o /tmp/dependeur_struct.c /tmp/dependeur_struct.ec}
+PASS: ./lus2lic {-2c should_work/modelInst.lus -n modelInst}
+spawn ./lus2lic -o ./tmp/dependeur_struct.lic should_work/dependeur_struct.lus
+PASS: ./lus2lic {-o ./tmp/dependeur_struct.lic should_work/dependeur_struct.lus}
+spawn ./lus2lic -ec -o ./tmp/dependeur_struct.ec should_work/dependeur_struct.lus
+PASS: ./lus2lic {-ec -o ./tmp/dependeur_struct.ec should_work/dependeur_struct.lus}
+spawn ./myec2c -o ./tmp/dependeur_struct.c ./tmp/dependeur_struct.ec
+PASS: ./myec2c {-o ./tmp/dependeur_struct.c ./tmp/dependeur_struct.ec}
 spawn ../utils/test_lus2lic_no_node should_work/dependeur_struct.lus
 + ./lus2lic should_work/dependeur_struct.lus -n dependeur_struct --gen-autotest -np
 _dependeur_struct_env.lut generated.
@@ -5454,7 +12878,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -5463,12 +12887,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/dependeur_struct.lus
-spawn ./lus2lic -o /tmp/minmax4_bis.lic should_work/minmax4_bis.lus
-PASS: ./lus2lic {-o /tmp/minmax4_bis.lic should_work/minmax4_bis.lus}
-spawn ./lus2lic -ec -o /tmp/minmax4_bis.ec should_work/minmax4_bis.lus
-PASS: ./lus2lic {-ec -o /tmp/minmax4_bis.ec should_work/minmax4_bis.lus}
-spawn ./myec2c -o /tmp/minmax4_bis.c /tmp/minmax4_bis.ec
-PASS: ./myec2c {-o /tmp/minmax4_bis.c /tmp/minmax4_bis.ec}
+spawn ./lus2lic -2c should_work/dependeur_struct.lus -n dependeur_struct
+dependeur_struct_dependeur_struct_loop.c has been generated.
+dependeur_struct_dependeur_struct.h has been generated.
+dependeur_struct_dependeur_struct.c has been generated.
+you can compile those files doing, e.g.,
+  gcc dependeur_struct_dependeur_struct.c dependeur_struct_dependeur_struct_loop.c
+PASS: ./lus2lic {-2c should_work/dependeur_struct.lus -n dependeur_struct}
+spawn rm -f a.out
+spawn 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 
+spawn ../utils/compare_exec_and_2c should_work/dependeur_struct.lus
++ ./lus2lic should_work/dependeur_struct.lus -n dependeur_struct --gen-autotest -np
+_dependeur_struct_env.lut generated.
+_dependeur_struct_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/dependeur_struct.lus
++ ./lus2lic should_work/dependeur_struct.lus -n dependeur_struct -2c -cc
+dependeur_struct_dependeur_struct_loop.c has been generated.
+dependeur_struct_dependeur_struct.h has been generated.
+dependeur_struct_dependeur_struct.c has been generated.
+sys call: 'gcc dependeur_struct_dependeur_struct.c dependeur_struct_dependeur_struct_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_dependeur_struct_env.lut -rp oracle:v6:_dependeur_struct_oracle.lus:dependeur_struct_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/dependeur_struct.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/dependeur_struct.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/dependeur_struct.lus
+spawn ./lus2lic -o ./tmp/minmax4_bis.lic should_work/minmax4_bis.lus
+PASS: ./lus2lic {-o ./tmp/minmax4_bis.lic should_work/minmax4_bis.lus}
+spawn ./lus2lic -ec -o ./tmp/minmax4_bis.ec should_work/minmax4_bis.lus
+PASS: ./lus2lic {-ec -o ./tmp/minmax4_bis.ec should_work/minmax4_bis.lus}
+spawn ./myec2c -o ./tmp/minmax4_bis.c ./tmp/minmax4_bis.ec
+PASS: ./myec2c {-o ./tmp/minmax4_bis.c ./tmp/minmax4_bis.ec}
 spawn ../utils/test_lus2lic_no_node should_work/minmax4_bis.lus
 + ./lus2lic should_work/minmax4_bis.lus -n minmax4_bis --gen-autotest -np
 _minmax4_bis_env.lut generated.
@@ -5480,26 +12948,70 @@ lus2lic --gen-autotest done
 + echo lus2lic -ec done
 lus2lic -ec done
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:minmax4_bis.ec:minmax4_bis -rp env:lutin:_minmax4_bis_env.lut -rp oracle:v6:_minmax4_bis_oracle.lus:minmax4_bis_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./lurettetop -p 6 -seed 42 -rp sut:ec:minmax4_bis.ec:minmax4_bis -rp env:lutin:_minmax4_bis_env.lut -rp oracle:v6:_minmax4_bis_oracle.lus:minmax4_bis_oracle -go -l 10 -ns2c --stop-on-oracle-error
+RP Variables are compatible.
+quit
+
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/test_lus2lic_no_node should_work/minmax4_bis.lus
+spawn ./lus2lic -2c should_work/minmax4_bis.lus -n minmax4_bis
+minmax4_bis_minmax4_bis_loop.c has been generated.
+minmax4_bis_minmax4_bis.h has been generated.
+minmax4_bis_minmax4_bis.c has been generated.
+you can compile those files doing, e.g.,
+  gcc minmax4_bis_minmax4_bis.c minmax4_bis_minmax4_bis_loop.c
+PASS: ./lus2lic {-2c should_work/minmax4_bis.lus -n minmax4_bis}
+spawn rm -f a.out
+spawn gcc minmax4_bis_minmax4_bis.c minmax4_bis_minmax4_bis_loop.c
+PASS: gcc minmax4_bis_minmax4_bis.c minmax4_bis_minmax4_bis_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/minmax4_bis.lus
++ ./lus2lic should_work/minmax4_bis.lus -n minmax4_bis --gen-autotest -np
+_minmax4_bis_env.lut generated.
+_minmax4_bis_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/minmax4_bis.lus
++ ./lus2lic should_work/minmax4_bis.lus -n minmax4_bis -2c -cc
+minmax4_bis_minmax4_bis_loop.c has been generated.
+minmax4_bis_minmax4_bis.h has been generated.
+minmax4_bis_minmax4_bis.c has been generated.
+sys call: 'gcc minmax4_bis_minmax4_bis.c minmax4_bis_minmax4_bis_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_minmax4_bis_env.lut -rp oracle:v6:_minmax4_bis_oracle.lus:minmax4_bis_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
 RP Variables are compatible.
-quit
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
 
-
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/minmax4_bis.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/minmax4_bis.lus: ok
 + echo lurettetop ok
 lurettetop ok
 + exit 0
-PASS: ../utils/test_lus2lic_no_node should_work/minmax4_bis.lus
-spawn ./lus2lic -o /tmp/test_struct.lic should_work/test_struct.lus
-PASS: ./lus2lic {-o /tmp/test_struct.lic should_work/test_struct.lus}
-spawn ./lus2lic -ec -o /tmp/test_struct.ec should_work/test_struct.lus
-PASS: ./lus2lic {-ec -o /tmp/test_struct.ec should_work/test_struct.lus}
-spawn ./myec2c -o /tmp/test_struct.c /tmp/test_struct.ec
-PASS: ./myec2c {-o /tmp/test_struct.c /tmp/test_struct.ec}
+PASS: ../utils/compare_exec_and_2c should_work/minmax4_bis.lus
+spawn ./lus2lic -o ./tmp/test_struct.lic should_work/test_struct.lus
+PASS: ./lus2lic {-o ./tmp/test_struct.lic should_work/test_struct.lus}
+spawn ./lus2lic -ec -o ./tmp/test_struct.ec should_work/test_struct.lus
+PASS: ./lus2lic {-ec -o ./tmp/test_struct.ec should_work/test_struct.lus}
+spawn ./myec2c -o ./tmp/test_struct.c ./tmp/test_struct.ec
+PASS: ./myec2c {-o ./tmp/test_struct.c ./tmp/test_struct.ec}
 spawn ../utils/test_lus2lic_no_node should_work/test_struct.lus
 + ./lus2lic should_work/test_struct.lus -n test_struct --gen-autotest -np
 _test_struct_env.lut generated.
@@ -5516,7 +13028,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -5525,12 +13037,76 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/test_struct.lus
-spawn ./lus2lic -o /tmp/uu.lic should_work/uu.lus
-PASS: ./lus2lic {-o /tmp/uu.lic should_work/uu.lus}
-spawn ./lus2lic -ec -o /tmp/uu.ec should_work/uu.lus
-PASS: ./lus2lic {-ec -o /tmp/uu.ec should_work/uu.lus}
-spawn ./myec2c -o /tmp/uu.c /tmp/uu.ec
-PASS: ./myec2c {-o /tmp/uu.c /tmp/uu.ec}
+spawn ./lus2lic -2c should_work/test_struct.lus -n test_struct
+test_struct_test_struct_loop.c has been generated.
+test_struct_test_struct.h has been generated.
+test_struct_test_struct.c has been generated.
+you can compile those files doing, e.g.,
+  gcc test_struct_test_struct.c test_struct_test_struct_loop.c
+PASS: ./lus2lic {-2c should_work/test_struct.lus -n test_struct}
+spawn rm -f a.out
+spawn gcc test_struct_test_struct.c test_struct_test_struct_loop.c
+PASS: gcc test_struct_test_struct.c test_struct_test_struct_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/test_struct.lus
++ ./lus2lic should_work/test_struct.lus -n test_struct --gen-autotest -np
+_test_struct_env.lut generated.
+_test_struct_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/test_struct.lus
++ ./lus2lic should_work/test_struct.lus -n test_struct -2c -cc
+test_struct_test_struct_loop.c has been generated.
+test_struct_test_struct.h has been generated.
+test_struct_test_struct.c has been generated.
+sys call: 'gcc test_struct_test_struct.c test_struct_test_struct_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_test_struct_env.lut -rp oracle:v6:_test_struct_oracle.lus:test_struct_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/test_struct.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/test_struct.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/test_struct.lus
+spawn ./lus2lic -o ./tmp/modes3x2_v4.lic should_work/modes3x2_v4.lus
+PASS: ./lus2lic {-o ./tmp/modes3x2_v4.lic should_work/modes3x2_v4.lus}
+spawn ./lus2lic -ec -o ./tmp/modes3x2_v4.ec should_work/modes3x2_v4.lus
+PASS: ./lus2lic {-ec -o ./tmp/modes3x2_v4.ec should_work/modes3x2_v4.lus}
+spawn ./myec2c -o ./tmp/modes3x2_v4.c ./tmp/modes3x2_v4.ec
+syntax error     - at line 15
+syntax errors...
+FAIL: Try ec2c on the result: ./myec2c {-o ./tmp/modes3x2_v4.c ./tmp/modes3x2_v4.ec}
+spawn ./lus2lic -2c should_work/modes3x2_v4.lus -n modes3x2_v4
+modes3x2_v4_modes3x2_v4_ext.h has been generated.
+modes3x2_v4_modes3x2_v4_ext.c has been generated.
+modes3x2_v4_modes3x2_v4_loop.c has been generated.
+modes3x2_v4_modes3x2_v4.h has been generated.
+modes3x2_v4_modes3x2_v4.c has been generated.
+you can compile those files doing, e.g.,
+   gcc modes3x2_v4_modes3x2_v4.c modes3x2_v4_modes3x2_v4_ext.c modes3x2_v4_modes3x2_v4_loop.c
+PASS: ./lus2lic {-2c should_work/modes3x2_v4.lus -n modes3x2_v4}
+spawn rm -f a.out
+spawn gcc modes3x2_v4_modes3x2_v4.c modes3x2_v4_modes3x2_v4_ext.c modes3x2_v4_modes3x2_v4_loop.c
+PASS: gcc modes3x2_v4_modes3x2_v4.c modes3x2_v4_modes3x2_v4_ext.c modes3x2_v4_modes3x2_v4_loop.c 
+spawn ./lus2lic -o ./tmp/uu.lic should_work/uu.lus
+PASS: ./lus2lic {-o ./tmp/uu.lic should_work/uu.lus}
+spawn ./lus2lic -ec -o ./tmp/uu.ec should_work/uu.lus
+PASS: ./lus2lic {-ec -o ./tmp/uu.ec should_work/uu.lus}
+spawn ./myec2c -o ./tmp/uu.c ./tmp/uu.ec
+PASS: ./myec2c {-o ./tmp/uu.c ./tmp/uu.ec}
 spawn ../utils/test_lus2lic_no_node should_work/uu.lus
 + ./lus2lic should_work/uu.lus -n uu --gen-autotest -np
 _uu_env.lut generated.
@@ -5547,7 +13123,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -5556,12 +13132,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/uu.lus
-spawn ./lus2lic -o /tmp/simpleRed.lic should_work/simpleRed.lus
-PASS: ./lus2lic {-o /tmp/simpleRed.lic should_work/simpleRed.lus}
-spawn ./lus2lic -ec -o /tmp/simpleRed.ec should_work/simpleRed.lus
-PASS: ./lus2lic {-ec -o /tmp/simpleRed.ec should_work/simpleRed.lus}
-spawn ./myec2c -o /tmp/simpleRed.c /tmp/simpleRed.ec
-PASS: ./myec2c {-o /tmp/simpleRed.c /tmp/simpleRed.ec}
+spawn ./lus2lic -2c should_work/uu.lus -n uu
+uu_uu_loop.c has been generated.
+uu_uu.h has been generated.
+uu_uu.c has been generated.
+you can compile those files doing, e.g.,
+  gcc uu_uu.c uu_uu_loop.c
+PASS: ./lus2lic {-2c should_work/uu.lus -n uu}
+spawn rm -f a.out
+spawn gcc uu_uu.c uu_uu_loop.c
+PASS: gcc uu_uu.c uu_uu_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/uu.lus
++ ./lus2lic should_work/uu.lus -n uu --gen-autotest -np
+_uu_env.lut generated.
+_uu_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/uu.lus
++ ./lus2lic should_work/uu.lus -n uu -2c -cc
+uu_uu_loop.c has been generated.
+uu_uu.h has been generated.
+uu_uu.c has been generated.
+sys call: 'gcc uu_uu.c uu_uu_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_uu_env.lut -rp oracle:v6:_uu_oracle.lus:uu_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/uu.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/uu.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/uu.lus
+spawn ./lus2lic -o ./tmp/simpleRed.lic should_work/simpleRed.lus
+PASS: ./lus2lic {-o ./tmp/simpleRed.lic should_work/simpleRed.lus}
+spawn ./lus2lic -ec -o ./tmp/simpleRed.ec should_work/simpleRed.lus
+PASS: ./lus2lic {-ec -o ./tmp/simpleRed.ec should_work/simpleRed.lus}
+spawn ./myec2c -o ./tmp/simpleRed.c ./tmp/simpleRed.ec
+PASS: ./myec2c {-o ./tmp/simpleRed.c ./tmp/simpleRed.ec}
 spawn ../utils/test_lus2lic_no_node should_work/simpleRed.lus
 + ./lus2lic should_work/simpleRed.lus -n simpleRed --gen-autotest -np
 _simpleRed_env.lut generated.
@@ -5578,7 +13198,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -5587,40 +13207,108 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/simpleRed.lus
-spawn ./lus2lic -o /tmp/map.lic should_work/map.lus
-PASS: ./lus2lic {-o /tmp/map.lic should_work/map.lus}
-spawn ./lus2lic -ec -o /tmp/map.ec should_work/map.lus
-PASS: ./lus2lic {-ec -o /tmp/map.ec should_work/map.lus}
-spawn ./myec2c -o /tmp/map.c /tmp/map.ec
-PASS: ./myec2c {-o /tmp/map.c /tmp/map.ec}
-spawn ../utils/test_lus2lic_no_node should_work/map.lus
-+ ./lus2lic should_work/map.lus -n map --gen-autotest -np
-_map_env.lut generated.
-_map_oracle.lus generated.
+spawn ./lus2lic -2c should_work/simpleRed.lus -n simpleRed
+simpleRed_simpleRed_loop.c has been generated.
+simpleRed_simpleRed.h has been generated.
+simpleRed_simpleRed.c has been generated.
+you can compile those files doing, e.g.,
+  gcc simpleRed_simpleRed.c simpleRed_simpleRed_loop.c
+PASS: ./lus2lic {-2c should_work/simpleRed.lus -n simpleRed}
+spawn rm -f a.out
+spawn gcc simpleRed_simpleRed.c simpleRed_simpleRed_loop.c
+PASS: gcc simpleRed_simpleRed.c simpleRed_simpleRed_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/simpleRed.lus
++ ./lus2lic should_work/simpleRed.lus -n simpleRed --gen-autotest -np
+_simpleRed_env.lut generated.
+_simpleRed_oracle.lus generated.
 + echo lus2lic --gen-autotest done
 lus2lic --gen-autotest done
-+ cat should_work/map.lus
-+ ./lus2lic should_work/map.lus -n map -ec -o map.ec
-+ echo lus2lic -ec done
-lus2lic -ec done
++ cat should_work/simpleRed.lus
++ ./lus2lic should_work/simpleRed.lus -n simpleRed -2c -cc
+simpleRed_simpleRed_loop.c has been generated.
+simpleRed_simpleRed.h has been generated.
+simpleRed_simpleRed.c has been generated.
+sys call: 'gcc simpleRed_simpleRed.c simpleRed_simpleRed_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:map.ec:map -rp env:lutin:_map_env.lut -rp oracle:v6:_map_oracle.lus:map_oracle -go -l 10 -ns2c --stop-on-oracle-error
-Error in lurette: Lv6errors.Compile_error(_, "*** an integer and a node are expected.\n")
-Lurette launched a process that failed (exit 2).
- 
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_simpleRed_env.lut -rp oracle:v6:_simpleRed_oracle.lus:simpleRed_oracle -go+  -l 10 -ns2c --stop-on-oracle-error
+./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
-+ echo error
-error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/map.lus
-spawn ./lus2lic -o /tmp/pre_x.lic should_work/pre_x.lus
-PASS: ./lus2lic {-o /tmp/pre_x.lic should_work/pre_x.lus}
-spawn ./lus2lic -ec -o /tmp/pre_x.ec should_work/pre_x.lus
-PASS: ./lus2lic {-ec -o /tmp/pre_x.ec should_work/pre_x.lus}
-spawn ./myec2c -o /tmp/pre_x.c /tmp/pre_x.ec
-PASS: ./myec2c {-o /tmp/pre_x.c /tmp/pre_x.ec}
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/simpleRed.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/simpleRed.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/simpleRed.lus
+spawn ./lus2lic -o ./tmp/modes3x2_v3.lic should_work/modes3x2_v3.lus
+PASS: ./lus2lic {-o ./tmp/modes3x2_v3.lic should_work/modes3x2_v3.lus}
+spawn ./lus2lic -ec -o ./tmp/modes3x2_v3.ec should_work/modes3x2_v3.lus
+PASS: ./lus2lic {-ec -o ./tmp/modes3x2_v3.ec should_work/modes3x2_v3.lus}
+spawn ./myec2c -o ./tmp/modes3x2_v3.c ./tmp/modes3x2_v3.ec
+syntax error     - at line 10
+syntax errors...
+FAIL: Try ec2c on the result: ./myec2c {-o ./tmp/modes3x2_v3.c ./tmp/modes3x2_v3.ec}
+spawn ./lus2lic -2c should_work/modes3x2_v3.lus -n modes3x2_v3
+modes3x2_v3_modes3x2_v3_loop.c has been generated.
+modes3x2_v3_modes3x2_v3.h has been generated.
+modes3x2_v3_modes3x2_v3.c has been generated.
+you can compile those files doing, e.g.,
+  gcc modes3x2_v3_modes3x2_v3.c modes3x2_v3_modes3x2_v3_loop.c
+PASS: ./lus2lic {-2c should_work/modes3x2_v3.lus -n modes3x2_v3}
+spawn rm -f a.out
+spawn gcc modes3x2_v3_modes3x2_v3.c modes3x2_v3_modes3x2_v3_loop.c
+PASS: gcc modes3x2_v3_modes3x2_v3.c modes3x2_v3_modes3x2_v3_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/modes3x2_v3.lus
++ ./lus2lic should_work/modes3x2_v3.lus -n modes3x2_v3 --gen-autotest -np
+_modes3x2_v3_env.lut generated.
+_modes3x2_v3_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/modes3x2_v3.lus
++ ./lus2lic should_work/modes3x2_v3.lus -n modes3x2_v3 -2c -cc
+modes3x2_v3_modes3x2_v3_loop.c has been generated.
+modes3x2_v3_modes3x2_v3.h has been generated.
+modes3x2_v3_modes3x2_v3.c has been generated.
+sys call: 'gcc modes3x2_v3_modes3x2_v3.c modes3x2_v3_modes3x2_v3_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_modes3x2_v3_env.lut -rp oracle:v6:_modes3x2_v3_oracle.lus:modes3x2_v3_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/modes3x2_v3.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/modes3x2_v3.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/modes3x2_v3.lus
+spawn ./lus2lic -o ./tmp/pre_x.lic should_work/pre_x.lus
+PASS: ./lus2lic {-o ./tmp/pre_x.lic should_work/pre_x.lus}
+spawn ./lus2lic -ec -o ./tmp/pre_x.ec should_work/pre_x.lus
+PASS: ./lus2lic {-ec -o ./tmp/pre_x.ec should_work/pre_x.lus}
+spawn ./myec2c -o ./tmp/pre_x.c ./tmp/pre_x.ec
+PASS: ./myec2c {-o ./tmp/pre_x.c ./tmp/pre_x.ec}
 spawn ../utils/test_lus2lic_no_node should_work/pre_x.lus
 + ./lus2lic should_work/pre_x.lus -n pre_x --gen-autotest -np
 _pre_x_env.lut generated.
@@ -5637,7 +13325,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -5646,12 +13334,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/pre_x.lus
-spawn ./lus2lic -o /tmp/ts01.lic should_work/ts01.lus
-PASS: ./lus2lic {-o /tmp/ts01.lic should_work/ts01.lus}
-spawn ./lus2lic -ec -o /tmp/ts01.ec should_work/ts01.lus
-PASS: ./lus2lic {-ec -o /tmp/ts01.ec should_work/ts01.lus}
-spawn ./myec2c -o /tmp/ts01.c /tmp/ts01.ec
-PASS: ./myec2c {-o /tmp/ts01.c /tmp/ts01.ec}
+spawn ./lus2lic -2c should_work/pre_x.lus -n pre_x
+pre_x_pre_x_loop.c has been generated.
+pre_x_pre_x.h has been generated.
+pre_x_pre_x.c has been generated.
+you can compile those files doing, e.g.,
+  gcc pre_x_pre_x.c pre_x_pre_x_loop.c
+PASS: ./lus2lic {-2c should_work/pre_x.lus -n pre_x}
+spawn rm -f a.out
+spawn gcc pre_x_pre_x.c pre_x_pre_x_loop.c
+PASS: gcc pre_x_pre_x.c pre_x_pre_x_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/pre_x.lus
++ ./lus2lic should_work/pre_x.lus -n pre_x --gen-autotest -np
+_pre_x_env.lut generated.
+_pre_x_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/pre_x.lus
++ ./lus2lic should_work/pre_x.lus -n pre_x -2c -cc
+pre_x_pre_x_loop.c has been generated.
+pre_x_pre_x.h has been generated.
+pre_x_pre_x.c has been generated.
+sys call: 'gcc pre_x_pre_x.c pre_x_pre_x_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_pre_x_env.lut -rp oracle:v6:_pre_x_oracle.lus:pre_x_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/pre_x.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/pre_x.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/pre_x.lus
+spawn ./lus2lic -o ./tmp/ts01.lic should_work/ts01.lus
+PASS: ./lus2lic {-o ./tmp/ts01.lic should_work/ts01.lus}
+spawn ./lus2lic -ec -o ./tmp/ts01.ec should_work/ts01.lus
+PASS: ./lus2lic {-ec -o ./tmp/ts01.ec should_work/ts01.lus}
+spawn ./myec2c -o ./tmp/ts01.c ./tmp/ts01.ec
+PASS: ./myec2c {-o ./tmp/ts01.c ./tmp/ts01.ec}
 spawn ../utils/test_lus2lic_no_node should_work/ts01.lus
 + ./lus2lic should_work/ts01.lus -n ts01 --gen-autotest -np
 _ts01_env.lut generated.
@@ -5668,7 +13400,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -5677,12 +13409,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/ts01.lus
-spawn ./lus2lic -o /tmp/_N_uu.lic should_work/_N_uu.lus
-PASS: ./lus2lic {-o /tmp/_N_uu.lic should_work/_N_uu.lus}
-spawn ./lus2lic -ec -o /tmp/_N_uu.ec should_work/_N_uu.lus
-PASS: ./lus2lic {-ec -o /tmp/_N_uu.ec should_work/_N_uu.lus}
-spawn ./myec2c -o /tmp/_N_uu.c /tmp/_N_uu.ec
-PASS: ./myec2c {-o /tmp/_N_uu.c /tmp/_N_uu.ec}
+spawn ./lus2lic -2c should_work/ts01.lus -n ts01
+ts01_ts01_loop.c has been generated.
+ts01_ts01.h has been generated.
+ts01_ts01.c has been generated.
+you can compile those files doing, e.g.,
+  gcc ts01_ts01.c ts01_ts01_loop.c
+PASS: ./lus2lic {-2c should_work/ts01.lus -n ts01}
+spawn rm -f a.out
+spawn gcc ts01_ts01.c ts01_ts01_loop.c
+PASS: gcc ts01_ts01.c ts01_ts01_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/ts01.lus
++ ./lus2lic should_work/ts01.lus -n ts01 --gen-autotest -np
+_ts01_env.lut generated.
+_ts01_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/ts01.lus
++ ./lus2lic should_work/ts01.lus -n ts01 -2c -cc
+ts01_ts01_loop.c has been generated.
+ts01_ts01.h has been generated.
+ts01_ts01.c has been generated.
+sys call: 'gcc ts01_ts01.c ts01_ts01_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_ts01_env.lut -rp oracle:v6:_ts01_oracle.lus:ts01_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/ts01.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/ts01.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/ts01.lus
+spawn ./lus2lic -o ./tmp/_N_uu.lic should_work/_N_uu.lus
+PASS: ./lus2lic {-o ./tmp/_N_uu.lic should_work/_N_uu.lus}
+spawn ./lus2lic -ec -o ./tmp/_N_uu.ec should_work/_N_uu.lus
+PASS: ./lus2lic {-ec -o ./tmp/_N_uu.ec should_work/_N_uu.lus}
+spawn ./myec2c -o ./tmp/_N_uu.c ./tmp/_N_uu.ec
+PASS: ./myec2c {-o ./tmp/_N_uu.c ./tmp/_N_uu.ec}
 spawn ../utils/test_lus2lic_no_node should_work/_N_uu.lus
 + ./lus2lic should_work/_N_uu.lus -n _N_uu --gen-autotest -np
 __N_uu_env.lut generated.
@@ -5699,7 +13475,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -5708,12 +13484,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/_N_uu.lus
-spawn ./lus2lic -o /tmp/X2.lic should_work/X2.lus
-PASS: ./lus2lic {-o /tmp/X2.lic should_work/X2.lus}
-spawn ./lus2lic -ec -o /tmp/X2.ec should_work/X2.lus
-PASS: ./lus2lic {-ec -o /tmp/X2.ec should_work/X2.lus}
-spawn ./myec2c -o /tmp/X2.c /tmp/X2.ec
-PASS: ./myec2c {-o /tmp/X2.c /tmp/X2.ec}
+spawn ./lus2lic -2c should_work/_N_uu.lus -n _N_uu
+_N_uu__N_uu_loop.c has been generated.
+_N_uu__N_uu.h has been generated.
+_N_uu__N_uu.c has been generated.
+you can compile those files doing, e.g.,
+  gcc _N_uu__N_uu.c _N_uu__N_uu_loop.c
+PASS: ./lus2lic {-2c should_work/_N_uu.lus -n _N_uu}
+spawn rm -f a.out
+spawn gcc _N_uu__N_uu.c _N_uu__N_uu_loop.c
+PASS: gcc _N_uu__N_uu.c _N_uu__N_uu_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/_N_uu.lus
++ ./lus2lic should_work/_N_uu.lus -n _N_uu --gen-autotest -np
+__N_uu_env.lut generated.
+__N_uu_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/_N_uu.lus
++ ./lus2lic should_work/_N_uu.lus -n _N_uu -2c -cc
+_N_uu__N_uu_loop.c has been generated.
+_N_uu__N_uu.h has been generated.
+_N_uu__N_uu.c has been generated.
+sys call: 'gcc _N_uu__N_uu.c _N_uu__N_uu_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:__N_uu_env.lut -rp oracle:v6:__N_uu_oracle.lus:_N_uu_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/_N_uu.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/_N_uu.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/_N_uu.lus
+spawn ./lus2lic -o ./tmp/X2.lic should_work/X2.lus
+PASS: ./lus2lic {-o ./tmp/X2.lic should_work/X2.lus}
+spawn ./lus2lic -ec -o ./tmp/X2.ec should_work/X2.lus
+PASS: ./lus2lic {-ec -o ./tmp/X2.ec should_work/X2.lus}
+spawn ./myec2c -o ./tmp/X2.c ./tmp/X2.ec
+PASS: ./myec2c {-o ./tmp/X2.c ./tmp/X2.ec}
 spawn ../utils/test_lus2lic_no_node should_work/X2.lus
 + ./lus2lic should_work/X2.lus -n X2 --gen-autotest -np
 _X2_env.lut generated.
@@ -5730,7 +13550,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -5739,12 +13559,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/X2.lus
-spawn ./lus2lic -o /tmp/alias.lic should_work/alias.lus
-PASS: ./lus2lic {-o /tmp/alias.lic should_work/alias.lus}
-spawn ./lus2lic -ec -o /tmp/alias.ec should_work/alias.lus
-PASS: ./lus2lic {-ec -o /tmp/alias.ec should_work/alias.lus}
-spawn ./myec2c -o /tmp/alias.c /tmp/alias.ec
-PASS: ./myec2c {-o /tmp/alias.c /tmp/alias.ec}
+spawn ./lus2lic -2c should_work/X2.lus -n X2
+X2_X2_loop.c has been generated.
+X2_X2.h has been generated.
+X2_X2.c has been generated.
+you can compile those files doing, e.g.,
+  gcc X2_X2.c X2_X2_loop.c
+PASS: ./lus2lic {-2c should_work/X2.lus -n X2}
+spawn rm -f a.out
+spawn gcc X2_X2.c X2_X2_loop.c
+PASS: gcc X2_X2.c X2_X2_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/X2.lus
++ ./lus2lic should_work/X2.lus -n X2 --gen-autotest -np
+_X2_env.lut generated.
+_X2_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/X2.lus
++ ./lus2lic should_work/X2.lus -n X2 -2c -cc
+X2_X2_loop.c has been generated.
+X2_X2.h has been generated.
+X2_X2.c has been generated.
+sys call: 'gcc X2_X2.c X2_X2_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_X2_env.lut -rp oracle:v6:_X2_oracle.lus:X2_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/X2.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/X2.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/X2.lus
+spawn ./lus2lic -o ./tmp/alias.lic should_work/alias.lus
+PASS: ./lus2lic {-o ./tmp/alias.lic should_work/alias.lus}
+spawn ./lus2lic -ec -o ./tmp/alias.ec should_work/alias.lus
+PASS: ./lus2lic {-ec -o ./tmp/alias.ec should_work/alias.lus}
+spawn ./myec2c -o ./tmp/alias.c ./tmp/alias.ec
+PASS: ./myec2c {-o ./tmp/alias.c ./tmp/alias.ec}
 spawn ../utils/test_lus2lic_no_node should_work/alias.lus
 + ./lus2lic should_work/alias.lus -n alias --gen-autotest -np
 _alias_env.lut generated.
@@ -5761,7 +13625,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -5770,12 +13634,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/alias.lus
-spawn ./lus2lic -o /tmp/hanane.lic should_work/hanane.lus
-PASS: ./lus2lic {-o /tmp/hanane.lic should_work/hanane.lus}
-spawn ./lus2lic -ec -o /tmp/hanane.ec should_work/hanane.lus
-PASS: ./lus2lic {-ec -o /tmp/hanane.ec should_work/hanane.lus}
-spawn ./myec2c -o /tmp/hanane.c /tmp/hanane.ec
-PASS: ./myec2c {-o /tmp/hanane.c /tmp/hanane.ec}
+spawn ./lus2lic -2c should_work/alias.lus -n alias
+alias_alias_loop.c has been generated.
+alias_alias.h has been generated.
+alias_alias.c has been generated.
+you can compile those files doing, e.g.,
+  gcc alias_alias.c alias_alias_loop.c
+PASS: ./lus2lic {-2c should_work/alias.lus -n alias}
+spawn rm -f a.out
+spawn gcc alias_alias.c alias_alias_loop.c
+PASS: gcc alias_alias.c alias_alias_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/alias.lus
++ ./lus2lic should_work/alias.lus -n alias --gen-autotest -np
+_alias_env.lut generated.
+_alias_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/alias.lus
++ ./lus2lic should_work/alias.lus -n alias -2c -cc
+alias_alias_loop.c has been generated.
+alias_alias.h has been generated.
+alias_alias.c has been generated.
+sys call: 'gcc alias_alias.c alias_alias_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_alias_env.lut -rp oracle:v6:_alias_oracle.lus:alias_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/alias.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/alias.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/alias.lus
+spawn ./lus2lic -o ./tmp/hanane.lic should_work/hanane.lus
+PASS: ./lus2lic {-o ./tmp/hanane.lic should_work/hanane.lus}
+spawn ./lus2lic -ec -o ./tmp/hanane.ec should_work/hanane.lus
+PASS: ./lus2lic {-ec -o ./tmp/hanane.ec should_work/hanane.lus}
+spawn ./myec2c -o ./tmp/hanane.c ./tmp/hanane.ec
+PASS: ./myec2c {-o ./tmp/hanane.c ./tmp/hanane.ec}
 spawn ../utils/test_lus2lic_no_node should_work/hanane.lus
 + ./lus2lic should_work/hanane.lus -n hanane --gen-autotest -np
 _hanane_env.lut generated.
@@ -5788,50 +13696,89 @@ lus2lic --gen-autotest done
 lus2lic -ec done
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
 + ./lurettetop -p 6 -seed 42 -rp sut:ec:hanane.ec:hanane -rp env:lutin:_hanane_env.lut -rp oracle:v6:_hanane_oracle.lus:hanane_oracle -go -l 10 -ns2c --stop-on-oracle-error
-Error in lurette: Lv6errors.Compile_error(_, "\n*** clock error: The two following clocks are not compatible:\n***\t on base\n***\t on a1 on base\n")
-Lurette launched a process that failed (exit 2).
- 
+RP Variables are compatible.
+quit
+
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
-+ echo error
-error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/hanane.lus
-spawn ./lus2lic -o /tmp/lustre.lic should_work/lustre.lus
-PASS: ./lus2lic {-o /tmp/lustre.lic should_work/lustre.lus}
-spawn ./lus2lic -ec -o /tmp/lustre.ec should_work/lustre.lus
-PASS: ./lus2lic {-ec -o /tmp/lustre.ec should_work/lustre.lus}
-spawn ./myec2c -o /tmp/lustre.c /tmp/lustre.ec
-PASS: ./myec2c {-o /tmp/lustre.c /tmp/lustre.ec}
-spawn ../utils/test_lus2lic_no_node should_work/lustre.lus
-+ ./lus2lic should_work/lustre.lus -n lustre --gen-autotest -np
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/test_lus2lic_no_node should_work/hanane.lus
+spawn ./lus2lic -2c should_work/hanane.lus -n hanane
+hanane_hanane_loop.c has been generated.
+hanane_hanane.h has been generated.
+hanane_hanane.c has been generated.
+you can compile those files doing, e.g.,
+  gcc hanane_hanane.c hanane_hanane_loop.c
+PASS: ./lus2lic {-2c should_work/hanane.lus -n hanane}
+spawn rm -f a.out
+spawn gcc hanane_hanane.c hanane_hanane_loop.c
+PASS: gcc hanane_hanane.c hanane_hanane_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/hanane.lus
++ ./lus2lic should_work/hanane.lus -n hanane --gen-autotest -np
+_hanane_env.lut generated.
+_hanane_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/hanane.lus
++ ./lus2lic should_work/hanane.lus -n hanane -2c -cc
+hanane_hanane_loop.c has been generated.
+hanane_hanane.h has been generated.
+hanane_hanane.c has been generated.
+sys call: 'gcc hanane_hanane.c hanane_hanane_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_hanane_env.lut -rp oracle:v6:_hanane_oracle.lus:hanane_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/hanane.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/hanane.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/hanane.lus
+spawn ./lus2lic -o ./tmp/lustre.lic should_work/lustre.lus
+PASS: ./lus2lic {-o ./tmp/lustre.lic should_work/lustre.lus}
+spawn ./lus2lic -ec -o ./tmp/lustre.ec should_work/lustre.lus
+PASS: ./lus2lic {-ec -o ./tmp/lustre.ec should_work/lustre.lus}
+spawn ./myec2c -o ./tmp/lustre.c ./tmp/lustre.ec
+PASS: ./myec2c {-o ./tmp/lustre.c ./tmp/lustre.ec}
+spawn ./lus2lic -2c should_work/lustre.lus -n lustre
 *** Can not find package 'lustre' in the following packages: 
 ***	 'Lustre'
-+ echo Error
-Error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/lustre.lus
-spawn ./lus2lic -o /tmp/packed_cst.lic should_work/packed_cst.lus
-PASS: ./lus2lic {-o /tmp/packed_cst.lic should_work/packed_cst.lus}
-spawn ./lus2lic -ec -o /tmp/packed_cst.ec should_work/packed_cst.lus
-PASS: ./lus2lic {-ec -o /tmp/packed_cst.ec should_work/packed_cst.lus}
-spawn ./myec2c -o /tmp/packed_cst.c /tmp/packed_cst.ec
-PASS: ./myec2c {-o /tmp/packed_cst.c /tmp/packed_cst.ec}
-spawn ../utils/test_lus2lic_no_node should_work/packed_cst.lus
-+ ./lus2lic should_work/packed_cst.lus -n packed_cst --gen-autotest -np
+PASS: ./lus2lic {-2c should_work/lustre.lus -n lustre}
+spawn ./lus2lic -o ./tmp/packed_cst.lic should_work/packed_cst.lus
+PASS: ./lus2lic {-o ./tmp/packed_cst.lic should_work/packed_cst.lus}
+spawn ./lus2lic -ec -o ./tmp/packed_cst.ec should_work/packed_cst.lus
+PASS: ./lus2lic {-ec -o ./tmp/packed_cst.ec should_work/packed_cst.lus}
+spawn ./myec2c -o ./tmp/packed_cst.c ./tmp/packed_cst.ec
+PASS: ./myec2c {-o ./tmp/packed_cst.c ./tmp/packed_cst.ec}
+spawn ./lus2lic -2c should_work/packed_cst.lus -n packed_cst
 *** Can not find package 'packed_cst' in the following packages: 
 ***	 'cst'
-+ echo Error
-Error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/packed_cst.lus
-spawn ./lus2lic -o /tmp/predef02.lic should_work/predef02.lus
-PASS: ./lus2lic {-o /tmp/predef02.lic should_work/predef02.lus}
-spawn ./lus2lic -ec -o /tmp/predef02.ec should_work/predef02.lus
-PASS: ./lus2lic {-ec -o /tmp/predef02.ec should_work/predef02.lus}
-spawn ./myec2c -o /tmp/predef02.c /tmp/predef02.ec
-PASS: ./myec2c {-o /tmp/predef02.c /tmp/predef02.ec}
+PASS: ./lus2lic {-2c should_work/packed_cst.lus -n packed_cst}
+spawn ./lus2lic -o ./tmp/predef02.lic should_work/predef02.lus
+PASS: ./lus2lic {-o ./tmp/predef02.lic should_work/predef02.lus}
+spawn ./lus2lic -ec -o ./tmp/predef02.ec should_work/predef02.lus
+PASS: ./lus2lic {-ec -o ./tmp/predef02.ec should_work/predef02.lus}
+spawn ./myec2c -o ./tmp/predef02.c ./tmp/predef02.ec
+PASS: ./myec2c {-o ./tmp/predef02.c ./tmp/predef02.ec}
 spawn ../utils/test_lus2lic_no_node should_work/predef02.lus
 + ./lus2lic should_work/predef02.lus -n predef02 --gen-autotest -np
 _predef02_env.lut generated.
@@ -5848,7 +13795,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -5857,12 +13804,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/predef02.lus
-spawn ./lus2lic -o /tmp/toto.lic should_work/toto.lus
-PASS: ./lus2lic {-o /tmp/toto.lic should_work/toto.lus}
-spawn ./lus2lic -ec -o /tmp/toto.ec should_work/toto.lus
-PASS: ./lus2lic {-ec -o /tmp/toto.ec should_work/toto.lus}
-spawn ./myec2c -o /tmp/toto.c /tmp/toto.ec
-PASS: ./myec2c {-o /tmp/toto.c /tmp/toto.ec}
+spawn ./lus2lic -2c should_work/predef02.lus -n predef02
+predef02_predef02_loop.c has been generated.
+predef02_predef02.h has been generated.
+predef02_predef02.c has been generated.
+you can compile those files doing, e.g.,
+  gcc predef02_predef02.c predef02_predef02_loop.c
+PASS: ./lus2lic {-2c should_work/predef02.lus -n predef02}
+spawn rm -f a.out
+spawn gcc predef02_predef02.c predef02_predef02_loop.c
+PASS: gcc predef02_predef02.c predef02_predef02_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/predef02.lus
++ ./lus2lic should_work/predef02.lus -n predef02 --gen-autotest -np
+_predef02_env.lut generated.
+_predef02_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/predef02.lus
++ ./lus2lic should_work/predef02.lus -n predef02 -2c -cc
+predef02_predef02_loop.c has been generated.
+predef02_predef02.h has been generated.
+predef02_predef02.c has been generated.
+sys call: 'gcc predef02_predef02.c predef02_predef02_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_predef02_env.lut -rp oracle:v6:_predef02_oracle.lus:predef02_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/predef02.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/predef02.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/predef02.lus
+spawn ./lus2lic -o ./tmp/toto.lic should_work/toto.lus
+PASS: ./lus2lic {-o ./tmp/toto.lic should_work/toto.lus}
+spawn ./lus2lic -ec -o ./tmp/toto.ec should_work/toto.lus
+PASS: ./lus2lic {-ec -o ./tmp/toto.ec should_work/toto.lus}
+spawn ./myec2c -o ./tmp/toto.c ./tmp/toto.ec
+PASS: ./myec2c {-o ./tmp/toto.c ./tmp/toto.ec}
 spawn ../utils/test_lus2lic_no_node should_work/toto.lus
 + ./lus2lic should_work/toto.lus -n toto --gen-autotest -np
 _toto_env.lut generated.
@@ -5879,7 +13870,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -5888,12 +13879,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/toto.lus
-spawn ./lus2lic -o /tmp/minmax6.lic should_work/minmax6.lus
-PASS: ./lus2lic {-o /tmp/minmax6.lic should_work/minmax6.lus}
-spawn ./lus2lic -ec -o /tmp/minmax6.ec should_work/minmax6.lus
-PASS: ./lus2lic {-ec -o /tmp/minmax6.ec should_work/minmax6.lus}
-spawn ./myec2c -o /tmp/minmax6.c /tmp/minmax6.ec
-PASS: ./myec2c {-o /tmp/minmax6.c /tmp/minmax6.ec}
+spawn ./lus2lic -2c should_work/toto.lus -n toto
+toto_toto_loop.c has been generated.
+toto_toto.h has been generated.
+toto_toto.c has been generated.
+you can compile those files doing, e.g.,
+  gcc toto_toto.c toto_toto_loop.c
+PASS: ./lus2lic {-2c should_work/toto.lus -n toto}
+spawn rm -f a.out
+spawn gcc toto_toto.c toto_toto_loop.c
+PASS: gcc toto_toto.c toto_toto_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/toto.lus
++ ./lus2lic should_work/toto.lus -n toto --gen-autotest -np
+_toto_env.lut generated.
+_toto_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/toto.lus
++ ./lus2lic should_work/toto.lus -n toto -2c -cc
+toto_toto_loop.c has been generated.
+toto_toto.h has been generated.
+toto_toto.c has been generated.
+sys call: 'gcc toto_toto.c toto_toto_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_toto_env.lut -rp oracle:v6:_toto_oracle.lus:toto_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/toto.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/toto.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/toto.lus
+spawn ./lus2lic -o ./tmp/minmax6.lic should_work/minmax6.lus
+PASS: ./lus2lic {-o ./tmp/minmax6.lic should_work/minmax6.lus}
+spawn ./lus2lic -ec -o ./tmp/minmax6.ec should_work/minmax6.lus
+PASS: ./lus2lic {-ec -o ./tmp/minmax6.ec should_work/minmax6.lus}
+spawn ./myec2c -o ./tmp/minmax6.c ./tmp/minmax6.ec
+PASS: ./myec2c {-o ./tmp/minmax6.c ./tmp/minmax6.ec}
 spawn ../utils/test_lus2lic_no_node should_work/minmax6.lus
 + ./lus2lic should_work/minmax6.lus -n minmax6 --gen-autotest -np
 _minmax6_env.lut generated.
@@ -5910,7 +13945,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -5919,12 +13954,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/minmax6.lus
-spawn ./lus2lic -o /tmp/ck3.lic should_work/ck3.lus
-PASS: ./lus2lic {-o /tmp/ck3.lic should_work/ck3.lus}
-spawn ./lus2lic -ec -o /tmp/ck3.ec should_work/ck3.lus
-PASS: ./lus2lic {-ec -o /tmp/ck3.ec should_work/ck3.lus}
-spawn ./myec2c -o /tmp/ck3.c /tmp/ck3.ec
-PASS: ./myec2c {-o /tmp/ck3.c /tmp/ck3.ec}
+spawn ./lus2lic -2c should_work/minmax6.lus -n minmax6
+minmax6_minmax6_loop.c has been generated.
+minmax6_minmax6.h has been generated.
+minmax6_minmax6.c has been generated.
+you can compile those files doing, e.g.,
+  gcc minmax6_minmax6.c minmax6_minmax6_loop.c
+PASS: ./lus2lic {-2c should_work/minmax6.lus -n minmax6}
+spawn rm -f a.out
+spawn gcc minmax6_minmax6.c minmax6_minmax6_loop.c
+PASS: gcc minmax6_minmax6.c minmax6_minmax6_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/minmax6.lus
++ ./lus2lic should_work/minmax6.lus -n minmax6 --gen-autotest -np
+_minmax6_env.lut generated.
+_minmax6_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/minmax6.lus
++ ./lus2lic should_work/minmax6.lus -n minmax6 -2c -cc
+minmax6_minmax6_loop.c has been generated.
+minmax6_minmax6.h has been generated.
+minmax6_minmax6.c has been generated.
+sys call: 'gcc minmax6_minmax6.c minmax6_minmax6_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_minmax6_env.lut -rp oracle:v6:_minmax6_oracle.lus:minmax6_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/minmax6.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/minmax6.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/minmax6.lus
+spawn ./lus2lic -o ./tmp/ck3.lic should_work/ck3.lus
+PASS: ./lus2lic {-o ./tmp/ck3.lic should_work/ck3.lus}
+spawn ./lus2lic -ec -o ./tmp/ck3.ec should_work/ck3.lus
+PASS: ./lus2lic {-ec -o ./tmp/ck3.ec should_work/ck3.lus}
+spawn ./myec2c -o ./tmp/ck3.c ./tmp/ck3.ec
+PASS: ./myec2c {-o ./tmp/ck3.c ./tmp/ck3.ec}
 spawn ../utils/test_lus2lic_no_node should_work/ck3.lus
 + ./lus2lic should_work/ck3.lus -n ck3 --gen-autotest -np
 _ck3_env.lut generated.
@@ -5937,22 +14016,69 @@ lus2lic --gen-autotest done
 lus2lic -ec done
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
 + ./lurettetop -p 6 -seed 42 -rp sut:ec:ck3.ec:ck3 -rp env:lutin:_ck3_env.lut -rp oracle:v6:_ck3_oracle.lus:ck3_oracle -go -l 10 -ns2c --stop-on-oracle-error
-Error in lurette: Lv6errors.Compile_error(_, "\n*** clock error: The two following clocks are not compatible:\n***\t on base\n***\t on a on base\n")
-Lurette launched a process that failed (exit 2).
- 
+RP Variables are compatible.
+quit
+
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
-+ echo error
-error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/ck3.lus
-spawn ./lus2lic -o /tmp/zzz.lic should_work/zzz.lus
-PASS: ./lus2lic {-o /tmp/zzz.lic should_work/zzz.lus}
-spawn ./lus2lic -ec -o /tmp/zzz.ec should_work/zzz.lus
-PASS: ./lus2lic {-ec -o /tmp/zzz.ec should_work/zzz.lus}
-spawn ./myec2c -o /tmp/zzz.c /tmp/zzz.ec
-PASS: ./myec2c {-o /tmp/zzz.c /tmp/zzz.ec}
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/test_lus2lic_no_node should_work/ck3.lus
+spawn ./lus2lic -2c should_work/ck3.lus -n ck3
+ck3_ck3_loop.c has been generated.
+ck3_ck3.h has been generated.
+ck3_ck3.c has been generated.
+you can compile those files doing, e.g.,
+  gcc ck3_ck3.c ck3_ck3_loop.c
+PASS: ./lus2lic {-2c should_work/ck3.lus -n ck3}
+spawn rm -f a.out
+spawn gcc ck3_ck3.c ck3_ck3_loop.c
+PASS: gcc ck3_ck3.c ck3_ck3_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/ck3.lus
++ ./lus2lic should_work/ck3.lus -n ck3 --gen-autotest -np
+_ck3_env.lut generated.
+_ck3_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/ck3.lus
++ ./lus2lic should_work/ck3.lus -n ck3 -2c -cc
+ck3_ck3_loop.c has been generated.
+ck3_ck3.h has been generated.
+ck3_ck3.c has been generated.
+sys call: 'gcc ck3_ck3.c ck3_ck3_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_ck3_env.lut -rp oracle:v6:_ck3_oracle.lus:ck3_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/ck3.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/ck3.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/ck3.lus
+spawn ./lus2lic -o ./tmp/zzz.lic should_work/zzz.lus
+PASS: ./lus2lic {-o ./tmp/zzz.lic should_work/zzz.lus}
+spawn ./lus2lic -ec -o ./tmp/zzz.ec should_work/zzz.lus
+PASS: ./lus2lic {-ec -o ./tmp/zzz.ec should_work/zzz.lus}
+spawn ./myec2c -o ./tmp/zzz.c ./tmp/zzz.ec
+PASS: ./myec2c {-o ./tmp/zzz.c ./tmp/zzz.ec}
 spawn ../utils/test_lus2lic_no_node should_work/zzz.lus
 + ./lus2lic should_work/zzz.lus -n zzz --gen-autotest -np
 _zzz_env.lut generated.
@@ -5969,7 +14095,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -5978,12 +14104,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/zzz.lus
-spawn ./lus2lic -o /tmp/STABLE.lic should_work/STABLE.lus
-PASS: ./lus2lic {-o /tmp/STABLE.lic should_work/STABLE.lus}
-spawn ./lus2lic -ec -o /tmp/STABLE.ec should_work/STABLE.lus
-PASS: ./lus2lic {-ec -o /tmp/STABLE.ec should_work/STABLE.lus}
-spawn ./myec2c -o /tmp/STABLE.c /tmp/STABLE.ec
-PASS: ./myec2c {-o /tmp/STABLE.c /tmp/STABLE.ec}
+spawn ./lus2lic -2c should_work/zzz.lus -n zzz
+zzz_zzz_loop.c has been generated.
+zzz_zzz.h has been generated.
+zzz_zzz.c has been generated.
+you can compile those files doing, e.g.,
+  gcc zzz_zzz.c zzz_zzz_loop.c
+PASS: ./lus2lic {-2c should_work/zzz.lus -n zzz}
+spawn rm -f a.out
+spawn gcc zzz_zzz.c zzz_zzz_loop.c
+PASS: gcc zzz_zzz.c zzz_zzz_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/zzz.lus
++ ./lus2lic should_work/zzz.lus -n zzz --gen-autotest -np
+_zzz_env.lut generated.
+_zzz_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/zzz.lus
++ ./lus2lic should_work/zzz.lus -n zzz -2c -cc
+zzz_zzz_loop.c has been generated.
+zzz_zzz.h has been generated.
+zzz_zzz.c has been generated.
+sys call: 'gcc zzz_zzz.c zzz_zzz_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_zzz_env.lut -rp oracle:v6:_zzz_oracle.lus:zzz_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/zzz.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/zzz.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/zzz.lus
+spawn ./lus2lic -o ./tmp/STABLE.lic should_work/STABLE.lus
+PASS: ./lus2lic {-o ./tmp/STABLE.lic should_work/STABLE.lus}
+spawn ./lus2lic -ec -o ./tmp/STABLE.ec should_work/STABLE.lus
+PASS: ./lus2lic {-ec -o ./tmp/STABLE.ec should_work/STABLE.lus}
+spawn ./myec2c -o ./tmp/STABLE.c ./tmp/STABLE.ec
+PASS: ./myec2c {-o ./tmp/STABLE.c ./tmp/STABLE.ec}
 spawn ../utils/test_lus2lic_no_node should_work/STABLE.lus
 + ./lus2lic should_work/STABLE.lus -n STABLE --gen-autotest -np
 _STABLE_env.lut generated.
@@ -6000,7 +14170,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -6009,12 +14179,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/STABLE.lus
-spawn ./lus2lic -o /tmp/mapiter.lic should_work/mapiter.lus
-PASS: ./lus2lic {-o /tmp/mapiter.lic should_work/mapiter.lus}
-spawn ./lus2lic -ec -o /tmp/mapiter.ec should_work/mapiter.lus
-PASS: ./lus2lic {-ec -o /tmp/mapiter.ec should_work/mapiter.lus}
-spawn ./myec2c -o /tmp/mapiter.c /tmp/mapiter.ec
-PASS: ./myec2c {-o /tmp/mapiter.c /tmp/mapiter.ec}
+spawn ./lus2lic -2c should_work/STABLE.lus -n STABLE
+STABLE_STABLE_loop.c has been generated.
+STABLE_STABLE.h has been generated.
+STABLE_STABLE.c has been generated.
+you can compile those files doing, e.g.,
+  gcc STABLE_STABLE.c STABLE_STABLE_loop.c
+PASS: ./lus2lic {-2c should_work/STABLE.lus -n STABLE}
+spawn rm -f a.out
+spawn gcc STABLE_STABLE.c STABLE_STABLE_loop.c
+PASS: gcc STABLE_STABLE.c STABLE_STABLE_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/STABLE.lus
++ ./lus2lic should_work/STABLE.lus -n STABLE --gen-autotest -np
+_STABLE_env.lut generated.
+_STABLE_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/STABLE.lus
++ ./lus2lic should_work/STABLE.lus -n STABLE -2c -cc
+STABLE_STABLE_loop.c has been generated.
+STABLE_STABLE.h has been generated.
+STABLE_STABLE.c has been generated.
+sys call: 'gcc STABLE_STABLE.c STABLE_STABLE_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_STABLE_env.lut -rp oracle:v6:_STABLE_oracle.lus:STABLE_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/STABLE.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/STABLE.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/STABLE.lus
+spawn ./lus2lic -o ./tmp/mapiter.lic should_work/mapiter.lus
+PASS: ./lus2lic {-o ./tmp/mapiter.lic should_work/mapiter.lus}
+spawn ./lus2lic -ec -o ./tmp/mapiter.ec should_work/mapiter.lus
+PASS: ./lus2lic {-ec -o ./tmp/mapiter.ec should_work/mapiter.lus}
+spawn ./myec2c -o ./tmp/mapiter.c ./tmp/mapiter.ec
+PASS: ./myec2c {-o ./tmp/mapiter.c ./tmp/mapiter.ec}
 spawn ../utils/test_lus2lic_no_node should_work/mapiter.lus
 + ./lus2lic should_work/mapiter.lus -n mapiter --gen-autotest -np
 _mapiter_env.lut generated.
@@ -6031,7 +14245,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -6040,12 +14254,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/mapiter.lus
-spawn ./lus2lic -o /tmp/tuple.lic should_work/tuple.lus
-PASS: ./lus2lic {-o /tmp/tuple.lic should_work/tuple.lus}
-spawn ./lus2lic -ec -o /tmp/tuple.ec should_work/tuple.lus
-PASS: ./lus2lic {-ec -o /tmp/tuple.ec should_work/tuple.lus}
-spawn ./myec2c -o /tmp/tuple.c /tmp/tuple.ec
-PASS: ./myec2c {-o /tmp/tuple.c /tmp/tuple.ec}
+spawn ./lus2lic -2c should_work/mapiter.lus -n mapiter
+mapiter_mapiter_loop.c has been generated.
+mapiter_mapiter.h has been generated.
+mapiter_mapiter.c has been generated.
+you can compile those files doing, e.g.,
+  gcc mapiter_mapiter.c mapiter_mapiter_loop.c
+PASS: ./lus2lic {-2c should_work/mapiter.lus -n mapiter}
+spawn rm -f a.out
+spawn gcc mapiter_mapiter.c mapiter_mapiter_loop.c
+PASS: gcc mapiter_mapiter.c mapiter_mapiter_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/mapiter.lus
++ ./lus2lic should_work/mapiter.lus -n mapiter --gen-autotest -np
+_mapiter_env.lut generated.
+_mapiter_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/mapiter.lus
++ ./lus2lic should_work/mapiter.lus -n mapiter -2c -cc
+mapiter_mapiter_loop.c has been generated.
+mapiter_mapiter.h has been generated.
+mapiter_mapiter.c has been generated.
+sys call: 'gcc mapiter_mapiter.c mapiter_mapiter_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_mapiter_env.lut -rp oracle:v6:_mapiter_oracle.lus:mapiter_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/mapiter.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/mapiter.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/mapiter.lus
+spawn ./lus2lic -o ./tmp/tuple.lic should_work/tuple.lus
+PASS: ./lus2lic {-o ./tmp/tuple.lic should_work/tuple.lus}
+spawn ./lus2lic -ec -o ./tmp/tuple.ec should_work/tuple.lus
+PASS: ./lus2lic {-ec -o ./tmp/tuple.ec should_work/tuple.lus}
+spawn ./myec2c -o ./tmp/tuple.c ./tmp/tuple.ec
+PASS: ./myec2c {-o ./tmp/tuple.c ./tmp/tuple.ec}
 spawn ../utils/test_lus2lic_no_node should_work/tuple.lus
 + ./lus2lic should_work/tuple.lus -n tuple --gen-autotest -np
 _tuple_env.lut generated.
@@ -6062,7 +14320,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -6071,12 +14329,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/tuple.lus
-spawn ./lus2lic -o /tmp/call02.lic should_work/call02.lus
-PASS: ./lus2lic {-o /tmp/call02.lic should_work/call02.lus}
-spawn ./lus2lic -ec -o /tmp/call02.ec should_work/call02.lus
-PASS: ./lus2lic {-ec -o /tmp/call02.ec should_work/call02.lus}
-spawn ./myec2c -o /tmp/call02.c /tmp/call02.ec
-PASS: ./myec2c {-o /tmp/call02.c /tmp/call02.ec}
+spawn ./lus2lic -2c should_work/tuple.lus -n tuple
+tuple_tuple_loop.c has been generated.
+tuple_tuple.h has been generated.
+tuple_tuple.c has been generated.
+you can compile those files doing, e.g.,
+  gcc tuple_tuple.c tuple_tuple_loop.c
+PASS: ./lus2lic {-2c should_work/tuple.lus -n tuple}
+spawn rm -f a.out
+spawn gcc tuple_tuple.c tuple_tuple_loop.c
+PASS: gcc tuple_tuple.c tuple_tuple_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/tuple.lus
++ ./lus2lic should_work/tuple.lus -n tuple --gen-autotest -np
+_tuple_env.lut generated.
+_tuple_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/tuple.lus
++ ./lus2lic should_work/tuple.lus -n tuple -2c -cc
+tuple_tuple_loop.c has been generated.
+tuple_tuple.h has been generated.
+tuple_tuple.c has been generated.
+sys call: 'gcc tuple_tuple.c tuple_tuple_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_tuple_env.lut -rp oracle:v6:_tuple_oracle.lus:tuple_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/tuple.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/tuple.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/tuple.lus
+spawn ./lus2lic -o ./tmp/call02.lic should_work/call02.lus
+PASS: ./lus2lic {-o ./tmp/call02.lic should_work/call02.lus}
+spawn ./lus2lic -ec -o ./tmp/call02.ec should_work/call02.lus
+PASS: ./lus2lic {-ec -o ./tmp/call02.ec should_work/call02.lus}
+spawn ./myec2c -o ./tmp/call02.c ./tmp/call02.ec
+PASS: ./myec2c {-o ./tmp/call02.c ./tmp/call02.ec}
 spawn ../utils/test_lus2lic_no_node should_work/call02.lus
 + ./lus2lic should_work/call02.lus -n call02 --gen-autotest -np
 _call02_env.lut generated.
@@ -6093,7 +14395,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -6102,12 +14404,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/call02.lus
-spawn ./lus2lic -o /tmp/ck7.lic should_work/ck7.lus
-PASS: ./lus2lic {-o /tmp/ck7.lic should_work/ck7.lus}
-spawn ./lus2lic -ec -o /tmp/ck7.ec should_work/ck7.lus
-PASS: ./lus2lic {-ec -o /tmp/ck7.ec should_work/ck7.lus}
-spawn ./myec2c -o /tmp/ck7.c /tmp/ck7.ec
-PASS: ./myec2c {-o /tmp/ck7.c /tmp/ck7.ec}
+spawn ./lus2lic -2c should_work/call02.lus -n call02
+call02_call02_loop.c has been generated.
+call02_call02.h has been generated.
+call02_call02.c has been generated.
+you can compile those files doing, e.g.,
+  gcc call02_call02.c call02_call02_loop.c
+PASS: ./lus2lic {-2c should_work/call02.lus -n call02}
+spawn rm -f a.out
+spawn gcc call02_call02.c call02_call02_loop.c
+PASS: gcc call02_call02.c call02_call02_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/call02.lus
++ ./lus2lic should_work/call02.lus -n call02 --gen-autotest -np
+_call02_env.lut generated.
+_call02_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/call02.lus
++ ./lus2lic should_work/call02.lus -n call02 -2c -cc
+call02_call02_loop.c has been generated.
+call02_call02.h has been generated.
+call02_call02.c has been generated.
+sys call: 'gcc call02_call02.c call02_call02_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_call02_env.lut -rp oracle:v6:_call02_oracle.lus:call02_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/call02.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/call02.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/call02.lus
+spawn ./lus2lic -o ./tmp/ck7.lic should_work/ck7.lus
+PASS: ./lus2lic {-o ./tmp/ck7.lic should_work/ck7.lus}
+spawn ./lus2lic -ec -o ./tmp/ck7.ec should_work/ck7.lus
+PASS: ./lus2lic {-ec -o ./tmp/ck7.ec should_work/ck7.lus}
+spawn ./myec2c -o ./tmp/ck7.c ./tmp/ck7.ec
+PASS: ./myec2c {-o ./tmp/ck7.c ./tmp/ck7.ec}
 spawn ../utils/test_lus2lic_no_node should_work/ck7.lus
 + ./lus2lic should_work/ck7.lus -n ck7 --gen-autotest -np
 _ck7_env.lut generated.
@@ -6120,22 +14466,69 @@ lus2lic --gen-autotest done
 lus2lic -ec done
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
 + ./lurettetop -p 6 -seed 42 -rp sut:ec:ck7.ec:ck7 -rp env:lutin:_ck7_env.lut -rp oracle:v6:_ck7_oracle.lus:ck7_oracle -go -l 10 -ns2c --stop-on-oracle-error
-Error in lurette: Lv6errors.Compile_error(_, "\n*** clock error: The two following clocks are not compatible:\n***\t on base\n***\t on a on base\n")
-Lurette launched a process that failed (exit 2).
- 
+RP Variables are compatible.
+quit
+
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
-+ echo error
-error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/ck7.lus
-spawn ./lus2lic -o /tmp/nc10.lic should_work/nc10.lus
-PASS: ./lus2lic {-o /tmp/nc10.lic should_work/nc10.lus}
-spawn ./lus2lic -ec -o /tmp/nc10.ec should_work/nc10.lus
-PASS: ./lus2lic {-ec -o /tmp/nc10.ec should_work/nc10.lus}
-spawn ./myec2c -o /tmp/nc10.c /tmp/nc10.ec
-PASS: ./myec2c {-o /tmp/nc10.c /tmp/nc10.ec}
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/test_lus2lic_no_node should_work/ck7.lus
+spawn ./lus2lic -2c should_work/ck7.lus -n ck7
+ck7_ck7_loop.c has been generated.
+ck7_ck7.h has been generated.
+ck7_ck7.c has been generated.
+you can compile those files doing, e.g.,
+  gcc ck7_ck7.c ck7_ck7_loop.c
+PASS: ./lus2lic {-2c should_work/ck7.lus -n ck7}
+spawn rm -f a.out
+spawn gcc ck7_ck7.c ck7_ck7_loop.c
+PASS: gcc ck7_ck7.c ck7_ck7_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/ck7.lus
++ ./lus2lic should_work/ck7.lus -n ck7 --gen-autotest -np
+_ck7_env.lut generated.
+_ck7_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/ck7.lus
++ ./lus2lic should_work/ck7.lus -n ck7 -2c -cc
+ck7_ck7_loop.c has been generated.
+ck7_ck7.h has been generated.
+ck7_ck7.c has been generated.
+sys call: 'gcc ck7_ck7.c ck7_ck7_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_ck7_env.lut -rp oracle:v6:_ck7_oracle.lus:ck7_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/ck7.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/ck7.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/ck7.lus
+spawn ./lus2lic -o ./tmp/nc10.lic should_work/nc10.lus
+PASS: ./lus2lic {-o ./tmp/nc10.lic should_work/nc10.lus}
+spawn ./lus2lic -ec -o ./tmp/nc10.ec should_work/nc10.lus
+PASS: ./lus2lic {-ec -o ./tmp/nc10.ec should_work/nc10.lus}
+spawn ./myec2c -o ./tmp/nc10.c ./tmp/nc10.ec
+PASS: ./myec2c {-o ./tmp/nc10.c ./tmp/nc10.ec}
 spawn ../utils/test_lus2lic_no_node should_work/nc10.lus
 + ./lus2lic should_work/nc10.lus -n nc10 --gen-autotest -np
 _nc10_env.lut generated.
@@ -6152,7 +14545,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -6161,12 +14554,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/nc10.lus
-spawn ./lus2lic -o /tmp/triSel.lic should_work/triSel.lus
-PASS: ./lus2lic {-o /tmp/triSel.lic should_work/triSel.lus}
-spawn ./lus2lic -ec -o /tmp/triSel.ec should_work/triSel.lus
-PASS: ./lus2lic {-ec -o /tmp/triSel.ec should_work/triSel.lus}
-spawn ./myec2c -o /tmp/triSel.c /tmp/triSel.ec
-PASS: ./myec2c {-o /tmp/triSel.c /tmp/triSel.ec}
+spawn ./lus2lic -2c should_work/nc10.lus -n nc10
+nc10_nc10_loop.c has been generated.
+nc10_nc10.h has been generated.
+nc10_nc10.c has been generated.
+you can compile those files doing, e.g.,
+  gcc nc10_nc10.c nc10_nc10_loop.c
+PASS: ./lus2lic {-2c should_work/nc10.lus -n nc10}
+spawn rm -f a.out
+spawn gcc nc10_nc10.c nc10_nc10_loop.c
+PASS: gcc nc10_nc10.c nc10_nc10_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/nc10.lus
++ ./lus2lic should_work/nc10.lus -n nc10 --gen-autotest -np
+_nc10_env.lut generated.
+_nc10_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/nc10.lus
++ ./lus2lic should_work/nc10.lus -n nc10 -2c -cc
+nc10_nc10_loop.c has been generated.
+nc10_nc10.h has been generated.
+nc10_nc10.c has been generated.
+sys call: 'gcc nc10_nc10.c nc10_nc10_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_nc10_env.lut -rp oracle:v6:_nc10_oracle.lus:nc10_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/nc10.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/nc10.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/nc10.lus
+spawn ./lus2lic -o ./tmp/triSel.lic should_work/triSel.lus
+PASS: ./lus2lic {-o ./tmp/triSel.lic should_work/triSel.lus}
+spawn ./lus2lic -ec -o ./tmp/triSel.ec should_work/triSel.lus
+PASS: ./lus2lic {-ec -o ./tmp/triSel.ec should_work/triSel.lus}
+spawn ./myec2c -o ./tmp/triSel.c ./tmp/triSel.ec
+PASS: ./myec2c {-o ./tmp/triSel.c ./tmp/triSel.ec}
 spawn ../utils/test_lus2lic_no_node should_work/triSel.lus
 + ./lus2lic should_work/triSel.lus -n triSel --gen-autotest -np
 _triSel_env.lut generated.
@@ -6183,7 +14620,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -6192,12 +14629,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/triSel.lus
-spawn ./lus2lic -o /tmp/redoptest.lic should_work/redoptest.lus
-PASS: ./lus2lic {-o /tmp/redoptest.lic should_work/redoptest.lus}
-spawn ./lus2lic -ec -o /tmp/redoptest.ec should_work/redoptest.lus
-PASS: ./lus2lic {-ec -o /tmp/redoptest.ec should_work/redoptest.lus}
-spawn ./myec2c -o /tmp/redoptest.c /tmp/redoptest.ec
-PASS: ./myec2c {-o /tmp/redoptest.c /tmp/redoptest.ec}
+spawn ./lus2lic -2c should_work/triSel.lus -n triSel
+triSel_triSel_loop.c has been generated.
+triSel_triSel.h has been generated.
+triSel_triSel.c has been generated.
+you can compile those files doing, e.g.,
+  gcc triSel_triSel.c triSel_triSel_loop.c
+PASS: ./lus2lic {-2c should_work/triSel.lus -n triSel}
+spawn rm -f a.out
+spawn gcc triSel_triSel.c triSel_triSel_loop.c
+PASS: gcc triSel_triSel.c triSel_triSel_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/triSel.lus
++ ./lus2lic should_work/triSel.lus -n triSel --gen-autotest -np
+_triSel_env.lut generated.
+_triSel_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/triSel.lus
++ ./lus2lic should_work/triSel.lus -n triSel -2c -cc
+triSel_triSel_loop.c has been generated.
+triSel_triSel.h has been generated.
+triSel_triSel.c has been generated.
+sys call: 'gcc triSel_triSel.c triSel_triSel_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_triSel_env.lut -rp oracle:v6:_triSel_oracle.lus:triSel_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/triSel.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/triSel.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/triSel.lus
+spawn ./lus2lic -o ./tmp/redoptest.lic should_work/redoptest.lus
+PASS: ./lus2lic {-o ./tmp/redoptest.lic should_work/redoptest.lus}
+spawn ./lus2lic -ec -o ./tmp/redoptest.ec should_work/redoptest.lus
+PASS: ./lus2lic {-ec -o ./tmp/redoptest.ec should_work/redoptest.lus}
+spawn ./myec2c -o ./tmp/redoptest.c ./tmp/redoptest.ec
+PASS: ./myec2c {-o ./tmp/redoptest.c ./tmp/redoptest.ec}
 spawn ../utils/test_lus2lic_no_node should_work/redoptest.lus
 + ./lus2lic should_work/redoptest.lus -n redoptest --gen-autotest -np
 _redoptest_env.lut generated.
@@ -6214,7 +14695,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -6223,12 +14704,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/redoptest.lus
-spawn ./lus2lic -o /tmp/flo.lic should_work/flo.lus
-PASS: ./lus2lic {-o /tmp/flo.lic should_work/flo.lus}
-spawn ./lus2lic -ec -o /tmp/flo.ec should_work/flo.lus
-PASS: ./lus2lic {-ec -o /tmp/flo.ec should_work/flo.lus}
-spawn ./myec2c -o /tmp/flo.c /tmp/flo.ec
-PASS: ./myec2c {-o /tmp/flo.c /tmp/flo.ec}
+spawn ./lus2lic -2c should_work/redoptest.lus -n redoptest
+redoptest_redoptest_loop.c has been generated.
+redoptest_redoptest.h has been generated.
+redoptest_redoptest.c has been generated.
+you can compile those files doing, e.g.,
+  gcc redoptest_redoptest.c redoptest_redoptest_loop.c
+PASS: ./lus2lic {-2c should_work/redoptest.lus -n redoptest}
+spawn rm -f a.out
+spawn gcc redoptest_redoptest.c redoptest_redoptest_loop.c
+PASS: gcc redoptest_redoptest.c redoptest_redoptest_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/redoptest.lus
++ ./lus2lic should_work/redoptest.lus -n redoptest --gen-autotest -np
+_redoptest_env.lut generated.
+_redoptest_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/redoptest.lus
++ ./lus2lic should_work/redoptest.lus -n redoptest -2c -cc
+redoptest_redoptest_loop.c has been generated.
+redoptest_redoptest.h has been generated.
+redoptest_redoptest.c has been generated.
+sys call: 'gcc redoptest_redoptest.c redoptest_redoptest_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_redoptest_env.lut -rp oracle:v6:_redoptest_oracle.lus:redoptest_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/redoptest.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/redoptest.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/redoptest.lus
+spawn ./lus2lic -o ./tmp/flo.lic should_work/flo.lus
+PASS: ./lus2lic {-o ./tmp/flo.lic should_work/flo.lus}
+spawn ./lus2lic -ec -o ./tmp/flo.ec should_work/flo.lus
+PASS: ./lus2lic {-ec -o ./tmp/flo.ec should_work/flo.lus}
+spawn ./myec2c -o ./tmp/flo.c ./tmp/flo.ec
+PASS: ./myec2c {-o ./tmp/flo.c ./tmp/flo.ec}
 spawn ../utils/test_lus2lic_no_node should_work/flo.lus
 + ./lus2lic should_work/flo.lus -n flo --gen-autotest -np
 _flo_env.lut generated.
@@ -6245,7 +14770,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -6254,43 +14779,148 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/flo.lus
-spawn ./lus2lic -o /tmp/cond01.lic should_work/cond01.lus
-PASS: ./lus2lic {-o /tmp/cond01.lic should_work/cond01.lus}
-spawn ./lus2lic -ec -o /tmp/cond01.ec should_work/cond01.lus
-PASS: ./lus2lic {-ec -o /tmp/cond01.ec should_work/cond01.lus}
-spawn ./myec2c -o /tmp/cond01.c /tmp/cond01.ec
-PASS: ./myec2c {-o /tmp/cond01.c /tmp/cond01.ec}
+spawn ./lus2lic -2c should_work/flo.lus -n flo
+flo_flo_loop.c has been generated.
+flo_flo.h has been generated.
+flo_flo.c has been generated.
+you can compile those files doing, e.g.,
+  gcc flo_flo.c flo_flo_loop.c
+PASS: ./lus2lic {-2c should_work/flo.lus -n flo}
+spawn rm -f a.out
+spawn gcc flo_flo.c flo_flo_loop.c
+PASS: gcc flo_flo.c flo_flo_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/flo.lus
++ ./lus2lic should_work/flo.lus -n flo --gen-autotest -np
+_flo_env.lut generated.
+_flo_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/flo.lus
++ ./lus2lic should_work/flo.lus -n flo -2c -cc
+flo_flo_loop.c has been generated.
+flo_flo.h has been generated.
+flo_flo.c has been generated.
+sys call: 'gcc flo_flo.c flo_flo_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_flo_env.lut -rp oracle:v6:_flo_oracle.lus:flo_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/flo.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/flo.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/flo.lus
+spawn ./lus2lic -o ./tmp/cond01.lic should_work/cond01.lus
+PASS: ./lus2lic {-o ./tmp/cond01.lic should_work/cond01.lus}
+spawn ./lus2lic -ec -o ./tmp/cond01.ec should_work/cond01.lus
+PASS: ./lus2lic {-ec -o ./tmp/cond01.ec should_work/cond01.lus}
+spawn ./myec2c -o ./tmp/cond01.c ./tmp/cond01.ec
+PASS: ./myec2c {-o ./tmp/cond01.c ./tmp/cond01.ec}
 spawn ../utils/test_lus2lic_no_node should_work/cond01.lus
 + ./lus2lic should_work/cond01.lus -n cond01 --gen-autotest -np
-_cond01_env.lut generated.
-_cond01_oracle.lus generated.
+Error. in file "/home/jahier/lus2lic/test/should_work/cond01.lus", line 5, col 5 to 11, token 'condact': cannot infer the type of this polymorphic node. Please be more specific.
+
++ echo Error
+Error
++ exit 2
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/cond01.lus
+spawn ./lus2lic -2c should_work/cond01.lus -n cond01
+Error. in file "/home/jahier/lus2lic/test/should_work/cond01.lus", line 5, col 5 to 11, token 'condact': cannot infer the type of this polymorphic node. Please be more specific.
+
+FAIL: Generate c code  : ./lus2lic {-2c should_work/cond01.lus -n cond01}
+spawn ./lus2lic -o ./tmp/test_boolred.lic should_work/test_boolred.lus
+PASS: ./lus2lic {-o ./tmp/test_boolred.lic should_work/test_boolred.lus}
+spawn ./lus2lic -ec -o ./tmp/test_boolred.ec should_work/test_boolred.lus
+PASS: ./lus2lic {-ec -o ./tmp/test_boolred.ec should_work/test_boolred.lus}
+spawn ./myec2c -o ./tmp/test_boolred.c ./tmp/test_boolred.ec
+PASS: ./myec2c {-o ./tmp/test_boolred.c ./tmp/test_boolred.ec}
+spawn ../utils/test_lus2lic_no_node should_work/test_boolred.lus
++ ./lus2lic should_work/test_boolred.lus -n test_boolred --gen-autotest -np
+_test_boolred_env.lut generated.
+_test_boolred_oracle.lus generated.
 + echo lus2lic --gen-autotest done
 lus2lic --gen-autotest done
-+ cat should_work/cond01.lus
-+ ./lus2lic should_work/cond01.lus -n cond01 -ec -o cond01.ec
++ cat should_work/test_boolred.lus
++ ./lus2lic should_work/test_boolred.lus -n test_boolred -ec -o test_boolred.ec
 + echo lus2lic -ec done
 lus2lic -ec done
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:cond01.ec:cond01 -rp env:lutin:_cond01_env.lut -rp oracle:v6:_cond01_oracle.lus:cond01_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./lurettetop -p 6 -seed 42 -rp sut:ec:test_boolred.ec:test_boolred -rp env:lutin:_test_boolred_env.lut -rp oracle:v6:_test_boolred_oracle.lus:test_boolred_oracle -go -l 10 -ns2c --stop-on-oracle-error
 RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo lurettetop ok
+lurettetop ok
+PASS: ../utils/test_lus2lic_no_node should_work/test_boolred.lus
+spawn ./lus2lic -2c should_work/test_boolred.lus -n test_boolred
+test_boolred_test_boolred_loop.c has been generated.
+test_boolred_test_boolred.h has been generated.
+test_boolred_test_boolred.c has been generated.
+you can compile those files doing, e.g.,
+  gcc test_boolred_test_boolred.c test_boolred_test_boolred_loop.c
+PASS: ./lus2lic {-2c should_work/test_boolred.lus -n test_boolred}
+spawn rm -f a.out
+spawn gcc test_boolred_test_boolred.c test_boolred_test_boolred_loop.c
+PASS: gcc test_boolred_test_boolred.c test_boolred_test_boolred_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/test_boolred.lus
++ ./lus2lic should_work/test_boolred.lus -n test_boolred --gen-autotest -np
+_test_boolred_env.lut generated.
+_test_boolred_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/test_boolred.lus
++ ./lus2lic should_work/test_boolred.lus -n test_boolred -2c -cc
+test_boolred_test_boolred_loop.c has been generated.
+test_boolred_test_boolred.h has been generated.
+test_boolred_test_boolred.c has been generated.
+sys call: 'gcc test_boolred_test_boolred.c test_boolred_test_boolred_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_test_boolred_env.lut -rp oracle:v6:_test_boolred_oracle.lus:test_boolred_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/test_boolred.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/test_boolred.lus: ok
 + echo lurettetop ok
 lurettetop ok
 + exit 0
-PASS: ../utils/test_lus2lic_no_node should_work/cond01.lus
-spawn ./lus2lic -o /tmp/shiftFill_ludic.lic should_work/shiftFill_ludic.lus
-PASS: ./lus2lic {-o /tmp/shiftFill_ludic.lic should_work/shiftFill_ludic.lus}
-spawn ./lus2lic -ec -o /tmp/shiftFill_ludic.ec should_work/shiftFill_ludic.lus
-PASS: ./lus2lic {-ec -o /tmp/shiftFill_ludic.ec should_work/shiftFill_ludic.lus}
-spawn ./myec2c -o /tmp/shiftFill_ludic.c /tmp/shiftFill_ludic.ec
-PASS: ./myec2c {-o /tmp/shiftFill_ludic.c /tmp/shiftFill_ludic.ec}
+PASS: ../utils/compare_exec_and_2c should_work/test_boolred.lus
+spawn ./lus2lic -o ./tmp/shiftFill_ludic.lic should_work/shiftFill_ludic.lus
+PASS: ./lus2lic {-o ./tmp/shiftFill_ludic.lic should_work/shiftFill_ludic.lus}
+spawn ./lus2lic -ec -o ./tmp/shiftFill_ludic.ec should_work/shiftFill_ludic.lus
+PASS: ./lus2lic {-ec -o ./tmp/shiftFill_ludic.ec should_work/shiftFill_ludic.lus}
+spawn ./myec2c -o ./tmp/shiftFill_ludic.c ./tmp/shiftFill_ludic.ec
+PASS: ./myec2c {-o ./tmp/shiftFill_ludic.c ./tmp/shiftFill_ludic.ec}
 spawn ../utils/test_lus2lic_no_node should_work/shiftFill_ludic.lus
 + ./lus2lic should_work/shiftFill_ludic.lus -n shiftFill_ludic --gen-autotest -np
 _shiftFill_ludic_env.lut generated.
@@ -6307,7 +14937,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -6316,12 +14946,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/shiftFill_ludic.lus
-spawn ./lus2lic -o /tmp/after.lic should_work/after.lus
-PASS: ./lus2lic {-o /tmp/after.lic should_work/after.lus}
-spawn ./lus2lic -ec -o /tmp/after.ec should_work/after.lus
-PASS: ./lus2lic {-ec -o /tmp/after.ec should_work/after.lus}
-spawn ./myec2c -o /tmp/after.c /tmp/after.ec
-PASS: ./myec2c {-o /tmp/after.c /tmp/after.ec}
+spawn ./lus2lic -2c should_work/shiftFill_ludic.lus -n shiftFill_ludic
+shiftFill_ludic_shiftFill_ludic_loop.c has been generated.
+shiftFill_ludic_shiftFill_ludic.h has been generated.
+shiftFill_ludic_shiftFill_ludic.c has been generated.
+you can compile those files doing, e.g.,
+  gcc shiftFill_ludic_shiftFill_ludic.c shiftFill_ludic_shiftFill_ludic_loop.c
+PASS: ./lus2lic {-2c should_work/shiftFill_ludic.lus -n shiftFill_ludic}
+spawn rm -f a.out
+spawn gcc shiftFill_ludic_shiftFill_ludic.c shiftFill_ludic_shiftFill_ludic_loop.c
+PASS: gcc shiftFill_ludic_shiftFill_ludic.c shiftFill_ludic_shiftFill_ludic_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/shiftFill_ludic.lus
++ ./lus2lic should_work/shiftFill_ludic.lus -n shiftFill_ludic --gen-autotest -np
+_shiftFill_ludic_env.lut generated.
+_shiftFill_ludic_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/shiftFill_ludic.lus
++ ./lus2lic should_work/shiftFill_ludic.lus -n shiftFill_ludic -2c -cc
+shiftFill_ludic_shiftFill_ludic_loop.c has been generated.
+shiftFill_ludic_shiftFill_ludic.h has been generated.
+shiftFill_ludic_shiftFill_ludic.c has been generated.
+sys call: 'gcc shiftFill_ludic_shiftFill_ludic.c shiftFill_ludic_shiftFill_ludic_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_shiftFill_ludic_env.lut -rp oracle:v6:_shiftFill_ludic_oracle.lus:shiftFill_ludic_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/shiftFill_ludic.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/shiftFill_ludic.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/shiftFill_ludic.lus
+spawn ./lus2lic -o ./tmp/after.lic should_work/after.lus
+PASS: ./lus2lic {-o ./tmp/after.lic should_work/after.lus}
+spawn ./lus2lic -ec -o ./tmp/after.ec should_work/after.lus
+PASS: ./lus2lic {-ec -o ./tmp/after.ec should_work/after.lus}
+spawn ./myec2c -o ./tmp/after.c ./tmp/after.ec
+PASS: ./myec2c {-o ./tmp/after.c ./tmp/after.ec}
 spawn ../utils/test_lus2lic_no_node should_work/after.lus
 + ./lus2lic should_work/after.lus -n after --gen-autotest -np
 _after_env.lut generated.
@@ -6338,7 +15012,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -6347,12 +15021,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/after.lus
-spawn ./lus2lic -o /tmp/arrays.lic should_work/arrays.lus
-PASS: ./lus2lic {-o /tmp/arrays.lic should_work/arrays.lus}
-spawn ./lus2lic -ec -o /tmp/arrays.ec should_work/arrays.lus
-PASS: ./lus2lic {-ec -o /tmp/arrays.ec should_work/arrays.lus}
-spawn ./myec2c -o /tmp/arrays.c /tmp/arrays.ec
-PASS: ./myec2c {-o /tmp/arrays.c /tmp/arrays.ec}
+spawn ./lus2lic -2c should_work/after.lus -n after
+after_after_loop.c has been generated.
+after_after.h has been generated.
+after_after.c has been generated.
+you can compile those files doing, e.g.,
+  gcc after_after.c after_after_loop.c
+PASS: ./lus2lic {-2c should_work/after.lus -n after}
+spawn rm -f a.out
+spawn gcc after_after.c after_after_loop.c
+PASS: gcc after_after.c after_after_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/after.lus
++ ./lus2lic should_work/after.lus -n after --gen-autotest -np
+_after_env.lut generated.
+_after_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/after.lus
++ ./lus2lic should_work/after.lus -n after -2c -cc
+after_after_loop.c has been generated.
+after_after.h has been generated.
+after_after.c has been generated.
+sys call: 'gcc after_after.c after_after_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_after_env.lut -rp oracle:v6:_after_oracle.lus:after_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/after.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/after.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/after.lus
+spawn ./lus2lic -o ./tmp/arrays.lic should_work/arrays.lus
+PASS: ./lus2lic {-o ./tmp/arrays.lic should_work/arrays.lus}
+spawn ./lus2lic -ec -o ./tmp/arrays.ec should_work/arrays.lus
+PASS: ./lus2lic {-ec -o ./tmp/arrays.ec should_work/arrays.lus}
+spawn ./myec2c -o ./tmp/arrays.c ./tmp/arrays.ec
+PASS: ./myec2c {-o ./tmp/arrays.c ./tmp/arrays.ec}
 spawn ../utils/test_lus2lic_no_node should_work/arrays.lus
 + ./lus2lic should_work/arrays.lus -n arrays --gen-autotest -np
 _arrays_env.lut generated.
@@ -6369,7 +15087,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -6378,12 +15096,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/arrays.lus
-spawn ./lus2lic -o /tmp/nc3.lic should_work/nc3.lus
-PASS: ./lus2lic {-o /tmp/nc3.lic should_work/nc3.lus}
-spawn ./lus2lic -ec -o /tmp/nc3.ec should_work/nc3.lus
-PASS: ./lus2lic {-ec -o /tmp/nc3.ec should_work/nc3.lus}
-spawn ./myec2c -o /tmp/nc3.c /tmp/nc3.ec
-PASS: ./myec2c {-o /tmp/nc3.c /tmp/nc3.ec}
+spawn ./lus2lic -2c should_work/arrays.lus -n arrays
+arrays_arrays_loop.c has been generated.
+arrays_arrays.h has been generated.
+arrays_arrays.c has been generated.
+you can compile those files doing, e.g.,
+  gcc arrays_arrays.c arrays_arrays_loop.c
+PASS: ./lus2lic {-2c should_work/arrays.lus -n arrays}
+spawn rm -f a.out
+spawn gcc arrays_arrays.c arrays_arrays_loop.c
+PASS: gcc arrays_arrays.c arrays_arrays_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/arrays.lus
++ ./lus2lic should_work/arrays.lus -n arrays --gen-autotest -np
+_arrays_env.lut generated.
+_arrays_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/arrays.lus
++ ./lus2lic should_work/arrays.lus -n arrays -2c -cc
+arrays_arrays_loop.c has been generated.
+arrays_arrays.h has been generated.
+arrays_arrays.c has been generated.
+sys call: 'gcc arrays_arrays.c arrays_arrays_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_arrays_env.lut -rp oracle:v6:_arrays_oracle.lus:arrays_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/arrays.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/arrays.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/arrays.lus
+spawn ./lus2lic -o ./tmp/nc3.lic should_work/nc3.lus
+PASS: ./lus2lic {-o ./tmp/nc3.lic should_work/nc3.lus}
+spawn ./lus2lic -ec -o ./tmp/nc3.ec should_work/nc3.lus
+PASS: ./lus2lic {-ec -o ./tmp/nc3.ec should_work/nc3.lus}
+spawn ./myec2c -o ./tmp/nc3.c ./tmp/nc3.ec
+PASS: ./myec2c {-o ./tmp/nc3.c ./tmp/nc3.ec}
 spawn ../utils/test_lus2lic_no_node should_work/nc3.lus
 + ./lus2lic should_work/nc3.lus -n nc3 --gen-autotest -np
 _nc3_env.lut generated.
@@ -6400,27 +15162,69 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
 + echo lurettetop ok
+PASS: ../utils/test_lus2lic_no_node should_work/nc3.lus
+spawn ./lus2lic -2c should_work/nc3.lus -n nc3
+nc3_nc3_loop.c has been generated.
+nc3_nc3.h has been generated.
+nc3_nc3.c has been generated.
+you can compile those files doing, e.g.,
+  gcc nc3_nc3.c nc3_nc3_loop.c
+PASS: ./lus2lic {-2c should_work/nc3.lus -n nc3}
+spawn rm -f a.out
+spawn gcc nc3_nc3.c nc3_nc3_loop.c
+PASS: gcc nc3_nc3.c nc3_nc3_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/nc3.lus
++ ./lus2lic should_work/nc3.lus -n nc3 --gen-autotest -np
+_nc3_env.lut generated.
+_nc3_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/nc3.lus
++ ./lus2lic should_work/nc3.lus -n nc3 -2c -cc
+nc3_nc3_loop.c has been generated.
+nc3_nc3.h has been generated.
+nc3_nc3.c has been generated.
+sys call: 'gcc nc3_nc3.c nc3_nc3_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6+  -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_nc3_env.lut -rp oracle:v6:_nc3_oracle.lus:nc3_oracle -go -l 10./call-via-socket -ns2c -server --stop-on-oracle-error -addr
+ 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/nc3.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/nc3.lus: ok
++ echo lurettetop ok
 lurettetop ok
 + exit 0
-PASS: ../utils/test_lus2lic_no_node should_work/nc3.lus
-spawn ./lus2lic -o /tmp/speedcontrol.lic should_work/speedcontrol.lus
-PASS: ./lus2lic {-o /tmp/speedcontrol.lic should_work/speedcontrol.lus}
-spawn ./lus2lic -ec -o /tmp/speedcontrol.ec should_work/speedcontrol.lus
-PASS: ./lus2lic {-ec -o /tmp/speedcontrol.ec should_work/speedcontrol.lus}
-spawn ./myec2c -o /tmp/speedcontrol.c /tmp/speedcontrol.ec
-PASS: ./myec2c {-o /tmp/speedcontrol.c /tmp/speedcontrol.ec}
+PASS: ../utils/compare_exec_and_2c should_work/nc3.lus
+spawn ./lus2lic -o ./tmp/speedcontrol.lic should_work/speedcontrol.lus
+PASS: ./lus2lic {-o ./tmp/speedcontrol.lic should_work/speedcontrol.lus}
+spawn ./lus2lic -ec -o ./tmp/speedcontrol.ec should_work/speedcontrol.lus
+PASS: ./lus2lic {-ec -o ./tmp/speedcontrol.ec should_work/speedcontrol.lus}
+spawn ./myec2c -o ./tmp/speedcontrol.c ./tmp/speedcontrol.ec
+PASS: ./myec2c {-o ./tmp/speedcontrol.c ./tmp/speedcontrol.ec}
 spawn ../utils/test_lus2lic_no_node should_work/speedcontrol.lus
 + ./lus2lic should_work/speedcontrol.lus -n speedcontrol --gen-autotest -np
 Error. A combinational cycle been detected in file "/home/jahier/lus2lic/test/should_work/speedcontrol.lus", line 1, col 5 to 16, token 'speedcontrol' on 
-  v00 = speedcontrol::f1(counter)
-  counter = Lustre::arrow(0, v00)
-  v00 = speedcontrol::f1(counter)
+  v00 = speedcontrol::f2(counter)
+  counter = Lustre::arrow1(0, v00)
+  v00 = speedcontrol::f2(counter)
 
 Hint: try to use --expand-nodes.
 
@@ -6428,12 +15232,21 @@ Hint: try to use --expand-nodes.
 Error
 + exit 2
 FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/speedcontrol.lus
-spawn ./lus2lic -o /tmp/iterate.lic should_work/iterate.lus
-PASS: ./lus2lic {-o /tmp/iterate.lic should_work/iterate.lus}
-spawn ./lus2lic -ec -o /tmp/iterate.ec should_work/iterate.lus
-PASS: ./lus2lic {-ec -o /tmp/iterate.ec should_work/iterate.lus}
-spawn ./myec2c -o /tmp/iterate.c /tmp/iterate.ec
-PASS: ./myec2c {-o /tmp/iterate.c /tmp/iterate.ec}
+spawn ./lus2lic -2c should_work/speedcontrol.lus -n speedcontrol
+Error. A combinational cycle been detected in file "/home/jahier/lus2lic/test/should_work/speedcontrol.lus", line 1, col 5 to 16, token 'speedcontrol' on 
+  v00 = speedcontrol::f2(counter)
+  counter = Lustre::arrow1(0, v00)
+  v00 = speedcontrol::f2(counter)
+
+Hint: try to use --expand-nodes.
+
+FAIL: Generate c code  : ./lus2lic {-2c should_work/speedcontrol.lus -n speedcontrol}
+spawn ./lus2lic -o ./tmp/iterate.lic should_work/iterate.lus
+PASS: ./lus2lic {-o ./tmp/iterate.lic should_work/iterate.lus}
+spawn ./lus2lic -ec -o ./tmp/iterate.ec should_work/iterate.lus
+PASS: ./lus2lic {-ec -o ./tmp/iterate.ec should_work/iterate.lus}
+spawn ./myec2c -o ./tmp/iterate.c ./tmp/iterate.ec
+PASS: ./myec2c {-o ./tmp/iterate.c ./tmp/iterate.ec}
 spawn ../utils/test_lus2lic_no_node should_work/iterate.lus
 + ./lus2lic should_work/iterate.lus -n iterate --gen-autotest -np
 _iterate_env.lut generated.
@@ -6450,7 +15263,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -6459,71 +15272,83 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/iterate.lus
-spawn ./lus2lic -o /tmp/overload.lic should_work/overload.lus
-PASS: ./lus2lic {-o /tmp/overload.lic should_work/overload.lus}
-spawn ./lus2lic -ec -o /tmp/overload.ec should_work/overload.lus
-PASS: ./lus2lic {-ec -o /tmp/overload.ec should_work/overload.lus}
-spawn ./myec2c -o /tmp/overload.c /tmp/overload.ec
-PASS: ./myec2c {-o /tmp/overload.c /tmp/overload.ec}
-spawn ../utils/test_lus2lic_no_node should_work/overload.lus
-+ ./lus2lic should_work/overload.lus -n overload --gen-autotest -np
-_overload_env.lut generated.
-_overload_oracle.lus generated.
+spawn ./lus2lic -2c should_work/iterate.lus -n iterate
+iterate_iterate_loop.c has been generated.
+iterate_iterate.h has been generated.
+iterate_iterate.c has been generated.
+you can compile those files doing, e.g.,
+  gcc iterate_iterate.c iterate_iterate_loop.c
+PASS: ./lus2lic {-2c should_work/iterate.lus -n iterate}
+spawn rm -f a.out
+spawn gcc iterate_iterate.c iterate_iterate_loop.c
+PASS: gcc iterate_iterate.c iterate_iterate_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/iterate.lus
++ ./lus2lic should_work/iterate.lus -n iterate --gen-autotest -np
+_iterate_env.lut generated.
+_iterate_oracle.lus generated.
 + echo lus2lic --gen-autotest done
 lus2lic --gen-autotest done
-+ cat should_work/overload.lus
-+ ./lus2lic should_work/overload.lus -n overload -ec -o overload.ec
-+ echo lus2lic -ec done
-lus2lic -ec done
++ cat should_work/iterate.lus
++ ./lus2lic should_work/iterate.lus -n iterate -2c -cc
+iterate_iterate_loop.c has been generated.
+iterate_iterate.h has been generated.
+iterate_iterate.c has been generated.
+sys call: 'gcc iterate_iterate.c iterate_iterate_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:overload.ec:overload -rp env:lutin:_overload_env.lut -rp oracle:v6:_overload_oracle.lus:overload_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_iterate_env.lut -rp oracle:v6:_iterate_oracle.lus:iterate_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
 RP Variables are compatible.
-quit
-
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/iterate.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/iterate.lus: ok
 + echo lurettetop ok
 lurettetop ok
 + exit 0
-PASS: ../utils/test_lus2lic_no_node should_work/overload.lus
-spawn ./lus2lic -o /tmp/PCOND.lic should_work/PCOND.lus
-PASS: ./lus2lic {-o /tmp/PCOND.lic should_work/PCOND.lus}
-spawn ./lus2lic -ec -o /tmp/PCOND.ec should_work/PCOND.lus
-PASS: ./lus2lic {-ec -o /tmp/PCOND.ec should_work/PCOND.lus}
-spawn ./myec2c -o /tmp/PCOND.c /tmp/PCOND.ec
-PASS: ./myec2c {-o /tmp/PCOND.c /tmp/PCOND.ec}
-spawn ../utils/test_lus2lic_no_node should_work/PCOND.lus
-+ ./lus2lic should_work/PCOND.lus -n PCOND --gen-autotest -np
-_PCOND_env.lut generated.
-_PCOND_oracle.lus generated.
-+ echo lus2lic --gen-autotest done
-lus2lic --gen-autotest done
-+ cat should_work/PCOND.lus
-+ ./lus2lic should_work/PCOND.lus -n PCOND -ec -o PCOND.ec
-+ echo lus2lic -ec done
-lus2lic -ec done
-+ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:PCOND.ec:PCOND -rp env:lutin:_PCOND_env.lut -rp oracle:v6:_PCOND_oracle.lus:PCOND_oracle -go -l 10 -ns2c --stop-on-oracle-error
-Error in lurette: Lv6errors.Compile_error(_, "\n*** clock error: The two following clocks are not compatible:\n***\t on base\n***\t on h0 on base\n")
-Lurette launched a process that failed (exit 2).
- 
-break signal catched
+PASS: ../utils/compare_exec_and_2c should_work/iterate.lus
+spawn ./lus2lic -o ./tmp/PCOND.lic should_work/PCOND.lus
+*** Error in file "/home/jahier/lus2lic/test/should_work/PCOND.lus", line 15, col 4 to 4, token '=':
+*** 
+*** clock error: The two following clocks are not compatible:
+***	 on base
+***	 on h0 on base
 
-lurettetop: bye!
-+ echo error
-error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/PCOND.lus
-spawn ./lus2lic -o /tmp/EDGE.lic should_work/EDGE.lus
-PASS: ./lus2lic {-o /tmp/EDGE.lic should_work/EDGE.lus}
-spawn ./lus2lic -ec -o /tmp/EDGE.ec should_work/EDGE.lus
-PASS: ./lus2lic {-ec -o /tmp/EDGE.ec should_work/EDGE.lus}
-spawn ./myec2c -o /tmp/EDGE.c /tmp/EDGE.ec
-PASS: ./myec2c {-o /tmp/EDGE.c /tmp/EDGE.ec}
+
+FAIL: without any option: ./lus2lic {-o ./tmp/PCOND.lic should_work/PCOND.lus}
+spawn ./lus2lic -ec -o ./tmp/PCOND.ec should_work/PCOND.lus
+*** Error in file "/home/jahier/lus2lic/test/should_work/PCOND.lus", line 15, col 4 to 4, token '=':
+*** 
+*** clock error: The two following clocks are not compatible:
+***	 on base
+***	 on h0 on base
+
+
+FAIL: Generate ec code  : ./lus2lic {-ec -o ./tmp/PCOND.ec should_work/PCOND.lus}
+spawn ./lus2lic -2c should_work/PCOND.lus -n PCOND
+*** Error in file "/home/jahier/lus2lic/test/should_work/PCOND.lus", line 15, col 4 to 4, token '=':
+*** 
+*** clock error: The two following clocks are not compatible:
+***	 on base
+***	 on h0 on base
+
+
+FAIL: Generate c code  : ./lus2lic {-2c should_work/PCOND.lus -n PCOND}
+spawn ./lus2lic -o ./tmp/EDGE.lic should_work/EDGE.lus
+PASS: ./lus2lic {-o ./tmp/EDGE.lic should_work/EDGE.lus}
+spawn ./lus2lic -ec -o ./tmp/EDGE.ec should_work/EDGE.lus
+PASS: ./lus2lic {-ec -o ./tmp/EDGE.ec should_work/EDGE.lus}
+spawn ./myec2c -o ./tmp/EDGE.c ./tmp/EDGE.ec
+PASS: ./myec2c {-o ./tmp/EDGE.c ./tmp/EDGE.ec}
 spawn ../utils/test_lus2lic_no_node should_work/EDGE.lus
 + ./lus2lic should_work/EDGE.lus -n EDGE --gen-autotest -np
 _EDGE_env.lut generated.
@@ -6540,7 +15365,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -6549,51 +15374,83 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/EDGE.lus
-spawn ./lus2lic -o /tmp/call03.lic should_work/call03.lus
-PASS: ./lus2lic {-o /tmp/call03.lic should_work/call03.lus}
-spawn ./lus2lic -ec -o /tmp/call03.ec should_work/call03.lus
-PASS: ./lus2lic {-ec -o /tmp/call03.ec should_work/call03.lus}
-spawn ./myec2c -o /tmp/call03.c /tmp/call03.ec
-PASS: ./myec2c {-o /tmp/call03.c /tmp/call03.ec}
-spawn ../utils/test_lus2lic_no_node should_work/call03.lus
-+ ./lus2lic should_work/call03.lus -n call03 --gen-autotest -np
-_call03_env.lut generated.
-_call03_oracle.lus generated.
+spawn ./lus2lic -2c should_work/EDGE.lus -n EDGE
+EDGE_EDGE_loop.c has been generated.
+EDGE_EDGE.h has been generated.
+EDGE_EDGE.c has been generated.
+you can compile those files doing, e.g.,
+  gcc EDGE_EDGE.c EDGE_EDGE_loop.c
+PASS: ./lus2lic {-2c should_work/EDGE.lus -n EDGE}
+spawn rm -f a.out
+spawn gcc EDGE_EDGE.c EDGE_EDGE_loop.c
+PASS: gcc EDGE_EDGE.c EDGE_EDGE_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/EDGE.lus
++ ./lus2lic should_work/EDGE.lus -n EDGE --gen-autotest -np
+_EDGE_env.lut generated.
+_EDGE_oracle.lus generated.
 + echo lus2lic --gen-autotest done
 lus2lic --gen-autotest done
-+ cat should_work/call03.lus
-+ ./lus2lic should_work/call03.lus -n call03 -ec -o call03.ec
-+ echo lus2lic -ec done
-lus2lic -ec done
++ cat should_work/EDGE.lus
++ ./lus2lic should_work/EDGE.lus -n EDGE -2c -cc
+EDGE_EDGE_loop.c has been generated.
+EDGE_EDGE.h has been generated.
+EDGE_EDGE.c has been generated.
+sys call: 'gcc EDGE_EDGE.c EDGE_EDGE_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:call03.ec:call03 -rp env:lutin:_call03_env.lut -rp oracle:v6:_call03_oracle.lus:call03_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_EDGE_env.lut -rp oracle:v6:_EDGE_oracle.lus:EDGE_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
 RP Variables are compatible.
-quit
-
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/EDGE.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/EDGE.lus: ok
 + echo lurettetop ok
 lurettetop ok
 + exit 0
-PASS: ../utils/test_lus2lic_no_node should_work/call03.lus
-spawn ./lus2lic -o /tmp/modes3x2-simu.lic should_work/modes3x2-simu.lus
-PASS: ./lus2lic {-o /tmp/modes3x2-simu.lic should_work/modes3x2-simu.lus}
-spawn ./lus2lic -ec -o /tmp/modes3x2-simu.ec should_work/modes3x2-simu.lus
-PASS: ./lus2lic {-ec -o /tmp/modes3x2-simu.ec should_work/modes3x2-simu.lus}
-spawn ./myec2c -o /tmp/modes3x2-simu.c /tmp/modes3x2-simu.ec
+PASS: ../utils/compare_exec_and_2c should_work/EDGE.lus
+spawn ./lus2lic -o ./tmp/call03.lic should_work/call03.lus
+PASS: ./lus2lic {-o ./tmp/call03.lic should_work/call03.lus}
+spawn ./lus2lic -ec -o ./tmp/call03.ec should_work/call03.lus
+PASS: ./lus2lic {-ec -o ./tmp/call03.ec should_work/call03.lus}
+spawn ./myec2c -o ./tmp/call03.c ./tmp/call03.ec
+PASS: ./myec2c {-o ./tmp/call03.c ./tmp/call03.ec}
+spawn ./lus2lic -2c should_work/call03.lus -n call03
+call03_call03_loop.c has been generated.
+call03_call03.h has been generated.
+call03_call03.c has been generated.
+you can compile those files doing, e.g.,
+  gcc call03_call03.c call03_call03_loop.c
+PASS: ./lus2lic {-2c should_work/call03.lus -n call03}
+spawn rm -f a.out
+spawn gcc call03_call03.c call03_call03_loop.c
+PASS: gcc call03_call03.c call03_call03_loop.c 
+spawn ./lus2lic -o ./tmp/modes3x2-simu.lic should_work/modes3x2-simu.lus
+PASS: ./lus2lic {-o ./tmp/modes3x2-simu.lic should_work/modes3x2-simu.lus}
+spawn ./lus2lic -ec -o ./tmp/modes3x2-simu.ec should_work/modes3x2-simu.lus
+PASS: ./lus2lic {-ec -o ./tmp/modes3x2-simu.ec should_work/modes3x2-simu.lus}
+spawn ./myec2c -o ./tmp/modes3x2-simu.c ./tmp/modes3x2-simu.ec
 syntax error     - at line 10
 syntax errors...
-FAIL: Try ec2c on the result: ./myec2c {-o /tmp/modes3x2-simu.c /tmp/modes3x2-simu.ec}
-spawn ./lus2lic -o /tmp/count.lic should_work/count.lus
-PASS: ./lus2lic {-o /tmp/count.lic should_work/count.lus}
-spawn ./lus2lic -ec -o /tmp/count.ec should_work/count.lus
-PASS: ./lus2lic {-ec -o /tmp/count.ec should_work/count.lus}
-spawn ./myec2c -o /tmp/count.c /tmp/count.ec
-PASS: ./myec2c {-o /tmp/count.c /tmp/count.ec}
+FAIL: Try ec2c on the result: ./myec2c {-o ./tmp/modes3x2-simu.c ./tmp/modes3x2-simu.ec}
+spawn ./lus2lic -2c should_work/modes3x2-simu.lus -n modes3x2-simu
+Error. Can not find node modes3x2-simu
+FAIL: Generate c code  : ./lus2lic {-2c should_work/modes3x2-simu.lus -n modes3x2-simu}
+spawn ./lus2lic -o ./tmp/count.lic should_work/count.lus
+PASS: ./lus2lic {-o ./tmp/count.lic should_work/count.lus}
+spawn ./lus2lic -ec -o ./tmp/count.ec should_work/count.lus
+PASS: ./lus2lic {-ec -o ./tmp/count.ec should_work/count.lus}
+spawn ./myec2c -o ./tmp/count.c ./tmp/count.ec
+PASS: ./myec2c {-o ./tmp/count.c ./tmp/count.ec}
 spawn ../utils/test_lus2lic_no_node should_work/count.lus
 + ./lus2lic should_work/count.lus -n count --gen-autotest -np
 _count_env.lut generated.
@@ -6610,7 +15467,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -6619,12 +15476,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/count.lus
-spawn ./lus2lic -o /tmp/ck2.lic should_work/ck2.lus
-PASS: ./lus2lic {-o /tmp/ck2.lic should_work/ck2.lus}
-spawn ./lus2lic -ec -o /tmp/ck2.ec should_work/ck2.lus
-PASS: ./lus2lic {-ec -o /tmp/ck2.ec should_work/ck2.lus}
-spawn ./myec2c -o /tmp/ck2.c /tmp/ck2.ec
-PASS: ./myec2c {-o /tmp/ck2.c /tmp/ck2.ec}
+spawn ./lus2lic -2c should_work/count.lus -n count
+count_count_loop.c has been generated.
+count_count.h has been generated.
+count_count.c has been generated.
+you can compile those files doing, e.g.,
+  gcc count_count.c count_count_loop.c
+PASS: ./lus2lic {-2c should_work/count.lus -n count}
+spawn rm -f a.out
+spawn gcc count_count.c count_count_loop.c
+PASS: gcc count_count.c count_count_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/count.lus
++ ./lus2lic should_work/count.lus -n count --gen-autotest -np
+_count_env.lut generated.
+_count_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/count.lus
++ ./lus2lic should_work/count.lus -n count -2c -cc
+count_count_loop.c has been generated.
+count_count.h has been generated.
+count_count.c has been generated.
+sys call: 'gcc count_count.c count_count_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_count_env.lut -rp oracle:v6:_count_oracle.lus:count_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/count.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/count.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/count.lus
+spawn ./lus2lic -o ./tmp/ck2.lic should_work/ck2.lus
+PASS: ./lus2lic {-o ./tmp/ck2.lic should_work/ck2.lus}
+spawn ./lus2lic -ec -o ./tmp/ck2.ec should_work/ck2.lus
+PASS: ./lus2lic {-ec -o ./tmp/ck2.ec should_work/ck2.lus}
+spawn ./myec2c -o ./tmp/ck2.c ./tmp/ck2.ec
+PASS: ./myec2c {-o ./tmp/ck2.c ./tmp/ck2.ec}
 spawn ../utils/test_lus2lic_no_node should_work/ck2.lus
 + ./lus2lic should_work/ck2.lus -n ck2 --gen-autotest -np
 _ck2_env.lut generated.
@@ -6637,22 +15538,69 @@ lus2lic --gen-autotest done
 lus2lic -ec done
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
 + ./lurettetop -p 6 -seed 42 -rp sut:ec:ck2.ec:ck2 -rp env:lutin:_ck2_env.lut -rp oracle:v6:_ck2_oracle.lus:ck2_oracle -go -l 10 -ns2c --stop-on-oracle-error
-Error in lurette: Lv6errors.Compile_error(_, "\n*** clock error: The two following clocks are not compatible:\n***\t on base\n***\t on c on base\n")
-Lurette launched a process that failed (exit 2).
- 
+RP Variables are compatible.
+quit
+
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
-+ echo error
-error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/ck2.lus
-spawn ./lus2lic -o /tmp/X.lic should_work/X.lus
-PASS: ./lus2lic {-o /tmp/X.lic should_work/X.lus}
-spawn ./lus2lic -ec -o /tmp/X.ec should_work/X.lus
-PASS: ./lus2lic {-ec -o /tmp/X.ec should_work/X.lus}
-spawn ./myec2c -o /tmp/X.c /tmp/X.ec
-PASS: ./myec2c {-o /tmp/X.c /tmp/X.ec}
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/test_lus2lic_no_node should_work/ck2.lus
+spawn ./lus2lic -2c should_work/ck2.lus -n ck2
+ck2_ck2_loop.c has been generated.
+ck2_ck2.h has been generated.
+ck2_ck2.c has been generated.
+you can compile those files doing, e.g.,
+  gcc ck2_ck2.c ck2_ck2_loop.c
+PASS: ./lus2lic {-2c should_work/ck2.lus -n ck2}
+spawn rm -f a.out
+spawn gcc ck2_ck2.c ck2_ck2_loop.c
+PASS: gcc ck2_ck2.c ck2_ck2_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/ck2.lus
++ ./lus2lic should_work/ck2.lus -n ck2 --gen-autotest -np
+_ck2_env.lut generated.
+_ck2_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/ck2.lus
++ ./lus2lic should_work/ck2.lus -n ck2 -2c -cc
+ck2_ck2_loop.c has been generated.
+ck2_ck2.h has been generated.
+ck2_ck2.c has been generated.
+sys call: 'gcc ck2_ck2.c ck2_ck2_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_ck2_env.lut -rp oracle:v6:_ck2_oracle.lus:ck2_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/ck2.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/ck2.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/ck2.lus
+spawn ./lus2lic -o ./tmp/X.lic should_work/X.lus
+PASS: ./lus2lic {-o ./tmp/X.lic should_work/X.lus}
+spawn ./lus2lic -ec -o ./tmp/X.ec should_work/X.lus
+PASS: ./lus2lic {-ec -o ./tmp/X.ec should_work/X.lus}
+spawn ./myec2c -o ./tmp/X.c ./tmp/X.ec
+PASS: ./myec2c {-o ./tmp/X.c ./tmp/X.ec}
 spawn ../utils/test_lus2lic_no_node should_work/X.lus
 + ./lus2lic should_work/X.lus -n X --gen-autotest -np
 _X_env.lut generated.
@@ -6665,38 +15613,81 @@ lus2lic --gen-autotest done
 lus2lic -ec done
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
 + ./lurettetop -p 6 -seed 42 -rp sut:ec:X.ec:X -rp env:lutin:_X_env.lut -rp oracle:v6:_X_oracle.lus:X_oracle -go -l 10 -ns2c --stop-on-oracle-error
-Error in lurette: Lv6errors.Compile_error(_, "\n*** clock error: The two following clocks are not compatible:\n***\t on base\n***\t on c on base\n")
-Lurette launched a process that failed (exit 2).
- 
+RP Variables are compatible.
+quit
+
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
-+ echo error
-error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/X.lus
-spawn ./lus2lic -o /tmp/Condact.lic should_work/Condact.lus
-PASS: ./lus2lic {-o /tmp/Condact.lic should_work/Condact.lus}
-spawn ./lus2lic -ec -o /tmp/Condact.ec should_work/Condact.lus
-PASS: ./lus2lic {-ec -o /tmp/Condact.ec should_work/Condact.lus}
-spawn ./myec2c -o /tmp/Condact.c /tmp/Condact.ec
-PASS: ./myec2c {-o /tmp/Condact.c /tmp/Condact.ec}
-spawn ../utils/test_lus2lic_no_node should_work/Condact.lus
-+ ./lus2lic should_work/Condact.lus -n Condact --gen-autotest -np
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/test_lus2lic_no_node should_work/X.lus
+spawn ./lus2lic -2c should_work/X.lus -n X
+X_X_loop.c has been generated.
+X_X.h has been generated.
+X_X.c has been generated.
+you can compile those files doing, e.g.,
+  gcc X_X.c X_X_loop.c
+PASS: ./lus2lic {-2c should_work/X.lus -n X}
+spawn rm -f a.out
+spawn gcc X_X.c X_X_loop.c
+PASS: gcc X_X.c X_X_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/X.lus
++ ./lus2lic should_work/X.lus -n X --gen-autotest -np
+_X_env.lut generated.
+_X_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/X.lus
++ ./lus2lic should_work/X.lus -n X -2c -cc
+X_X_loop.c has been generated.
+X_X.h has been generated.
+X_X.c has been generated.
+sys call: 'gcc X_X.c X_X_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_X_env.lut -rp oracle:v6:_X_oracle.lus:X_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/X.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/X.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/X.lus
+spawn ./lus2lic -o ./tmp/Condact.lic should_work/Condact.lus
+PASS: ./lus2lic {-o ./tmp/Condact.lic should_work/Condact.lus}
+spawn ./lus2lic -ec -o ./tmp/Condact.ec should_work/Condact.lus
+PASS: ./lus2lic {-ec -o ./tmp/Condact.ec should_work/Condact.lus}
+spawn ./myec2c -o ./tmp/Condact.c ./tmp/Condact.ec
+PASS: ./myec2c {-o ./tmp/Condact.c ./tmp/Condact.ec}
+spawn ./lus2lic -2c should_work/Condact.lus -n Condact
 *** Can not find package 'Condact' in the following packages: 
 ***	 'Main'
 ***	 'TestCondact'
 ***	 'Util'
-+ echo Error
-Error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/Condact.lus
-spawn ./lus2lic -o /tmp/poussoir.lic should_work/poussoir.lus
-PASS: ./lus2lic {-o /tmp/poussoir.lic should_work/poussoir.lus}
-spawn ./lus2lic -ec -o /tmp/poussoir.ec should_work/poussoir.lus
-PASS: ./lus2lic {-ec -o /tmp/poussoir.ec should_work/poussoir.lus}
-spawn ./myec2c -o /tmp/poussoir.c /tmp/poussoir.ec
-PASS: ./myec2c {-o /tmp/poussoir.c /tmp/poussoir.ec}
+PASS: ./lus2lic {-2c should_work/Condact.lus -n Condact}
+spawn ./lus2lic -o ./tmp/poussoir.lic should_work/poussoir.lus
+PASS: ./lus2lic {-o ./tmp/poussoir.lic should_work/poussoir.lus}
+spawn ./lus2lic -ec -o ./tmp/poussoir.ec should_work/poussoir.lus
+PASS: ./lus2lic {-ec -o ./tmp/poussoir.ec should_work/poussoir.lus}
+spawn ./myec2c -o ./tmp/poussoir.c ./tmp/poussoir.ec
+PASS: ./myec2c {-o ./tmp/poussoir.c ./tmp/poussoir.ec}
 spawn ../utils/test_lus2lic_no_node should_work/poussoir.lus
 + ./lus2lic should_work/poussoir.lus -n poussoir --gen-autotest -np
 _poussoir_env.lut generated.
@@ -6713,7 +15704,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -6722,12 +15713,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/poussoir.lus
-spawn ./lus2lic -o /tmp/SWITCH1.lic should_work/SWITCH1.lus
-PASS: ./lus2lic {-o /tmp/SWITCH1.lic should_work/SWITCH1.lus}
-spawn ./lus2lic -ec -o /tmp/SWITCH1.ec should_work/SWITCH1.lus
-PASS: ./lus2lic {-ec -o /tmp/SWITCH1.ec should_work/SWITCH1.lus}
-spawn ./myec2c -o /tmp/SWITCH1.c /tmp/SWITCH1.ec
-PASS: ./myec2c {-o /tmp/SWITCH1.c /tmp/SWITCH1.ec}
+spawn ./lus2lic -2c should_work/poussoir.lus -n poussoir
+poussoir_poussoir_loop.c has been generated.
+poussoir_poussoir.h has been generated.
+poussoir_poussoir.c has been generated.
+you can compile those files doing, e.g.,
+  gcc poussoir_poussoir.c poussoir_poussoir_loop.c
+PASS: ./lus2lic {-2c should_work/poussoir.lus -n poussoir}
+spawn rm -f a.out
+spawn gcc poussoir_poussoir.c poussoir_poussoir_loop.c
+PASS: gcc poussoir_poussoir.c poussoir_poussoir_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/poussoir.lus
++ ./lus2lic should_work/poussoir.lus -n poussoir --gen-autotest -np
+_poussoir_env.lut generated.
+_poussoir_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/poussoir.lus
++ ./lus2lic should_work/poussoir.lus -n poussoir -2c -cc
+poussoir_poussoir_loop.c has been generated.
+poussoir_poussoir.h has been generated.
+poussoir_poussoir.c has been generated.
+sys call: 'gcc poussoir_poussoir.c poussoir_poussoir_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_poussoir_env.lut -rp oracle:v6:_poussoir_oracle.lus:poussoir_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/poussoir.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/poussoir.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/poussoir.lus
+spawn ./lus2lic -o ./tmp/SWITCH1.lic should_work/SWITCH1.lus
+PASS: ./lus2lic {-o ./tmp/SWITCH1.lic should_work/SWITCH1.lus}
+spawn ./lus2lic -ec -o ./tmp/SWITCH1.ec should_work/SWITCH1.lus
+PASS: ./lus2lic {-ec -o ./tmp/SWITCH1.ec should_work/SWITCH1.lus}
+spawn ./myec2c -o ./tmp/SWITCH1.c ./tmp/SWITCH1.ec
+PASS: ./myec2c {-o ./tmp/SWITCH1.c ./tmp/SWITCH1.ec}
 spawn ../utils/test_lus2lic_no_node should_work/SWITCH1.lus
 + ./lus2lic should_work/SWITCH1.lus -n SWITCH1 --gen-autotest -np
 _SWITCH1_env.lut generated.
@@ -6744,7 +15779,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -6753,12 +15788,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/SWITCH1.lus
-spawn ./lus2lic -o /tmp/clock1_2ms.lic should_work/clock1_2ms.lus
-PASS: ./lus2lic {-o /tmp/clock1_2ms.lic should_work/clock1_2ms.lus}
-spawn ./lus2lic -ec -o /tmp/clock1_2ms.ec should_work/clock1_2ms.lus
-PASS: ./lus2lic {-ec -o /tmp/clock1_2ms.ec should_work/clock1_2ms.lus}
-spawn ./myec2c -o /tmp/clock1_2ms.c /tmp/clock1_2ms.ec
-PASS: ./myec2c {-o /tmp/clock1_2ms.c /tmp/clock1_2ms.ec}
+spawn ./lus2lic -2c should_work/SWITCH1.lus -n SWITCH1
+SWITCH1_SWITCH1_loop.c has been generated.
+SWITCH1_SWITCH1.h has been generated.
+SWITCH1_SWITCH1.c has been generated.
+you can compile those files doing, e.g.,
+  gcc SWITCH1_SWITCH1.c SWITCH1_SWITCH1_loop.c
+PASS: ./lus2lic {-2c should_work/SWITCH1.lus -n SWITCH1}
+spawn rm -f a.out
+spawn gcc SWITCH1_SWITCH1.c SWITCH1_SWITCH1_loop.c
+PASS: gcc SWITCH1_SWITCH1.c SWITCH1_SWITCH1_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/SWITCH1.lus
++ ./lus2lic should_work/SWITCH1.lus -n SWITCH1 --gen-autotest -np
+_SWITCH1_env.lut generated.
+_SWITCH1_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/SWITCH1.lus
++ ./lus2lic should_work/SWITCH1.lus -n SWITCH1 -2c -cc
+SWITCH1_SWITCH1_loop.c has been generated.
+SWITCH1_SWITCH1.h has been generated.
+SWITCH1_SWITCH1.c has been generated.
+sys call: 'gcc SWITCH1_SWITCH1.c SWITCH1_SWITCH1_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_SWITCH1_env.lut -rp oracle:v6:_SWITCH1_oracle.lus:SWITCH1_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/SWITCH1.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/SWITCH1.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/SWITCH1.lus
+spawn ./lus2lic -o ./tmp/clock1_2ms.lic should_work/clock1_2ms.lus
+PASS: ./lus2lic {-o ./tmp/clock1_2ms.lic should_work/clock1_2ms.lus}
+spawn ./lus2lic -ec -o ./tmp/clock1_2ms.ec should_work/clock1_2ms.lus
+PASS: ./lus2lic {-ec -o ./tmp/clock1_2ms.ec should_work/clock1_2ms.lus}
+spawn ./myec2c -o ./tmp/clock1_2ms.c ./tmp/clock1_2ms.ec
+PASS: ./myec2c {-o ./tmp/clock1_2ms.c ./tmp/clock1_2ms.ec}
 spawn ../utils/test_lus2lic_no_node should_work/clock1_2ms.lus
 + ./lus2lic should_work/clock1_2ms.lus -n clock1_2ms --gen-autotest -np
 _clock1_2ms_env.lut generated.
@@ -6771,42 +15850,103 @@ lus2lic --gen-autotest done
 lus2lic -ec done
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
 + ./lurettetop -p 6 -seed 42 -rp sut:ec:clock1_2ms.ec:clock1_2ms -rp env:lutin:_clock1_2ms_env.lut -rp oracle:v6:_clock1_2ms_oracle.lus:clock1_2ms_oracle -go -l 10 -ns2c --stop-on-oracle-error
-Error in lurette: Lv6errors.Compile_error(_, "\n*** clock error: The two following clocks are not compatible:\n***\t on base\n***\t on Clock1ms on base\n")
-Lurette launched a process that failed (exit 2).
- 
+RP Variables are compatible.
+quit
+
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
-+ echo error
-error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/clock1_2ms.lus
-spawn ./lus2lic -o /tmp/decl.lic should_work/decl.lus
-PASS: ./lus2lic {-o /tmp/decl.lic should_work/decl.lus}
-spawn ./lus2lic -ec -o /tmp/decl.ec should_work/decl.lus
-PASS: ./lus2lic {-ec -o /tmp/decl.ec should_work/decl.lus}
-spawn ./myec2c -o /tmp/decl.c /tmp/decl.ec
-PASS: ./myec2c {-o /tmp/decl.c /tmp/decl.ec}
-spawn ../utils/test_lus2lic_no_node should_work/decl.lus
-+ ./lus2lic should_work/decl.lus -n decl --gen-autotest -np
-*** The soc of decl::decl is not defined. FINISH ME! 
-Extern node not yet supported, sorry
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/test_lus2lic_no_node should_work/clock1_2ms.lus
+spawn ./lus2lic -2c should_work/clock1_2ms.lus -n clock1_2ms
+clock1_2ms_clock1_2ms_loop.c has been generated.
+clock1_2ms_clock1_2ms.h has been generated.
+clock1_2ms_clock1_2ms.c has been generated.
+you can compile those files doing, e.g.,
+  gcc clock1_2ms_clock1_2ms.c clock1_2ms_clock1_2ms_loop.c
+PASS: ./lus2lic {-2c should_work/clock1_2ms.lus -n clock1_2ms}
+spawn rm -f a.out
+spawn gcc clock1_2ms_clock1_2ms.c clock1_2ms_clock1_2ms_loop.c
+PASS: gcc clock1_2ms_clock1_2ms.c clock1_2ms_clock1_2ms_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/clock1_2ms.lus
++ ./lus2lic should_work/clock1_2ms.lus -n clock1_2ms --gen-autotest -np
+_clock1_2ms_env.lut generated.
+_clock1_2ms_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/clock1_2ms.lus
++ ./lus2lic should_work/clock1_2ms.lus -n clock1_2ms -2c -cc
+clock1_2ms_clock1_2ms_loop.c has been generated.
+clock1_2ms_clock1_2ms.h has been generated.
+clock1_2ms_clock1_2ms.c has been generated.
+sys call: 'gcc clock1_2ms_clock1_2ms.c clock1_2ms_clock1_2ms_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_clock1_2ms_env.lut -rp oracle:v6:_clock1_2ms_oracle.lus:clock1_2ms_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
 
-*** oops: lus2lic internal error
-	File "src/lic2soc.ml", line 898, column 14
-*** when compiling lustre program should_work/decl.lus
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
 
-*** You migth want to sent a bug report to jahier@imag.fr
-+ echo Error
-Error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/decl.lus
-spawn ./lus2lic -o /tmp/bred_lv4.lic should_work/bred_lv4.lus
-PASS: ./lus2lic {-o /tmp/bred_lv4.lic should_work/bred_lv4.lus}
-spawn ./lus2lic -ec -o /tmp/bred_lv4.ec should_work/bred_lv4.lus
-PASS: ./lus2lic {-ec -o /tmp/bred_lv4.ec should_work/bred_lv4.lus}
-spawn ./myec2c -o /tmp/bred_lv4.c /tmp/bred_lv4.ec
-PASS: ./myec2c {-o /tmp/bred_lv4.c /tmp/bred_lv4.ec}
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/clock1_2ms.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/clock1_2ms.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/clock1_2ms.lus
+spawn ./lus2lic -o ./tmp/decl.lic should_work/decl.lus
+PASS: ./lus2lic {-o ./tmp/decl.lic should_work/decl.lus}
+spawn ./lus2lic -ec -o ./tmp/decl.ec should_work/decl.lus
+PASS: ./lus2lic {-ec -o ./tmp/decl.ec should_work/decl.lus}
+spawn ./myec2c -o ./tmp/decl.c ./tmp/decl.ec
+  Warning :
+basic support of extern node (treated as unsafe procedure)
+  Warning :
+basic support of extern node (treated as unsafe procedure)
+PASS: ./myec2c {-o ./tmp/decl.c ./tmp/decl.ec}
+spawn ./lus2lic -2c should_work/decl.lus -n decl
+decl_decl_ext.h has been generated.
+decl_decl_ext.c has been generated.
+decl_decl_loop.c has been generated.
+decl_decl.h has been generated.
+decl_decl.c has been generated.
+you can compile those files doing, e.g.,
+   gcc decl_decl.c decl_decl_ext.c decl_decl_loop.c
+PASS: ./lus2lic {-2c should_work/decl.lus -n decl}
+spawn rm -f a.out
+spawn gcc decl_decl.c decl_decl_ext.c decl_decl_loop.c
+In file included from decl_decl.h:21:0,
+                 from decl_decl.c:4:
+decl_decl_ext.h:9:44: error: unknown type name 'decl_decl_decl_t1decl_t1decl_t1b_ctx'
+In file included from decl_decl.h:21:0,
+                 from decl_decl_ext.c:1:
+decl_decl_ext.h:9:44: error: unknown type name 'decl_decl_decl_t1decl_t1decl_t1b_ctx'
+decl_decl_ext.c:5:44: error: unknown type name 'decl_decl_decl_t1decl_t1decl_t1b_ctx'
+decl_decl_ext.c:6:4: error: stray '\' in program
+decl_decl_ext.c:6:4: error: stray '\' in program
+In file included from decl_decl.h:21:0,
+                 from decl_decl_loop.c:8:
+decl_decl_ext.h:9:44: error: unknown type name 'decl_decl_decl_t1decl_t1decl_t1b_ctx'
+FAIL: Check that the generated C code compiles  : gcc decl_decl.c decl_decl_ext.c decl_decl_loop.c 
+spawn ./lus2lic -o ./tmp/bred_lv4.lic should_work/bred_lv4.lus
+PASS: ./lus2lic {-o ./tmp/bred_lv4.lic should_work/bred_lv4.lus}
+spawn ./lus2lic -ec -o ./tmp/bred_lv4.ec should_work/bred_lv4.lus
+PASS: ./lus2lic {-ec -o ./tmp/bred_lv4.ec should_work/bred_lv4.lus}
+spawn ./myec2c -o ./tmp/bred_lv4.c ./tmp/bred_lv4.ec
+PASS: ./myec2c {-o ./tmp/bred_lv4.c ./tmp/bred_lv4.ec}
 spawn ../utils/test_lus2lic_no_node should_work/bred_lv4.lus
 + ./lus2lic should_work/bred_lv4.lus -n bred_lv4 --gen-autotest -np
 _bred_lv4_env.lut generated.
@@ -6823,7 +15963,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -6832,12 +15972,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/bred_lv4.lus
-spawn ./lus2lic -o /tmp/trivial2.lic should_work/trivial2.lus
-PASS: ./lus2lic {-o /tmp/trivial2.lic should_work/trivial2.lus}
-spawn ./lus2lic -ec -o /tmp/trivial2.ec should_work/trivial2.lus
-PASS: ./lus2lic {-ec -o /tmp/trivial2.ec should_work/trivial2.lus}
-spawn ./myec2c -o /tmp/trivial2.c /tmp/trivial2.ec
-PASS: ./myec2c {-o /tmp/trivial2.c /tmp/trivial2.ec}
+spawn ./lus2lic -2c should_work/bred_lv4.lus -n bred_lv4
+bred_lv4_bred_lv4_loop.c has been generated.
+bred_lv4_bred_lv4.h has been generated.
+bred_lv4_bred_lv4.c has been generated.
+you can compile those files doing, e.g.,
+  gcc bred_lv4_bred_lv4.c bred_lv4_bred_lv4_loop.c
+PASS: ./lus2lic {-2c should_work/bred_lv4.lus -n bred_lv4}
+spawn rm -f a.out
+spawn gcc bred_lv4_bred_lv4.c bred_lv4_bred_lv4_loop.c
+PASS: gcc bred_lv4_bred_lv4.c bred_lv4_bred_lv4_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/bred_lv4.lus
++ ./lus2lic should_work/bred_lv4.lus -n bred_lv4 --gen-autotest -np
+_bred_lv4_env.lut generated.
+_bred_lv4_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/bred_lv4.lus
++ ./lus2lic should_work/bred_lv4.lus -n bred_lv4 -2c -cc
+bred_lv4_bred_lv4_loop.c has been generated.
+bred_lv4_bred_lv4.h has been generated.
+bred_lv4_bred_lv4.c has been generated.
+sys call: 'gcc bred_lv4_bred_lv4.c bred_lv4_bred_lv4_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_bred_lv4_env.lut -rp oracle:v6:_bred_lv4_oracle.lus:bred_lv4_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/bred_lv4.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/bred_lv4.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/bred_lv4.lus
+spawn ./lus2lic -o ./tmp/trivial2.lic should_work/trivial2.lus
+PASS: ./lus2lic {-o ./tmp/trivial2.lic should_work/trivial2.lus}
+spawn ./lus2lic -ec -o ./tmp/trivial2.ec should_work/trivial2.lus
+PASS: ./lus2lic {-ec -o ./tmp/trivial2.ec should_work/trivial2.lus}
+spawn ./myec2c -o ./tmp/trivial2.c ./tmp/trivial2.ec
+PASS: ./myec2c {-o ./tmp/trivial2.c ./tmp/trivial2.ec}
 spawn ../utils/test_lus2lic_no_node should_work/trivial2.lus
 + ./lus2lic should_work/trivial2.lus -n trivial2 --gen-autotest -np
 _trivial2_env.lut generated.
@@ -6854,7 +16038,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -6863,12 +16047,56 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/trivial2.lus
-spawn ./lus2lic -o /tmp/param_node.lic should_work/param_node.lus
-PASS: ./lus2lic {-o /tmp/param_node.lic should_work/param_node.lus}
-spawn ./lus2lic -ec -o /tmp/param_node.ec should_work/param_node.lus
-PASS: ./lus2lic {-ec -o /tmp/param_node.ec should_work/param_node.lus}
-spawn ./myec2c -o /tmp/param_node.c /tmp/param_node.ec
-PASS: ./myec2c {-o /tmp/param_node.c /tmp/param_node.ec}
+spawn ./lus2lic -2c should_work/trivial2.lus -n trivial2
+trivial2_trivial2_loop.c has been generated.
+trivial2_trivial2.h has been generated.
+trivial2_trivial2.c has been generated.
+you can compile those files doing, e.g.,
+  gcc trivial2_trivial2.c trivial2_trivial2_loop.c
+PASS: ./lus2lic {-2c should_work/trivial2.lus -n trivial2}
+spawn rm -f a.out
+spawn gcc trivial2_trivial2.c trivial2_trivial2_loop.c
+PASS: gcc trivial2_trivial2.c trivial2_trivial2_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/trivial2.lus
++ ./lus2lic should_work/trivial2.lus -n trivial2 --gen-autotest -np
+_trivial2_env.lut generated.
+_trivial2_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/trivial2.lus
++ ./lus2lic should_work/trivial2.lus -n trivial2 -2c -cc
+trivial2_trivial2_loop.c has been generated.
+trivial2_trivial2.h has been generated.
+trivial2_trivial2.c has been generated.
+sys call: 'gcc trivial2_trivial2.c trivial2_trivial2_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_trivial2_env.lut -rp oracle:v6:_trivial2_oracle.lus:trivial2_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/trivial2.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/trivial2.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/trivial2.lus
+spawn ./lus2lic -o ./tmp/param_node.lic should_work/param_node.lus
+PASS: ./lus2lic {-o ./tmp/param_node.lic should_work/param_node.lus}
+spawn ./lus2lic -ec -o ./tmp/param_node.ec should_work/param_node.lus
+PASS: ./lus2lic {-ec -o ./tmp/param_node.ec should_work/param_node.lus}
+spawn ./myec2c -o ./tmp/param_node.c ./tmp/param_node.ec
+PASS: ./myec2c {-o ./tmp/param_node.c ./tmp/param_node.ec}
 spawn ../utils/test_lus2lic_no_node should_work/param_node.lus
 + ./lus2lic should_work/param_node.lus -n param_node --gen-autotest -np
 _param_node_env.lut generated.
@@ -6885,7 +16113,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -6894,62 +16122,94 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/param_node.lus
-spawn ./lus2lic -o /tmp/simple.lic should_work/simple.lus
-PASS: ./lus2lic {-o /tmp/simple.lic should_work/simple.lus}
-spawn ./lus2lic -ec -o /tmp/simple.ec should_work/simple.lus
-PASS: ./lus2lic {-ec -o /tmp/simple.ec should_work/simple.lus}
-spawn ./myec2c -o /tmp/simple.c /tmp/simple.ec
-PASS: ./myec2c {-o /tmp/simple.c /tmp/simple.ec}
-spawn ../utils/test_lus2lic_no_node should_work/simple.lus
-+ ./lus2lic should_work/simple.lus -n simple --gen-autotest -np
-Extern node not yet supported, sorry
-
-*** oops: lus2lic internal error
-	File "src/socExec.ml", line 210, column 4
-*** when compiling lustre program should_work/simple.lus
-
-*** You migth want to sent a bug report to jahier@imag.fr
-+ echo Error
-Error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/simple.lus
-spawn ./lus2lic -o /tmp/func_with_body.lic should_work/func_with_body.lus
-PASS: ./lus2lic {-o /tmp/func_with_body.lic should_work/func_with_body.lus}
-spawn ./lus2lic -ec -o /tmp/func_with_body.ec should_work/func_with_body.lus
-PASS: ./lus2lic {-ec -o /tmp/func_with_body.ec should_work/func_with_body.lus}
-spawn ./myec2c -o /tmp/func_with_body.c /tmp/func_with_body.ec
-PASS: ./myec2c {-o /tmp/func_with_body.c /tmp/func_with_body.ec}
-spawn ../utils/test_lus2lic_no_node should_work/func_with_body.lus
-+ ./lus2lic should_work/func_with_body.lus -n func_with_body --gen-autotest -np
-_func_with_body_env.lut generated.
-_func_with_body_oracle.lus generated.
+spawn ./lus2lic -2c should_work/param_node.lus -n param_node
+param_node_param_node_loop.c has been generated.
+param_node_param_node.h has been generated.
+param_node_param_node.c has been generated.
+you can compile those files doing, e.g.,
+  gcc param_node_param_node.c param_node_param_node_loop.c
+PASS: ./lus2lic {-2c should_work/param_node.lus -n param_node}
+spawn rm -f a.out
+spawn gcc param_node_param_node.c param_node_param_node_loop.c
+PASS: gcc param_node_param_node.c param_node_param_node_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/param_node.lus
++ ./lus2lic should_work/param_node.lus -n param_node --gen-autotest -np
+_param_node_env.lut generated.
+_param_node_oracle.lus generated.
 + echo lus2lic --gen-autotest done
 lus2lic --gen-autotest done
-+ cat should_work/func_with_body.lus
-+ ./lus2lic should_work/func_with_body.lus -n func_with_body -ec -o func_with_body.ec
-+ echo lus2lic -ec done
-lus2lic -ec done
++ cat should_work/param_node.lus
++ ./lus2lic should_work/param_node.lus -n param_node -2c -cc
+param_node_param_node_loop.c has been generated.
+param_node_param_node.h has been generated.
+param_node_param_node.c has been generated.
+sys call: 'gcc param_node_param_node.c param_node_param_node_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-+ ./lurettetop -p 6 -seed 42 -rp sut:ec:func_with_body.ec:func_with_body -rp env:lutin:_func_with_body_env.lut -rp oracle:v6:_func_with_body_oracle.lus:func_with_body_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_param_node_env.lut -rp oracle:v6:_param_node_oracle.lus:param_node_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
 RP Variables are compatible.
-quit
-
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
 lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/param_node.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/param_node.lus: ok
 + echo lurettetop ok
 lurettetop ok
 + exit 0
-PASS: ../utils/test_lus2lic_no_node should_work/func_with_body.lus
-spawn ./lus2lic -o /tmp/minus.lic should_work/minus.lus
-PASS: ./lus2lic {-o /tmp/minus.lic should_work/minus.lus}
-spawn ./lus2lic -ec -o /tmp/minus.ec should_work/minus.lus
-PASS: ./lus2lic {-ec -o /tmp/minus.ec should_work/minus.lus}
-spawn ./myec2c -o /tmp/minus.c /tmp/minus.ec
-PASS: ./myec2c {-o /tmp/minus.c /tmp/minus.ec}
+PASS: ../utils/compare_exec_and_2c should_work/param_node.lus
+spawn ./lus2lic -o ./tmp/simple.lic should_work/simple.lus
+PASS: ./lus2lic {-o ./tmp/simple.lic should_work/simple.lus}
+spawn ./lus2lic -ec -o ./tmp/simple.ec should_work/simple.lus
+PASS: ./lus2lic {-ec -o ./tmp/simple.ec should_work/simple.lus}
+spawn ./myec2c -o ./tmp/simple.c ./tmp/simple.ec
+PASS: ./myec2c {-o ./tmp/simple.c ./tmp/simple.ec}
+spawn ./lus2lic -2c should_work/simple.lus -n simple
+simple_simple_ext.h has been generated.
+simple_simple_loop.c has been generated.
+simple_simple.h has been generated.
+simple_simple.c has been generated.
+you can compile those files doing, e.g.,
+  gcc simple_simple.c simple_simple_loop.c
+PASS: ./lus2lic {-2c should_work/simple.lus -n simple}
+spawn rm -f a.out
+spawn gcc simple_simple.c simple_simple_loop.c
+/tmp/ccXby19W.o: In function `main':
+simple_simple_loop.c:(.text+0x462): undefined reference to `_get_simple_S'
+collect2: error: ld returned 1 exit status
+FAIL: Check that the generated C code compiles  : gcc simple_simple.c simple_simple_loop.c 
+spawn ./lus2lic -o ./tmp/func_with_body.lic should_work/func_with_body.lus
+PASS: ./lus2lic {-o ./tmp/func_with_body.lic should_work/func_with_body.lus}
+spawn ./lus2lic -ec -o ./tmp/func_with_body.ec should_work/func_with_body.lus
+PASS: ./lus2lic {-ec -o ./tmp/func_with_body.ec should_work/func_with_body.lus}
+spawn ./myec2c -o ./tmp/func_with_body.c ./tmp/func_with_body.ec
+  Warning :
+basic support of extern node (treated as unsafe procedure)
+PASS: ./myec2c {-o ./tmp/func_with_body.c ./tmp/func_with_body.ec}
+spawn ./lus2lic -2c should_work/func_with_body.lus -n func_with_body
+func_with_body_func_with_body_loop.c has been generated.
+func_with_body_func_with_body.h has been generated.
+func_with_body_func_with_body.c has been generated.
+you can compile those files doing, e.g.,
+  gcc func_with_body_func_with_body.c func_with_body_func_with_body_loop.c
+PASS: ./lus2lic {-2c should_work/func_with_body.lus -n func_with_body}
+spawn rm -f a.out
+spawn gcc func_with_body_func_with_body.c func_with_body_func_with_body_loop.c
+PASS: gcc func_with_body_func_with_body.c func_with_body_func_with_body_loop.c 
+spawn ./lus2lic -o ./tmp/minus.lic should_work/minus.lus
+PASS: ./lus2lic {-o ./tmp/minus.lic should_work/minus.lus}
+spawn ./lus2lic -ec -o ./tmp/minus.ec should_work/minus.lus
+PASS: ./lus2lic {-ec -o ./tmp/minus.ec should_work/minus.lus}
+spawn ./myec2c -o ./tmp/minus.c ./tmp/minus.ec
+PASS: ./myec2c {-o ./tmp/minus.c ./tmp/minus.ec}
 spawn ../utils/test_lus2lic_no_node should_work/minus.lus
 + ./lus2lic should_work/minus.lus -n minus --gen-autotest -np
 _minus_env.lut generated.
@@ -6966,7 +16226,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -6975,20 +16235,60 @@ lurettetop: bye!
 lurettetop ok
 + exit 0
 PASS: ../utils/test_lus2lic_no_node should_work/minus.lus
-spawn ./lus2lic -o /tmp/remplissage-1.0.lic should_work/remplissage-1.0.lus
-PASS: ./lus2lic {-o /tmp/remplissage-1.0.lic should_work/remplissage-1.0.lus}
-spawn ./lus2lic -ec -o /tmp/remplissage-1.0.ec should_work/remplissage-1.0.lus
-PASS: ./lus2lic {-ec -o /tmp/remplissage-1.0.ec should_work/remplissage-1.0.lus}
-spawn ./myec2c -o /tmp/remplissage-1.0.c /tmp/remplissage-1.0.ec
-PASS: ./myec2c {-o /tmp/remplissage-1.0.c /tmp/remplissage-1.0.ec}
-spawn ../utils/test_lus2lic_no_node should_work/remplissage-1.0.lus
-+ ./lus2lic should_work/remplissage-1.0.lus -n remplissage-1.0 --gen-autotest -np
+spawn ./lus2lic -2c should_work/minus.lus -n minus
+minus_minus_loop.c has been generated.
+minus_minus.h has been generated.
+minus_minus.c has been generated.
+you can compile those files doing, e.g.,
+  gcc minus_minus.c minus_minus_loop.c
+PASS: ./lus2lic {-2c should_work/minus.lus -n minus}
+spawn rm -f a.out
+spawn gcc minus_minus.c minus_minus_loop.c
+PASS: gcc minus_minus.c minus_minus_loop.c 
+spawn ../utils/compare_exec_and_2c should_work/minus.lus
++ ./lus2lic should_work/minus.lus -n minus --gen-autotest -np
+_minus_env.lut generated.
+_minus_oracle.lus generated.
++ echo lus2lic --gen-autotest done
+lus2lic --gen-autotest done
++ cat should_work/minus.lus
++ ./lus2lic should_work/minus.lus -n minus -2c -cc
+minus_minus_loop.c has been generated.
+minus_minus.h has been generated.
+minus_minus.c has been generated.
+sys call: 'gcc minus_minus.c minus_minus_loop.c' executed with success
++ echo lus2lic -2c done
+lus2lic -2c done
++ PORT=2001
++ export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
++ ./lurettetop -p 6 -seed 42 -rp sut:socket:127.0.0.1:2001 -rp env:lutin:_minus_env.lut -rp oracle:v6:_minus_oracle.lus:minus_oracle -go -l 10 -ns2c --stop-on-oracle-error
++ ./call-via-socket -server -addr 127.0.0.1 -port 2001 ./a.out
+RP Variables are compatible.
+Killing the socket process (127.0.0.1:2001)
+'quit
+'
+
+The coverage rate is 100.0%
+The coverage file lurette.cov has been updated/generated
+break signal catched
+
+lurettetop: bye!
++ echo Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/minus.lus: ok
+Comparison of lus2lic -2c and lus2lic -exec with lurette on should_work/minus.lus: ok
++ echo lurettetop ok
+lurettetop ok
++ exit 0
+PASS: ../utils/compare_exec_and_2c should_work/minus.lus
+spawn ./lus2lic -o ./tmp/remplissage-1.0.lic should_work/remplissage-1.0.lus
+PASS: ./lus2lic {-o ./tmp/remplissage-1.0.lic should_work/remplissage-1.0.lus}
+spawn ./lus2lic -ec -o ./tmp/remplissage-1.0.ec should_work/remplissage-1.0.lus
+PASS: ./lus2lic {-ec -o ./tmp/remplissage-1.0.ec should_work/remplissage-1.0.lus}
+spawn ./myec2c -o ./tmp/remplissage-1.0.c ./tmp/remplissage-1.0.ec
+PASS: ./myec2c {-o ./tmp/remplissage-1.0.c ./tmp/remplissage-1.0.ec}
+spawn ./lus2lic -2c should_work/remplissage-1.0.lus -n remplissage-1.0
 *** Can not find package 'remplissage-1.0' in the following packages: 
 ***	 'util'
-+ echo Error
-Error
-+ exit 2
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/remplissage-1.0.lus
+PASS: ./lus2lic {-2c should_work/remplissage-1.0.lus -n remplissage-1.0}
 spawn ../utils/test_lus2lic_no_node should_fail/syntax/old_style_and_pack.lus
 + ./lus2lic should_fail/syntax/old_style_and_pack.lus -n old_style_and_pack --gen-autotest -np
 *** Error in file "/home/jahier/lus2lic/test/should_fail/syntax/old_style_and_pack.lus", line 17, col 0 to 3, token 'node':
@@ -7171,7 +16471,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -7209,7 +16509,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -7326,7 +16626,7 @@ Error. A combinational cycle been detected in file "/home/jahier/lus2lic/test/sh
   v00 = (z.y)
   v06 = (v05.y)
   v01 = (v00.y)
-  z.x.x = Lustre::arrow(0., v01)
+  z.x.x = Lustre::arrow1(0., v01)
   ok = Lustre::lt(v06, v08)
 
 Hint: try to use --expand-nodes.
@@ -7351,7 +16651,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -7385,7 +16685,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -7455,7 +16755,7 @@ RP Variables are compatible.
 quit
 
 
-The coverage rate is -nan%
+The coverage rate is 100.0%
 The coverage file lurette.cov has been updated/generated
 break signal catched
 
@@ -7587,8 +16887,8 @@ lus2lic -ec done
 + export PATH=/usr/local/tools/lustre/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
 + ./lurettetop -p 6 -seed 42 -rp sut:ec:assertion.ec:assertion -rp env:lutin:_assertion_env.lut -rp oracle:v6:_assertion_oracle.lus:assertion_oracle -go -l 10 -ns2c --stop-on-oracle-error
 RP Variables are compatible.
-#ERROR: Assertion takes on false
-RifIO.Bye
+Failure occured in lurette: ### rif parse error: `ec2oc' read, where a bool was expected (ec2oc lex error : unknown char '91' ([), line '39').
+
 Lurette launched a process that failed (exit 2).
  
 break signal catched
@@ -7718,49 +17018,50 @@ lurettetop: bye!
 error
 + exit 2
 XPASS: Test bad programs (assert): test_lus2lic_no_node should_fail/assert/eq1.lus
-testcase ./lus2lic.tests/non-reg.exp completed in 172 seconds
+testcase ./lus2lic.tests/non-reg.exp completed in 265 seconds
 Running ./lus2lic.tests/progression.exp ...
-spawn ./lus2lic -o /tmp/when_not.out should_work/broken/when_not.lus
-PASS: ./lus2lic {    -o /tmp/when_not.out should_work/broken/when_not.lus}
-spawn ./lus2lic -ec -o /tmp/when_not.ec should_work/broken/when_not.lus
-PASS: ./lus2lic {-ec -o /tmp/when_not.ec  should_work/broken/when_not.lus}
-spawn ./lus2lic -o /tmp/packages.out should_work/broken/packages.lus
-PASS: ./lus2lic {    -o /tmp/packages.out should_work/broken/packages.lus}
-spawn ./lus2lic -ec -o /tmp/packages.ec should_work/broken/packages.lus
-PASS: ./lus2lic {-ec -o /tmp/packages.ec  should_work/broken/packages.lus}
-spawn ./lus2lic -o /tmp/when_node.out should_work/broken/when_node.lus
-PASS: ./lus2lic {    -o /tmp/when_node.out should_work/broken/when_node.lus}
-spawn ./lus2lic -ec -o /tmp/when_node.ec should_work/broken/when_node.lus
-PASS: ./lus2lic {-ec -o /tmp/when_node.ec  should_work/broken/when_node.lus}
-spawn ./lus2lic -o /tmp/car-orig.out should_work/broken/car-orig.lus
-PASS: ./lus2lic {    -o /tmp/car-orig.out should_work/broken/car-orig.lus}
-spawn ./lus2lic -ec -o /tmp/car-orig.ec should_work/broken/car-orig.lus
-PASS: ./lus2lic {-ec -o /tmp/car-orig.ec  should_work/broken/car-orig.lus}
-spawn ./lus2lic -o /tmp/bad_call03.lic should_fail/type/broken/bad_call03.lus
-XPASS: Test bad programs (type): lus2lic {-o /tmp/bad_call03.lic should_fail/type/broken/bad_call03.lus}
-spawn ./lus2lic -o /tmp/ts03.lic should_fail/type/broken/ts03.lus
+spawn ./lus2lic -o ./tmp/when_not.out should_work/broken/when_not.lus
+PASS: ./lus2lic {    -o ./tmp/when_not.out should_work/broken/when_not.lus}
+spawn ./lus2lic -ec -o ./tmp/when_not.ec should_work/broken/when_not.lus
+PASS: ./lus2lic {-ec -o ./tmp/when_not.ec  should_work/broken/when_not.lus}
+spawn ./lus2lic -o ./tmp/packages.out should_work/broken/packages.lus
+PASS: ./lus2lic {    -o ./tmp/packages.out should_work/broken/packages.lus}
+spawn ./lus2lic -ec -o ./tmp/packages.ec should_work/broken/packages.lus
+PASS: ./lus2lic {-ec -o ./tmp/packages.ec  should_work/broken/packages.lus}
+spawn ./lus2lic -o ./tmp/when_node.out should_work/broken/when_node.lus
+PASS: ./lus2lic {    -o ./tmp/when_node.out should_work/broken/when_node.lus}
+spawn ./lus2lic -ec -o ./tmp/when_node.ec should_work/broken/when_node.lus
+PASS: ./lus2lic {-ec -o ./tmp/when_node.ec  should_work/broken/when_node.lus}
+spawn ./lus2lic -o ./tmp/car-orig.out should_work/broken/car-orig.lus
+PASS: ./lus2lic {    -o ./tmp/car-orig.out should_work/broken/car-orig.lus}
+spawn ./lus2lic -ec -o ./tmp/car-orig.ec should_work/broken/car-orig.lus
+PASS: ./lus2lic {-ec -o ./tmp/car-orig.ec  should_work/broken/car-orig.lus}
+spawn ./lus2lic -o ./tmp/bad_call03.lic should_fail/type/broken/bad_call03.lus
+XPASS: Test bad programs (type): lus2lic {-o ./tmp/bad_call03.lic should_fail/type/broken/bad_call03.lus}
+spawn ./lus2lic -o ./tmp/ts03.lic should_fail/type/broken/ts03.lus
 *** Error in file "/home/jahier/lus2lic/test/should_fail/type/broken/ts03.lus", line 11, col 22 to 22, token '+':
 *** Bad static argument nature, a constant was expected
 
-XFAIL: Test bad programs (type): lus2lic {-o /tmp/ts03.lic should_fail/type/broken/ts03.lus}
-spawn ./lus2lic -o /tmp/piege.lic should_fail/semantics/broken/piege.lus
-XPASS: Test bad programs (semantics): lus2lic {-o /tmp/piege.lic should_fail/semantics/broken/piege.lus}
-spawn ./lus2lic -o /tmp/cpt_dc.lic should_fail/semantics/broken/cpt_dc.lus
-XPASS: Test bad programs (semantics): lus2lic {-o /tmp/cpt_dc.lic should_fail/semantics/broken/cpt_dc.lus}
-spawn ./lus2lic -o /tmp/def.lic should_fail/semantics/broken/def.lus
-XPASS: Test bad programs (semantics): lus2lic {-o /tmp/def.lic should_fail/semantics/broken/def.lus}
-spawn ./lus2lic -o /tmp/activation2.lic should_fail/semantics/broken/activation2.lus
-XPASS: Test bad programs (semantics): lus2lic {-o /tmp/activation2.lic should_fail/semantics/broken/activation2.lus}
-spawn ./lus2lic -o /tmp/activation1.lic should_fail/semantics/broken/activation1.lus
-XPASS: Test bad programs (semantics): lus2lic {-o /tmp/activation1.lic should_fail/semantics/broken/activation1.lus}
-spawn ./lus2lic -o /tmp/bug.lic should_fail/semantics/broken/bug.lus
-XPASS: Test bad programs (semantics): lus2lic {-o /tmp/bug.lic should_fail/semantics/broken/bug.lus}
-testcase ./lus2lic.tests/progression.exp completed in 1 seconds
+XFAIL: Test bad programs (type): lus2lic {-o ./tmp/ts03.lic should_fail/type/broken/ts03.lus}
+spawn ./lus2lic -o ./tmp/piege.lic should_fail/semantics/broken/piege.lus
+XPASS: Test bad programs (semantics): lus2lic {-o ./tmp/piege.lic should_fail/semantics/broken/piege.lus}
+spawn ./lus2lic -o ./tmp/cpt_dc.lic should_fail/semantics/broken/cpt_dc.lus
+XPASS: Test bad programs (semantics): lus2lic {-o ./tmp/cpt_dc.lic should_fail/semantics/broken/cpt_dc.lus}
+spawn ./lus2lic -o ./tmp/def.lic should_fail/semantics/broken/def.lus
+XPASS: Test bad programs (semantics): lus2lic {-o ./tmp/def.lic should_fail/semantics/broken/def.lus}
+spawn ./lus2lic -o ./tmp/activation2.lic should_fail/semantics/broken/activation2.lus
+XPASS: Test bad programs (semantics): lus2lic {-o ./tmp/activation2.lic should_fail/semantics/broken/activation2.lus}
+spawn ./lus2lic -o ./tmp/activation1.lic should_fail/semantics/broken/activation1.lus
+XPASS: Test bad programs (semantics): lus2lic {-o ./tmp/activation1.lic should_fail/semantics/broken/activation1.lus}
+spawn ./lus2lic -o ./tmp/bug.lic should_fail/semantics/broken/bug.lus
+XPASS: Test bad programs (semantics): lus2lic {-o ./tmp/bug.lic should_fail/semantics/broken/bug.lus}
+testcase ./lus2lic.tests/progression.exp completed in 0 seconds
 
 		=== lus2lic Summary ===
 
-# of expected passes		887
-# of unexpected failures	77
+# of expected passes		1532
+# of unexpected failures	65
 # of unexpected successes	21
 # of expected failures		37
-runtest completed at Mon Jun  2 16:05:42 2014
+# of unresolved testcases	3
+runtest completed at Thu Aug 14 17:27:40 2014
diff --git a/test/lus2lic.sum b/test/lus2lic.sum
index 85424e823748f04277df01f7dfa480e6a50efe79..75effb48e62a5fac32e2c503c7ba622fc0dd554d 100644
--- a/test/lus2lic.sum
+++ b/test/lus2lic.sum
@@ -1,4 +1,4 @@
-Test Run By jahier on Thu Aug 14 16:18:48 2014
+Test Run By jahier on Thu Aug 14 17:23:15 2014
 Native configuration is i686-pc-linux-gnu
 
 		=== lus2lic tests ===
@@ -1675,5 +1675,5 @@ XPASS: Test bad programs (semantics): lus2lic {-o ./tmp/bug.lic should_fail/sema
 # of unexpected successes	21
 # of expected failures		37
 # of unresolved testcases	3
-testcase ./lus2lic.tests/non-reg.exp completed in 263 seconds
+testcase ./lus2lic.tests/non-reg.exp completed in 265 seconds
 testcase ./lus2lic.tests/progression.exp completed in 0 seconds
diff --git a/test/lus2lic.time b/test/lus2lic.time
index 6ea332fafd3bb579ca345b1b0ef2366d5ca0e47b..a307bc6f3821c230cc2b080793c4ffc1666a82c9 100644
--- a/test/lus2lic.time
+++ b/test/lus2lic.time
@@ -1,2 +1,2 @@
-testcase ./lus2lic.tests/non-reg.exp completed in 263 seconds
+testcase ./lus2lic.tests/non-reg.exp completed in 265 seconds
 testcase ./lus2lic.tests/progression.exp completed in 0 seconds
diff --git a/todo.org b/todo.org
index ccff6c89f9d9c28fee5a9bada24d6b3ca250cf37..f472d35d6f74a920d47d54a443ad9ac085896d37 100644
--- a/todo.org
+++ b/todo.org
@@ -72,25 +72,25 @@ et que ca marche tres bien. Ce qui prouve bien que ca ne sert a rien cette affai
 
 grep "FAIL:" lus2lic.log | grep "exec" | grep "\-2c" | sed s/'FAIL: Try to compare lus2lic -exec and -2c:'/-/
 
-1) ../utils/compare_exec_and_2c should_work/test_node_expand2.lus
+1. ../utils/compare_exec_and_2c should_work/test_node_expand2.lus
   -> -2110104000 est n'est pas un entier acceptable pour lutin sur les machines 32 bits...
 
-2) ../utils/compare_exec_and_2c should_work/test_node_expand.lus
+2. ../utils/compare_exec_and_2c should_work/test_node_expand.lus
   -> idem
 
-3) ../utils/compare_exec_and_2c should_work/sincos.lus
+3. ../utils/compare_exec_and_2c should_work/sincos.lus
   -> une erreur en mode -exec au step 2 (nil)
 
-4) ../utils/compare_exec_and_2c should_work/integrator.lus
+4. ../utils/compare_exec_and_2c should_work/integrator.lus
   -> pb d'arrondi (1305025.02198 vs 1305025.)
 
-5) ../utils/compare_exec_and_2c should_work/PCOND1.lus
+5. ../utils/compare_exec_and_2c should_work/PCOND1.lus
    -> pb d'arrondi / 32bits
 
-6) ../utils/compare_exec_and_2c should_work/multipar.lus
+6. ../utils/compare_exec_and_2c should_work/multipar.lus
   -> pb d'arrondi / 32bits
 
-7) ../utils/compare_exec_and_2c should_work/array_concat.lus
+7. ../utils/compare_exec_and_2c should_work/array_concat.lus
   -> le a.out fait un segmentation fault