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.
This commit is contained in:
parent
06b73c39fa
commit
5f43c9bfce
7 changed files with 214 additions and 25 deletions
48
tests/core/syfco.test
Executable file
48
tests/core/syfco.test
Executable file
|
|
@ -0,0 +1,48 @@
|
|||
#! /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
|
||||
Loading…
Add table
Add a link
Reference in a new issue