Use Automake 1.11's parallel-tests feature.
* configure.ac: Enable parallel-tests. * src/eltltest/defs.in, src/evtgbatest/defs.in, src/ltltest/defs.in, src/tgbatest/defs.in: Always output verbose tests. Make a subdirectory for each test case. * src/ltltest/Makefile.am, src/eltltest/Makefile.am, src/tgbatest/Makefile.am, src/evtgbatest/Makefile.am: Remove CLEANFILES and clean the test subdirectories in a distclean-local rule instead. * src/eltltest/acc.test, src/eltltest/nfa.test, src/evtgbatest/explicit.test, src/evtgbatest/ltl2evtgba.test, src/evtgbatest/product.test, src/evtgbatest/readsave.test, src/ltltest/equals.test, src/ltltest/lunabbrev.test, src/ltltest/nenoform.test, src/ltltest/parse.test, src/ltltest/parseerr.test, src/ltltest/reduc.test, src/ltltest/reduccmp.test, src/ltltest/syntimpl.test, src/ltltest/tostring.test, src/ltltest/tunabbrev.test, src/ltltest/tunenoform.test, src/tgbatest/bddprod.test, src/tgbatest/complementation.test, src/tgbatest/dfs.test, src/tgbatest/dupexp.test, src/tgbatest/eltl2tgba.test, src/tgbatest/emptchk.test, src/tgbatest/emptchke.test, src/tgbatest/emptchkr.test, src/tgbatest/explicit.test, src/tgbatest/explpro2.test, src/tgbatest/explpro3.test, src/tgbatest/explpro4.test, src/tgbatest/explprod.test, src/tgbatest/ltl2neverclaim.test, src/tgbatest/ltl2tgba.test, src/tgbatest/ltlprod.test, src/tgbatest/mixprod.test, src/tgbatest/readsave.test, src/tgbatest/reduccmp.test, src/tgbatest/reductgba.test, src/tgbatest/scc.test, src/tgbatest/spotlbtt.test, src/tgbatest/tgbaread.test, src/tgbatest/tripprod.test: Adjust to run from a subdirectory.
This commit is contained in:
parent
1f7aa90d74
commit
1098c62de2
51 changed files with 488 additions and 467 deletions
|
|
@ -1,4 +1,4 @@
|
|||
## Copyright (C) 2003, 2004, 2005, 2006 Laboratoire d'Informatique de
|
||||
## Copyright (C) 2003, 2004, 2005, 2006, 2009 Laboratoire d'Informatique de
|
||||
## Paris 6 (LIP6), département Systèmes Répartis Coopératifs (SRC),
|
||||
## Université Pierre et Marie Curie.
|
||||
##
|
||||
|
|
@ -83,4 +83,5 @@ TESTS = \
|
|||
reduc.test \
|
||||
reduccmp.test
|
||||
|
||||
CLEANFILES = stdout expect parse.dot result.data formulae
|
||||
distclean-local:
|
||||
rm -rf $(TESTS:.test=.dir)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# -*- shell-script -*-
|
||||
# Copyright (C) 2003, 2004, 2006 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
# Copyright (C) 2003, 2004, 2006, 2009 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
# département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||
# et Marie Curie.
|
||||
#
|
||||
|
|
@ -26,9 +26,8 @@ test -f ./defs || {
|
|||
exit 1
|
||||
}
|
||||
|
||||
# If srcdir is not set, then we are not running from `make check', be verbose.
|
||||
# If srcdir is not set, then we are not running from `make check'.
|
||||
if test -z "$srcdir"; then
|
||||
test -z "$VERBOSE" && VERBOSE=x
|
||||
# compute $srcdir.
|
||||
srcdir=`echo "$0" | sed -e 's,/[^\\/]*$,,'`
|
||||
test $srcdir = $0 && srcdir=.
|
||||
|
|
@ -40,11 +39,16 @@ test -f $srcdir/defs.in || {
|
|||
exit 1
|
||||
}
|
||||
|
||||
# User can set VERBOSE to see all output.
|
||||
test -z "$VERBOSE" && exec >/dev/null 2>&1
|
||||
|
||||
echo "== Running test $0"
|
||||
|
||||
me=`echo "$0" | sed -e 's,.*[\\/],,;s/\.test$//'`
|
||||
|
||||
testSubDir=$me.dir
|
||||
chmod -R a+rwx $testSubDir > /dev/null 2>&1
|
||||
rm -rf $testSubDir > /dev/null 2>&1
|
||||
mkdir $testSubDir
|
||||
cd $testSubDir
|
||||
|
||||
DOT='@DOT@'
|
||||
VALGRIND='@VALGRIND@'
|
||||
|
||||
|
|
@ -67,9 +71,4 @@ run()
|
|||
test $exitcode = $expected_exitcode || exit 1
|
||||
}
|
||||
|
||||
# Turn on shell traces when VERBOSE=x.
|
||||
if test "x$VERBOSE" = xx; then
|
||||
set -x
|
||||
else
|
||||
:
|
||||
fi
|
||||
set -x
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#! /bin/sh
|
||||
# Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
# Copyright (C) 2003, 2004, 2009 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
# département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||
# et Marie Curie.
|
||||
#
|
||||
|
|
@ -26,37 +26,37 @@
|
|||
. ./defs || exit 1
|
||||
|
||||
# A few things which are equal
|
||||
run 0 ./equals 'a' 'a'
|
||||
run 0 ./equals '1' '1'
|
||||
run 0 ./equals '0' '0'
|
||||
run 0 ./equals 'a => b' 'a => b'
|
||||
run 0 ./equals 'G a ' ' G a'
|
||||
run 0 ./equals 'a U b' 'a U b'
|
||||
run 0 ./equals 'a & b' 'a & b'
|
||||
run 0 ./equals 'a & b' 'b & a'
|
||||
run 0 ./equals 'a & b & c' 'c & a && b'
|
||||
run 0 ./equals 'a & b & c' 'b & c & a'
|
||||
run 0 ./equals 'a && b & a' 'b & a & b'
|
||||
run 0 ./equals 'a & b' 'b & a & b'
|
||||
run 0 ./equals 'a & b' 'b & a & a'
|
||||
run 0 ./equals 'a & b & (c |(f U g)|| e)' \
|
||||
'b & a & a & (c | e |(f U g)| e | c) & b'
|
||||
run 0 ./equals 'a & a' 'a'
|
||||
run 0 ../equals 'a' 'a'
|
||||
run 0 ../equals '1' '1'
|
||||
run 0 ../equals '0' '0'
|
||||
run 0 ../equals 'a => b' 'a => b'
|
||||
run 0 ../equals 'G a ' ' G a'
|
||||
run 0 ../equals 'a U b' 'a U b'
|
||||
run 0 ../equals 'a & b' 'a & b'
|
||||
run 0 ../equals 'a & b' 'b & a'
|
||||
run 0 ../equals 'a & b & c' 'c & a && b'
|
||||
run 0 ../equals 'a & b & c' 'b & c & a'
|
||||
run 0 ../equals 'a && b & a' 'b & a & b'
|
||||
run 0 ../equals 'a & b' 'b & a & b'
|
||||
run 0 ../equals 'a & b' 'b & a & a'
|
||||
run 0 ../equals 'a & b & (c |(f U g)|| e)' \
|
||||
'b & a & a & (c | e |(f U g)| e | c) & b'
|
||||
run 0 ../equals 'a & a' 'a'
|
||||
|
||||
# other formulae which are not
|
||||
run 1 ./equals 'a' 'b'
|
||||
run 1 ./equals '1' '0'
|
||||
run 1 ./equals 'a => b' 'b => a'
|
||||
run 1 ./equals 'a => b' 'a <=> b'
|
||||
run 1 ./equals 'a => b' 'a U b'
|
||||
run 1 ./equals 'a R b' 'a U b'
|
||||
run 1 ./equals 'a & b & c' 'c & a'
|
||||
run 1 ./equals 'b & c' 'c & a & b'
|
||||
run 1 ./equals 'a & b & (c |(f U g)| e)' \
|
||||
'b & a & a & (c | e |(g U g)| e | c) & b'
|
||||
run 1 ../equals 'a' 'b'
|
||||
run 1 ../equals '1' '0'
|
||||
run 1 ../equals 'a => b' 'b => a'
|
||||
run 1 ../equals 'a => b' 'a <=> b'
|
||||
run 1 ../equals 'a => b' 'a U b'
|
||||
run 1 ../equals 'a R b' 'a U b'
|
||||
run 1 ../equals 'a & b & c' 'c & a'
|
||||
run 1 ../equals 'b & c' 'c & a & b'
|
||||
run 1 ../equals 'a & b & (c |(f U g)| e)' \
|
||||
'b & a & a & (c | e |(g U g)| e | c) & b'
|
||||
|
||||
# Precedence
|
||||
run 0 ./equals 'a & b ^ c | d' 'd | c ^ b & a'
|
||||
run 0 ../equals 'a & b ^ c | d' 'd | c ^ b & a'
|
||||
|
||||
# Corner cases parsing
|
||||
run 0 ./equals 'FFG__GFF' 'F(F(G("__GFF")))'
|
||||
run 0 ../equals 'FFG__GFF' 'F(F(G("__GFF")))'
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#! /bin/sh
|
||||
# Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
# Copyright (C) 2003, 2004, 2009 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
# département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||
# et Marie Curie.
|
||||
#
|
||||
|
|
@ -28,24 +28,24 @@
|
|||
set -e
|
||||
|
||||
# A few things that do not change
|
||||
run 0 ./lunabbrev 'a' 'a'
|
||||
run 0 ./lunabbrev '1' '1'
|
||||
run 0 ./lunabbrev '0' '0'
|
||||
run 0 ./lunabbrev 'G a ' ' G a'
|
||||
run 0 ./lunabbrev 'a U b' 'a U b'
|
||||
run 0 ./lunabbrev 'a & b' 'a & b'
|
||||
run 0 ./lunabbrev 'a & b' 'b & a'
|
||||
run 0 ./lunabbrev 'a & b & c' 'c & a & b'
|
||||
run 0 ./lunabbrev 'a & b & c' 'b & c & a'
|
||||
run 0 ./lunabbrev 'a & b & a' 'b & a & b'
|
||||
run 0 ./lunabbrev 'a & b' 'b & a & b'
|
||||
run 0 ./lunabbrev 'a & b' 'b & a & a'
|
||||
run 0 ./lunabbrev 'a & b & (c |(f U g)| e)' \
|
||||
run 0 ../lunabbrev 'a' 'a'
|
||||
run 0 ../lunabbrev '1' '1'
|
||||
run 0 ../lunabbrev '0' '0'
|
||||
run 0 ../lunabbrev 'G a ' ' G a'
|
||||
run 0 ../lunabbrev 'a U b' 'a U b'
|
||||
run 0 ../lunabbrev 'a & b' 'a & b'
|
||||
run 0 ../lunabbrev 'a & b' 'b & a'
|
||||
run 0 ../lunabbrev 'a & b & c' 'c & a & b'
|
||||
run 0 ../lunabbrev 'a & b & c' 'b & c & a'
|
||||
run 0 ../lunabbrev 'a & b & a' 'b & a & b'
|
||||
run 0 ../lunabbrev 'a & b' 'b & a & b'
|
||||
run 0 ../lunabbrev 'a & b' 'b & a & a'
|
||||
run 0 ../lunabbrev 'a & b & (c |(f U g)| e)' \
|
||||
'b & a & a & (c | e |(f U g)| e | c) & b'
|
||||
# other formulae that do change
|
||||
run 0 ./lunabbrev 'a ^ b' '(a & !b) | (!a & b)'
|
||||
run 0 ./lunabbrev 'a ^ Xb' '(!Xb & a) | (!a & Xb) | (Xb & !a)'
|
||||
run 0 ./lunabbrev 'GF a => F G(b)' '!GFa | F Gb'
|
||||
run 0 ./lunabbrev '!a <-> Xb' '(Xb & !a) | (!!a & !Xb)'
|
||||
run 0 ./lunabbrev '(a ^ b) | (b ^ c)' \
|
||||
'(c & !b) | (!c & b) | (a & !b) | (!a & b)'
|
||||
run 0 ../lunabbrev 'a ^ b' '(a & !b) | (!a & b)'
|
||||
run 0 ../lunabbrev 'a ^ Xb' '(!Xb & a) | (!a & Xb) | (Xb & !a)'
|
||||
run 0 ../lunabbrev 'GF a => F G(b)' '!GFa | F Gb'
|
||||
run 0 ../lunabbrev '!a <-> Xb' '(Xb & !a) | (!!a & !Xb)'
|
||||
run 0 ../lunabbrev '(a ^ b) | (b ^ c)' \
|
||||
'(c & !b) | (!c & b) | (a & !b) | (!a & b)'
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#! /bin/sh
|
||||
# Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
# Copyright (C) 2003, 2004, 2009 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
# département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||
# et Marie Curie.
|
||||
#
|
||||
|
|
@ -28,39 +28,39 @@
|
|||
set -e
|
||||
|
||||
# A few things that do not change
|
||||
run 0 ./nenoform 'a' 'a'
|
||||
run 0 ./nenoform '1' '1'
|
||||
run 0 ./nenoform '0' '0'
|
||||
run 0 ./nenoform '!a' '!a'
|
||||
run 0 ./nenoform 'a U b' 'a U b'
|
||||
run 0 ./nenoform 'a & b' 'a & b'
|
||||
run 0 ./nenoform 'a & b' 'b & a'
|
||||
run 0 ./nenoform 'a & !b & c' 'c & a & !b'
|
||||
run 0 ./nenoform 'a & b & c' 'b & c & a'
|
||||
run 0 ./nenoform 'Xa & b & Xa' 'b & Xa & b'
|
||||
run 0 ./nenoform 'a & b' 'b & a & b'
|
||||
run 0 ./nenoform 'a & !b' '!b & a & a'
|
||||
run 0 ./nenoform 'a & b & (Xc |(f U !g)| e)' \
|
||||
'b & a & a & (Xc | e |(f U !g)| e | Xc) & b'
|
||||
run 0 ./nenoform 'GFa => FGb' 'GFa => FGb'
|
||||
run 0 ../nenoform 'a' 'a'
|
||||
run 0 ../nenoform '1' '1'
|
||||
run 0 ../nenoform '0' '0'
|
||||
run 0 ../nenoform '!a' '!a'
|
||||
run 0 ../nenoform 'a U b' 'a U b'
|
||||
run 0 ../nenoform 'a & b' 'a & b'
|
||||
run 0 ../nenoform 'a & b' 'b & a'
|
||||
run 0 ../nenoform 'a & !b & c' 'c & a & !b'
|
||||
run 0 ../nenoform 'a & b & c' 'b & c & a'
|
||||
run 0 ../nenoform 'Xa & b & Xa' 'b & Xa & b'
|
||||
run 0 ../nenoform 'a & b' 'b & a & b'
|
||||
run 0 ../nenoform 'a & !b' '!b & a & a'
|
||||
run 0 ../nenoform 'a & b & (Xc |(f U !g)| e)' \
|
||||
'b & a & a & (Xc | e |(f U !g)| e | Xc) & b'
|
||||
run 0 ../nenoform 'GFa => FGb' 'GFa => FGb'
|
||||
|
||||
# Basic rewritings
|
||||
run 0 ./nenoform '!!a' 'a'
|
||||
run 0 ./nenoform '!!!!!a' '!a'
|
||||
run 0 ./nenoform '!Xa' 'X!a'
|
||||
run 0 ./nenoform '!Fa' 'G!a'
|
||||
run 0 ./nenoform '!Ga' 'F!a'
|
||||
run 0 ./nenoform '!(a ^ b)' 'a <=> b'
|
||||
run 0 ./nenoform '!(a <=> b)' '(((a) ^ (b)))'
|
||||
run 0 ./nenoform '!(a => b)' 'a&!b'
|
||||
run 0 ./nenoform '!(!a => !b)' '!a&b'
|
||||
run 0 ./nenoform '!(a U b)' '!a R !b'
|
||||
run 0 ./nenoform '!(a R b)' '!a U !b'
|
||||
run 0 ./nenoform '!(!a R !b)' 'a U b'
|
||||
run 0 ./nenoform '!(a & b & c & d & b)' '!a | !b | !c | !d'
|
||||
run 0 ./nenoform '!(a | b | c | d)' '!a & !b & !c & !d'
|
||||
run 0 ../nenoform '!!a' 'a'
|
||||
run 0 ../nenoform '!!!!!a' '!a'
|
||||
run 0 ../nenoform '!Xa' 'X!a'
|
||||
run 0 ../nenoform '!Fa' 'G!a'
|
||||
run 0 ../nenoform '!Ga' 'F!a'
|
||||
run 0 ../nenoform '!(a ^ b)' 'a <=> b'
|
||||
run 0 ../nenoform '!(a <=> b)' '(((a) ^ (b)))'
|
||||
run 0 ../nenoform '!(a => b)' 'a&!b'
|
||||
run 0 ../nenoform '!(!a => !b)' '!a&b'
|
||||
run 0 ../nenoform '!(a U b)' '!a R !b'
|
||||
run 0 ../nenoform '!(a R b)' '!a U !b'
|
||||
run 0 ../nenoform '!(!a R !b)' 'a U b'
|
||||
run 0 ../nenoform '!(a & b & c & d & b)' '!a | !b | !c | !d'
|
||||
run 0 ../nenoform '!(a | b | c | d)' '!a & !b & !c & !d'
|
||||
|
||||
# Nested rewritings
|
||||
run 0 ./nenoform '!(a U (!b U ((a & b & c) R d)))' \
|
||||
'!a R (b R ((!a | !b | !c) U !d))'
|
||||
run 0 ./nenoform '!(GF a => FG b)' 'GFa & GF!b'
|
||||
run 0 ../nenoform '!(a U (!b U ((a & b & c) R d)))' \
|
||||
'!a R (b R ((!a | !b | !c) U !d))'
|
||||
run 0 ../nenoform '!(GF a => FG b)' 'GFa & GF!b'
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#! /bin/sh
|
||||
# Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
# Copyright (C) 2003, 2004, 2009 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
# département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||
# et Marie Curie.
|
||||
#
|
||||
|
|
@ -76,7 +76,7 @@ for f in \
|
|||
'((X(p2=0))U(X(p2=0)))+((Xp1=0)UFALSE)'
|
||||
|
||||
do
|
||||
if ./ltl2text "$f"; then
|
||||
if ../ltl2text "$f"; then
|
||||
:
|
||||
else
|
||||
echo "ltl2dot failed to parse '$f'"
|
||||
|
|
@ -84,7 +84,7 @@ do
|
|||
fi
|
||||
|
||||
if test -n "$DOT"; then
|
||||
run 0 ./ltl2dot "$f" > parse.dot
|
||||
run 0 ../ltl2dot "$f" > parse.dot
|
||||
if $DOT -o /dev/null parse.dot; then
|
||||
rm -f parse.dot
|
||||
else
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#! /bin/sh
|
||||
# Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
# Copyright (C) 2003, 2004, 2009 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
# département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||
# et Marie Curie.
|
||||
#
|
||||
|
|
@ -28,7 +28,7 @@
|
|||
|
||||
check()
|
||||
{
|
||||
run 1 ./ltl2text "$1" >stdout
|
||||
run 1 ../ltl2text "$1" >stdout
|
||||
if test -n "$2"; then
|
||||
echo "$2" >expect
|
||||
else
|
||||
|
|
@ -52,21 +52,21 @@ check '+' ''
|
|||
check '/2/3/4/5 a + b /6/7/8/' ''
|
||||
|
||||
# leading and trailing garbage are skipped
|
||||
run 0 ./equals -E 'a U b c' 'a U b'
|
||||
run 0 ./equals -E 'a &&& b' '0 && b'
|
||||
run 0 ../equals -E 'a U b c' 'a U b'
|
||||
run 0 ../equals -E 'a &&& b' '0 && b'
|
||||
# (check multop merging while we are at it)
|
||||
run 0 ./equals -E 'a & b & c & d e' 'a & b & c & d'
|
||||
run 0 ./equals -E 'a & (b | c) & d should work' 'a & (b | c) & d'
|
||||
run 0 ../equals -E 'a & b & c & d e' 'a & b & c & d'
|
||||
run 0 ../equals -E 'a & (b | c) & d should work' 'a & (b | c) & d'
|
||||
# Binop recovery
|
||||
run 0 ./equals -E 'a U' 0
|
||||
run 0 ./equals -E 'a U b V c R' 0
|
||||
run 0 ../equals -E 'a U' 0
|
||||
run 0 ../equals -E 'a U b V c R' 0
|
||||
|
||||
# Recovery inside parentheses
|
||||
run 0 ./equals -E 'a U (b c) U e R (f g <=> h)' 'a U (0) U e R (0)'
|
||||
run 0 ./equals -E 'a U ((c) U e) R (<=> f g)' 'a U ((c) U e) R (0)'
|
||||
run 0 ../equals -E 'a U (b c) U e R (f g <=> h)' 'a U (0) U e R (0)'
|
||||
run 0 ../equals -E 'a U ((c) U e) R (<=> f g)' 'a U ((c) U e) R (0)'
|
||||
|
||||
# Missing parentheses
|
||||
run 0 ./equals -E 'a & (a + b' 'a & (a + b)'
|
||||
run 0 ./equals -E 'a & (a + b c' 'a & (0)'
|
||||
run 0 ./equals -E 'a & (+' 'a & (0)'
|
||||
run 0 ./equals -E 'a & (' 'a & (0)'
|
||||
run 0 ../equals -E 'a & (a + b' 'a & (a + b)'
|
||||
run 0 ../equals -E 'a & (a + b c' 'a & (0)'
|
||||
run 0 ../equals -E 'a & (+' 'a & (0)'
|
||||
run 0 ../equals -E 'a & (' 'a & (0)'
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#! /bin/sh
|
||||
# Copyright (C) 2004, 2005, 2006 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
# Copyright (C) 2004, 2005, 2006, 2009 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
# département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||
# et Marie Curie.
|
||||
#
|
||||
|
|
@ -30,8 +30,8 @@ FILE=formulae
|
|||
: > $FILE
|
||||
# for i in 10 11 12 13 14 15 16 17 18 19 20; do
|
||||
for i in 10 12 14 16 18 20; do
|
||||
run 0 ./randltl -u -s 0 -f $i a b c -F 100 >> $FILE
|
||||
run 0 ./randltl -u -s 100 -f $i a b c d e f -F 100 >> $FILE
|
||||
run 0 ../randltl -u -s 0 -f $i a b c -F 100 >> $FILE
|
||||
run 0 ../randltl -u -s 100 -f $i a b c d e f -F 100 >> $FILE
|
||||
done
|
||||
|
||||
for opt in 0 1 2 3 7 8 9; do
|
||||
|
|
@ -39,7 +39,7 @@ for opt in 0 1 2 3 7 8 9; do
|
|||
|
||||
cat $FILE |
|
||||
while read f; do
|
||||
./reduc $opt "$f" >> result.data
|
||||
../reduc $opt "$f" >> result.data
|
||||
done
|
||||
|
||||
test $? = 0 || exit 1
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#! /bin/sh
|
||||
# Copyright (C) 2004, 2006 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
# Copyright (C) 2004, 2006, 2009 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
# département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||
# et Marie Curie.
|
||||
#
|
||||
|
|
@ -25,7 +25,7 @@
|
|||
|
||||
. ./defs || exit 1
|
||||
|
||||
for x in ./reduccmp ./reductaustr; do
|
||||
for x in ../reduccmp ../reductaustr; do
|
||||
|
||||
# No reduction
|
||||
run 0 $x 'a U b' 'a U b'
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#! /bin/sh
|
||||
# Copyright (C) 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
# Copyright (C) 2004, 2009 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
# département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||
# et Marie Curie.
|
||||
#
|
||||
|
|
@ -27,67 +27,67 @@
|
|||
|
||||
#
|
||||
#GFa && GFb && FG(!a && !b)
|
||||
run 1 ./syntimpl 0 'a' 'a | b'
|
||||
run 1 ./syntimpl 0 'F(a)' 'F(a | b)'
|
||||
run 1 ./syntimpl 0 'G(a)' 'G(a | b)'
|
||||
run 1 ./syntimpl 0 'GF(a)' 'GF(a | b)'
|
||||
run 1 ./syntimpl 0 'GF(a)' '!FG(!a && !b)'
|
||||
run 1 ../syntimpl 0 'a' 'a | b'
|
||||
run 1 ../syntimpl 0 'F(a)' 'F(a | b)'
|
||||
run 1 ../syntimpl 0 'G(a)' 'G(a | b)'
|
||||
run 1 ../syntimpl 0 'GF(a)' 'GF(a | b)'
|
||||
run 1 ../syntimpl 0 'GF(a)' '!FG(!a && !b)'
|
||||
|
||||
run 1 ./syntimpl 0 'Xa' 'X(b U a)'
|
||||
run 1 ./syntimpl 0 'XXa' 'XX(b U a)'
|
||||
run 1 ../syntimpl 0 'Xa' 'X(b U a)'
|
||||
run 1 ../syntimpl 0 'XXa' 'XX(b U a)'
|
||||
|
||||
run 1 ./syntimpl 0 '(e R f)' '(g U f)'
|
||||
run 1 ./syntimpl 0 '( X(a + b))' '( X((a + b)+(c)+(d)))'
|
||||
run 1 ./syntimpl 0 '( X(a + b)) U (e R f)' '( X((a + b)+(c)+(d))) U (g U f)'
|
||||
run 1 ../syntimpl 0 '(e R f)' '(g U f)'
|
||||
run 1 ../syntimpl 0 '( X(a + b))' '( X((a + b)+(c)+(d)))'
|
||||
run 1 ../syntimpl 0 '( X(a + b)) U (e R f)' '( X((a + b)+(c)+(d))) U (g U f)'
|
||||
|
||||
run 1 ./syntimpl 0 '1' '1'
|
||||
run 1 ./syntimpl 0 '0' '0'
|
||||
run 1 ../syntimpl 0 '1' '1'
|
||||
run 1 ../syntimpl 0 '0' '0'
|
||||
|
||||
run 1 ./syntimpl 0 'a' '1'
|
||||
run 1 ./syntimpl 0 'a' 'a'
|
||||
run 1 ../syntimpl 0 'a' '1'
|
||||
run 1 ../syntimpl 0 'a' 'a'
|
||||
|
||||
run 1 ./syntimpl 0 'a' 'a * 1'
|
||||
run 1 ../syntimpl 0 'a' 'a * 1'
|
||||
|
||||
run 1 ./syntimpl 0 'a * b' 'b'
|
||||
run 1 ./syntimpl 0 'a * b' 'a'
|
||||
run 1 ../syntimpl 0 'a * b' 'b'
|
||||
run 1 ../syntimpl 0 'a * b' 'a'
|
||||
|
||||
run 1 ./syntimpl 0 'a' 'a + b'
|
||||
run 1 ./syntimpl 0 'b' 'a + b'
|
||||
run 1 ../syntimpl 0 'a' 'a + b'
|
||||
run 1 ../syntimpl 0 'b' 'a + b'
|
||||
|
||||
run 1 ./syntimpl 0 'a + b' '1'
|
||||
run 1 ../syntimpl 0 'a + b' '1'
|
||||
|
||||
run 1 ./syntimpl 0 'a' 'b U a'
|
||||
run 1 ./syntimpl 0 'a' 'b U 1'
|
||||
run 1 ./syntimpl 0 'a U b' '1'
|
||||
run 1 ../syntimpl 0 'a' 'b U a'
|
||||
run 1 ../syntimpl 0 'a' 'b U 1'
|
||||
run 1 ../syntimpl 0 'a U b' '1'
|
||||
|
||||
run 1 ./syntimpl 0 'a' '1 R a'
|
||||
run 1 ./syntimpl 0 'a' 'a R 1'
|
||||
run 1 ./syntimpl 0 'a R b' 'b'
|
||||
run 1 ./syntimpl 0 'a R b' '1'
|
||||
run 1 ../syntimpl 0 'a' '1 R a'
|
||||
run 1 ../syntimpl 0 'a' 'a R 1'
|
||||
run 1 ../syntimpl 0 'a R b' 'b'
|
||||
run 1 ../syntimpl 0 'a R b' '1'
|
||||
|
||||
run 1 ./syntimpl 0 'Xa' 'X(b U a)'
|
||||
run 1 ./syntimpl 0 'X(a R b)' 'Xb'
|
||||
run 1 ../syntimpl 0 'Xa' 'X(b U a)'
|
||||
run 1 ../syntimpl 0 'X(a R b)' 'Xb'
|
||||
|
||||
run 1 ./syntimpl 0 'a U b' '1 U b'
|
||||
run 1 ./syntimpl 0 'a R b' '1 R b'
|
||||
run 1 ../syntimpl 0 'a U b' '1 U b'
|
||||
run 1 ../syntimpl 0 'a R b' '1 R b'
|
||||
|
||||
run 1 ./syntimpl 0 'b * (a U b)' 'a U b'
|
||||
run 1 ./syntimpl 0 'a U b' 'c + (a U b)'
|
||||
run 1 ../syntimpl 0 'b * (a U b)' 'a U b'
|
||||
run 1 ../syntimpl 0 'a U b' 'c + (a U b)'
|
||||
|
||||
run 0 ./syntimpl 0 'Xa' 'XX(b U a)'
|
||||
run 0 ./syntimpl 0 'XXa' 'X(b U a)'
|
||||
run 0 ../syntimpl 0 'Xa' 'XX(b U a)'
|
||||
run 0 ../syntimpl 0 'XXa' 'X(b U a)'
|
||||
|
||||
run 0 ./syntimpl 0 '( X(a + b))' '( X(X(a + b)+(c)+(d)))'
|
||||
run 0 ./syntimpl 0 '( X(a + b)) U (e R f)' '( X(X(a + b)+(c)+(d))) U (g U f)'
|
||||
run 0 ../syntimpl 0 '( X(a + b))' '( X(X(a + b)+(c)+(d)))'
|
||||
run 0 ../syntimpl 0 '( X(a + b)) U (e R f)' '( X(X(a + b)+(c)+(d))) U (g U f)'
|
||||
|
||||
run 0 ./syntimpl 0 'a' 'b'
|
||||
run 0 ./syntimpl 0 'a' 'b + c'
|
||||
run 0 ./syntimpl 0 'a + b' 'a'
|
||||
run 0 ./syntimpl 0 'a' 'a * c'
|
||||
run 0 ./syntimpl 0 'a * b' 'c'
|
||||
run 0 ./syntimpl 0 'a' 'a U b'
|
||||
run 0 ./syntimpl 0 'a' 'a R b'
|
||||
run 0 ./syntimpl 0 'a R b' 'a'
|
||||
run 0 ../syntimpl 0 'a' 'b'
|
||||
run 0 ../syntimpl 0 'a' 'b + c'
|
||||
run 0 ../syntimpl 0 'a + b' 'a'
|
||||
run 0 ../syntimpl 0 'a' 'a * c'
|
||||
run 0 ../syntimpl 0 'a * b' 'c'
|
||||
run 0 ../syntimpl 0 'a' 'a U b'
|
||||
run 0 ../syntimpl 0 'a' 'a R b'
|
||||
run 0 ../syntimpl 0 'a R b' 'a'
|
||||
|
||||
run 0 ./syntimpl 0 'p2' 'p3 || G(p2 && p5)'
|
||||
run 0 ./syntimpl 0 '!(p3 || G(p2 && p5))' '!p2'
|
||||
run 0 ../syntimpl 0 'p2' 'p3 || G(p2 && p5)'
|
||||
run 0 ../syntimpl 0 '!(p3 || G(p2 && p5))' '!p2'
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#! /bin/sh
|
||||
# Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
# Copyright (C) 2003, 2004, 2009 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
# département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||
# et Marie Curie.
|
||||
#
|
||||
|
|
@ -27,30 +27,30 @@
|
|||
|
||||
set -e
|
||||
|
||||
run 0 ./tostring 'a'
|
||||
run 0 ./tostring '1'
|
||||
run 0 ./tostring '0'
|
||||
run 0 ./tostring 'a => b'
|
||||
run 0 ./tostring 'G a '
|
||||
run 0 ./tostring 'a U b'
|
||||
run 0 ./tostring 'a & b'
|
||||
run 0 ./tostring 'a & b & c'
|
||||
run 0 ./tostring 'b & a & b'
|
||||
run 0 ./tostring 'b & a & a'
|
||||
run 0 ./tostring 'a & b & (c |(f U g)| e)'
|
||||
run 0 ./tostring 'b & a & a & (c | e |(f U g)| e | c) & b'
|
||||
run 0 ./tostring 'a <=> b'
|
||||
run 0 ./tostring 'a & b & (c |(f U g)| e)'
|
||||
run 0 ./tostring 'b & a & a & (c | e |(g U g)| e | c) & b'
|
||||
run 0 ./tostring 'F"F1"&G"G"&X"X"'
|
||||
run 0 ./tostring 'GFfalse'
|
||||
run 0 ./tostring 'GFtrue'
|
||||
run 0 ./tostring 'p=0Uq=1Ut=1'
|
||||
run 0 ./tostring 'F"FALSE"'
|
||||
run 0 ./tostring 'G"TruE"'
|
||||
run 0 ./tostring 'FFALSE'
|
||||
run 0 ./tostring 'GTruE'
|
||||
run 0 ./tostring 'p=0UFXp=1'
|
||||
run 0 ./tostring 'GF"\GF"'
|
||||
run 0 ./tostring 'GF"foo bar"'
|
||||
run 0 ./tostring 'FFG__GFF'
|
||||
run 0 ../tostring 'a'
|
||||
run 0 ../tostring '1'
|
||||
run 0 ../tostring '0'
|
||||
run 0 ../tostring 'a => b'
|
||||
run 0 ../tostring 'G a '
|
||||
run 0 ../tostring 'a U b'
|
||||
run 0 ../tostring 'a & b'
|
||||
run 0 ../tostring 'a & b & c'
|
||||
run 0 ../tostring 'b & a & b'
|
||||
run 0 ../tostring 'b & a & a'
|
||||
run 0 ../tostring 'a & b & (c |(f U g)| e)'
|
||||
run 0 ../tostring 'b & a & a & (c | e |(f U g)| e | c) & b'
|
||||
run 0 ../tostring 'a <=> b'
|
||||
run 0 ../tostring 'a & b & (c |(f U g)| e)'
|
||||
run 0 ../tostring 'b & a & a & (c | e |(g U g)| e | c) & b'
|
||||
run 0 ../tostring 'F"F1"&G"G"&X"X"'
|
||||
run 0 ../tostring 'GFfalse'
|
||||
run 0 ../tostring 'GFtrue'
|
||||
run 0 ../tostring 'p=0Uq=1Ut=1'
|
||||
run 0 ../tostring 'F"FALSE"'
|
||||
run 0 ../tostring 'G"TruE"'
|
||||
run 0 ../tostring 'FFALSE'
|
||||
run 0 ../tostring 'GTruE'
|
||||
run 0 ../tostring 'p=0UFXp=1'
|
||||
run 0 ../tostring 'GF"\GF"'
|
||||
run 0 ../tostring 'GF"foo bar"'
|
||||
run 0 ../tostring 'FFG__GFF'
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#! /bin/sh
|
||||
# Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
# Copyright (C) 2003, 2004, 2009 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
# département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||
# et Marie Curie.
|
||||
#
|
||||
|
|
@ -28,30 +28,30 @@
|
|||
set -e
|
||||
|
||||
# A few things that do not change
|
||||
run 0 ./tunabbrev 'a' 'a'
|
||||
run 0 ./tunabbrev '1' '1'
|
||||
run 0 ./tunabbrev '0' '0'
|
||||
run 0 ./tunabbrev 'a U b' 'a U b'
|
||||
run 0 ./tunabbrev 'a & b' 'a & b'
|
||||
run 0 ./tunabbrev 'a & b' 'b & a'
|
||||
run 0 ./tunabbrev 'a & b & c' 'c & a & b'
|
||||
run 0 ./tunabbrev 'a & b & c' 'b & c & a'
|
||||
run 0 ./tunabbrev 'a & b & a' 'b & a & b'
|
||||
run 0 ./tunabbrev 'a & b' 'b & a & b'
|
||||
run 0 ./tunabbrev 'a & b' 'b & a & a'
|
||||
run 0 ./tunabbrev 'a & b & (c |(f U g)| e)' \
|
||||
'b & a & a & (c | e |(f U g)| e | c) & b'
|
||||
run 0 ../tunabbrev 'a' 'a'
|
||||
run 0 ../tunabbrev '1' '1'
|
||||
run 0 ../tunabbrev '0' '0'
|
||||
run 0 ../tunabbrev 'a U b' 'a U b'
|
||||
run 0 ../tunabbrev 'a & b' 'a & b'
|
||||
run 0 ../tunabbrev 'a & b' 'b & a'
|
||||
run 0 ../tunabbrev 'a & b & c' 'c & a & b'
|
||||
run 0 ../tunabbrev 'a & b & c' 'b & c & a'
|
||||
run 0 ../tunabbrev 'a & b & a' 'b & a & b'
|
||||
run 0 ../tunabbrev 'a & b' 'b & a & b'
|
||||
run 0 ../tunabbrev 'a & b' 'b & a & a'
|
||||
run 0 ../tunabbrev 'a & b & (c |(f U g)| e)' \
|
||||
'b & a & a & (c | e |(f U g)| e | c) & b'
|
||||
|
||||
# same as in lunabbrev.test:
|
||||
run 0 ./tunabbrev 'a ^ b' '(a & !b) | (!a & b)'
|
||||
run 0 ./tunabbrev 'a ^ Xb' '(!Xb & a) | (!a & Xb) | (Xb & !a)'
|
||||
run 0 ./tunabbrev '!a <-> Xb' '(Xb & !a) | (!!a & !Xb)'
|
||||
run 0 ./tunabbrev '(a ^ b) | (b ^ c)' \
|
||||
'(c & !b) | (!c & b) | (a & !b) | (!a & b)'
|
||||
run 0 ../tunabbrev 'a ^ b' '(a & !b) | (!a & b)'
|
||||
run 0 ../tunabbrev 'a ^ Xb' '(!Xb & a) | (!a & Xb) | (Xb & !a)'
|
||||
run 0 ../tunabbrev '!a <-> Xb' '(Xb & !a) | (!!a & !Xb)'
|
||||
run 0 ../tunabbrev '(a ^ b) | (b ^ c)' \
|
||||
'(c & !b) | (!c & b) | (a & !b) | (!a & b)'
|
||||
|
||||
# LTL unabbreviations:
|
||||
run 0 ./tunabbrev 'G a ' 'false R a'
|
||||
run 0 ./tunabbrev 'GF a => F G(b)' \
|
||||
'!(false R (true U a)) | (true U (false V b))'
|
||||
run 0 ./tunabbrev 'GGGGa' 'false V (false V (false V (false V a)))'
|
||||
run 0 ./tunabbrev 'FFFfalse' 'true U ((true) U (true U (false)))'
|
||||
run 0 ../tunabbrev 'G a ' 'false R a'
|
||||
run 0 ../tunabbrev 'GF a => F G(b)' \
|
||||
'!(false R (true U a)) | (true U (false V b))'
|
||||
run 0 ../tunabbrev 'GGGGa' 'false V (false V (false V (false V a)))'
|
||||
run 0 ../tunabbrev 'FFFfalse' 'true U ((true) U (true U (false)))'
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#! /bin/sh
|
||||
# Copyright (C) 2003 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
# Copyright (C) 2003, 2009 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
# département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||
# et Marie Curie.
|
||||
#
|
||||
|
|
@ -27,10 +27,10 @@
|
|||
|
||||
set -e
|
||||
|
||||
run 0 ./tunenoform '!(a ^ b)' '(a|!b) & (!a|b)'
|
||||
run 0 ./tunenoform '!(a <=> b)' '(a|b) & (!a|!b)'
|
||||
run 0 ./tunenoform '!(a => b)' 'a&!b'
|
||||
run 0 ./tunenoform '!(!a => !b)' '!a&b'
|
||||
run 0 ./tunenoform '!Fa' 'false R !a'
|
||||
run 0 ./tunenoform '!G!a' 'true U a'
|
||||
run 0 ./tunenoform '!(GF a => FG b)' '(0 R (1 U a)) & (0 R (1 U !b))'
|
||||
run 0 ../tunenoform '!(a ^ b)' '(a|!b) & (!a|b)'
|
||||
run 0 ../tunenoform '!(a <=> b)' '(a|b) & (!a|!b)'
|
||||
run 0 ../tunenoform '!(a => b)' 'a&!b'
|
||||
run 0 ../tunenoform '!(!a => !b)' '!a&b'
|
||||
run 0 ../tunenoform '!Fa' 'false R !a'
|
||||
run 0 ../tunenoform '!G!a' 'true U a'
|
||||
run 0 ../tunenoform '!(GF a => FG b)' '(0 R (1 U a)) & (0 R (1 U !b))'
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue