blob: 0282ae55a79bf96e8b461cf0aff42e07a68c14d2 [file] [log] [blame]
# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import mojo_unittest
from mojo_bindings import reflection
from mojo_bindings import interface_reflection
class GenerationTest(mojo_unittest.MojoTestCase):
TEST_PACKAGES = [
'math_calculator_mojom',
'no_module_mojom',
'rect_mojom',
'regression_tests_mojom',
'sample_factory_mojom',
'sample_import2_mojom',
'sample_import_mojom',
'sample_interfaces_mojom',
'sample_service_mojom',
'serialization_test_structs_mojom',
'test_structs_mojom',
'validation_test_interfaces_mojom',
]
@staticmethod
def testGeneration():
buildable_types = (reflection.MojoStructType,
interface_reflection.MojoInterfaceType)
for module_name in GenerationTest.TEST_PACKAGES:
module = __import__(module_name)
for element_name in dir(module):
element = getattr(module, element_name)
if isinstance(element, buildable_types):
# Check struct and interface are buildable
element()