Skip to content

Commit 03bf8b0

Browse files
committed
fix unit-test
1 parent 224c84f commit 03bf8b0

File tree

6 files changed

+108
-75
lines changed

6 files changed

+108
-75
lines changed

CMakeLists.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,11 @@ if(VCPKG_CHAINLOAD_TOOLCHAIN_FILE)
3232
endif()
3333

3434
if (DEFINED CMAKE_TOOLCHAIN_FILE AND WIN32)
35-
install_windows_deps()
35+
find_package(GTest)
36+
if(NOT (GTEST_FOUND OR GTest_FOUND))
37+
install_windows_deps()
38+
endif()
39+
find_package(GTest REQUIRED)
3640
endif()
3741

3842
# Begin Uncomment for i386 build

tests/CMakeLists.txt

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,33 @@ set(TESTS_COMMON_SRCS
1111
)
1212

1313
if (BUILD_FUNC_TESTS OR BUILD_UNIT_TEST)
14-
if (WIN32 AND CNAKE_TOOLCHAIN_FILE)
15-
find_package(GTest)
16-
if(NOT (GTEST_FOUND OR GTest_FOUND))
17-
install_windows_deps()
18-
if (NOT DEFINED CMAKE_TOOLCHAIN_FILE)
19-
message(STATUS_FATAL "Windows dependency installation failed!")
20-
endif()
21-
message(STATUS ${CMAKE_TOOLCHAIN_FILE})
22-
find_package(GTest REQUIRED)
23-
endif()
14+
if (WIN32 AND CMAKE_TOOLCHAIN_FILE)
15+
find_package(gtest REQUIRED)
16+
find_package(SQLite3 REQUIRED)
17+
find_package(ZLIB REQUIRED)
18+
19+
# GMOCK is not included as part of GTEST package installed through vcpkg,
20+
# so needs to be configured separately
21+
find_library(GOOGLE_MOCK gmock REQUIRED)
22+
find_library(GOOGLE_MOCK_MAIN gmock_main REQUIRED)
23+
find_library(GOOGLE_MOCKD gmockd REQUIRED)
24+
find_library(GOOGLE_MOCK_MAIND gmock_maind REQUIRED)
25+
26+
# GMOCK doesn't work with static linking.
27+
add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY)
28+
29+
message("GTEST_INCLUDE_DIRS = ${GTEST_INCLUDE_DIRS}")
30+
message("GTEST_BOTH_LIBRARIES = ${GTEST_BOTH_LIBRARIES}")
31+
message("GOOGLE_MOCK = ${GOOGLE_MOCK} ${GOOGLE_MOCK_MAIN}")
32+
message("SQLite3_LIBRARIES = ${SQLite3_LIBRARIES} ${SQLite3_INCLUDE_DIRS}")
33+
message("ZLIB_LIBRARIES = ${ZLIB_LIBRARIES}")
34+
35+
#Include headers to be used both for unit and functional tests
36+
include_directories( ${GTEST_INCLUDE_DIRS} )
37+
include_directories( ${GMOCK_INCLUDE_DIRS} )
38+
include_directories( ${ZLIB_INCLUDE_DIRS} )
39+
include_directories(${SQLite3_INCLUDE_DIRS} )
40+
2441
else()
2542
message("Adding gtest")
2643
add_library(gtest STATIC IMPORTED GLOBAL)

tests/functests/CMakeLists.txt

Lines changed: 29 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -46,40 +46,36 @@ else()
4646
endif()
4747

4848
if(PAL_IMPLEMENTATION STREQUAL "WIN32")
49-
find_package(gtest REQUIRED)
50-
find_package(SQLite3 REQUIRED)
51-
find_package(ZLIB REQUIRED)
52-
find_library(GOOGLE_MOCK gmock REQUIRED)
53-
find_library(GOOGLE_MOCK_MAIN gmock_main REQUIRED)
54-
find_library(GOOGLE_MOCKD gmockd REQUIRED)
55-
find_library(GOOGLE_MOCK_MAIND gmock_maind REQUIRED)
56-
add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY)
57-
# Link against prebuilt libraries on Windows
58-
message("--- WIN32: Linking against prebuilt libraries")
59-
message("--- WIN32: ... ${CMAKE_BINARY_DIR}/sqlite")
60-
include_directories( ${GTEST_INCLUDE_DIRS} )
61-
include_directories( ${GMOCK_INCLUDE_DIRS} )
62-
include_directories( ${ZLIB_INCLUDE_DIRS} )
63-
include_directories(${SQLite3_INCLUDE_DIRS} )
64-
message("GTEST_INCLUDE_DIRS = ${GTEST_INCLUDE_DIRS}")
65-
message("GTEST_BOTH_LIBRARIES = ${GTEST_BOTH_LIBRARIES}")
66-
message("GOOGLE_MOCK = ${GOOGLE_MOCK} ${GOOGLE_MOCK_MAIN}")
67-
message("SQLite3_LIBRARIES = ${SQLite3_LIBRARIES} ${SQLite3_INCLUDE_DIRS}")
68-
message("ZLIB_LIBRARIES = ${ZLIB_LIBRARIES}")
69-
70-
target_link_libraries(FuncTests
71-
mat
72-
wininet.lib
73-
crypt32.lib
74-
${GTEST_BOTH_LIBRARIES}
75-
${GOOGLE_MOCK} ${GOOGLE_MOCKD}
76-
${GOOGLE_MOCK_MAIN} ${GOOGLE_MOCK_MAIND}
77-
${SQLite3_LIBRARIES}
78-
${ZLIB_LIBRARIES}
79-
80-
)
49+
if (CMAKE_TOOLCHAIN_FILE)
50+
target_link_libraries(FuncTests
51+
mat
52+
wininet.lib
53+
crypt32.lib
54+
${GTEST_BOTH_LIBRARIES}
55+
${GOOGLE_MOCK} ${GOOGLE_MOCKD}
56+
${GOOGLE_MOCK_MAIN} ${GOOGLE_MOCK_MAIND}
57+
${SQLite3_LIBRARIES}
58+
${ZLIB_LIBRARIES}
59+
)
60+
else()
61+
# Link against prebuilt libraries on Windows
62+
message("--- WIN32: Linking against prebuilt libraries")
63+
message("--- WIN32: ... ${CMAKE_BINARY_DIR}/gtest")
64+
message("--- WIN32: ... ${CMAKE_BINARY_DIR}/gmock")
65+
message("--- WIN32: ... ${CMAKE_BINARY_DIR}/zlib")
66+
message("--- WIN32: ... ${CMAKE_BINARY_DIR}/sqlite")
67+
# link_directories(${CMAKE_BINARY_DIR}/gtest/ ${CMAKE_BINARY_DIR}/gmock/ ${CMAKE_BINARY_DIR}/zlib/ ${CMAKE_BINARY_DIR}/sqlite/)
68+
include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/../../zlib )
69+
target_link_libraries(FuncTests
70+
mat
71+
wininet.lib
72+
${CMAKE_BINARY_DIR}/gtest/gtest.lib
73+
${CMAKE_BINARY_DIR}/gmock/gmock.lib
74+
${CMAKE_BINARY_DIR}/zlib/zlib.lib
75+
${CMAKE_BINARY_DIR}/sqlite/sqlite.lib
76+
)
77+
endif()
8178
else()
82-
8379
# Prefer linking to more recent local sqlite3
8480
if(EXISTS "/usr/local/lib/libsqlite3.a")
8581
set (SQLITE3_LIB "/usr/local/lib/libsqlite3.a")

tests/unittests/CMakeLists.txt

Lines changed: 32 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,9 @@ set(SRCS
4848
ZlibUtilsTests.cpp
4949
)
5050

51-
set_source_files_properties(${SRCS} PROPERTIES COMPILE_FLAGS -Wno-deprecated-declarations)
51+
if (NOT WIN32)
52+
set_source_files_properties(${SRCS} PROPERTIES COMPILE_FLAGS -Wno-deprecated-declarations)
53+
endif()
5254

5355
if (APPLE)
5456
if (BUILD_IOS)
@@ -90,22 +92,35 @@ else()
9092
endif()
9193

9294
if(PAL_IMPLEMENTATION STREQUAL "WIN32")
93-
# Link against prebuilt libraries on Windows
94-
message("--- WIN32: Linking against prebuilt libraries")
95-
message("--- WIN32: ... ${CMAKE_BINARY_DIR}/gtest")
96-
message("--- WIN32: ... ${CMAKE_BINARY_DIR}/gmock")
97-
message("--- WIN32: ... ${CMAKE_BINARY_DIR}/zlib")
98-
message("--- WIN32: ... ${CMAKE_BINARY_DIR}/sqlite")
99-
# link_directories(${CMAKE_BINARY_DIR}/gtest/ ${CMAKE_BINARY_DIR}/gmock/ ${CMAKE_BINARY_DIR}/zlib/ ${CMAKE_BINARY_DIR}/sqlite/)
100-
include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/../../zlib )
101-
target_link_libraries(UnitTests
102-
mat
103-
wininet.lib
104-
${CMAKE_BINARY_DIR}/gtest/gtest.lib
105-
${CMAKE_BINARY_DIR}/gmock/gmock.lib
106-
${CMAKE_BINARY_DIR}/zlib/zlib.lib
107-
${CMAKE_BINARY_DIR}/sqlite/sqlite.lib
108-
)
95+
if (CMAKE_TOOLCHAIN_FILE)
96+
target_link_libraries(UnitTests
97+
mat
98+
wininet.lib
99+
crypt32.lib
100+
${GTEST_BOTH_LIBRARIES}
101+
${GOOGLE_MOCK} ${GOOGLE_MOCKD}
102+
${GOOGLE_MOCK_MAIN} ${GOOGLE_MOCK_MAIND}
103+
${SQLite3_LIBRARIES}
104+
${ZLIB_LIBRARIES}
105+
)
106+
else()
107+
# Link against prebuilt libraries on Windows
108+
message("--- WIN32: Linking against prebuilt libraries")
109+
message("--- WIN32: ... ${CMAKE_BINARY_DIR}/gtest")
110+
message("--- WIN32: ... ${CMAKE_BINARY_DIR}/gmock")
111+
message("--- WIN32: ... ${CMAKE_BINARY_DIR}/zlib")
112+
message("--- WIN32: ... ${CMAKE_BINARY_DIR}/sqlite")
113+
# link_directories(${CMAKE_BINARY_DIR}/gtest/ ${CMAKE_BINARY_DIR}/gmock/ ${CMAKE_BINARY_DIR}/zlib/ ${CMAKE_BINARY_DIR}/sqlite/)
114+
include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/../../zlib )
115+
target_link_libraries(UnitTests
116+
mat
117+
wininet.lib
118+
${CMAKE_BINARY_DIR}/gtest/gtest.lib
119+
${CMAKE_BINARY_DIR}/gmock/gmock.lib
120+
${CMAKE_BINARY_DIR}/zlib/zlib.lib
121+
${CMAKE_BINARY_DIR}/sqlite/sqlite.lib
122+
)
123+
endif()
109124
else()
110125

111126
# Prefer linking to more recent local sqlite3

tests/unittests/EventPropertiesTests.cpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ TEST(EventPropertiesTests, Construction)
1919
EXPECT_THAT(ep.GetProperties(), SizeIs(1));
2020
EXPECT_THAT(ep.GetPiiProperties(), IsEmpty());
2121
EXPECT_TRUE(std::get<0>(ep.TryGetLevel()));
22-
EXPECT_THAT(std::get<1>(ep.TryGetLevel()), DIAG_LEVEL_OPTIONAL);
22+
EXPECT_THAT(std::get<1>(ep.TryGetLevel()), (uint8_t)DIAG_LEVEL_OPTIONAL);
2323
}
2424

2525
TEST(EventPropertiesTests, Name)
@@ -45,21 +45,21 @@ TEST(EventPropertiesTests, DiagnosticLevel)
4545
EventProperties epOptional("Optional", DIAG_LEVEL_OPTIONAL);
4646
EXPECT_THAT(epOptional.GetName(), Eq("Optional"));
4747
EXPECT_TRUE(std::get<0>(epOptional.TryGetLevel()));
48-
EXPECT_THAT(std::get<1>(epOptional.TryGetLevel()), DIAG_LEVEL_OPTIONAL);
48+
EXPECT_THAT(std::get<1>(epOptional.TryGetLevel()), (uint8_t)DIAG_LEVEL_OPTIONAL);
4949

5050
epOptional.SetLevel(DIAG_LEVEL_REQUIRED);
5151
EXPECT_TRUE(std::get<0>(epOptional.TryGetLevel()));
52-
EXPECT_THAT(std::get<1>(epOptional.TryGetLevel()), DIAG_LEVEL_REQUIRED);
52+
EXPECT_THAT(std::get<1>(epOptional.TryGetLevel()), (uint8_t)DIAG_LEVEL_REQUIRED);
5353

5454
EventProperties epRequired("Required", DIAG_LEVEL_REQUIRED);
5555
EXPECT_THAT(epRequired.GetName(), Eq("Required"));
5656
EXPECT_TRUE(std::get<0>(epRequired.TryGetLevel()));
57-
EXPECT_THAT(std::get<1>(epRequired.TryGetLevel()), DIAG_LEVEL_REQUIRED);
57+
EXPECT_THAT(std::get<1>(epRequired.TryGetLevel()), (uint8_t)DIAG_LEVEL_REQUIRED);
5858

5959
EventProperties epCustom("Custom", 55);
6060
EXPECT_THAT(epCustom.GetName(), Eq("Custom"));
6161
EXPECT_TRUE(std::get<0>(epCustom.TryGetLevel()));
62-
EXPECT_THAT(std::get<1>(epCustom.TryGetLevel()), 55);
62+
EXPECT_THAT(std::get<1>(epCustom.TryGetLevel()), (uint8_t)55);
6363
}
6464

6565
TEST(EventPropertiesTests, Timestamp)
@@ -203,7 +203,7 @@ TEST(EventPropertiesTests, TryGetLevel_NotTheRightType_ReturnsFalseAndZero)
203203
properties.SetProperty(COMMONFIELDS_EVENT_LEVEL, "Not a number");
204204
auto result = properties.TryGetLevel();
205205
EXPECT_FALSE(std::get<0>(result));
206-
EXPECT_EQ(std::get<1>(result), 0);
206+
EXPECT_EQ(std::get<1>(result), (uint8_t)0);
207207
}
208208

209209
TEST(EventPropertiesTests, TryGetLevel_ValueLargerThanUint8_ReturnsFalseAndZero)
@@ -212,7 +212,7 @@ TEST(EventPropertiesTests, TryGetLevel_ValueLargerThanUint8_ReturnsFalseAndZero)
212212
properties.SetProperty(COMMONFIELDS_EVENT_LEVEL, 257);
213213
auto result = properties.TryGetLevel();
214214
EXPECT_FALSE(std::get<0>(result));
215-
EXPECT_EQ(std::get<1>(result), 0);
215+
EXPECT_EQ(std::get<1>(result), (uint8_t)0);
216216
}
217217

218218
TEST(EventPropertiesTests, TryGetLevel_ValueLessThanZero_ReturnsFalseAndZero)
@@ -221,7 +221,7 @@ TEST(EventPropertiesTests, TryGetLevel_ValueLessThanZero_ReturnsFalseAndZero)
221221
properties.SetProperty(COMMONFIELDS_EVENT_LEVEL, -1);
222222
auto result = properties.TryGetLevel();
223223
EXPECT_FALSE(std::get<0>(result));
224-
EXPECT_EQ(std::get<1>(result), 0);
224+
EXPECT_EQ(std::get<1>(result), (uint8_t)0);
225225
}
226226

227227
TEST(EventPropertiesTests, TryGetLevel_ValidValue_ReturnsTrueAndCorrectValue)
@@ -230,7 +230,7 @@ TEST(EventPropertiesTests, TryGetLevel_ValidValue_ReturnsTrueAndCorrectValue)
230230
properties.SetProperty(COMMONFIELDS_EVENT_LEVEL, 42);
231231
auto result = properties.TryGetLevel();
232232
EXPECT_TRUE(std::get<0>(result));
233-
EXPECT_EQ(std::get<1>(result), 42);
233+
EXPECT_EQ(std::get<1>(result), (uint8_t)42);
234234
}
235235

236236
TEST(EventPropertiesTests, TryGetLevel_ValueSetBySetLevel_ReturnsTrueAndCorrectValue)
@@ -239,5 +239,5 @@ TEST(EventPropertiesTests, TryGetLevel_ValueSetBySetLevel_ReturnsTrueAndCorrectV
239239
properties.SetLevel(42);
240240
auto result = properties.TryGetLevel();
241241
EXPECT_TRUE(std::get<0>(result));
242-
EXPECT_EQ(std::get<1>(result), 42);
242+
EXPECT_EQ(std::get<1>(result), (uint8_t)42);
243243
}

tests/unittests/OfflineStorageTests_Room.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ TEST_P(OfflineStorageTestsRoom, TestBadFile)
202202
}
203203
badStorage->Initialize(observerMock);
204204
std::atomic<size_t> found(0);
205-
EXPECT_FALSE(badStorage->GetAndReserveRecords( [&found](StorageRecord && record)->bool {
205+
EXPECT_FALSE(badStorage->GetAndReserveRecords( [&found](StorageRecord && /*record*/)->bool {
206206
found += 1;
207207
return true;
208208
}, 5));
@@ -500,7 +500,7 @@ TEST_P(OfflineStorageTestsRoom, ReleaseActuallyReleases) {
500500
);
501501
offlineStorage->StoreRecord(r);
502502
offlineStorage->GetAndReserveRecords(
503-
[](StorageRecord && record)->bool
503+
[](StorageRecord && /*record*/)->bool
504504
{
505505
return false;
506506
},
@@ -518,7 +518,7 @@ TEST_P(OfflineStorageTestsRoom, ReleaseActuallyReleases) {
518518
EXPECT_EQ(unsigned { 1 }, offlineStorage->LastReadRecordCount());
519519
EXPECT_EQ(size_t { 1 }, records.size());
520520
offlineStorage->GetAndReserveRecords(
521-
[] (StorageRecord && record)->bool
521+
[] (StorageRecord && /*record*/)->bool
522522
{
523523
ADD_FAILURE();
524524
return false;
@@ -592,7 +592,8 @@ TEST_P(OfflineStorageTestsRoom, StoreManyRecords)
592592
StorageBlob masterBlob;
593593
masterBlob.reserve(blobSize);
594594
while (masterBlob.size() < blobSize) {
595-
masterBlob.push_back(randomByte(gen));
595+
auto random_byte = randomByte(gen);
596+
masterBlob.push_back((uint8_t)random_byte);
596597
}
597598
size_t blocks = 0;
598599
StorageRecordVector records;

0 commit comments

Comments
 (0)