Merge r9175 (don't run inappropriate OS- and platform-specific tests) from
the DARWIN branch.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9176 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/tests/platform_test b/tests/platform_test
new file mode 100644
index 0000000..e11d5d8
--- /dev/null
+++ b/tests/platform_test
@@ -0,0 +1,37 @@
+#! /bin/sh
+
+# This script determines which platforms that this Valgrind installation
+# supports.
+# We return:
+# - 0 if the machine matches the asked-for platform
+# - 1 if it didn't match, but did match the name of another platform
+# - 2 otherwise
+
+# Nb: When updating this file for a new platform, add the name to
+# 'all_platforms'.
+
+all_platforms=
+all_platforms="$all_platforms x86-linux amd64-linux ppc32-linux ppc64-linux"
+all_platforms="$all_platforms ppc32-aix5 ppc64-aix5"
+all_platforms="$all_platforms x86-darwin amd64-darwin"
+
+if [ $# -ne 2 ] ; then
+ echo "usage: platform_test <arch-type> <OS-type>"
+ exit 2;
+fi
+
+# Get the directory holding the arch_test and os_test, which will be the same
+# as the one holding this script.
+dir=`dirname $0`
+
+if $dir/arch_test $1 && sh $dir/os_test $2 ; then
+ exit 0; # Matches this platform.
+fi
+
+for p in $all_platforms ; do
+ if [ $1-$2 = $p ] ; then
+ exit 1; # Matches another Valgrind-supported platform.
+ fi
+done
+
+exit 2; # Doesn't match any Valgrind-supported platform.