Commit 40f4b16c authored by norvell's avatar norvell
Browse files

Added command line extraction script

parent 29bf5319
Loading
Loading
Loading
Loading

dec_header.txt

0 → 100644
+20 −0
Original line number Diff line number Diff line
#!/usr/bin/env bash
set -e

if [ "$#" -ne 1 ]; then
    echo "Usage: $0 <CUT_DEC_BIN>"
    exit -1
fi            

CUT_DEC_BIN=$1
DIFF_BIN="diff"

REF_PATH="./tests"
CUT_PATH="./TMP_DEC"

rm -rf $CUT_PATH
mkdir -p $CUT_PATH
mkdir -p $CUT_PATH/ref/masa_test/dec_output
mkdir -p $CUT_PATH/ref/param_file/dec
mkdir -p $CUT_PATH/ref/sba_bs/raw

enc_header.txt

0 → 100644
+21 −0
Original line number Diff line number Diff line
#!/usr/bin/env bash
set -e

if [ "$#" -ne 1 ]; then
    echo "Usage: $0 <CUT_ENC_BIN>"
    exit -1
fi

CUT_ENC_BIN=$1
DIFF_BIN="diff"

TESTV_PATH="./scripts"
REF_PATH="./tests"
CUT_PATH="./TMP_ENC"

rm -rf $CUT_PATH
mkdir -p $CUT_PATH
mkdir -p $CUT_PATH/ref/masa_test/bitstreams
mkdir -p $CUT_PATH/ref/param_file/enc
mkdir -p $CUT_PATH/ref/sba_bs/pkt

parse_commands.py

0 → 100644
+104 −0
Original line number Diff line number Diff line
#!/usr/bin/python3

import argparse
import re
from os import path
from pathlib import Path

# Main routine
if __name__ == '__main__':
    parser = argparse.ArgumentParser(description='Parse HTML reports to extract commands')
    parser.add_argument('input',type=str,help='Path to HTML report or directory')
    parser.add_argument('txt_file',type=str,help='Output txt file, e.g. output.txt')
    args = parser.parse_args()
    input = args.input
    txt_file    = args.txt_file

    TESTV_PATH='$TESTV_PATH/'
    REF_PATH='$REF_PATH/'
    CUT_PATH='$CUT_PATH/'
    
    cmds_enc=[]
    cmds_dec=[]
    cmds_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))

    with open(txt_file.replace('.','_enc.'),'w', newline='\n') as outfile:
        with open('enc_header.txt','r') as header:
            outfile.write(header.read())
        for cmd in cmds_enc:
            arg1 = cmd.split()[0]
            root_folder = arg1[0:arg1.find("ivas-codec/")+10]
            cmd = cmd.replace(root_folder + r'/IVAS_cod', '$CUT_ENC_BIN')
            cmd = cmd.replace(r'\\', '/')
            cmd = cmd.replace(root_folder + r'/scripts/', TESTV_PATH)
            cmd = cmd.replace(root_folder + r'/tests/',CUT_PATH)
                       
                        
            #cmd = cmd.replace(r'C:/listen/ivas-codec_temp/scripts/', TESTV_PATH)
            #cmd = cmd.replace(r'C:/listen/ivas-codec_temp/tests/',CUT_PATH)
            #cmd = cmd.replace('/home/ejatoma/ivas-codec/scripts', TESTV_PATH)
            #cmd = cmd.replace('/home/ejatoma/ivas-codec/tests/ref',CUT_PATH)
            outfile.write(cmd+'\n')
            bts = re.search(r"\s(([\S]+)(.bts|.192))$", cmd)
            if bts:
                outfile.write('$DIFF_BIN '+bts.group(1).replace(CUT_PATH,REF_PATH)+' '+bts.group(1)+'\n')
            outfile.write('\n')

    with open(txt_file.replace('.','_dec.'),'w', newline='\n') as outfile:
        with open('dec_header.txt','r') as header:
            outfile.write(header.read())
        for cmd in cmds_dec:
            arg1 = cmd.split()[0]
            root_folder = arg1[0:arg1.find("ivas-codec/")+10]
            cmd = cmd.replace(root_folder + r'/IVAS_dec', '$CUT_DEC_BIN')
            cmd = cmd.replace(r'\\', '/')
            cmd = cmd.replace(root_folder + r'/tests/', REF_PATH)
            cmd = cmd.replace(root_folder + r'/tests/', CUT_PATH)
                        
            #cmd = cmd.replace(r'C:/listen/ivas-codec_temp/tests/', REF_PATH, 1)
            #cmd = cmd.replace(r'C:/listen/ivas-codec_temp/tests/', CUT_PATH)            
            #cmd = cmd.replace('/home/ejatoma/ivas-codec/tests/ref', REF_PATH, 1)
            #cmd = cmd.replace('/home/ejatoma/ivas-codec/tests/ref', CUT_PATH)
            outfile.write(cmd+'\n')
            out = re.search(r"\s(([\S]+)(.wav|.raw|.pcm))$", cmd)
            if out:
                outfile.write('$DIFF_BIN '+out.group(1).replace(CUT_PATH,REF_PATH)+' '+out.group(1)+'\n')
            outfile.write('\n')

    with open(txt_file.replace('.','_rend.'),'w', newline='\n') as outfile:
        with open('rend_header.txt','r') as header:
            outfile.write(header.read())
        for cmd in cmds_rend:
            arg1 = cmd.split()[0]
            root_folder = arg1[0:arg1.find("ivas-codec/")+10]
        
            cmd = cmd.replace(r'\\', '/')
  
            cmd = cmd.replace(root_folder + r'/IVAS_rend', '$CUT_REND_BIN')
            cmd = cmd.replace(root_folder + r'/scripts/', TESTV_PATH, 1)
            cmd = cmd.replace(root_folder + r'/tests/', CUT_PATH)            

  
            #cmd = cmd.replace(r'C:/listen/ivas-codec_temp/IVAS_rend_ref', '$CUT_REND_BIN')
            #cmd = cmd.replace(r'C:/listen/ivas-codec_temp/scripts/', TESTV_PATH, 1)
            #cmd = cmd.replace(r'C:/listen/ivas-codec_temp/tests/', CUT_PATH)            
            #cmd = cmd.replace('/home/ejatoma/ivas-codec/tests/ref', REF_PATH, 1)
            #cmd = cmd.replace('/home/ejatoma/ivas-codec/tests/ref', CUT_PATH)
            outfile.write(cmd+'\n')
            out = re.search(r"-o\s(([\S]+)(.wav|.raw|.pcm))", cmd)
            if out:
                outfile.write('$DIFF_BIN '+out.group(1).replace(CUT_PATH,REF_PATH)+' '+out.group(1)+'\n')
            outfile.write('\n')            
 No newline at end of file

rend_header.txt

0 → 100644
+19 −0
Original line number Diff line number Diff line
#!/usr/bin/env bash
set -e

if [ "$#" -ne 1 ]; then
    echo "Usage: $0 <CUT_REND_BIN>"
    exit -1
fi            

CUT_REND_BIN=$1
DIFF_BIN="diff"

TESTV_PATH="./scripts"
REF_PATH="./tests"
CUT_PATH="./TMP_REND"

rm -rf $CUT_PATH
mkdir -p $CUT_PATH/renderer/ref