Skip to content

Commit 0efd22b

Browse files
Add tests for memspace and memtarget
1 parent 43ab10c commit 0efd22b

File tree

2 files changed

+72
-6
lines changed

2 files changed

+72
-6
lines changed

test/memspaces/memspace.cpp

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright (C) 2024 Intel Corporation
1+
// Copyright (C) 2024-2025 Intel Corporation
22
// Under the Apache License v2.0 with LLVM Exceptions. See LICENSE.TXT.
33
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
44

@@ -35,9 +35,33 @@ TEST_F(emptyMemspace, create_pool) {
3535
ASSERT_EQ(pool, nullptr);
3636
}
3737

38-
TEST_F(emptyMemspace, create_provider) {
38+
TEST_F(emptyMemspace, invalid_create_from_memspace) {
3939
umf_memory_provider_handle_t provider = nullptr;
40-
auto ret = umfMemoryProviderCreateFromMemspace(memspace, NULL, &provider);
41-
ASSERT_EQ(ret, UMF_RESULT_ERROR_INVALID_ARGUMENT);
42-
ASSERT_EQ(provider, nullptr);
40+
umf_mempolicy_handle_t policy = nullptr;
41+
42+
// invalid memspace
43+
umf_result_t ret =
44+
umfMemoryProviderCreateFromMemspace(NULL, policy, &provider);
45+
EXPECT_EQ(ret, UMF_RESULT_ERROR_INVALID_ARGUMENT);
46+
EXPECT_EQ(provider, nullptr);
47+
48+
// invalid provider
49+
ret = umfMemoryProviderCreateFromMemspace(memspace, policy, nullptr);
50+
EXPECT_EQ(ret, UMF_RESULT_ERROR_INVALID_ARGUMENT);
51+
52+
// Valid params, but memspace is empty
53+
ret = umfMemoryProviderCreateFromMemspace(memspace, policy, &provider);
54+
EXPECT_EQ(ret, UMF_RESULT_ERROR_INVALID_ARGUMENT);
55+
EXPECT_EQ(provider, nullptr);
56+
}
57+
58+
TEST_F(emptyMemspace, invalid_clone) {
59+
umf_const_memspace_handle_t memspace = nullptr;
60+
umf_memspace_handle_t out_memspace = nullptr;
61+
62+
umf_result_t ret = umfMemspaceClone(memspace, nullptr);
63+
EXPECT_EQ(ret, UMF_RESULT_ERROR_INVALID_ARGUMENT);
64+
65+
ret = umfMemspaceClone(nullptr, &out_memspace);
66+
EXPECT_EQ(ret, UMF_RESULT_ERROR_INVALID_ARGUMENT);
4367
}

test/memspaces/memtarget.cpp

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright (C) 2024 Intel Corporation
1+
// Copyright (C) 2024-2025 Intel Corporation
22
// Under the Apache License v2.0 with LLVM Exceptions. See LICENSE.TXT.
33
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
44

@@ -103,3 +103,45 @@ TEST_F(numaNodesTest, getIdInvalid) {
103103
ret = umfMemtargetGetId(hTarget, NULL);
104104
EXPECT_EQ(ret, UMF_RESULT_ERROR_INVALID_ARGUMENT);
105105
}
106+
107+
TEST_F(test, memTargetInvalidAdd) {
108+
umf_const_memspace_handle_t const_memspace = umfMemspaceHostAllGet();
109+
umf_memspace_handle_t memspace = nullptr;
110+
umf_result_t ret = umfMemspaceClone(const_memspace, &memspace);
111+
ASSERT_EQ(ret, UMF_RESULT_SUCCESS);
112+
ASSERT_NE(memspace, nullptr);
113+
umf_const_memtarget_handle_t memtarget =
114+
umfMemspaceMemtargetGet(memspace, 0);
115+
116+
ret = umfMemspaceMemtargetAdd(memspace, nullptr);
117+
EXPECT_EQ(ret, UMF_RESULT_ERROR_INVALID_ARGUMENT);
118+
119+
ret = umfMemspaceMemtargetAdd(nullptr, memtarget);
120+
EXPECT_EQ(ret, UMF_RESULT_ERROR_INVALID_ARGUMENT);
121+
122+
// Try to add the same memtarget again
123+
ret = umfMemspaceMemtargetAdd(memspace, memtarget);
124+
EXPECT_EQ(ret, UMF_RESULT_ERROR_INVALID_ARGUMENT);
125+
126+
ret = umfMemspaceDestroy(memspace);
127+
EXPECT_EQ(ret, UMF_RESULT_SUCCESS);
128+
}
129+
130+
TEST_F(test, memTargetInvalidRemove) {
131+
umf_const_memspace_handle_t const_memspace = umfMemspaceHostAllGet();
132+
umf_memspace_handle_t memspace = nullptr;
133+
umf_result_t ret = umfMemspaceClone(const_memspace, &memspace);
134+
ASSERT_EQ(ret, UMF_RESULT_SUCCESS);
135+
ASSERT_NE(memspace, nullptr);
136+
umf_const_memtarget_handle_t memtarget =
137+
umfMemspaceMemtargetGet(memspace, 0);
138+
139+
ret = umfMemspaceMemtargetRemove(memspace, nullptr);
140+
EXPECT_EQ(ret, UMF_RESULT_ERROR_INVALID_ARGUMENT);
141+
142+
ret = umfMemspaceMemtargetRemove(nullptr, memtarget);
143+
EXPECT_EQ(ret, UMF_RESULT_ERROR_INVALID_ARGUMENT);
144+
145+
ret = umfMemspaceDestroy(memspace);
146+
EXPECT_EQ(ret, UMF_RESULT_SUCCESS);
147+
}

0 commit comments

Comments
 (0)