test: Deduplicate code and fix [-Wunused-result]

This commit is contained in:
Dennis Klein 2023-02-28 15:29:52 +01:00 committed by Dennis Klein
parent b25c0787c0
commit c2fa2e8848

View File

@ -1,5 +1,5 @@
/******************************************************************************** /********************************************************************************
* Copyright (C) 2018-2022 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH * * Copyright (C) 2018-2023 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH *
* * * *
* This software is distributed under the terms of the * * This software is distributed under the terms of the *
* GNU Lesser General Public Licence (LGPL) version 3, * * GNU Lesser General Public Licence (LGPL) version 3, *
@ -10,96 +10,35 @@
#define FAIR_MQ_TEST_ERROR_STATE_H #define FAIR_MQ_TEST_ERROR_STATE_H
#include <fairmq/Device.h> #include <fairmq/Device.h>
#include <fairmq/Tools.h>
#include <fairlogger/Logger.h> #include <fairlogger/Logger.h>
#include <iostream> #include <string_view>
namespace fair::mq::test namespace fair::mq::test
{ {
class ErrorState : public Device class ErrorState : public Device
{ {
auto ErrorIfRequestedById(std::string_view state)
{
if (std::string::npos != GetId().find(tools::ToString("_", state, "_"))) {
LOG(info) << "going to change to Error state from " << state << "()";
ChangeStateOrThrow(fair::mq::Transition::ErrorFound);
}
}
public: public:
void Init() override void Init() override { ErrorIfRequestedById("Init"); }
{ void Bind() override { ErrorIfRequestedById("Bind"); }
std::string state("Init"); void Connect() override { ErrorIfRequestedById("Connect"); }
if (std::string::npos != GetId().find("_" + state + "_")) { void InitTask() override { ErrorIfRequestedById("InitTask"); }
LOG(info) << "going to change to Error state from " << state << "()"; void PreRun() override { ErrorIfRequestedById("PreRun"); }
ChangeState(fair::mq::Transition::ErrorFound); void Run() override { ErrorIfRequestedById("Run"); }
} void PostRun() override { ErrorIfRequestedById("PostRun"); }
} void ResetTask() override { ErrorIfRequestedById("ResetTask"); }
void Reset() override { ErrorIfRequestedById("Reset"); }
void Bind() override
{
std::string state("Bind");
if (std::string::npos != GetId().find("_" + state + "_")) {
LOG(info) << "going to change to Error state from " << state << "()";
ChangeState(fair::mq::Transition::ErrorFound);
}
}
void Connect() override
{
std::string state("Connect");
if (std::string::npos != GetId().find("_" + state + "_")) {
LOG(info) << "going to change to Error state from " << state << "()";
ChangeState(fair::mq::Transition::ErrorFound);
}
}
void InitTask() override
{
std::string state("InitTask");
if (std::string::npos != GetId().find("_" + state + "_")) {
LOG(info) << "going to change to Error state from " << state << "()";
ChangeState(fair::mq::Transition::ErrorFound);
}
}
void PreRun() override
{
std::string state("PreRun");
if (std::string::npos != GetId().find("_" + state + "_")) {
LOG(info) << "going to change to Error state from " << state << "()";
ChangeState(fair::mq::Transition::ErrorFound);
}
}
void Run() override
{
std::string state("Run");
if (std::string::npos != GetId().find("_" + state + "_")) {
LOG(info) << "going to change to Error state from " << state << "()";
ChangeState(fair::mq::Transition::ErrorFound);
}
}
void PostRun() override
{
std::string state("PostRun");
if (std::string::npos != GetId().find("_" + state + "_")) {
LOG(info) << "going to change to Error state from " << state << "()";
ChangeState(fair::mq::Transition::ErrorFound);
}
}
void ResetTask() override
{
std::string state("ResetTask");
if (std::string::npos != GetId().find("_" + state + "_")) {
LOG(info) << "going to change to Error state from " << state << "()";
ChangeState(fair::mq::Transition::ErrorFound);
}
}
void Reset() override
{
std::string state("Reset");
if (std::string::npos != GetId().find("_" + state + "_")) {
LOG(info) << "going to change to Error state from " << state << "()";
ChangeState(fair::mq::Transition::ErrorFound);
}
}
}; };
} // namespace fair::mq::test } // namespace fair::mq::test