summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYongqin Liu <yongqin.liu@linaro.org>2015-04-13 22:27:35 +0800
committerMilosz Wasilewski <milosz.wasilewski@linaro.org>2015-04-16 12:13:54 +0000
commit8b8a3789cbc47bffa534527a155a136b060884d7 (patch)
treed27814717960be8346159b71a6feb87212c68879
parenteefb30d1bdeced54618188e154c369927d030506 (diff)
cf-bench: some improvements
try catch the ValueError when run vc.dump, and change to use the common output-test-result.sh script to deal with result also replace the call for device.drag with device.press Change-Id: I8d31e90b01a38e150441a660b5c180ce697b2f09 Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
-rwxr-xr-xcf-bench/vc.py47
1 files changed, 32 insertions, 15 deletions
diff --git a/cf-bench/vc.py b/cf-bench/vc.py
index 1adc6a3..03b9841 100755
--- a/cf-bench/vc.py
+++ b/cf-bench/vc.py
@@ -6,19 +6,38 @@ from subprocess import call
from com.dtmilano.android.viewclient import ViewClient, ViewNotFoundException
+
+parent_dir = os.path.realpath(os.path.dirname(__file__))
+f_output_result="%s/../common/output-test-result.sh" % parent_dir
+
default_unit = 'points'
def get_score_with_content_desc(vc, content_desc, offset=1):
try:
- score_view = vc.findViewWithTextOrRaise(content_desc)
+ found_score_view = False
+ while not found_score_view:
+ score_view = vc.findViewWithText(content_desc)
+ if not score_view:
+ device.press('DPAD_DOWN')
+ time.sleep(2)
+ try:
+ vc.dump()
+ except RuntimeError as e:
+ pass
+ except ValueError as e:
+ pass
+ else:
+ found_score_view = True
+
score_uid = score_view.getUniqueId()
uid = int(re.search("id/no_id/(?P<uid>\d+)", score_uid).group('uid'))
score = vc.findViewByIdOrRaise("id/no_id/%s" % (uid + offset))
score_text = score.getText()
if score_text.find("%") > 0:
score_value, units = score_text.split(" ")
- call(['lava-test-case', content_desc, '--result', 'pass', '--measurement', score_value, '--units', units])
+ call([f_output_result, content_desc, 'pass', score_value, units])
+
else:
- call(['lava-test-case', content_desc, '--result', 'pass', '--measurement', score_text, '--units', default_unit])
+ call([f_output_result, content_desc, 'pass', score_text, default_unit])
except ViewNotFoundException:
print "%s not found" % (content_desc)
pass
@@ -38,19 +57,23 @@ start_button.touch()
finished = False
while(not finished):
try:
- time.sleep(1)
- vc.dump('-1')
+ time.sleep(5)
+ vc.dump()
progress_button = vc.findViewByIdOrRaise("eu.chainfire.cfbench:id/admob_preference_layout")
finished = True
except ViewNotFoundException:
pass
except RuntimeError as e:
- print e
+ pass
+ except ValueError as e:
+ pass
print("Benchmark Finished")
-device.drag((300,1000), (300,300), 300)
-time.sleep(5)
-vc.dump(window='-1')
+vc.dump()
+result_label = vc.findViewWithTextOrRaise(u'Results')
+result_label.touch()
+device.press('DPAD_DOWN')
+time.sleep(2)
#Fetch Scores
get_score_with_content_desc(vc, "Native MIPS")
@@ -66,12 +89,6 @@ get_score_with_content_desc(vc, "Native Memory Write")
get_score_with_content_desc(vc, "Java Memory Write")
get_score_with_content_desc(vc, "Native Disk Read")
get_score_with_content_desc(vc, "Native Disk Write")
-
-# drag screen once more to reveal remaining results
-device.drag((300,1000), (300,300), 300)
-time.sleep(5)
-vc.dump(window='-1')
-
get_score_with_content_desc(vc, "Java Efficiency MIPS")
get_score_with_content_desc(vc, "Java Efficiency MSFLOPS")
get_score_with_content_desc(vc, "Java Efficiency MDFLOPS")