Commit ddaa327a authored by Jan Kiene's avatar Jan Kiene
Browse files

activate split comparison via the cmdl switch

recording of the results needs to be added still
parent f6d9e5f6
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -218,6 +218,7 @@ def test_param_file_tests(
    get_odg_bin,
    compare_to_input,
    compare_enc_dmx,
    split_comparison,
):
    enc_opts, dec_opts, sim_opts, eid_opts = param_file_test_dict[test_tag]

@@ -250,6 +251,7 @@ def test_param_file_tests(
        get_odg_bin,
        compare_to_input,
        compare_enc_dmx,
        split_comparison,
    )


@@ -282,6 +284,7 @@ def run_test(
    get_odg_bin,
    compare_to_input,
    compare_enc_dmx,
    split_comparison,
):
    # If compare_to_input is set, only run pass-through test cases
    if compare_to_input:
@@ -590,10 +593,10 @@ def run_test(

        fs = int(sampling_rate) * 1000

        # split_idx = np.empty(0)
        # # TODO:test on --split argument given
        #
        # split_idx = get_split_idx(str(Path(testv_file).stem), int(sampling_rate))
        pytest.set_trace()
        split_idx = np.empty(0)
        if split_comparison:
            split_idx = get_split_idx(str(Path(testv_file).stem), int(sampling_rate))

        output_differs_parts, reason_parts = cmp_pcm(
            ref_file,
@@ -613,6 +616,7 @@ def run_test(
            ref_jbm_tf=ref_tracefile_dec,
            cut_jbm_tf=dut_tracefile_dec,
            scalefac=test_info.config.option.scalefac,
            split_idx=split_idx,
        )

        for output_differs, reason in zip(output_differs_parts, reason_parts):
+7 −2
Original line number Diff line number Diff line
@@ -306,7 +306,7 @@ def pytest_addoption(parser):
    )

    parser.addoption(
        "--split_comparison",
        "--split-comparison",
        action="store_true",
        help="If given, split the output files by the provided indices",
    )
@@ -447,6 +447,11 @@ def test_info(request):
        pytest.fail(request.error)


@pytest.fixture(scope="session")
def split_comparison(request):
    return request.config.option.split_comparison


class EncoderFrontend:
    def __init__(self, path, enc_type, record_property, timeout=None) -> None:
        self._path = Path(path).absolute()
@@ -1255,7 +1260,7 @@ def get_split_idx(input_file: str, sampling_rate_khz: int) -> Optional[np.ndarra

    If no list of indices is available for the given input file, an empty array is returned.
    """
    idx = SPLIT_IDX.get(input_file, np.empty(0))
    idx = SPLIT_IDX.get(input_file.lower(), np.empty(0))

    if len(idx) > 0 and sampling_rate_khz != 16:
        idx *= sampling_rate_khz // 16