split ltsmin/check.test in three files
Fixes #195. * tests/ltsmin/check.test: Extract the spins and gal checks and move them to... * tests/ltsmin/check2.test, tests/ltsmin/check3.test: ... these files. * tests/Makefile.am: Adjust.
This commit is contained in:
parent
dc4a477172
commit
1afb76a630
4 changed files with 78 additions and 33 deletions
|
|
@ -380,6 +380,8 @@ endif
|
||||||
if USE_LTSMIN
|
if USE_LTSMIN
|
||||||
TESTS_ltsmin = \
|
TESTS_ltsmin = \
|
||||||
ltsmin/check.test \
|
ltsmin/check.test \
|
||||||
|
ltsmin/check2.test \
|
||||||
|
ltsmin/check3.test \
|
||||||
ltsmin/finite.test \
|
ltsmin/finite.test \
|
||||||
ltsmin/finite2.test \
|
ltsmin/finite2.test \
|
||||||
ltsmin/finite3.test \
|
ltsmin/finite3.test \
|
||||||
|
|
|
||||||
|
|
@ -23,35 +23,15 @@
|
||||||
|
|
||||||
divine compile > output 2>&1
|
divine compile > output 2>&1
|
||||||
|
|
||||||
if grep -i ltsmin output; then
|
if grep -i -- --ltsmin output; then
|
||||||
:
|
:
|
||||||
else
|
else
|
||||||
echo "divine not installed, or no ltsmin interface"
|
echo "divine not installed, or no ltsmin interface"
|
||||||
exit 77
|
exit 77
|
||||||
fi
|
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
|
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
|
for opt in '' '-z'; do
|
||||||
# The three examples from the README.
|
# The three examples from the README.
|
||||||
# (Don't run the first one using "run 0" because it would take too much
|
# (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")'
|
run 0 ../modelcheck $opt -e $srcdir/beem-peterson.4.dve '!G("pos[1] < 3")'
|
||||||
done
|
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.
|
# Now check some error messages.
|
||||||
run 1 ../modelcheck foo.dve "F(P_0.CS)" 2>stderr
|
run 1 ../modelcheck foo.dve "F(P_0.CS)" 2>stderr
|
||||||
cat stderr
|
cat stderr
|
||||||
|
|
|
||||||
37
tests/ltsmin/check2.test
Executable file
37
tests/ltsmin/check2.test
Executable file
|
|
@ -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 <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
|
||||||
|
. ./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
|
||||||
38
tests/ltsmin/check3.test
Executable file
38
tests/ltsmin/check3.test
Executable file
|
|
@ -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 <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
. ./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
|
||||||
Loading…
Add table
Add a link
Reference in a new issue