test-definitions/blob/master/auto-test/blogbench/blogbench.sh

#!/bin/sh -e #这里e表示若指令的返回值不等于零则立即退出shell,也可以用set -e代替

#用决定路径执行,并给字符串赋值
. ../../utils/sh-test-lib
#得到当前目录下的output这个目录
OUTPUT="$(pwd)/output"
RESULT_FILE="${OUTPUT}/result.txt"
LOG_FILE="${OUTPUT}/blogbench.txt"
ITERATION="30"
PARTITION=""
#定义函数,说明这个脚本的用途
usage() {
    echo "Usage: $0 [-i <iterations>] [-p </dev/sda1>]" 1>&2
    exit 1
}
#这个脚本可以指定3个可选参数
while getopts "i:p:h" o; do
    case "$o" in
        i) ITERATION="${OPTARG}" ;;
        p) PARTITION="${OPTARG}" ;;
        h|*) usage ;;
    esac
done
#调用函数检查是否是root 用户,如果不是root 用户,则输出错误日志
! check_root && error_msg "You need to be root to run this script."
create_out_dir "${OUTPUT}"

# Set the directory for blogbench test.
#如果PARTITION 为null
if [ -n "${PARTITION}" ]; then
	# 如果已经有mount节点的哈
    if mount | grep -q "${PARTITION}"; then
		#则将partition mount到/mnt 目录,并cd 到/mnt 中
        mount "${PARTITION}" /mnt
        cd /mnt/
    else
		#如果已经存在mount 节点的话,则找到这个节点,然后cd到这个节点目录中
        mount_point=$(mount | grep "${PARTITION}" | awk '{print $3}')
        cd "${mount_point}"
    fi
fi
#新建一个目录
mkdir ./bench

# Run blogbench test.
#检查当前平台是arm还是x86
detect_abi
# shellcheck disable=SC2154
#执行blogbench 命令
./bin/"${abi}"/blogbench -i "${ITERATION}" -d ./bench 2>&1 | tee "${LOG_FILE}"

# Parse test result.
#在输出的log中找writes 和 reads的信息
for i in writes reads; do
    grep "Final score for $i" "${LOG_FILE}" \
        | awk -v i="$i" '{printf("blogbench-%s pass %s blogs\n", i, $NF)}' \
        | tee -a "${RESULT_FILE}"
done
#删除bench 这个文件
rm -rf ./bench

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值