Project
Loading...
Searching...
No Matches
test_DataSamplingHeader.cxx
Go to the documentation of this file.
1
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3
// All rights not expressly granted are reserved.
4
//
5
// This software is distributed under the terms of the GNU General Public
6
// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7
//
8
// In applying this license CERN does not waive the privileges and immunities
9
// granted to it by virtue of its status as an Intergovernmental Organization
10
// or submit itself to any jurisdiction.
11
#define BOOST_TEST_MODULE Test Framework DataSamplingHeader
12
#define BOOST_TEST_MAIN
13
#define BOOST_TEST_DYN_LINK
14
15
#include <boost/test/unit_test.hpp>
16
17
#include "
DataSampling/DataSamplingHeader.h
"
18
#include "
Headers/Stack.h
"
19
#include "
Headers/DataHeader.h
"
20
21
using namespace
o2::utilities
;
22
using namespace
o2::header
;
23
24
BOOST_AUTO_TEST_CASE
(DataSamplingHeaderInit)
25
{
26
o2::header::DataHeader
original(
"A"
,
"TST"
, 1);
27
DataSamplingHeader
header{123, 456, 789,
"abc"
, original};
28
29
BOOST_CHECK_EQUAL
(header.sampleTimeUs, 123);
30
BOOST_CHECK_EQUAL
(header.totalAcceptedMessages, 456);
31
BOOST_CHECK_EQUAL
(header.totalEvaluatedMessages, 789);
32
BOOST_CHECK_EQUAL
(strcmp(header.deviceID.str,
"abc"
), 0);
33
BOOST_CHECK_EQUAL
(strcmp(header.dataOrigin.str,
"TST"
), 0);
34
BOOST_CHECK_EQUAL
(strcmp(header.dataDescription.str,
"A"
), 0);
35
BOOST_CHECK_EQUAL
(header.subSpecification, 1);
36
}
37
38
BOOST_AUTO_TEST_CASE
(DataSamplingHeaderCopy)
39
{
40
o2::header::DataHeader
original(
"A"
,
"TST"
, 1);
41
DataSamplingHeader
header{123, 456, 789,
"abc"
, original};
42
DataSamplingHeader
copy(header);
43
44
BOOST_CHECK_EQUAL
(copy.
sampleTimeUs
, 123);
45
BOOST_CHECK_EQUAL
(copy.
totalAcceptedMessages
, 456);
46
BOOST_CHECK_EQUAL
(copy.
totalEvaluatedMessages
, 789);
47
BOOST_CHECK_EQUAL
(strcmp(copy.
deviceID
.
str
,
"abc"
), 0);
48
BOOST_CHECK_EQUAL
(strcmp(copy.
dataOrigin
.
str
,
"TST"
), 0);
49
BOOST_CHECK_EQUAL
(strcmp(copy.
dataDescription
.
str
,
"A"
), 0);
50
BOOST_CHECK_EQUAL
(copy.
subSpecification
, 1);
51
}
52
53
BOOST_AUTO_TEST_CASE
(DataSamplingHeaderAssignement)
54
{
55
o2::header::DataHeader
original(
"A"
,
"TST"
, 1);
56
DataSamplingHeader
first
{123, 456, 789,
"abc"
, original};
57
DataSamplingHeader
second =
first
;
58
59
BOOST_CHECK_EQUAL
(
first
.sampleTimeUs, 123);
60
BOOST_CHECK_EQUAL
(
first
.totalAcceptedMessages, 456);
61
BOOST_CHECK_EQUAL
(
first
.totalEvaluatedMessages, 789);
62
BOOST_CHECK_EQUAL
(strcmp(
first
.deviceID.str,
"abc"
), 0);
63
BOOST_CHECK_EQUAL
(strcmp(
first
.dataOrigin.str,
"TST"
), 0);
64
BOOST_CHECK_EQUAL
(strcmp(
first
.dataDescription.str,
"A"
), 0);
65
BOOST_CHECK_EQUAL
(
first
.subSpecification, 1);
66
67
BOOST_CHECK_EQUAL
(second.
sampleTimeUs
, 123);
68
BOOST_CHECK_EQUAL
(second.
totalAcceptedMessages
, 456);
69
BOOST_CHECK_EQUAL
(second.
totalEvaluatedMessages
, 789);
70
BOOST_CHECK_EQUAL
(strcmp(second.
deviceID
.
str
,
"abc"
), 0);
71
BOOST_CHECK_EQUAL
(strcmp(second.
dataOrigin
.
str
,
"TST"
), 0);
72
BOOST_CHECK_EQUAL
(strcmp(second.
dataDescription
.
str
,
"A"
), 0);
73
BOOST_CHECK_EQUAL
(second.
subSpecification
, 1);
74
}
75
76
BOOST_AUTO_TEST_CASE
(DataSamplingHeaderOnStack)
77
{
78
o2::header::DataHeader
original(
"A"
,
"TST"
, 1);
79
DataSamplingHeader
header{123, 456, 789,
"abc"
, original};
80
Stack
headerStack{header};
81
82
const
auto
* dsHeaderFromStack = get<DataSamplingHeader*>(headerStack.data());
83
BOOST_REQUIRE_NE(dsHeaderFromStack,
nullptr
);
84
85
BOOST_CHECK_EQUAL
(dsHeaderFromStack->sampleTimeUs, 123);
86
BOOST_CHECK_EQUAL
(dsHeaderFromStack->totalAcceptedMessages, 456);
87
BOOST_CHECK_EQUAL
(dsHeaderFromStack->totalEvaluatedMessages, 789);
88
BOOST_CHECK_EQUAL
(strcmp(dsHeaderFromStack->deviceID.str,
"abc"
), 0);
89
BOOST_CHECK_EQUAL
(strcmp(dsHeaderFromStack->dataOrigin.str,
"TST"
), 0);
90
BOOST_CHECK_EQUAL
(strcmp(dsHeaderFromStack->dataDescription.str,
"A"
), 0);
91
BOOST_CHECK_EQUAL
(dsHeaderFromStack->subSpecification, 1);
92
}
Stack.h
DataHeader.h
DataSamplingHeader.h
A declaration of O2 Data Sampling Header.
int
first
GLint first
Definition
glcorearb.h:399
o2::header
O2 data header classes and API, v0.1.
Definition
DetID.h:49
o2::header::BOOST_AUTO_TEST_CASE
BOOST_AUTO_TEST_CASE(Descriptor_test)
Definition
testDataHeader.cxx:56
o2::utilities
A header which contains some meta-data generated by Data Sampling.
Definition
DataSampling.h:38
o2::header::DataHeader
the main header struct
Definition
DataHeader.h:618
o2::header::Descriptor::str
char str[N]
Definition
DataHeader.h:217
o2::header::Stack
a move-only header stack with serialized headers This is the flat buffer where all the headers in a m...
Definition
Stack.h:36
o2::utilities::DataSamplingHeader
Definition
DataSamplingHeader.h:27
o2::utilities::DataSamplingHeader::totalAcceptedMessages
uint32_t totalAcceptedMessages
Definition
DataSamplingHeader.h:40
o2::utilities::DataSamplingHeader::subSpecification
header::DataHeader::SubSpecificationType subSpecification
Presampled subSpecification for the data.
Definition
DataSamplingHeader.h:49
o2::utilities::DataSamplingHeader::dataDescription
header::DataDescription dataDescription
Presampled description for the data. Copied from the original DataHeader.
Definition
DataSamplingHeader.h:45
o2::utilities::DataSamplingHeader::totalEvaluatedMessages
uint32_t totalEvaluatedMessages
Definition
DataSamplingHeader.h:41
o2::utilities::DataSamplingHeader::dataOrigin
header::DataOrigin dataOrigin
Presampled origin for the data. Copied from the original DataHeader.
Definition
DataSamplingHeader.h:47
o2::utilities::DataSamplingHeader::sampleTimeUs
uint64_t sampleTimeUs
Definition
DataSamplingHeader.h:39
o2::utilities::DataSamplingHeader::deviceID
DeviceIDType deviceID
Definition
DataSamplingHeader.h:42
BOOST_CHECK_EQUAL
BOOST_CHECK_EQUAL(triggersD.size(), triggers.size())
Utilities
DataSampling
test
test_DataSamplingHeader.cxx
Generated on Fri Apr 11 2025 11:41:56 for Project by
1.9.8