diff --git a/.gitignore b/.gitignore index 772ed8d41305757799105c2015e2bcabbee1c2d5..712e889c4ae70949b1db334faca821aaa3f14e2f 100644 --- a/.gitignore +++ b/.gitignore @@ -172,5 +172,5 @@ scade-manuel.pdf src/TODO.org src/mli_save/ - +Makefile.version diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..271afce04ff58471a00fcbd34ff10774c9501bb2 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,26 @@ +image: ocaml/opam:ubuntu + +variables: + GIT_STRATEGY: clone + +stages: + - build + - test + +build: + stage: build + script: + - opam repo add verimag-sync-repo "http://www-verimag.imag.fr/DIST-TOOLS/SYNCHRONE/opam-repository" + - opam update + - opam install -y camlp4 ocamlfind oasis extlib + - opam install rdbg + - make + - make install + +test_opam_test: + stage: test + script: + - opam repo add verimag-sync-repo "http://www-verimag.imag.fr/DIST-TOOLS/SYNCHRONE/test/opam-repository" + - opam update + - opam install -y lustre-v6 + diff --git a/Makefile b/Makefile index a57615b29e4d2a53ec280da8c307cd2b2c429df8..eb22a3ba4c9cd6afd265313058816485208bdc0f 100644 --- a/Makefile +++ b/Makefile @@ -1,21 +1,20 @@ -all:build +all:build man build: setup.data src/lv6version.ml ocaml setup.ml -build -include ./Makefile.version +-include ./Makefile.version setup.ml:_oasis oasis setup PROF=--enable-profile PROF=--disable-profile -BINPATH=$(shell dirname `which ocamlc`)/.. -LIBPATH=$(shell ocamlc -where)/../lustre-v6/ +BINPATH=$(shell opam config var prefix) setup.data:setup.ml - ocaml setup.ml -configure $(PROF) --prefix $(BINPATH) --exec-prefix $(BINPATH) + ocaml setup.ml -configure $(PROF) --prefix $(BINPATH) -install:install-man +install: ocaml setup.ml -install uninstall: @@ -33,10 +32,7 @@ distclean: ocaml setup.ml -distclean man: - cd lv6-ref-man && make - -install-man: man - cp lv6-ref-man/lv6-ref-man.pdf $(LIBPATH) || true + cd lv6-ref-man && make || echo "*** ref manual building failed" ############################### diff --git a/Makefile.dev b/Makefile.dev index 5c3f58073f5996482478e2947dc1ba2e9f673884..b39caf352eb3ae0c4e064a7432991913663002fe 100644 --- a/Makefile.dev +++ b/Makefile.dev @@ -35,12 +35,15 @@ README.md: README.txt ####################################################################################### # Workflow: # C=git commit ; A=git amend ; U=update_version ; P=opam pack -# to make sure the sha and the version are good, one should never -# do U and then A. -# to avoid such problems, legal trace are defined by this automata: +# - to make sure the sha and the version are good, one should never +# do U and then A. +# - to make sure gtit is not confused, one should never do A and the P +# +# thereforeto avoid such problems, legal trace are defined by this automata: # 0 -C-> 1 -# 1 -P-> 1 # 1 -A-> 1 +# 1 -P-> 2 +# 2 -U-> 0 # 1 -U-> 0 # to implement such a workflow, C puts a lock (state 1) and U removes it (state 0) @@ -58,12 +61,11 @@ update_version: cia: test -f committed && \ echo "*** I won't commit!\n*** until you 'make update_version'!" \ - || (git commit -a -F log && touch committed) + || (git commit -a -F log && touch committed) && echo "Hint: 'make ci' to test the CI before doing 'make 'push'" -ci: - test -f committed && \ - echo "*** I won't commit!\n*** until you 'make update_version'!" \ - || (git commit -F log && touch committed) + +push: opam-test + git push && make uv amend: test -f committed && git commit -a -F log --amend diff --git a/Makefile.version b/Makefile.version.hide similarity index 100% rename from Makefile.version rename to Makefile.version.hide diff --git a/_oasis b/_oasis index 213952ba483c60f3c198b390730a29021709eb22..de9dd7fe3a6ef72322e492ce1ec45036216dc397 100644 --- a/_oasis +++ b/_oasis @@ -1,6 +1,6 @@ OASISFormat: 0.4 Name: lustre-v6 -Version: 1.726 +Version: 1.728 Synopsis: The Lustre V6 Verimag compiler Description: This package contains: - lus2lic: the (current) name of the compiler (and interpreter via -exec) diff --git a/lv6-ref-man/lv6-ref-man.pdf b/lv6-ref-man/lv6-ref-man.pdf new file mode 100644 index 0000000000000000000000000000000000000000..36efc1558f3916bd8c0a22356154f1fa7af9d777 Binary files /dev/null and b/lv6-ref-man/lv6-ref-man.pdf differ diff --git a/src/lv6version.ml b/src/lv6version.ml index a7661165eccfa08b21a61e8bdbe6bd126ed2c313..ba261919f3477dd20cbf196f6b0df94e5f807c27 100644 --- a/src/lv6version.ml +++ b/src/lv6version.ml @@ -1,7 +1,7 @@ (** Automatically generated from Makefile *) let tool = "lus2lic" let branch = "master" -let commit = "726" -let sha_1 = "45684e24424db1b7777b3b53d795035b3e25009c" +let commit = "728" +let sha_1 = "1dc1ebdf000ae91e09b6716ecc593a82c568efc9" let str = (branch ^ "." ^ commit ^ " (" ^ sha_1 ^ ")") let maintainer = "erwan.jahier@univ-grenoble-alpes.fr" diff --git a/test/lus2lic b/test/lus2lic index 1d5cfcf24c81200ff5e654fa91257aed958eb556..46e427c905c676342037471245b460a3ddc4ad89 120000 --- a/test/lus2lic +++ b/test/lus2lic @@ -1 +1 @@ -../lus2lic \ No newline at end of file +../_build/src/main.native \ No newline at end of file diff --git a/test/lus2lic.sum b/test/lus2lic.sum index 225cb9620db2599730eb33f2fe1b5db2db18f898..3472d34aa9c82c76d134d01854cefc14cfd390dd 100644 --- a/test/lus2lic.sum +++ b/test/lus2lic.sum @@ -1,5 +1,5 @@ ==> lus2lic0.sum <== -Test Run By jahier on Thu Nov 30 16:36:40 +Test Run By jahier on Thu Dec 14 10:43:54 Native configuration is x86_64-unknown-linux-gnu === lus2lic0 tests === @@ -66,7 +66,7 @@ XFAIL: Test bad programs (assert): test_lus2lic_no_node should_fail/assert/lecte XFAIL: Test bad programs (assert): test_lus2lic_no_node should_fail/assert/s.lus ==> lus2lic1.sum <== -Test Run By jahier on Thu Nov 30 16:36:41 +Test Run By jahier on Thu Dec 14 10:43:54 Native configuration is x86_64-unknown-linux-gnu === lus2lic1 tests === @@ -263,9 +263,6 @@ PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c ec.lus {} PASS: ./lus2lic {-2c enum0.lus -n enum0} PASS: sh enum0.sh PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c enum0.lus {} -PASS: ./lus2lic {-2c enum0_lv4.lus -n enum0_lv4} -PASS: sh enum0_lv4.sh -PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c enum0_lv4.lus {} PASS: ./lus2lic {-2c ex.lus -n ex} PASS: sh ex.sh PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c ex.lus {} @@ -412,7 +409,7 @@ PASS: sh multipar.sh PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c multipar.lus {} ==> lus2lic2.sum <== -Test Run By jahier on Thu Nov 30 16:37:22 +Test Run By jahier on Thu Dec 14 10:44:35 Native configuration is x86_64-unknown-linux-gnu === lus2lic2 tests === @@ -752,7 +749,7 @@ PASS: sh zzz2.sh PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c zzz2.lus {} ==> lus2lic3.sum <== -Test Run By jahier on Thu Nov 30 16:38:08 +Test Run By jahier on Thu Dec 14 10:45:40 Native configuration is x86_64-unknown-linux-gnu === lus2lic3 tests === @@ -1036,10 +1033,6 @@ PASS: /home/jahier/lus2lic/test/../utils/test_lus2lic_no_node ec.lus {} PASS: ./lus2lic {} {-o enum0.lic enum0.lus} PASS: ./lus2lic {-ec -o enum0.ec enum0.lus} PASS: ./myec2c {-o enum0.c enum0.ec} -PASS: ./lus2lic {} {-o enum0_lv4.lic enum0_lv4.lus} -PASS: ./lus2lic {-ec -o enum0_lv4.ec enum0_lv4.lus} -PASS: ./myec2c {-o enum0_lv4.c enum0_lv4.ec} -PASS: /home/jahier/lus2lic/test/../utils/test_lus2lic_no_node enum0_lv4.lus {} PASS: ./lus2lic {} {-o ex.lic ex.lus} PASS: ./lus2lic {-ec -o ex.ec ex.lus} PASS: ./myec2c {-o ex.c ex.ec} @@ -1214,7 +1207,6 @@ PASS: ./lus2lic {} {-o modes3x2_v3.lic modes3x2_v3.lus} PASS: ./lus2lic {-ec -o modes3x2_v3.ec modes3x2_v3.lus} PASS: ./lus2lic {} {-o modes3x2_v4.lic modes3x2_v4.lus} PASS: ./lus2lic {-ec -o modes3x2_v4.ec modes3x2_v4.lus} -FAIL: without any option: ./lus2lic {} {-o modes3x2_v4.lv4.lic modes3x2_v4.lv4.lus} PASS: ./lus2lic {} {-o morel.lic morel.lus} PASS: ./lus2lic {-ec -o morel.ec morel.lus} PASS: ./myec2c {-o morel.c morel.ec} @@ -1266,7 +1258,7 @@ PASS: /home/jahier/lus2lic/test/../utils/test_lus2lic_no_node multipar.lus {} ==> lus2lic4.sum <== -Test Run By jahier on Thu Nov 30 16:39:08 +Test Run By jahier on Thu Dec 14 10:46:44 Native configuration is x86_64-unknown-linux-gnu === lus2lic4 tests === @@ -1758,7 +1750,7 @@ PASS: /home/jahier/lus2lic/test/../utils/test_lus2lic_no_node zzz2.lus {} === lus2lic1 Summary === -# of expected passes 333 +# of expected passes 330 # of unexpected failures 1 ==> lus2lic2.sum <== @@ -1771,8 +1763,8 @@ PASS: /home/jahier/lus2lic/test/../utils/test_lus2lic_no_node zzz2.lus {} ==> lus2lic3.sum <== === lus2lic3 Summary === -# of expected passes 494 -# of unexpected failures 6 +# of expected passes 490 +# of unexpected failures 5 # of unresolved testcases 1 ==> lus2lic4.sum <== @@ -1782,15 +1774,15 @@ PASS: /home/jahier/lus2lic/test/../utils/test_lus2lic_no_node zzz2.lus {} # of expected passes 465 # of unexpected failures 6 =============================== -# Total number of failures: 14 +# Total number of failures: 13 lus2lic0.log:testcase ./lus2lic.tests/test0.exp completed in 0 seconds -lus2lic1.log:testcase ./lus2lic.tests/test1.exp completed in 41 seconds -lus2lic2.log:testcase ./lus2lic.tests/test2.exp completed in 46 seconds -lus2lic3.log:testcase ./lus2lic.tests/test3.exp completed in 60 seconds +lus2lic1.log:testcase ./lus2lic.tests/test1.exp completed in 40 seconds +lus2lic2.log:testcase ./lus2lic.tests/test2.exp completed in 64 seconds +lus2lic3.log:testcase ./lus2lic.tests/test3.exp completed in 64 seconds lus2lic4.log:testcase ./lus2lic.tests/test4.exp completed in 33 seconds * Ref time: -122.26user 26.12system 3:00.36elapsed 82%CPU (0avgtext+0avgdata 283484maxresident)k -0inputs+6103384outputs (0major+18029696minor)pagefaults 0swaps +139.67user 28.91system 3:22.88elapsed 83%CPU (0avgtext+0avgdata 283556maxresident)k +0inputs+6051504outputs (0major+17946258minor)pagefaults 0swaps * Quick time (-j 4): -164.84user 31.99system 2:17.06elapsed 143%CPU (0avgtext+0avgdata 283480maxresident)k -4144inputs+5983920outputs (3major+17743590minor)pagefaults 0swaps +152.33user 30.75system 1:52.17elapsed 163%CPU (0avgtext+0avgdata 283420maxresident)k +32inputs+5902328outputs (0major+17567460minor)pagefaults 0swaps