From 38f80acbc21d9853da19de46108754114d9207ea Mon Sep 17 00:00:00 2001 From: Chase Qi Date: Thu, 21 Apr 2016 15:03:11 +0800 Subject: Ubuntu: added blogbench test Change-Id: I1f9f0b6e66b016108d9578827439938890196176 Signed-off-by: Chase Qi --- common/scripts/blogbench.sh | 57 +++++++++++++++++++++++++++++++++++++++++++++ ubuntu/blogbench.yaml | 39 +++++++++++++++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100755 common/scripts/blogbench.sh create mode 100644 ubuntu/blogbench.yaml diff --git a/common/scripts/blogbench.sh b/common/scripts/blogbench.sh new file mode 100755 index 0000000..fe41635 --- /dev/null +++ b/common/scripts/blogbench.sh @@ -0,0 +1,57 @@ +#!/bin/sh +# +# Blogbench is a portable filesystem benchmark. +# +# Copyright (C) 2010 - 2014, Linaro Limited. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Author: Chase Qi + +iteration=$1 +partition=$2 + +# Set the directory for blogbench test. +if [ -n "$partition" ]; then + if [ -z "$(mount | grep $partition)" ]; then + mount $partition /mnt + cd /mnt/ + else + mount_point=$(mount | grep $partition | awk '{print $3}') + cd $mount_point + fi +fi +mkdir ./bench + +# Run blogbench test. +blogbench --iteration=$iteration -d ./bench 2>&1 | tee blogbench.txt +if [ $? -eq 0 ]; then + lava-test-case blogbench-run --result pass +else + lava-test-case blogbench-run --result fail +fi + +# Parse test result. +for test in writes reads +do + score=$(grep "Final score for $test" blogbench.txt | awk '{print $NF}') + if [ -n "$score" ]; then + lava-test-case blogbench-$test --result pass --measurement $score --units none + else + lava-test-case blogbench-$test --result fail --measurement $score --units none + fi +done + +rm -rf ./bench diff --git a/ubuntu/blogbench.yaml b/ubuntu/blogbench.yaml new file mode 100644 index 0000000..f38adac --- /dev/null +++ b/ubuntu/blogbench.yaml @@ -0,0 +1,39 @@ +metadata: + name: blogbench + format: "Lava-Test-Shell Test Definition 1.0" + description: "Blogbench is a portable filesystem benchmark that tries to + reproduce the load of a real-world busy file server." + maintainer: + - chase.qi@linaro.org + os: + - ubuntu + - debian + scope: + - functional + devices: + - hi6220-hikey + - apq8016-sbc + - mustang + +install: + steps: + - 'VERSION=1.1' + - 'wget https://download.pureftpd.org/pub/blogbench/blogbench-$VERSION.tar.gz' + - 'tar xf blogbench-$VERSION.tar.gz' + - 'cd blogbench-$VERSION' + - './configure --build=arm' + - 'make install-strip' + deps: + - build-essential + - wget + +params: + # Blogbench run 30 iterations by default. + ITERATION: 30 + # Specify a local disk partition for nfsrootfs boot. + # For example: /dev/sda1 + PARTITION: '' + +run: + steps: + - './common/scripts/blogbench.sh $ITERATION $PARTITION' -- cgit v1.2.3