Commit ead242c6 authored by norvell's avatar norvell
Browse files

Add record_property for encoder tests. Remove check for DuT encoder if Ref is run.

parent cb0dfc31
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1665,7 +1665,7 @@ check-clipping:
    - *enable-debugging-macro
    - make -j
    - tests/scale_pcm.py ./scripts/testv/ 3.162 # +10 dB level
    - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --update_ref 1 --html=report.html --self-contained-html --junit-xml=report-junit.xml --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec --dut_encoder_path ./IVAS_cod --dut_decoder_path ./IVAS_dec
    - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --update_ref 1 --html=report.html --self-contained-html --junit-xml=report-junit.xml --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec
    - python3 scripts/parse_xml_report.py report-junit.xml report.csv --clipping
  artifacts:
    name: "check-clipping--sha-$CI_COMMIT_SHORT_SHA--results"
+24 −14
Original line number Diff line number Diff line
@@ -357,6 +357,8 @@ def dut_encoder_path(request) -> str:
    """
    if request.config.option.dut_encoder_path:
        return request.config.option.dut_encoder_path
    if request.config.option.update_ref == "1":
        return None    

    here = Path(__file__).parent.resolve()
    system = platform.system()
@@ -568,14 +570,18 @@ class EncoderFrontend:


@pytest.fixture(scope="function")
def dut_encoder_frontend(dut_encoder_path, request) -> EncoderFrontend:
def dut_encoder_frontend(dut_encoder_path, request) -> Union[None, EncoderFrontend]:
    """
    Return a :class:`conftest.EncoderFrontend` instance as DUT for the test session.
    """
    encoder = None

    if dut_encoder_path:
        timeout = request.config.getoption("--testcase_timeout")
        encoder = EncoderFrontend(dut_encoder_path, "DUT", timeout=timeout)
    yield encoder

    if encoder is not None:
        # Fixture teardown
        encoder._check_run()

@@ -636,6 +642,9 @@ def dut_decoder_path(request) -> str:
    if request.config.option.dut_decoder_path:
        return request.config.option.dut_decoder_path

    if request.config.option.update_ref == "1":
        return None

    here = Path(__file__).parent.resolve()
    system = platform.system()

@@ -830,18 +839,19 @@ class DecoderFrontend:


@pytest.fixture(scope="function")
def dut_decoder_frontend(dut_decoder_path, request) -> DecoderFrontend:
def dut_decoder_frontend(dut_decoder_path, request) -> Union[None, DecoderFrontend]:
    """
    Return a :class:`conftest.DecoderFrontend` instance as DUT for the test session.
    """
    decoder = DecoderFrontend(
        dut_decoder_path,
        "DUT",
        timeout=request.config.getoption("--testcase_timeout"),
        fr=request.config.option.dut_fr,
    )
    decoder = None

    if dut_decoder_path:
        timeout = request.config.getoption("--testcase_timeout")
        decoder = DecoderFrontend(dut_decoder_path, "DUT", timeout=timeout, fr=request.config.option.dut_fr)

    yield decoder

    if decoder is not None:
        # Fixture teardown
        decoder._check_run()

+1 −0
Original line number Diff line number Diff line
@@ -104,6 +104,7 @@ def test_evs_26444(
        add_option_list = args[:-4]

        dut_encoder_frontend.run(
            record_property,
            bitrate,
            sampling_rate,
            in_file,
+2 −0
Original line number Diff line number Diff line
@@ -74,6 +74,7 @@ def get_options(inp_format):
@pytest.mark.parametrize("inp_format,inp_file", zip(INPUT_FORMATS, INPUT_FILES))
@pytest.mark.parametrize("bitrate", BITRATES)
def test_be_for_ext_output(
    record_property,
    inp_format,
    inp_file,
    bitrate,
@@ -92,6 +93,7 @@ def test_be_for_ext_output(
        input_file = TESTV_DIR.joinpath(inp_file)
        options = get_options(inp_format)
        dut_encoder_frontend.run(
            record_property,
            bitrate,
            sampling_rate,
            input_file,
+2 −1
Original line number Diff line number Diff line
@@ -150,7 +150,7 @@ INPUT_FILES = {

@pytest.mark.parametrize("in_format,bitrate,out_format,dtx", TESTCASES)
def test_be_for_jbm_neutral_dly_profile(
    in_format, bitrate, out_format, dtx, dut_encoder_frontend, dut_decoder_frontend
    record_property, in_format, bitrate, out_format, dtx, dut_encoder_frontend, dut_decoder_frontend
):
    with TemporaryDirectory() as tmp_dir:
        tmp_dir = pathlib.Path(tmp_dir)
@@ -161,6 +161,7 @@ def test_be_for_jbm_neutral_dly_profile(
        input_file = TESTV_DIR.joinpath(INPUT_FILES[in_format])
        options = get_options(in_format, bitrate, dtx == DTX_ON)
        dut_encoder_frontend.run(
            record_property,
            bitrate,
            sampling_rate_khz,
            input_file,