sointu/tests/CMakeLists.txt
2020-04-17 18:21:37 +03:00

72 lines
3.1 KiB
CMake

function(regression_test testname)
if(${ARGC} LESS 2)
set(source ${testname})
else()
set(source ${ARGV1})
endif()
add_executable(${testname} ${source}.asm test_renderer.c)
add_test(${testname} ${testname})
target_compile_definitions(${testname} PUBLIC TEST_NAME="${testname}")
set (rawinput ${CMAKE_CURRENT_SOURCE_DIR}/${testname}_expected.raw)
set (rawoutput ${CMAKE_CURRENT_BINARY_DIR}/${testname}_expected.raw)
add_custom_target(${testname}_rawcopy
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${rawinput} ${rawoutput}
)
add_dependencies(${testname} ${testname}_rawcopy)
endfunction(regression_test)
regression_test(test_envelope)
regression_test(test_load)
regression_test(test_store)
regression_test(test_globalstore)
regression_test(test_panning)
regression_test(test_multiple_instruments)
regression_test(test_fop_pop)
regression_test(test_fop_addp)
regression_test(test_fop_mulp)
regression_test(test_fop_push)
regression_test(test_fop_xch)
regression_test(test_fop_add)
regression_test(test_fop_mul)
regression_test(test_fop_addp2)
regression_test(test_fop_mulp2)
regression_test(test_fop_loadnote)
regression_test(test_vco_sine)
regression_test(test_vco_trisaw)
regression_test(test_vco_noise)
regression_test(test_vco_pulse)
regression_test(test_vco_gate)
regression_test(test_vco_stereo)
regression_test(test_vco_lfo)
regression_test(test_envelope_16bit test_envelope)
regression_test(test_envelope_modulation)
target_compile_definitions(test_envelope_16bit PUBLIC GO4K_USE_16BIT_OUTPUT)
set_tests_properties(test_envelope PROPERTIES FIXTURES_SETUP ENVELOPE)
set_tests_properties(test_panning PROPERTIES FIXTURES_REQUIRED ENVELOPE)
set_tests_properties(test_multiple_instruments PROPERTIES FIXTURES_REQUIRED ENVELOPE)
set_tests_properties(test_vco_sine PROPERTIES FIXTURES_REQUIRED ENVELOPE)
set_tests_properties(test_vco_trisaw PROPERTIES FIXTURES_REQUIRED ENVELOPE)
set_tests_properties(test_vco_noise PROPERTIES FIXTURES_REQUIRED ENVELOPE)
set_tests_properties(test_vco_pulse PROPERTIES FIXTURES_REQUIRED ENVELOPE)
set_tests_properties(test_vco_gate PROPERTIES FIXTURES_REQUIRED ENVELOPE)
set_tests_properties(test_vco_stereo PROPERTIES FIXTURES_REQUIRED ENVELOPE)
set_tests_properties(test_load PROPERTIES FIXTURES_SETUP LOAD)
set_tests_properties(test_fop_pop PROPERTIES FIXTURES_REQUIRED LOAD)
set_tests_properties(test_fop_addp PROPERTIES FIXTURES_REQUIRED LOAD)
set_tests_properties(test_fop_mulp PROPERTIES FIXTURES_REQUIRED LOAD)
set_tests_properties(test_fop_push PROPERTIES FIXTURES_REQUIRED LOAD)
set_tests_properties(test_fop_xch PROPERTIES FIXTURES_REQUIRED LOAD)
set_tests_properties(test_fop_add PROPERTIES FIXTURES_REQUIRED LOAD)
set_tests_properties(test_fop_mul PROPERTIES FIXTURES_REQUIRED LOAD)
set_tests_properties(test_fop_addp2 PROPERTIES FIXTURES_REQUIRED LOAD)
set_tests_properties(test_fop_mulp2 PROPERTIES FIXTURES_REQUIRED LOAD)
set_tests_properties(test_fop_pop PROPERTIES FIXTURES_SETUP FOP_POP)
set_tests_properties(test_fop_push PROPERTIES FIXTURES_REQUIRED FOP_POP)