fix unit tests: do not stub pthread_cond_wait

and fix the tests instead.
Some unit tests depend on pthread_cond_wait to work as expected.
This commit is contained in:
Beat Küng 2020-06-23 08:51:32 +02:00 committed by Daniel Agar
parent 283453b3a5
commit 55d06241b3
6 changed files with 3 additions and 20 deletions

View File

@ -33,7 +33,6 @@
set(SRCS
stub_daemon.cpp
stub_parameter.cpp
)
px4_add_library(test_stubs ${SRCS})

View File

@ -1,11 +0,0 @@
#include "stub_parameter.h"
extern "C" {
/* This function blocks forever in tests, so override it with a version that can be customized */
int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex)
{
return stub_pthread_cond_wait_callback(cond, mutex);
}
}

View File

@ -1,8 +0,0 @@
#pragma once
#include <pthread.h>
#include <functional>
std::function<int(pthread_cond_t *, pthread_mutex_t *)> stub_pthread_cond_wait_callback =
[](pthread_cond_t *, pthread_mutex_t *) {return 0;};

View File

@ -49,6 +49,7 @@ public:
void SetUp() override
{
param_control_autosave(false);
param_reset_all();
pos_sp = Vector3f(1.f, 1.2f, 0.1f);
vel_sp = Vector3f(0.3f, 0.4f, 0.1f);

View File

@ -42,6 +42,7 @@ class CollisionPreventionTest : public ::testing::Test
public:
void SetUp() override
{
param_control_autosave(false);
param_reset_all();
}
};

View File

@ -43,6 +43,7 @@ class ParameterTest : public ::testing::Test
public:
void SetUp() override
{
param_control_autosave(false);
param_reset_all();
}
};