From b4e22d1b3f62ce24fa25a7950c8fbac823cb8947 Mon Sep 17 00:00:00 2001 From: Erwan Jahier <jahier@imag.fr> Date: Fri, 31 May 2013 16:55:34 +0200 Subject: [PATCH] By redirecting the stderr of ecexe onto stdout, ecexe now terminate properly when called from lurette. Hence, I have no more unresolved test (they are now failures) and the exec time is now 98s (versus 217!!) Some failures were actually due to wrong programs (mved to should_fail/semantics) nb : the change has actually been done in lurette. --- test/lus2lic.sum | 46 +++++------- test/lus2lic.time | 4 +- .../semantics}/X1.lus | 0 .../semantics}/aux.lus | 0 .../semantics}/aux1.lus | 0 todo.org | 74 +++++++------------ todo.org_archive | 49 ++++++++++++ 7 files changed, 97 insertions(+), 76 deletions(-) rename test/{should_work => should_fail/semantics}/X1.lus (100%) rename test/{should_work => should_fail/semantics}/aux.lus (100%) rename test/{should_work => should_fail/semantics}/aux1.lus (100%) diff --git a/test/lus2lic.sum b/test/lus2lic.sum index 236aa5dc..cf933fc3 100644 --- a/test/lus2lic.sum +++ b/test/lus2lic.sum @@ -1,4 +1,4 @@ -Test Run By jahier on Fri May 31 15:50:19 2013 +Test Run By jahier on Fri May 31 16:46:26 2013 Native configuration is i686-pc-linux-gnu === lus2lic tests === @@ -24,7 +24,7 @@ PASS: ../utils/test_lus2lic_no_node should_work/ck5.lus PASS: ./lus2lic {-o /tmp/assertion.lic should_work/assertion.lus} PASS: ./lus2lic {-ec -o /tmp/assertion.ec should_work/assertion.lus} PASS: ./myec2c {-o /tmp/assertion.c /tmp/assertion.ec} -UNRESOLVED: Time out: ../utils/test_lus2lic_no_node should_work/assertion.lus +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: ./myec2c {-o /tmp/normal.c /tmp/normal.ec} @@ -44,7 +44,7 @@ FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node shou PASS: ./lus2lic {-o /tmp/Gyroscope2.lic should_work/Gyroscope2.lus} PASS: ./lus2lic {-ec -o /tmp/Gyroscope2.ec should_work/Gyroscope2.lus} PASS: ./myec2c {-o /tmp/Gyroscope2.c /tmp/Gyroscope2.ec} -UNRESOLVED: Time out: ../utils/test_lus2lic_no_node should_work/Gyroscope2.lus +FAIL: Try to compare lus2lic -exec and ecexe: ../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: ./myec2c {-o /tmp/mouse2.c /tmp/mouse2.ec} @@ -93,10 +93,6 @@ PASS: ./lus2lic {-o /tmp/access.lic should_work/access.lus} PASS: ./lus2lic {-ec -o /tmp/access.ec should_work/access.lus} PASS: ./myec2c {-o /tmp/access.c /tmp/access.ec} PASS: ../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: ./myec2c {-o /tmp/aux.c /tmp/aux.ec} -UNRESOLVED: Time out: ../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: ./myec2c {-o /tmp/consensus2.c /tmp/consensus2.ec} @@ -251,10 +247,6 @@ PASS: ./lus2lic {-o /tmp/mm22.lic should_work/mm22.lus} PASS: ./lus2lic {-ec -o /tmp/mm22.ec should_work/mm22.lus} PASS: ./myec2c {-o /tmp/mm22.c /tmp/mm22.ec} PASS: ../utils/test_lus2lic_no_node should_work/mm22.lus -PASS: ./lus2lic {-o /tmp/X1.lic should_work/X1.lus} -PASS: ./lus2lic {-ec -o /tmp/X1.ec should_work/X1.lus} -PASS: ./myec2c {-o /tmp/X1.c /tmp/X1.ec} -UNRESOLVED: Time out: ../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: ./myec2c {-o /tmp/is_stable.c /tmp/is_stable.ec} @@ -270,7 +262,7 @@ FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node shou PASS: ./lus2lic {-o /tmp/alarme.lic should_work/alarme.lus} PASS: ./lus2lic {-ec -o /tmp/alarme.ec should_work/alarme.lus} PASS: ./myec2c {-o /tmp/alarme.c /tmp/alarme.ec} -UNRESOLVED: Time out: ../utils/test_lus2lic_no_node should_work/alarme.lus +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: ./myec2c {-o /tmp/onlyroll2.c /tmp/onlyroll2.ec} @@ -354,7 +346,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: ./myec2c {-o /tmp/sincos.c /tmp/sincos.ec} -UNRESOLVED: Time out: ../utils/test_lus2lic_no_node should_work/sincos.lus +FAIL: Try to compare lus2lic -exec and ecexe: ../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: ./myec2c {-o /tmp/newpacks.c /tmp/newpacks.ec} @@ -676,10 +668,6 @@ PASS: ./lus2lic {-o /tmp/xxx.lic should_work/xxx.lus} PASS: ./lus2lic {-ec -o /tmp/xxx.ec should_work/xxx.lus} PASS: ./myec2c {-o /tmp/xxx.c /tmp/xxx.ec} PASS: ../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: ./myec2c {-o /tmp/aux1.c /tmp/aux1.ec} -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: ./myec2c {-o /tmp/moyenne.c /tmp/moyenne.ec} @@ -695,7 +683,7 @@ 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: ./myec2c {-o /tmp/lecteur.c /tmp/lecteur.ec} -UNRESOLVED: Time out: ../utils/test_lus2lic_no_node should_work/lecteur.lus +FAIL: Try to compare lus2lic -exec and ecexe: ../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: ./myec2c {-o /tmp/bug.c /tmp/bug.ec} @@ -731,7 +719,7 @@ FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node shou PASS: ./lus2lic {-o /tmp/Gyroscope.lic should_work/Gyroscope.lus} PASS: ./lus2lic {-ec -o /tmp/Gyroscope.ec should_work/Gyroscope.lus} PASS: ./myec2c {-o /tmp/Gyroscope.c /tmp/Gyroscope.ec} -UNRESOLVED: Time out: ../utils/test_lus2lic_no_node should_work/Gyroscope.lus +FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/Gyroscope.lus PASS: ./lus2lic {-o /tmp/followed_by.lic should_work/followed_by.lus} PASS: ./lus2lic {-ec -o /tmp/followed_by.ec should_work/followed_by.lus} PASS: ./myec2c {-o /tmp/followed_by.c /tmp/followed_by.ec} @@ -779,7 +767,7 @@ FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node shou PASS: ./lus2lic {-o /tmp/drapfab.lic should_work/drapfab.lus} PASS: ./lus2lic {-ec -o /tmp/drapfab.ec should_work/drapfab.lus} PASS: ./myec2c {-o /tmp/drapfab.c /tmp/drapfab.ec} -UNRESOLVED: Time out: ../utils/test_lus2lic_no_node should_work/drapfab.lus +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: ./myec2c {-o /tmp/pre_x.c /tmp/pre_x.ec} @@ -863,7 +851,7 @@ 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: ./myec2c {-o /tmp/s.c /tmp/s.ec} -UNRESOLVED: Time out: ../utils/test_lus2lic_no_node should_work/s.lus +FAIL: Try to compare lus2lic -exec and ecexe: ../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: ./myec2c {-o /tmp/redoptest.c /tmp/redoptest.ec} @@ -891,7 +879,7 @@ FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node shou PASS: ./lus2lic {-o /tmp/eq1.lic should_work/eq1.lus} PASS: ./lus2lic {-ec -o /tmp/eq1.ec should_work/eq1.lus} PASS: ./myec2c {-o /tmp/eq1.c /tmp/eq1.ec} -UNRESOLVED: Time out: ../utils/test_lus2lic_no_node should_work/eq1.lus +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: ./myec2c {-o /tmp/nc3.c /tmp/nc3.ec} @@ -1006,14 +994,17 @@ XFAIL: Test bad programs (clock): lus2lic {-o /tmp/inonout.lic should_fail/clock XFAIL: Test bad programs (clock): lus2lic {-o /tmp/clock.lic should_fail/clock/clock.lus} XFAIL: Test bad programs (clock): lus2lic {-o /tmp/bad_id.lic should_fail/clock/bad_id.lus} XFAIL: Test bad programs (clock): lus2lic {-o /tmp/clock2.lic should_fail/clock/clock2.lus} +XPASS: Test bad programs (semantics): lus2lic {-o /tmp/aux.lic should_fail/semantics/aux.lus} XPASS: Test bad programs (semantics): lus2lic {-o /tmp/deploop.lic should_fail/semantics/deploop.lus} XFAIL: Test bad programs (semantics): lus2lic {-o /tmp/const3.lic should_fail/semantics/const3.lus} XFAIL: Test bad programs (semantics): lus2lic {-o /tmp/not_a_constant.lic should_fail/semantics/not_a_constant.lus} +XPASS: Test bad programs (semantics): lus2lic {-o /tmp/X1.lic should_fail/semantics/X1.lus} XPASS: Test bad programs (semantics): lus2lic {-o /tmp/sincos.lic should_fail/semantics/sincos.lus} XFAIL: Test bad programs (semantics): lus2lic {-o /tmp/tranche.lic should_fail/semantics/tranche.lus} XFAIL: Test bad programs (semantics): lus2lic {-o /tmp/import2.lic should_fail/semantics/import2.lus} XFAIL: Test bad programs (semantics): lus2lic {-o /tmp/bad_call01.lic should_fail/semantics/bad_call01.lus} XFAIL: Test bad programs (semantics): lus2lic {-o /tmp/x.lic should_fail/semantics/x.lus} +XPASS: Test bad programs (semantics): lus2lic {-o /tmp/aux1.lic should_fail/semantics/aux1.lus} XFAIL: Test bad programs (semantics): lus2lic {-o /tmp/t.lic should_fail/semantics/t.lus} XFAIL: Test bad programs (semantics): lus2lic {-o /tmp/parametric_node4.lic should_fail/semantics/parametric_node4.lus} XFAIL: Test bad programs (semantics): lus2lic {-o /tmp/const2.lic should_fail/semantics/const2.lus} @@ -1042,10 +1033,9 @@ XPASS: Test bad programs (semantics): lus2lic {-o /tmp/bug.lic should_fail/seman === lus2lic Summary === -# of expected passes 883 -# of unexpected failures 85 -# of unexpected successes 12 +# of expected passes 874 +# of unexpected failures 94 +# of unexpected successes 15 # of expected failures 38 -# of unresolved testcases 12 -testcase ./lus2lic.tests/non-reg.exp completed in 217 seconds -testcase ./lus2lic.tests/progression.exp completed in 1 seconds +testcase ./lus2lic.tests/non-reg.exp completed in 101 seconds +testcase ./lus2lic.tests/progression.exp completed in 0 seconds diff --git a/test/lus2lic.time b/test/lus2lic.time index 1f8391bd..fb760bc9 100644 --- a/test/lus2lic.time +++ b/test/lus2lic.time @@ -1,2 +1,2 @@ -testcase ./lus2lic.tests/non-reg.exp completed in 217 seconds -testcase ./lus2lic.tests/progression.exp completed in 1 seconds +testcase ./lus2lic.tests/non-reg.exp completed in 101 seconds +testcase ./lus2lic.tests/progression.exp completed in 0 seconds diff --git a/test/should_work/X1.lus b/test/should_fail/semantics/X1.lus similarity index 100% rename from test/should_work/X1.lus rename to test/should_fail/semantics/X1.lus diff --git a/test/should_work/aux.lus b/test/should_fail/semantics/aux.lus similarity index 100% rename from test/should_work/aux.lus rename to test/should_fail/semantics/aux.lus diff --git a/test/should_work/aux1.lus b/test/should_fail/semantics/aux1.lus similarity index 100% rename from test/should_work/aux1.lus rename to test/should_fail/semantics/aux1.lus diff --git a/todo.org b/todo.org index 0efacca0..209565a5 100644 --- a/todo.org +++ b/todo.org @@ -76,8 +76,6 @@ file:test/should_work/predefOp.lus ../utils/test_lus2lic_no_node should_work/test.lus -** TODO fonctions externes pas supportées en mode -exec (ni dans les tests du coup) - - State "TODO" from "" [2013-03-19 Tue 10:33] * Packages, modeles, etc. ** STARTED Il ne detecte plus les erreurs de type lors d'instanciation de noeuds - State "STARTED" from "TODO" [2013-01-28 Mon 17:02] @@ -131,32 +129,21 @@ Actually, I should do both... ../utils/test_lus2lic_no_node should_work/enum0.lus + +../utils/test_lus2lic_no_node should_work/enum0.lus + +en fait, l'option --gen-auto-test traduit les types enums en entier ; du coup +l'appel depuis l'oracle au noeud à tester est mal typé... + ** 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 - State "TODO" from "" [2013-01-18 Fri 23:12] in particular, are nodes using extern nodes generated properly? - ** TODO les (nouveaux) tests ne capturent pas les changements de # lignes dans les should_fail - State "TODO" from "" [2013-01-11 Fri 11:15] - -** TODO Fix a bug occurring using -en and -esa together. - - State "TODO" from "" [2013-04-24 Wed 09:22] - -#+begin_src sh -./lus2lic _assertion_oracle.lus -n assertion_oracle -en -esa -#+end_src - -*** Error in file "/home/jahier/lus2lic/test/_assertion_oracle.lus", line 38, col 3 to 7, token 'v02_1': -*** -*** Variable _0v02_1_1 is already defined. -#+end_src - --> on verra ca quand les autres test passeront ; je ferai alors une passe -complete qur le nommage des variables fraiches. - ** TODO Nommage des variables fraiches : Reprendre LicVarName.ml - State "TODO" from "" [2013-01-16 Wed 18:03] car c'est completement n'importe quoi (j'ai réussit a faire des clashs @@ -164,7 +151,6 @@ entre les var inventées dans split et dans ExpandNodes !!) Pascal a introduit un mecanisme qui shunte LicName -> en discuter avec lui. - ** TODO Il faudrait traiter proprement les programmes lutin (et lustre) qui débordent (int) - State "TODO" from "" [2013-05-10 Fri 17:28] @@ -182,14 +168,6 @@ Actuellement, test_lus2lic_no_node, je compare lus2lic -ec + ecexe et lus2lic -e Ca serait bien de faire la meme chose en passant par lus2lic -lv4 + lus2ec voir. -** TODO Le test de noeuds qui ont des types enum ne fonctionne pas - - State "TODO" from "" [2013-04-24 Wed 10:12] - -../utils/test_lus2lic_no_node should_work/enum0.lus - -en fait, l'option --gen-auto-test traduit les types enums en entier ; du coup -l'appel depuis l'oracle au noeud à tester est mal typé... - ** TODO lus2lic -ee -exec devrait utiliser des enums (a la ecexe) - State "TODO" from "" [2013-05-07 Tue 16:36] @@ -198,24 +176,6 @@ l'appel depuis l'oracle au noeud à tester est mal typé... modifer file:~/lus2lic/utils/test_lus2lic_no_node -* Performances -Ceux là sont particulierement long (dont certains vraiment sans raison) -en fait, quand ecexe se plante (oracle), il bloque tout le monde... - -# of unresolved testcases 20 - -../utils/test_lus2lic_no_node should_work/left.lus -../utils/test_lus2lic_no_node should_work/assertion.lus -../utils/test_lus2lic_no_node should_work/normal.lus -../utils/test_lus2lic_no_node should_work/Gyroscope2.lus - ../utils/test_lus2lic_no_node should_work/ELMU.lus - ../utils/test_lus2lic_no_node should_work/aux.lus -../utils/test_lus2lic_no_node should_work/X1.lus -../utils/test_lus2lic_no_node should_work/alarme.lus -../utils/test_lus2lic_no_node should_work/onlyroll2.lus -../utils/test_lus2lic_no_node should_work/integrator.lus -../utils/test_lus2lic_no_node should_work/over2.lus - * Divers ** TODO msg d'erreur un peu mavais sur ce programme @@ -442,3 +402,25 @@ Autre idée : je fais ca lors du passage à la structure de données suivante (soc). Oui, ca fait du sens. en plus, les l2l* utilisent les infos Lic.type_, donc autant attendre un peu avant de s'en passer. + +** TODO Les assertions qui echouent font planter les tests : reflechir a une parade + +car apres tout, c'est voulu dans le prog, et ca n'est donc pas un pb du compilo + + - State "TODO" from "" [2013-05-31 Fri 16:30] + ../utils/test_lus2lic_no_node should_work/assertion.lus + +** TODO C'est normal qu'il se plante au step 2 celui la ??? + - State "TODO" from "" [2013-05-31 Fri 16:42] + ../utils/test_lus2lic_no_node should_work/sincos.lus + +** TODO pb de lecture RIF depuis lurette ( + - State "TODO" from "" [2013-05-31 Fri 16:30] + + ../utils/test_lus2lic_no_node should_work/Gyroscope2.lus + ../utils/test_lus2lic_no_node should_work/alarme.lus + ../utils/test_lus2lic_no_node should_work/lecteur.lus + ../utils/test_lus2lic_no_node should_work/Gyroscope.lus + ../utils/test_lus2lic_no_node should_work/drapfab.lus + ../utils/test_lus2lic_no_node should_work/s.lus + ../utils/test_lus2lic_no_node should_work/eq1.lus diff --git a/todo.org_archive b/todo.org_archive index 8219662e..764e012e 100644 --- a/todo.org_archive +++ b/todo.org_archive @@ -814,6 +814,55 @@ Bon, finalement, j'oblige les gens a ecrire Lustre::gt et puis ca marre. file:src/unifyType.ml::110 +* TODO Fix a bug occurring using -en and -esa together. + - State "TODO" from "" [2013-04-24 Wed 09:22] + :PROPERTIES: + :ARCHIVE_TIME: 2013-05-31 Fri 16:10 + :ARCHIVE_FILE: ~/lus2lic/todo.org + :ARCHIVE_OLPATH: Testing process + :ARCHIVE_CATEGORY: lv6 + :ARCHIVE_TODO: TODO + :END: + +#+begin_src sh +./lus2lic _assertion_oracle.lus -n assertion_oracle -en -esa +#+end_src + +** Error in file "/home/jahier/lus2lic/test/_assertion_oracle.lus", line 38, col 3 to 7, token 'v02_1': +** +** Variable _0v02_1_1 is already defined. +#+end_src + +-> on verra ca quand les autres test passeront ; je ferai alors une passe +complete qur le nommage des variables fraiches. + + +* Performances + :PROPERTIES: + :ARCHIVE_TIME: 2013-05-31 Fri 16:24 + :ARCHIVE_FILE: ~/lus2lic/todo.org + :ARCHIVE_CATEGORY: lv6 + :END: +Ceux là sont particulierement long (dont certains vraiment sans raison) +en fait, quand ecexe se plante (oracle), il bloque tout le monde... + + + +# of unresolved testcases 12 + +../utils/test_lus2lic_no_node should_work/assertion.lus +../utils/test_lus2lic_no_node should_work/normal.lus +../utils/test_lus2lic_no_node should_work/Gyroscope2.lus + ../utils/test_lus2lic_no_node should_work/ELMU.lus + ../utils/test_lus2lic_no_node should_work/aux.lus +../utils/test_lus2lic_no_node should_work/X1.lus +../utils/test_lus2lic_no_node should_work/alarme.lus +../utils/test_lus2lic_no_node should_work/onlyroll2.lus +../utils/test_lus2lic_no_node should_work/integrator.lus +../utils/test_lus2lic_no_node should_work/over2.lus + + + -- GitLab