#!/bin/sh # -*- coding: utf-8 -*- # Copyright (C) by the Spot authors, see the AUTHORS file for details. # # 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 . #These are the same tests as in finite.test, except with Spins' interface . ./defs # Compile the model beforehand to avoid compiler's output interference. if ! spins $srcdir/finite.pm; then echo "spins not functionnal." exit 77 fi run 0 ../modelcheck --dot model --model $srcdir/finite.pm \ --formula '"P_0.a < 10"' > stdout test `grep ' -> ' stdout | wc -l` = 25 test `grep 'P_0.a=' stdout | wc -l` = 15 run 0 ../modelcheck --selfloopize true --dot model \ --model $srcdir/finite.pm \ --formula '"P_0.a < 10"' > stdout2 diff stdout stdout2 run 0 ../modelcheck --selfloopize false --dot model \ --model $srcdir/finite.pm \ --formula '"P_0.a < 10"' > stdout test `grep ' -> ' stdout | wc -l` = 19 test `grep 'P_0.a=' stdout | wc -l` = 15 # the same with compressed states run 0 ../modelcheck --compress 1 --selfloopize false --dot model \ --model $srcdir/finite.pm --formula '"P_0.a < 10"' > stdout test `grep ' -> ' stdout | wc -l` = 19 test `grep 'P_0.a=' stdout | wc -l` = 15 run 0 ../modelcheck --is-empty --selfloopize dead \ --model $srcdir/finite.pm \ --formula '!(G(dead -> ("P_0.a==3" | "P_0.b==3")))' run 1 ../modelcheck --is-empty --selfloopize dead \ --model $srcdir/finite.pm \ --formula '!(G(dead -> ("P_0.a==2" | "P_0.b==3")))' run 0 ../modelcheck --dot product --model $srcdir/finite.pm \ --formula true