示例#1
0
def compose_packages(packages, target):
    for package_description in packages:
        package = Package(package_description.path)
        package.sources = filesystem.find(
            package.path, '*.cpp') + filesystem.find(package.path, '*.c')
        package.cflags = package_description.cflags
        target.packages.append(package)
        target.include_directories.add(package_path(package))
示例#2
0
def compose_tests(target_name, project_descriptor, project):
    for bit_description in project_descriptor.test.bits.values():
        adjust_bit_packages_base_path(bit_description,
                                      bit_description.build.packages)
    for test_file in filesystem.find('tests', 'test_*.cpp'):
        name = test_file.split('/')[-1].split('.')[0]
        target = project.targets[target_name]
        test = Test(name, target, test_file)
        test.cflags = project_descriptor.test.cflags
        test.ldflags = project_descriptor.test.ldflags
        test.libraries = project_descriptor.test.libraries
        compose_packages(project_descriptor.test.packages, test)
        for bit_description in project_descriptor.test.bits.values():
            add_packages_to_target_includes(bit_description.build.packages,
                                            test)
            target.bits.append(compose_target(target_name, bit_description))
        project.tests.append(test)
示例#3
0
def compose_tests(target_name, project_descriptor, project):
    target_description = project_descriptor.targets.get(target_name, TargetDescription(target_name))
    project.test.cflags = project_descriptor.test.cflags + target_description.test.cflags
    project.test.cppflags = project_descriptor.test.cppflags + target_description.test.cppflags
    project.test.ldflags = project_descriptor.test.ldflags + target_description.test.ldflags
    project.test.libraries = project_descriptor.test.libraries + target_description.test.libraries
    project.test.include_directories.update(project_descriptor.test.includes)
    compose_packages(project_descriptor.test.packages, project.test)
    compose_packages(target_description.test.packages, project.test)

    for bit_description in project_descriptor.test.bits.values():
        compose_bit(bit_description, project.test)

    for test_file in filesystem.find('tests', 'test_*.cpp'):
        name = test_file.split('/')[-1].split('.')[0]
        test_suite = TestSuite(name, test_file)
        project.test.test_suites.append(test_suite)
示例#4
0
 def test_list_from_directory(self, project, directory):
     return [self.test_from_test_file(project, test_file) for test_file in filesystem.find(directory, 'test_*.cpp')]