コード例 #1
0
    def test_merge_target_data(self, d):
        os.chdir(d.path)

        # create project
        project = Project()
        project.config['name'] = Constants.PROJECT_NAME

        # create dependency
        dep_repository = Repository(
            rep_type=Constants.REPOSITORY_TYPE_LOCAL,
            rep_path='/tmp/dep-repository-test',
            rep_version='1.0.0',
        )

        dependency = Dependency(name='repository-test',
                                repository=dep_repository)

        project.dependencies = [dependency]

        # create target
        target_repository = Repository(
            rep_type=Constants.REPOSITORY_TYPE_LOCAL,
            rep_path='/tmp/target-repository-test',
            rep_version='1.0.0',
        )

        target1 = Target(name='test', repository=target_repository)

        target2 = Target(name='test', repository=target_repository)

        project.targets = [target1, target2]

        # process data
        process_data = ProcessData()
        process_data.reset()
        process_data.project_name = project.get_config_value('name')

        # process target data
        for target in project.targets:
            # get all target data from project dependencies
            print('Who is the target:')
            print(target.get_name())
            print("")

            target_data = TargetData()

            for dependency in project.dependencies:
                print('Who is the dependency:')
                print(dependency.get_name())
                print("")

                dependency.prepare_from_process_data(process_data)

                new_target_data = TargetData()
                new_target_data.c_flags.extend(['flag'])
                target_data.merge(new_target_data)

            self.assertEqual(len(target_data.c_flags), 1)
コード例 #2
0
ファイル: test_dependency.py プロジェクト: nicoddemus/ezored
    def test_local_get_name_with_null_name(self):
        repository = Repository(
            rep_type=Constants.REPOSITORY_TYPE_LOCAL,
            rep_path='/tmp/repository-test',
            rep_version='1.0.0',
        )

        dependency = Dependency(name=None, repository=repository)

        self.assertEqual(dependency.get_name(), None)
コード例 #3
0
ファイル: test_dependency.py プロジェクト: nut799/ezored
    def test_local_get_name_with_null_name(self):
        repository = Repository(
            rep_type=Repository.TYPE_LOCAL,
            rep_name='/tmp/repository-test',
            rep_version='1.0.0',
        )

        dependency = Dependency(repository=repository)

        self.assertEqual(dependency.get_name(), 'repository-test')
コード例 #4
0
ファイル: test_dependency.py プロジェクト: nicoddemus/ezored
    def test_match_target_name_and_target_data(self):
        # create dependency
        dep_repository = Repository(
            rep_type=Constants.REPOSITORY_TYPE_LOCAL,
            rep_path='dep-repository-test',
            rep_version='1.0.0',
        )

        dependency = Dependency(name='repository-test',
                                repository=dep_repository)

        # check match
        match = dependency.match_name('test1-test2', 'test1-test2')
        self.assertEqual(match, True)

        match = dependency.match_name('test', 'test1-test2')
        self.assertEqual(match, True)

        match = dependency.match_name('test1', 'test1-test2')
        self.assertEqual(match, True)

        match = dependency.match_name('test2', 'test1-test2')
        self.assertEqual(match, True)

        match = dependency.match_name('-', 'test1-test2')
        self.assertEqual(match, True)

        match = dependency.match_name('arm', 'armv7-linux')
        self.assertEqual(match, True)

        match = dependency.match_name('linux', 'armv7-linux')
        self.assertEqual(match, True)
コード例 #5
0
ファイル: test_dependency.py プロジェクト: nut799/ezored
    def test_constructor(self):
        repository = Repository(
            rep_type=Repository.TYPE_LOCAL,
            rep_name='/tmp/repository-test',
            rep_version='1.0.0',
        )

        dependency = Dependency(repository=repository)

        self.assertEqual(dependency.get_name(), 'repository-test')
        self.assertEqual(dependency.repository.rep_type, Repository.TYPE_LOCAL)
        self.assertEqual(dependency.repository.rep_name,
                         '/tmp/repository-test')
        self.assertEqual(dependency.repository.rep_version, '1.0.0')
コード例 #6
0
ファイル: test_dependency.py プロジェクト: nicoddemus/ezored
    def test_constructor(self):
        repository = Repository(
            rep_type=Constants.REPOSITORY_TYPE_LOCAL,
            rep_path='/tmp/repository-test',
            rep_version='1.0.0',
        )

        dependency = Dependency(name='repository-test', repository=repository)

        self.assertEqual(dependency.get_name(), 'repository-test')
        self.assertEqual(dependency.repository.rep_type,
                         Constants.REPOSITORY_TYPE_LOCAL)
        self.assertEqual(dependency.repository.rep_path,
                         '/tmp/repository-test')
        self.assertEqual(dependency.repository.rep_version, '1.0.0')
コード例 #7
0
    def create_from_stream(stream):
        try:
            # load project data
            project = Project()

            file_data = yaml.load(stream)

            # configurations
            Logger.d('Loading project configurations...')

            if 'config' in file_data:
                config = file_data['config']

                if type(config) is dict:
                    project.config = config

            # dependencies
            Logger.d('Loading project dependencies...')

            if 'dependencies' in file_data:
                dependencies = file_data['dependencies']

                for dependency_data in dependencies:
                    dependency = Dependency.from_dict(dependency_data)
                    project.dependencies.append(dependency)

            # targets
            Logger.d('Loading project targets...')

            if 'targets' in file_data:
                targets = file_data['targets']

                for target_data in targets:
                    target = Target.from_dict(target_data)
                    project.targets.append(target)

            # finished
            Logger.d('Project loaded')

            return project
        except yaml.YAMLError as exc:
            Logger.f('Error while load project data: {0}'.format(exc))