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
18#include "Headers/Stack.h"
19#include "Headers/DataHeader.h"
20
21using namespace o2::utilities;
22using namespace o2::header;
23
24BOOST_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
38BOOST_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
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);
51}
52
53BOOST_AUTO_TEST_CASE(DataSamplingHeaderAssignement)
54{
55 o2::header::DataHeader original("A", "TST", 1);
56 DataSamplingHeader first{123, 456, 789, "abc", original};
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
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);
74}
75
76BOOST_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}
A declaration of O2 Data Sampling Header.
GLint first
Definition glcorearb.h:399
O2 data header classes and API, v0.1.
Definition DetID.h:49
BOOST_AUTO_TEST_CASE(Descriptor_test)
A header which contains some meta-data generated by Data Sampling.
the main header struct
Definition DataHeader.h:618
a move-only header stack with serialized headers This is the flat buffer where all the headers in a m...
Definition Stack.h:36
header::DataHeader::SubSpecificationType subSpecification
Presampled subSpecification for the data.
header::DataDescription dataDescription
Presampled description for the data. Copied from the original DataHeader.
header::DataOrigin dataOrigin
Presampled origin for the data. Copied from the original DataHeader.
BOOST_CHECK_EQUAL(triggersD.size(), triggers.size())