twa_graph: fix precondition on set_init_state

Fixes #391.

* spot/twa/twagraph.hh: Here.
* tests/core/dualize.test, tests/python/except.py: New tests.
* NEWS: Mention the bug.
This commit is contained in:
Alexandre Duret-Lutz 2019-07-30 15:30:36 +02:00
parent f29eb91192
commit 8ec6ea838d
4 changed files with 107 additions and 4 deletions

View file

@ -1,6 +1,6 @@
#!/bin/sh
# -*- coding: utf-8 -*-
# Copyright (C) 2017 Laboratoire de Recherche et
# Copyright (C) 2017, 2019 Laboratoire de Recherche et
# Développement de l'Epita (LRDE).
#
# This file is part of Spot, a model checking library.
@ -65,3 +65,80 @@ EOF
run 0 autfilt input1 --dualize --hoaf=t | tee stdout
diff stdout expected
rm input1 expected stdout
# issue #391
cat >input2 <<EOF
HOA: v1
States: 10
Start: 0&4
AP: 2 "p0" "p1"
Acceptance: 2 Inf(0) | Inf(1)
properties: trans-labels explicit-labels trans-acc univ-branch
--BODY--
State: 0
[1] 1 {0}
[0&!1] 2 {0}
[!1] 3
[!1] 0
State: 1
[t] 1 {0}
State: 2
[0] 2 {0}
State: 3
[1] 1 {0}
[!1] 3
State: 4
[0] 5 {1}
[t] 6
[!0] 7 {1}
[t] 4
State: 5
[!0] 8 {1}
State: 6
[!0] 9
State: 7
State: 8
[t] 8 {1}
State: 9
[0] 8 {1}
[!0] 9
--END--
EOF
autfilt --dualize <input2 >output2
cat >expected2<<EOF
HOA: v1
States: 9
Start: 8
AP: 2 "p0" "p1"
acc-name: co-Buchi
Acceptance: 1 Fin(0)
properties: trans-labels explicit-labels state-acc univ-branch
--BODY--
State: 0
[!0&!1] 0&7
[0&!1] 0&6&7
State: 1
[!0] 1&3
[0] 1&2&3
State: 2
[0] 4
State: 3
[0] 4
[!0] 5
State: 4
[t] 4
State: 5
[!0] 5
State: 6 {0}
[!0] 4
[0] 6
State: 7
[!1] 7
State: 8
[!0] 1&3
[t] 1&2&3
[!0&!1] 0&7
[!1] 0&6&7
--END--
EOF
diff output2 expected2