diff --git a/tests/RHI/D3D12/CMakeLists.txt b/tests/RHI/D3D12/CMakeLists.txt index 6f43b833..ac615394 100644 --- a/tests/RHI/D3D12/CMakeLists.txt +++ b/tests/RHI/D3D12/CMakeLists.txt @@ -5,56 +5,7 @@ project(D3D12EngineTests) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) -# 项目根目录 = tests/D3D12_engine/test/../../.. = XCEngine/ -get_filename_component(PROJECT_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../.. ABSOLUTE) - -find_package(GTest REQUIRED) - -set(TEST_SOURCES - fixtures/D3D12TestFixture.cpp - test_device.cpp - test_fence.cpp - test_command_queue.cpp - test_command_allocator.cpp - test_command_list.cpp - test_buffer.cpp - test_texture.cpp - test_descriptor_heap.cpp - test_shader.cpp - test_root_signature.cpp - test_pipeline_state.cpp - test_views.cpp -) - -add_executable(d3d12_engine_tests ${TEST_SOURCES}) - -target_link_libraries(d3d12_engine_tests PRIVATE - d3d12 - dxgi - d3dcompiler - XCEngine - GTest::gtest - GTest::gtest_main -) - -target_include_directories(d3d12_engine_tests PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR}/fixtures - ${PROJECT_ROOT_DIR}/engine/include - ${PROJECT_ROOT_DIR}/engine/src -) - -target_compile_definitions(d3d12_engine_tests PRIVATE - TEST_RESOURCES_DIR="${PROJECT_ROOT_DIR}/tests/RHI/D3D12/integration/Res" -) - -add_custom_command(TARGET d3d12_engine_tests POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_directory - ${PROJECT_ROOT_DIR}/tests/RHI/D3D12/integration/Res - $/Res -) +add_subdirectory(unit) # Integration tests add_subdirectory(integration) - -enable_testing() -add_test(NAME D3D12EngineTests COMMAND d3d12_engine_tests) diff --git a/tests/RHI/D3D12/unit/CMakeLists.txt b/tests/RHI/D3D12/unit/CMakeLists.txt new file mode 100644 index 00000000..a8d8753e --- /dev/null +++ b/tests/RHI/D3D12/unit/CMakeLists.txt @@ -0,0 +1,51 @@ +cmake_minimum_required(VERSION 3.15) + +get_filename_component(PROJECT_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../../.. ABSOLUTE) + +find_package(GTest REQUIRED) + +set(TEST_SOURCES + fixtures/D3D12TestFixture.cpp + test_device.cpp + test_fence.cpp + test_command_queue.cpp + test_command_allocator.cpp + test_command_list.cpp + test_buffer.cpp + test_texture.cpp + test_descriptor_heap.cpp + test_shader.cpp + test_root_signature.cpp + test_pipeline_state.cpp + test_views.cpp +) + +add_executable(d3d12_engine_tests ${TEST_SOURCES}) + +target_link_libraries(d3d12_engine_tests PRIVATE + d3d12 + dxgi + d3dcompiler + XCEngine + GTest::gtest + GTest::gtest_main +) + +target_include_directories(d3d12_engine_tests PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/fixtures + ${PROJECT_ROOT_DIR}/engine/include + ${PROJECT_ROOT_DIR}/engine/src +) + +target_compile_definitions(d3d12_engine_tests PRIVATE + TEST_RESOURCES_DIR="${PROJECT_ROOT_DIR}/tests/RHI/D3D12/integration/Res" +) + +add_custom_command(TARGET d3d12_engine_tests POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_directory + ${PROJECT_ROOT_DIR}/tests/RHI/D3D12/integration/Res + $/Res +) + +enable_testing() +add_test(NAME D3D12EngineTests COMMAND d3d12_engine_tests) diff --git a/tests/RHI/D3D12/fixtures/D3D12TestFixture.cpp b/tests/RHI/D3D12/unit/fixtures/D3D12TestFixture.cpp similarity index 100% rename from tests/RHI/D3D12/fixtures/D3D12TestFixture.cpp rename to tests/RHI/D3D12/unit/fixtures/D3D12TestFixture.cpp diff --git a/tests/RHI/D3D12/fixtures/D3D12TestFixture.h b/tests/RHI/D3D12/unit/fixtures/D3D12TestFixture.h similarity index 100% rename from tests/RHI/D3D12/fixtures/D3D12TestFixture.h rename to tests/RHI/D3D12/unit/fixtures/D3D12TestFixture.h diff --git a/tests/RHI/D3D12/test_buffer.cpp b/tests/RHI/D3D12/unit/test_buffer.cpp similarity index 100% rename from tests/RHI/D3D12/test_buffer.cpp rename to tests/RHI/D3D12/unit/test_buffer.cpp diff --git a/tests/RHI/D3D12/test_command_allocator.cpp b/tests/RHI/D3D12/unit/test_command_allocator.cpp similarity index 100% rename from tests/RHI/D3D12/test_command_allocator.cpp rename to tests/RHI/D3D12/unit/test_command_allocator.cpp diff --git a/tests/RHI/D3D12/test_command_list.cpp b/tests/RHI/D3D12/unit/test_command_list.cpp similarity index 100% rename from tests/RHI/D3D12/test_command_list.cpp rename to tests/RHI/D3D12/unit/test_command_list.cpp diff --git a/tests/RHI/D3D12/test_command_queue.cpp b/tests/RHI/D3D12/unit/test_command_queue.cpp similarity index 100% rename from tests/RHI/D3D12/test_command_queue.cpp rename to tests/RHI/D3D12/unit/test_command_queue.cpp diff --git a/tests/RHI/D3D12/test_descriptor_heap.cpp b/tests/RHI/D3D12/unit/test_descriptor_heap.cpp similarity index 100% rename from tests/RHI/D3D12/test_descriptor_heap.cpp rename to tests/RHI/D3D12/unit/test_descriptor_heap.cpp diff --git a/tests/RHI/D3D12/test_device.cpp b/tests/RHI/D3D12/unit/test_device.cpp similarity index 100% rename from tests/RHI/D3D12/test_device.cpp rename to tests/RHI/D3D12/unit/test_device.cpp diff --git a/tests/RHI/D3D12/test_fence.cpp b/tests/RHI/D3D12/unit/test_fence.cpp similarity index 100% rename from tests/RHI/D3D12/test_fence.cpp rename to tests/RHI/D3D12/unit/test_fence.cpp diff --git a/tests/RHI/D3D12/test_pipeline_state.cpp b/tests/RHI/D3D12/unit/test_pipeline_state.cpp similarity index 100% rename from tests/RHI/D3D12/test_pipeline_state.cpp rename to tests/RHI/D3D12/unit/test_pipeline_state.cpp diff --git a/tests/RHI/D3D12/test_root_signature.cpp b/tests/RHI/D3D12/unit/test_root_signature.cpp similarity index 100% rename from tests/RHI/D3D12/test_root_signature.cpp rename to tests/RHI/D3D12/unit/test_root_signature.cpp diff --git a/tests/RHI/D3D12/test_shader.cpp b/tests/RHI/D3D12/unit/test_shader.cpp similarity index 100% rename from tests/RHI/D3D12/test_shader.cpp rename to tests/RHI/D3D12/unit/test_shader.cpp diff --git a/tests/RHI/D3D12/test_texture.cpp b/tests/RHI/D3D12/unit/test_texture.cpp similarity index 100% rename from tests/RHI/D3D12/test_texture.cpp rename to tests/RHI/D3D12/unit/test_texture.cpp diff --git a/tests/RHI/D3D12/test_views.cpp b/tests/RHI/D3D12/unit/test_views.cpp similarity index 100% rename from tests/RHI/D3D12/test_views.cpp rename to tests/RHI/D3D12/unit/test_views.cpp