Commit 57d71e79 authored by norvell's avatar norvell
Browse files

Fix for ivas-conformance-linux

parent 9ddacaa8
Loading
Loading
Loading
Loading
Loading
+3 −7
Original line number Diff line number Diff line
@@ -1385,10 +1385,7 @@ ivas-conformance-linux:
    # Reference creation
    - python3 scripts/prepare_combined_format_inputs.py
    - TEST_SET="tests/codec_be_on_mr_nonselection tests/renderer/test_renderer.py tests/split_rendering/test_split_rendering.py"
    - python3 -m pytest -q $TEST_SET -v -n auto --update_ref 1 --create_ref --keep_files

    # Output creation
    - python3 -m pytest -q $TEST_SET -v -n auto --keep_files --create_cut --html=report_cmd.html --self-contained-html
    - python3 -m pytest -q $TEST_SET -v -n auto --update_ref 1 --create_ref --keep_files --html=report_cmd.html --self-contained-html
    - python3 scripts/parse_commands.py report_cmd.html Readme_IVAS.txt

    # Copy input data and output ref data
@@ -1406,9 +1403,8 @@ ivas-conformance-linux:
    - cp -r scripts/trajectories testvec
    - cp -r scripts/binauralRenderer_interface/binaural_renderers_hrtf_data testvec/binauralRenderer_interface
    - cp -r tests/ref testvec/testv/ref
    - cp -r tests/dut/* testvec/testv/ref
    - cp -r tests/renderer/cut testvec/testv/renderer/ref
    - cp -r tests/split_rendering/cut testvec/testv/split_rendering/ref
    - cp -r tests/renderer/ref testvec/testv/renderer/ref
    - cp -r tests/split_rendering/ref testvec/testv/split_rendering/ref
    - cp -r tests/split_rendering/renderer_configs testvec/testv/split_rendering/renderer_configs
    - cp -r tests/split_rendering/error_patterns testvec/testv/split_rendering/error_patterns

+9 −49
Original line number Diff line number Diff line
@@ -21,56 +21,16 @@ if __name__ == '__main__':
    
    here = Path(__file__).parent.resolve()

    cmds_enc=[]
    cmds_dec=[]
    cmds_rend=[]
    cmds_isar_post_rend=[]


    if path.isdir(input):
        input = Path(input).rglob('*.html')
    else:
        input = [input]
    for html_report in input:
        
        with open(html_report,'r') as infile:
            for line in infile.readlines():
                    cmds_enc.extend(re.findall(r"DUT encoder command:\\n\\t(.*?)\\n", line))
                    cmds_dec.extend(re.findall(r"DUT decoder command:\\n\\t(.*?)\\n", line))
                    cmds_rend.extend(re.findall(r"Running command\\n(.*?)\\n", line))
                    cmds_isar_post_rend.extend(re.findall(r"Running ISAR post renderer command\\n(.*?)\\n", line))

    # If pytest-html < v4 is used, the parsing will fail and render empty lists. This is a work-around in case that happens.
    if all(not x for x in [cmds_enc, cmds_dec, cmds_rend, cmds_isar_post_rend]):
        for html_report in input:
            with open(html_report,'r') as infile:
                enc_cmd = False
                dec_cmd = False
                rend_cmd = False
                isar_post_rend_cmd = False
                for line in infile.readlines():
                    line = line.split("<br/>")[0] # Remove trailing html tags
                    if enc_cmd:
                        cmds_enc.append(line)
                        enc_cmd = False
                    elif dec_cmd:
                        cmds_dec.append(line)
                        dec_cmd = False
                    elif rend_cmd:
                        cmds_rend.append(line)
                        rend_cmd = False                         
                    elif isar_post_rend_cmd:
                        cmds_isar_post_rend.append(line)
                        isar_post_rend_cmd = False                        
                    else:
                        if "DUT encoder command" in line:
                            enc_cmd = True
                        elif "DUT decoder command" in line:
                            dec_cmd = True
                        elif "Running command" in line:
                            rend_cmd = True                             
                        elif "Running ISAR post renderer command" in line:
                            isar_post_rend_cmd = True                            
    with open(input,'r') as infile:
        report = infile.read()
        cmds_enc = re.findall(r'REF encoder command:\s*\n\s*(\S.*)', report, re.MULTILINE)
        cmds_dec = re.findall(r'REF decoder command:\s*\n\s*(\S.*)', report, re.MULTILINE)
        cmds_rend = re.findall(r'Running command\s*\n\s*(\S.*)', report, re.MULTILINE)
        cmds_isar_post_rend = re.findall(r'Running ISAR post renderer command\s*\n\s*(\S.*)', report, re.MULTILINE)

    # Remove HTML tags
    cmds_rend = [x.split('<')[0] for x in cmds_rend]
    cmds_isar_post_rend = [x.split('<')[0] for x in cmds_isar_post_rend]

    # Sort lists to keep deterministic order between runs
    cmds_enc.sort()