faft: Create ModeSwitcher and FwBypasser according to FAFT config
Two new FAFT configs are added:
- mode_switcher_type: either 'physical_button_switcher' or
'keyboard_dev_switcher',
- fw_bypasser_type: so far only 'ctrl_d_bypasser'
FAFT checks these configs to create proper ModeSwitcher and FwBypasser.
BUG=chrome-os-partner:39744
TEST=Ran suites faft_lv1 and faft_lv2 on Samus.
Change-Id: I6a93dc6729aec571e4fc5a0e0a4468eadcbfa771
Reviewed-on: https://chromium-review.googlesource.com/272304
Reviewed-by: Yusuf Mohsinally <mohsinally@chromium.org>
Tested-by: Tom Tam <waihong@google.com>
Commit-Queue: Tom Tam <waihong@google.com>
diff --git a/server/cros/faft/firmware_test.py b/server/cros/faft/firmware_test.py
index 2f1c04a..6b16ce7 100644
--- a/server/cros/faft/firmware_test.py
+++ b/server/cros/faft/firmware_test.py
@@ -16,8 +16,8 @@
from autotest_lib.server.cros import vboot_constants as vboot
from autotest_lib.server.cros.faft.config.config import Config as FAFTConfig
from autotest_lib.server.cros.faft.rpc_proxy import RPCProxy
+from autotest_lib.server.cros.faft.utils import mode_switcher
from autotest_lib.server.cros.faft.utils.faft_checkers import FAFTCheckers
-from autotest_lib.server.cros.faft.utils.mode_switcher import ModeSwitcher
from autotest_lib.server.cros.servo import chrome_ec
@@ -159,7 +159,7 @@
self.faft_config = FAFTConfig(
self.faft_client.system.get_platform_name())
self.checkers = FAFTCheckers(self)
- self.switcher = ModeSwitcher(self)
+ self.switcher = mode_switcher.create_mode_switcher(self)
if self.faft_config.chrome_ec:
self.ec = chrome_ec.ChromeEC(self.servo)