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))
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)
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)
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')]