def _getMatchedString(self, root, match, files=None): if not isinstance(root, dict): return None if match in root: return getString(root[match]) # split on . fields = match.split('.') found = True entry = root for i in range(len(fields)): field = fields[i] if field not in entry: found = False break entry = entry[field] if not found: return None if "location" in entry: # is a file field if files and fields[-1] in files: return getString(files[fields[-1]]) assert isinstance(entry, string_types), "Output {}".format(entry) + \ " is not string type" return getString(entry)
def _getRawArgs(self, repo_info): platform = repo_info["platform"] # Remove it from repo_info to avoid polution, should clean up later del repo_info["platform"] unknowns = self.unknowns # a not so elegant way of merging info construct if '--info' in unknowns: info_idx = unknowns.index('--info') info = json.loads(unknowns[info_idx + 1]) deepMerge(repo_info, info) del unknowns[info_idx + 1] del unknowns[info_idx] info = json.dumps(repo_info) raw_args = [] raw_args.extend([ "--platform", getString(platform), "--framework", getString(self.args.framework), "--info", info ]) raw_args.extend(unknowns) if self.args.env: raw_args.append("--env") env_vars = self.args.env.split() for env_var in env_vars: raw_args.append(env_var) return raw_args
def _getCommand(self, repo_info): platform = repo_info["platform"] # Remove it from repo_info to avoid polution, should clean up later del repo_info["platform"] dir_path = os.path.dirname(os.path.realpath(__file__)) unknowns = getUnknowns() # a not so elegant way of merging info construct if '--info' in unknowns: info_idx = unknowns.index('--info') info = json.loads(unknowns[info_idx + 1]) deepMerge(repo_info, info) del unknowns[info_idx + 1] del unknowns[info_idx] info = getString(json.dumps(repo_info)) command = getPythonInterpreter() + " " + \ os.path.join(dir_path, "harness.py") + " " + \ " --platform " + getString(platform) + \ " --framework " + getString(getArgs().framework) + \ " --info " + info + " " + \ ' '.join([getString(u) for u in unknowns]) if getArgs().env: command = command + " --env " env_vars = getArgs().env.split() for env_var in env_vars: command = command + ' ' + env_var + ' ' return command
def _getRawArgs(self): args = self._getSavedArgs() raw_args = [] for u in args: raw_args.extend([getString(u), getString(args[u]) if args[u] is not None else ""]) raw_args.extend([getString(u) for u in self.unknowns]) return raw_args
def _getRawArgs(self): args = self._getSavedArgs() self._updateArgsWithBenchmarkOverrides(args) raw_args = [] for u in args: raw_args.extend([getString(u), getString(args[u]) if args[u] is not None else ""]) raw_args.extend([getString(u) for u in self.unknowns]) raw_args.extend(["--logger_level", self.args.logger_level]) return raw_args
def _getCMD(self): args = self._getSavedArgs() unknowns = getUnknowns() dir_path = os.path.dirname(os.path.realpath(__file__)) command = getPythonInterpreter() + " " + \ os.path.join(dir_path, "repo_driver.py") + " " + \ ' '.join([getString(u) + ' ' + (getString(args[u]) if args[u] is not None else "") for u in args]) + ' ' + \ ' '.join([getString(u) for u in unknowns]) return command