Adds ~60 new unit tests covering the modules touched in recent bug-fix passes and UI refactors: - RenderTicket: result/finish-count semantics, empty watcher defaults, ticket-reuse rejection - Preferences tabs: behavior options migrated into General/Audio tabs, translation context helper, audio-tab initialization - NodeView: context management, 'Show in Parameter Editor' action wiring - PreviewAutoCacher: construction, pause toggles, single-frame render cancellation, force-cache range - SeekableWidget/TimeBasedWidget: scroll, marker editing, context reset - OCIOLutNode: empty/missing/unsupported LUT paths, string direction values, file-switching regression coverage - ProxyManager: working filename, disabled state, empty proxy fields - Frame/VideoParams/AudioParams/Timecode/ExportFormat/ExportCodec: additional edge-case and enumeration coverage Also fixes the PreferencesAudioTab test crash by initializing AudioManager in the offscreen test environment. All tests pass: ctest --output-on-failure
106 lines
2.5 KiB
CMake
106 lines
2.5 KiB
CMake
add_executable(olive-gtest
|
|
main.cpp
|
|
common_current_test.cpp
|
|
common_xmlutils_test.cpp
|
|
config_test.cpp
|
|
audio_level_meter_test.cpp
|
|
audio_synchronizer_test.cpp
|
|
audio_waveform_sync_test.cpp
|
|
color_lut_test.cpp
|
|
node_value_test.cpp
|
|
node_keyframe_test.cpp
|
|
node_serialization_test.cpp
|
|
render_videoparams_test.cpp
|
|
render_videoparams_branch_test.cpp
|
|
render_audioparams_test.cpp
|
|
render_audioparams_branch_test.cpp
|
|
render_sampleformat_test.cpp
|
|
render_pixelformat_test.cpp
|
|
render_ipc_test.cpp
|
|
render_ticket_test.cpp
|
|
render_worker_footage_test.cpp
|
|
project_serializer_test.cpp
|
|
proxy_manager_test.cpp
|
|
timeline_marker_test.cpp
|
|
undo_stack_test.cpp
|
|
plugin_support_test.cpp
|
|
plugin_support_image_test.cpp
|
|
plugin_support_clip_test.cpp
|
|
plugin_support_param_test.cpp
|
|
plugin_smoke_test.cpp
|
|
plugin_ofx_misc_test.cpp
|
|
plugin_format_conversion_test.cpp
|
|
audio_smoke_test.cpp
|
|
viewer_smoke_test.cpp
|
|
dynamic_render_backend_test.cpp
|
|
opengl_readback_guard_test.cpp
|
|
plugin_render_pipeline_test.cpp
|
|
plugin_renderer_readback_test.cpp
|
|
plugin_ofx_integration_test.cpp
|
|
preferences_behavior_tab_test.cpp
|
|
node_view_test.cpp
|
|
preview_autocacher_test.cpp
|
|
codec_frame_test.cpp
|
|
codec_decoder_test.cpp
|
|
ffmpeg_decoder_hw_test.cpp
|
|
codec_exportcodec_test.cpp
|
|
codec_exportformat_test.cpp
|
|
codec_encoder_test.cpp
|
|
task_taskmanager_test.cpp
|
|
module_smoke_test.cpp
|
|
shader_resources_test.cpp
|
|
timecode_metadata_test.cpp
|
|
timebased_widget_test.cpp
|
|
timeline_coordinate_test.cpp
|
|
timeline_workarea_test.cpp
|
|
)
|
|
|
|
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Test)
|
|
|
|
target_sources(olive-gtest PRIVATE $<TARGET_OBJECTS:libolive-editor>)
|
|
|
|
target_include_directories(
|
|
olive-gtest
|
|
PRIVATE
|
|
${CMAKE_SOURCE_DIR}/app
|
|
${CMAKE_SOURCE_DIR}/tests
|
|
${CMAKE_SOURCE_DIR}/third_party/openfx/include
|
|
${CMAKE_SOURCE_DIR}/third_party/openfx/HostSupport/include
|
|
${OLIVE_INCLUDE_DIRS}
|
|
)
|
|
|
|
target_link_libraries(
|
|
olive-gtest
|
|
PRIVATE
|
|
${OLIVE_LIBRARIES}
|
|
GTest::gtest
|
|
Qt${QT_VERSION_MAJOR}::Test
|
|
)
|
|
|
|
target_compile_definitions(
|
|
olive-gtest
|
|
PRIVATE
|
|
${OLIVE_DEFINITIONS}
|
|
OAK_TEST_SOURCE_DIR="${CMAKE_SOURCE_DIR}"
|
|
)
|
|
|
|
target_compile_options(
|
|
olive-gtest
|
|
PRIVATE
|
|
${OLIVE_COMPILE_OPTIONS}
|
|
)
|
|
|
|
if (OAK_ENABLE_DYNAMIC_RENDER_BACKEND)
|
|
target_compile_definitions(olive-gtest PRIVATE OAK_ENABLE_DYNAMIC_RENDER_BACKEND)
|
|
add_dependencies(olive-gtest oakgl)
|
|
if (TARGET oakvulkan)
|
|
add_dependencies(olive-gtest oakvulkan)
|
|
endif()
|
|
endif()
|
|
|
|
if (MSVC)
|
|
add_test("Olive.gtest" olive-gtest)
|
|
else()
|
|
add_test(olive-gtest olive-gtest)
|
|
endif()
|