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
|