GCC Code Coverage Report


Directory: ./
File: src/detID/nameparse.test.cc
Date: 2025-09-01 06:19:01
Exec Total Coverage
Lines: 46 46 100.0%
Functions: 12 12 100.0%
Branches: 107 175 61.1%

Line Branch Exec Source
1 #include "na64detID/nameparse.hh"
2
3 #include <gtest/gtest.h>
4
5 namespace na64dp {
6 namespace nameutils {
7
8 8 TEST( detNameParsing, commonNameForm ) {
9 2 std::string name, number, payload;
10
4/6
✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
4 ASSERT_TRUE( tokenize_name_str( "SOMEDET01", name, number, payload ) );
11
3/5
✓ Branch 2 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
2 ASSERT_STREQ( name.c_str(), "SOMEDET" );
12
3/5
✓ Branch 2 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
2 ASSERT_STREQ( number.c_str(), "01" );
13
2/4
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
2 ASSERT_TRUE( payload.empty() );
14
15 // tokenization fails due to lowercase letters
16
4/6
✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
4 ASSERT_FALSE( tokenize_name_str( "somedet01", name, number, payload ) );
17 // tokenization fail due to digits
18
4/6
✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
4 ASSERT_FALSE( tokenize_name_str( "1AB01", name, number, payload ) );
19 2 }
20
21 8 TEST( detNameParsing, numberlessNameForm ) {
22 2 std::string name, number, payload;
23
4/6
✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
4 ASSERT_TRUE( tokenize_name_str( "SOME", name, number, payload ) );
24
3/5
✓ Branch 2 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
2 ASSERT_STREQ( name.c_str(), "SOME" );
25
2/4
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
2 ASSERT_TRUE( number.empty() );
26
2/4
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
2 ASSERT_TRUE( payload.empty() );
27 2 }
28
29 8 TEST( detNameParsing, tbnamePayloadForm ) {
30 2 std::string name, number, payload;
31
32
4/6
✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
4 ASSERT_TRUE( tokenize_name_str( "HOD2X", name, number, payload ) );
33
3/5
✓ Branch 2 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
2 ASSERT_STREQ( name.c_str(), "HOD" );
34
3/5
✓ Branch 2 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
2 ASSERT_STREQ( number.c_str(), "2" );
35
3/5
✓ Branch 2 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
2 ASSERT_STREQ( payload.c_str(), "X" );
36
37
4/6
✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
4 ASSERT_TRUE( tokenize_name_str( "MM2X", name, number, payload ) );
38
3/5
✓ Branch 2 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
2 ASSERT_STREQ( name.c_str(), "MM" );
39
3/5
✓ Branch 2 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
2 ASSERT_STREQ( number.c_str(), "2" );
40
3/5
✓ Branch 2 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
2 ASSERT_STREQ( payload.c_str(), "X" );
41
42
4/6
✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
4 ASSERT_TRUE( tokenize_name_str( "GM0Y__", name, number, payload ) );
43
3/5
✓ Branch 2 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
2 ASSERT_STREQ( name.c_str(), "GM" );
44
3/5
✓ Branch 2 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
2 ASSERT_STREQ( number.c_str(), "0" );
45
3/5
✓ Branch 2 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
2 ASSERT_STREQ( payload.c_str(), "Y__" );
46 2 }
47
48 8 TEST( detNameParsing, extendedPayloadForm ) {
49 2 std::string name, number, payload;
50
51
4/6
✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
4 ASSERT_TRUE( tokenize_name_str( "ECAL0:1", name, number, payload ) );
52
3/5
✓ Branch 2 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
2 ASSERT_STREQ( name.c_str(), "ECAL" );
53
3/5
✓ Branch 2 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
2 ASSERT_STREQ( number.c_str(), "0" );
54
3/5
✓ Branch 2 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
2 ASSERT_STREQ( payload.c_str(), "1" );
55
56
4/6
✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
4 ASSERT_TRUE( tokenize_name_str( "ECAL:1-2-3", name, number, payload ) );
57
3/5
✓ Branch 2 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
2 ASSERT_STREQ( name.c_str(), "ECAL" );
58
2/4
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
2 ASSERT_TRUE( number.empty() );
59
3/5
✓ Branch 2 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
2 ASSERT_STREQ( payload.c_str(), "1-2-3" );
60
61
4/6
✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
4 ASSERT_TRUE( tokenize_name_str( "SOME-0", name, number, payload ) );
62
3/5
✓ Branch 2 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
2 ASSERT_STREQ( name.c_str(), "SOME" );
63
2/4
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
2 ASSERT_TRUE( number.empty() );
64
3/5
✓ Branch 2 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
2 ASSERT_STREQ( payload.c_str(), "0" );
65 2 }
66
67 }
68 }
69