Пример #1
0
    def _replaceStringMap(self, root, platform, program_path,
                          stringmap_from_info):
        try:
            # backward compatible
            string_map = json.loads(self.args.string_map) \
                if self.args.string_map else {}

            info_string_map = json.loads(stringmap_from_info) \
                if stringmap_from_info else {}
        except BaseException:
            string_map = ast.literal_eval(self.args.string_map) \
                if self.args.string_map else {}
            info_string_map = stringmap_from_info if stringmap_from_info else {}

        deepMerge(string_map, info_string_map)

        string_map["TGTDIR"] = platform.getOutputDir()
        string_map["HOSTDIR"] = self._createHostDir()
        string_map["FAIPEPROOT"] = getFAIPEPROOT()
        if program_path:
            string_map["BUILDDIR"] = program_path

        for name in string_map:
            value = string_map[name]
            deepReplace(root, "{" + name + "}", value)
Пример #2
0
    def _collectOneBenchmark(self, source, meta, benchmarks, info):
        assert os.path.isfile(source), \
            "Benchmark {} does not exist".format(source)
        with open(source, 'r') as b:
            one_benchmark = json.load(b)

        string_map = json.loads(self.args.string_map) \
            if self.args.string_map else {}
        for name in string_map:
            value = string_map[name]
            deepReplace(one_benchmark, "{" + name + "}", value)

        self._verifyBenchmark(one_benchmark, source, False)

        self._updateFiles(one_benchmark, source)

        # following change should not appear in updated_json file
        if meta:
            deepMerge(one_benchmark["model"], meta)

        self._updateTests(one_benchmark, source)
        # Add fields that should not appear in the saved benchmark file
        # Adding path to benchmark file
        one_benchmark["path"] = os.path.abspath(source)

        # One test per benchmark
        if len(one_benchmark["tests"]) == 1:
            benchmarks.append(one_benchmark)
        else:
            tests = copy.deepcopy(one_benchmark["tests"])
            one_benchmark["tests"] = []
            for test in tests:
                new_benchmark = copy.deepcopy(one_benchmark)
                new_benchmark["tests"].append(test)
                benchmarks.append(new_benchmark)
Пример #3
0
    def _replaceStringMap(self, root, platform):
        string_map = json.loads(getArgs().string_map) \
            if getArgs().string_map else {}

        string_map["TGTDIR"] = platform.getOutputDir()
        string_map["HOSTDIR"] = self._createHostDir()
        string_map["FAIPEPROOT"] = getFAIPEPROOT()

        for name in string_map:
            value = string_map[name]
            deepReplace(root, "{"+name+"}", value)
Пример #4
0
    def _replaceStringMap(self, root, platform, program_path,
                          stringmap_from_info):
        string_map = json.loads(getArgs().string_map) \
            if getArgs().string_map else {}

        info_string_map = json.loads(stringmap_from_info) \
            if stringmap_from_info else {}

        deepMerge(string_map, info_string_map)

        string_map["TGTDIR"] = platform.getOutputDir()
        string_map["HOSTDIR"] = self._createHostDir()
        string_map["FAIPEPROOT"] = getFAIPEPROOT()
        if program_path:
            string_map["BUILDDIR"] = program_path

        for name in string_map:
            value = string_map[name]
            deepReplace(root, "{" + name + "}", value)