diff --git a/tests/Makefile.am b/tests/Makefile.am index 43fc73db5..6f11509f6 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -380,6 +380,8 @@ endif if USE_LTSMIN TESTS_ltsmin = \ ltsmin/check.test \ + ltsmin/check2.test \ + ltsmin/check3.test \ ltsmin/finite.test \ ltsmin/finite2.test \ ltsmin/finite3.test \ diff --git a/tests/ltsmin/check.test b/tests/ltsmin/check.test index d79e485fd..dddbf4a78 100755 --- a/tests/ltsmin/check.test +++ b/tests/ltsmin/check.test @@ -23,35 +23,15 @@ divine compile > output 2>&1 -if grep -i ltsmin output; then +if grep -i -- --ltsmin output; then : else echo "divine not installed, or no ltsmin interface" exit 77 fi -if ! test -x "$(which spins)"; then - echo "spins not installed." - exit 77 -fi - -if ! test -x "$(which gal2c)"; then - echo "gal2c not installed." - exit 77 -fi - set -e -# Promela -for opt in '' '-z'; do - - run 0 ../modelcheck $opt -E $srcdir/elevator2.1.pm \ - '!G("req[1]==1" -> (F("p==1" && "cabin_0._pc==2")))' - run 0 ../modelcheck $opt -e $srcdir/elevator2.1.pm \ - 'F("p==2")' -done - -# dve2 for opt in '' '-z'; do # The three examples from the README. # (Don't run the first one using "run 0" because it would take too much @@ -70,18 +50,6 @@ for opt in '' '-z'; do run 0 ../modelcheck $opt -e $srcdir/beem-peterson.4.dve '!G("pos[1] < 3")' done -# gal -# TODO also compare gal and dve results -for opt in '' '-z'; do - # The three examples from the README. - # (Don't run the first one using "run 0" because it would take too much - # time with valgrind.). - - run 0 ../modelcheck $opt -e $srcdir/beem-peterson.4.gal \ - '!G("P_0.state==2" -> F "P_0.state==1")' - run 0 ../modelcheck $opt -e $srcdir/beem-peterson.4.gal '!G("pos[1] < 3")' -done - # Now check some error messages. run 1 ../modelcheck foo.dve "F(P_0.CS)" 2>stderr cat stderr diff --git a/tests/ltsmin/check2.test b/tests/ltsmin/check2.test new file mode 100755 index 000000000..521a3733d --- /dev/null +++ b/tests/ltsmin/check2.test @@ -0,0 +1,37 @@ +#!/bin/sh +# -*- coding: utf-8 -*- +# Copyright (C) 2011, 2012, 2014, 2015, 2016 Laboratoire de Recherche +# et Développement de l'Epita (LRDE). +# +# This file is part of Spot, a model checking library. +# +# Spot is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# Spot is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public +# License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +. ./defs + +if ! test -x "`command -v spins`"; then + echo "spins not installed." + exit 77 +fi + +set -e + +for opt in '' '-z'; do + + run 0 ../modelcheck $opt -E $srcdir/elevator2.1.pm \ + '!G("req[1]==1" -> (F("p==1" && "cabin_0._pc==2")))' + run 0 ../modelcheck $opt -e $srcdir/elevator2.1.pm \ + 'F("p==2")' +done diff --git a/tests/ltsmin/check3.test b/tests/ltsmin/check3.test new file mode 100755 index 000000000..844e8272f --- /dev/null +++ b/tests/ltsmin/check3.test @@ -0,0 +1,38 @@ +#!/bin/sh +# -*- coding: utf-8 -*- +# Copyright (C) 2016 Laboratoire de Recherche +# et Développement de l'Epita (LRDE). +# +# This file is part of Spot, a model checking library. +# +# Spot is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# Spot is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public +# License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +. ./defs + +if ! test -x "`command -v gal2c`"; then + echo "gal2c not installed." + exit 77 +fi + +set -e + +for opt in '' '-z'; do + # The three examples from the README. + # (Don't run the first one using "run 0" because it would take too much + # time with valgrind.). + + run 0 ../modelcheck $opt -e $srcdir/beem-peterson.4.gal \ + '!G("P_0.state==2" -> F "P_0.state==1")' + run 0 ../modelcheck $opt -e $srcdir/beem-peterson.4.gal '!G("pos[1] < 3")' +done