freebsd-ports/lang/gnatdroid-armv5/files/acats.diff
John Marino 65f2051631 lang/gnatdroid-*: Support multiple API, base on gcc-aux (gcc 4.9)
This represents major changes with gnatdroid.

The sysroot is no longer API 9 or 19, but a choice of API 8, 9, 15,
16, 17, 18, or 19.  The prefix is not androidX but just "android".
The binutils port had to be adjusted due to the prefix change.

Finally, gnatdroid-armv(5,7) was substancially reworked to use
gcc-aux (4.9) instead of gcc47-aux (4.7).  This means the new ARM
unwinder is in use (zero cost exceptions).  Only 6 ACATS tests are
failing, they are related to the missing stack check capability.

Future work will speed up ACATS remote device testing and hopefully
enable gnat.dg testing too.
2014-04-10 00:34:48 +00:00

103 lines
3.1 KiB
Diff

The testsuite assumes "tablet" is a known host.
Before running the testsuite, define "tablet" in /etc/hosts
--- gcc/testsuite/ada/acats/run_acats.orig 2011-08-18 12:31:35.000000000 -0500
+++ gcc/testsuite/ada/acats/run_acats 2011-08-18 12:31:35.000000000 -0500
@@ -11,7 +11,7 @@
host_gnatchop=`which gnatchop`
host_gnatmake=`which gnatmake`
ROOT=`${PWDCMD-pwd}`
-BASE=`cd $ROOT/../../..; ${PWDCMD-pwd}`
+BASE=`realpath $ROOT/../../..`
PATH=$BASE:$ROOT:$PATH
ADA_INCLUDE_PATH=$BASE/ada/rts
@@ -23,12 +23,12 @@
exit 1
fi
-if [ ! -f $BASE/gnatchop ]; then
+if [ ! -f $host_gnatchop ]; then
echo gnattools missing, exiting.
exit 1
fi
-if [ ! -f $BASE/gnatmake ]; then
+if [ ! -f $host_gnatmake ]; then
echo gnattools missing, exiting.
exit 1
fi
@@ -46,8 +46,8 @@
chmod +x host_gnatchop
echo '#!/bin/sh' > host_gnatmake
-echo PATH=`dirname $host_gnatmake`:'$PATH' >> host_gnatmake
-echo unset ADA_INCLUDE_PATH ADA_OBJECTS_PATH GCC_EXEC_PREFIX >> host_gnatmake
+echo unset -v `env | sed -e "s/=.*//" -e "s/^\.//"` >> host_gnatmake
+echo PATH=`dirname $host_gnatmake`:'/sbin:/bin:/usr/bin:/usr/sbin' >> host_gnatmake
echo export PATH >> host_gnatmake
echo exec gnatmake '"$@"' >> host_gnatmake
--- gcc/testsuite/ada/acats/run_all.sh.orig 2011-08-18 12:31:42.000000000 -0500
+++ gcc/testsuite/ada/acats/run_all.sh 2011-08-18 18:26:04.000000000 -0500
@@ -11,9 +11,14 @@
gccflags="-O2"
gnatflags="-gnatws"
+tabtarget="/data/local/testsuite"
target_run () {
- eval $EXPECT -f $testdir/run_test.exp $*
+ # Run on rooted tablet (port 22 vs port 2222)
+ BN=`basename $*`
+ $STRIP_FOR_TARGET $*
+ /usr/bin/scp -qp $* root@tablet:$tabtarget/
+ /usr/bin/ssh -q tablet $tabtarget/$BN
}
# End of customization section.
@@ -55,13 +60,9 @@
exit 1
fi
-target_gnatchop () {
- gnatchop --GCC="$GCC_DRIVER" $*
-}
-
target_gnatmake () {
- echo gnatmake --GCC=\"$GCC\" $gnatflags $gccflags $* -largs $EXTERNAL_OBJECTS --GCC=\"$GCC\"
- gnatmake --GCC="$GCC" $gnatflags $gccflags $* -largs $EXTERNAL_OBJECTS --GCC="$GCC"
+ echo gnatmake-cross --GCC=\"$GCC\" $gnatflags $gccflags $* -largs $EXTERNAL_OBJECTS --GCC=\"$GCC\"
+ gnatmake-cross --GCC="$GCC" $gnatflags $gccflags $* -largs $EXTERNAL_OBJECTS --GCC="$GCC"
}
target_gcc () {
@@ -94,8 +95,8 @@
display `$GCC -v 2>&1`
display host=`gcc -dumpmachine`
display target=$target
-display `type gnatmake`
-gnatls -v >> $dir/acats.log
+display `type gnatmake-cross`
+gnatls-cross -v >> $dir/acats.log
display ""
display " === acats support ==="
@@ -187,7 +188,7 @@
exit 1
fi
-target_gnatchop *.adt >> $dir/acats.log 2>&1
+host_gnatchop *.adt >> $dir/acats.log 2>&1
target_gnatmake -c -gnato -gnatE *.ads >> $dir/acats.log 2>&1
target_gnatmake -c -gnato -gnatE *.adb >> $dir/acats.log 2>&1
@@ -262,7 +263,7 @@
continue
fi
- target_gnatchop -c -w `ls ${test}*.a ${test}*.ada ${test}*.adt ${test}*.am ${test}*.dep 2> /dev/null` >> $dir/acats.log 2>&1
+ host_gnatchop -c -w `ls ${test}*.a ${test}*.ada ${test}*.adt ${test}*.am ${test}*.dep 2> /dev/null` >> $dir/acats.log 2>&1
main=""
find_main
if [ -z "$main" ]; then