summaryrefslogtreecommitdiffstats
path: root/tools/testing/selftests/android/ion/ion_test.sh
blob: 69e676cfc94e36d570e1204e063f929d2823d8eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/bin/bash

heapsize=4096
TCID="ion_test.sh"
errcode=0

# Kselftest framework requirement - SKIP code is 4.
ksft_skip=4

run_test()
{
	heaptype=$1
	./ionapp_export -i $heaptype -s $heapsize &
	sleep 1
	./ionapp_import
	if [ $? -ne 0 ]; then
		echo "$TCID: heap_type: $heaptype - [FAIL]"
		errcode=1
	else
		echo "$TCID: heap_type: $heaptype - [PASS]"
	fi
	sleep 1
	echo ""
}

check_root()
{
	uid=$(id -u)
	if [ $uid -ne 0 ]; then
		echo $TCID: must be run as root >&2
		exit $ksft_skip
	fi
}

check_device()
{
	DEVICE=/dev/ion
	if [ ! -e $DEVICE ]; then
		echo $TCID: No $DEVICE device found >&2
		echo $TCID: May be CONFIG_ION is not set >&2
		exit $ksft_skip
	fi
}

main_function()
{
	check_device
	check_root

	# ION_SYSTEM_HEAP TEST
	run_test 0
	# ION_SYSTEM_CONTIG_HEAP TEST
	run_test 1
}

main_function
echo "$TCID: done"
exit $errcode