Skip to content

Commit 6b0ffc5

Browse files
refactor: add mock_aubstream
Signed-off-by: Artur Harasimiuk <[email protected]> Source: cbc868c
1 parent 3f7f48d commit 6b0ffc5

File tree

22 files changed

+102
-48
lines changed

22 files changed

+102
-48
lines changed

level_zero/CMakeLists.txt

+2-1
Original file line numberDiff line numberDiff line change
@@ -231,10 +231,11 @@ if(BUILD_WITH_L0)
231231
PRIVATE
232232
${NEO_SHARED_DIRECTORY}/aub/aub_stream_interface.cpp
233233
)
234+
target_link_libraries(${TARGET_NAME_L0} PRIVATE ${AUB_STREAM_PROJECT_NAME})
234235
else()
235236
target_sources(${TARGET_NAME_L0}
236237
PRIVATE
237-
${NEO_SHARED_DIRECTORY}/aub/aub_stream_interface_stub.cpp
238+
$<TARGET_OBJECTS:aub_stream_stubs>
238239
)
239240

240241
endif()

level_zero/core/test/aub_tests/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ if(NOT NEO_SKIP_AUB_TESTS AND DEFINED AUB_STREAM_PROJECT_NAME)
7272
target_link_libraries(${TARGET_NAME} ${HW_LIBS_ULT})
7373
target_link_libraries(${TARGET_NAME} gmock-gtest)
7474
target_link_libraries(${TARGET_NAME} ${NEO_EXTRA_LIBS})
75+
target_link_libraries(${TARGET_NAME} ${AUB_STREAM_PROJECT_NAME})
7576

7677
if(UNIX)
7778
target_link_libraries(${TARGET_NAME} rt)

level_zero/core/test/unit_tests/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ target_link_libraries(${TARGET_NAME}
7272
)
7373

7474
target_sources(${TARGET_NAME} PRIVATE
75+
$<TARGET_OBJECTS:mock_aubstream>
7576
$<TARGET_OBJECTS:mock_gmm>
7677
$<TARGET_OBJECTS:${TARGET_NAME_L0}_fixtures>
7778
$<TARGET_OBJECTS:${TARGET_NAME_L0}_mocks>

level_zero/sysman/test/unit_tests/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ target_link_libraries(${TARGET_NAME}
7171
)
7272

7373
target_sources(${TARGET_NAME} PRIVATE
74+
$<TARGET_OBJECTS:mock_aubstream>
7475
$<TARGET_OBJECTS:mock_gmm>
7576
$<TARGET_OBJECTS:${TARGET_NAME_L0}_fixtures>
7677
$<TARGET_OBJECTS:${TARGET_NAME_L0}_mocks>

level_zero/tools/test/unit_tests/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ target_link_libraries(${TARGET_NAME}
7171
)
7272

7373
target_sources(${TARGET_NAME} PRIVATE
74+
$<TARGET_OBJECTS:mock_aubstream>
7475
$<TARGET_OBJECTS:mock_gmm>
7576
$<TARGET_OBJECTS:${TARGET_NAME_L0}_fixtures>
7677
$<TARGET_OBJECTS:${TARGET_NAME_L0}_mocks>

opencl/source/CMakeLists.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -121,12 +121,12 @@ if(${GENERATE_EXECUTABLE})
121121
$<TARGET_OBJECTS:${AUB_STREAM_PROJECT_NAME}_all_hw>
122122
${NEO_SOURCE_DIR}/shared/source/aub/aub_stream_interface.cpp
123123
)
124+
target_link_libraries(${NEO_DYNAMIC_LIB_NAME} PRIVATE ${AUB_STREAM_PROJECT_NAME})
124125
else()
125126
target_sources(${NEO_DYNAMIC_LIB_NAME}
126127
PRIVATE
127-
${NEO_SOURCE_DIR}/shared/source/aub/aub_stream_interface_stub.cpp
128+
$<TARGET_OBJECTS:aub_stream_stubs>
128129
)
129-
130130
endif()
131131

132132
if(UNIX)

opencl/test/unit_test/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ set(NEO_IGDRCL_TESTS__TARGET_OBJECTS
5555
$<TARGET_OBJECTS:neo_libult_cs>
5656
$<TARGET_OBJECTS:neo_libult>
5757
$<TARGET_OBJECTS:igdrcl_libult_env>
58+
$<TARGET_OBJECTS:mock_aubstream>
5859
$<TARGET_OBJECTS:mock_gmm>
5960
$<TARGET_OBJECTS:${SHARINGS_ENABLE_LIB_NAME}>
6061
$<TARGET_OBJECTS:${BUILTINS_SOURCES_LIB_NAME}>

opencl/test/unit_test/aub_tests/CMakeLists.txt

+2
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@ if(NOT NEO_SKIP_AUB_TESTS AND DEFINED AUB_STREAM_PROJECT_NAME)
5353
target_link_libraries(igdrcl_aub_tests ${NEO_MOCKABLE_LIB_NAME} ${NEO_SHARED_MOCKABLE_LIB_NAME})
5454
target_link_libraries(igdrcl_aub_tests igdrcl_mocks)
5555
target_link_libraries(igdrcl_aub_tests gmock-gtest ${NEO_EXTRA_LIBS})
56+
target_link_libraries(igdrcl_aub_tests ${AUB_STREAM_PROJECT_NAME})
57+
5658
if(UNIX)
5759
target_link_libraries(igdrcl_aub_tests ${GMM_LINK_NAME})
5860
else()

opencl/test/unit_test/linux/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ add_executable(igdrcl_${target_name}
1414
$<TARGET_OBJECTS:neo_libult_cs>
1515
$<TARGET_OBJECTS:neo_shared_mocks>
1616
$<TARGET_OBJECTS:neo_unit_tests_config>
17+
$<TARGET_OBJECTS:mock_aubstream>
1718
$<TARGET_OBJECTS:mock_gmm>
1819
${CMAKE_CURRENT_SOURCE_DIR}/drm_wrap.h
1920
${CMAKE_CURRENT_SOURCE_DIR}/main_linux_dll.cpp

opencl/test/unit_test/mt_tests/CMakeLists.txt

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (C) 2018-2023 Intel Corporation
2+
# Copyright (C) 2018-2024 Intel Corporation
33
#
44
# SPDX-License-Identifier: MIT
55
#
@@ -19,6 +19,7 @@ add_executable(igdrcl_mt_tests EXCLUDE_FROM_ALL
1919
$<TARGET_OBJECTS:neo_shared_mocks>
2020
$<TARGET_OBJECTS:neo_mt_tests_config>
2121
$<TARGET_OBJECTS:igdrcl_libult_env>
22+
$<TARGET_OBJECTS:mock_aubstream>
2223
$<TARGET_OBJECTS:mock_gmm>
2324
$<TARGET_OBJECTS:${BUILTINS_SOURCES_LIB_NAME}>
2425
)

opencl/test/unit_test/windows/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ if(WIN32)
1313
$<TARGET_OBJECTS:neo_unit_tests_config>
1414
$<TARGET_OBJECTS:igdrcl_libult>
1515
$<TARGET_OBJECTS:igdrcl_libult_env>
16+
$<TARGET_OBJECTS:mock_aubstream>
1617
$<TARGET_OBJECTS:mock_gmm>
1718
)
1819

shared/source/CMakeLists.txt

-4
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,6 @@ function(generate_shared_lib LIB_NAME MOCKABLE)
7373
endif()
7474
endif()
7575

76-
if(DEFINED AUB_STREAM_PROJECT_NAME)
77-
target_link_libraries(${LIB_NAME} ${AUB_STREAM_PROJECT_NAME})
78-
endif()
79-
8076
endfunction()
8177

8278
set(NEO_CORE_COMPILE_DEFS "")

shared/source/aub_mem_dump/CMakeLists.txt

+1-14
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (C) 2020-2023 Intel Corporation
2+
# Copyright (C) 2020-2024 Intel Corporation
33
#
44
# SPDX-License-Identifier: MIT
55
#
@@ -17,19 +17,6 @@ set(NEO_CORE_AUB_MEM_DUMP
1717
${CMAKE_CURRENT_SOURCE_DIR}/page_table_entry_bits.h
1818
)
1919

20-
if(NOT DEFINED AUB_STREAM_PROJECT_NAME)
21-
list(APPEND NEO_CORE_AUB_MEM_DUMP
22-
${CMAKE_CURRENT_SOURCE_DIR}/aub_stream_stubs.cpp
23-
)
24-
else()
25-
add_library(aub_stream_stubs STATIC
26-
${CMAKE_CURRENT_SOURCE_DIR}/aub_stream_stubs.cpp
27-
)
28-
target_include_directories(aub_stream_stubs PRIVATE
29-
${AUB_STREAM_HEADERS_DIR}
30-
)
31-
endif()
32-
3320
if(SUPPORT_XEHP_AND_LATER)
3421
list(APPEND NEO_CORE_AUB_MEM_DUMP
3522
${CMAKE_CURRENT_SOURCE_DIR}/aub_mem_dump_xehp_and_later.inl
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#
2+
# Copyright (C) 2024 Intel Corporation
3+
#
4+
# SPDX-License-Identifier: MIT
5+
#
6+
7+
if(NOT DEFINED AUB_STREAM_PROJECT_NAME)
8+
add_library(aub_stream_stubs OBJECT EXCLUDE_FROM_ALL
9+
${CMAKE_CURRENT_SOURCE_DIR}/aub_stream_interface_stub.cpp
10+
${CMAKE_CURRENT_SOURCE_DIR}/aub_stream_stubs.cpp
11+
)
12+
target_include_directories(aub_stream_stubs PRIVATE
13+
${AUB_STREAM_HEADERS_DIR}
14+
)
15+
endif()

shared/source/aub/aub_stream_interface_stub.cpp renamed to shared/source/aub_stream_stubs/aub_stream_interface_stub.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
/*
2-
* Copyright (C) 2022 Intel Corporation
2+
* Copyright (C) 2022-2024 Intel Corporation
33
*
44
* SPDX-License-Identifier: MIT
55
*
66
*/
77

8-
#include "shared/source/aub/aub_center.h"
8+
#include "aubstream/aub_manager.h"
99

1010
namespace NEO {
1111
aub_stream::AubManager *createAubManager(const aub_stream::AubManagerOptions &options) {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/*
2+
* Copyright (C) 2018-2024 Intel Corporation
3+
*
4+
* SPDX-License-Identifier: MIT
5+
*
6+
*/
7+
8+
#include "aubstream/aubstream.h"
9+
10+
#include <limits>
11+
12+
namespace aub_stream {
13+
14+
extern "C" {
15+
void injectMMIOList(MMIOList mmioList){};
16+
void setTbxServerPort(uint16_t port){};
17+
void setTbxServerIp(std::string server){};
18+
void setTbxFrontdoorMode(bool frontdoor){};
19+
void setAubStreamCaller(uint32_t caller){};
20+
}
21+
22+
} // namespace aub_stream
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#
2+
# Copyright (C) 2024 Intel Corporation
3+
#
4+
# SPDX-License-Identifier: MIT
5+
#
6+
7+
project(mock_aubstream)
8+
9+
add_library(
10+
mock_aubstream EXCLUDE_FROM_ALL OBJECT
11+
${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt
12+
${CMAKE_CURRENT_SOURCE_DIR}/mock_aubstream.cpp
13+
)
14+
15+
create_project_source_tree(mock_aubstream)
16+
set_target_properties(mock_aubstream PROPERTIES FOLDER "test mocks")
17+
target_include_directories(mock_aubstream PRIVATE ${AUB_STREAM_HEADERS_DIR})
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,39 @@
11
/*
2-
* Copyright (C) 2018-2023 Intel Corporation
2+
* Copyright (C) 2018-2024 Intel Corporation
33
*
44
* SPDX-License-Identifier: MIT
55
*
66
*/
77

88
#include "aubstream/aubstream.h"
99

10-
#include <limits>
11-
1210
namespace aub_stream_stubs {
1311
uint16_t tbxServerPort = 4321;
1412
std::string tbxServerIp = "127.0.0.1";
1513
bool tbxFrontdoorMode = false;
16-
uint32_t aubStreamCaller = std::numeric_limits<uint32_t>::max();
14+
aub_stream::MMIOList mmioListInjected;
1715
} // namespace aub_stream_stubs
1816

1917
namespace aub_stream {
2018

21-
extern "C" {
22-
void injectMMIOList(MMIOList mmioList){};
23-
void setTbxServerPort(uint16_t port) { aub_stream_stubs::tbxServerPort = port; };
19+
void injectMMIOList(MMIOList mmioList) {
20+
aub_stream_stubs::mmioListInjected = mmioList;
21+
aub_stream_stubs::mmioListInjected.shrink_to_fit();
22+
}
23+
void setTbxServerPort(uint16_t port) {
24+
aub_stream_stubs::tbxServerPort = port;
25+
}
2426
void setTbxServerIp(std::string server) {
2527
// better to avoid reassigning global variables which assume memory allocations since
2628
// we could step into false-positive memory leak detection with embedded leak check helper
27-
if (aub_stream_stubs::tbxServerIp != server)
29+
if (aub_stream_stubs::tbxServerIp != server) {
2830
aub_stream_stubs::tbxServerIp = server;
29-
};
30-
void setTbxFrontdoorMode(bool frontdoor) { aub_stream_stubs::tbxFrontdoorMode = frontdoor; };
31-
void setAubStreamCaller(uint32_t caller) { aub_stream_stubs::aubStreamCaller = caller; };
31+
}
32+
}
33+
void setTbxFrontdoorMode(bool frontdoor) {
34+
aub_stream_stubs::tbxFrontdoorMode = frontdoor;
35+
}
36+
void setAubStreamCaller(uint32_t caller) {
3237
}
3338

3439
} // namespace aub_stream

shared/test/common/mock_gmm/CMakeLists.txt

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (C) 2020-2021 Intel Corporation
2+
# Copyright (C) 2020-2024 Intel Corporation
33
#
44
# SPDX-License-Identifier: MIT
55
#
@@ -21,5 +21,3 @@ target_include_directories(${target_name} PRIVATE
2121

2222
create_project_source_tree(${target_name})
2323
set_target_properties(${target_name} PROPERTIES FOLDER "test mocks")
24-
target_compile_definitions(${target_name} PUBLIC)
25-

shared/test/unit_test/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ add_executable(neo_shared_tests
2323
${NEO_SHARED_TEST_DIRECTORY}/common/common_main.cpp
2424
${NEO_SHARED_TEST_DIRECTORY}/common/helpers/virtual_file_system_listener.cpp
2525
${NEO_SHARED_TEST_DIRECTORY}/common/tests_configuration.h
26+
$<TARGET_OBJECTS:mock_aubstream>
2627
$<TARGET_OBJECTS:mock_gmm>
2728
$<TARGET_OBJECTS:neo_libult_common>
2829
$<TARGET_OBJECTS:neo_libult_cs>
+2-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (C) 2018-2022 Intel Corporation
2+
# Copyright (C) 2018-2024 Intel Corporation
33
#
44
# SPDX-License-Identifier: MIT
55
#
@@ -10,8 +10,6 @@ target_sources(neo_shared_tests PRIVATE
1010
${CMAKE_CURRENT_SOURCE_DIR}/aub_helper_tests.cpp
1111
)
1212

13-
if(NOT DEFINED AUB_STREAM_PROJECT_NAME)
14-
target_sources(neo_shared_tests PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/aub_center_using_aubstream_stubs_tests.cpp)
15-
endif()
13+
target_sources(neo_shared_tests PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/aub_center_using_aubstream_stubs_tests.cpp)
1614

1715
add_subdirectories()

shared/test/unit_test/aub/aub_center_using_aubstream_stubs_tests.cpp

+10-6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2018-2023 Intel Corporation
2+
* Copyright (C) 2018-2024 Intel Corporation
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -30,28 +30,31 @@ TEST(AubCenter, GivenUseAubStreamAndTbxServerIpDebugVariableSetWhenAubCenterIsCr
3030
debugManager.flags.TbxServer.set("10.10.10.10");
3131
VariableBackup<std::string> backup(&aub_stream_stubs::tbxServerIp);
3232

33+
ASSERT_STRNE("10.10.10.10", aub_stream_stubs::tbxServerIp.c_str());
34+
3335
MockExecutionEnvironment executionEnvironment{};
3436
auto &rootDeviceEnvironment = *executionEnvironment.rootDeviceEnvironments[0];
3537

36-
MockAubCenter aubCenter(rootDeviceEnvironment, false, "", CommandStreamReceiverType::CSR_TBX);
38+
MockAubCenter aubCenter(rootDeviceEnvironment, false, "", CommandStreamReceiverType::tbx);
3739

3840
EXPECT_STREQ("10.10.10.10", aub_stream_stubs::tbxServerIp.c_str());
3941
}
4042

41-
TEST(AubCenter, GivenUseAubStreamAndTbxServerPortDebugVariableSetWhenAubCenterIsCreatedThenServerIpIsModified) {
43+
TEST(AubCenter, GivenUseAubStreamAndTbxServerPortDebugVariableSetWhenAubCenterIsCreatedThenServerPortIsModified) {
4244
DebugManagerStateRestore restorer;
4345
debugManager.flags.UseAubStream.set(true);
4446
debugManager.flags.TbxPort.set(1234);
4547

4648
VariableBackup<uint16_t> backup(&aub_stream_stubs::tbxServerPort);
4749

50+
aub_stream_stubs::tbxServerPort = 4321u;
4851
uint16_t port = 1234u;
49-
EXPECT_NE(port, aub_stream_stubs::tbxServerPort);
52+
ASSERT_NE(port, aub_stream_stubs::tbxServerPort);
5053

5154
MockExecutionEnvironment executionEnvironment{};
5255
auto &rootDeviceEnvironment = *executionEnvironment.rootDeviceEnvironments[0];
5356

54-
MockAubCenter aubCenter(rootDeviceEnvironment, false, "", CommandStreamReceiverType::CSR_TBX);
57+
MockAubCenter aubCenter(rootDeviceEnvironment, false, "", CommandStreamReceiverType::tbx);
5558
EXPECT_EQ(port, aub_stream_stubs::tbxServerPort);
5659
}
5760

@@ -62,11 +65,12 @@ TEST(AubCenter, GivenUseAubStreamAndTbxFrontdoorModeDebugVariableSetWhenAubCente
6265

6366
VariableBackup<bool> backup(&aub_stream_stubs::tbxFrontdoorMode);
6467

68+
aub_stream_stubs::tbxFrontdoorMode = false;
6569
EXPECT_FALSE(aub_stream_stubs::tbxFrontdoorMode);
6670

6771
MockExecutionEnvironment executionEnvironment{};
6872
auto &rootDeviceEnvironment = *executionEnvironment.rootDeviceEnvironments[0];
6973

70-
MockAubCenter aubCenter(rootDeviceEnvironment, false, "", CommandStreamReceiverType::CSR_TBX);
74+
MockAubCenter aubCenter(rootDeviceEnvironment, false, "", CommandStreamReceiverType::tbx);
7175
EXPECT_TRUE(aub_stream_stubs::tbxFrontdoorMode);
7276
}

0 commit comments

Comments
 (0)