From 4b9e886ffd1e6acada8d25565afb37f445ca187b Mon Sep 17 00:00:00 2001
From: Erwan Jahier <jahier@imag.fr>
Date: Mon, 22 Apr 2013 17:34:09 +0200
Subject: [PATCH] Extend the non-reg test with a lurette-based comparison of
 the -exec and -ec modes.

112 tests failed, and 127 passed !!
---
 src/main.ml                    | 129 ++++++++++-------
 test/Makefile                  |   2 +
 test/lus2lic.sum               | 248 ++++++++++++++++++++++++++++++++-
 test/lus2lic.tests/non-reg.exp |   3 +
 test/lus2lic.time              |   2 +-
 test/site.exp                  |   6 +-
 todo.org                       |  35 ++++-
 utils/test_lus2lic             |  19 +++
 utils/test_lus2lic_no_node     |  17 +++
 9 files changed, 404 insertions(+), 57 deletions(-)
 create mode 100755 utils/test_lus2lic
 create mode 100755 utils/test_lus2lic_no_node

diff --git a/src/main.ml b/src/main.ml
index cb75a239..1945362d 100644
--- a/src/main.ml
+++ b/src/main.ml
@@ -1,4 +1,4 @@
-(* Time-stamp: <modified the 17/04/2013 (at 11:19) by Erwan Jahier> *)
+(* Time-stamp: <modified the 19/04/2013 (at 13:53) by Erwan Jahier> *)
 
 open Verbose
 open AstV6
@@ -20,49 +20,83 @@ let rec first_pack_in =
     | (AstV6.NSModel _)::tail -> first_pack_in tail
     | [] -> raise (Global_error "No package has been provided")
 
-let (gen_lutin : LicPrg.t -> Ident.idref option -> unit) =
-  fun lic_prg main_node  -> 
-    (match main_node with
-      | None -> (print_string "No node is specified\n"; flush stdout)
-      | Some main_node -> 
-        let msk, zesoc = Lic2soc.f lic_prg (Lic.node_key_of_idref main_node) in
-        let soc = try Soc.SocMap.find msk zesoc with Not_found -> assert false in
-        let invars,outvars=soc.Soc.profile in
-        let invars = SocExec.expand_profile invars in
-        let outvars = SocExec.expand_profile outvars in
-        let invars_str  = List.map (fun (n,t) -> n^":"^(Data.type_to_string t)) invars in
-        let outvars_str = List.map (fun (n,t) -> n^":"^(Data.type_to_string t)) outvars in
-        let name = main_node.Ident.id_id in
-        let lutin_file_name = ("_"^name^"_env.lut") in
-        let oc = open_out lutin_file_name in
-        Lv6util.dump_entete oc; 
-        output_string oc ("node " ^ (name) ^ "_env("^ (String.concat ";" outvars_str) ^ 
+(* try to use the filenale to guess the dft node *)
+let find_a_node opt =
+  let first_file = List.hd opt.infiles in
+  let name = 
+    try Filename.chop_extension (Filename.basename first_file) 
+    with _ -> 
+		print_string ("*** '"^first_file^"': bad file name.\n"); exit 1
+  in
+  name
+
+
+(* Generates a lutin env and a lustre oracle for the node *)
+let (gen_autotest_files : LicPrg.t -> Ident.idref option -> Lv6MainArgs.t -> unit) =
+  fun lic_prg main_node opt -> 
+    let msk, zesoc, main_node = 
+      match main_node with
+        | None -> (
+          let name = find_a_node opt in
+          let main_node = Ident.to_idref name in
+          let nk = (Lic.node_key_of_idref main_node) in
+          if LicPrg.node_exists lic_prg nk then (
+            output_string stdout ("WARNING: No main node is specified. I'll try with " ^ name ^"\n");
+            flush stdout;
+            let msk, zesoc = Lic2soc.f lic_prg nk in
+            msk, zesoc, main_node
+          ) else (
+            print_string ("Error: no node is specified, cannot exec.\n");
+            flush stdout;
+            exit 1
+          )
+        )
+        | Some main_node -> 
+          let msk, zesoc = Lic2soc.f lic_prg (Lic.node_key_of_idref main_node) in
+          msk, zesoc, main_node
+    in
+    let soc = try Soc.SocMap.find msk zesoc with Not_found -> assert false in
+    let invars,outvars=soc.Soc.profile in
+    let invars = SocExec.expand_profile invars in
+    let outvars = SocExec.expand_profile outvars in
+    let invars_str  = List.map (fun (n,t) -> n^":"^(Data.type_to_string t)) invars in
+    let outvars_str = List.map (fun (n,t) -> n^":"^(Data.type_to_string t)) outvars in
+    let name = main_node.Ident.id_id in
+    let lutin_file_name = ("_"^name^"_env.lut") in
+    let oc = open_out lutin_file_name in
+    Lv6util.dump_entete oc; 
+    output_string oc ("node " ^ (name) ^ "_env("^ (String.concat ";" outvars_str) ^ 
                          ") returns(" ^ (String.concat ";" invars_str) ^ ") =\n   loop true \n");
-        flush oc; 
-        close_out oc;
-        output_string stdout (lutin_file_name ^" generated.\n"); 
-        
-        let oracle_file_name = ("_"^name^"_oracle.lus") in
-        let oc = open_out oracle_file_name in
-        let locals = List.map (fun (n,t) -> n^"_bis",t) outvars in
-        let prg = "node "^name^"_oracle("^(String.concat ";" (invars_str@outvars_str)) in
-        let prg = prg ^") returns(ok:bool);\n" in
-        let locals_str = List.map (fun (n,t) -> n^":"^(Data.type_to_string t)) locals in
-        let prg = prg ^ "var\n  " ^ (String.concat ";\n  " locals_str) ^ ";\nlet\n" in
-        let locals_name  = List.map fst locals in
-        let invars_name  = List.map fst invars in
-        let outvars_name = List.map fst outvars in
-        let prg = prg^"  ("^(String.concat "," locals_name)^") = "^name in
-        let prg = prg^"("^(String.concat "," invars_name)^");\n" in
-        let prg = prg^"  ok = ("^ (String.concat "," outvars_name) ^ "=" in
-        let prg = prg^ (String.concat "," locals_name) ^ ");\ntel;\n"  in
-        Lv6util.dump_entete oc; 
-        output_string oc prg;
-        flush oc; 
-        close_out oc;
-        output_string stdout (oracle_file_name ^" generated.\n"); 
-        flush stdout
-    )
+    flush oc; 
+    close_out oc;
+    output_string stdout (lutin_file_name ^" generated.\n"); 
+    
+    let oracle_file_name = ("_"^name^"_oracle.lus") in
+    let oc = open_out oracle_file_name in
+    let locals = List.map (fun (n,t) -> n^"_bis",t) outvars in
+    let prg = "node "^name^"_oracle("^(String.concat ";" (invars_str@outvars_str)) in
+    let locals_str = List.map (fun (n,t) -> n^":"^(Data.type_to_string t)) locals in
+    let ok = (* avoid name clash*)
+      let all_vars = List.map fst (List.rev_append (List.rev_append locals invars) outvars) in
+      let rec gen_ok str = if List.mem str all_vars then gen_ok ("_"^str) else str in
+      gen_ok "ok" 
+    in 
+    let prg = prg ^") returns("^ok^":bool;"^(String.concat ";" locals_str)^");\nlet\n" in
+    let locals_name  = List.map fst locals in
+    let invars_name  = List.map fst invars in
+    let outvars_name = List.map fst outvars in
+    let prg = prg^"  ("^(String.concat "," locals_name)^") = "^name in
+    let prg = prg^"("^(String.concat "," invars_name)^");\n  "^ok^" = (" in
+    let prg = prg^(String.concat " and\n \t\t  " (List.map2 (fun x y -> x^"="^y)
+                                           outvars_name locals_name)) ^ ");\ntel;\n"  
+    in
+    Lv6util.dump_entete oc; 
+    output_string oc prg;
+    flush oc; 
+    close_out oc;
+    output_string stdout (oracle_file_name ^" generated.\n"); 
+    flush stdout
+
 
 let main  = (
   (* Compile.init_appli () ; *)
@@ -91,16 +125,11 @@ let main  = (
     let nsl = Compile.get_source_list opt opt.infiles in
     let lic_prg = Compile.doit opt nsl main_node in
     if opt.Lv6MainArgs.gen_autotest then 
-      gen_lutin lic_prg main_node
+      gen_autotest_files lic_prg main_node opt
     else if opt.exec then
       (match main_node with
         | None -> (
-          let first_file = List.hd opt.infiles in
-          let name = 
-            try Filename.chop_extension (Filename.basename first_file) 
-            with _ -> 
-		        print_string ("*** '"^first_file^"': bad file name.\n"); exit 1
-          in
+          let name = find_a_node opt in
           let nk = (Lic.node_key_of_idref (Ident.to_idref name)) in
           if LicPrg.node_exists lic_prg nk then (
             print_string ("WARNING: No main node is specified. I'll try with " ^ name ^"\n");
diff --git a/test/Makefile b/test/Makefile
index 1df09b7c..1e619e75 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -36,5 +36,7 @@ nonreg:
 prog:
 	ssh triglav "cd  $(testdir) ; runtest --all 	--tool lus2lic --ignore non-reg.exp" || true
 
+clean:
+	rm -f *.ec *.lus *.lut *.cov *.gp *.rif *.out 
 
 
diff --git a/test/lus2lic.sum b/test/lus2lic.sum
index a2d1a04f..25dbdd76 100644
--- a/test/lus2lic.sum
+++ b/test/lus2lic.sum
@@ -1,4 +1,4 @@
-Test Run By jahier on Wed Apr 17 11:26:21 2013
+Test Run By jahier on Mon Apr 22 17:27:21 2013
 Native configuration is i686-pc-linux-gnu
 
 		=== lus2lic tests ===
@@ -12,135 +12,179 @@ PASS: ./lus2lic -unit
 PASS: ./lus2lic {-o /tmp/nc6.lic should_work/nc6.lus}
 PASS: ./lus2lic {-ec -o /tmp/nc6.ec should_work/nc6.lus}
 PASS: ./ec2c {-o /tmp/nc6.c /tmp/nc6.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/nc6.lus
 PASS: ./lus2lic {-o /tmp/argos.lic should_work/argos.lus}
 PASS: ./lus2lic {-ec -o /tmp/argos.ec should_work/argos.lus}
 PASS: ./ec2c {-o /tmp/argos.c /tmp/argos.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/argos.lus
 PASS: ./lus2lic {-o /tmp/ck5.lic should_work/ck5.lus}
 PASS: ./lus2lic {-ec -o /tmp/ck5.ec should_work/ck5.lus}
 PASS: ./ec2c {-o /tmp/ck5.c /tmp/ck5.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/ck5.lus
 PASS: ./lus2lic {-o /tmp/fby.lic should_work/fby.lus}
 PASS: ./lus2lic {-ec -o /tmp/fby.ec should_work/fby.lus}
 PASS: ./ec2c {-o /tmp/fby.c /tmp/fby.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/fby.lus
 PASS: ./lus2lic {-o /tmp/assertion.lic should_work/assertion.lus}
 PASS: ./lus2lic {-ec -o /tmp/assertion.ec should_work/assertion.lus}
 PASS: ./ec2c {-o /tmp/assertion.c /tmp/assertion.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/assertion.lus
 PASS: ./lus2lic {-o /tmp/normal.lic should_work/normal.lus}
 PASS: ./lus2lic {-ec -o /tmp/normal.ec should_work/normal.lus}
 PASS: ./ec2c {-o /tmp/normal.c /tmp/normal.ec}
+UNRESOLVED: Time out: ../utils/test_lus2lic_no_node should_work/normal.lus
 PASS: ./lus2lic {-o /tmp/nodeparam.lic should_work/nodeparam.lus}
 PASS: ./lus2lic {-ec -o /tmp/nodeparam.ec should_work/nodeparam.lus}
 PASS: ./ec2c {-o /tmp/nodeparam.c /tmp/nodeparam.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/nodeparam.lus
 PASS: ./lus2lic {-o /tmp/enum0.lic should_work/enum0.lus}
 PASS: ./lus2lic {-ec -o /tmp/enum0.ec should_work/enum0.lus}
 PASS: ./ec2c {-o /tmp/enum0.c /tmp/enum0.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/enum0.lus
 PASS: ./lus2lic {-o /tmp/ck6.lic should_work/ck6.lus}
 PASS: ./lus2lic {-ec -o /tmp/ck6.ec should_work/ck6.lus}
 PASS: ./ec2c {-o /tmp/ck6.c /tmp/ck6.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/ck6.lus
 PASS: ./lus2lic {-o /tmp/Gyroscope2.lic should_work/Gyroscope2.lus}
 PASS: ./lus2lic {-ec -o /tmp/Gyroscope2.ec should_work/Gyroscope2.lus}
 PASS: ./ec2c {-o /tmp/Gyroscope2.c /tmp/Gyroscope2.ec}
+UNRESOLVED: Time out: ../utils/test_lus2lic_no_node should_work/Gyroscope2.lus
 PASS: ./lus2lic {-o /tmp/mouse2.lic should_work/mouse2.lus}
 PASS: ./lus2lic {-ec -o /tmp/mouse2.ec should_work/mouse2.lus}
 PASS: ./ec2c {-o /tmp/mouse2.c /tmp/mouse2.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/mouse2.lus
 PASS: ./lus2lic {-o /tmp/dep.lic should_work/dep.lus}
 PASS: ./lus2lic {-ec -o /tmp/dep.ec should_work/dep.lus}
 PASS: ./ec2c {-o /tmp/dep.c /tmp/dep.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/dep.lus
 PASS: ./lus2lic {-o /tmp/ELMU.lic should_work/ELMU.lus}
 PASS: ./lus2lic {-ec -o /tmp/ELMU.ec should_work/ELMU.lus}
 PASS: ./ec2c {-o /tmp/ELMU.c /tmp/ELMU.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/ELMU.lus
 PASS: ./lus2lic {-o /tmp/testPilote.lic should_work/testPilote.lus}
 PASS: ./lus2lic {-ec -o /tmp/testPilote.ec should_work/testPilote.lus}
 PASS: ./ec2c {-o /tmp/testPilote.c /tmp/testPilote.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/testPilote.lus
 PASS: ./lus2lic {-o /tmp/redIf.lic should_work/redIf.lus}
 PASS: ./lus2lic {-ec -o /tmp/redIf.ec should_work/redIf.lus}
 PASS: ./ec2c {-o /tmp/redIf.c /tmp/redIf.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/redIf.lus
 PASS: ./lus2lic {-o /tmp/t0.lic should_work/t0.lus}
 PASS: ./lus2lic {-ec -o /tmp/t0.ec should_work/t0.lus}
 PASS: ./ec2c {-o /tmp/t0.c /tmp/t0.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/t0.lus
 PASS: ./lus2lic {-o /tmp/lucky.lic should_work/lucky.lus}
 PASS: ./lus2lic {-ec -o /tmp/lucky.ec should_work/lucky.lus}
 PASS: ./ec2c {-o /tmp/lucky.c /tmp/lucky.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/lucky.lus
 PASS: ./lus2lic {-o /tmp/heater_control.lic should_work/heater_control.lus}
 PASS: ./lus2lic {-ec -o /tmp/heater_control.ec should_work/heater_control.lus}
 PASS: ./ec2c {-o /tmp/heater_control.c /tmp/heater_control.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/heater_control.lus
 PASS: ./lus2lic {-o /tmp/titi.lic should_work/titi.lus}
 PASS: ./lus2lic {-ec -o /tmp/titi.ec should_work/titi.lus}
 PASS: ./ec2c {-o /tmp/titi.c /tmp/titi.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/titi.lus
 PASS: ./lus2lic {-o /tmp/cminus.lic should_work/cminus.lus}
 PASS: ./lus2lic {-ec -o /tmp/cminus.ec should_work/cminus.lus}
 PASS: ./ec2c {-o /tmp/cminus.c /tmp/cminus.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/cminus.lus
 PASS: ./lus2lic {-o /tmp/rs.lic should_work/rs.lus}
 PASS: ./lus2lic {-ec -o /tmp/rs.ec should_work/rs.lus}
 PASS: ./ec2c {-o /tmp/rs.c /tmp/rs.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/rs.lus
 PASS: ./lus2lic {-o /tmp/access.lic should_work/access.lus}
 PASS: ./lus2lic {-ec -o /tmp/access.ec should_work/access.lus}
 PASS: ./ec2c {-o /tmp/access.c /tmp/access.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/access.lus
 PASS: ./lus2lic {-o /tmp/aux.lic should_work/aux.lus}
 PASS: ./lus2lic {-ec -o /tmp/aux.ec should_work/aux.lus}
 PASS: ./ec2c {-o /tmp/aux.c /tmp/aux.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/aux.lus
 PASS: ./lus2lic {-o /tmp/consensus2.lic should_work/consensus2.lus}
 PASS: ./lus2lic {-ec -o /tmp/consensus2.ec should_work/consensus2.lus}
 PASS: ./ec2c {-o /tmp/consensus2.c /tmp/consensus2.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/consensus2.lus
 PASS: ./lus2lic {-o /tmp/dependeur.lic should_work/dependeur.lus}
 PASS: ./lus2lic {-ec -o /tmp/dependeur.ec should_work/dependeur.lus}
 PASS: ./ec2c {-o /tmp/dependeur.c /tmp/dependeur.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/dependeur.lus
 PASS: ./lus2lic {-o /tmp/mappredef.lic should_work/mappredef.lus}
 PASS: ./lus2lic {-ec -o /tmp/mappredef.ec should_work/mappredef.lus}
 PASS: ./ec2c {-o /tmp/mappredef.c /tmp/mappredef.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/mappredef.lus
 PASS: ./lus2lic {-o /tmp/call06.lic should_work/call06.lus}
 PASS: ./lus2lic {-ec -o /tmp/call06.ec should_work/call06.lus}
 PASS: ./ec2c {-o /tmp/call06.c /tmp/call06.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/call06.lus
 PASS: ./lus2lic {-o /tmp/deSimone.lic should_work/deSimone.lus}
 PASS: ./lus2lic {-ec -o /tmp/deSimone.ec should_work/deSimone.lus}
 PASS: ./ec2c {-o /tmp/deSimone.c /tmp/deSimone.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/deSimone.lus
 PASS: ./lus2lic {-o /tmp/bug2.lic should_work/bug2.lus}
 PASS: ./lus2lic {-ec -o /tmp/bug2.ec should_work/bug2.lus}
 PASS: ./ec2c {-o /tmp/bug2.c /tmp/bug2.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/bug2.lus
 PASS: ./lus2lic {-o /tmp/mm.lic should_work/mm.lus}
 PASS: ./lus2lic {-ec -o /tmp/mm.ec should_work/mm.lus}
 PASS: ./ec2c {-o /tmp/mm.c /tmp/mm.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/mm.lus
 PASS: ./lus2lic {-o /tmp/yyy.lic should_work/yyy.lus}
 PASS: ./lus2lic {-ec -o /tmp/yyy.ec should_work/yyy.lus}
 PASS: ./ec2c {-o /tmp/yyy.c /tmp/yyy.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/yyy.lus
 PASS: ./lus2lic {-o /tmp/toolate.lic should_work/toolate.lus}
 PASS: ./lus2lic {-ec -o /tmp/toolate.ec should_work/toolate.lus}
 PASS: ./ec2c {-o /tmp/toolate.c /tmp/toolate.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/toolate.lus
 PASS: ./lus2lic {-o /tmp/testCapt.lic should_work/testCapt.lus}
 PASS: ./lus2lic {-ec -o /tmp/testCapt.ec should_work/testCapt.lus}
 PASS: ./ec2c {-o /tmp/testCapt.c /tmp/testCapt.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/testCapt.lus
 PASS: ./lus2lic {-o /tmp/nc7.lic should_work/nc7.lus}
 PASS: ./lus2lic {-ec -o /tmp/nc7.ec should_work/nc7.lus}
 PASS: ./ec2c {-o /tmp/nc7.c /tmp/nc7.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/nc7.lus
 PASS: ./lus2lic {-o /tmp/predefOp.lic should_work/predefOp.lus}
 PASS: ./lus2lic {-ec -o /tmp/predefOp.ec should_work/predefOp.lus}
 PASS: ./ec2c {-o /tmp/predefOp.c /tmp/predefOp.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/predefOp.lus
 PASS: ./lus2lic {-o /tmp/t1.lic should_work/t1.lus}
 PASS: ./lus2lic {-ec -o /tmp/t1.ec should_work/t1.lus}
 PASS: ./ec2c {-o /tmp/t1.c /tmp/t1.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/t1.lus
 PASS: ./lus2lic {-o /tmp/nc9.lic should_work/nc9.lus}
 PASS: ./lus2lic {-ec -o /tmp/nc9.ec should_work/nc9.lus}
 PASS: ./ec2c {-o /tmp/nc9.c /tmp/nc9.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/nc9.lus
 PASS: ./lus2lic {-o /tmp/packageTableau.lic should_work/packageTableau.lus}
 PASS: ./lus2lic {-ec -o /tmp/packageTableau.ec should_work/packageTableau.lus}
 PASS: ./ec2c {-o /tmp/packageTableau.c /tmp/packageTableau.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/packageTableau.lus
 PASS: ./lus2lic {-o /tmp/car-V2.lic should_work/car-V2.lus}
 PASS: ./lus2lic {-ec -o /tmp/car-V2.ec should_work/car-V2.lus}
 PASS: ./ec2c {-o /tmp/car-V2.c /tmp/car-V2.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/car-V2.lus
 PASS: ./lus2lic {-o /tmp/nc8.lic should_work/nc8.lus}
 PASS: ./lus2lic {-ec -o /tmp/nc8.ec should_work/nc8.lus}
 PASS: ./ec2c {-o /tmp/nc8.c /tmp/nc8.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/nc8.lus
 PASS: ./lus2lic {-o /tmp/minmax5.lic should_work/minmax5.lus}
 PASS: ./lus2lic {-ec -o /tmp/minmax5.ec should_work/minmax5.lus}
 PASS: ./ec2c {-o /tmp/minmax5.c /tmp/minmax5.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/minmax5.lus
 PASS: ./lus2lic {-o /tmp/mm1.lic should_work/mm1.lus}
 PASS: ./lus2lic {-ec -o /tmp/mm1.ec should_work/mm1.lus}
 PASS: ./ec2c {-o /tmp/mm1.c /tmp/mm1.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/mm1.lus
 PASS: ./lus2lic {-o /tmp/predef03.lic should_work/predef03.lus}
 PASS: ./lus2lic {-ec -o /tmp/predef03.ec should_work/predef03.lus}
 PASS: ./ec2c {-o /tmp/predef03.c /tmp/predef03.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/predef03.lus
 PASS: ./lus2lic {-o /tmp/iter.lic should_work/iter.lus}
 PASS: ./lus2lic {-ec -o /tmp/iter.ec should_work/iter.lus}
 PASS: ./ec2c {-o /tmp/iter.c /tmp/iter.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/iter.lus
 PASS: ./lus2lic {-o /tmp/call05.lic should_work/call05.lus}
 PASS: ./lus2lic {-ec -o /tmp/call05.ec should_work/call05.lus}
 PASS: ./ec2c {-o /tmp/call05.c /tmp/call05.ec}
@@ -150,602 +194,799 @@ PASS: ./ec2c {-o /tmp/Watch.c /tmp/Watch.ec}
 PASS: ./lus2lic {-o /tmp/testBoite.lic should_work/testBoite.lus}
 PASS: ./lus2lic {-ec -o /tmp/testBoite.ec should_work/testBoite.lus}
 PASS: ./ec2c {-o /tmp/testBoite.c /tmp/testBoite.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/testBoite.lus
 PASS: ./lus2lic {-o /tmp/node_caller1.lic should_work/node_caller1.lus}
 PASS: ./lus2lic {-ec -o /tmp/node_caller1.ec should_work/node_caller1.lus}
 PASS: ./ec2c {-o /tmp/node_caller1.c /tmp/node_caller1.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/node_caller1.lus
 PASS: ./lus2lic {-o /tmp/nc1.lic should_work/nc1.lus}
 PASS: ./lus2lic {-ec -o /tmp/nc1.ec should_work/nc1.lus}
 PASS: ./ec2c {-o /tmp/nc1.c /tmp/nc1.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/nc1.lus
 PASS: ./lus2lic {-o /tmp/test_node_expand2.lic should_work/test_node_expand2.lus}
 PASS: ./lus2lic {-ec -o /tmp/test_node_expand2.ec should_work/test_node_expand2.lus}
 PASS: ./ec2c {-o /tmp/test_node_expand2.c /tmp/test_node_expand2.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/test_node_expand2.lus
 PASS: ./lus2lic {-o /tmp/test.lic should_work/test.lus}
 PASS: ./lus2lic {-ec -o /tmp/test.ec should_work/test.lus}
 PASS: ./ec2c {-o /tmp/test.c /tmp/test.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/test.lus
 PASS: ./lus2lic {-o /tmp/FALLING_EDGE.lic should_work/FALLING_EDGE.lus}
 PASS: ./lus2lic {-ec -o /tmp/FALLING_EDGE.ec should_work/FALLING_EDGE.lus}
 PASS: ./ec2c {-o /tmp/FALLING_EDGE.c /tmp/FALLING_EDGE.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/FALLING_EDGE.lus
 PASS: ./lus2lic {-o /tmp/SWITCH.lic should_work/SWITCH.lus}
 PASS: ./lus2lic {-ec -o /tmp/SWITCH.ec should_work/SWITCH.lus}
 PASS: ./ec2c {-o /tmp/SWITCH.c /tmp/SWITCH.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/SWITCH.lus
 PASS: ./lus2lic {-o /tmp/cst.lic should_work/cst.lus}
 PASS: ./lus2lic {-ec -o /tmp/cst.ec should_work/cst.lus}
 PASS: ./ec2c {-o /tmp/cst.c /tmp/cst.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/cst.lus
 PASS: ./lus2lic {-o /tmp/minmax5_random.lic should_work/minmax5_random.lus}
 PASS: ./lus2lic {-ec -o /tmp/minmax5_random.ec should_work/minmax5_random.lus}
 PASS: ./ec2c {-o /tmp/minmax5_random.c /tmp/minmax5_random.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/minmax5_random.lus
 PASS: ./lus2lic {-o /tmp/matrice2.lic should_work/matrice2.lus}
 PASS: ./lus2lic {-ec -o /tmp/matrice2.ec should_work/matrice2.lus}
 PASS: ./ec2c {-o /tmp/matrice2.c /tmp/matrice2.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/matrice2.lus
 PASS: ./lus2lic {-o /tmp/v1.lic should_work/v1.lus}
 PASS: ./lus2lic {-ec -o /tmp/v1.ec should_work/v1.lus}
 PASS: ./ec2c {-o /tmp/v1.c /tmp/v1.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/v1.lus
 PASS: ./lus2lic {-o /tmp/ply02.lic should_work/ply02.lus}
 PASS: ./lus2lic {-ec -o /tmp/ply02.ec should_work/ply02.lus}
 PASS: ./ec2c {-o /tmp/ply02.c /tmp/ply02.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/ply02.lus
 PASS: ./lus2lic {-o /tmp/call04.lic should_work/call04.lus}
 PASS: ./lus2lic {-ec -o /tmp/call04.ec should_work/call04.lus}
 PASS: ./ec2c {-o /tmp/call04.c /tmp/call04.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/call04.lus
 PASS: ./lus2lic {-o /tmp/bascule.lic should_work/bascule.lus}
 PASS: ./lus2lic {-ec -o /tmp/bascule.ec should_work/bascule.lus}
 PASS: ./ec2c {-o /tmp/bascule.c /tmp/bascule.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/bascule.lus
 PASS: ./lus2lic {-o /tmp/struct_with.lic should_work/struct_with.lus}
 PASS: ./lus2lic {-ec -o /tmp/struct_with.ec should_work/struct_with.lus}
 PASS: ./ec2c {-o /tmp/struct_with.c /tmp/struct_with.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/struct_with.lus
 PASS: ./lus2lic {-o /tmp/test_node_expand.lic should_work/test_node_expand.lus}
 PASS: ./lus2lic {-ec -o /tmp/test_node_expand.ec should_work/test_node_expand.lus}
 PASS: ./ec2c {-o /tmp/test_node_expand.c /tmp/test_node_expand.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/test_node_expand.lus
 PASS: ./lus2lic {-o /tmp/mm22.lic should_work/mm22.lus}
 PASS: ./lus2lic {-ec -o /tmp/mm22.ec should_work/mm22.lus}
 PASS: ./ec2c {-o /tmp/mm22.c /tmp/mm22.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/mm22.lus
 PASS: ./lus2lic {-o /tmp/X1.lic should_work/X1.lus}
 PASS: ./lus2lic {-ec -o /tmp/X1.ec should_work/X1.lus}
 PASS: ./ec2c {-o /tmp/X1.c /tmp/X1.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/X1.lus
 PASS: ./lus2lic {-o /tmp/is_stable.lic should_work/is_stable.lus}
 PASS: ./lus2lic {-ec -o /tmp/is_stable.ec should_work/is_stable.lus}
 PASS: ./ec2c {-o /tmp/is_stable.c /tmp/is_stable.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/is_stable.lus
 PASS: ./lus2lic {-o /tmp/test_clash.lic should_work/test_clash.lus}
 PASS: ./lus2lic {-ec -o /tmp/test_clash.ec should_work/test_clash.lus}
 PASS: ./ec2c {-o /tmp/test_clash.c /tmp/test_clash.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/test_clash.lus
 PASS: ./lus2lic {-o /tmp/model2.lic should_work/model2.lus}
 PASS: ./lus2lic {-ec -o /tmp/model2.ec should_work/model2.lus}
 PASS: ./ec2c {-o /tmp/model2.c /tmp/model2.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/model2.lus
 PASS: ./lus2lic {-o /tmp/alarme.lic should_work/alarme.lus}
 PASS: ./lus2lic {-ec -o /tmp/alarme.ec should_work/alarme.lus}
 PASS: ./ec2c {-o /tmp/alarme.c /tmp/alarme.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/alarme.lus
 PASS: ./lus2lic {-o /tmp/onlyroll2.lic should_work/onlyroll2.lus}
 PASS: ./lus2lic {-ec -o /tmp/onlyroll2.ec should_work/onlyroll2.lus}
 PASS: ./ec2c {-o /tmp/onlyroll2.c /tmp/onlyroll2.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/onlyroll2.lus
 PASS: ./lus2lic {-o /tmp/X6.lic should_work/X6.lus}
 PASS: ./lus2lic {-ec -o /tmp/X6.ec should_work/X6.lus}
 PASS: ./ec2c {-o /tmp/X6.c /tmp/X6.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/X6.lus
 PASS: ./lus2lic {-o /tmp/zzz2.lic should_work/zzz2.lus}
 PASS: ./lus2lic {-ec -o /tmp/zzz2.ec should_work/zzz2.lus}
 PASS: ./ec2c {-o /tmp/zzz2.c /tmp/zzz2.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/zzz2.lus
 PASS: ./lus2lic {-o /tmp/polymorphic_pack.lic should_work/polymorphic_pack.lus}
 PASS: ./lus2lic {-ec -o /tmp/polymorphic_pack.ec should_work/polymorphic_pack.lus}
 PASS: ./ec2c {-o /tmp/polymorphic_pack.c /tmp/polymorphic_pack.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/polymorphic_pack.lus
 PASS: ./lus2lic {-o /tmp/COUNTER.lic should_work/COUNTER.lus}
 PASS: ./lus2lic {-ec -o /tmp/COUNTER.ec should_work/COUNTER.lus}
 PASS: ./ec2c {-o /tmp/COUNTER.c /tmp/COUNTER.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/COUNTER.lus
 PASS: ./lus2lic {-o /tmp/minmax3.lic should_work/minmax3.lus}
 PASS: ./lus2lic {-ec -o /tmp/minmax3.ec should_work/minmax3.lus}
 PASS: ./ec2c {-o /tmp/minmax3.c /tmp/minmax3.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/minmax3.lus
 PASS: ./lus2lic {-o /tmp/X3.lic should_work/X3.lus}
 PASS: ./lus2lic {-ec -o /tmp/X3.ec should_work/X3.lus}
 PASS: ./ec2c {-o /tmp/X3.c /tmp/X3.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/X3.lus
 PASS: ./lus2lic {-o /tmp/filter.lic should_work/filter.lus}
 PASS: ./lus2lic {-ec -o /tmp/filter.ec should_work/filter.lus}
 PASS: ./ec2c {-o /tmp/filter.c /tmp/filter.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/filter.lus
 PASS: ./lus2lic {-o /tmp/ec.lic should_work/ec.lus}
 PASS: ./lus2lic {-ec -o /tmp/ec.ec should_work/ec.lus}
 PASS: ./ec2c {-o /tmp/ec.c /tmp/ec.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/ec.lus
 PASS: ./lus2lic {-o /tmp/morel3.lic should_work/morel3.lus}
 PASS: ./lus2lic {-ec -o /tmp/morel3.ec should_work/morel3.lus}
 PASS: ./ec2c {-o /tmp/morel3.c /tmp/morel3.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/morel3.lus
 PASS: ./lus2lic {-o /tmp/fresh_name.lic should_work/fresh_name.lus}
 PASS: ./lus2lic {-ec -o /tmp/fresh_name.ec should_work/fresh_name.lus}
 PASS: ./ec2c {-o /tmp/fresh_name.c /tmp/fresh_name.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/fresh_name.lus
 PASS: ./lus2lic {-o /tmp/ply03.lic should_work/ply03.lus}
 PASS: ./lus2lic {-ec -o /tmp/ply03.ec should_work/ply03.lus}
 PASS: ./ec2c {-o /tmp/ply03.c /tmp/ply03.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/ply03.lus
 PASS: ./lus2lic {-o /tmp/param_struct.lic should_work/param_struct.lus}
 PASS: ./lus2lic {-ec -o /tmp/param_struct.ec should_work/param_struct.lus}
 PASS: ./ec2c {-o /tmp/param_struct.c /tmp/param_struct.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/param_struct.lus
 PASS: ./lus2lic {-o /tmp/minmax2.lic should_work/minmax2.lus}
 PASS: ./lus2lic {-ec -o /tmp/minmax2.ec should_work/minmax2.lus}
 PASS: ./ec2c {-o /tmp/minmax2.c /tmp/minmax2.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/minmax2.lus
 PASS: ./lus2lic {-o /tmp/plus.lic should_work/plus.lus}
 PASS: ./lus2lic {-ec -o /tmp/plus.ec should_work/plus.lus}
 PASS: ./ec2c {-o /tmp/plus.c /tmp/plus.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/plus.lus
 PASS: ./lus2lic {-o /tmp/xx.lic should_work/xx.lus}
 PASS: ./lus2lic {-ec -o /tmp/xx.ec should_work/xx.lus}
 PASS: ./ec2c {-o /tmp/xx.c /tmp/xx.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/xx.lus
 PASS: ./lus2lic {-o /tmp/call07.lic should_work/call07.lus}
 PASS: ./lus2lic {-ec -o /tmp/call07.ec should_work/call07.lus}
 PASS: ./ec2c {-o /tmp/call07.c /tmp/call07.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/call07.lus
 PASS: ./lus2lic {-o /tmp/shift_ludic.lic should_work/shift_ludic.lus}
 PASS: ./lus2lic {-ec -o /tmp/shift_ludic.ec should_work/shift_ludic.lus}
 PASS: ./ec2c {-o /tmp/shift_ludic.c /tmp/shift_ludic.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/shift_ludic.lus
 PASS: ./lus2lic {-o /tmp/pilote-1.0.lic should_work/pilote-1.0.lus}
 PASS: ./lus2lic {-ec -o /tmp/pilote-1.0.ec should_work/pilote-1.0.lus}
 PASS: ./ec2c {-o /tmp/pilote-1.0.c /tmp/pilote-1.0.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/pilote-1.0.lus
 PASS: ./lus2lic {-o /tmp/trivial.lic should_work/trivial.lus}
 PASS: ./lus2lic {-ec -o /tmp/trivial.ec should_work/trivial.lus}
 PASS: ./ec2c {-o /tmp/trivial.c /tmp/trivial.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/trivial.lus
 PASS: ./lus2lic {-o /tmp/packs.lic should_work/packs.lus}
 PASS: ./lus2lic {-ec -o /tmp/packs.ec should_work/packs.lus}
 PASS: ./ec2c {-o /tmp/packs.c /tmp/packs.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/packs.lus
 PASS: ./lus2lic {-o /tmp/sincos.lic should_work/sincos.lus}
 PASS: ./lus2lic {-ec -o /tmp/sincos.ec should_work/sincos.lus}
 PASS: ./ec2c {-o /tmp/sincos.c /tmp/sincos.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/sincos.lus
 PASS: ./lus2lic {-o /tmp/newpacks.lic should_work/newpacks.lus}
 PASS: ./lus2lic {-ec -o /tmp/newpacks.ec should_work/newpacks.lus}
 PASS: ./ec2c {-o /tmp/newpacks.c /tmp/newpacks.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/newpacks.lus
 PASS: ./lus2lic {-o /tmp/morel5.lic should_work/morel5.lus}
 PASS: ./lus2lic {-ec -o /tmp/morel5.ec should_work/morel5.lus}
 PASS: ./ec2c {-o /tmp/morel5.c /tmp/morel5.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/morel5.lus
 PASS: ./lus2lic {-o /tmp/bred.lic should_work/bred.lus}
 PASS: ./lus2lic {-ec -o /tmp/bred.ec should_work/bred.lus}
 PASS: ./ec2c {-o /tmp/bred.c /tmp/bred.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/bred.lus
 PASS: ./lus2lic {-o /tmp/tri.lic should_work/tri.lus}
 PASS: ./lus2lic {-ec -o /tmp/tri.ec should_work/tri.lus}
 PASS: ./ec2c {-o /tmp/tri.c /tmp/tri.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/tri.lus
 PASS: ./lus2lic {-o /tmp/calculs_max.lic should_work/calculs_max.lus}
 PASS: ./lus2lic {-ec -o /tmp/calculs_max.ec should_work/calculs_max.lus}
 PASS: ./ec2c {-o /tmp/calculs_max.c /tmp/calculs_max.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/calculs_max.lus
 PASS: ./lus2lic {-o /tmp/testCA.lic should_work/testCA.lus}
 PASS: ./lus2lic {-ec -o /tmp/testCA.ec should_work/testCA.lus}
 PASS: ./ec2c {-o /tmp/testCA.c /tmp/testCA.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/testCA.lus
 PASS: ./lus2lic {-o /tmp/deconne.lic should_work/deconne.lus}
 PASS: ./lus2lic {-ec -o /tmp/deconne.ec should_work/deconne.lus}
 PASS: ./ec2c {-o /tmp/deconne.c /tmp/deconne.ec}
 PASS: ./lus2lic {-o /tmp/noAlarm.lic should_work/noAlarm.lus}
 PASS: ./lus2lic {-ec -o /tmp/noAlarm.ec should_work/noAlarm.lus}
 PASS: ./ec2c {-o /tmp/noAlarm.c /tmp/noAlarm.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/noAlarm.lus
 PASS: ./lus2lic {-o /tmp/clock_ite.lic should_work/clock_ite.lus}
 PASS: ./lus2lic {-ec -o /tmp/clock_ite.ec should_work/clock_ite.lus}
 PASS: ./ec2c {-o /tmp/clock_ite.c /tmp/clock_ite.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/clock_ite.lus
 PASS: ./lus2lic {-o /tmp/morel4.lic should_work/morel4.lus}
 PASS: ./lus2lic {-ec -o /tmp/morel4.ec should_work/morel4.lus}
 PASS: ./ec2c {-o /tmp/morel4.c /tmp/morel4.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/morel4.lus
 PASS: ./lus2lic {-o /tmp/enum.lic should_work/enum.lus}
 PASS: ./lus2lic {-ec -o /tmp/enum.ec should_work/enum.lus}
 PASS: ./ec2c {-o /tmp/enum.c /tmp/enum.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/enum.lus
+FAIL: without any option: ./lus2lic {-o /tmp/_matrice_oracle.lic should_work/_matrice_oracle.lus}
+FAIL: Generate ec code  : ./lus2lic {-ec -o /tmp/_matrice_oracle.ec should_work/_matrice_oracle.lus}
 PASS: ./lus2lic {-o /tmp/param_node4.lic should_work/param_node4.lus}
 PASS: ./lus2lic {-ec -o /tmp/param_node4.ec should_work/param_node4.lus}
 PASS: ./ec2c {-o /tmp/param_node4.c /tmp/param_node4.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/param_node4.lus
 PASS: ./lus2lic {-o /tmp/bad_call03.lic should_work/bad_call03.lus}
 PASS: ./lus2lic {-ec -o /tmp/bad_call03.ec should_work/bad_call03.lus}
 PASS: ./ec2c {-o /tmp/bad_call03.c /tmp/bad_call03.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/bad_call03.lus
 PASS: ./lus2lic {-o /tmp/onlyroll.lic should_work/onlyroll.lus}
 PASS: ./lus2lic {-ec -o /tmp/onlyroll.ec should_work/onlyroll.lus}
 PASS: ./ec2c {-o /tmp/onlyroll.c /tmp/onlyroll.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/onlyroll.lus
 PASS: ./lus2lic {-o /tmp/produitBool.lic should_work/produitBool.lus}
 PASS: ./lus2lic {-ec -o /tmp/produitBool.ec should_work/produitBool.lus}
 PASS: ./ec2c {-o /tmp/produitBool.c /tmp/produitBool.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/produitBool.lus
 PASS: ./lus2lic {-o /tmp/noeudsIndependants.lic should_work/noeudsIndependants.lus}
 PASS: ./lus2lic {-ec -o /tmp/noeudsIndependants.ec should_work/noeudsIndependants.lus}
 PASS: ./ec2c {-o /tmp/noeudsIndependants.c /tmp/noeudsIndependants.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/noeudsIndependants.lus
 PASS: ./lus2lic {-o /tmp/mouse.lic should_work/mouse.lus}
 PASS: ./lus2lic {-ec -o /tmp/mouse.ec should_work/mouse.lus}
 PASS: ./ec2c {-o /tmp/mouse.c /tmp/mouse.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/mouse.lus
 PASS: ./lus2lic {-o /tmp/param_node3.lic should_work/param_node3.lus}
 PASS: ./lus2lic {-ec -o /tmp/param_node3.ec should_work/param_node3.lus}
 PASS: ./ec2c {-o /tmp/param_node3.c /tmp/param_node3.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/param_node3.lus
 PASS: ./lus2lic {-o /tmp/pipeline.lic should_work/pipeline.lus}
 PASS: ./lus2lic {-ec -o /tmp/pipeline.ec should_work/pipeline.lus}
 PASS: ./ec2c {-o /tmp/pipeline.c /tmp/pipeline.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/pipeline.lus
 PASS: ./lus2lic {-o /tmp/mapinf.lic should_work/mapinf.lus}
 PASS: ./lus2lic {-ec -o /tmp/mapinf.ec should_work/mapinf.lus}
 PASS: ./ec2c {-o /tmp/mapinf.c /tmp/mapinf.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/mapinf.lus
 PASS: ./lus2lic {-o /tmp/integrator.lic should_work/integrator.lus}
 PASS: ./lus2lic {-ec -o /tmp/integrator.ec should_work/integrator.lus}
 PASS: ./ec2c {-o /tmp/integrator.c /tmp/integrator.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/integrator.lus
 PASS: ./lus2lic {-o /tmp/nc4.lic should_work/nc4.lus}
 PASS: ./lus2lic {-ec -o /tmp/nc4.ec should_work/nc4.lus}
 PASS: ./ec2c {-o /tmp/nc4.c /tmp/nc4.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/nc4.lus
 PASS: ./lus2lic {-o /tmp/mm3.lic should_work/mm3.lus}
 PASS: ./lus2lic {-ec -o /tmp/mm3.ec should_work/mm3.lus}
 PASS: ./ec2c {-o /tmp/mm3.c /tmp/mm3.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/mm3.lus
 PASS: ./lus2lic {-o /tmp/over2.lic should_work/over2.lus}
 PASS: ./lus2lic {-ec -o /tmp/over2.ec should_work/over2.lus}
 PASS: ./ec2c {-o /tmp/over2.c /tmp/over2.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/over2.lus
 PASS: ./lus2lic {-o /tmp/over3.lic should_work/over3.lus}
 PASS: ./lus2lic {-ec -o /tmp/over3.ec should_work/over3.lus}
 PASS: ./ec2c {-o /tmp/over3.c /tmp/over3.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/over3.lus
 PASS: ./lus2lic {-o /tmp/complex.lic should_work/complex.lus}
 PASS: ./lus2lic {-ec -o /tmp/complex.ec should_work/complex.lus}
 PASS: ./ec2c {-o /tmp/complex.c /tmp/complex.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/complex.lus
 PASS: ./lus2lic {-o /tmp/initial.lic should_work/initial.lus}
 PASS: ./lus2lic {-ec -o /tmp/initial.ec should_work/initial.lus}
 PASS: ./ec2c {-o /tmp/initial.c /tmp/initial.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/initial.lus
 PASS: ./lus2lic {-o /tmp/declaration.lic should_work/declaration.lus}
 PASS: ./lus2lic {-ec -o /tmp/declaration.ec should_work/declaration.lus}
 PASS: ./ec2c {-o /tmp/declaration.c /tmp/declaration.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/declaration.lus
 PASS: ./lus2lic {-o /tmp/PCOND1.lic should_work/PCOND1.lus}
 PASS: ./lus2lic {-ec -o /tmp/PCOND1.ec should_work/PCOND1.lus}
 PASS: ./ec2c {-o /tmp/PCOND1.c /tmp/PCOND1.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/PCOND1.lus
 PASS: ./lus2lic {-o /tmp/TIME_STABLE1.lic should_work/TIME_STABLE1.lus}
 PASS: ./lus2lic {-ec -o /tmp/TIME_STABLE1.ec should_work/TIME_STABLE1.lus}
 PASS: ./ec2c {-o /tmp/TIME_STABLE1.c /tmp/TIME_STABLE1.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/TIME_STABLE1.lus
 PASS: ./lus2lic {-o /tmp/nc5.lic should_work/nc5.lus}
 PASS: ./lus2lic {-ec -o /tmp/nc5.ec should_work/nc5.lus}
 PASS: ./ec2c {-o /tmp/nc5.c /tmp/nc5.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/nc5.lus
 PASS: ./lus2lic {-o /tmp/call.lic should_work/call.lus}
 PASS: ./lus2lic {-ec -o /tmp/call.ec should_work/call.lus}
 PASS: ./ec2c {-o /tmp/call.c /tmp/call.ec}
 PASS: ./lus2lic {-o /tmp/mouse1.lic should_work/mouse1.lus}
 PASS: ./lus2lic {-ec -o /tmp/mouse1.ec should_work/mouse1.lus}
 PASS: ./ec2c {-o /tmp/mouse1.c /tmp/mouse1.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/mouse1.lus
 PASS: ./lus2lic {-o /tmp/lustre_test1_ok.lic should_work/lustre_test1_ok.lus}
 PASS: ./lus2lic {-ec -o /tmp/lustre_test1_ok.ec should_work/lustre_test1_ok.lus}
 PASS: ./ec2c {-o /tmp/lustre_test1_ok.c /tmp/lustre_test1_ok.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/lustre_test1_ok.lus
 PASS: ./lus2lic {-o /tmp/compteur.lic should_work/compteur.lus}
 PASS: ./lus2lic {-ec -o /tmp/compteur.ec should_work/compteur.lus}
 PASS: ./ec2c {-o /tmp/compteur.c /tmp/compteur.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/compteur.lus
 PASS: ./lus2lic {-o /tmp/Int.lic should_work/Int.lus}
 PASS: ./lus2lic {-ec -o /tmp/Int.ec should_work/Int.lus}
 PASS: ./ec2c {-o /tmp/Int.c /tmp/Int.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/Int.lus
 PASS: ./lus2lic {-o /tmp/t2.lic should_work/t2.lus}
 PASS: ./lus2lic {-ec -o /tmp/t2.ec should_work/t2.lus}
 PASS: ./ec2c {-o /tmp/t2.c /tmp/t2.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/t2.lus
 PASS: ./lus2lic {-o /tmp/arbitre.lic should_work/arbitre.lus}
 PASS: ./lus2lic {-ec -o /tmp/arbitre.ec should_work/arbitre.lus}
 PASS: ./ec2c {-o /tmp/arbitre.c /tmp/arbitre.ec}
 PASS: ./lus2lic {-o /tmp/test_const.lic should_work/test_const.lus}
 PASS: ./lus2lic {-ec -o /tmp/test_const.ec should_work/test_const.lus}
 PASS: ./ec2c {-o /tmp/test_const.c /tmp/test_const.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/test_const.lus
 PASS: ./lus2lic {-o /tmp/when_tuple.lic should_work/when_tuple.lus}
 PASS: ./lus2lic {-ec -o /tmp/when_tuple.ec should_work/when_tuple.lus}
 PASS: ./ec2c {-o /tmp/when_tuple.c /tmp/when_tuple.ec}
 PASS: ./lus2lic {-o /tmp/FillFollowedByRed.lic should_work/FillFollowedByRed.lus}
 PASS: ./lus2lic {-ec -o /tmp/FillFollowedByRed.ec should_work/FillFollowedByRed.lus}
 PASS: ./ec2c {-o /tmp/FillFollowedByRed.c /tmp/FillFollowedByRed.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/FillFollowedByRed.lus
 PASS: ./lus2lic {-o /tmp/sample_time_change.lic should_work/sample_time_change.lus}
 PASS: ./lus2lic {-ec -o /tmp/sample_time_change.ec should_work/sample_time_change.lus}
 PASS: ./ec2c {-o /tmp/sample_time_change.c /tmp/sample_time_change.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/sample_time_change.lus
 PASS: ./lus2lic {-o /tmp/predef01.lic should_work/predef01.lus}
 PASS: ./lus2lic {-ec -o /tmp/predef01.ec should_work/predef01.lus}
 PASS: ./ec2c {-o /tmp/predef01.c /tmp/predef01.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/predef01.lus
 PASS: ./lus2lic {-o /tmp/long_et_stupide_nom_de_noeud.lic should_work/long_et_stupide_nom_de_noeud.lus}
 PASS: ./lus2lic {-ec -o /tmp/long_et_stupide_nom_de_noeud.ec should_work/long_et_stupide_nom_de_noeud.lus}
 PASS: ./ec2c {-o /tmp/long_et_stupide_nom_de_noeud.c /tmp/long_et_stupide_nom_de_noeud.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/long_et_stupide_nom_de_noeud.lus
 PASS: ./lus2lic {-o /tmp/CURRENT.lic should_work/CURRENT.lus}
 PASS: ./lus2lic {-ec -o /tmp/CURRENT.ec should_work/CURRENT.lus}
 PASS: ./ec2c {-o /tmp/CURRENT.c /tmp/CURRENT.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/CURRENT.lus
 PASS: ./lus2lic {-o /tmp/left.lic should_work/left.lus}
 PASS: ./lus2lic {-ec -o /tmp/left.ec should_work/left.lus}
 PASS: ./ec2c {-o /tmp/left.c /tmp/left.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/left.lus
 PASS: ./lus2lic {-o /tmp/ts04.lic should_work/ts04.lus}
 PASS: ./lus2lic {-ec -o /tmp/ts04.ec should_work/ts04.lus}
 PASS: ./ec2c {-o /tmp/ts04.c /tmp/ts04.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/ts04.lus
 FAIL: without any option: ./lus2lic {-o /tmp/bug_map_fby.lic should_work/bug_map_fby.lus}
 FAIL: Generate ec code  : ./lus2lic {-ec -o /tmp/bug_map_fby.ec should_work/bug_map_fby.lus}
 PASS: ./lus2lic {-o /tmp/multiclock.lic should_work/multiclock.lus}
 PASS: ./lus2lic {-ec -o /tmp/multiclock.ec should_work/multiclock.lus}
 PASS: ./ec2c {-o /tmp/multiclock.c /tmp/multiclock.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/multiclock.lus
 PASS: ./lus2lic {-o /tmp/nc2.lic should_work/nc2.lus}
 PASS: ./lus2lic {-ec -o /tmp/nc2.ec should_work/nc2.lus}
 PASS: ./ec2c {-o /tmp/nc2.c /tmp/nc2.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/nc2.lus
 PASS: ./lus2lic {-o /tmp/morel.lic should_work/morel.lus}
 PASS: ./lus2lic {-ec -o /tmp/morel.ec should_work/morel.lus}
 PASS: ./ec2c {-o /tmp/morel.c /tmp/morel.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/morel.lus
 PASS: ./lus2lic {-o /tmp/SOURIS.lic should_work/SOURIS.lus}
 PASS: ./lus2lic {-ec -o /tmp/SOURIS.ec should_work/SOURIS.lus}
 PASS: ./ec2c {-o /tmp/SOURIS.c /tmp/SOURIS.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/SOURIS.lus
 PASS: ./lus2lic {-o /tmp/param_node2.lic should_work/param_node2.lus}
 PASS: ./lus2lic {-ec -o /tmp/param_node2.ec should_work/param_node2.lus}
 PASS: ./ec2c {-o /tmp/param_node2.c /tmp/param_node2.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/param_node2.lus
 PASS: ./lus2lic {-o /tmp/o2l_feux_compl.lic should_work/o2l_feux_compl.lus}
 PASS: ./lus2lic {-ec -o /tmp/o2l_feux_compl.ec should_work/o2l_feux_compl.lus}
 PASS: ./ec2c {-o /tmp/o2l_feux_compl.c /tmp/o2l_feux_compl.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/o2l_feux_compl.lus
 PASS: ./lus2lic {-o /tmp/model.lic should_work/model.lus}
 PASS: ./lus2lic {-ec -o /tmp/model.ec should_work/model.lus}
 PASS: ./ec2c {-o /tmp/model.c /tmp/model.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/model.lus
 PASS: ./lus2lic {-o /tmp/matrice.lic should_work/matrice.lus}
 PASS: ./lus2lic {-ec -o /tmp/matrice.ec should_work/matrice.lus}
 PASS: ./ec2c {-o /tmp/matrice.c /tmp/matrice.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/matrice.lus
 PASS: ./lus2lic {-o /tmp/TIME_STABLE.lic should_work/TIME_STABLE.lus}
 PASS: ./lus2lic {-ec -o /tmp/TIME_STABLE.ec should_work/TIME_STABLE.lus}
 PASS: ./ec2c {-o /tmp/TIME_STABLE.c /tmp/TIME_STABLE.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/TIME_STABLE.lus
 PASS: ./lus2lic {-o /tmp/cpt.lic should_work/cpt.lus}
 PASS: ./lus2lic {-ec -o /tmp/cpt.ec should_work/cpt.lus}
 PASS: ./ec2c {-o /tmp/cpt.c /tmp/cpt.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/cpt.lus
 PASS: ./lus2lic {-o /tmp/multipar.lic should_work/multipar.lus}
 PASS: ./lus2lic {-ec -o /tmp/multipar.ec should_work/multipar.lus}
 PASS: ./ec2c {-o /tmp/multipar.c /tmp/multipar.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/multipar.lus
 PASS: ./lus2lic {-o /tmp/activation_ec.lic should_work/activation_ec.lus}
 PASS: ./lus2lic {-ec -o /tmp/activation_ec.ec should_work/activation_ec.lus}
 PASS: ./ec2c {-o /tmp/activation_ec.c /tmp/activation_ec.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/activation_ec.lus
 PASS: ./lus2lic {-o /tmp/impl_priority.lic should_work/impl_priority.lus}
 PASS: ./lus2lic {-ec -o /tmp/impl_priority.ec should_work/impl_priority.lus}
 PASS: ./ec2c {-o /tmp/impl_priority.c /tmp/impl_priority.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/impl_priority.lus
 PASS: ./lus2lic {-o /tmp/exclusion.lic should_work/exclusion.lus}
 PASS: ./lus2lic {-ec -o /tmp/exclusion.ec should_work/exclusion.lus}
 PASS: ./ec2c {-o /tmp/exclusion.c /tmp/exclusion.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/exclusion.lus
 PASS: ./lus2lic {-o /tmp/ply01.lic should_work/ply01.lus}
 PASS: ./lus2lic {-ec -o /tmp/ply01.ec should_work/ply01.lus}
 PASS: ./ec2c {-o /tmp/ply01.c /tmp/ply01.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/ply01.lus
 PASS: ./lus2lic {-o /tmp/consensus.lic should_work/consensus.lus}
 PASS: ./lus2lic {-ec -o /tmp/consensus.ec should_work/consensus.lus}
 PASS: ./ec2c {-o /tmp/consensus.c /tmp/consensus.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/consensus.lus
 PASS: ./lus2lic {-o /tmp/activation2.lic should_work/activation2.lus}
 PASS: ./lus2lic {-ec -o /tmp/activation2.ec should_work/activation2.lus}
 PASS: ./ec2c {-o /tmp/activation2.c /tmp/activation2.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/activation2.lus
 PASS: ./lus2lic {-o /tmp/type_decl.lic should_work/type_decl.lus}
 PASS: ./lus2lic {-ec -o /tmp/type_decl.ec should_work/type_decl.lus}
 PASS: ./ec2c {-o /tmp/type_decl.c /tmp/type_decl.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/type_decl.lus
 PASS: ./lus2lic {-o /tmp/import1.lic should_work/import1.lus}
 PASS: ./lus2lic {-ec -o /tmp/import1.ec should_work/import1.lus}
 PASS: ./ec2c {-o /tmp/import1.c /tmp/import1.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/import1.lus
 PASS: ./lus2lic {-o /tmp/pack1.lic should_work/pack1.lus}
 PASS: ./lus2lic {-ec -o /tmp/pack1.ec should_work/pack1.lus}
 PASS: ./ec2c {-o /tmp/pack1.c /tmp/pack1.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/pack1.lus
 PASS: ./lus2lic {-o /tmp/bob.lic should_work/bob.lus}
 PASS: ./lus2lic {-ec -o /tmp/bob.ec should_work/bob.lus}
 PASS: ./ec2c {-o /tmp/bob.c /tmp/bob.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/bob.lus
 PASS: ./lus2lic {-o /tmp/notTwo.lic should_work/notTwo.lus}
 PASS: ./lus2lic {-ec -o /tmp/notTwo.ec should_work/notTwo.lus}
 PASS: ./ec2c {-o /tmp/notTwo.c /tmp/notTwo.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/notTwo.lus
 PASS: ./lus2lic {-o /tmp/struct.lic should_work/struct.lus}
 PASS: ./lus2lic {-ec -o /tmp/struct.ec should_work/struct.lus}
 PASS: ./ec2c {-o /tmp/struct.c /tmp/struct.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/struct.lus
 PASS: ./lus2lic {-o /tmp/stopwatch.lic should_work/stopwatch.lus}
 PASS: ./lus2lic {-ec -o /tmp/stopwatch.ec should_work/stopwatch.lus}
 PASS: ./ec2c {-o /tmp/stopwatch.c /tmp/stopwatch.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/stopwatch.lus
 PASS: ./lus2lic {-o /tmp/contractForElementSelectionInArray.lic should_work/contractForElementSelectionInArray.lus}
 PASS: ./lus2lic {-ec -o /tmp/contractForElementSelectionInArray.ec should_work/contractForElementSelectionInArray.lus}
 PASS: ./ec2c {-o /tmp/contractForElementSelectionInArray.c /tmp/contractForElementSelectionInArray.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/contractForElementSelectionInArray.lus
 PASS: ./lus2lic {-o /tmp/iterFibo.lic should_work/iterFibo.lus}
 PASS: ./lus2lic {-ec -o /tmp/iterFibo.ec should_work/iterFibo.lus}
 PASS: ./ec2c {-o /tmp/iterFibo.c /tmp/iterFibo.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/iterFibo.lus
 PASS: ./lus2lic {-o /tmp/morel2.lic should_work/morel2.lus}
 PASS: ./lus2lic {-ec -o /tmp/morel2.ec should_work/morel2.lus}
 PASS: ./ec2c {-o /tmp/morel2.c /tmp/morel2.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/morel2.lus
 PASS: ./lus2lic {-o /tmp/minmax1.lic should_work/minmax1.lus}
 PASS: ./lus2lic {-ec -o /tmp/minmax1.ec should_work/minmax1.lus}
 PASS: ./ec2c {-o /tmp/minmax1.c /tmp/minmax1.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/minmax1.lus
 PASS: ./lus2lic {-o /tmp/aa.lic should_work/aa.lus}
 PASS: ./lus2lic {-ec -o /tmp/aa.ec should_work/aa.lus}
 PASS: ./ec2c {-o /tmp/aa.c /tmp/aa.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/aa.lus
 PASS: ./lus2lic {-o /tmp/mouse3.lic should_work/mouse3.lus}
 PASS: ./lus2lic {-ec -o /tmp/mouse3.ec should_work/mouse3.lus}
 PASS: ./ec2c {-o /tmp/mouse3.c /tmp/mouse3.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/mouse3.lus
 PASS: ./lus2lic {-o /tmp/ex.lic should_work/ex.lus}
 PASS: ./lus2lic {-ec -o /tmp/ex.ec should_work/ex.lus}
 PASS: ./ec2c {-o /tmp/ex.c /tmp/ex.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/ex.lus
 PASS: ./lus2lic {-o /tmp/xxx.lic should_work/xxx.lus}
 PASS: ./lus2lic {-ec -o /tmp/xxx.ec should_work/xxx.lus}
 PASS: ./ec2c {-o /tmp/xxx.c /tmp/xxx.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/xxx.lus
 PASS: ./lus2lic {-o /tmp/aux1.lic should_work/aux1.lus}
 PASS: ./lus2lic {-ec -o /tmp/aux1.ec should_work/aux1.lus}
 PASS: ./ec2c {-o /tmp/aux1.c /tmp/aux1.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/aux1.lus
 PASS: ./lus2lic {-o /tmp/moyenne.lic should_work/moyenne.lus}
 PASS: ./lus2lic {-ec -o /tmp/moyenne.ec should_work/moyenne.lus}
 PASS: ./ec2c {-o /tmp/moyenne.c /tmp/moyenne.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/moyenne.lus
 PASS: ./lus2lic {-o /tmp/activation1.lic should_work/activation1.lus}
 PASS: ./lus2lic {-ec -o /tmp/activation1.ec should_work/activation1.lus}
 PASS: ./ec2c {-o /tmp/activation1.c /tmp/activation1.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/activation1.lus
 PASS: ./lus2lic {-o /tmp/call01.lic should_work/call01.lus}
 PASS: ./lus2lic {-ec -o /tmp/call01.ec should_work/call01.lus}
 PASS: ./ec2c {-o /tmp/call01.c /tmp/call01.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/call01.lus
 PASS: ./lus2lic {-o /tmp/lecteur.lic should_work/lecteur.lus}
 PASS: ./lus2lic {-ec -o /tmp/lecteur.ec should_work/lecteur.lus}
 PASS: ./ec2c {-o /tmp/lecteur.c /tmp/lecteur.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/lecteur.lus
 PASS: ./lus2lic {-o /tmp/bug.lic should_work/bug.lus}
 PASS: ./lus2lic {-ec -o /tmp/bug.ec should_work/bug.lus}
 PASS: ./ec2c {-o /tmp/bug.c /tmp/bug.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/bug.lus
 PASS: ./lus2lic {-o /tmp/ck4.lic should_work/ck4.lus}
 PASS: ./lus2lic {-ec -o /tmp/ck4.ec should_work/ck4.lus}
 PASS: ./ec2c {-o /tmp/ck4.c /tmp/ck4.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/ck4.lus
 PASS: ./lus2lic {-o /tmp/map_red_iter.lic should_work/map_red_iter.lus}
 PASS: ./lus2lic {-ec -o /tmp/map_red_iter.ec should_work/map_red_iter.lus}
 PASS: ./ec2c {-o /tmp/map_red_iter.c /tmp/map_red_iter.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/map_red_iter.lus
 PASS: ./lus2lic {-o /tmp/p.lic should_work/p.lus}
 PASS: ./lus2lic {-ec -o /tmp/p.ec should_work/p.lus}
 PASS: ./ec2c {-o /tmp/p.c /tmp/p.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/p.lus
 PASS: ./lus2lic {-o /tmp/struct0.lic should_work/struct0.lus}
 PASS: ./lus2lic {-ec -o /tmp/struct0.ec should_work/struct0.lus}
 PASS: ./ec2c {-o /tmp/struct0.c /tmp/struct0.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/struct0.lus
 PASS: ./lus2lic {-o /tmp/filliter.lic should_work/filliter.lus}
 PASS: ./lus2lic {-ec -o /tmp/filliter.ec should_work/filliter.lus}
 PASS: ./ec2c {-o /tmp/filliter.c /tmp/filliter.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/filliter.lus
 PASS: ./lus2lic {-o /tmp/minmax4.lic should_work/minmax4.lus}
 PASS: ./lus2lic {-ec -o /tmp/minmax4.ec should_work/minmax4.lus}
 PASS: ./ec2c {-o /tmp/minmax4.c /tmp/minmax4.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/minmax4.lus
 PASS: ./lus2lic {-o /tmp/nested.lic should_work/nested.lus}
 PASS: ./lus2lic {-ec -o /tmp/nested.ec should_work/nested.lus}
 PASS: ./ec2c {-o /tmp/nested.c /tmp/nested.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/nested.lus
 PASS: ./lus2lic {-o /tmp/Gyroscope.lic should_work/Gyroscope.lus}
 PASS: ./lus2lic {-ec -o /tmp/Gyroscope.ec should_work/Gyroscope.lus}
 PASS: ./ec2c {-o /tmp/Gyroscope.c /tmp/Gyroscope.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/Gyroscope.lus
 PASS: ./lus2lic {-o /tmp/asservi.lic should_work/asservi.lus}
 PASS: ./lus2lic {-ec -o /tmp/asservi.ec should_work/asservi.lus}
 PASS: ./ec2c {-o /tmp/asservi.c /tmp/asservi.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/asservi.lus
 PASS: ./lus2lic {-o /tmp/rediter.lic should_work/rediter.lus}
 PASS: ./lus2lic {-ec -o /tmp/rediter.ec should_work/rediter.lus}
 PASS: ./ec2c {-o /tmp/rediter.c /tmp/rediter.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/rediter.lus
 PASS: ./lus2lic {-o /tmp/mapdeRed.lic should_work/mapdeRed.lus}
 PASS: ./lus2lic {-ec -o /tmp/mapdeRed.ec should_work/mapdeRed.lus}
 PASS: ./ec2c {-o /tmp/mapdeRed.c /tmp/mapdeRed.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/mapdeRed.lus
 PASS: ./lus2lic {-o /tmp/modelInst.lic should_work/modelInst.lus}
 PASS: ./lus2lic {-ec -o /tmp/modelInst.ec should_work/modelInst.lus}
 PASS: ./ec2c {-o /tmp/modelInst.c /tmp/modelInst.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/modelInst.lus
 PASS: ./lus2lic {-o /tmp/dependeur_struct.lic should_work/dependeur_struct.lus}
 PASS: ./lus2lic {-ec -o /tmp/dependeur_struct.ec should_work/dependeur_struct.lus}
 PASS: ./ec2c {-o /tmp/dependeur_struct.c /tmp/dependeur_struct.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/dependeur_struct.lus
 PASS: ./lus2lic {-o /tmp/minmax4_bis.lic should_work/minmax4_bis.lus}
 PASS: ./lus2lic {-ec -o /tmp/minmax4_bis.ec should_work/minmax4_bis.lus}
 PASS: ./ec2c {-o /tmp/minmax4_bis.c /tmp/minmax4_bis.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/minmax4_bis.lus
 PASS: ./lus2lic {-o /tmp/uu.lic should_work/uu.lus}
 PASS: ./lus2lic {-ec -o /tmp/uu.ec should_work/uu.lus}
 PASS: ./ec2c {-o /tmp/uu.c /tmp/uu.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/uu.lus
 PASS: ./lus2lic {-o /tmp/simpleRed.lic should_work/simpleRed.lus}
 PASS: ./lus2lic {-ec -o /tmp/simpleRed.ec should_work/simpleRed.lus}
 PASS: ./ec2c {-o /tmp/simpleRed.c /tmp/simpleRed.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/simpleRed.lus
 PASS: ./lus2lic {-o /tmp/map.lic should_work/map.lus}
 PASS: ./lus2lic {-ec -o /tmp/map.ec should_work/map.lus}
 PASS: ./ec2c {-o /tmp/map.c /tmp/map.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/map.lus
 PASS: ./lus2lic {-o /tmp/drapfab.lic should_work/drapfab.lus}
 PASS: ./lus2lic {-ec -o /tmp/drapfab.ec should_work/drapfab.lus}
 PASS: ./ec2c {-o /tmp/drapfab.c /tmp/drapfab.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/drapfab.lus
 PASS: ./lus2lic {-o /tmp/pre_x.lic should_work/pre_x.lus}
 PASS: ./lus2lic {-ec -o /tmp/pre_x.ec should_work/pre_x.lus}
 PASS: ./ec2c {-o /tmp/pre_x.c /tmp/pre_x.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/pre_x.lus
 PASS: ./lus2lic {-o /tmp/ts01.lic should_work/ts01.lus}
 PASS: ./lus2lic {-ec -o /tmp/ts01.ec should_work/ts01.lus}
 PASS: ./ec2c {-o /tmp/ts01.c /tmp/ts01.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/ts01.lus
 PASS: ./lus2lic {-o /tmp/_N_uu.lic should_work/_N_uu.lus}
 PASS: ./lus2lic {-ec -o /tmp/_N_uu.ec should_work/_N_uu.lus}
 PASS: ./ec2c {-o /tmp/_N_uu.c /tmp/_N_uu.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/_N_uu.lus
 PASS: ./lus2lic {-o /tmp/X2.lic should_work/X2.lus}
 PASS: ./lus2lic {-ec -o /tmp/X2.ec should_work/X2.lus}
 PASS: ./ec2c {-o /tmp/X2.c /tmp/X2.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/X2.lus
 PASS: ./lus2lic {-o /tmp/alias.lic should_work/alias.lus}
 PASS: ./lus2lic {-ec -o /tmp/alias.ec should_work/alias.lus}
 PASS: ./ec2c {-o /tmp/alias.c /tmp/alias.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/alias.lus
 PASS: ./lus2lic {-o /tmp/hanane.lic should_work/hanane.lus}
 PASS: ./lus2lic {-ec -o /tmp/hanane.ec should_work/hanane.lus}
 PASS: ./ec2c {-o /tmp/hanane.c /tmp/hanane.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/hanane.lus
 PASS: ./lus2lic {-o /tmp/lustre.lic should_work/lustre.lus}
 PASS: ./lus2lic {-ec -o /tmp/lustre.ec should_work/lustre.lus}
 PASS: ./ec2c {-o /tmp/lustre.c /tmp/lustre.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/lustre.lus
 PASS: ./lus2lic {-o /tmp/packed_cst.lic should_work/packed_cst.lus}
 PASS: ./lus2lic {-ec -o /tmp/packed_cst.ec should_work/packed_cst.lus}
 PASS: ./ec2c {-o /tmp/packed_cst.c /tmp/packed_cst.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/packed_cst.lus
 PASS: ./lus2lic {-o /tmp/predef02.lic should_work/predef02.lus}
 PASS: ./lus2lic {-ec -o /tmp/predef02.ec should_work/predef02.lus}
 PASS: ./ec2c {-o /tmp/predef02.c /tmp/predef02.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/predef02.lus
 PASS: ./lus2lic {-o /tmp/toto.lic should_work/toto.lus}
 PASS: ./lus2lic {-ec -o /tmp/toto.ec should_work/toto.lus}
 PASS: ./ec2c {-o /tmp/toto.c /tmp/toto.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/toto.lus
 PASS: ./lus2lic {-o /tmp/minmax6.lic should_work/minmax6.lus}
 PASS: ./lus2lic {-ec -o /tmp/minmax6.ec should_work/minmax6.lus}
 PASS: ./ec2c {-o /tmp/minmax6.c /tmp/minmax6.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/minmax6.lus
 PASS: ./lus2lic {-o /tmp/ck3.lic should_work/ck3.lus}
 PASS: ./lus2lic {-ec -o /tmp/ck3.ec should_work/ck3.lus}
 PASS: ./ec2c {-o /tmp/ck3.c /tmp/ck3.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/ck3.lus
 PASS: ./lus2lic {-o /tmp/zzz.lic should_work/zzz.lus}
 PASS: ./lus2lic {-ec -o /tmp/zzz.ec should_work/zzz.lus}
 PASS: ./ec2c {-o /tmp/zzz.c /tmp/zzz.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/zzz.lus
 PASS: ./lus2lic {-o /tmp/STABLE.lic should_work/STABLE.lus}
 PASS: ./lus2lic {-ec -o /tmp/STABLE.ec should_work/STABLE.lus}
 PASS: ./ec2c {-o /tmp/STABLE.c /tmp/STABLE.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/STABLE.lus
 PASS: ./lus2lic {-o /tmp/mapiter.lic should_work/mapiter.lus}
 PASS: ./lus2lic {-ec -o /tmp/mapiter.ec should_work/mapiter.lus}
 PASS: ./ec2c {-o /tmp/mapiter.c /tmp/mapiter.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/mapiter.lus
 PASS: ./lus2lic {-o /tmp/tuple.lic should_work/tuple.lus}
 PASS: ./lus2lic {-ec -o /tmp/tuple.ec should_work/tuple.lus}
 PASS: ./ec2c {-o /tmp/tuple.c /tmp/tuple.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/tuple.lus
 PASS: ./lus2lic {-o /tmp/call02.lic should_work/call02.lus}
 PASS: ./lus2lic {-ec -o /tmp/call02.ec should_work/call02.lus}
 PASS: ./ec2c {-o /tmp/call02.c /tmp/call02.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/call02.lus
 PASS: ./lus2lic {-o /tmp/ck7.lic should_work/ck7.lus}
 PASS: ./lus2lic {-ec -o /tmp/ck7.ec should_work/ck7.lus}
 PASS: ./ec2c {-o /tmp/ck7.c /tmp/ck7.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/ck7.lus
 PASS: ./lus2lic {-o /tmp/nc10.lic should_work/nc10.lus}
 PASS: ./lus2lic {-ec -o /tmp/nc10.ec should_work/nc10.lus}
 PASS: ./ec2c {-o /tmp/nc10.c /tmp/nc10.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/nc10.lus
 PASS: ./lus2lic {-o /tmp/triSel.lic should_work/triSel.lus}
 PASS: ./lus2lic {-ec -o /tmp/triSel.ec should_work/triSel.lus}
 PASS: ./ec2c {-o /tmp/triSel.c /tmp/triSel.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/triSel.lus
 PASS: ./lus2lic {-o /tmp/s.lic should_work/s.lus}
 PASS: ./lus2lic {-ec -o /tmp/s.ec should_work/s.lus}
 PASS: ./ec2c {-o /tmp/s.c /tmp/s.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/s.lus
 PASS: ./lus2lic {-o /tmp/redoptest.lic should_work/redoptest.lus}
 PASS: ./lus2lic {-ec -o /tmp/redoptest.ec should_work/redoptest.lus}
 PASS: ./ec2c {-o /tmp/redoptest.c /tmp/redoptest.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/redoptest.lus
 PASS: ./lus2lic {-o /tmp/flo.lic should_work/flo.lus}
 PASS: ./lus2lic {-ec -o /tmp/flo.ec should_work/flo.lus}
 PASS: ./ec2c {-o /tmp/flo.c /tmp/flo.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/flo.lus
 PASS: ./lus2lic {-o /tmp/condact.lic should_work/condact.lus}
 PASS: ./lus2lic {-ec -o /tmp/condact.ec should_work/condact.lus}
 PASS: ./ec2c {-o /tmp/condact.c /tmp/condact.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/condact.lus
 PASS: ./lus2lic {-o /tmp/cond01.lic should_work/cond01.lus}
 PASS: ./lus2lic {-ec -o /tmp/cond01.ec should_work/cond01.lus}
 PASS: ./ec2c {-o /tmp/cond01.c /tmp/cond01.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/cond01.lus
 PASS: ./lus2lic {-o /tmp/shiftFill_ludic.lic should_work/shiftFill_ludic.lus}
 PASS: ./lus2lic {-ec -o /tmp/shiftFill_ludic.ec should_work/shiftFill_ludic.lus}
 PASS: ./ec2c {-o /tmp/shiftFill_ludic.c /tmp/shiftFill_ludic.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/shiftFill_ludic.lus
 PASS: ./lus2lic {-o /tmp/after.lic should_work/after.lus}
 PASS: ./lus2lic {-ec -o /tmp/after.ec should_work/after.lus}
 PASS: ./ec2c {-o /tmp/after.c /tmp/after.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/after.lus
 PASS: ./lus2lic {-o /tmp/arrays.lic should_work/arrays.lus}
 PASS: ./lus2lic {-ec -o /tmp/arrays.ec should_work/arrays.lus}
 PASS: ./ec2c {-o /tmp/arrays.c /tmp/arrays.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/arrays.lus
 PASS: ./lus2lic {-o /tmp/eq1.lic should_work/eq1.lus}
 PASS: ./lus2lic {-ec -o /tmp/eq1.ec should_work/eq1.lus}
 PASS: ./ec2c {-o /tmp/eq1.c /tmp/eq1.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/eq1.lus
 PASS: ./lus2lic {-o /tmp/nc3.lic should_work/nc3.lus}
 PASS: ./lus2lic {-ec -o /tmp/nc3.ec should_work/nc3.lus}
 PASS: ./ec2c {-o /tmp/nc3.c /tmp/nc3.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/nc3.lus
 PASS: ./lus2lic {-o /tmp/speedcontrol.lic should_work/speedcontrol.lus}
 PASS: ./lus2lic {-ec -o /tmp/speedcontrol.ec should_work/speedcontrol.lus}
 PASS: ./ec2c {-o /tmp/speedcontrol.c /tmp/speedcontrol.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/speedcontrol.lus
 PASS: ./lus2lic {-o /tmp/iterate.lic should_work/iterate.lus}
 PASS: ./lus2lic {-ec -o /tmp/iterate.ec should_work/iterate.lus}
 PASS: ./ec2c {-o /tmp/iterate.c /tmp/iterate.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/iterate.lus
 PASS: ./lus2lic {-o /tmp/overload.lic should_work/overload.lus}
 PASS: ./lus2lic {-ec -o /tmp/overload.ec should_work/overload.lus}
 PASS: ./ec2c {-o /tmp/overload.c /tmp/overload.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/overload.lus
 PASS: ./lus2lic {-o /tmp/PCOND.lic should_work/PCOND.lus}
 PASS: ./lus2lic {-ec -o /tmp/PCOND.ec should_work/PCOND.lus}
 PASS: ./ec2c {-o /tmp/PCOND.c /tmp/PCOND.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/PCOND.lus
 PASS: ./lus2lic {-o /tmp/EDGE.lic should_work/EDGE.lus}
 PASS: ./lus2lic {-ec -o /tmp/EDGE.ec should_work/EDGE.lus}
 PASS: ./ec2c {-o /tmp/EDGE.c /tmp/EDGE.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/EDGE.lus
 PASS: ./lus2lic {-o /tmp/call03.lic should_work/call03.lus}
 PASS: ./lus2lic {-ec -o /tmp/call03.ec should_work/call03.lus}
 PASS: ./ec2c {-o /tmp/call03.c /tmp/call03.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/call03.lus
 PASS: ./lus2lic {-o /tmp/count.lic should_work/count.lus}
 PASS: ./lus2lic {-ec -o /tmp/count.ec should_work/count.lus}
 PASS: ./ec2c {-o /tmp/count.c /tmp/count.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/count.lus
 PASS: ./lus2lic {-o /tmp/ck2.lic should_work/ck2.lus}
 PASS: ./lus2lic {-ec -o /tmp/ck2.ec should_work/ck2.lus}
 PASS: ./ec2c {-o /tmp/ck2.c /tmp/ck2.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/ck2.lus
 PASS: ./lus2lic {-o /tmp/X.lic should_work/X.lus}
 PASS: ./lus2lic {-ec -o /tmp/X.ec should_work/X.lus}
 PASS: ./ec2c {-o /tmp/X.c /tmp/X.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/X.lus
 PASS: ./lus2lic {-o /tmp/Condact.lic should_work/Condact.lus}
 PASS: ./lus2lic {-ec -o /tmp/Condact.ec should_work/Condact.lus}
 PASS: ./ec2c {-o /tmp/Condact.c /tmp/Condact.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/Condact.lus
 PASS: ./lus2lic {-o /tmp/poussoir.lic should_work/poussoir.lus}
 PASS: ./lus2lic {-ec -o /tmp/poussoir.ec should_work/poussoir.lus}
 PASS: ./ec2c {-o /tmp/poussoir.c /tmp/poussoir.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/poussoir.lus
 PASS: ./lus2lic {-o /tmp/SWITCH1.lic should_work/SWITCH1.lus}
 PASS: ./lus2lic {-ec -o /tmp/SWITCH1.ec should_work/SWITCH1.lus}
 PASS: ./ec2c {-o /tmp/SWITCH1.c /tmp/SWITCH1.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/SWITCH1.lus
 PASS: ./lus2lic {-o /tmp/clock1_2ms.lic should_work/clock1_2ms.lus}
 PASS: ./lus2lic {-ec -o /tmp/clock1_2ms.ec should_work/clock1_2ms.lus}
 PASS: ./ec2c {-o /tmp/clock1_2ms.c /tmp/clock1_2ms.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/clock1_2ms.lus
 PASS: ./lus2lic {-o /tmp/merge.lic should_work/merge.lus}
 PASS: ./lus2lic {-ec -o /tmp/merge.ec should_work/merge.lus}
 PASS: ./ec2c {-o /tmp/merge.c /tmp/merge.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/merge.lus
 PASS: ./lus2lic {-o /tmp/decl.lic should_work/decl.lus}
 PASS: ./lus2lic {-ec -o /tmp/decl.ec should_work/decl.lus}
 PASS: ./ec2c {-o /tmp/decl.c /tmp/decl.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/decl.lus
 PASS: ./lus2lic {-o /tmp/bred_lv4.lic should_work/bred_lv4.lus}
 PASS: ./lus2lic {-ec -o /tmp/bred_lv4.ec should_work/bred_lv4.lus}
 PASS: ./ec2c {-o /tmp/bred_lv4.c /tmp/bred_lv4.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/bred_lv4.lus
 PASS: ./lus2lic {-o /tmp/trivial2.lic should_work/trivial2.lus}
 PASS: ./lus2lic {-ec -o /tmp/trivial2.ec should_work/trivial2.lus}
 PASS: ./ec2c {-o /tmp/trivial2.c /tmp/trivial2.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/trivial2.lus
 PASS: ./lus2lic {-o /tmp/param_node.lic should_work/param_node.lus}
 PASS: ./lus2lic {-ec -o /tmp/param_node.ec should_work/param_node.lus}
 PASS: ./ec2c {-o /tmp/param_node.c /tmp/param_node.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/param_node.lus
 PASS: ./lus2lic {-o /tmp/simple.lic should_work/simple.lus}
 PASS: ./lus2lic {-ec -o /tmp/simple.ec should_work/simple.lus}
 PASS: ./ec2c {-o /tmp/simple.c /tmp/simple.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/simple.lus
 PASS: ./lus2lic {-o /tmp/func_with_body.lic should_work/func_with_body.lus}
 PASS: ./lus2lic {-ec -o /tmp/func_with_body.ec should_work/func_with_body.lus}
 PASS: ./ec2c {-o /tmp/func_with_body.c /tmp/func_with_body.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/func_with_body.lus
 PASS: ./lus2lic {-o /tmp/minus.lic should_work/minus.lus}
 PASS: ./lus2lic {-ec -o /tmp/minus.ec should_work/minus.lus}
 PASS: ./ec2c {-o /tmp/minus.c /tmp/minus.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/minus.lus
 PASS: ./lus2lic {-o /tmp/remplissage-1.0.lic should_work/remplissage-1.0.lus}
 PASS: ./lus2lic {-ec -o /tmp/remplissage-1.0.ec should_work/remplissage-1.0.lus}
 PASS: ./ec2c {-o /tmp/remplissage-1.0.c /tmp/remplissage-1.0.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/remplissage-1.0.lus
 XFAIL: Test bad programs (syntax): lus2lic {-o /tmp/old_style_and_pack.lic should_fail/syntax/old_style_and_pack.lus}
 XFAIL: Test bad programs (syntax): lus2lic {-o /tmp/record.lic should_fail/syntax/record.lus}
 XFAIL: Test bad programs (type): lus2lic {-o /tmp/parametric_node3.lic should_fail/type/parametric_node3.lus}
@@ -806,7 +1047,8 @@ XPASS: Test bad programs (semantics): lus2lic {-o /tmp/bug.lic should_fail/seman
 
 		=== lus2lic Summary ===
 
-# of expected passes		744
-# of unexpected failures	2
+# of expected passes		871
+# of unexpected failures	114
 # of unexpected successes	11
 # of expected failures		37
+# of unresolved testcases	2
diff --git a/test/lus2lic.tests/non-reg.exp b/test/lus2lic.tests/non-reg.exp
index 0f5735e8..e5d9bf18 100644
--- a/test/lus2lic.tests/non-reg.exp
+++ b/test/lus2lic.tests/non-reg.exp
@@ -18,6 +18,9 @@ foreach f $ok_files {
         set id3 [should_work "Try ec2c on the result" "$ec2c" "-o $bf.c $bf.ec"]
         wait -i $id3
     }
+    if { [emptyfile "$bf.c"] } {
+        set id4 [should_work "Try to compare lus2lic -exec and ecexe" "$test_lus2lic_no_node" "$f"]
+    }
 }
 
 
diff --git a/test/lus2lic.time b/test/lus2lic.time
index c87e81fe..d11b71f3 100644
--- a/test/lus2lic.time
+++ b/test/lus2lic.time
@@ -1,2 +1,2 @@
-testcase ./lus2lic.tests/non-reg.exp completed in 60 seconds
+testcase ./lus2lic.tests/non-reg.exp completed in 62 seconds
 testcase ./lus2lic.tests/progression.exp completed in 0 seconds
diff --git a/test/site.exp b/test/site.exp
index 1e4fa0f6..c9b507ce 100644
--- a/test/site.exp
+++ b/test/site.exp
@@ -1,6 +1,7 @@
 set lus2lic "./lus2lic"
 set ec2c "./ec2c"
-
+set ec2c "./ec2c"
+set test_lus2lic_no_node "../utils/test_lus2lic_no_node"
 proc should_work { test_name command_line args } {
     global verbose
 
@@ -45,6 +46,9 @@ proc should_work { test_name command_line args } {
             set failed 1
             exp_continue
         }
+        "lurettetop: bye!" {
+            pass "$cl $args"
+        }
         # to avoid that match_max (the expect buffer size) is reached 
         # which truncate the outputs
         "\n" {
diff --git a/todo.org b/todo.org
index ebe836b5..d4c2d2fe 100644
--- a/todo.org
+++ b/todo.org
@@ -14,12 +14,43 @@ que de lancer luciole
 
 Un truc de ce gout là semble fonctionner :
 
+
+ ./lus2lic  _trivial3_condact_oracle.lus -n trivial3_condact_oracle -ec > trivial3_condact_oracl
+
+
 ./lus2lic trivial3.lus -n trivial3_condact --gen-autotest
- ./lus2lic trivial3.lus -n trivial3_condact -ec >> _trivial3_condact_oracle.lus
- ~/lurette/bin/lurettetop -rp "sut:v6:trivial3.lus:trivial3_condact" -rp "env:lutin:_trivial3_condact_env.lut" -rp "oracle:ec:trivial3_condact_oracle.ec:"
+./lus2lic trivial3.lus -n trivial3_condact -ec >> _trivial3_condact_oracle.lus
+./lus2lic  _trivial3_condact_oracle.lus -n trivial3_condact_oracle -ec > trivial3_condact_oracle.ec
+~/lurette/bin/lurettetop -rp "sut:v6:trivial3.lus:trivial3_condact" -rp "env:lutin:_trivial3_condact_env.lut" -rp "oracle:ec:trivial3_condact_oracle.ec:" -go 
 
 Reste à l'integrer dans file:test/lus2lic.tests/non-reg.exp
 
+** TODO ce noeud ne compile pas en mode -ec
+   - State "TODO"       from ""           [2013-04-17 Wed 15:51]
+
+#+begin_src lustre
+node trivial3(e: int ^2) returns (x: int ^6);
+var
+  c: int ^6;
+let
+  c = e|e|e;
+  x[0..2] = c[3..5];
+  x[3..5] = c[0..2];
+ 
+tel
+#+end_src
+
+** TODO msg d'erreur un peu mavais sur ce programme
+
+#+begin_src lustre
+node argos_oracle(a:bool;b:bool;s0:bool;s1:bool;s2:bool) returns(ok:bool;s0_bis:bool;s1_bis:bool;s2_bis:bool);
+let
+  (s0_bis,s1_bis,s2_bis) = argos(a,b);
+s0=s0_bis;
+  s1=s1_bis;
+  s2=s2_bis;
+tel;
+#+end_src
 
 ** TODO Écrire un test qui mette en jeu exhaustivement tous les operateurs
    - State "TODO"       from ""           [2013-03-19 Tue 10:38]
diff --git a/utils/test_lus2lic b/utils/test_lus2lic
new file mode 100755
index 00000000..58335041
--- /dev/null
+++ b/utils/test_lus2lic
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+lustre_file=$1
+node=$2
+_oracle=_"$node"_oracle.lus
+oracle="$node"_oracle
+env=_"$node"_env.lut
+
+echo "LAUCHING ./lus2lic $lustre_file -n $node --gen-autotest"
+./lus2lic                $lustre_file -n $node --gen-autotest
+
+echo "LAUCHING ./lus2lic $lustre_file -n $node -ec >> $_oracle"
+./lus2lic                $lustre_file -n $node -ec >> $_oracle
+
+echo "LAUCHING ./lus2lic  $_oracle -n $oracle -ec > $oracle.ec"
+./lus2lic                 $_oracle -n $oracle -ec > $oracle.ec
+
+echo "~/lurette/bin/lurettetop -rp \"sut:v6:$lustre_file:$node\" -rp \"env:lutin:$env\" -rp \"oracle:ec:$oracle.ec:\" -go -l 100 -ns2c"
+~/lurette/bin/lurettetop -rp "sut:v6:$lustre_file:$node" -rp "env:lutin:$env" -rp "oracle:ec:$oracle.ec:" -go -l 100 -ns2c
diff --git a/utils/test_lus2lic_no_node b/utils/test_lus2lic_no_node
new file mode 100755
index 00000000..55d9d41c
--- /dev/null
+++ b/utils/test_lus2lic_no_node
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+
+lustre_file=$1
+node=`basename $lustre_file .lus`
+_oracle=_"$node"_oracle.lus
+oracle="$node"_oracle
+env=_"$node"_env.lut
+
+set -x verbose #echo on
+
+./lus2lic $lustre_file -n $node --gen-autotest || exit 2
+./lus2lic $lustre_file -n $node -ec >> $_oracle || exit 2
+./lus2lic  $_oracle -n $oracle -ec -o $oracle.ec || exit 2
+./lurettetop -rp "sut:v6:$lustre_file:$node" -rp "env:lutin:$env" -rp "oracle:ec:$oracle.ec:$oracle" -go -l 10 -ns2c --stop-on-oracle-error || exit 2
+
+return 0
-- 
GitLab