Commit 1098c62d authored by Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz

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.
parent 1f7aa90d
2009-08-31 Alexandre Duret-Lutz <adl@va-et-vient.net>
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.
2009-08-28 Alexandre Duret-Lutz <adl@lrde.epita.fr>
* configure.ac: Switch to Automake 1.11 and enable color-tests.
......
......@@ -23,7 +23,7 @@ AC_PREREQ([2.61])
AC_INIT([spot], [0.4a])
AC_CONFIG_AUX_DIR([tools])
AC_CONFIG_MACRO_DIR([m4])
AM_INIT_AUTOMAKE([1.11 gnits nostdinc tar-ustar color-tests])
AM_INIT_AUTOMAKE([1.11 gnits nostdinc tar-ustar color-tests parallel-tests])
# If the user didn't supplied a CFLAGS value,
# set an empty one to prevent autoconf to stick -O2 -g here.
......
## Copyright (C) 2003, 2004, 2005, 2006 Laboratoire d'Informatique de
## Copyright (C) 2003, 2004, 2005, 2006, 2009 Laboratoire d'Informatique de
## Paris 6 (LIP6), dpartement Systmes Rpartis Coopratifs (SRC),
## Universit Pierre et Marie Curie.
##
......@@ -39,6 +39,5 @@ TESTS = \
acc.test \
nfa.test
CLEANFILES = \
input \
prelude
distclean-local:
rm -rf $(TESTS:.test=.dir)
......@@ -20,7 +20,7 @@ A=(
%
A(1,a,a|b)&X(!f)
EOF
run 0 ./acc input || exit 1
run 0 ../acc input || exit 1
cat >input <<EOF
include prelude
......@@ -32,7 +32,7 @@ A=(
%
A(1,a)
EOF
run 1 ./acc input || exit 1
run 1 ../acc input || exit 1
cat >input <<EOF
X=(
......@@ -50,7 +50,7 @@ R=!U(!\$0, !\$1)
%
a U b | a R b | F(true) | U(a,b) -> R(a,b)
EOF
run 0 ./acc input || exit 1
run 0 ../acc input || exit 1
cat >input <<EOF
U=(
......@@ -62,7 +62,7 @@ T=U(true,true)
%
T()|1
EOF
run 1 ./acc input || exit 1
run 1 ../acc input || exit 1
cat >input <<EOF
A=(
......@@ -70,4 +70,4 @@ A=(
%
1
EOF
run 0 ./acc input || exit 1
run 0 ../acc input || exit 1
# -*- 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),
# dpartement Systmes Rpartis Coopratifs (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
......@@ -3,4 +3,4 @@
. ./defs || exit 1
set -e
run 0 ./nfa || exit 1
run 0 ../nfa || exit 1
......@@ -46,4 +46,6 @@ TESTS = \
ltl2evtgba.test
EXTRA_DIST = $(TESTS)
CLEANFILES = input1 input2 input3 stdout expected
distclean-local:
rm -rf $(TESTS:.test=.dir)
# -*- 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),
# dpartement Systmes Rpartis Coopratifs (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@'
top_builddir='@top_builddir@'
LBTT="@LBTT@"
......@@ -71,9 +75,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
#!/bin/sh
# Copyright (C) 2004, 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
# Copyright (C) 2004, 2005, 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 @@
set -e
run 0 ./explicit > stdout
run 0 ../explicit > stdout
cat >expected <<\EOF
digraph G {
......
#!/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),
# dpartement Systmes Rpartis Coopratifs (SRC), Universit Pierre
# et Marie Curie.
#
......@@ -27,8 +27,8 @@ set -e
check ()
{
run 0 ./ltl2evtgba "$1"
run 0 ./ltl2evtgba -Uun1,un2,un3 "$1"
run 0 ../ltl2evtgba "$1"
run 0 ../ltl2evtgba -Uun1,un2,un3 "$1"
}
# We don't check the output, but just running these might be enough to
......
#!/bin/sh
# Copyright (C) 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
# Copyright (C) 2004, 2009 Laboratoire d'Informatique de Paris 6 (LIP6),
# dpartement Systmes Rpartis Coopratifs (SRC), Universit Pierre
# et Marie Curie.
#
......@@ -47,7 +47,7 @@ u1, u2, c, Acc1;
u2, u1, b, Acc2;
EOF
run 0 ./product input1 input2 input3 >stdout
run 0 ../product input1 input2 input3 >stdout
cat >expected <<\EOF
acc = Acc1 Acc2 Acc3;
......
#!/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.
#
......@@ -33,7 +33,7 @@ s1, "s2", e1, c;
"state 3", "s1",e4,;
EOF
./readsave input > stdout
../readsave input > stdout
cat >expected <<\EOF
acc = c d;
......@@ -46,7 +46,7 @@ EOF
diff stdout expected
mv stdout input
run 0 ./readsave input > stdout
run 0 ../readsave input > stdout
diff input stdout
......
## Copyright (C) 2003, 2004, 2005, 2006 Laboratoire d'Informatique de
## Copyright (C) 2003, 2004, 2005, 2006, 2009 Laboratoire d'Informatique de
## Paris 6 (LIP6), dpartement Systmes Rpartis Coopratifs (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)
# -*- 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),
# dpartement Systmes Rpartis Coopratifs (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
#! /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),
# dpartement Systmes Rpartis Coopratifs (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")))'
#! /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),
# dpartement Systmes Rpartis Coopratifs (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)'
#! /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),
# dpartement Systmes Rpartis Coopratifs (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'
#! /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
......
#! /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),
# dpartement Systmes Rpartis Coopratifs (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)'
#! /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),
# dpartement Systmes Rpartis Coopratifs (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