mirror of
https://github.com/ARM-software/workload-automation.git
synced 2025-02-20 20:09:11 +00:00
Androbench Storage Benchmark Workload Addition
This commit is contained in:
parent
5e92728d77
commit
c3d8128ff3
84
wlauto/workloads/androbench/__init__.py
Normal file
84
wlauto/workloads/androbench/__init__.py
Normal file
@ -0,0 +1,84 @@
|
||||
# Copyright 2013-2015 ARM Limited
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
|
||||
import os
|
||||
import re
|
||||
import time
|
||||
|
||||
from wlauto import AndroidBenchmark
|
||||
from uiautomator import Device
|
||||
|
||||
|
||||
class Androbench(AndroidBenchmark):
|
||||
|
||||
name = 'androbench'
|
||||
description = """Androbench measures the storage performance of device"""
|
||||
package = 'com.andromeda.androbench2'
|
||||
activity = '.main'
|
||||
device=''
|
||||
|
||||
def setup(self, context):
|
||||
global device
|
||||
os.system('adb devices > deviceinfo')
|
||||
devinf = open('deviceinfo','rb')
|
||||
dev = devinf.readlines()[1].split('\t')[0]
|
||||
devinf.close()
|
||||
device=Device(dev)
|
||||
os.system('rm deviceinfo')
|
||||
|
||||
|
||||
def run(self, context):
|
||||
global device,package,activity
|
||||
os.system('adb shell pm clear com.andromeda.androbench2')
|
||||
os.system('adb shell am start -n com.andromeda.androbench2/.main')
|
||||
while True :
|
||||
if device(text="Measure your storage performance").exists :
|
||||
time.sleep(1)
|
||||
break
|
||||
|
||||
if device(textStartsWith="Micro").exists :
|
||||
device(textStartsWith="Micro").click()
|
||||
if device(text="Yes").exists :
|
||||
device(textStartsWith="Yes").click()
|
||||
|
||||
|
||||
while True :
|
||||
if device(text="Cancel").exists :
|
||||
device(text="Cancel").click()
|
||||
time.sleep(1)
|
||||
break
|
||||
|
||||
|
||||
def update_result(self, context):
|
||||
super(Androbench, self).update_result(context)
|
||||
os.system('adb shell cp /data/data/com.andromeda.androbench2/databases/history.db /sdcard/results.db')
|
||||
os.system('adb pull /sdcard/results.db .')
|
||||
os.system('sqlite3 results.db "select * from history" > results.raw')
|
||||
fhresults=open("results.raw","rb")
|
||||
results=fhresults.readlines()[0].split('|')
|
||||
context.result.add_metric('Sequential Read MB/s', results[8])
|
||||
context.result.add_metric('Sequential Write MB/s', results[9])
|
||||
context.result.add_metric('Random Read MB/s', results[10])
|
||||
context.result.add_metric('Random Write MB/s', results[12])
|
||||
os.system('rm results.raw')
|
||||
|
||||
|
||||
|
||||
def teardown(self, context):
|
||||
pass
|
||||
|
||||
def validate(self):
|
||||
pass
|
Loading…
x
Reference in New Issue
Block a user