sfizz/tests/lfo/compare_lfo.py
Paul Ferrand 73b1ed961d Add LFO regression tests
The reference files have been visually validated

Tweaks for the LFO regression test
2020-08-13 06:49:38 +02:00

27 lines
902 B
Python
Executable file

#!/usr/bin/env python3
# coding: utf-8
import numpy as np
from argparse import ArgumentParser
import os
parser = ArgumentParser(usage="Compare 2 files as outputted by sfizz_plot_lfo")
parser.add_argument("file", help="The file to test")
parser.add_argument("reference", help="The reference file")
parser.add_argument("--threshold", type=float, default=0.001, help="Mean squared error threshold")
args = parser.parse_args()
assert os.path.exists(args.file), "The file to test does not exist"
assert os.path.exists(args.reference), "The reference file does not exist"
reference_data = np.loadtxt(args.reference)
data = np.loadtxt(args.file)
assert reference_data.shape == data.shape, "The shapes of the data and reference are different"
mean_squared_error = np.mean((data - reference_data) ** 2)
print("MSE difference:", mean_squared_error)
if (mean_squared_error > args.threshold):
exit(-1)