1+ # write a CMakeLists.txt file for the gfx9_factory_test
2+ # that includes the necessary libraries and sets the properties for the test
3+ include (GoogleTest )
4+ find_package (GTest REQUIRED )
5+ include_directories (${GTEST_INCLUDE_DIRS} )
6+
7+
8+ find_library (
9+ hsa-amd-aqlprofile64
10+ REQUIRED
11+ NAMES hsa-amd-aqlprofile64 hsa-amd-aqlprofile
12+ HINTS /opt/rocm/lib /opt/rocm
13+ PATHS /opt/rocm/lib /opt/rocm )
14+
15+ # Add test for memory manager
16+ add_executable (gfx9-memory-manager-test )
17+ SET (AQLPROFILE_MEMORYMANAGER_SOURCES
18+ ${CMAKE_CURRENT_SOURCE_DIR} /memorymanager_tests.cpp
19+ ${CMAKE_CURRENT_SOURCE_DIR} /../memorymanager.cpp
20+ )
21+
22+ target_sources (gfx9-memory-manager-test PRIVATE ${AQLPROFILE_MEMORYMANAGER_SOURCES} )
23+ target_include_directories (gfx9-memory-manager-test PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${LIB_DIR} )
24+ target_link_libraries (
25+ gfx9-memory-manager-test
26+ PRIVATE
27+ hsa-runtime64::hsa-runtime64
28+ GTest::gtest
29+ GTest::gtest_main )
30+
31+
32+ gtest_add_tests (
33+ TARGET gfx9-memory-manager-test
34+ SOURCES ${AQLPROFILE_MEMORYMANAGER_SOURCES}
35+ TEST_LIST gfx9-memory-manager_TESTS
36+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} )
37+
38+ set_tests_properties (
39+ ${gfx9-memory-manager_TESTS} PROPERTIES TIMEOUT 45 LABELS "unittests" FAIL_REGULAR_EXPRESSION
40+ "${AQLPROFILE_DEFAULT_FAIL_REGEX} " )
41+
42+ # Add test for aql profile
43+ add_executable (aqlprofile-test )
44+ SET (AQLPROFILE_TEST_SOURCES
45+ ${CMAKE_CURRENT_SOURCE_DIR} /aql_profile_tests.cpp
46+ )
47+
48+ target_sources (aqlprofile-test PRIVATE ${AQLPROFILE_TEST_SOURCES} )
49+ target_include_directories (aqlprofile-test PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${LIB_DIR} )
50+ target_link_libraries (
51+ aqlprofile-test
52+ PRIVATE
53+ hsa-runtime64::hsa-runtime64
54+ GTest::gtest
55+ GTest::gtest_main
56+ GTest::gmock
57+ GTest::gmock_main )
58+
59+
60+ gtest_add_tests (
61+ TARGET aqlprofile-test
62+ SOURCES ${AQLPROFILE_TEST_SOURCES}
63+ TEST_LIST aqlprofile-test_TESTS
64+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} )
65+
66+ set_tests_properties (
67+ ${aqlprofile-test_TESTS} PROPERTIES TIMEOUT 45 LABELS "unittests" FAIL_REGULAR_EXPRESSION
68+ "${AQLPROFILE_DEFAULT_FAIL_REGEX} " )
69+
70+
71+ # Add tests for command buffer
72+ add_executable (command -buffer-test )
73+ SET (AQLPROFILE_COMMAND_BUFFER_SOURCES
74+ ${CMAKE_CURRENT_SOURCE_DIR} /command_buffer_tests.cpp
75+ )
76+ target_sources (command -buffer-test PRIVATE ${AQLPROFILE_COMMAND_BUFFER_SOURCES} )
77+ target_include_directories (command -buffer-test PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${LIB_DIR} )
78+ target_link_libraries (
79+ command -buffer-test
80+ PRIVATE
81+ hsa-runtime64::hsa-runtime64
82+ GTest::gtest
83+ GTest::gtest_main
84+ GTest::gmock
85+ GTest::gmock_main )
86+
87+ gtest_add_tests (
88+ TARGET command -buffer-test
89+ SOURCES ${AQLPROFILE_COMMAND_BUFFER_SOURCES}
90+ TEST_LIST command -buffer-test_TESTS
91+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} )
92+ set_tests_properties (
93+ ${command-buffer-test_TESTS} PROPERTIES TIMEOUT 45 LABELS "unittests" FAIL_REGULAR_EXPRESSION
94+ "${AQLPROFILE_DEFAULT_FAIL_REGEX} " )
95+
96+ # Add tests for counters
97+ add_executable (counters-test )
98+ SET (AQLPROFILE_COUNTERS_SOURCES
99+ ${CMAKE_CURRENT_SOURCE_DIR} /counter_tests.cpp
100+ )
101+ target_sources (counters-test PRIVATE ${AQLPROFILE_COUNTERS_SOURCES} )
102+ target_include_directories (counters-test PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${LIB_DIR} )
103+ target_link_libraries (
104+ counters-test
105+ PRIVATE
106+ hsa-runtime64::hsa-runtime64
107+ ${hsa-amd-aqlprofile64}
108+ GTest::gtest
109+ GTest::gtest_main
110+ GTest::gmock
111+ GTest::gmock_main )
112+ gtest_add_tests (
113+ TARGET counters-test
114+ SOURCES ${AQLPROFILE_COUNTERS_SOURCES}
115+ TEST_LIST counters-test_TESTS
116+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} )
117+ set_tests_properties (
118+ ${counters-test_TESTS} PROPERTIES TIMEOUT 45 LABELS "unittests" FAIL_REGULAR_EXPRESSION
119+ "${AQLPROFILE_DEFAULT_FAIL_REGEX} " )
0 commit comments