blob: 43299f647260ef7e3bb79394e47a8918ef5e607c [file] [log] [blame]
import time
from common import ApkTestRunner
class ApkRunnerImpl(ApkTestRunner):
def __init__(self, config):
self.config = config
self.config["apk_file_name"] = "com.greenecomputing.linpack-1.apk"
self.config["apk_package"] = "com.greenecomputing.linpack"
self.config["activity"] = "com.greenecomputing.linpack/.Linpack"
super(ApkRunnerImpl, self).__init__(self.config)
def execute(self):
# single core test.
find_start_btn = False
while not find_start_btn:
time.sleep(2)
self.dump_always()
warn_msg = self.vc.findViewWithText(
"This app was built for an older version of Android and may not work properly. Try checking for updates, or contact the developer."
)
continue_btn = self.vc.findViewWithText("CONTINUE")
if warn_msg:
self.logger.info("Older version warning popped up")
warning_ok_btn = self.vc.findViewWithTextOrRaise("OK")
warning_ok_btn.touch()
elif continue_btn:
continue_btn.touch()
else:
start_single_button = self.vc.findViewByIdOrRaise(
"com.greenecomputing.linpack:id/btnsingle"
)
start_single_button.touch()
find_start_btn = True
# using start_single_button to check if the test finished
test_finished = False
while not test_finished:
time.sleep(2)
self.dump_always()
if self.vc.findViewById("com.greenecomputing.linpack:id/btnsingle"):
test_finished = True
mflops_single_score = self.vc.findViewByIdOrRaise(
"com.greenecomputing.linpack:id/txtmflops_result"
)
time_single_score = self.vc.findViewByIdOrRaise(
"com.greenecomputing.linpack:id/txttime_result"
)
self.report_result(
"Linpack-MFLOPSSingleScore", "pass", mflops_single_score.getText(), "MFLOPS"
)
self.report_result(
"Linpack-TimeSingleScore", "pass", time_single_score.getText(), "seconds"
)
# Multi core test.
self.dump_always()
start_multi_button = self.vc.findViewByIdOrRaise(
"com.greenecomputing.linpack:id/btncalculate"
)
start_multi_button.touch()
# using start_single_button to check if the test finished
test_finished = False
while not test_finished:
time.sleep(2)
self.dump_always()
if self.vc.findViewById("com.greenecomputing.linpack:id/btnsingle"):
test_finished = True
mflops_multi_score = self.vc.findViewByIdOrRaise(
"com.greenecomputing.linpack:id/txtmflops_result"
)
time_multi_score = self.vc.findViewByIdOrRaise(
"com.greenecomputing.linpack:id/txttime_result"
)
self.report_result(
"Linpack-MFLOPSMultiScore", "pass", mflops_multi_score.getText(), "MFLOPS"
)
self.report_result(
"Linpack-TimeMultiScore", "pass", time_multi_score.getText(), "seconds"
)
def parseResult(self):
pass