spot/tests/core/included.test
Alexandre Duret-Lutz b3b22388c9 postproc: introduce -x merge-states-min
* spot/twaalgos/postproc.cc, spot/twaalgos/postproc.hh: Introduce a
merge-states-min option.
* bin/spot-x.cc: Document it.
* spot/gen/automata.cc, spot/gen/automata.hh, bin/genaut.cc: Add
option to generate cyclist test cases.
* NEWS: Document the above.
* tests/core/included.test: Add test cases that used to be too slow.
2022-09-13 15:19:55 +02:00

71 lines
2.2 KiB
Bash
Executable file

#! /bin/sh
# -*- coding: utf-8 -*-
# Copyright (C) 2016, 2022 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 || exit 1
set -x
ltl2tgba 'G(a&b)' > gab.hoa
ltl2tgba 'Ga' > ga.hoa
ltl2tgba 'false' > false.hoa
ltl2tgba FGa > fga.hoa
ltl2tgba FGb > fgb.hoa
ltl2tgba GFa > gfa.hoa
run 0 autfilt -q fga.hoa --included-in gfa.hoa
run 0 autfilt -q fga.hoa --included-in fga.hoa
run 1 autfilt -q gfa.hoa --included-in fga.hoa
run 0 autfilt -q gab.hoa --included-in fga.hoa --included-in fgb.hoa
run 1 autfilt -q ga.hoa --included-in fga.hoa --included-in fgb.hoa
run 0 autfilt -q false.hoa --included-in fga.hoa
run 1 autfilt -q gfa.hoa --equivalent-to fga.hoa
run 1 autfilt -q fga.hoa --equivalent-to gfa.hoa
run 0 autfilt -D fga.hoa > fgaD.hoa
grep deterministic fga.hoa && exit 1
grep deterministic fgaD.hoa
run 0 autfilt -q fga.hoa --equivalent-to fgaD.hoa
run 0 autfilt -q fgaD.hoa --equivalent-to fga.hoa
# lets test that
# (a U b) + !(a U b) == true
ltl2tgba 'a U b' > a1.hoa
ltl2tgba '!(a U b)' | autfilt --product-or a1.hoa > out.hoa
ltl2tgba true | autfilt out.hoa --equivalent-to -
# This should fails if we replace !(a U b) by !(a U c).
ltl2tgba '!(a U c)' | autfilt --product-or a1.hoa > out.hoa
ltl2tgba true | autfilt out.hoa --equivalent-to - && exit 1
# In Spot 2.10, the following was very slow.
for n in 1 2 4 8 16 512 1024 2048 4096 8192; do
genaut --cyclist-trace-nba=$n > trace.hoa
genaut --cyclist-proof-dba=$n > proof.hoa
autfilt -q --included-in=trace.hoa proof.hoa || exit 1
autfilt -q --included-in=proof.hoa trace.hoa && exit 1
done
: