acloud: Define new common_hw_property_map in internal config.
Bug: 112685015
Test: m acloud && run_test.sh
Change-Id: Idaec91f8c91822aa73b22b0dca6916a019222c62
diff --git a/public/config_test.py b/public/config_test.py
index 781244b..865ed1a 100644
--- a/public/config_test.py
+++ b/public/config_test.py
@@ -48,6 +48,7 @@
key: "metadata_1"
value: "metadata_value_1"
}
+hw_property: "cpu:3,resolution:1080x1920,dpi=480,memory=4g,disk=10g"
"""
INTERNAL_CONFIG = """
@@ -94,6 +95,11 @@
key: "aosp-master"
value: 0
}
+
+common_hw_property_map {
+ key: "phone"
+ value: "cpu:2,resolution:1080x1920,dpi=420,memory=4g,disk=8g"
+}
"""
def setUp(self):
@@ -124,6 +130,8 @@
self.assertEqual(
{key: val for key, val in cfg.metadata_variable.iteritems()},
{"metadata_1": "metadata_value_1"})
+ self.assertEqual(cfg.hw_property,
+ "cpu:3,resolution:1080x1920,dpi=480,memory=4g,disk=10g")
# pylint: disable=protected-access
@mock.patch("os.path.exists")
@@ -220,6 +228,11 @@
"fake_stable_goldfish_host_image_project")
self.assertEqual(cfg.emulator_build_target, "sdk_tools_linux")
+ # hw property
+ self.assertEqual(
+ {key: val for key, val in cfg.common_hw_property_map.iteritems()},
+ {"phone": "cpu:2,resolution:1080x1920,dpi=420,memory=4g,disk=8g"})
+
def testLoadConfigFails(self):
"""Test loading a bad file."""
self.config_file.read.return_value = "malformed text"
@@ -227,6 +240,34 @@
config.AcloudConfigManager.LoadConfigFromProtocolBuffer(
self.config_file, internal_config_pb2.InternalConfig)
+ def testOverrideWithHWProperty(self):
+ """Test override hw property by flavor type."""
+ # initial config with test config.
+ self.config_file.read.return_value = self.INTERNAL_CONFIG
+ internal_cfg = config.AcloudConfigManager.LoadConfigFromProtocolBuffer(
+ self.config_file, internal_config_pb2.InternalConfig)
+ self.config_file.read.return_value = self.USER_CONFIG
+ usr_cfg = config.AcloudConfigManager.LoadConfigFromProtocolBuffer(
+ self.config_file, user_config_pb2.UserConfig)
+ cfg = config.AcloudConfig(usr_cfg, internal_cfg)
+
+ # test override with an exist flavor.
+ cfg.hw_property = None
+ args = mock.MagicMock()
+ args.flavor = "phone"
+ args.which = "create"
+ cfg.OverrideWithArgs(args)
+ self.assertEqual(cfg.hw_property,
+ "cpu:2,resolution:1080x1920,dpi=420,memory=4g,disk=8g")
+
+ # test override with a nonexistent flavor.
+ cfg.hw_property = None
+ args = mock.MagicMock()
+ args.flavor = "non-exist-flavor"
+ args.which = "create"
+ cfg.OverrideWithArgs(args)
+ self.assertEqual(cfg.hw_property, "")
+
if __name__ == "__main__":
unittest.main()