xref: /OK3568_Linux_fs/kernel/tools/testing/selftests/android/ion/ion_test.sh (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun#!/bin/bash
2*4882a593Smuzhiyun
3*4882a593Smuzhiyunheapsize=4096
4*4882a593SmuzhiyunTCID="ion_test.sh"
5*4882a593Smuzhiyunerrcode=0
6*4882a593Smuzhiyun
7*4882a593Smuzhiyun# Kselftest framework requirement - SKIP code is 4.
8*4882a593Smuzhiyunksft_skip=4
9*4882a593Smuzhiyun
10*4882a593Smuzhiyunrun_test()
11*4882a593Smuzhiyun{
12*4882a593Smuzhiyun	heaptype=$1
13*4882a593Smuzhiyun	./ionapp_export -i $heaptype -s $heapsize &
14*4882a593Smuzhiyun	sleep 1
15*4882a593Smuzhiyun	./ionapp_import
16*4882a593Smuzhiyun	if [ $? -ne 0 ]; then
17*4882a593Smuzhiyun		echo "$TCID: heap_type: $heaptype - [FAIL]"
18*4882a593Smuzhiyun		errcode=1
19*4882a593Smuzhiyun	else
20*4882a593Smuzhiyun		echo "$TCID: heap_type: $heaptype - [PASS]"
21*4882a593Smuzhiyun	fi
22*4882a593Smuzhiyun	sleep 1
23*4882a593Smuzhiyun	echo ""
24*4882a593Smuzhiyun}
25*4882a593Smuzhiyun
26*4882a593Smuzhiyuncheck_root()
27*4882a593Smuzhiyun{
28*4882a593Smuzhiyun	uid=$(id -u)
29*4882a593Smuzhiyun	if [ $uid -ne 0 ]; then
30*4882a593Smuzhiyun		echo $TCID: must be run as root >&2
31*4882a593Smuzhiyun		exit $ksft_skip
32*4882a593Smuzhiyun	fi
33*4882a593Smuzhiyun}
34*4882a593Smuzhiyun
35*4882a593Smuzhiyuncheck_device()
36*4882a593Smuzhiyun{
37*4882a593Smuzhiyun	DEVICE=/dev/ion
38*4882a593Smuzhiyun	if [ ! -e $DEVICE ]; then
39*4882a593Smuzhiyun		echo $TCID: No $DEVICE device found >&2
40*4882a593Smuzhiyun		echo $TCID: May be CONFIG_ION is not set >&2
41*4882a593Smuzhiyun		exit $ksft_skip
42*4882a593Smuzhiyun	fi
43*4882a593Smuzhiyun}
44*4882a593Smuzhiyun
45*4882a593Smuzhiyunmain_function()
46*4882a593Smuzhiyun{
47*4882a593Smuzhiyun	check_device
48*4882a593Smuzhiyun	check_root
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun	# ION_SYSTEM_HEAP TEST
51*4882a593Smuzhiyun	run_test 0
52*4882a593Smuzhiyun	# ION_SYSTEM_CONTIG_HEAP TEST
53*4882a593Smuzhiyun	run_test 1
54*4882a593Smuzhiyun}
55*4882a593Smuzhiyun
56*4882a593Smuzhiyunmain_function
57*4882a593Smuzhiyunecho "$TCID: done"
58*4882a593Smuzhiyunexit $errcode
59