Skip to content

Commit 6c5e7da

Browse files
authored
QC-1246 Explicit Quality constructor to avoid implicit casts from integers (#2472)
1 parent 036bc2f commit 6c5e7da

4 files changed

Lines changed: 8 additions & 17 deletions

File tree

Framework/include/QualityControl/Quality.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class Quality
3535
{
3636
public:
3737
/// Default constructor
38-
Quality(unsigned int level = Quality::NullLevel, std::string name = "");
38+
explicit Quality(unsigned int level = Quality::NullLevel, std::string name = "");
3939

4040
/// Destructor
4141
virtual ~Quality() = default;

Framework/test/testAggregatorInterface.cxx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,10 @@ TEST_CASE("test_invoke_all_methods")
7878
test::SimpleTestAggregator testAggregator;
7979

8080
// prepare data
81-
std::shared_ptr<QualityObject> qo_null = make_shared<QualityObject>(0, "testCheckNull", "TST");
82-
std::shared_ptr<QualityObject> qo_good = make_shared<QualityObject>(1, "testCheckGood", "TST");
83-
std::shared_ptr<QualityObject> qo_medium = make_shared<QualityObject>(2, "testCheckMedium", "TST");
84-
std::shared_ptr<QualityObject> qo_bad = make_shared<QualityObject>(3, "testCheckBad", "TST");
81+
std::shared_ptr<QualityObject> qo_null = make_shared<QualityObject>(Quality::Null, "testCheckNull", "TST");
82+
std::shared_ptr<QualityObject> qo_good = make_shared<QualityObject>(Quality::Good, "testCheckGood", "TST");
83+
std::shared_ptr<QualityObject> qo_medium = make_shared<QualityObject>(Quality::Medium, "testCheckMedium", "TST");
84+
std::shared_ptr<QualityObject> qo_bad = make_shared<QualityObject>(Quality::Bad, "testCheckBad", "TST");
8585
QualityObjectsMapType input;
8686

8787
std::map<std::string, Quality> result1 = testAggregator.aggregate(input);

Framework/test/testBookkeepingQualitySink.cxx

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,11 @@
1515
///
1616

1717
#include <DataFormatsQualityControl/QualityControlFlag.h>
18-
#include <DataSampling/DataSampling.h>
1918
#include "QualityControl/BookkeepingQualitySink.h"
2019
#include "QualityControl/InfrastructureGenerator.h"
2120

2221
using namespace o2;
2322
using namespace o2::framework;
24-
using namespace o2::utilities;
2523

2624
void customize(std::vector<CompletionPolicy>& policies)
2725
{
@@ -30,12 +28,8 @@ void customize(std::vector<CompletionPolicy>& policies)
3028

3129
#include <Framework/runDataProcessing.h>
3230
#include <Framework/ControlService.h>
33-
#include <Configuration/ConfigurationFactory.h>
34-
#include <Configuration/ConfigurationInterface.h>
35-
#include <QualityControl/BookkeepingQualitySink.h>
36-
#include <QualityControl/QualityObject.h>
37-
38-
using namespace o2::configuration;
31+
#include "QualityControl/QualityObject.h"
32+
#include "QualityControl/Quality.h"
3933

4034
void compareFatal(const quality_control::QualityControlFlag& got, const quality_control::QualityControlFlag& expected)
4135
{
@@ -57,7 +51,7 @@ WorkflowSpec defineDataProcessing(ConfigContext const&)
5751
Inputs{},
5852
Outputs{ { { "tst-qo" }, "TST", "DATA" } },
5953
AlgorithmSpec{ [](ProcessingContext& ctx) {
60-
auto obj = std::make_unique<core::QualityObject>(0, "testCheckNull", "TST");
54+
auto obj = std::make_unique<core::QualityObject>(core::Quality::Null, "testCheckNull", "TST");
6155
obj->getActivity().mValidity = core::ValidityInterval{ 10, 500 };
6256
obj->addFlag(FlagTypeFactory::Good(), "I am comment");
6357
ctx.outputs().snapshot(Output{ "TST", "DATA", 0 }, *obj);

Modules/TRD/src/PulsePositionCheck.cxx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -229,9 +229,6 @@ void PulsePositionCheck::beautify(std::shared_ptr<MonitorObject> mo, Quality che
229229
} else if (checkResult == Quality::Null) {
230230
ILOG(Debug, Devel) << "Quality::Null, setting to Blue" << ENDM;
231231
h->SetFillColor(kBlue);
232-
} else if (checkResult == Quality::NullLevel) {
233-
ILOG(Debug, Devel) << "Quality::Null, setting to Pink" << ENDM;
234-
h->SetFillColor(kPink);
235232
}
236233
h->SetLineColor(kBlack);
237234
h->Draw();

0 commit comments

Comments
 (0)