def testTransformConfig_FilterMatch(self):
   result = cros_config_test_schema.TransformConfig(
       BASIC_CONFIG, device_filter='nautilus')
   json_dict = json.loads(result)
   json_obj = libcros_schema.GetNamedTuple(json_dict)
   self.assertEqual(1, len(json_obj.chromeos.devices))
   device = json_obj.chromeos.devices[0]
   self.assertEqual('nautilus', device.device_name)
   self.assertEqual(3, len(device.command_groups))
Ejemplo n.º 2
0
    def testMainImportFilterNautilusLte(self):
        output = os.path.join(self.tempdir, 'output.json')
        cros_config_test_schema.Start(
            os.path.join(this_dir, 'test_data/cros_config_test_device.yaml'),
            'nautiluslte', output, None)
        json_dict = json.loads(osutils.ReadFile(output))
        json_obj = libcros_schema.GetNamedTuple(json_dict)
        self.assertEqual(1, len(json_obj.chromeos.devices))

        device = json_obj.chromeos.devices[0]
        self.assertEqual('nautiluslte', device.device_name)
        self.assertEqual(4, len(device.command_groups))
 def testBasicTransform(self):
     result = cros_config_schema.TransformConfig(BASIC_CONFIG)
     json_dict = json.loads(result)
     self.assertEqual(len(json_dict), 1)
     json_obj = libcros_schema.GetNamedTuple(json_dict)
     self.assertEqual(1, len(json_obj.chromeos.configs))
     model = json_obj.chromeos.configs[0]
     self.assertEqual('basking', model.name)
     self.assertEqual('basking', model.audio.main.cras_config_dir)
     # Check multi-level template variable evaluation
     self.assertEqual('/etc/cras/basking/dsp.ini',
                      model.audio.main.files[0].destination)
    def testTransformConfig_FilterMatch(self):
        scoped_config = """
reef-9042-fw: &reef-9042-fw
  bcs-overlay: 'overlay-reef-private'
  ec-ro-image: 'Reef_EC.9042.87.1.tbz2'
  main-ro-image: 'Reef.9042.87.1.tbz2'
  main-rw-image: 'Reef.9042.110.0.tbz2'
  build-targets:
    coreboot: 'reef'
chromeos:
  devices:
    - $name: 'foo'
      products:
        - $key-id: 'OEM2'
      skus:
        - config:
            identity:
              sku-id: 0
            audio:
              main:
                cras-config-dir: '{{$name}}'
                ucm-suffix: '{{$name}}'
            name: '{{$name}}'
            firmware: *reef-9042-fw
            firmware-signing:
              key-id: '{{$key-id}}'
              signature-id: '{{$name}}'
    - $name: 'bar'
      products:
        - $key-id: 'OEM2'
      skus:
        - config:
            identity:
              sku-id: 0
            audio:
              main:
                cras-config-dir: '{{$name}}'
                ucm-suffix: '{{$name}}'
            name: '{{$name}}'
            firmware: *reef-9042-fw
            firmware-signing:
              key-id: '{{$key-id}}'
              signature-id: '{{$name}}'
"""

        result = cros_config_schema.TransformConfig(scoped_config,
                                                    model_filter_regex='bar')
        json_dict = json.loads(result)
        json_obj = libcros_schema.GetNamedTuple(json_dict)
        self.assertEqual(1, len(json_obj.chromeos.configs))
        model = json_obj.chromeos.configs[0]
        self.assertEqual('bar', model.name)
    def testTemplateVariableScope(self):
        scoped_config = """
audio_common: &audio_common
  main:
    $ucm: "default"
    $cras: "default"
    ucm-suffix: "{{$ucm}}"
    cras-config-dir: "{{$cras}}"
chromeos:
  devices:
    - $name: "some"
      $ucm: "overridden-by-device-scope"
      products:
        - $key-id: 'SOME-KEY'
          $brand-code: 'SOME-BRAND'
          $cras: "overridden-by-product-scope"
      skus:
        - $sku-id: 0
          config:
            audio: *audio_common
            brand-code: '{{$brand-code}}'
            identity:
              platform-name: "Some"
              smbios-name-match: "Some"
            name: '{{$name}}'
            firmware:
              no-firmware: True
"""
        result = cros_config_schema.TransformConfig(scoped_config)
        json_dict = json.loads(result)
        json_obj = libcros_schema.GetNamedTuple(json_dict)
        config = json_obj.chromeos.configs[0]
        self.assertEqual('overridden-by-product-scope',
                         config.audio.main.cras_config_dir)
        self.assertEqual('overridden-by-device-scope',
                         config.audio.main.ucm_suffix)
 def testTransformConfig_NoMatch(self):
   result = cros_config_test_schema.TransformConfig(
       BASIC_CONFIG, device_filter='abc123')
   json_dict = json.loads(result)
   json_obj = libcros_schema.GetNamedTuple(json_dict)
   self.assertEqual(0, len(json_obj.chromeos.devices))
 def testDashesReplacedWithUnderscores(self):
     val = {'a-b': 1}
     val_tuple = libcros_schema.GetNamedTuple(val)
     self.assertEqual(val['a-b'], val_tuple.a_b)
 def testListInRecursiveDicts(self):
     val = {'a': {'b': [{'c': 2}]}}
     val_tuple = libcros_schema.GetNamedTuple(val)
     self.assertEqual(val['a']['b'][0]['c'], val_tuple.a.b[0].c)
 def testRecursiveDicts(self):
     val = {'a': {'b': 1, 'c': 2}}
     val_tuple = libcros_schema.GetNamedTuple(val)
     self.assertEqual(val['a']['b'], val_tuple.a.b)
     self.assertEqual(val['a']['c'], val_tuple.a.c)