1
0
mirror of https://github.com/ARM-software/workload-automation.git synced 2025-09-02 03:12:34 +01:00

ReventWorkload: State detection fixes

- Corrected code highlighting and phase names in documentation
- Fixed check_states paremeter not being honoured
- Moved state dependencies check to happen earlier in execution
  and to be a user facing error
This commit is contained in:
Marc Bonnici
2016-10-19 12:27:26 +01:00
parent 0f2bc17eca
commit 9fffa7958a
3 changed files with 15 additions and 6 deletions

View File

@@ -240,7 +240,7 @@ class ApkWorkload(Workload):
context.add_classifiers(apk_version=self.apk_version)
if self.launch_main:
self.launch_package() # launch default activity without intent data
self.launch_package() # launch default activity without intent data
self.device.execute('am kill-all') # kill all *background* activities
self.device.clear_logcat()
@@ -439,6 +439,7 @@ AndroidBenchmark = ApkWorkload # backward compatibility
class ReventWorkload(Workload):
# pylint: disable=attribute-defined-outside-init
def __init__(self, device, _call_super=True, **kwargs):
if _call_super:
@@ -452,7 +453,9 @@ class ReventWorkload(Workload):
self.on_device_setup_revent = None
self.on_device_run_revent = None
self.statedefs_dir = None
self.check_states = None
if self.check_states:
state_detector.check_match_state_dependencies()
def setup(self, context):
self.revent_setup_file = context.resolver.get(ReventFile(self, 'setup'))

View File

@@ -40,6 +40,8 @@ try:
except ImportError:
imutils = None
from wlauto.exceptions import HostError
class StateDefinitionError(RuntimeError):
pass
@@ -58,10 +60,14 @@ def auto_canny(image, sigma=0.33):
return edged
def check_match_state_dependencies():
if np is None or cv2 is None or imutils is None:
raise HostError("State detection requires numpy, opencv (cv2) and imutils.")
def match_state(screenshot_file, defpath, state_definitions): # pylint: disable=too-many-locals
# check dependencies
if np is None or cv2 is None or imutils is None:
raise RuntimeError("State detection requires numpy, opencv (cv2) and imutils.")
check_match_state_dependencies()
# check if file exists, then load screenshot into opencv and create edge map
if not os.path.isfile(screenshot_file):