Run some of the ci tests against a postgresql docker container
This commit is contained in:
+19
-2
@@ -17,6 +17,7 @@ variables:
|
|||||||
SYSTEMD: "-DWITH_SYSTEMD=1"
|
SYSTEMD: "-DWITH_SYSTEMD=1"
|
||||||
LIBIDN: "-DWITH_LIBIDN=1"
|
LIBIDN: "-DWITH_LIBIDN=1"
|
||||||
SQLITE3: "-DWITH_SQLITE3=1"
|
SQLITE3: "-DWITH_SQLITE3=1"
|
||||||
|
POSTGRESQL: "-WITH_POSTGRESQL=1"
|
||||||
|
|
||||||
#
|
#
|
||||||
## Build jobs
|
## Build jobs
|
||||||
@@ -27,10 +28,10 @@ variables:
|
|||||||
tags:
|
tags:
|
||||||
- docker
|
- docker
|
||||||
script:
|
script:
|
||||||
- "echo Running cmake with the following parameters: -DCMAKE_CXX_COMPILER=${COMPILER} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ${BOTAN} ${UDNS} ${SYSTEMD} ${LIBIDN} ${SQLITE3}"
|
- "echo Running cmake with the following parameters: -DCMAKE_CXX_COMPILER=${COMPILER} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ${BOTAN} ${UDNS} ${SYSTEMD} ${LIBIDN} ${SQLITE3} ${POSTGRESQL}"
|
||||||
- mkdir build/
|
- mkdir build/
|
||||||
- cd build/
|
- cd build/
|
||||||
- cmake .. -DCMAKE_CXX_COMPILER=${COMPILER} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ${BOTAN} ${UDNS} ${SYSTEMD} ${LIBIDN} ${SQLITE3}
|
- cmake .. -DCMAKE_CXX_COMPILER=${COMPILER} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ${BOTAN} ${UDNS} ${SYSTEMD} ${LIBIDN} ${SQLITE3} ${POSTGRESQL}
|
||||||
- make everything -j$(nproc || echo 1)
|
- make everything -j$(nproc || echo 1)
|
||||||
- make coverage_check -j$(nproc || echo 1)
|
- make coverage_check -j$(nproc || echo 1)
|
||||||
artifacts:
|
artifacts:
|
||||||
@@ -64,21 +65,27 @@ build:alpine:
|
|||||||
build:1:
|
build:1:
|
||||||
variables:
|
variables:
|
||||||
BOTAN: "-DWITHOUT_BOTAN=1"
|
BOTAN: "-DWITHOUT_BOTAN=1"
|
||||||
|
POSTGRESQL: "-DWITHOUT_POSTGRESQL=1"
|
||||||
<<: *fedora_build
|
<<: *fedora_build
|
||||||
|
|
||||||
build:2:
|
build:2:
|
||||||
variables:
|
variables:
|
||||||
UDNS: "-DWITHOUT_UDNS=1"
|
UDNS: "-DWITHOUT_UDNS=1"
|
||||||
|
POSTGRESQL: "-DWITHOUT_POSTGRESQL=1"
|
||||||
<<: *fedora_build
|
<<: *fedora_build
|
||||||
|
|
||||||
build:3:
|
build:3:
|
||||||
variables:
|
variables:
|
||||||
SQLITE3: "-DWITHOUT_SQLITE3=1"
|
SQLITE3: "-DWITHOUT_SQLITE3=1"
|
||||||
|
TEST_POSTGRES_URI: "postgres@postgres/postgres"
|
||||||
|
services:
|
||||||
|
- postgres:latest
|
||||||
<<: *fedora_build
|
<<: *fedora_build
|
||||||
|
|
||||||
build:4:
|
build:4:
|
||||||
variables:
|
variables:
|
||||||
SQLITE3: "-DWITHOUT_SQLITE3=1"
|
SQLITE3: "-DWITHOUT_SQLITE3=1"
|
||||||
|
POSTGRESQL: "-DWITHOUT_POSTGRESQL=1"
|
||||||
BOTAN: "-DWITHOUT_BOTAN=1"
|
BOTAN: "-DWITHOUT_BOTAN=1"
|
||||||
LIBIDN: "-DWITHOUT_LIBIDN=1"
|
LIBIDN: "-DWITHOUT_LIBIDN=1"
|
||||||
<<: *fedora_build
|
<<: *fedora_build
|
||||||
@@ -87,17 +94,27 @@ build:5:
|
|||||||
variables:
|
variables:
|
||||||
SQLITE3: "-DWITHOUT_SQLITE3=1"
|
SQLITE3: "-DWITHOUT_SQLITE3=1"
|
||||||
UDNS: "-DWITHOUT_UDNS=1"
|
UDNS: "-DWITHOUT_UDNS=1"
|
||||||
|
TEST_POSTGRES_URI: "postgres@postgres/postgres"
|
||||||
|
services:
|
||||||
|
- postgres:latest
|
||||||
<<: *fedora_build
|
<<: *fedora_build
|
||||||
|
|
||||||
build:6:
|
build:6:
|
||||||
variables:
|
variables:
|
||||||
BOTAN: "-DWITHOUT_BOTAN=1"
|
BOTAN: "-DWITHOUT_BOTAN=1"
|
||||||
UDNS: "-DWITHOUT_UDNS=1"
|
UDNS: "-DWITHOUT_UDNS=1"
|
||||||
|
POSTGRESQL: "-DWITHOUT_POSTGRESQL=1"
|
||||||
<<: *fedora_build
|
<<: *fedora_build
|
||||||
|
|
||||||
build:7:
|
build:7:
|
||||||
variables:
|
variables:
|
||||||
UDNS: "-DWITHOUT_UDNS=1"
|
UDNS: "-DWITHOUT_UDNS=1"
|
||||||
|
POSTGRESQL: "-DWITHOUT_POSTGRESQL=1"
|
||||||
|
<<: *fedora_build
|
||||||
|
|
||||||
|
build:8:
|
||||||
|
variables:
|
||||||
|
POSTGRESQL: "-DWITHOUT_POSTGRESQL=1"
|
||||||
<<: *fedora_build
|
<<: *fedora_build
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -14,7 +14,7 @@ endif()
|
|||||||
#
|
#
|
||||||
## Find optional instrumentation libraries that will be used in debug only
|
## Find optional instrumentation libraries that will be used in debug only
|
||||||
#
|
#
|
||||||
find_library(LIBASAN NAMES asan libasan.so.3 libasan.so.2 libasan.so.1)
|
find_library(LIBASAN NAMES asan libasan.so.4 libasan.so.3 libasan.so.2 libasan.so.1)
|
||||||
find_library(LIBUBSAN NAMES ubsan libubsan.so.0)
|
find_library(LIBUBSAN NAMES ubsan libubsan.so.0)
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -1031,6 +1031,7 @@ void Bridge::send_room_history(const std::string& hostname, std::string chan_nam
|
|||||||
(void)hostname;
|
(void)hostname;
|
||||||
(void)chan_name;
|
(void)chan_name;
|
||||||
(void)resource;
|
(void)resource;
|
||||||
|
(void)history_limit;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1080,6 +1080,9 @@ void BiboumiComponent::on_irc_client_connected(const std::string& irc_hostname,
|
|||||||
const auto local_jid = irc_hostname + "@" + this->served_hostname;
|
const auto local_jid = irc_hostname + "@" + this->served_hostname;
|
||||||
if (Database::has_roster_item(local_jid, jid))
|
if (Database::has_roster_item(local_jid, jid))
|
||||||
this->send_presence_to_contact(local_jid, jid, "");
|
this->send_presence_to_contact(local_jid, jid, "");
|
||||||
|
#else
|
||||||
|
(void)irc_hostname;
|
||||||
|
(void)jid;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1089,6 +1092,9 @@ void BiboumiComponent::on_irc_client_disconnected(const std::string& irc_hostnam
|
|||||||
const auto local_jid = irc_hostname + "@" + this->served_hostname;
|
const auto local_jid = irc_hostname + "@" + this->served_hostname;
|
||||||
if (Database::has_roster_item(local_jid, jid))
|
if (Database::has_roster_item(local_jid, jid))
|
||||||
this->send_presence_to_contact(irc_hostname + "@" + this->served_hostname, jid, "unavailable");
|
this->send_presence_to_contact(irc_hostname + "@" + this->served_hostname, jid, "unavailable");
|
||||||
|
#else
|
||||||
|
(void)irc_hostname;
|
||||||
|
(void)jid;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+17
-2
@@ -1,14 +1,29 @@
|
|||||||
#include "catch.hpp"
|
#include "catch.hpp"
|
||||||
|
|
||||||
|
#include <biboumi.h>
|
||||||
|
|
||||||
|
#ifdef USE_DATABASE
|
||||||
|
|
||||||
|
#include <cstdlib>
|
||||||
|
|
||||||
#include <database/database.hpp>
|
#include <database/database.hpp>
|
||||||
|
|
||||||
#include <config/config.hpp>
|
#include <config/config.hpp>
|
||||||
|
|
||||||
TEST_CASE("Database")
|
TEST_CASE("Database")
|
||||||
{
|
{
|
||||||
#ifdef USE_DATABASE
|
#ifdef PQ_FOUND
|
||||||
// Database::open("postgresql://test");
|
std::string postgresql_uri{"postgresql://"};
|
||||||
|
const char* env_value = ::getenv("TEST_POSTGRES_URI");
|
||||||
|
if (env_value != nullptr)
|
||||||
|
postgresql_uri += env_value;
|
||||||
|
else
|
||||||
|
postgresql_uri += "/test";
|
||||||
|
Database::open(postgresql_uri);
|
||||||
|
#else
|
||||||
Database::open(":memory:");
|
Database::open(":memory:");
|
||||||
|
#endif
|
||||||
|
|
||||||
Database::raw_exec("DELETE FROM " + Database::irc_server_options.get_name());
|
Database::raw_exec("DELETE FROM " + Database::irc_server_options.get_name());
|
||||||
Database::raw_exec("DELETE FROM " + Database::irc_channel_options.get_name());
|
Database::raw_exec("DELETE FROM " + Database::irc_channel_options.get_name());
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user