Project

General

Profile

Bug #292 » emmc_dd_test.sh

培旭, 05/18/2023 04:54 PM

 
1
#!/bin/bash
2
# $1 [Device] $2 [Block Size] $3 [Bs_Count] $4 [Test_Count] $5 [Write_Speed] $6 [Read_Speed] $7 [Log_Path]
3
selfpath=$(cd "$(dirname "$0")"; pwd)
4
sum=0
5
sum1=0
6
count=$4
7
for ((i=1;i<=$count;i++))
8
do
9
	echo -e "\033[31;33m ********************Block_Size:$2******Count:$3******************** \033[0m"
10
        sync
11
        echo 3 > /proc/sys/vm/drop_caches
12
        dd if=/dev/zero of=$1 bs=$2 count=$3 conv=fdatasync 2>write.log
13
        write_arry[$i]=$(echo $(echo $(cat write.log | awk 'END {print}')|awk -F ', ' '{print $4}') |awk -F 'MB/s' '{print $1}')
14
        echo ${write_arry[*]}
15
        sync
16
        echo 3 > /proc/sys/vm/drop_caches
17
        dd if=$1 of=/dev/null bs=$2 2>read.log
18
        read_arry[$i]=$(echo $(echo $(cat read.log | awk 'END {print}')|awk -F ', ' '{print $4}') |awk -F 'MB/s' '{print $1}')
19
        echo ${read_arry[*]}
20
        rm -rf $1
21
        sync
22
        echo 3 > /proc/sys/vm/drop_caches
23
#sleep 1
24
done
25
for x in ${write_arry[*]}
26
do
27
	#echo $x
28
	sum=$(echo $sum + $x |bc)
29
	
30
done
31
echo -e "\033[31;31m Avg_Write_Speed:$(printf "%.2f" `echo "scale=2;$sum/$count"|bc`)MB/s \033[0m"
32

    
33
for x in ${read_arry[*]}
34
do
35
        #echo $x
36
        sum1=$(echo $sum1 + $x |bc)
37

    
38
done
39
echo -e "\033[31;32m Avg_Read_Speed:$(printf "%.2f" `echo "scale=2;$sum1/$count"|bc`)MB/s \033[0m"
40
Write=$(printf `echo "scale=0;$sum/$count"|bc`);Read=$(printf `echo "scale=0;$sum1/$count"|bc`)
41
if [ $Write -gt $5 ] && [ $Read -gt $6 ]; then
42
	echo pass
43
	$selfpath/logprint.sh PASS EMMC_SPEED/W-$Write/R-$Read $7
44
elif [ $Write -lt $5 ] || [ $Read -lt $6 ]; then
45
	$selfpath/logprint.sh FAIL EMMC_SPEED/W-$Write/R-$Read $7
46
fi
(1-1/2)