Commit 1c25ef13 authored by Jan Kiene's avatar Jan Kiene
Browse files

factor out files collection in function

parent 4375f087
Loading
Loading
Loading
Loading
+18 −21
Original line number Diff line number Diff line
@@ -15,17 +15,12 @@ def main(args):
        collect_for_sanitizer_test(file)


def collect_for_sanitizer_test(file):

    with open(file) as f:
        console_log = f.readlines()

    files_to_archive = dict()
    files_to_archive_noPLC = dict()
def find_failed_files_for_sanitizer_test(console_log: str, subfolder:str) -> dict():

    pattern_line = "(Encoding|Decoding) failed .*for \/.*(CLANG.|VALGRIND)\/(.*)"
    pattern_file = "(.*_b[0-9]*_.*_rs|.*_b[0-9]*_.*_cbr).*"

    files_found = dict()
    for line in console_log:
        m_line = re.match(pattern_line, line)

@@ -36,27 +31,29 @@ def collect_for_sanitizer_test(file):
            if m_file is None:
                print(f"Unexpected: no match on {filename} with {pattern_file} - skip")
                continue
            filename_start = m_file.groups()
            filename_start = m_file.groups()[0]

            folder = pathlib.Path(f"{test}/{subfolder}/")
            files = [
                f
                for f in pathlib.Path(f"{test}/logs/").iterdir()
                for f in folder.iterdir()
                if f.name.startswith(filename_start)
            ]
            if test in files_to_archive:
                files_to_archive[test].extend(files)
            if test in files_found:
                files_found[test].extend(files)
            else:
                files_to_archive[test] = files
                files_found[test] = files

            files_noPlc = [
                f
                for f in pathlib.Path(f"{test}/logs_noPLC/").iterdir()
                if f.name.startswith(filename_start)
            ]
            if test in files_to_archive_noPLC:
                files_to_archive_noPLC[test].extend(files_noPlc)
            else:
                files_to_archive_noPLC[test] = files_noPlc
    return files_found


def collect_for_sanitizer_test(file):

    with open(file) as f:
        console_log = f.readlines()

    files_to_archive_noPLC = find_failed_files_for_sanitizer_test(console_log, "logs_noPLC")
    files_to_archive = find_failed_files_for_sanitizer_test(console_log, "logs")

    log_folder = pathlib.Path("./LOGS_PLC")
    log_folder.mkdir()