#!/bin/sh # -*- coding: utf-8 -*- # Copyright (C) 2013-2016, 2018 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 . # Do some quick translations to make sure the neverclaims produced by # spot actually look correct! We do that by parsing them via ltlcross. # ltl2neverclaim-lbtt.test does the same with LBTT if it is installed. . ./defs set -e # DRA generated with # ltlfilt -f 'a U b' -l | ltl2dstar --ltl2nba=spin:path/ltl2tgba@-s - - cat >dra.dstar <expected < 0 0 [label="0"] 0 -> 0 [label="a & !b"] 0 -> 1 [label="!a & !b"] 0 -> 2 [label="b"] 1 [label="1\n{0}"] 1 -> 1 [label="1"] 2 [label="2\n{1}"] 2 -> 2 [label="1"] } EOF diff expected stdout run 0 ../ikwiad -d -XDB -R3 dra.dstar | tee stdout cat >expected < 0 0 [label="0"] 0 -> 0 [label="a & !b"] 0 -> 1 [label="b"] 1 [label="1", peripheries=2] 1 -> 1 [label="1"] } EOF diff expected stdout # DSA generated with # ltlfilt -f 'FGa' -l | # ltl2dstar --automata=streett --ltl2nba=spin:path/ltl2tgba@-s - - cat >dsa.dstar <expected < 1 0 [label="0"] 0 -> 0 [label="!a"] 0 -> 2 [label="a"] 1 [label="1"] 1 -> 0 [label="1"] 2 [label="2"] 2 -> 0 [label="!a"] 2 -> 2 [label="a"] 2 -> 3 [label="a"] 3 [label="3", peripheries=2] 3 -> 3 [label="a"] } EOF diff expected stdout # These one could be reduced to 2 5 0 0 and 3 8 1 0 test "`dstar2tgba -D dsa.dstar --stats '%s %t %p %d'`" = "4 8 0 0" test "`dstar2tgba -DC dsa.dstar --stats '%s %t %p %d'`" = "5 11 1 0" # DRA generated with # ltlfilt -f 'Ga | Fb' -l | ltl2dstar --ltl2nba=spin:path/ltl2tgba@-Ds - - # (State name and comments added by hand to test the parser.) cat >dra.dstar <expected < 0 0 [label="0"] 0 -> 1 [label="!a & !b"] 0 -> 2 [label="a & !b"] 0 -> 3 [label="!a & b"] 0 -> 4 [label="a & b"] 1 [label="1"] 1 -> 1 [label="!b"] 1 -> 3 [label="b"] 2 [label="2", peripheries=2] 2 -> 1 [label="!a & !b"] 2 -> 2 [label="a & !b"] 2 -> 3 [label="!a & b"] 2 -> 4 [label="a & b"] 3 [label="3", peripheries=2] 3 -> 3 [label="1"] 4 [label="4", peripheries=2] 4 -> 3 [label="!a"] 4 -> 4 [label="a"] } digraph "" { rankdir=LR node [shape="circle"] I [label="", style=invis, width=0] I -> 0 0 [label="0"] 0 -> 1 [label="!a & !b"] 0 -> 2 [label="a & !b"] 1 [label="1", peripheries=2] 1 -> 1 [label="!b"] 2 [label="2"] 2 -> 1 [label="!a & !b"] 2 -> 2 [label="a & !b"] } EOF diff expected stdout cat >expected < out cat out diff expected out # This has caused a crash at some point when dealing with 0-sized # bitsets to represent acceptance sets. cat >aut.dsa <expected< 0 0 [label="0"] 0 -> 0 [label="1\n{0}"] } EOF diff expected stdout