18c2ecf20Sopenharmony_ci#!/bin/bash
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciheapsize=4096
48c2ecf20Sopenharmony_ciTCID="ion_test.sh"
58c2ecf20Sopenharmony_cierrcode=0
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ci# Kselftest framework requirement - SKIP code is 4.
88c2ecf20Sopenharmony_ciksft_skip=4
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_cirun_test()
118c2ecf20Sopenharmony_ci{
128c2ecf20Sopenharmony_ci	heaptype=$1
138c2ecf20Sopenharmony_ci	./ionapp_export -i $heaptype -s $heapsize &
148c2ecf20Sopenharmony_ci	sleep 1
158c2ecf20Sopenharmony_ci	./ionapp_import
168c2ecf20Sopenharmony_ci	if [ $? -ne 0 ]; then
178c2ecf20Sopenharmony_ci		echo "$TCID: heap_type: $heaptype - [FAIL]"
188c2ecf20Sopenharmony_ci		errcode=1
198c2ecf20Sopenharmony_ci	else
208c2ecf20Sopenharmony_ci		echo "$TCID: heap_type: $heaptype - [PASS]"
218c2ecf20Sopenharmony_ci	fi
228c2ecf20Sopenharmony_ci	sleep 1
238c2ecf20Sopenharmony_ci	echo ""
248c2ecf20Sopenharmony_ci}
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_cicheck_root()
278c2ecf20Sopenharmony_ci{
288c2ecf20Sopenharmony_ci	uid=$(id -u)
298c2ecf20Sopenharmony_ci	if [ $uid -ne 0 ]; then
308c2ecf20Sopenharmony_ci		echo $TCID: must be run as root >&2
318c2ecf20Sopenharmony_ci		exit $ksft_skip
328c2ecf20Sopenharmony_ci	fi
338c2ecf20Sopenharmony_ci}
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_cicheck_device()
368c2ecf20Sopenharmony_ci{
378c2ecf20Sopenharmony_ci	DEVICE=/dev/ion
388c2ecf20Sopenharmony_ci	if [ ! -e $DEVICE ]; then
398c2ecf20Sopenharmony_ci		echo $TCID: No $DEVICE device found >&2
408c2ecf20Sopenharmony_ci		echo $TCID: May be CONFIG_ION is not set >&2
418c2ecf20Sopenharmony_ci		exit $ksft_skip
428c2ecf20Sopenharmony_ci	fi
438c2ecf20Sopenharmony_ci}
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_cimain_function()
468c2ecf20Sopenharmony_ci{
478c2ecf20Sopenharmony_ci	check_device
488c2ecf20Sopenharmony_ci	check_root
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci	# ION_SYSTEM_HEAP TEST
518c2ecf20Sopenharmony_ci	run_test 0
528c2ecf20Sopenharmony_ci	# ION_SYSTEM_CONTIG_HEAP TEST
538c2ecf20Sopenharmony_ci	run_test 1
548c2ecf20Sopenharmony_ci}
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_cimain_function
578c2ecf20Sopenharmony_ciecho "$TCID: done"
588c2ecf20Sopenharmony_ciexit $errcode
59