blob: b07d9f9982593b7689a9eeab8786d1a239d48e38 [file] [log] [blame]
Chase Qibe6a4b52016-11-04 18:38:30 +08001#!/bin/sh -e
2
3. ../../lib/sh-test-lib
4OUTPUT="$(pwd)/output"
5RESULT_FILE="${OUTPUT}/result.txt"
6LOG_FILE="${OUTPUT}/blogbench.txt"
7ITERATION="30"
8PARTITION=""
9
10usage() {
11 echo "Usage: $0 [-i <iterations>] [-p </dev/sda1>]" 1>&2
12 exit 1
13}
14
15while getopts "i:p:h" o; do
16 case "$o" in
17 i) ITERATION="${OPTARG}" ;;
18 p) PARTITION="${OPTARG}" ;;
19 h|*) usage ;;
20 esac
21done
22
23! check_root && error_msg "You need to be root to run this script."
24[ -d "${OUTPUT}" ] && mv "${OUTPUT}" "${OUTPUT}_$(date +%Y%m%d%H%M%S)"
25mkdir -p "${OUTPUT}"
26
27# Set the directory for blogbench test.
28if [ -n "${PARTITION}" ]; then
29 if mount | grep -q "${PARTITION}"; then
30 mount "${PARTITION}" /mnt
31 cd /mnt/
32 else
33 mount_point=$(mount | grep "${PARTITION}" | awk '{print $3}')
34 cd "${mount_point}"
35 fi
36fi
37mkdir ./bench
38
39# Run blogbench test.
40detect_abi
41# shellcheck disable=SC2154
42./bin/"${abi}"/blogbench -i "${ITERATION}" -d ./bench 2>&1 | tee "${LOG_FILE}"
43
44# Parse test result.
45for i in writes reads; do
46 grep "Final score for $i" "${LOG_FILE}" \
47 | awk -v i="$i" '{printf("blogbench-%s pass %s blogs\n", i, $NF)}' \
48 | tee -a "${RESULT_FILE}"
49done
50
51rm -rf ./bench