Commit 25cfc0f1 authored by Jan Kiene's avatar Jan Kiene
Browse files

add metadata file copying

parent 486d99ab
Loading
Loading
Loading
Loading
Loading
+22 −15
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@ import pytest

from ivas_processing_scripts import main as generate_test
from ivas_processing_scripts.processing.config import TestConfig
from tests.constants import INPUT_EXPERIMENT_NAMES, EXPERIMENTS_DIR, TESTS_DIR
from tests.constants import INPUT_EXPERIMENT_NAMES, EXPERIMENTS_DIR, TESTS_DIR, FORMAT_TO_METADATA_FILES, NCHAN_TO_FILE
from ivas_processing_scripts.audiotools import audio


@@ -57,27 +57,34 @@ def test_generate_test_items(exp_name):
    # read out input path
    config = TestConfig(cfg)
    input_path = Path(config.input_path).resolve().absolute()
    input_fmt = config.input["fmt"]

    # deduce number of channels based on input format
    input_object = audio.fromtype(config.input["fmt"])
    input_object = audio.fromtype(input_fmt)
    num_channels = input_object.num_channels

    # check if folder exists
    if not input_path.exists():
        raise ValueError("Input path from experiments config does not exist")

    # copy items to folder -> pink noise and spectral test
    pink_noise = (
        Path(f"./tests/data/pinknoise/pink_noise_{num_channels}ch_48kHz.wav")
        .resolve()
        .absolute()
    )
    shutil.copy(pink_noise, input_path.joinpath(pink_noise.name))
    spectral = (
        Path(f"./tests/data/spectral/spectral_test_{num_channels}ch_48kHz.wav")
        .resolve()
        .absolute()
    )
    shutil.copy(spectral, input_path.joinpath(spectral.name))
    # get dummy input files:
    spectral_dummy = NCHAN_TO_FILE[num_channels]
    pink_noise_dummy = Path(str(spectral_dummy).replace("spectral/spectral_test", "pinknoise/pink_noise"))
    dummy_input_files = [spectral_dummy, pink_noise_dummy]

    # get dummy metadata files
    dummy_md_files = FORMAT_TO_METADATA_FILES.get(input_fmt, list())

    for f in dummy_input_files:
        print(f)
        f_out = input_path.joinpath(f.name).resolve().absolute()
        print(f_out)
        shutil.copy(f, f_out)
        for i, md_f in enumerate(dummy_md_files):
            print(md_f)
            suffix = f"{i}.csv"
            md_f_out = ".".join([str(f_out), suffix])
            print(md_f_out)
            shutil.copy(md_f, md_f_out)

    generate_test(args)