xref: /xnu-10063.121.3/tools/tests/MPMMTest/MPMMtest_run.sh (revision 2c2f96dc2b9a4408a43d3150ae9c105355ca3daa)
1#!/bin/bash
2
3TESTDIR=$PWD/
4MPMMTEST="${TESTDIR}/MPMMtest"
5MPMMTEST_64="${TESTDIR}/MPMMtest_64"
6KQMPMMTEST="${TESTDIR}/KQMPMMtest"
7KQMPMMTEST_64="${TESTDIR}/KQMPMMtest_64"
8
9is_64_bit_env()
10{
11	ARM64=`sysctl -n hw.optional.arm64`
12	X86_64=`sysctl -n hw.optional.x86_64`
13	if [[ $ARM64 == 1 ]] || [[ $X86_64 == 1 ]]
14	then
15		echo "Device arch is 64-bit."
16		return 1
17	fi
18	echo "Device arch is NOT 64-bit."
19	return 0
20}
21
22is_64_bit_env;
23IS_64BIT_BOOTED_OS=$?
24
25if [ -e $MPMMTEST ] && [ -x $MPMMTEST ]
26then
27	# Tentatively test for 32-bit support
28	$MPMMTEST -count 0 -servers 0 -clients 0 &> /dev/null
29
30	if [ $? == 0 ] || [ $IS_64BIT_BOOTED_OS == 0 ]
31	then
32		# If 32-bit support appears to be present OR if this is not
33		# a 64-bit environment, run the test.
34
35		echo ""; echo " Running $MPMMTEST";
36		$MPMMTEST -perf || { x=$?; echo "$MPMMTEST failed $x "; exit $x; }
37	fi
38fi
39
40if [ -e $MPMMTEST_64 ] && [ -x $MPMMTEST_64 ] && [ $IS_64BIT_BOOTED_OS == 1 ]
41then
42	echo ""; echo " Running $MPMMTEST_64"
43	$MPMMTEST_64 -perf || { x=$?; echo "$MPMMTEST_64 failed $x"; exit $x; }
44fi
45
46if [ -e $KQMPMMTEST ] && [ -x $KQMPMMTEST ]
47then
48	# Tentatively test for 32-bit support
49	$KQMPMMTEST -count 0 -servers 0 -clients 0 &> /dev/null
50
51	if [ $? == 0 ] || [ $IS_64BIT_BOOTED_OS == 0 ]
52	then
53		# If 32-bit support appears to be present OR if this is not
54		# a 64-bit environment, run the test.
55
56		echo ""; echo " Running $KQMPMMTEST"
57		$KQMPMMTEST -perf || { x=$?; echo "$KQMPMMTEST failed $x"; exit $x; }
58	fi
59fi
60
61if [ -e $KQMPMMTEST_64 ] && [ -x $KQMPMMTEST_64 ] && [ $IS_64BIT_BOOTED_OS == 1 ]
62then
63	echo ""; echo " Running $KQMPMMTEST_64"
64	$KQMPMMTEST_64 -perf || { x=$?; echo "$KQMPMMTEST_64 failed $x"; exit $?; }
65fi
66
67echo ""; echo " SUCCESS";
68exit 0;
69
70
71