Mirror of the JODE repository
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
jode/jode/test/simpletests.sh

71 lines
1.7 KiB

#!/bin/sh
TEMP=`mktemp -d tmp.XXXXXX`
if echo $JAVAC | grep jikes >/dev/null; then
compiler=JIKES;
version=`$JAVAC 2>&1 | grep Version | \
perl -pe's/^.*Version \"?([0-9]+)\.([0-9]+).*$/\1/'`
elif echo $JAVAC | grep javac >/dev/null; then
compiler=JAVAC
version=`$JAVAC -J-version 2>&1 | grep version | \
perl -pe's/^.*version \"?([0-9]+)\.([0-9]+).*$/\1\2/'`
else
compiler=UNKNOWN
version=""
fi
echo "detected compiler $compiler"
error=""
EXPECT_FAIL=""
for testclass in \
ArrayCloneTest.java \
ArrayTest.java \
AssignOp.java \
ClassOpTest.java \
ConstantTypes.java \
Expressions.java \
Flow.java \
For.java \
HintTypeTest.java \
IfCombine.java \
LocalTypes.java \
ResolveConflicts.java \
TriadicExpr.java \
TryCatch.java \
Unreach.java \
AnonymousClass.java \
InnerClass.java \
InnerCompat.java \
NestedAnon.java
do
cp $srcdir/$testclass $TEMP
$PERL $top_srcdir/scripts/jcpp.pl -D$compiler -D$compiler$version \
$TEMP/$testclass
CLASSPATH=$CLASSPATH:$CLASSLIB $JAVAC $JFLAGS -d $TEMP $TEMP/$testclass
CLASSPATH=$CLASSPATH:$CLASSLIB $JAVA jode.Decompiler \
--classpath=$TEMP --dest=$TEMP ${testclass%.java} > $testclass.log 2>&1
if ! CLASSPATH=$TEMP:$CLASSPATH $JAVAC $JFLAGS -d $TEMP $TEMP/$testclass >> $testclass.log 2>&1 ; then
cat $TEMP/$testclass >> $testclass.log
CLASSPATH=$TEMP:$CLASSPATH javap -c ${testclass%.java} >> $testclass.log
if ! echo $EXPECT_FAIL | grep $testclass >/dev/null ; then
error="$error $testclass";
echo "FAIL: $testclass"
else
echo "EXPECTED FAIL: $testclass"
fi
else
echo "PASS: $testclass"
rm $testclass.log
fi
#rm -rf $TEMP/*
done
rm -rf $TEMP;
if [ -n "$error" ]; then
exit 1;
fi