Skip to content

Commit

Permalink
MON-32735: unit tests are included in package-collect
Browse files Browse the repository at this point in the history
  • Loading branch information
jean-christophe81 committed Dec 22, 2023
1 parent 8884f59 commit 79b018b
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 49 deletions.
16 changes: 0 additions & 16 deletions .github/scripts/collect-unit-tests.sh
Original file line number Diff line number Diff line change
@@ -1,22 +1,6 @@
#!/bin/bash
set -e

#Cmake
rm -rf /src/build
mkdir /src/build
cd /src/build/

conan install .. -s compiler.cppstd=17 -s compiler.libcxx=libstdc++11 --build=missing
if [ $(cat /etc/issue | awk '{print $1}') = "Debian" ] ; then
CXXFLAGS="-Wall -Wextra" cmake -G "Ninja" -DCMAKE_EXPORT_COMPILE_COMMANDS=On -DWITH_CENTREON_CLIB_INCLUDE_DIR=../clib/inc/ -DWITH_CENTREON_CLIB_LIBRARIES=centreon-clib/libcentreon_clib.so -DCMAKE_BUILD_TYPE=Debug -DWITH_PREFIX=/usr -DWITH_PREFIX_BIN=/usr/sbin -DWITH_USER_BROKER=centreon-broker -DWITH_USER_ENGINE=centreon-engine -DWITH_GROUP_BROKER=centreon-broker -DWITH_GROUP_ENGINE=centreon-engine -DWITH_TESTING=On -DWITH_PREFIX_MODULES=/usr/share/centreon/lib/centreon-broker -DWITH_PREFIX_CONF_BROKER=/etc/centreon-broker -DWITH_PREFIX_LIB_BROKER=/usr/lib64/nagios -DWITH_PREFIX_CONF_ENGINE=/etc/centreon-engine -DWITH_PREFIX_LIB_ENGINE=/usr/lib64/centreon-engine -DWITH_PREFIX_LIB_CLIB=/usr/lib64/ -DWITH_RW_DIR=/var/lib/centreon-engine/rw -DWITH_VAR_DIR=/var/log/centreon-engine -DWITH_MODULE_SIMU=On -DNG=On ..
else
CXXFLAGS="-Wall -Wextra" cmake3 -G "Ninja" -DCMAKE_EXPORT_COMPILE_COMMANDS=On -DWITH_CENTREON_CLIB_INCLUDE_DIR=../clib/inc/ -DWITH_CENTREON_CLIB_LIBRARIES=centreon-clib/libcentreon_clib.so -DCMAKE_BUILD_TYPE=Debug -DWITH_PREFIX=/usr -DWITH_PREFIX_BIN=/usr/sbin -DWITH_USER_BROKER=centreon-broker -DWITH_USER_ENGINE=centreon-engine -DWITH_GROUP_BROKER=centreon-broker -DWITH_GROUP_ENGINE=centreon-engine -DWITH_TESTING=On -DWITH_PREFIX_MODULES=/usr/share/centreon/lib/centreon-broker -DWITH_PREFIX_CONF_BROKER=/etc/centreon-broker -DWITH_PREFIX_LIB_BROKER=/usr/lib64/nagios -DWITH_PREFIX_CONF_ENGINE=/etc/centreon-engine -DWITH_PREFIX_LIB_ENGINE=/usr/lib64/centreon-engine -DWITH_PREFIX_LIB_CLIB=/usr/lib64/ -DWITH_RW_DIR=/var/lib/centreon-engine/rw -DWITH_VAR_DIR=/var/log/centreon-engine -DWITH_MODULE_SIMU=On -DNG=On ..
fi

#Build
ninja -j 8
ninja -j 8 install

#Test

tests/ut_broker --gtest_output=xml:ut_broker.xml
Expand Down
30 changes: 0 additions & 30 deletions .github/workflows/centreon-collect.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,36 +46,6 @@ jobs:
get-version:
uses: ./.github/workflows/get-version.yml

unit-test:
needs: [get-version]
if: ${{ ! contains(fromJson('["stable"]'), needs.get-version.outputs.stability) }}
runs-on: [self-hosted, collect]

strategy:
fail-fast: false
matrix:
image: [alma8, alma9, debian-bullseye]
name: unit test ${{ matrix.image }}

steps:
- name: Checkout sources
uses: actions/checkout@v4

- name: Login to Registry
uses: docker/login-action@v2
with:
registry: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}
username: ${{ secrets.DOCKER_REGISTRY_ID }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}

- name: Test ${{ matrix.image }}
uses: ./.github/actions/runner-docker
with:
registry_url: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}
script_name: /src/.github/scripts/collect-unit-tests
image_name: centreon-collect-${{ matrix.image }}
image_version: ${{ needs.get-version.outputs.img_version }}

package:
needs: [get-version]
if: ${{ ! contains(fromJson('["stable"]'), needs.get-version.outputs.stability) }}
Expand Down
6 changes: 5 additions & 1 deletion .github/workflows/package-collect.yml
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ jobs:
sudo $CMAKE \
-G "Ninja" \
-DDEBUG_ROBOT=OFF \
-DWITH_TESTING=OFF \
-DWITH_TESTING=ON \
-DWITH_BENCH=ON \
-DWITH_MODULE_SIMU=OFF \
-DCMAKE_INSTALL_PREFIX=/usr \
Expand All @@ -110,6 +110,10 @@ jobs:
sudo ninja
shell: bash

- name: Unit tests
run: .github/scripts/collect-unit-tests.sh
shell: bash

- name: Generate debug files
run: |
for file in $(find ./{lib/*.so,bin} -type f); do
Expand Down
25 changes: 23 additions & 2 deletions connectors/perl/test/connector.cc
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,12 @@ static constexpr const char scripts[] =
"4242\0" \
"3\0" \
"123456789\0" BUILD_PATH "/../connectors/perl/test/timeout_kill.pl\0\0\0\0"
#define TimeoutKillCMD_2 \
"2\0" \
"4242\0" \
"3\0" \
"123456789\0" BUILD_PATH "/connectors/perl/test/timeout_kill.pl\0\0\0\0"

#define TimeoutKillRESULT \
"3\0" \
"4242\0" \
Expand All @@ -121,6 +127,11 @@ static constexpr const char scripts[] =
"4242\0" \
"3\0" \
"123456789\0" BUILD_PATH "/../connectors/perl/test/timeout_term.pl\0\0\0\0"
#define TimeoutTermCMD_2 \
"2\0" \
"4242\0" \
"3\0" \
"123456789\0" BUILD_PATH "/connectors/perl/test/timeout_term.pl\0\0\0\0"

using shared_io_context = std::shared_ptr<asio::io_context>;

Expand Down Expand Up @@ -721,7 +732,12 @@ TEST_F(TestConnector, TimeoutKill) {

// Write command.
std::ostringstream oss;
oss.write(TimeoutKillCMD, sizeof(TimeoutKillCMD) - 1);
// in case of CI, sources are compiled in root directory, not in build
if (::access("connectors/perl/test/timeout_kill.pl", R_OK)) {
oss.write(TimeoutKillCMD, sizeof(TimeoutKillCMD) - 1);
} else {
oss.write(TimeoutKillCMD_2, sizeof(TimeoutKillCMD_2) - 1);
}
write_cmd(*p, oss.str());

// Read reply.
Expand All @@ -742,7 +758,12 @@ TEST_F(TestConnector, TimeoutTerm) {

// Write command.
std::ostringstream oss;
oss.write(TimeoutTermCMD, sizeof(TimeoutTermCMD) - 1);
// in case of CI, sources are compiled in root directory, not in build
if (::access("connectors/perl/test/timeout_term.pl", R_OK)) {
oss.write(TimeoutTermCMD, sizeof(TimeoutTermCMD) - 1);
} else {
oss.write(TimeoutTermCMD_2, sizeof(TimeoutTermCMD_2) - 1);
}
std::string cmd(oss.str());
write_cmd(*p, oss.str());

Expand Down

0 comments on commit 79b018b

Please sign in to comment.