From 06ddb863bcbd023f74876adc12e50778a2afe9d7 Mon Sep 17 00:00:00 2001
From: Erwan Jahier <jahier@imag.fr>
Date: Tue, 28 May 2013 15:13:03 +0200
Subject: [PATCH] Change the nonreg test scheme by inverting the role of v4 and
 v6 in the sut and the oracle.

The rationale is to avoid local vars blow-up on some
examples. Indeed, the generated oracle blows-up (e.g., on left.lus)
if we execute it via v4, whereas via v6 it works fine.

This change triggers a couple of bugs that ware easy to fix
(confusion between div and slash) that I've fixed along the way.
For the others, I'll see later.

Overall it's a progress albeit
  #fail: 80 -> 83

indeed:
  #unresolved: 20 -> 12
  #passes		878 -> 883
  time: 335 -> 228
---
 src/astPredef.ml           |  8 ++++----
 src/data.ml                |  3 ++-
 src/licDump.ml             |  2 +-
 src/rif_base.ml            |  4 ++--
 src/socExecEvalPredef.ml   | 13 ++++++++++++-
 src/socPredef.ml           |  3 ++-
 test/lus2lic.sum           | 40 +++++++++++++++++++-------------------
 test/lus2lic.time          |  2 +-
 todo.org                   | 19 ++++++++++++++++++
 utils/test_lus2lic_no_node | 33 +++++++++++++++++++------------
 10 files changed, 84 insertions(+), 43 deletions(-)

diff --git a/src/astPredef.ml b/src/astPredef.ml
index 33d52cb9..1e1dd9d0 100644
--- a/src/astPredef.ml
+++ b/src/astPredef.ml
@@ -1,4 +1,4 @@
-(* Time-stamp: <modified the 26/03/2013 (at 15:35) by Erwan Jahier> *)
+(* Time-stamp: <modified the 28/05/2013 (at 10:47) by Erwan Jahier> *)
 
 (** Predefined operators Type definition *)
 
@@ -126,17 +126,17 @@ let op2string_long = function
   | UMINUS_n -> "uminus"
   | MINUS_n -> "minus"
   | PLUS_n -> "plus"
-  | SLASH_n -> "div"
+  | SLASH_n -> "slash"
   | TIMES_n -> "times"
   | IUMINUS_n -> "iuminus"
   | IMINUS_n -> "iminus"
   | IPLUS_n -> "iplus"
-  | ISLASH_n -> "idiv"
+  | ISLASH_n -> "islash"
   | ITIMES_n -> "itimes"
   | RUMINUS_n -> "ruminus"
   | RMINUS_n -> "rminus"
   | RPLUS_n -> "rplus"
-  | RSLASH_n -> "rdiv"
+  | RSLASH_n -> "rslash"
   | RTIMES_n -> "rtimes"
   | op -> op2string op
 
diff --git a/src/data.ml b/src/data.ml
index e589c956..308d9681 100644
--- a/src/data.ml
+++ b/src/data.ml
@@ -111,7 +111,8 @@ let rec (update_val : v -> v -> access list -> v) =
         S (List.map 
              (fun (fn2,v2) -> if fn=fn2 then fn,update_val v2 v access else (fn2,v2)) 
              fl)
-      | _,_ -> assert false (* finish me (field struct) *)
+      | U,_ -> assert false (* finish me *)
+      | _,_ -> assert false (* finish me *)
 
 
 (* exported *)
diff --git a/src/licDump.ml b/src/licDump.ml
index c9dc5bba..f1a73af5 100644
--- a/src/licDump.ml
+++ b/src/licDump.ml
@@ -1,4 +1,4 @@
-(* Time-stamp: <modified the 15/05/2013 (at 09:48) by Erwan Jahier> *)
+(* Time-stamp: <modified the 28/05/2013 (at 10:42) by Erwan Jahier> *)
 
 open Lv6errors
 open Printf
diff --git a/src/rif_base.ml b/src/rif_base.ml
index 1523506e..bfedc9da 100644
--- a/src/rif_base.ml
+++ b/src/rif_base.ml
@@ -159,8 +159,8 @@ and (parse_rif_stream :  in_channel -> out_channel option -> vntl -> stream ->
 		      parse_rif_stream ic oc 
               vntl (get_stream ic oc) tbl pragma
 	       )
-	     | (Genlex.Kwd (_,"#"))::(Genlex.Kwd (_,"ERROR"))::_ ->
-          print_string "#ERROR value read. bye!\n"; raise Bye
+ 	     | (Genlex.Kwd (_,"#"))::(Genlex.Kwd (_,"ERROR"))::_ -> 
+           print_string "#ERROR value read. bye!\n"; raise Bye 
 	     | (Genlex.Kwd (_,"#"))::_ ->
           Stream.junk stream ;
           parse_rif_stream ic oc vntl (get_stream ic oc)
diff --git a/src/socExecEvalPredef.ml b/src/socExecEvalPredef.ml
index 6de5a119..f27470b0 100644
--- a/src/socExecEvalPredef.ml
+++ b/src/socExecEvalPredef.ml
@@ -1,4 +1,4 @@
-(* Time-stamp: <modified the 10/05/2013 (at 16:21) by Erwan Jahier> *)
+(* Time-stamp: <modified the 28/05/2013 (at 15:03) by Erwan Jahier> *)
 
 open SocExecValue
 open Data
@@ -39,6 +39,16 @@ let lustre_div ctx =
   in
   { ctx with s = sadd ctx.s vn vv }
 
+let lustre_slash ctx =
+  let (vn,vv) = 
+    match ([get_val "x" ctx; get_val "y" ctx]) with
+      | [I x1; I x2] -> "z"::ctx.cpath,I(x1 / x2)
+      | [F x1; F x2] -> "z"::ctx.cpath,F(x1 /. x2)
+      | [U; _] | [_;U] -> "z"::ctx.cpath,U
+      | _  -> assert false
+  in
+  { ctx with s = sadd ctx.s vn vv }
+
 
 let lustre_minus ctx =
   let (vn,vv) = 
@@ -306,6 +316,7 @@ let (get: Soc.key -> (ctx -> ctx)) =
     | "Lustre::idiv"
     | "Lustre::rdiv"
     | "Lustre::div"  -> lustre_div 
+    | "Lustre::slash" | "Lustre::islash" | "Lustre::rslash" -> lustre_slash
     | "Lustre::iminus"
     | "Lustre::rminus"
     | "Lustre::minus"-> lustre_minus
diff --git a/src/socPredef.ml b/src/socPredef.ml
index 43edb98f..ff5b28b4 100644
--- a/src/socPredef.ml
+++ b/src/socPredef.ml
@@ -1,4 +1,4 @@
-(* Time-stamp: <modified the 17/05/2013 (at 17:44) by Erwan Jahier> *)
+(* Time-stamp: <modified the 28/05/2013 (at 10:48) by Erwan Jahier> *)
 
 (** Synchronous Object Code for Predefined operators. *)
 
@@ -124,6 +124,7 @@ let of_soc_key : Soc.key -> Soc.t =
       | "Lustre::iplus"  
       | "Lustre::plus"  -> (make_soc sk (sp tl) [step21 None])      
       | "Lustre::times" -> (make_soc sk (sp tl) [step21 None])
+      | "Lustre::slash"   -> (make_soc sk (sp tl) [step21 None])
       | "Lustre::div"   -> (make_soc sk (sp tl) [step21 None])
       | "Lustre::minus" -> (make_soc sk (sp tl) [step21 None])
 
diff --git a/test/lus2lic.sum b/test/lus2lic.sum
index f60fe0f1..7848d3ed 100644
--- a/test/lus2lic.sum
+++ b/test/lus2lic.sum
@@ -1,4 +1,4 @@
-Test Run By jahier on Tue May 28 08:35:55 2013
+Test Run By jahier on Tue May 28 15:04:10 2013
 Native configuration is i686-pc-linux-gnu
 
 		=== lus2lic tests ===
@@ -28,7 +28,7 @@ UNRESOLVED: Time out: ../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: ../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}
@@ -36,7 +36,7 @@ PASS: ../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}
-PASS: ../utils/test_lus2lic_no_node should_work/enum0.lus
+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}
@@ -56,7 +56,7 @@ 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}
-UNRESOLVED: Time out: ../utils/test_lus2lic_no_node should_work/ELMU.lus
+PASS: ../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}
@@ -170,7 +170,7 @@ 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: ../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}
@@ -272,7 +272,7 @@ UNRESOLVED: Time out: ../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}
-UNRESOLVED: Time out: ../utils/test_lus2lic_no_node should_work/onlyroll2.lus
+FAIL: Try to compare lus2lic -exec and ecexe: ../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}
@@ -352,7 +352,7 @@ FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node shou
 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}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/sincos.lus
+UNRESOLVED: Time out: ../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}
@@ -364,7 +364,7 @@ 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: ../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}
@@ -403,7 +403,7 @@ 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}
-UNRESOLVED: Time out: ../utils/test_lus2lic_no_node should_work/onlyroll.lus
+FAIL: Try to compare lus2lic -exec and ecexe: ../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}
@@ -431,7 +431,7 @@ 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}
-UNRESOLVED: Time out: ../utils/test_lus2lic_no_node should_work/integrator.lus
+FAIL: Try to compare lus2lic -exec and ecexe: ../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}
@@ -443,7 +443,7 @@ 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}
-UNRESOLVED: Time out: ../utils/test_lus2lic_no_node should_work/over2.lus
+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}
@@ -523,7 +523,7 @@ FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node shou
 PASS: ./lus2lic {-o /tmp/test_enum.lic should_work/test_enum.lus}
 PASS: ./lus2lic {-ec -o /tmp/test_enum.ec should_work/test_enum.lus}
 PASS: ./ec2c {-o /tmp/test_enum.c /tmp/test_enum.ec}
-PASS: ../utils/test_lus2lic_no_node should_work/test_enum.lus
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/test_enum.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}
@@ -539,7 +539,7 @@ FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node shou
 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}
-UNRESOLVED: Time out: ../utils/test_lus2lic_no_node should_work/left.lus
+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}
@@ -681,7 +681,7 @@ UNRESOLVED: Time out: ../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}
-UNRESOLVED: Time out: ../utils/test_lus2lic_no_node should_work/moyenne.lus
+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}
@@ -725,7 +725,7 @@ 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}
-UNRESOLVED: Time out: ../utils/test_lus2lic_no_node should_work/nested.lus
+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}
@@ -797,7 +797,7 @@ PASS: ../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: ../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}
@@ -953,7 +953,7 @@ FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node shou
 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: ../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}
@@ -1039,8 +1039,8 @@ XPASS: Test bad programs (semantics): lus2lic {-o /tmp/bug.lic should_fail/seman
 
 		=== lus2lic Summary ===
 
-# of expected passes		878
-# of unexpected failures	80
+# of expected passes		883
+# of unexpected failures	83
 # of unexpected successes	12
 # of expected failures		37
-# of unresolved testcases	20
+# of unresolved testcases	12
diff --git a/test/lus2lic.time b/test/lus2lic.time
index f7d00666..2b632893 100644
--- a/test/lus2lic.time
+++ b/test/lus2lic.time
@@ -1,2 +1,2 @@
-testcase ./lus2lic.tests/non-reg.exp completed in 335 seconds
+testcase ./lus2lic.tests/non-reg.exp completed in 228 seconds
 testcase ./lus2lic.tests/progression.exp completed in 0 seconds
diff --git a/todo.org b/todo.org
index a8d6ff83..3480ba20 100644
--- a/todo.org
+++ b/todo.org
@@ -3,6 +3,12 @@
 
 * lus2lic -exec
 
+** oops: lus2lic internal error
+	File "objlinux/data.ml", line 114, column 15
+ when compiling lustre program should_work/left.lus
+
+ ./lus2lic should_work/left.lus -exec 
+
 ** TODO oops: lus2lic internal error
    - State "TODO"       from ""           [2013-05-10 Fri 18:05]
 	File "objlinux/lic2soc.ml", line 680, column 18
@@ -53,6 +59,7 @@ et aussi :
 ../utils/test_lus2lic_no_node should_work/over2.lus
 ../utils/test_lus2lic_no_node should_work/mapiter.lus
 ../utils/test_lus2lic_no_node should_work/arrays.lus
+../utils/test_lus2lic_no_node should_work/nested.lus    
 
 ** TODO Lurette trouve un mismatch sur ce prog au step 1
    - State "TODO"       from ""           [2013-05-10 Fri 17:08]
@@ -129,6 +136,18 @@ file:test/should_fail/type/parametric_node.lus
 
 
 * Testing process
+** TODO Testing node with enums don't work
+   - State "TODO"       from ""           [2013-05-28 Tue 14:46]
+
+indeed, ec requires they are extern const, and lus2lic requires to have int
+
+- one solution would be that -eei generates correct ec, by inlining constant
+- I could also add enums in Lutin
+
+Actually, I should do both...
+
+../utils/test_lus2lic_no_node should_work/enum0.lus     
+
 ** TODO Écrire un test qui mette en jeu exhaustivement tous les operateurs
    - State "TODO"       from ""           [2013-03-19 Tue 10:38]
 ** TODO try to compile the C code resulting from ec2c at some point
diff --git a/utils/test_lus2lic_no_node b/utils/test_lus2lic_no_node
index de5b6540..b0ecfbf8 100755
--- a/utils/test_lus2lic_no_node
+++ b/utils/test_lus2lic_no_node
@@ -5,6 +5,9 @@ lustre_file=$1
 node=`basename $lustre_file .lus`
 _oracle=_"$node"_oracle.lus
 oracle="$node"_oracle
+lv4="$node"_lv4.lus
+ec="$node".ec
+lv4_node="$node__$node"
 env=_"$node"_env.lut
 
 set -x verbose #echo on
@@ -24,7 +27,8 @@ cat $lustre_file  >> $_oracle;
 
 
 if
-    ./lus2lic $_oracle -n $oracle -lv4 -eei -en --no-prefix -o lv4$_oracle;
+    ./lus2lic $lustre_file -n $node  -ec  -o $ec;
+#    ./lus2lic $lustre_file -n $node  -en -lv4 -eei --no-prefix -o $lv4;
 then
     echo "lus2lic -lv4 done"
 else
@@ -34,18 +38,23 @@ fi
 
 
 export PATH=/usr/local/tools/lustre/bin/:$PATH
+#  if
+#      ./lus2lic $_oracle -n $oracle  -ec -o $oracle.ec
+#  #    ./lus2lic  lv4$_oracle -n $oracle -ec -o $oracle.ec
+#  #    lus2ec  $_oracle  $oracle  -o $oracle.ec;
+#  then
+#  echo "ec generation done"
+#  else
+#      echo "Error"
+#      exit 2
+#  fi
 if
-#    ./lus2lic $_oracle -n $oracle  -ec -o $oracle.ec
-    ./lus2lic  lv4$_oracle -n $oracle -ec -o $oracle.ec
-#    lus2ec  $_oracle  $oracle  -o $oracle.ec;
-then
-echo "ec generation done"
-else
-    echo "Error"
-    exit 2
-fi
-if
-./lurettetop -p 6 -v 1 -seed 42 -rp "sut:v6:$lustre_file:$node" -rp "env:lutin:$env" -rp "oracle:ec:$oracle.ec:$oracle" -go -l 10 -ns2c --stop-on-oracle-error;
+#    -rp "sut:v4:$lv4:$lv4_node" \
+./lurettetop -p 6  -seed 42 \
+    -rp "sut:ec:$ec:$lv4_node" \
+    -rp "env:lutin:$env" \
+    -rp "oracle:v6:$_oracle:$oracle" \
+    -go -l 10 -ns2c --stop-on-oracle-error;
 then
 echo "lurettetop ok"
 else
-- 
GitLab