Add client attribute object to FAFT test
This enables us to define some per-platform attributes and take
different action during test.
BUG=chrome-os-partner:10874
TEST=Check we can get attribute in test.
Change-Id: I6051aa6e6f1da5ff4a4229853939554973ab6aeb
Reviewed-on: https://gerrit.chromium.org/gerrit/26092
Reviewed-by: Tom Wai-Hong Tam <waihong@chromium.org>
Commit-Ready: Vic Yang <victoryang@chromium.org>
Tested-by: Vic Yang <victoryang@chromium.org>
diff --git a/server/cros/faft_client_attribute.py b/server/cros/faft_client_attribute.py
new file mode 100644
index 0000000..bebffdd
--- /dev/null
+++ b/server/cros/faft_client_attribute.py
@@ -0,0 +1,29 @@
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+class FAFTClientAttribute(object):
+ """Class that tests platform name and gives client machine attributes."""
+ version = 1
+
+ DEFAULT_SETTING = {'keyboard_dev': True}
+
+ def __init__(self, platform):
+ """Initialized.
+
+ Args:
+ platform: Platform name returned by FAFT client.
+ """
+ self.__dict__.update(self.DEFAULT_SETTING)
+ self.__dict__.update(self._get_platform_setting(platform))
+
+
+ def _get_platform_setting(self, platform):
+ """Return platform-specific settings."""
+ setting = dict()
+
+ if platform in ['Aebl', 'Alex', 'Kaen', 'Lumpy', 'Mario', 'Seaboard',
+ 'Stumpy', 'ZGB']:
+ setting['keyboard_dev'] = False
+
+ return setting