Commit 3c2f991e authored by Dominik Charousset's avatar Dominik Charousset

Add sanitizer build with the new Robot tests

parent c1f9e44d
set(CAF_ENABLE_ACTOR_PROFILER ON CACHE BOOL "")
set(CAF_ENABLE_EXAMPLES ON CACHE BOOL "")
set(CAF_ENABLE_ROBOT_TESTS ON CACHE BOOL "")
set(CAF_ENABLE_RUNTIME_CHECKS ON CACHE BOOL "")
set(CAF_LOG_LEVEL TRACE CACHE STRING "")
set(CAF_SANITIZERS "address,undefined" CACHE STRING "")
if(NOT MSVC AND NOT CMAKE_SYSTEM MATCHES BSD)
set(CMAKE_BUILD_TYPE Debug CACHE STRING "")
endif()
...@@ -10,4 +10,11 @@ RUN dnf update -y \ ...@@ -10,4 +10,11 @@ RUN dnf update -y \
libubsan \ libubsan \
make \ make \
openssl-devel \ openssl-devel \
python3 \
python3-pip \
&& dnf clean all && dnf clean all
RUN python3 -m pip install \
robotframework \
robotframework-requests \
robotframework-websocketclient
...@@ -8,6 +8,10 @@ debug_build_template: &DEBUG_BUILD_TEMPLATE ...@@ -8,6 +8,10 @@ debug_build_template: &DEBUG_BUILD_TEMPLATE
build_script: .ci/run.sh build .ci/debug-flags.cmake . build build_script: .ci/run.sh build .ci/debug-flags.cmake . build
test_script: .ci/run.sh test build test_script: .ci/run.sh test build
asan_build_template: &ASAN_BUILD_TEMPLATE
build_script: .ci/run.sh build .ci/asan-flags.cmake . build
test_script: .ci/run.sh test build
# CentOS 7 EOL: June 2024 # CentOS 7 EOL: June 2024
centos7_task: centos7_task:
container: container:
...@@ -38,6 +42,14 @@ freebsd12_task: ...@@ -38,6 +42,14 @@ freebsd12_task:
prepare_script: .ci/freebsd-12/prepare.sh prepare_script: .ci/freebsd-12/prepare.sh
<< : *DEBUG_BUILD_TEMPLATE << : *DEBUG_BUILD_TEMPLATE
# Fedora 36 EOL: May 2023
sanitizers_task:
container:
dockerfile: .ci/fedora-36/Dockerfile
<< : *RESOURCES_TEMPLATE
prepare_script: .ci/run.sh assert UBSanitizer
<< : *ASAN_BUILD_TEMPLATE
# Windows Server 2019 EOL: January 2024 # Windows Server 2019 EOL: January 2024
windows_task: windows_task:
timeout_in: 120m timeout_in: 120m
......
...@@ -42,13 +42,10 @@ struct config : caf::actor_system_config { ...@@ -42,13 +42,10 @@ struct config : caf::actor_system_config {
// -- our key-value store actor ------------------------------------------------ // -- our key-value store actor ------------------------------------------------
struct kvs_actor_state { struct kvs_actor_state {
explicit kvs_actor_state(caf::event_based_actor* self_ptr) : self(self_ptr) {
// nop
}
caf::behavior make_behavior() { caf::behavior make_behavior() {
using caf::result;
return { return {
[this](caf::get_atom, const std::string& key) -> caf::result<std::string> { [this](caf::get_atom, const std::string& key) -> result<std::string> {
if (auto i = data.find(key); i != data.end()) if (auto i = data.find(key); i != data.end())
return i->second; return i->second;
else else
...@@ -62,7 +59,6 @@ struct kvs_actor_state { ...@@ -62,7 +59,6 @@ struct kvs_actor_state {
} }
std::map<std::string, std::string> data; std::map<std::string, std::string> data;
caf::event_based_actor* self;
}; };
using kvs_actor_impl = caf::stateful_actor<kvs_actor_state>; using kvs_actor_impl = caf::stateful_actor<kvs_actor_state>;
......
obotframework-websocketclient
robotframework robotframework
robotframework-requests robotframework-requests
robotframework-websocketclient
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment