dotty: Specialize for tgba_digraph_ptr
* src/tgbaalgos/dotty.cc: Specialize for tgba_digraph_ptr. * src/tgba/tgbagraph.hh, src/tgbaalgos/dupexp.cc: Copy properties by default when cloning an automaton. * src/tgbatest/det.test, src/tgbatest/dstar.test, src/tgbatest/ltl2tgba.test, src/tgbatest/monitor.test, src/tgbatest/neverclaimread.test, src/tgbatest/tgbaread.test: Adjust tests.
This commit is contained in:
parent
1d7a20b2d5
commit
77cb836e47
9 changed files with 229 additions and 108 deletions
|
|
@ -115,22 +115,28 @@ run 0 ../ltl2tgba -H -DC -XH in.hoa > out.hoa
|
|||
run 1 ../../bin/autfilt -q --are-isomorph in.hoa out.hoa
|
||||
run 0 ../../bin/autfilt -q --are-isomorph ex.hoa out.hoa
|
||||
|
||||
# FIXME: State 2 and 5 are unreachable and I'd rather
|
||||
# not show them.
|
||||
run 0 ../ltl2tgba -x -DC 'GFa & XGFb' > out.tgba
|
||||
cat >ex.tgba <<EOF
|
||||
digraph G {
|
||||
rankdir=LR
|
||||
0 [label="", style=invis, width=0]
|
||||
0 -> 1
|
||||
1 [label="0"]
|
||||
1 -> 2 [label="1"]
|
||||
2 [label="1"]
|
||||
2 -> 2 [label="1"]
|
||||
I [label="", style=invis, width=0]
|
||||
I -> 0
|
||||
0 [label="0"]
|
||||
0 -> 1 [label="1"]
|
||||
1 [label="1"]
|
||||
1 -> 1 [label="1"]
|
||||
1 -> 3 [label="!a"]
|
||||
1 -> 4 [label="!b"]
|
||||
2 [label="2", peripheries=2]
|
||||
2 -> 3 [label="!a"]
|
||||
2 -> 4 [label="!b"]
|
||||
3 [label="3", peripheries=2]
|
||||
3 -> 3 [label="!a"]
|
||||
4 [label="4", peripheries=2]
|
||||
4 -> 4 [label="!b"]
|
||||
5 [label="5", peripheries=2]
|
||||
5 -> 5 [label="1"]
|
||||
}
|
||||
EOF
|
||||
diff out.tgba ex.tgba
|
||||
|
|
|
|||
|
|
@ -61,16 +61,16 @@ run 0 ../ltl2tgba -XD dra.dstar | tee stdout
|
|||
cat >expected <<EOF
|
||||
digraph G {
|
||||
rankdir=LR
|
||||
0 [label="", style=invis, width=0]
|
||||
0 -> 1
|
||||
1 [label="0"]
|
||||
1 -> 1 [label="a & !b"]
|
||||
1 -> 2 [label="!a & !b"]
|
||||
1 -> 3 [label="b"]
|
||||
2 [label="1"]
|
||||
I [label="", style=invis, width=0]
|
||||
I -> 0
|
||||
0 [label="0"]
|
||||
0 -> 0 [label="a & !b"]
|
||||
0 -> 1 [label="!a & !b"]
|
||||
0 -> 2 [label="b"]
|
||||
1 [label="1"]
|
||||
1 -> 1 [label="1"]
|
||||
2 [label="2"]
|
||||
2 -> 2 [label="1"]
|
||||
3 [label="2"]
|
||||
3 -> 3 [label="1"]
|
||||
}
|
||||
EOF
|
||||
|
||||
|
|
@ -82,13 +82,13 @@ run 0 ../ltl2tgba -XDD dra.dstar | tee stdout
|
|||
cat >expected <<EOF
|
||||
digraph G {
|
||||
rankdir=LR
|
||||
0 [label="", style=invis, width=0]
|
||||
0 -> 1
|
||||
1 [label="0"]
|
||||
1 -> 1 [label="a & !b"]
|
||||
1 -> 2 [label="b"]
|
||||
2 [label="1", peripheries=2]
|
||||
2 -> 2 [label="1"]
|
||||
I [label="", style=invis, width=0]
|
||||
I -> 0
|
||||
0 [label="0"]
|
||||
0 -> 0 [label="a & !b"]
|
||||
0 -> 1 [label="b"]
|
||||
1 [label="1", peripheries=2]
|
||||
1 -> 1 [label="1"]
|
||||
}
|
||||
EOF
|
||||
|
||||
|
|
@ -126,33 +126,33 @@ run 0 ../ltl2tgba -XDB dsa.dstar | tee stdout
|
|||
cat >expected <<EOF
|
||||
digraph G {
|
||||
rankdir=LR
|
||||
0 [label="", style=invis, width=0]
|
||||
0 -> 1
|
||||
1 [label="0"]
|
||||
1 -> 2 [label="1"]
|
||||
1 -> 3 [label="1"]
|
||||
2 [label="1"]
|
||||
2 -> 2 [label="!a"]
|
||||
2 -> 3 [label="!a"]
|
||||
2 -> 4 [label="a"]
|
||||
2 -> 5 [label="a"]
|
||||
3 [label="2"]
|
||||
3 -> 6 [label="!a"]
|
||||
3 -> 5 [label="a\n{0}"]
|
||||
4 [label="3"]
|
||||
4 -> 2 [label="!a"]
|
||||
4 -> 3 [label="!a"]
|
||||
4 -> 4 [label="a"]
|
||||
4 -> 5 [label="a"]
|
||||
5 [label="4"]
|
||||
5 -> 6 [label="!a"]
|
||||
5 -> 5 [label="a\n{0}"]
|
||||
6 [label="5"]
|
||||
6 -> 6 [label="!a"]
|
||||
6 -> 7 [label="a"]
|
||||
7 [label="6"]
|
||||
7 -> 6 [label="!a"]
|
||||
7 -> 7 [label="a"]
|
||||
I [label="", style=invis, width=0]
|
||||
I -> 0
|
||||
0 [label="0"]
|
||||
0 -> 1 [label="1"]
|
||||
0 -> 2 [label="1"]
|
||||
1 [label="1"]
|
||||
1 -> 1 [label="!a"]
|
||||
1 -> 2 [label="!a"]
|
||||
1 -> 3 [label="a"]
|
||||
1 -> 4 [label="a"]
|
||||
2 [label="2"]
|
||||
2 -> 5 [label="!a"]
|
||||
2 -> 4 [label="a\n{0}"]
|
||||
3 [label="3"]
|
||||
3 -> 1 [label="!a"]
|
||||
3 -> 2 [label="!a"]
|
||||
3 -> 3 [label="a"]
|
||||
3 -> 4 [label="a"]
|
||||
4 [label="4"]
|
||||
4 -> 5 [label="!a"]
|
||||
4 -> 4 [label="a\n{0}"]
|
||||
5 [label="5"]
|
||||
5 -> 5 [label="!a"]
|
||||
5 -> 6 [label="a"]
|
||||
6 [label="6"]
|
||||
6 -> 5 [label="!a"]
|
||||
6 -> 6 [label="a"]
|
||||
}
|
||||
EOF
|
||||
|
||||
|
|
@ -215,26 +215,26 @@ run 0 ../ltl2tgba -XDD dra.dstar | tee stdout
|
|||
cat >expected <<EOF
|
||||
digraph G {
|
||||
rankdir=LR
|
||||
0 [label="", style=invis, width=0]
|
||||
0 -> 1
|
||||
1 [label="0"]
|
||||
1 -> 2 [label="!a & !b"]
|
||||
1 -> 3 [label="a & !b"]
|
||||
1 -> 4 [label="!a & b"]
|
||||
1 -> 5 [label="a & b"]
|
||||
2 [label="1"]
|
||||
2 -> 2 [label="!b"]
|
||||
2 -> 4 [label="b"]
|
||||
3 [label="2", peripheries=2]
|
||||
3 -> 2 [label="!a & !b"]
|
||||
3 -> 3 [label="a & !b"]
|
||||
3 -> 4 [label="!a & b"]
|
||||
3 -> 5 [label="a & b"]
|
||||
4 [label="3", peripheries=2]
|
||||
4 -> 4 [label="1"]
|
||||
5 [label="4", peripheries=2]
|
||||
5 -> 4 [label="!a"]
|
||||
5 -> 5 [label="a"]
|
||||
I [label="", style=invis, width=0]
|
||||
I -> 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"]
|
||||
}
|
||||
EOF
|
||||
|
||||
|
|
@ -261,13 +261,13 @@ run 0 ../ltl2tgba -XDD aut.dsa | tee stdout
|
|||
cat >expected<<EOF
|
||||
digraph G {
|
||||
rankdir=LR
|
||||
0 [label="", style=invis, width=0]
|
||||
0 -> 1
|
||||
1 [label="0"]
|
||||
I [label="", style=invis, width=0]
|
||||
I -> 0
|
||||
0 [label="0"]
|
||||
0 -> 0 [label="1"]
|
||||
0 -> 1 [label="1"]
|
||||
1 [label="1"]
|
||||
1 -> 1 [label="1"]
|
||||
1 -> 2 [label="1"]
|
||||
2 [label="1"]
|
||||
2 -> 2 [label="1"]
|
||||
}
|
||||
EOF
|
||||
|
||||
|
|
|
|||
|
|
@ -159,8 +159,8 @@ grep 'states: 1$' stdout
|
|||
# Make sure a monitor for F(a & F(b)) accepts everything.
|
||||
run 0 ../ltl2tgba -M -f "F(a & F(b))" | grep ' ->' > stdout
|
||||
cat >expected <<EOF
|
||||
0 -> 1
|
||||
1 -> 1 [label="1"]
|
||||
I -> 0
|
||||
0 -> 0 [label="1"]
|
||||
EOF
|
||||
cmp stdout expected
|
||||
|
||||
|
|
|
|||
|
|
@ -34,12 +34,12 @@ expect()
|
|||
expect ../../bin/ltl2tgba --monitor a <<EOF
|
||||
digraph G {
|
||||
rankdir=LR
|
||||
0 [label="", style=invis, width=0]
|
||||
0 -> 1
|
||||
I [label="", style=invis, width=0]
|
||||
I -> 1
|
||||
0 [label="0", peripheries=2]
|
||||
0 -> 0 [label="1"]
|
||||
1 [label="1", peripheries=2]
|
||||
1 -> 2 [label="a"]
|
||||
2 [label="0", peripheries=2]
|
||||
2 -> 2 [label="1"]
|
||||
1 -> 0 [label="a"]
|
||||
}
|
||||
EOF
|
||||
|
||||
|
|
|
|||
|
|
@ -134,12 +134,12 @@ run 0 ../ltl2tgba -XN input > stdout
|
|||
cat >expected <<EOF
|
||||
digraph G {
|
||||
rankdir=LR
|
||||
0 [label="", style=invis, width=0]
|
||||
0 -> 1
|
||||
1 [label="0", peripheries=2]
|
||||
1 -> 2 [label="p1"]
|
||||
2 [label="1", peripheries=2]
|
||||
2 -> 2 [label="1"]
|
||||
I [label="", style=invis, width=0]
|
||||
I -> 0
|
||||
0 [label="0", peripheries=2]
|
||||
0 -> 1 [label="p1"]
|
||||
1 [label="1", peripheries=2]
|
||||
1 -> 1 [label="1"]
|
||||
}
|
||||
EOF
|
||||
|
||||
|
|
@ -326,13 +326,13 @@ EOF
|
|||
cat >expected <<EOF
|
||||
digraph G {
|
||||
rankdir=LR
|
||||
0 [label="", style=invis, width=0]
|
||||
0 -> 1
|
||||
1 [label="0"]
|
||||
1 -> 2 [label="b"]
|
||||
1 -> 1 [label="0"]
|
||||
2 [label="1", peripheries=2]
|
||||
2 -> 2 [label="1"]
|
||||
I [label="", style=invis, width=0]
|
||||
I -> 0
|
||||
0 [label="0"]
|
||||
0 -> 1 [label="b"]
|
||||
0 -> 0 [label="0"]
|
||||
1 [label="1", peripheries=2]
|
||||
1 -> 1 [label="1"]
|
||||
}
|
||||
EOF
|
||||
diff stdout expected
|
||||
|
|
|
|||
|
|
@ -37,14 +37,14 @@ run 0 ../tgbaread input > stdout
|
|||
cat >expected <<EOF
|
||||
digraph G {
|
||||
rankdir=LR
|
||||
0 [label="", style=invis, width=0]
|
||||
0 -> 1
|
||||
1 [label="0"]
|
||||
1 -> 2 [label="a & !b\n{0,1}"]
|
||||
2 [label="1"]
|
||||
2 -> 3 [label="a\n{0}"]
|
||||
3 [label="2"]
|
||||
3 -> 1 [label="1"]
|
||||
I [label="", style=invis, width=0]
|
||||
I -> 0
|
||||
0 [label="0"]
|
||||
0 -> 1 [label="a & !b\n{0,1}"]
|
||||
1 [label="1"]
|
||||
1 -> 2 [label="a\n{0}"]
|
||||
2 [label="2"]
|
||||
2 -> 0 [label="1"]
|
||||
}
|
||||
EOF
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue