Commit d2e9515c authored by Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz

skip divine tests when divine does not understand compile --help

Fixes #235, reported by Henrich Lauko.

* python/spot/ltsmin.i: Catch CalledProcessError.
* NEWS: Mention the bug.
* THANKS: Add Henrich.
parent 0d00ab24
...@@ -6,6 +6,11 @@ New in spot 2.3.1.dev (not yet released) ...@@ -6,6 +6,11 @@ New in spot 2.3.1.dev (not yet released)
can be output using --stats=%x (output automaton) or --stats=%X can be output using --stats=%x (output automaton) or --stats=%X
(input automaton). (input automaton).
Bugs fixed:
- The tests using LTSmin's patched version of divine would fail
if the current (non-patched) version of divine was installed.
New in spot 2.3.1 (2017-02-20) New in spot 2.3.1 (2017-02-20)
Tools: Tools:
......
...@@ -14,6 +14,7 @@ Felix Klaedtke ...@@ -14,6 +14,7 @@ Felix Klaedtke
František Blahoudek František Blahoudek
Gerard J. Holzmann Gerard J. Holzmann
Heikki Tauriainen Heikki Tauriainen
Henrich Lauko
Jan Strejček Jan Strejček
Jean-Michel Couvreur Jean-Michel Couvreur
Jean-Michel Ilié Jean-Michel Ilié
......
// -*- coding: utf-8 -*- // -*- coding: utf-8 -*-
// Copyright (C) 2016 Laboratoire de Recherche et Développement de // Copyright (C) 2016, 2017 Laboratoire de Recherche et Développement de
// l'Epita (LRDE). // l'Epita (LRDE).
// //
// This file is part of Spot, a model checking library. // This file is part of Spot, a model checking library.
...@@ -120,8 +120,13 @@ def require(*tools): ...@@ -120,8 +120,13 @@ def require(*tools):
if shutil.which("divine") == None: if shutil.which("divine") == None:
print("divine not available", file=sys.stderr) print("divine not available", file=sys.stderr)
sys.exit(77) sys.exit(77)
out = subprocess.check_output(['divine', 'compile', '--help'], try:
stderr=subprocess.STDOUT) out = subprocess.check_output(['divine', 'compile', '--help'],
stderr=subprocess.STDOUT)
except (subprocess.CalledProcessError):
print("divine does not understand 'compile --help'",
file=sys.stderr)
sys.exit(77)
if b'LTSmin' not in out: if b'LTSmin' not in out:
print("divine available but no support for LTSmin", print("divine available but no support for LTSmin",
file=sys.stderr) file=sys.stderr)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment