Add check for preventing invalid key in FAFT_STEP.
To avoid any typo of the key.
BUG=chromium-os:19710
TEST=run_remote_tests.sh --remote=$REMOTE_IP -a "xml_config=$OVERLAY_XML \
servo_vid=0x18d1 servo_pid=0x5001" TryFwB/control.normal
Change-Id: I58cd25c7366265148f2c4d3a69c7d5880a696c4e
Reviewed-on: https://gerrit.chromium.org/gerrit/12965
Reviewed-by: Todd Broch <tbroch@chromium.org>
Commit-Ready: Tom Wai-Hong Tam <waihong@chromium.org>
Tested-by: Tom Wai-Hong Tam <waihong@chromium.org>
diff --git a/server/cros/faftsequence.py b/server/cros/faftsequence.py
index b730fe7..fd1e0f4 100644
--- a/server/cros/faftsequence.py
+++ b/server/cros/faftsequence.py
@@ -590,11 +590,19 @@
Raises:
error.TestFail: An error when the test failed.
+ error.TestError: An error when the given step is not valid.
"""
+ FAFT_STEP_KEYS = ('state_checker', 'userspace_action', 'reboot_action',
+ 'firmware_action', 'install_deps_after_boot')
+
test = {}
test.update(self._faft_template)
test.update(step)
+ for key in test:
+ if key not in FAFT_STEP_KEYS:
+ error.TestError('Invalid key in FAFT step: %s', key)
+
if test['state_checker']:
if not self._call_action(test['state_checker']):
raise error.TestFail('State checker failed!')