diff --git a/bin/man/spot-x.x b/bin/man/spot-x.x index 68f11087d..7523ece1c 100644 --- a/bin/man/spot-x.x +++ b/bin/man/spot-x.x @@ -65,6 +65,11 @@ is the same as running but the use of the environment variable makes more sense if you set it up once for many commands. +.TP +\fBSPOT_DEBUG_PARSER\fR +If this variable is set to any value, the automaton parser of Spot is +executed in debug mode, showing how the input is processed. + .TP \fBSPOT_DOTDEFAULT\fR Whenever the \f(CW--dot\fR option is used without argument (even @@ -129,6 +134,31 @@ all Streett automata, however we do not recommand setting it to less than 2, because the "Fin-removal" approach is better for single-pair Streett automata. +.TP +\fBSPOT_STUTTER_CHECK\fR +Select the default check used to decide stutter invariance. The +variable should hold a value between 1 and 8, corresponding to the +following tests described in our Spin'15 paper (see the BIBLIOGRAPHY +section). The default is 8. +.RS +.IP 1 +sl(a) x sl(!a) +.IP 2 +sl(cl(a)) x !a +.IP 3 +cl(sl(a)) x !a +.IP 4 +sl2(a) x sl2(!a) +.IP 5 +sl2(cl(a)) x !a +.IP 6 +cl(sl2(a)) x !a +.IP 7 +sl(a) x sl(!a), performed on-the-fly +.IP 8 +cl(a) x cl(!a) +.RE + .TP \fBSPOT_TMPDIR\fR, \fBTMPDIR\fR These variables control in which directory temporary files (e.g., @@ -182,6 +212,15 @@ SAT Solving. Proceedings of SAT'10. LNCS 6175. Our SAT-based minimization procedures are generalizations of this paper to deal with TBA or TGBA. +.TP +4. +Thibaud Michaud and Alexandre Duret-Lutz: Practical stutter-invariance +checks for ω-regular languages, Proceedings of SPIN'15. LNCS 9232. + +Describes the stutter-invariance checks that can be selected through +\fBSPOT_STUTTER_CHECK\fR. + + [SEE ALSO] .BR ltl2tgba (1) .BR ltl2tgta (1) diff --git a/tests/Makefile.am b/tests/Makefile.am index 9a47d3fa7..f5638e7bd 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -418,6 +418,7 @@ endif TESTS_sanity = \ sanity/80columns.test \ sanity/bin.test \ + sanity/getenv.test \ sanity/includes.test \ sanity/ipynb.pl \ sanity/namedprop.test \ diff --git a/tests/sanity/getenv.test b/tests/sanity/getenv.test new file mode 100644 index 000000000..f26d405e6 --- /dev/null +++ b/tests/sanity/getenv.test @@ -0,0 +1,51 @@ +#! /bin/sh +# -*- coding: utf-8 -*- +# Copyright (C) 2017 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 . + + +# We used to loop over more directories before the source tree was +# rearranged. So there is only one left today, but we keep the loop +# in case we want to add more in the future. + +set +x + +DOC=bin/man/spot-x.x + +rm -f getenv.log + +TOP=${srcdir-.}/../.. +for dir in "$TOP/spot" "$TOP/bin"; do + find "$dir" \( -name "${1-*}.hh" \ + -o -name "${1-*}.hxx" \ + -o -name "${1-*}.cc" \) \ + -a -not -path '*.dir/*' \ + -a -type f -a -print +done | +xargs sed -n 's/.*getenv("\([^"]*\)").*/\1/p' | +sort | uniq | +while read prop; do + if ! grep -q "$prop" "$TOP/$DOC"; then + echo "* $prop" >>getenv.log + fi +done +if test -f getenv.log; then + echo "These environment variables are not documented in $DOC:" + cat getenv.log + exit 1 +fi