Skip to content

Commit 29f2e86

Browse files
authored
Merge pull request #6069 from BOINC/vko_use_gtest_from_apt
[ci][linux] build unit tests using gtest from apt
2 parents 0bbd737 + 2e1ac7c commit 29f2e86

File tree

5 files changed

+10
-16
lines changed

5 files changed

+10
-16
lines changed

.github/workflows/linux.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,11 @@ jobs:
6262
run: |
6363
sudo apt-get install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu binutils-aarch64-linux-gnu
6464
65+
- name: Install dependencies for unit testing
66+
if: success() && matrix.type == 'unit-test'
67+
run: |
68+
sudo apt-get install -y libgtest-dev
69+
6570
- name: Install dependencies for integration testing
6671
if: success() && matrix.type == 'integration-test'
6772
run: |
@@ -141,7 +146,7 @@ jobs:
141146

142147
- name: Configure server for unit testing
143148
if: success() && matrix.type == 'unit-test'
144-
run: ./3rdParty/buildLinuxDependencies.sh --gtest-only && ./configure --disable-client --disable-manager --enable-unit-tests CFLAGS="-g -O0" CXXFLAGS="-g -O0"
149+
run: ./configure --disable-client --disable-manager --enable-unit-tests CFLAGS="-g -O0" CXXFLAGS="-g -O0"
145150

146151
- name: Make
147152
if: success() && ! contains(matrix.type, 'integration-test') && ! endsWith(matrix.type, 'cmake') && ! endsWith(matrix.type, 'arm64')

3rdParty/buildLinuxDependencies.sh

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ ROOTDIR=$(pwd)
5151
cache_dir=""
5252
doclean=""
5353
wxoption=""
54-
gtest_only=""
5554
build_config="Release"
5655
while [[ $# -gt 0 ]]; do
5756
key="$1"
@@ -70,9 +69,6 @@ while [[ $# -gt 0 ]]; do
7069
--disable-webview)
7170
wxoption="--disable-webview ${wxoption} "
7271
;;
73-
--gtest-only)
74-
gtest_only="yes"
75-
;;
7672
*)
7773
echo "unrecognized option $key"
7874
;;
@@ -139,11 +135,7 @@ fi
139135

140136
wx_ver="3.2.6"
141137
#download_and_build $DIRNAME $FILENAME $DOWNLOADURL $BUILDSCRIPT
142-
if [ "${gtest_only}" = "yes" ]; then
143-
download_and_build "googletest-release-1.8.1" "release-1.8.1.tar.gz" "https://github.com/google/googletest/archive/release-1.8.1.tar.gz" "${ROOTDIR}/3rdParty/buildGoogletestLinux.sh"
144-
else
145-
download_and_build "wxWidgets-$wx_ver" "wxWidgets-$wx_ver.tar.bz2" "https://github.com/wxWidgets/wxWidgets/releases/download/v$wx_ver/wxWidgets-$wx_ver.tar.bz2" "${ROOTDIR}/3rdParty/buildWxLinux.sh ${wxoption}"
146-
fi
138+
download_and_build "wxWidgets-$wx_ver" "wxWidgets-$wx_ver.tar.bz2" "https://github.com/wxWidgets/wxWidgets/releases/download/v$wx_ver/wxWidgets-$wx_ver.tar.bz2" "${ROOTDIR}/3rdParty/buildWxLinux.sh ${wxoption}"
147139

148140
# change back to root directory
149141
cd ${ROOTDIR} || exit 1

tests/unit-tests/CMakeLists.txt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ set (CMAKE_CXX_FLAGS "-g -Wall -Wextra -Werror --coverage")
88

99

1010
find_package(Threads REQUIRED)
11+
find_package(GTest REQUIRED)
1112

1213
# There is no easy way to interface with the autotools driven build system in boinc
1314
# so the paths below are hardcoded and are mainly suited for building on Travis CI
@@ -24,10 +25,6 @@ include_directories("/usr/include/mariadb/mysql")
2425
include_directories("/usr/include/mysql")
2526

2627

27-
find_library(GTEST_MAIN_LIB libgtest_main.a PATHS ${PROJECT_SOURCE_DIR}/../../3rdParty/buildCache/linux/lib NO_DEFAULT_PATH)
28-
message(STATUS "gtest_main_lib: ${GTEST_MAIN_LIB}")
29-
find_library(GTEST_LIB gtest PATHS ${PROJECT_SOURCE_DIR}/../../3rdParty/buildCache/linux/lib NO_DEFAULT_PATH)
30-
message(STATUS "gtest_lib: ${GTEST_LIB}")
3128
find_library(SCHED_LIB libsched.a PATHS ${PROJECT_SOURCE_DIR}/../../sched NO_DEFAULT_PATH)
3229
find_library(BOINC_CRYPT_LIB libboinc_crypt.a PATHS ${PROJECT_SOURCE_DIR}/../../lib NO_DEFAULT_PATH)
3330
find_library(BOINC_LIB libboinc.a PATHS ${PROJECT_SOURCE_DIR}/../../lib NO_DEFAULT_PATH)

tests/unit-tests/lib/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@ file(GLOB SRCS *.cpp)
22

33
add_executable(test_lib ${SRCS})
44

5-
TARGET_LINK_LIBRARIES(test_lib "${GTEST_LIB}" "${SCHED_LIB}" "${BOINC_CRYPT_LIB}" "${BOINC_LIB}" "${GTEST_MAIN_LIB}" pthread)
5+
TARGET_LINK_LIBRARIES(test_lib "${SCHED_LIB}" "${BOINC_CRYPT_LIB}" "${BOINC_LIB}" pthread GTest::gtest GTest::gtest_main)
66

77
add_test(NAME test_lib COMMAND test_lib)

tests/unit-tests/sched/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ add_executable(test_sched ${SRCS})
44

55
TARGET_COMPILE_OPTIONS(test_sched PUBLIC ${MYSQL_CFLAGS})
66

7-
TARGET_LINK_LIBRARIES(test_sched "${GTEST_LIB}" "${SCHED_LIB}" "${BOINC_CRYPT_LIB}" "${BOINC_LIB}" ${MYSQL_LIB} "${GTEST_MAIN_LIB}" pthread)
7+
TARGET_LINK_LIBRARIES(test_sched "${SCHED_LIB}" "${BOINC_CRYPT_LIB}" "${BOINC_LIB}" ${MYSQL_LIB} pthread GTest::gtest GTest::gtest_main)
88

99
add_test(NAME test_sched COMMAND test_sched)

0 commit comments

Comments
 (0)