spot/tests/core/autcross.test
Alexandre Duret-Lutz a211bace68 autcross: implement --language-complemented
Suggested by Ondřej Lengál.  Fixes #504.

* bin/autcross.cc: Implement the --language-complemented option.
* NEWS, doc/org/autcross.org: Document it.
* tests/core/autcross.test: Test it.
* THANKS: Add Ondřej.
2022-04-06 15:38:23 +02:00

62 lines
2.1 KiB
Bash
Executable file

#!/bin/sh
# -*- coding: utf-8 -*-
# Copyright (C) 2017, 2018, 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
set -e
# Skip this test if ltl2dstar is not installed.
(ltl2dstar --version) || exit 77
# The {autfilt {complement}} name makes sure we can nest braces.
randaut -n10 2 |
autcross 'ltl2dstar --complement-input=yes' \
'{autfilt {complement}} autfilt --complement' \
--csv=out.csv 2>stderr
# 5 lines per input automaton, and 1 "No problem detected" line.
test 51 = `wc -l < stderr`
grep -q 'sanity check' stderr
# --no-check still allows to build a CSV. Exercise %S.
randaut -n10 2 |
autcross 'ltl2dstar --complement-input=yes' \
'{autfilt {complement}} autfilt --complement %S>%O' \
--csv=out2.csv --no-check 2>stderr
test 51 = `wc -l < stderr`
grep -q 'sanity check' stderr && exit 1
for f in out.csv out2.csv; do
sed 's/,[0-9]*\.[0-9]*,/,TIME,/' $f > _$f
done
diff _out.csv _out2.csv
# The {autfilt {complement}} name makes sure we can nest braces.
randaut -n10 2 |
autcross 'ltl2dstar --complement-input=yes' 'autfilt --complement' \
--language-complemented --csv=out3.csv --verbose 2>stderr
test 10 = `grep 'check_empty Comp(input)\*Comp(A0)' stderr | wc -l`
randaut -n1 2 |
autcross 'ltl2dstar --complement-input=yes' 'autfilt --complement' \
--language-complemented --language-preserved 2> stderr && exit 1
cat stderr
grep 'preserved.*complemented.*incompatible' stderr