def build_for_target(target): if server_utils.get_target_ip(target) == server_utils.get_local_ip(): return target_arch = server_utils.get_host_arch(target) try: build_caliper(target_arch) except Exception, e: raise
def build_for_target(target,f_option,clear): #f_option is set if -f is used # Create the temperory build folders GEN_DIR = caliper_path.GEN_DIR WS_GEN_DIR = os.path.join(FOLDER.workspace, 'binary') benchs_dir = os.path.join(TMP_DIR, 'benchmarks') if not os.path.exists(benchs_dir): try: os.makedirs(benchs_dir, 0755) except Exception: os.mkdir(benchs_dir, 0755) # Improvement Point: Right now all the benchmarks are copied, we can only # copy the selected benchmarks to save the time. if os.path.exists(benchs_dir): shutil.rmtree(benchs_dir) shutil.copytree(caliper_path.BENCHS_DIR, benchs_dir) if not os.path.exists(caliper_path.FRONT_END_DIR): shutil.copytree(caliper_path.FRONT_TMP_DIR, caliper_path.FRONT_END_DIR) if f_option == 0: if os.path.exists(FOLDER.caliper_log_file): os.remove(FOLDER.caliper_log_file) if os.path.exists(FOLDER.summary_file): os.remove(FOLDER.summary_file) if not os.path.exists(FOLDER.build_dir): create_folder(FOLDER.build_dir) if not os.path.exists(FOLDER.exec_dir): create_folder(FOLDER.exec_dir) if not os.path.exists(FOLDER.results_dir): create_folder(FOLDER.results_dir) if not os.path.exists(FOLDER.yaml_dir): create_folder(FOLDER.yaml_dir) if not os.path.exists(FOLDER.html_dir): create_folder(FOLDER.html_dir) if not os.path.exists(caliper_path.HTML_DATA_DIR_INPUT): os.makedirs(caliper_path.HTML_DATA_DIR_INPUT) if not os.path.exists(caliper_path.HTML_DATA_DIR_OUTPUT): os.makedirs(caliper_path.HTML_DATA_DIR_OUTPUT) if server_utils.get_target_ip(target) in server_utils.get_local_ip(): return build_for_local() try: host_arch = server_utils.get_local_machine_arch() except Exception, e: logging.debug(" Error in get_local_machine_arch()") raise e
def run_client_command(cmd_sec_name, tmp_logfile, kind_bench, target, command): fp = open(tmp_logfile, "a+") start_log = "%%%%%% %s test start %%%%%% \n" % cmd_sec_name fp.write(start_log) fp.write("<<<BEGIN TEST>>>\n") tags = "[test: " + cmd_sec_name + "]\n" fp.write(tags) logs = "log: " + get_actual_commands(command, target) + "\n" fp.write(logs) start = time.time() flag = 0 logging.debug("the client running command is %s" % command) # get the execution location in the remote host is_localhost = 0 if server_utils.get_target_ip(target) in server_utils.get_local_ip(): is_localhost = 1 if (is_localhost == 1): arch = server_utils.get_local_machine_arch() host_exec_dir = os.path.join(caliper_path.GEN_DIR, arch) else: host_current_pwd = target.run("pwd").stdout.split("\n")[0] arch = server_utils.get_host_arch(target) host_exec_dir = os.path.join(host_current_pwd, 'caliper', "binary", arch) try: logging.debug("begining to execute the command of %s on remote host" % command) if (is_localhost == 1): logging.debug("client command in localhost is: %s" % command) [out, returncode] = run_commands(host_exec_dir, kind_bench, command, fp, fp) else: logging.debug("client command in localhost is: %s" % command) [out, returncode] = run_remote_commands(host_exec_dir, kind_bench, command, target, fp, fp) except error.ServRunError, e: fp.write("[status]: FAIL\n") sys.stdout.write(e) flag = -1