#!/usr/bin/env python3 __author__ = "Alexis Jeandet" __copyright__ = "Copyright 2018, Laboratory of Plasma Physics" __credits__ = [] __license__ = "GPLv2" __version__ = "1.0.0" __maintainer__ = "Alexis Jeandet" __email__ = "alexis.jeandet@member.fsf.org" __status__ = "Development" import time import sys import os import serial import argparse from datetime import datetime import pathlib from shutil import copyfile parser = argparse.ArgumentParser() parser.add_argument("-r", "--remove-prefix", help="Will remove given prefix path", default="") parser.add_argument("-o", "--output-folder", help="Will prepend given path to gcda files", default="") parser.add_argument("file", help="Gcov output file generated by record_lfr_console.py") args = parser.parse_args() def main(): with open(args.file, 'r') as gcov: files = [] for line in gcov.readlines(): head, dest_file,data = line.split(',') if dest_file not in files: files.append(dest_file) if head == '_GCOV_': gcno_file = dest_file.replace(".gcda",".gcno") dest_file = dest_file.replace(args.remove_prefix, args.output_folder) pathlib.Path(os.path.dirname(dest_file)).mkdir(parents=True, exist_ok=True) copyfile(gcno_file, gcno_file.replace(args.remove_prefix, args.output_folder)) print(f"Writing {dest_file}\n") with open(dest_file,'wb') as gcda_file: gcda_file.write(bytes([int(''.join(value),16) for value in zip(data[::2],data[1::2]) ])) else: raise if __name__ == "__main__": main()