Update FSFW #33
@ -60,6 +60,8 @@ if(FSFW_BUILD_UNITTESTS)
|
||||
)
|
||||
|
||||
FetchContent_MakeAvailable(Catch2)
|
||||
#fixes regression -preview4, to be confirmed in later releases
|
||||
set_target_properties(Catch2 PROPERTIES DEBUG_POSTFIX "")
|
||||
endif()
|
||||
|
||||
set(FSFW_CONFIG_PATH tests/src/fsfw_tests/unit/testcfg)
|
||||
|
@ -6,9 +6,3 @@ RUN apt-get --yes upgrade
|
||||
#tzdata is a dependency, won't install otherwise
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
RUN apt-get --yes install gcc g++ cmake make lcov git valgrind nano iputils-ping
|
||||
|
||||
RUN git clone https://github.com/catchorg/Catch2.git && \
|
||||
cd Catch2 && \
|
||||
git checkout v3.0.0-preview4 && \
|
||||
cmake -Bbuild -H. -DBUILD_TESTING=OFF && \
|
||||
cmake --build build/ --target install
|
||||
|
8
automation/Jenkinsfile
vendored
8
automation/Jenkinsfile
vendored
@ -3,13 +3,7 @@ pipeline {
|
||||
BUILDDIR = 'build-tests'
|
||||
}
|
||||
agent {
|
||||
dockerfile {
|
||||
dir 'automation'
|
||||
//force docker to redownload base image and rebuild all steps instead of caching them
|
||||
//this way, we always get an up to date docker image one each build
|
||||
additionalBuildArgs '--no-cache --pull'
|
||||
reuseNode true
|
||||
}
|
||||
docker { image 'fsfw-ci:d1'}
|
||||
}
|
||||
stages {
|
||||
stage('Clean') {
|
||||
|
@ -291,3 +291,5 @@ float LocalPoolDataSetBase::getCollectionInterval() const {
|
||||
return 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
void LocalPoolDataSetBase::printSet() { return; }
|
||||
|
@ -171,6 +171,11 @@ class LocalPoolDataSetBase : public PoolDataSetBase, public MarkChangedIF {
|
||||
*/
|
||||
float getCollectionInterval() const;
|
||||
|
||||
/**
|
||||
* @brief Can be overwritten by a specific implementation of a dataset to print the set.
|
||||
*/
|
||||
virtual void printSet();
|
||||
|
||||
protected:
|
||||
sid_t sid;
|
||||
//! This mutex is used if the data is created by one object only.
|
||||
|
@ -665,6 +665,11 @@ void DeviceHandlerBase::doGetWrite() {
|
||||
void DeviceHandlerBase::doSendRead() {
|
||||
ReturnValue_t result;
|
||||
|
||||
result = doSendReadHook();
|
||||
if (result != RETURN_OK) {
|
||||
return;
|
||||
}
|
||||
|
||||
size_t replyLen = 0;
|
||||
if (cookieInfo.pendingCommand != deviceCommandMap.end()) {
|
||||
replyLen = getNextReplyLength(cookieInfo.pendingCommand->first);
|
||||
@ -920,6 +925,8 @@ void DeviceHandlerBase::commandSwitch(ReturnValue_t onOff) {
|
||||
}
|
||||
}
|
||||
|
||||
ReturnValue_t DeviceHandlerBase::doSendReadHook() { return RETURN_OK; }
|
||||
|
||||
ReturnValue_t DeviceHandlerBase::getSwitches(const uint8_t** switches, uint8_t* numberOfSwitches) {
|
||||
return DeviceHandlerBase::NO_SWITCH;
|
||||
}
|
||||
|
@ -1082,6 +1082,12 @@ class DeviceHandlerBase : public DeviceHandlerIF,
|
||||
*/
|
||||
void commandSwitch(ReturnValue_t onOff);
|
||||
|
||||
/**
|
||||
* @brief This function can be used to insert device specific code during the do-send-read
|
||||
* step.
|
||||
*/
|
||||
virtual ReturnValue_t doSendReadHook();
|
||||
|
||||
private:
|
||||
/**
|
||||
* State a cookie is in.
|
||||
|
Loading…
Reference in New Issue
Block a user