ltlcross, autcross, ltldo: support --fail-on-timeout

Suggested by Tobias Meggendorfer.  Fixes #294.

* bin/autcross.cc, bin/ltlcross.cc, bin/ltldo.cc: Add the option.
* tests/core/autcross3.test, tests/core/ltlcross3.test,
tests/core/ltldo.test: Test it.
* tests/Makefile.am: Add autcross3.test.
* NEWS, doc/org/autcross.org, doc/org/ltlcross.org, doc/org/ltldo.org:
Mention the option.
* THANKS: Add Tobias.
This commit is contained in:
Alexandre Duret-Lutz 2017-10-15 10:44:26 +02:00
parent 0a2bca1377
commit 183ec1fb4e
12 changed files with 147 additions and 21 deletions

49
tests/core/autcross3.test Executable file
View file

@ -0,0 +1,49 @@
#!/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 <http://www.gnu.org/licenses/>.
# Test the timeout handling of autcross.
. ./defs
set -e
check_csv()
{
# Make sure all lines in $1 have the same number of comas
sed 's/[^,]//g' < "$1" |
( read first
while read l; do
test "x$first" = "x$l" || exit 1
done)
}
randaut -Q4 2 |
autcross --language-preserve 'autfilt' 'sleep 5; autfilt %H > %O' \
--timeout=2 --csv=out.csv 2>stderr
cat stderr
test `grep 'warning:.*timeout' stderr | wc -l` -eq 1
test `wc -l < out.csv` -eq 3
check_csv out.csv
randaut -Q4 2 |
autcross --language-preserve 'autfilt' 'sleep 5; autfilt %H > %O' \
--timeout=2 --fail-on-timeout --csv=out.csv 2>stderr && exit 1
cat stderr
test `grep 'error:.*timeout' stderr | wc -l` -eq 1
test `wc -l < out.csv` -eq 3
check_csv out.csv