spot/tests/core/syfco.test
Alexandre Duret-Lutz 5f43c9bfce ltlsynt: implement --tlsf to call syfco automatically
Fixes #473.

* NEWS, doc/org/ltlsynt.org: Mention it.
* bin/common_trans.cc, bin/common_trans.hh (read_stdout_of_command):
New function.
* bin/ltlsynt.cc: Implement the --tlsf option.
* tests/core/syfco.test: New file.
* tests/Makefile.am: Add it.
2022-04-13 09:08:40 +02:00

48 lines
1.5 KiB
Bash
Executable file

#! /bin/sh
# -*- coding: utf-8 -*-
# Copyright (C) 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 -e
# Test that we can pass a tlsf specification to ltlsynt. This
# only work if syfco is installed.
(syfco --version) || exit 77
cat >test.tlsf <<EOF
INFO {
TITLE: "example"
DESCRIPTION: "test case"
SEMANTICS: Mealy
TARGET: Mealy
}
MAIN {
INPUTS { in; }
OUTPUTS { out; }
GUARANTEE { G((in) <-> X(out)); }
}
EOF
test REALIZABLE = `ltlsynt --tlsf test.tlsf --realizability`
test UNREALIZABLE = `ltlsynt --tlsf test.tlsf --outs=foo --realizability`
test UNREALIZABLE = `ltlsynt --outs=foo --tlsf test.tlsf --realizability`
ltlsynt --tlsf test.tlsf --tlsf test.tlsf 2>stderr && exit 0
grep 'option --tlsf may only be used once' stderr