Skip to content

Commit a1133a1

Browse files
committed
Fix TPC CTF IO test
Compare data-members explicitly to avoid padding problems in blockwise comparison
1 parent e99a249 commit a1133a1

1 file changed

Lines changed: 11 additions & 1 deletion

File tree

Detectors/CTF/test/test_ctf_io_tpc.cxx

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,5 +131,15 @@ BOOST_AUTO_TEST_CASE(CTFTest)
131131
//
132132
// compare with original flat clusters
133133
BOOST_CHECK(vecIn.size() == bVec.size());
134-
BOOST_CHECK(memcmp(vecIn.data(), bVec.data(), bVec.size()) == 0);
134+
const CompressedClustersCounters* countOrig = reinterpret_cast<const CompressedClustersCounters*>(bVec.data());
135+
const CompressedClustersCounters* countDeco = reinterpret_cast<const CompressedClustersCounters*>(vecIn.data());
136+
BOOST_CHECK(countOrig->nTracks == countDeco->nTracks);
137+
BOOST_CHECK(countOrig->nAttachedClusters == countDeco->nAttachedClusters);
138+
BOOST_CHECK(countOrig->nUnattachedClusters == countDeco->nUnattachedClusters);
139+
BOOST_CHECK(countOrig->nAttachedClustersReduced == countDeco->nAttachedClustersReduced);
140+
BOOST_CHECK(countOrig->nSliceRows == countDeco->nSliceRows);
141+
BOOST_CHECK(countOrig->nComppressionModes == countDeco->nComppressionModes);
142+
BOOST_CHECK(countOrig->solenoidBz == countDeco->solenoidBz);
143+
BOOST_CHECK(countOrig->maxTimeBin == countDeco->maxTimeBin);
144+
BOOST_CHECK(memcmp(vecIn.data() + sizeof(o2::tpc::CompressedClustersCounters), bVec.data() + sizeof(o2::tpc::CompressedClustersCounters), bVec.size() - sizeof(o2::tpc::CompressedClustersCounters)) == 0);
135145
}

0 commit comments

Comments
 (0)