Skip to content

Commit 01bb299

Browse files
Merge pull request #856 from staniewzki/utils-coverity
Add tests for utils_common to improve coverage
2 parents 310b993 + 32df312 commit 01bb299

File tree

2 files changed

+60
-0
lines changed

2 files changed

+60
-0
lines changed

test/CMakeLists.txt

+7
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,13 @@ add_umf_test(
152152
SRCS utils/utils.cpp
153153
LIBS ${UMF_UTILS_FOR_TEST})
154154

155+
if(LINUX)
156+
add_umf_test(
157+
NAME utils_linux_common
158+
SRCS utils/utils_linux.cpp
159+
LIBS ${UMF_UTILS_FOR_TEST})
160+
endif()
161+
155162
add_umf_test(NAME provider_coarse SRCS provider_coarse.cpp)
156163

157164
if(UMF_BUILD_LIBUMF_POOL_DISJOINT)

test/utils/utils_linux.cpp

+53
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
// Copyright (C) 2024 Intel Corporation
2+
// Under the Apache License v2.0 with LLVM Exceptions. See LICENSE.TXT.
3+
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
4+
5+
#include "base.hpp"
6+
#include "utils/utils_common.h"
7+
8+
using umf_test::test;
9+
TEST_F(test, utils_translate_mem_visibility_flag) {
10+
umf_memory_visibility_t in_flag = static_cast<umf_memory_visibility_t>(0);
11+
unsigned out_flag;
12+
auto ret = utils_translate_mem_visibility_flag(in_flag, &out_flag);
13+
EXPECT_EQ(ret, UMF_RESULT_ERROR_INVALID_ARGUMENT);
14+
}
15+
16+
TEST_F(test, utils_shm_open_invalid_args) {
17+
auto ret = utils_shm_open(NULL);
18+
EXPECT_EQ(ret, -1);
19+
20+
ret = utils_shm_open("invalid_path");
21+
EXPECT_EQ(ret, -1);
22+
}
23+
24+
TEST_F(test, utils_get_file_size_invalid_args) {
25+
size_t size;
26+
auto ret = utils_get_file_size(-1, &size);
27+
EXPECT_EQ(ret, -1);
28+
29+
int fd = utils_create_anonymous_fd();
30+
ret = utils_get_file_size(fd, &size);
31+
EXPECT_EQ(ret, 0);
32+
EXPECT_EQ(size, 0);
33+
}
34+
35+
TEST_F(test, utils_set_file_size_invalid_args) {
36+
auto ret = utils_set_file_size(-1, 256);
37+
EXPECT_EQ(ret, -1);
38+
}
39+
40+
TEST_F(test, utils_shm_create_invalid_args) {
41+
auto ret = utils_shm_create(NULL, 0);
42+
EXPECT_EQ(ret, -1);
43+
44+
ret = utils_shm_create("", 256);
45+
EXPECT_EQ(ret, -1);
46+
47+
// Ensure that a valid size results in a success
48+
ret = utils_shm_create("/abc", 256);
49+
EXPECT_GE(ret, 0);
50+
51+
ret = utils_shm_create("/abc", -1);
52+
EXPECT_EQ(ret, -1);
53+
}

0 commit comments

Comments
 (0)