Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c43222939f | ||
|
|
a55d1c58ed | ||
|
|
849ce31e2f | ||
|
|
e555ebb571 | ||
|
|
fc97682b37 | ||
|
|
713276d34a | ||
|
|
a202ba12ba | ||
|
|
4ae4e527b8 | ||
|
|
d87c100398 | ||
|
|
0b05152bcf | ||
|
|
6d6ace4315 | ||
|
|
c3d3bd51fb | ||
|
|
7022c84941 | ||
|
|
0708316a37 | ||
|
|
51fcdb88ac | ||
|
|
bce707daf6 | ||
|
|
a6016248f8 | ||
|
|
ef8e21db2e | ||
|
|
21d6f12163 | ||
|
|
1d56a37090 | ||
|
|
344beaf58c | ||
|
|
8bf5dcff30 | ||
|
|
3dd9230fca | ||
|
|
a0938cb29c | ||
|
|
a533d9aa00 | ||
|
|
e5d818d9b2 | ||
|
|
65142fdfe3 | ||
|
|
f17ddb6aad | ||
|
|
0067cb4ddd | ||
|
|
03dc8f2a13 | ||
|
|
6cd99768ae | ||
|
|
1163277b17 | ||
|
|
b91cf4aae5 | ||
|
|
8d82b13dad | ||
|
|
88b5883dda | ||
|
|
3bd9339baf | ||
|
|
69074e3321 | ||
|
|
2c057b631d |
No files matched your search
@@ -0,0 +1,65 @@
|
|||||||
|
BasedOnStyle: LLVM
|
||||||
|
AccessModifierOffset: -4
|
||||||
|
AlignAfterOpenBracket: Align
|
||||||
|
AlignConsecutiveAssignments: None
|
||||||
|
AlignOperands: Align
|
||||||
|
AllowAllArgumentsOnNextLine: false
|
||||||
|
AllowAllConstructorInitializersOnNextLine: false
|
||||||
|
AllowAllParametersOfDeclarationOnNextLine: false
|
||||||
|
AllowShortBlocksOnASingleLine: Always
|
||||||
|
AllowShortCaseLabelsOnASingleLine: false
|
||||||
|
AllowShortFunctionsOnASingleLine: All
|
||||||
|
AllowShortIfStatementsOnASingleLine: Always
|
||||||
|
AllowShortLambdasOnASingleLine: All
|
||||||
|
AllowShortLoopsOnASingleLine: true
|
||||||
|
AlwaysBreakAfterReturnType: None
|
||||||
|
AlwaysBreakTemplateDeclarations: Yes
|
||||||
|
BreakBeforeBraces: Custom
|
||||||
|
BraceWrapping:
|
||||||
|
AfterCaseLabel: false
|
||||||
|
AfterClass: false
|
||||||
|
AfterControlStatement: Never
|
||||||
|
AfterEnum: false
|
||||||
|
AfterFunction: false
|
||||||
|
AfterNamespace: false
|
||||||
|
AfterUnion: false
|
||||||
|
BeforeCatch: false
|
||||||
|
BeforeElse: false
|
||||||
|
IndentBraces: false
|
||||||
|
SplitEmptyFunction: false
|
||||||
|
SplitEmptyRecord: true
|
||||||
|
BreakBeforeBinaryOperators: None
|
||||||
|
BreakBeforeTernaryOperators: true
|
||||||
|
BreakConstructorInitializers: BeforeColon
|
||||||
|
BreakInheritanceList: BeforeColon
|
||||||
|
ColumnLimit: 0
|
||||||
|
CompactNamespaces: false
|
||||||
|
ContinuationIndentWidth: 8
|
||||||
|
IndentCaseLabels: true
|
||||||
|
IndentPPDirectives: None
|
||||||
|
IndentWidth: 4
|
||||||
|
KeepEmptyLinesAtTheStartOfBlocks: true
|
||||||
|
MaxEmptyLinesToKeep: 2
|
||||||
|
NamespaceIndentation: All
|
||||||
|
ObjCSpaceAfterProperty: false
|
||||||
|
ObjCSpaceBeforeProtocolList: true
|
||||||
|
PointerAlignment: Right
|
||||||
|
ReflowComments: false
|
||||||
|
SpaceAfterCStyleCast: true
|
||||||
|
SpaceAfterLogicalNot: false
|
||||||
|
SpaceAfterTemplateKeyword: false
|
||||||
|
SpaceBeforeAssignmentOperators: true
|
||||||
|
SpaceBeforeCpp11BracedList: false
|
||||||
|
SpaceBeforeCtorInitializerColon: true
|
||||||
|
SpaceBeforeInheritanceColon: true
|
||||||
|
SpaceBeforeParens: ControlStatements
|
||||||
|
SpaceBeforeRangeBasedForLoopColon: false
|
||||||
|
SpaceInEmptyParentheses: false
|
||||||
|
SpacesBeforeTrailingComments: 0
|
||||||
|
SpacesInAngles: false
|
||||||
|
SpacesInCStyleCastParentheses: false
|
||||||
|
SpacesInContainerLiterals: false
|
||||||
|
SpacesInParentheses: false
|
||||||
|
SpacesInSquareBrackets: false
|
||||||
|
TabWidth: 4
|
||||||
|
UseTab: Never
|
||||||
@@ -1 +1,4 @@
|
|||||||
*.user
|
*.user
|
||||||
|
.project_rules
|
||||||
|
AGENTS.md
|
||||||
|
build
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
QMAKE_CXX.QT_COMPILER_STDCXX = 201703L
|
||||||
|
QMAKE_CXX.QMAKE_GCC_MAJOR_VERSION = 14
|
||||||
|
QMAKE_CXX.QMAKE_GCC_MINOR_VERSION = 2
|
||||||
|
QMAKE_CXX.QMAKE_GCC_PATCH_VERSION = 0
|
||||||
|
QMAKE_CXX.COMPILER_MACROS = \
|
||||||
|
QT_COMPILER_STDCXX \
|
||||||
|
QMAKE_GCC_MAJOR_VERSION \
|
||||||
|
QMAKE_GCC_MINOR_VERSION \
|
||||||
|
QMAKE_GCC_PATCH_VERSION
|
||||||
|
QMAKE_CXX.INCDIRS = \
|
||||||
|
/usr/include/c++/14 \
|
||||||
|
/usr/include/x86_64-linux-gnu/c++/14 \
|
||||||
|
/usr/include/c++/14/backward \
|
||||||
|
/usr/lib/gcc/x86_64-linux-gnu/14/include \
|
||||||
|
/usr/local/include \
|
||||||
|
/usr/include/x86_64-linux-gnu \
|
||||||
|
/usr/include
|
||||||
|
QMAKE_CXX.LIBDIRS = \
|
||||||
|
/usr/lib/gcc/x86_64-linux-gnu/14 \
|
||||||
|
/usr/lib/x86_64-linux-gnu \
|
||||||
|
/usr/lib \
|
||||||
|
/lib/x86_64-linux-gnu \
|
||||||
|
/lib
|
||||||
@@ -0,0 +1,642 @@
|
|||||||
|
#############################################################################
|
||||||
|
# Makefile for building: dbc
|
||||||
|
# Generated by qmake (3.1) (Qt 6.8.2)
|
||||||
|
# Project: ../dbc.pro
|
||||||
|
# Template: subdirs
|
||||||
|
# Command: /usr/bin/qmake6 -o Makefile ../dbc.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage
|
||||||
|
#############################################################################
|
||||||
|
|
||||||
|
MAKEFILE = Makefile
|
||||||
|
|
||||||
|
EQ = =
|
||||||
|
|
||||||
|
first: make_first
|
||||||
|
QMAKE = /usr/bin/qmake6
|
||||||
|
DEL_FILE = rm -f
|
||||||
|
CHK_DIR_EXISTS= test -d
|
||||||
|
MKDIR = mkdir -p
|
||||||
|
COPY = cp -f
|
||||||
|
COPY_FILE = cp -f
|
||||||
|
COPY_DIR = cp -f -R
|
||||||
|
INSTALL_FILE = install -m 644 -p
|
||||||
|
INSTALL_PROGRAM = install -m 755 -p
|
||||||
|
INSTALL_DIR = cp -f -R
|
||||||
|
QINSTALL = /usr/bin/qmake6 -install qinstall
|
||||||
|
QINSTALL_PROGRAM = /usr/bin/qmake6 -install qinstall -exe
|
||||||
|
DEL_FILE = rm -f
|
||||||
|
SYMLINK = ln -f -s
|
||||||
|
DEL_DIR = rmdir
|
||||||
|
MOVE = mv -f
|
||||||
|
TAR = tar -cf
|
||||||
|
COMPRESS = gzip -9f
|
||||||
|
DISTNAME = dbc1.0.0
|
||||||
|
DISTDIR = /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-coverage/.tmp/dbc1.0.0
|
||||||
|
SUBTARGETS = \
|
||||||
|
sub-core \
|
||||||
|
sub-tests \
|
||||||
|
sub-tests-tree_tests-pro \
|
||||||
|
sub-qt \
|
||||||
|
sub-tests-model_tests-pro
|
||||||
|
|
||||||
|
|
||||||
|
sub-core-qmake_all: FORCE
|
||||||
|
@test -d core/ || mkdir -p core/
|
||||||
|
cd core/ && $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage
|
||||||
|
cd core/ && $(MAKE) -f Makefile qmake_all
|
||||||
|
sub-core: FORCE
|
||||||
|
@test -d core/ || mkdir -p core/
|
||||||
|
cd core/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile
|
||||||
|
sub-core-make_first: FORCE
|
||||||
|
@test -d core/ || mkdir -p core/
|
||||||
|
cd core/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile
|
||||||
|
sub-core-all: FORCE
|
||||||
|
@test -d core/ || mkdir -p core/
|
||||||
|
cd core/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile all
|
||||||
|
sub-core-clean: FORCE
|
||||||
|
@test -d core/ || mkdir -p core/
|
||||||
|
cd core/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile clean
|
||||||
|
sub-core-distclean: FORCE
|
||||||
|
@test -d core/ || mkdir -p core/
|
||||||
|
cd core/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile distclean
|
||||||
|
sub-core-install_subtargets: FORCE
|
||||||
|
@test -d core/ || mkdir -p core/
|
||||||
|
cd core/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile install
|
||||||
|
sub-core-uninstall_subtargets: FORCE
|
||||||
|
@test -d core/ || mkdir -p core/
|
||||||
|
cd core/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile uninstall
|
||||||
|
sub-tests-qmake_all: sub-core-qmake_all FORCE
|
||||||
|
@test -d tests/ || mkdir -p tests/
|
||||||
|
cd tests/ && $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage
|
||||||
|
cd tests/ && $(MAKE) -f Makefile qmake_all
|
||||||
|
sub-tests: sub-core FORCE
|
||||||
|
@test -d tests/ || mkdir -p tests/
|
||||||
|
cd tests/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile
|
||||||
|
sub-tests-make_first: sub-core-make_first FORCE
|
||||||
|
@test -d tests/ || mkdir -p tests/
|
||||||
|
cd tests/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile
|
||||||
|
sub-tests-all: sub-core-all FORCE
|
||||||
|
@test -d tests/ || mkdir -p tests/
|
||||||
|
cd tests/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile all
|
||||||
|
sub-tests-clean: sub-core-clean FORCE
|
||||||
|
@test -d tests/ || mkdir -p tests/
|
||||||
|
cd tests/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile clean
|
||||||
|
sub-tests-distclean: sub-core-distclean FORCE
|
||||||
|
@test -d tests/ || mkdir -p tests/
|
||||||
|
cd tests/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile distclean
|
||||||
|
sub-tests-install_subtargets: sub-core-install_subtargets FORCE
|
||||||
|
@test -d tests/ || mkdir -p tests/
|
||||||
|
cd tests/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile install
|
||||||
|
sub-tests-uninstall_subtargets: sub-core-uninstall_subtargets FORCE
|
||||||
|
@test -d tests/ || mkdir -p tests/
|
||||||
|
cd tests/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile uninstall
|
||||||
|
sub-tests-tree_tests-pro-qmake_all: FORCE
|
||||||
|
@test -d tests/ || mkdir -p tests/
|
||||||
|
cd tests/ && $(QMAKE) -o Makefile.tree_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage
|
||||||
|
cd tests/ && $(MAKE) -f Makefile.tree_tests qmake_all
|
||||||
|
sub-tests-tree_tests-pro: FORCE
|
||||||
|
@test -d tests/ || mkdir -p tests/
|
||||||
|
cd tests/ && ( test -e Makefile.tree_tests || $(QMAKE) -o Makefile.tree_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.tree_tests
|
||||||
|
sub-tests-tree_tests-pro-make_first: FORCE
|
||||||
|
@test -d tests/ || mkdir -p tests/
|
||||||
|
cd tests/ && ( test -e Makefile.tree_tests || $(QMAKE) -o Makefile.tree_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.tree_tests
|
||||||
|
sub-tests-tree_tests-pro-all: FORCE
|
||||||
|
@test -d tests/ || mkdir -p tests/
|
||||||
|
cd tests/ && ( test -e Makefile.tree_tests || $(QMAKE) -o Makefile.tree_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.tree_tests all
|
||||||
|
sub-tests-tree_tests-pro-clean: FORCE
|
||||||
|
@test -d tests/ || mkdir -p tests/
|
||||||
|
cd tests/ && ( test -e Makefile.tree_tests || $(QMAKE) -o Makefile.tree_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.tree_tests clean
|
||||||
|
sub-tests-tree_tests-pro-distclean: FORCE
|
||||||
|
@test -d tests/ || mkdir -p tests/
|
||||||
|
cd tests/ && ( test -e Makefile.tree_tests || $(QMAKE) -o Makefile.tree_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.tree_tests distclean
|
||||||
|
sub-tests-tree_tests-pro-install_subtargets: FORCE
|
||||||
|
@test -d tests/ || mkdir -p tests/
|
||||||
|
cd tests/ && ( test -e Makefile.tree_tests || $(QMAKE) -o Makefile.tree_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.tree_tests install
|
||||||
|
sub-tests-tree_tests-pro-uninstall_subtargets: FORCE
|
||||||
|
@test -d tests/ || mkdir -p tests/
|
||||||
|
cd tests/ && ( test -e Makefile.tree_tests || $(QMAKE) -o Makefile.tree_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.tree_tests uninstall
|
||||||
|
sub-qt-qmake_all: sub-core-qmake_all FORCE
|
||||||
|
@test -d qt/ || mkdir -p qt/
|
||||||
|
cd qt/ && $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage
|
||||||
|
cd qt/ && $(MAKE) -f Makefile qmake_all
|
||||||
|
sub-qt: sub-core FORCE
|
||||||
|
@test -d qt/ || mkdir -p qt/
|
||||||
|
cd qt/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile
|
||||||
|
sub-qt-make_first: sub-core-make_first FORCE
|
||||||
|
@test -d qt/ || mkdir -p qt/
|
||||||
|
cd qt/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile
|
||||||
|
sub-qt-all: sub-core-all FORCE
|
||||||
|
@test -d qt/ || mkdir -p qt/
|
||||||
|
cd qt/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile all
|
||||||
|
sub-qt-clean: sub-core-clean FORCE
|
||||||
|
@test -d qt/ || mkdir -p qt/
|
||||||
|
cd qt/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile clean
|
||||||
|
sub-qt-distclean: sub-core-distclean FORCE
|
||||||
|
@test -d qt/ || mkdir -p qt/
|
||||||
|
cd qt/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile distclean
|
||||||
|
sub-qt-install_subtargets: sub-core-install_subtargets FORCE
|
||||||
|
@test -d qt/ || mkdir -p qt/
|
||||||
|
cd qt/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile install
|
||||||
|
sub-qt-uninstall_subtargets: sub-core-uninstall_subtargets FORCE
|
||||||
|
@test -d qt/ || mkdir -p qt/
|
||||||
|
cd qt/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile uninstall
|
||||||
|
sub-tests-model_tests-pro-qmake_all: sub-qt-qmake_all FORCE
|
||||||
|
@test -d tests/ || mkdir -p tests/
|
||||||
|
cd tests/ && $(QMAKE) -o Makefile.model_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage
|
||||||
|
cd tests/ && $(MAKE) -f Makefile.model_tests qmake_all
|
||||||
|
sub-tests-model_tests-pro: sub-qt FORCE
|
||||||
|
@test -d tests/ || mkdir -p tests/
|
||||||
|
cd tests/ && ( test -e Makefile.model_tests || $(QMAKE) -o Makefile.model_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.model_tests
|
||||||
|
sub-tests-model_tests-pro-make_first: sub-qt-make_first FORCE
|
||||||
|
@test -d tests/ || mkdir -p tests/
|
||||||
|
cd tests/ && ( test -e Makefile.model_tests || $(QMAKE) -o Makefile.model_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.model_tests
|
||||||
|
sub-tests-model_tests-pro-all: sub-qt-all FORCE
|
||||||
|
@test -d tests/ || mkdir -p tests/
|
||||||
|
cd tests/ && ( test -e Makefile.model_tests || $(QMAKE) -o Makefile.model_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.model_tests all
|
||||||
|
sub-tests-model_tests-pro-clean: sub-qt-clean FORCE
|
||||||
|
@test -d tests/ || mkdir -p tests/
|
||||||
|
cd tests/ && ( test -e Makefile.model_tests || $(QMAKE) -o Makefile.model_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.model_tests clean
|
||||||
|
sub-tests-model_tests-pro-distclean: sub-qt-distclean FORCE
|
||||||
|
@test -d tests/ || mkdir -p tests/
|
||||||
|
cd tests/ && ( test -e Makefile.model_tests || $(QMAKE) -o Makefile.model_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.model_tests distclean
|
||||||
|
sub-tests-model_tests-pro-install_subtargets: sub-qt-install_subtargets FORCE
|
||||||
|
@test -d tests/ || mkdir -p tests/
|
||||||
|
cd tests/ && ( test -e Makefile.model_tests || $(QMAKE) -o Makefile.model_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.model_tests install
|
||||||
|
sub-tests-model_tests-pro-uninstall_subtargets: sub-qt-uninstall_subtargets FORCE
|
||||||
|
@test -d tests/ || mkdir -p tests/
|
||||||
|
cd tests/ && ( test -e Makefile.model_tests || $(QMAKE) -o Makefile.model_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.model_tests uninstall
|
||||||
|
|
||||||
|
Makefile: ../dbc.pro /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf \
|
||||||
|
../dbc.pro
|
||||||
|
$(QMAKE) -o Makefile ../dbc.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf:
|
||||||
|
../dbc.pro:
|
||||||
|
qmake: FORCE
|
||||||
|
@$(QMAKE) -o Makefile ../dbc.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage
|
||||||
|
|
||||||
|
qmake_all: sub-core-qmake_all sub-tests-qmake_all sub-tests-tree_tests-pro-qmake_all sub-qt-qmake_all sub-tests-model_tests-pro-qmake_all FORCE
|
||||||
|
|
||||||
|
make_first: sub-core-make_first sub-tests-make_first sub-tests-tree_tests-pro-make_first sub-qt-make_first sub-tests-model_tests-pro-make_first FORCE
|
||||||
|
all: sub-core-all sub-tests-all sub-tests-tree_tests-pro-all sub-qt-all sub-tests-model_tests-pro-all FORCE
|
||||||
|
clean: sub-core-clean sub-tests-clean sub-tests-tree_tests-pro-clean sub-qt-clean sub-tests-model_tests-pro-clean FORCE
|
||||||
|
distclean: sub-core-distclean sub-tests-distclean sub-tests-tree_tests-pro-distclean sub-qt-distclean sub-tests-model_tests-pro-distclean FORCE
|
||||||
|
-$(DEL_FILE) Makefile
|
||||||
|
-$(DEL_FILE) .qmake.stash
|
||||||
|
install_subtargets: sub-core-install_subtargets sub-tests-install_subtargets sub-tests-tree_tests-pro-install_subtargets sub-qt-install_subtargets sub-tests-model_tests-pro-install_subtargets FORCE
|
||||||
|
uninstall_subtargets: sub-core-uninstall_subtargets sub-tests-uninstall_subtargets sub-tests-tree_tests-pro-uninstall_subtargets sub-qt-uninstall_subtargets sub-tests-model_tests-pro-uninstall_subtargets FORCE
|
||||||
|
|
||||||
|
sub-core-check:
|
||||||
|
@test -d core/ || mkdir -p core/
|
||||||
|
cd core/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile check
|
||||||
|
sub-tests-check: sub-core-check
|
||||||
|
@test -d tests/ || mkdir -p tests/
|
||||||
|
cd tests/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile check
|
||||||
|
sub-tests-tree_tests-pro-check:
|
||||||
|
@test -d tests/ || mkdir -p tests/
|
||||||
|
cd tests/ && ( test -e Makefile.tree_tests || $(QMAKE) -o Makefile.tree_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.tree_tests check
|
||||||
|
sub-qt-check: sub-core-check
|
||||||
|
@test -d qt/ || mkdir -p qt/
|
||||||
|
cd qt/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile check
|
||||||
|
sub-tests-model_tests-pro-check: sub-qt-check
|
||||||
|
@test -d tests/ || mkdir -p tests/
|
||||||
|
cd tests/ && ( test -e Makefile.model_tests || $(QMAKE) -o Makefile.model_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.model_tests check
|
||||||
|
check: sub-core-check sub-tests-check sub-tests-tree_tests-pro-check sub-qt-check sub-tests-model_tests-pro-check
|
||||||
|
|
||||||
|
sub-core-benchmark:
|
||||||
|
@test -d core/ || mkdir -p core/
|
||||||
|
cd core/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile benchmark
|
||||||
|
sub-tests-benchmark: sub-core-benchmark
|
||||||
|
@test -d tests/ || mkdir -p tests/
|
||||||
|
cd tests/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile benchmark
|
||||||
|
sub-tests-tree_tests-pro-benchmark:
|
||||||
|
@test -d tests/ || mkdir -p tests/
|
||||||
|
cd tests/ && ( test -e Makefile.tree_tests || $(QMAKE) -o Makefile.tree_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.tree_tests benchmark
|
||||||
|
sub-qt-benchmark: sub-core-benchmark
|
||||||
|
@test -d qt/ || mkdir -p qt/
|
||||||
|
cd qt/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile benchmark
|
||||||
|
sub-tests-model_tests-pro-benchmark: sub-qt-benchmark
|
||||||
|
@test -d tests/ || mkdir -p tests/
|
||||||
|
cd tests/ && ( test -e Makefile.model_tests || $(QMAKE) -o Makefile.model_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.model_tests benchmark
|
||||||
|
benchmark: sub-core-benchmark sub-tests-benchmark sub-tests-tree_tests-pro-benchmark sub-qt-benchmark sub-tests-model_tests-pro-benchmark
|
||||||
|
install:install_subtargets FORCE
|
||||||
|
|
||||||
|
uninstall: uninstall_subtargets FORCE
|
||||||
|
|
||||||
|
FORCE:
|
||||||
|
|
||||||
|
.SUFFIXES:
|
||||||
|
|
||||||
|
dist: distdir FORCE
|
||||||
|
(cd `dirname $(DISTDIR)` && $(TAR) $(DISTNAME).tar $(DISTNAME) && $(COMPRESS) $(DISTNAME).tar) && $(MOVE) `dirname $(DISTDIR)`/$(DISTNAME).tar.gz . && $(DEL_FILE) -r $(DISTDIR)
|
||||||
|
|
||||||
|
distdir: sub-core-distdir sub-tests-distdir sub-tests-tree_tests-pro-distdir sub-qt-distdir sub-tests-model_tests-pro-distdir FORCE
|
||||||
|
@test -d $(DISTDIR) || mkdir -p $(DISTDIR)
|
||||||
|
$(COPY_FILE) --parents /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_
Line truncated
|
||||||
|
|
||||||
|
sub-core-distdir: FORCE
|
||||||
|
@test -d core/ || mkdir -p core/
|
||||||
|
cd core/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -e -f Makefile distdir DISTDIR=$(DISTDIR)/core
|
||||||
|
|
||||||
|
sub-tests-distdir: FORCE
|
||||||
|
@test -d tests/ || mkdir -p tests/
|
||||||
|
cd tests/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -e -f Makefile distdir DISTDIR=$(DISTDIR)/tests
|
||||||
|
|
||||||
|
sub-tests-tree_tests-pro-distdir: FORCE
|
||||||
|
@test -d tests/ || mkdir -p tests/
|
||||||
|
cd tests/ && ( test -e Makefile.tree_tests || $(QMAKE) -o Makefile.tree_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -e -f Makefile.tree_tests distdir DISTDIR=$(DISTDIR)/tests
|
||||||
|
|
||||||
|
sub-qt-distdir: FORCE
|
||||||
|
@test -d qt/ || mkdir -p qt/
|
||||||
|
cd qt/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -e -f Makefile distdir DISTDIR=$(DISTDIR)/qt
|
||||||
|
|
||||||
|
sub-tests-model_tests-pro-distdir: FORCE
|
||||||
|
@test -d tests/ || mkdir -p tests/
|
||||||
|
cd tests/ && ( test -e Makefile.model_tests || $(QMAKE) -o Makefile.model_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -e -f Makefile.model_tests distdir DISTDIR=$(DISTDIR)/tests
|
||||||
|
|
||||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,842 @@
|
|||||||
|
#############################################################################
|
||||||
|
# Makefile for building: libdbc_core.a
|
||||||
|
# Generated by qmake (3.1) (Qt 6.8.2)
|
||||||
|
# Project: ../../core/core.pro
|
||||||
|
# Template: lib
|
||||||
|
# Command: /usr/bin/qmake6 -o Makefile ../../core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage
|
||||||
|
#############################################################################
|
||||||
|
|
||||||
|
MAKEFILE = Makefile
|
||||||
|
|
||||||
|
EQ = =
|
||||||
|
|
||||||
|
####### Compiler, tools and options
|
||||||
|
|
||||||
|
CC = gcc
|
||||||
|
CXX = g++
|
||||||
|
DEFINES =
|
||||||
|
CFLAGS = -pipe -g -fPIC -Wall -Wextra $(DEFINES)
|
||||||
|
CXXFLAGS = -pipe --coverage -fprofile-abs-path -g -fPIC -std=gnu++1z -Wall -Wextra $(DEFINES)
|
||||||
|
INCPATH = -I../../core -I. -I/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++
|
||||||
|
QMAKE = /usr/bin/qmake6
|
||||||
|
DEL_FILE = rm -f
|
||||||
|
CHK_DIR_EXISTS= test -d
|
||||||
|
MKDIR = mkdir -p
|
||||||
|
COPY = cp -f
|
||||||
|
COPY_FILE = cp -f
|
||||||
|
COPY_DIR = cp -f -R
|
||||||
|
INSTALL_FILE = install -m 644 -p
|
||||||
|
INSTALL_PROGRAM = install -m 755 -p
|
||||||
|
INSTALL_DIR = cp -f -R
|
||||||
|
QINSTALL = /usr/bin/qmake6 -install qinstall
|
||||||
|
QINSTALL_PROGRAM = /usr/bin/qmake6 -install qinstall -exe
|
||||||
|
DEL_FILE = rm -f
|
||||||
|
SYMLINK = ln -f -s
|
||||||
|
DEL_DIR = rmdir
|
||||||
|
MOVE = mv -f
|
||||||
|
TAR = tar -cf
|
||||||
|
COMPRESS = gzip -9f
|
||||||
|
DISTNAME = dbc_core1.0.0
|
||||||
|
DISTDIR = /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-coverage/core/.tmp/dbc_core1.0.0
|
||||||
|
AR = ar cqs
|
||||||
|
RANLIB =
|
||||||
|
SED = sed
|
||||||
|
STRIP = strip
|
||||||
|
|
||||||
|
####### Output directory
|
||||||
|
|
||||||
|
OBJECTS_DIR = ./
|
||||||
|
|
||||||
|
####### Files
|
||||||
|
|
||||||
|
SOURCES = ../../core/dbc_attributes.cpp \
|
||||||
|
../../core/decode_database.cpp \
|
||||||
|
../../core/dbc_decode_builder.cpp \
|
||||||
|
../../core/dbc_decoder.cpp \
|
||||||
|
../../core/dbc_parser.cpp \
|
||||||
|
../../core/dbc_statement_handler.cpp \
|
||||||
|
../../core/dbc_tree_builder.cpp \
|
||||||
|
../../core/tree_node.cpp
|
||||||
|
OBJECTS = dbc_attributes.o \
|
||||||
|
decode_database.o \
|
||||||
|
dbc_decode_builder.o \
|
||||||
|
dbc_decoder.o \
|
||||||
|
dbc_parser.o \
|
||||||
|
dbc_statement_handler.o \
|
||||||
|
dbc_tree_builder.o \
|
||||||
|
tree_node.o
|
||||||
|
DIST = /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf \
|
||||||
|
../../.qmake.stash \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf \
|
||||||
|
../../../core/core_files.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf \
|
||||||
|
../../../core/core.pro /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/attributes.h \
|
||||||
|
/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/j1939.h \
|
||||||
|
/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/signal_layout.h \
|
||||||
|
/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/definition_key.h \
|
||||||
|
/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_diagnostic.h \
|
||||||
|
/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/multiplexing.h \
|
||||||
|
/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_database.h \
|
||||||
|
/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_decode_builder.h \
|
||||||
|
/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_decoder.h \
|
||||||
|
/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_parser.h \
|
||||||
|
/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_statement_handler.h \
|
||||||
|
/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_tree_builder.h \
|
||||||
|
/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/decode_database.h \
|
||||||
|
/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/frame_info.h \
|
||||||
|
/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/signal_info.h \
|
||||||
|
/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/value_descriptions.h \
|
||||||
|
/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/tree_node.h \
|
||||||
|
/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/text_utils.h \
|
||||||
|
/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/typefactory.h ../../core/dbc_attributes.cpp \
|
||||||
|
../../core/decode_database.cpp \
|
||||||
|
../../core/dbc_decode_builder.cpp \
|
||||||
|
../../core/dbc_decoder.cpp \
|
||||||
|
../../core/dbc_parser.cpp \
|
||||||
|
../../core/dbc_statement_handler.cpp \
|
||||||
|
../../core/dbc_tree_builder.cpp \
|
||||||
|
../../core/tree_node.cpp
|
||||||
|
QMAKE_TARGET = dbc_core
|
||||||
|
DESTDIR =
|
||||||
|
TARGET = libdbc_core.a
|
||||||
|
|
||||||
|
|
||||||
|
first: all
|
||||||
|
####### Build rules
|
||||||
|
|
||||||
|
staticlib: $(TARGET)
|
||||||
|
|
||||||
|
libdbc_core.a: $(OBJECTS) $(OBJCOMP)
|
||||||
|
-$(DEL_FILE) $(TARGET)
|
||||||
|
$(AR) $(DESTDIR)$(TARGET) $(OBJECTS)
|
||||||
|
|
||||||
|
|
||||||
|
Makefile: ../../core/core.pro /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf \
|
||||||
|
../.qmake.stash \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf \
|
||||||
|
../../core/core_files.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf \
|
||||||
|
../../core/core.pro
|
||||||
|
$(QMAKE) -o Makefile ../../core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf:
|
||||||
|
../.qmake.stash:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf:
|
||||||
|
../../core/core_files.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf:
|
||||||
|
../../core/core.pro:
|
||||||
|
qmake: FORCE
|
||||||
|
@$(QMAKE) -o Makefile ../../core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage
|
||||||
|
|
||||||
|
qmake_all: FORCE
|
||||||
|
|
||||||
|
|
||||||
|
all: Makefile libdbc_core.a
|
||||||
|
|
||||||
|
dist: distdir FORCE
|
||||||
|
(cd `dirname $(DISTDIR)` && $(TAR) $(DISTNAME).tar $(DISTNAME) && $(COMPRESS) $(DISTNAME).tar) && $(MOVE) `dirname $(DISTDIR)`/$(DISTNAME).tar.gz . && $(DEL_FILE) -r $(DISTDIR)
|
||||||
|
|
||||||
|
distdir: FORCE
|
||||||
|
@test -d $(DISTDIR) || mkdir -p $(DISTDIR)
|
||||||
|
$(COPY_FILE) --parents $(DIST) $(DISTDIR)/
|
||||||
|
|
||||||
|
|
||||||
|
clean: compiler_clean
|
||||||
|
-$(DEL_FILE) $(OBJECTS)
|
||||||
|
-$(DEL_FILE) *~ core *.core
|
||||||
|
|
||||||
|
|
||||||
|
distclean: clean
|
||||||
|
-$(DEL_FILE) $(TARGET)
|
||||||
|
-$(DEL_FILE) Makefile
|
||||||
|
|
||||||
|
|
||||||
|
####### Sub-libraries
|
||||||
|
|
||||||
|
check: first
|
||||||
|
|
||||||
|
benchmark: first
|
||||||
|
|
||||||
|
compiler_yacc_decl_make_all:
|
||||||
|
compiler_yacc_decl_clean:
|
||||||
|
compiler_yacc_impl_make_all:
|
||||||
|
compiler_yacc_impl_clean:
|
||||||
|
compiler_lex_make_all:
|
||||||
|
compiler_lex_clean:
|
||||||
|
compiler_clean:
|
||||||
|
|
||||||
|
####### Compile
|
||||||
|
|
||||||
|
dbc_attributes.o: ../../core/dbc_attributes.cpp ../../core/dbc_statement_handler.h \
|
||||||
|
../../core/dbc_database.h \
|
||||||
|
../../core/frame_info.h \
|
||||||
|
../../core/attributes.h \
|
||||||
|
../../core/signal_info.h \
|
||||||
|
../../core/multiplexing.h \
|
||||||
|
../../core/value_descriptions.h \
|
||||||
|
../../core/dbc_diagnostic.h \
|
||||||
|
../../core/typefactory.h
|
||||||
|
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_attributes.o ../../core/dbc_attributes.cpp
|
||||||
|
|
||||||
|
decode_database.o: ../../core/decode_database.cpp ../../core/decode_database.h \
|
||||||
|
../../core/attributes.h \
|
||||||
|
../../core/definition_key.h \
|
||||||
|
../../core/multiplexing.h \
|
||||||
|
../../core/value_descriptions.h \
|
||||||
|
../../core/j1939.h \
|
||||||
|
../../core/signal_layout.h
|
||||||
|
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o decode_database.o ../../core/decode_database.cpp
|
||||||
|
|
||||||
|
dbc_decode_builder.o: ../../core/dbc_decode_builder.cpp ../../core/dbc_decode_builder.h \
|
||||||
|
../../core/dbc_database.h \
|
||||||
|
../../core/frame_info.h \
|
||||||
|
../../core/attributes.h \
|
||||||
|
../../core/signal_info.h \
|
||||||
|
../../core/multiplexing.h \
|
||||||
|
../../core/value_descriptions.h \
|
||||||
|
../../core/decode_database.h \
|
||||||
|
../../core/definition_key.h
|
||||||
|
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_decode_builder.o ../../core/dbc_decode_builder.cpp
|
||||||
|
|
||||||
|
dbc_decoder.o: ../../core/dbc_decoder.cpp ../../core/dbc_decoder.h \
|
||||||
|
../../core/decode_database.h \
|
||||||
|
../../core/attributes.h \
|
||||||
|
../../core/definition_key.h \
|
||||||
|
../../core/multiplexing.h \
|
||||||
|
../../core/value_descriptions.h \
|
||||||
|
../../core/j1939.h \
|
||||||
|
../../core/signal_layout.h
|
||||||
|
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_decoder.o ../../core/dbc_decoder.cpp
|
||||||
|
|
||||||
|
dbc_parser.o: ../../core/dbc_parser.cpp ../../core/dbc_parser.h \
|
||||||
|
../../core/dbc_diagnostic.h \
|
||||||
|
../../core/dbc_database.h \
|
||||||
|
../../core/frame_info.h \
|
||||||
|
../../core/attributes.h \
|
||||||
|
../../core/signal_info.h \
|
||||||
|
../../core/multiplexing.h \
|
||||||
|
../../core/value_descriptions.h \
|
||||||
|
../../core/dbc_statement_handler.h \
|
||||||
|
../../core/typefactory.h \
|
||||||
|
../../core/text_utils.h
|
||||||
|
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_parser.o ../../core/dbc_parser.cpp
|
||||||
|
|
||||||
|
dbc_statement_handler.o: ../../core/dbc_statement_handler.cpp ../../core/dbc_statement_handler.h \
|
||||||
|
../../core/dbc_database.h \
|
||||||
|
../../core/frame_info.h \
|
||||||
|
../../core/attributes.h \
|
||||||
|
../../core/signal_info.h \
|
||||||
|
../../core/multiplexing.h \
|
||||||
|
../../core/value_descriptions.h \
|
||||||
|
../../core/dbc_diagnostic.h \
|
||||||
|
../../core/typefactory.h \
|
||||||
|
../../core/j1939.h \
|
||||||
|
../../core/text_utils.h \
|
||||||
|
../../core/signal_layout.h
|
||||||
|
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_statement_handler.o ../../core/dbc_statement_handler.cpp
|
||||||
|
|
||||||
|
dbc_tree_builder.o: ../../core/dbc_tree_builder.cpp ../../core/dbc_tree_builder.h \
|
||||||
|
../../core/dbc_database.h \
|
||||||
|
../../core/frame_info.h \
|
||||||
|
../../core/attributes.h \
|
||||||
|
../../core/signal_info.h \
|
||||||
|
../../core/multiplexing.h \
|
||||||
|
../../core/value_descriptions.h \
|
||||||
|
../../core/tree_node.h \
|
||||||
|
../../core/definition_key.h
|
||||||
|
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_tree_builder.o ../../core/dbc_tree_builder.cpp
|
||||||
|
|
||||||
|
tree_node.o: ../../core/tree_node.cpp ../../core/tree_node.h \
|
||||||
|
../../core/definition_key.h \
|
||||||
|
../../core/frame_info.h \
|
||||||
|
../../core/attributes.h \
|
||||||
|
../../core/signal_info.h \
|
||||||
|
../../core/multiplexing.h \
|
||||||
|
../../core/value_descriptions.h
|
||||||
|
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o tree_node.o ../../core/tree_node.cpp
|
||||||
|
|
||||||
|
####### Install
|
||||||
|
|
||||||
|
install: FORCE
|
||||||
|
|
||||||
|
uninstall: FORCE
|
||||||
|
|
||||||
|
FORCE:
|
||||||
|
|
||||||
|
.SUFFIXES:
|
||||||
|
|
||||||
Binary file not shown.
Whitespace-only changes.
Whitespace-only changes.
Binary file not shown.
Binary file not shown.
Whitespace-only changes.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Whitespace-only changes.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
Binary file not shown.
|
After Width: | Height: | Size: 141 B |
@@ -0,0 +1 @@
|
|||||||
|
genhtml coverage.info --branch-coverage --demangle-cpp --output-directory html --quiet
|
||||||
@@ -0,0 +1,253 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/dbc_attributes.cpp - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - dbc_attributes.cpp<span style="font-size: 80%;"> (<a href="dbc_attributes.cpp.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">98.8 %</td>
|
||||||
|
<td class="headerCovTableEntry">260</td>
|
||||||
|
<td class="headerCovTableEntry">257</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">20</td>
|
||||||
|
<td class="headerCovTableEntry">20</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryLo">73.5 %</td>
|
||||||
|
<td class="headerCovTableEntry">604</td>
|
||||||
|
<td class="headerCovTableEntry">444</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><a href="dbc_attributes.cpp.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></a></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L232">(anonymous namespace)::ApplyDefault(DbcDatabase&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, AttributeDefinition const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">15</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L212">(anonymous namespace)::Target(DbcDatabase&, AttributeAssignment const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">15</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L203">(anonymous namespace)::ParseId(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, AttributeAssignment&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">32</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L225">(anonymous namespace)::ValidateCycleTime(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::variant<long, double, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">36</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L97">(anonymous namespace)::ParseScope(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">110</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L93">(anonymous namespace)::IsScope(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">115</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L121">(anonymous namespace)::Value((anonymous namespace)::Token const&, AttributeDefinition const&, bool)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">204</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L196">(anonymous namespace)::FindDefinition(DbcDatabase&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">218</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L83">(anonymous namespace)::AttributeTokens::End() const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">245</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L82">(anonymous namespace)::AttributeTokens::Empty() const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">262</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L76">(anonymous namespace)::AttributeTokens::Quoted()</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">315</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L146">(anonymous namespace)::Define((anonymous namespace)::AttributeTokens&, DbcDatabase&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">393</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L253">DbcParseContext::ResolveAttributes(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<DbcDiagnostic, std::allocator<DbcDiagnostic> >&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">549</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L64">(anonymous namespace)::AttributeTokens::AttributeTokens(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">621</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L12">(anonymous namespace)::Tokenize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">621</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L249">DbcAttributeHandler::Handle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DbcParseContext&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">621</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L106">long (anonymous namespace)::ParseNumber<long>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">866</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFnAlias"><a href="dbc_attributes.cpp.gcov.html#L106">double (anonymous namespace)::ParseNumber<double>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnAliasHi">239</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFnAlias"><a href="dbc_attributes.cpp.gcov.html#L106">long (anonymous namespace)::ParseNumber<long>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnAliasHi">627</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L70">(anonymous namespace)::AttributeTokens::Word()</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">1681</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L65">(anonymous namespace)::AttributeTokens::Take()</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">2639</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,253 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/dbc_attributes.cpp - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - dbc_attributes.cpp<span style="font-size: 80%;"> (<a href="dbc_attributes.cpp.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">98.8 %</td>
|
||||||
|
<td class="headerCovTableEntry">260</td>
|
||||||
|
<td class="headerCovTableEntry">257</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">20</td>
|
||||||
|
<td class="headerCovTableEntry">20</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryLo">73.5 %</td>
|
||||||
|
<td class="headerCovTableEntry">604</td>
|
||||||
|
<td class="headerCovTableEntry">444</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><a href="dbc_attributes.cpp.func-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></a></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L232">(anonymous namespace)::ApplyDefault(DbcDatabase&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, AttributeDefinition const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">15</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L64">(anonymous namespace)::AttributeTokens::AttributeTokens(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">621</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L82">(anonymous namespace)::AttributeTokens::Empty() const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">262</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L83">(anonymous namespace)::AttributeTokens::End() const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">245</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L76">(anonymous namespace)::AttributeTokens::Quoted()</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">315</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L65">(anonymous namespace)::AttributeTokens::Take()</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">2639</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L70">(anonymous namespace)::AttributeTokens::Word()</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">1681</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L146">(anonymous namespace)::Define((anonymous namespace)::AttributeTokens&, DbcDatabase&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">393</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L196">(anonymous namespace)::FindDefinition(DbcDatabase&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">218</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L93">(anonymous namespace)::IsScope(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">115</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L203">(anonymous namespace)::ParseId(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, AttributeAssignment&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">32</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L97">(anonymous namespace)::ParseScope(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">110</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L212">(anonymous namespace)::Target(DbcDatabase&, AttributeAssignment const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">15</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L12">(anonymous namespace)::Tokenize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">621</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L225">(anonymous namespace)::ValidateCycleTime(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::variant<long, double, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">36</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L121">(anonymous namespace)::Value((anonymous namespace)::Token const&, AttributeDefinition const&, bool)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">204</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L249">DbcAttributeHandler::Handle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DbcParseContext&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">621</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L253">DbcParseContext::ResolveAttributes(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<DbcDiagnostic, std::allocator<DbcDiagnostic> >&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">549</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_attributes.cpp.gcov.html#L106">long (anonymous namespace)::ParseNumber<long>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">866</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFnAlias"><a href="dbc_attributes.cpp.gcov.html#L106">double (anonymous namespace)::ParseNumber<double>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnAliasHi">239</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFnAlias"><a href="dbc_attributes.cpp.gcov.html#L106">long (anonymous namespace)::ParseNumber<long>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnAliasHi">627</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,451 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/dbc_attributes.cpp</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - dbc_attributes.cpp<span style="font-size: 80%;"> (source / <a href="dbc_attributes.cpp.func-c.html" title="Click to go to function table">functions</a>)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">98.8 %</td>
|
||||||
|
<td class="headerCovTableEntry">260</td>
|
||||||
|
<td class="headerCovTableEntry">257</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">20</td>
|
||||||
|
<td class="headerCovTableEntry">20</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryLo">73.5 %</td>
|
||||||
|
<td class="headerCovTableEntry">604</td>
|
||||||
|
<td class="headerCovTableEntry">444</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table cellpadding=0 cellspacing=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td><br></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<pre class="sourceHeading"> Branch data Line data Source code</pre>
|
||||||
|
<pre class="source">
|
||||||
|
<span id="L1"><span class="lineNum"> 1</span> : : // SPDX-License-Identifier: MIT</span>
|
||||||
|
<span id="L2"><span class="lineNum"> 2</span> : : #include "dbc_statement_handler.h"</span>
|
||||||
|
<span id="L3"><span class="lineNum"> 3</span> : : #include <charconv></span>
|
||||||
|
<span id="L4"><span class="lineNum"> 4</span> : : #include <cmath></span>
|
||||||
|
<span id="L5"><span class="lineNum"> 5</span> : : #include <limits></span>
|
||||||
|
<span id="L6"><span class="lineNum"> 6</span> : : #include <set></span>
|
||||||
|
<span id="L7"><span class="lineNum"> 7</span> : : </span>
|
||||||
|
<span id="L8"><span class="lineNum"> 8</span> : : namespace {</span>
|
||||||
|
<span id="L9"><span class="lineNum"> 9</span> : : struct Token {</span>
|
||||||
|
<span id="L10"><span class="lineNum"> 10</span> : : std::string text;</span>
|
||||||
|
<span id="L11"><span class="lineNum"> 11</span> : : bool quoted = false;</span>
|
||||||
|
<span id="L12"><span class="lineNum"> 12</span> : : };</span>
|
||||||
|
<span id="L13"><span class="lineNum"> 13</span> : : </span>
|
||||||
|
<span id="L14"><span class="lineNum"> 14</span> :<span class="tlaGNC"> 621 : std::vector<Token> Tokenize(const std::string &text) {</span></span>
|
||||||
|
<span id="L15"><span class="lineNum"> 15</span> :<span class="tlaGNC"> 621 : std::vector<Token> tokens;</span></span>
|
||||||
|
<span id="L16"><span class="lineNum"> 16</span> :<span class="tlaGNC"> 621 : std::size_t index = 0U;</span></span>
|
||||||
|
<span id="L17"><span class="lineNum"> 17</span> [<span class="tlaGBC" title="Branch 0 was taken 5528 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 613 times"> + </span>]:<span class="tlaGNC"> 6141 : while (index < text.size()) {</span></span>
|
||||||
|
<span id="L18"><span class="lineNum"> 18</span> :<span class="tlaGNC"> 5528 : const char character = text[index++];</span></span>
|
||||||
|
<span id="L19"><span class="lineNum"> 19</span> [<span class="tlaGBC" title="Branch 0 was taken 3390 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2138 times"> + </span><span class="tlaUNC" title="Branch 2 was not taken"> - </span><span class="tlaGBC" title="Branch 3 was taken 3390 times"> + </span>]:<span class="tlaGNC"> 5528 : if (character == ' ' || character == '\t')</span></span>
|
||||||
|
<span id="L20"><span class="lineNum"> 20</span> :<span class="tlaGNC"> 2138 : continue;</span></span>
|
||||||
|
<span id="L21"><span class="lineNum"> 21</span> :<span class="tlaGNC"> 3390 : Token token;</span></span>
|
||||||
|
<span id="L22"><span class="lineNum"> 22</span> [<span class="tlaGBC" title="Branch 0 was taken 652 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2738 times"> + </span>]:<span class="tlaGNC"> 3390 : if (character == '"') {</span></span>
|
||||||
|
<span id="L23"><span class="lineNum"> 23</span> :<span class="tlaGNC"> 652 : token.quoted = true;</span></span>
|
||||||
|
<span id="L24"><span class="lineNum"> 24</span> :<span class="tlaGNC"> 652 : bool closed = false;</span></span>
|
||||||
|
<span id="L25"><span class="lineNum"> 25</span> [<span class="tlaGBC" title="Branch 0 was taken 1936 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2 times"> + </span>]:<span class="tlaGNC"> 1938 : while (index < text.size()) {</span></span>
|
||||||
|
<span id="L26"><span class="lineNum"> 26</span> :<span class="tlaGNC"> 1936 : char next = text[index++];</span></span>
|
||||||
|
<span id="L27"><span class="lineNum"> 27</span> [<span class="tlaGBC" title="Branch 0 was taken 648 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 1288 times"> + </span>]:<span class="tlaGNC"> 1936 : if (next == '"') {</span></span>
|
||||||
|
<span id="L28"><span class="lineNum"> 28</span> :<span class="tlaGNC"> 648 : closed = true;</span></span>
|
||||||
|
<span id="L29"><span class="lineNum"> 29</span> :<span class="tlaGNC"> 648 : break;</span></span>
|
||||||
|
<span id="L30"><span class="lineNum"> 30</span> : : }</span>
|
||||||
|
<span id="L31"><span class="lineNum"> 31</span> [<span class="tlaGBC" title="Branch 0 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 1284 times"> + </span>]:<span class="tlaGNC"> 1288 : if (next == '\\') {</span></span>
|
||||||
|
<span id="L32"><span class="lineNum"> 32</span> [<span class="tlaUNC" title="Branch 0 was not taken"> - </span><span class="tlaGBC" title="Branch 1 was taken 4 times"> + </span>]:<span class="tlaGNC"> 4 : if (index == text.size())</span></span>
|
||||||
|
<span id="L33"><span class="lineNum"> 33</span> [<span class="tlaUNC" title="Branch 0 was not executed"> # </span><span class="tlaUNC" title="Branch 1 was not executed"> # </span>]:<span class="tlaUNC"> 0 : throw std::runtime_error("Incomplete attribute escape.");</span></span>
|
||||||
|
<span id="L34"><span class="lineNum"> 34</span> :<span class="tlaGNC"> 4 : next = text[index++];</span></span>
|
||||||
|
<span id="L35"><span class="lineNum"> 35</span> [<span class="tlaGBC" title="Branch 0 was taken 3 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 1 time"> + </span><span class="tlaGBC" title="Branch 2 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 1 time"> + </span>]:<span class="tlaGNC"> 4 : if (next != '"' && next != '\\')</span></span>
|
||||||
|
<span id="L36"><span class="lineNum"> 36</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2 : throw std::runtime_error("Invalid attribute escape.");</span></span>
|
||||||
|
<span id="L37"><span class="lineNum"> 37</span> : : }</span>
|
||||||
|
<span id="L38"><span class="lineNum"> 38</span> [<span class="tlaGBC" title="Branch 0 was taken 1286 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 1286 : token.text += next;</span></span>
|
||||||
|
<span id="L39"><span class="lineNum"> 39</span> : : }</span>
|
||||||
|
<span id="L40"><span class="lineNum"> 40</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 648 times"> + </span>]:<span class="tlaGNC"> 650 : if (!closed)</span></span>
|
||||||
|
<span id="L41"><span class="lineNum"> 41</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2 : throw std::runtime_error("Unterminated attribute string.");</span></span>
|
||||||
|
<span id="L42"><span class="lineNum"> 42</span> [<span class="tlaGBC" title="Branch 0 was taken 33 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 615 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 33 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 1296 : if (index < text.size() && text[index] != ' ' && text[index] != '\t' &&</span></span>
|
||||||
|
<span id="L43"><span class="lineNum"> 43</span> [<span class="tlaGBC" title="Branch 0 was taken 648 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 23 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 10 times"> + </span> :<span class="tlaGNC"> 1296 : text[index] != ',' && text[index] != ';')</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 21 times"> + </span><span class="tlaGBC" title="Branch 6 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 7 was taken 646 times"> + </span>]
|
||||||
|
<span id="L44"><span class="lineNum"> 44</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2 : throw std::runtime_error("Missing separator after attribute string.");</span></span>
|
||||||
|
<span id="L45"><span class="lineNum"> 45</span> [<span class="tlaGBC" title="Branch 0 was taken 2125 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 613 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 10 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 2115 times"> + </span>]:<span class="tlaGNC"> 2738 : } else if (character == ';' || character == ',') {</span></span>
|
||||||
|
<span id="L46"><span class="lineNum"> 46</span> [<span class="tlaGBC" title="Branch 0 was taken 623 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 623 : token.text = character;</span></span>
|
||||||
|
<span id="L47"><span class="lineNum"> 47</span> : : } else {</span>
|
||||||
|
<span id="L48"><span class="lineNum"> 48</span> [<span class="tlaGBC" title="Branch 0 was taken 2115 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2115 : token.text = character;</span></span>
|
||||||
|
<span id="L49"><span class="lineNum"> 49</span> [<span class="tlaGBC" title="Branch 0 was taken 7618 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 1521 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 7618 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 18280 : while (index < text.size() && text[index] != ' ' && text[index] != '\t' &&</span></span>
|
||||||
|
<span id="L50"><span class="lineNum"> 50</span> [<span class="tlaGBC" title="Branch 0 was taken 9139 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 7028 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 590 times"> + </span> :<span class="tlaGNC"> 18280 : text[index] != ';' && text[index] != ',') {</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 7028 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaGBC" title="Branch 6 was taken 7028 times"> + </span><span class="tlaGBC" title="Branch 7 was taken 2113 times"> + </span>]
|
||||||
|
<span id="L51"><span class="lineNum"> 51</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 7026 times"> + </span>]:<span class="tlaGNC"> 7028 : if (text[index] == '"')</span></span>
|
||||||
|
<span id="L52"><span class="lineNum"> 52</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2 : throw std::runtime_error("Missing separator before attribute string.");</span></span>
|
||||||
|
<span id="L53"><span class="lineNum"> 53</span> [<span class="tlaGBC" title="Branch 0 was taken 7026 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 7026 : token.text += text[index++];</span></span>
|
||||||
|
<span id="L54"><span class="lineNum"> 54</span> : : }</span>
|
||||||
|
<span id="L55"><span class="lineNum"> 55</span> : : }</span>
|
||||||
|
<span id="L56"><span class="lineNum"> 56</span> [<span class="tlaGBC" title="Branch 0 was taken 3382 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 3382 : tokens.push_back(token);</span></span>
|
||||||
|
<span id="L57"><span class="lineNum"> 57</span> :<span class="tlaGNC"> 3390 : }</span></span>
|
||||||
|
<span id="L58"><span class="lineNum"> 58</span> [<span class="tlaGBC" title="Branch 0 was taken 613 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 613 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 613 : if (tokens.empty() || tokens.back().quoted || tokens.back().text != ";")</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 613 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaGBC" title="Branch 6 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 7 was taken 611 times"> + </span><span class="tlaGBC" title="Branch 8 was taken 2 times"> + </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 9 was taken 611 times"> + </span>]
|
||||||
|
<span id="L59"><span class="lineNum"> 59</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2 : throw std::runtime_error("Attribute statement requires a semicolon.");</span></span>
|
||||||
|
<span id="L60"><span class="lineNum"> 60</span> :<span class="tlaGNC"> 611 : tokens.pop_back();</span></span>
|
||||||
|
<span id="L61"><span class="lineNum"> 61</span> :<span class="tlaGNC"> 611 : return tokens;</span></span>
|
||||||
|
<span id="L62"><span class="lineNum"> 62</span> :<span class="tlaGNC"> 10 : }</span></span>
|
||||||
|
<span id="L63"><span class="lineNum"> 63</span> : : </span>
|
||||||
|
<span id="L64"><span class="lineNum"> 64</span> : : class AttributeTokens {</span>
|
||||||
|
<span id="L65"><span class="lineNum"> 65</span> : : public:</span>
|
||||||
|
<span id="L66"><span class="lineNum"> 66</span> :<span class="tlaGNC"> 621 : explicit AttributeTokens(const std::string &line) : tokens(Tokenize(line)) {}</span></span>
|
||||||
|
<span id="L67"><span class="lineNum"> 67</span> :<span class="tlaGNC"> 2639 : Token Take() {</span></span>
|
||||||
|
<span id="L68"><span class="lineNum"> 68</span> [<span class="tlaGBC" title="Branch 0 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2635 times"> + </span>]:<span class="tlaGNC"> 2639 : if (position == tokens.size())</span></span>
|
||||||
|
<span id="L69"><span class="lineNum"> 69</span> [<span class="tlaGBC" title="Branch 0 was taken 4 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 4 : throw std::runtime_error("Incomplete attribute statement.");</span></span>
|
||||||
|
<span id="L70"><span class="lineNum"> 70</span> :<span class="tlaGNC"> 2635 : return tokens[position++];</span></span>
|
||||||
|
<span id="L71"><span class="lineNum"> 71</span> : : }</span>
|
||||||
|
<span id="L72"><span class="lineNum"> 72</span> :<span class="tlaGNC"> 1681 : std::string Word() {</span></span>
|
||||||
|
<span id="L73"><span class="lineNum"> 73</span> [<span class="tlaGBC" title="Branch 0 was taken 1681 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 1681 : const Token token = Take();</span></span>
|
||||||
|
<span id="L74"><span class="lineNum"> 74</span> [<span class="tlaGBC" title="Branch 0 was taken 1679 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 1679 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 1681 : if (token.quoted || token.text == "," || token.text == ";")</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 1679 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaGBC" title="Branch 6 was taken 1679 times"> + </span><span class="tlaUNC" title="Branch 7 was not taken"> - </span><span class="tlaUNC" title="Branch 8 was not taken"> - </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 9 was taken 1679 times"> + </span><span class="tlaGBC" title="Branch 10 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 11 was taken 1679 times"> + </span>]
|
||||||
|
<span id="L75"><span class="lineNum"> 75</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2 : throw std::runtime_error("Expected an attribute keyword or number.");</span></span>
|
||||||
|
<span id="L76"><span class="lineNum"> 76</span> [<span class="tlaGBC" title="Branch 0 was taken 1679 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 3358 : return token.text;</span></span>
|
||||||
|
<span id="L77"><span class="lineNum"> 77</span> :<span class="tlaGNC"> 1681 : }</span></span>
|
||||||
|
<span id="L78"><span class="lineNum"> 78</span> :<span class="tlaGNC"> 315 : std::string Quoted() {</span></span>
|
||||||
|
<span id="L79"><span class="lineNum"> 79</span> [<span class="tlaGBC" title="Branch 0 was taken 311 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 4 times"> + </span>]:<span class="tlaGNC"> 315 : const Token token = Take();</span></span>
|
||||||
|
<span id="L80"><span class="lineNum"> 80</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 309 times"> + </span>]:<span class="tlaGNC"> 311 : if (!token.quoted)</span></span>
|
||||||
|
<span id="L81"><span class="lineNum"> 81</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2 : throw std::runtime_error("Expected a quoted attribute name or string.");</span></span>
|
||||||
|
<span id="L82"><span class="lineNum"> 82</span> [<span class="tlaGBC" title="Branch 0 was taken 309 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 618 : return token.text;</span></span>
|
||||||
|
<span id="L83"><span class="lineNum"> 83</span> :<span class="tlaGNC"> 311 : }</span></span>
|
||||||
|
<span id="L84"><span class="lineNum"> 84</span> :<span class="tlaGNC"> 262 : bool Empty() const { return position == tokens.size(); }</span></span>
|
||||||
|
<span id="L85"><span class="lineNum"> 85</span> :<span class="tlaGNC"> 245 : void End() const {</span></span>
|
||||||
|
<span id="L86"><span class="lineNum"> 86</span> [<span class="tlaUNC" title="Branch 0 was not taken"> - </span><span class="tlaGBC" title="Branch 1 was taken 245 times"> + </span>]:<span class="tlaGNC"> 245 : if (!Empty())</span></span>
|
||||||
|
<span id="L87"><span class="lineNum"> 87</span> [<span class="tlaUNC" title="Branch 0 was not executed"> # </span><span class="tlaUNC" title="Branch 1 was not executed"> # </span>]:<span class="tlaUNC"> 0 : throw std::runtime_error("Unexpected trailing attribute fields.");</span></span>
|
||||||
|
<span id="L88"><span class="lineNum"> 88</span> :<span class="tlaGNC"> 245 : }</span></span>
|
||||||
|
<span id="L89"><span class="lineNum"> 89</span> : : </span>
|
||||||
|
<span id="L90"><span class="lineNum"> 90</span> : : private:</span>
|
||||||
|
<span id="L91"><span class="lineNum"> 91</span> : : std::vector<Token> tokens;</span>
|
||||||
|
<span id="L92"><span class="lineNum"> 92</span> : : std::size_t position = 0U;</span>
|
||||||
|
<span id="L93"><span class="lineNum"> 93</span> : : };</span>
|
||||||
|
<span id="L94"><span class="lineNum"> 94</span> : : </span>
|
||||||
|
<span id="L95"><span class="lineNum"> 95</span> :<span class="tlaGNC"> 115 : bool IsScope(const std::string &text) {</span></span>
|
||||||
|
<span id="L96"><span class="lineNum"> 96</span> [<span class="tlaGBC" title="Branch 0 was taken 88 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 27 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 83 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 5 times"> + </span> :<span class="tlaGNC"> 115 : return text == "BO_" || text == "SG_" || text == "BU_" || text == "EV_";</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 82 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 1 time"> + </span><span class="tlaGBC" title="Branch 6 was taken 1 time"> + </span><span class="tlaGBC" title="Branch 7 was taken 81 times"> + </span>]
|
||||||
|
<span id="L97"><span class="lineNum"> 97</span> : : }</span>
|
||||||
|
<span id="L98"><span class="lineNum"> 98</span> : : </span>
|
||||||
|
<span id="L99"><span class="lineNum"> 99</span> :<span class="tlaGNC"> 110 : AttributeScope ParseScope(const std::string &text) {</span></span>
|
||||||
|
<span id="L100"><span class="lineNum"> 100</span> [<span class="tlaGBC" title="Branch 0 was taken 93 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 17 times"> + </span>]:<span class="tlaGNC"> 110 : if (text == "BO_") return AttributeScope::Frame;</span></span>
|
||||||
|
<span id="L101"><span class="lineNum"> 101</span> [<span class="tlaGBC" title="Branch 0 was taken 11 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 6 times"> + </span>]:<span class="tlaGNC"> 17 : if (text == "SG_") return AttributeScope::Signal;</span></span>
|
||||||
|
<span id="L102"><span class="lineNum"> 102</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 4 times"> + </span>]:<span class="tlaGNC"> 6 : if (text == "BU_") return AttributeScope::Node;</span></span>
|
||||||
|
<span id="L103"><span class="lineNum"> 103</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2 times"> + </span>]:<span class="tlaGNC"> 4 : if (text == "EV_") return AttributeScope::Environment;</span></span>
|
||||||
|
<span id="L104"><span class="lineNum"> 104</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 2 : throw std::runtime_error("Unsupported attribute scope: " + text);</span></span>
|
||||||
|
<span id="L105"><span class="lineNum"> 105</span> : : }</span>
|
||||||
|
<span id="L106"><span class="lineNum"> 106</span> : : </span>
|
||||||
|
<span id="L107"><span class="lineNum"> 107</span> : : template<class Numeric></span>
|
||||||
|
<span id="L108"><span class="lineNum"> 108</span> :<span class="tlaGNC"> 866 : Numeric ParseNumber(const std::string &text) {</span></span>
|
||||||
|
<span id="L109"><span class="lineNum"> 109</span> :<span class="tlaGNC"> 866 : const char *begin = text.data();</span></span>
|
||||||
|
<span id="L110"><span class="lineNum"> 110</span> :<span class="tlaGNC"> 866 : const char *end = begin + text.size();</span></span>
|
||||||
|
<span id="L111"><span class="lineNum"> 111</span> [<span class="tlaGBC" title="Branch 0 was taken 866 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 78 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 788 times"> + </span>]:<span class="tlaGNC"> 866 : if (begin != end && *begin == '+') {</span></span>
|
||||||
|
<span id="L112"><span class="lineNum"> 112</span> :<span class="tlaGNC"> 78 : ++begin;</span></span>
|
||||||
|
<span id="L113"><span class="lineNum"> 113</span> [<span class="tlaGBC" title="Branch 0 was taken 54 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 24 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 30 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 24 times"> + </span> :<span class="tlaGNC"> 78 : if (begin != end && (*begin == '-' || *begin == '+'))</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 24 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 6 times"> + </span>]
|
||||||
|
<span id="L114"><span class="lineNum"> 114</span> [<span class="tlaGBC" title="Branch 0 was taken 48 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 48 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 48 : throw std::runtime_error("Invalid attribute number: " + text);</span></span>
|
||||||
|
<span id="L115"><span class="lineNum"> 115</span> : : }</span>
|
||||||
|
<span id="L116"><span class="lineNum"> 116</span> :<span class="tlaGNC"> 818 : Numeric value = 0;</span></span>
|
||||||
|
<span id="L117"><span class="lineNum"> 117</span> [<span class="tlaGBC" title="Branch 0 was taken 595 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 818 : const std::from_chars_result parsed = std::from_chars(begin, end, value);</span></span>
|
||||||
|
<span id="L118"><span class="lineNum"> 118</span> [<span class="tlaGBC" title="Branch 0 was taken 794 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 24 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 664 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 130 times"> + </span> :<span class="tlaGNC"> 818 : if (begin == end || parsed.ec != std::errc() || parsed.ptr != end || !std::isfinite(value))</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 576 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 88 times"> + </span><span class="tlaGBC" title="Branch 6 was taken 28 times"> + </span><span class="tlaGBC" title="Branch 7 was taken 548 times"> + </span><span class="tlaGBC" title="Branch 8 was taken 270 times"> + </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 9 was taken 548 times"> + </span>]
|
||||||
|
<span id="L119"><span class="lineNum"> 119</span> [<span class="tlaGBC" title="Branch 0 was taken 270 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 270 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 270 : throw std::runtime_error("Invalid attribute number: " + text);</span></span>
|
||||||
|
<span id="L120"><span class="lineNum"> 120</span> :<span class="tlaGNC"> 548 : return value;</span></span>
|
||||||
|
<span id="L121"><span class="lineNum"> 121</span> : : }</span>
|
||||||
|
<span id="L122"><span class="lineNum"> 122</span> : : </span>
|
||||||
|
<span id="L123"><span class="lineNum"> 123</span> :<span class="tlaGNC"> 204 : AttributeValue Value(const Token &token, const AttributeDefinition &definition, bool isDefault) {</span></span>
|
||||||
|
<span id="L124"><span class="lineNum"> 124</span> [<span class="tlaGBC" title="Branch 0 was taken 6 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 198 times"> + </span>]:<span class="tlaGNC"> 204 : if (definition.type == AttributeType::String) {</span></span>
|
||||||
|
<span id="L125"><span class="lineNum"> 125</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 6 : if (!token.quoted) throw std::runtime_error("Attribute STRING requires quoted text.");</span></span>
|
||||||
|
<span id="L126"><span class="lineNum"> 126</span> [<span class="tlaGBC" title="Branch 0 was taken 4 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 4 : return token.text;</span></span>
|
||||||
|
<span id="L127"><span class="lineNum"> 127</span> : : }</span>
|
||||||
|
<span id="L128"><span class="lineNum"> 128</span> [<span class="tlaGBC" title="Branch 0 was taken 10 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 188 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 5 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 5 times"> + </span> :<span class="tlaGNC"> 198 : if (definition.type == AttributeType::Enum && isDefault && token.quoted) {</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 1 time"> + </span>]
|
||||||
|
<span id="L129"><span class="lineNum"> 129</span> [<span class="tlaGBC" title="Branch 0 was taken 7 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2 times"> + </span>]:<span class="tlaGNC"> 9 : for (std::size_t index = 0U; index < definition.enumValues.size(); ++index) {</span></span>
|
||||||
|
<span id="L130"><span class="lineNum"> 130</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 5 times"> + </span>]:<span class="tlaGNC"> 7 : if (definition.enumValues[index] == token.text)</span></span>
|
||||||
|
<span id="L131"><span class="lineNum"> 131</span> :<span class="tlaGNC"> 2 : return static_cast<std::int64_t>(index);</span></span>
|
||||||
|
<span id="L132"><span class="lineNum"> 132</span> : : }</span>
|
||||||
|
<span id="L133"><span class="lineNum"> 133</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2 : throw std::runtime_error("Unknown attribute ENUM default label.");</span></span>
|
||||||
|
<span id="L134"><span class="lineNum"> 134</span> : : }</span>
|
||||||
|
<span id="L135"><span class="lineNum"> 135</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 192 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 194 : if (token.quoted) throw std::runtime_error("Numeric attribute requires an unquoted number.");</span></span>
|
||||||
|
<span id="L136"><span class="lineNum"> 136</span> [<span class="tlaGBC" title="Branch 0 was taken 53 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 139 times"> + </span>]:<span class="tlaGNC"> 192 : if (definition.type == AttributeType::Float) {</span></span>
|
||||||
|
<span id="L137"><span class="lineNum"> 137</span> [<span class="tlaGBC" title="Branch 0 was taken 5 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 48 times"> + </span>]:<span class="tlaGNC"> 53 : const double value = ParseNumber<double>(token.text);</span></span>
|
||||||
|
<span id="L138"><span class="lineNum"> 138</span> [<span class="tlaGBC" title="Branch 0 was taken 5 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 3 times"> + </span>]:<span class="tlaGNC"> 5 : if (value < definition.minimum || value > definition.maximum)</span></span>
|
||||||
|
<span id="L139"><span class="lineNum"> 139</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2 : throw std::runtime_error("Attribute FLOAT value outside definition range.");</span></span>
|
||||||
|
<span id="L140"><span class="lineNum"> 140</span> :<span class="tlaGNC"> 3 : return value;</span></span>
|
||||||
|
<span id="L141"><span class="lineNum"> 141</span> : : }</span>
|
||||||
|
<span id="L142"><span class="lineNum"> 142</span> [<span class="tlaGBC" title="Branch 0 was taken 31 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 108 times"> + </span>]:<span class="tlaGNC"> 139 : const std::int64_t value = ParseNumber<std::int64_t>(token.text);</span></span>
|
||||||
|
<span id="L143"><span class="lineNum"> 143</span> [<span class="tlaGBC" title="Branch 0 was taken 31 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 27 times"> + </span>]:<span class="tlaGNC"> 31 : if (value < definition.integerMinimum || value > definition.integerMaximum)</span></span>
|
||||||
|
<span id="L144"><span class="lineNum"> 144</span> [<span class="tlaGBC" title="Branch 0 was taken 4 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 4 : throw std::runtime_error("Attribute integer/ENUM value outside definition range.");</span></span>
|
||||||
|
<span id="L145"><span class="lineNum"> 145</span> :<span class="tlaGNC"> 27 : return value;</span></span>
|
||||||
|
<span id="L146"><span class="lineNum"> 146</span> : : }</span>
|
||||||
|
<span id="L147"><span class="lineNum"> 147</span> : : </span>
|
||||||
|
<span id="L148"><span class="lineNum"> 148</span> :<span class="tlaGNC"> 393 : void Define(AttributeTokens &tokens, DbcDatabase &database) {</span></span>
|
||||||
|
<span id="L149"><span class="lineNum"> 149</span> :<span class="tlaGNC"> 393 : AttributeDefinition definition;</span></span>
|
||||||
|
<span id="L150"><span class="lineNum"> 150</span> [<span class="tlaGBC" title="Branch 0 was taken 393 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 393 : const Token first = tokens.Take();</span></span>
|
||||||
|
<span id="L151"><span class="lineNum"> 151</span> [<span class="tlaGBC" title="Branch 0 was taken 393 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 393 : std::string name = first.text;</span></span>
|
||||||
|
<span id="L152"><span class="lineNum"> 152</span> [<span class="tlaGBC" title="Branch 0 was taken 76 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 317 times"> + </span>]:<span class="tlaGNC"> 393 : if (!first.quoted) {</span></span>
|
||||||
|
<span id="L153"><span class="lineNum"> 153</span> [<span class="tlaGBC" title="Branch 0 was taken 74 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2 times"> + </span>]:<span class="tlaGNC"> 76 : definition.scope = ParseScope(first.text);</span></span>
|
||||||
|
<span id="L154"><span class="lineNum"> 154</span> [<span class="tlaGBC" title="Branch 0 was taken 72 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2 times"> + </span>]:<span class="tlaGNC"> 74 : name = tokens.Quoted();</span></span>
|
||||||
|
<span id="L155"><span class="lineNum"> 155</span> : : }</span>
|
||||||
|
<span id="L156"><span class="lineNum"> 156</span> [<span class="tlaUNC" title="Branch 0 was not taken"> - </span><span class="tlaGBC" title="Branch 1 was taken 389 times"> + </span><span class="tlaUNC" title="Branch 2 was not taken"> - </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 389 : if (name.empty()) throw std::runtime_error("Empty attribute name.");</span></span>
|
||||||
|
<span id="L157"><span class="lineNum"> 157</span> [<span class="tlaGBC" title="Branch 0 was taken 387 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2 times"> + </span>]:<span class="tlaGNC"> 389 : const std::string type = tokens.Word();</span></span>
|
||||||
|
<span id="L158"><span class="lineNum"> 158</span> [<span class="tlaGBC" title="Branch 0 was taken 387 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 230 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 157 times"> + </span> :<span class="tlaGNC"> 387 : if (type == "INT" || type == "HEX") {</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 230 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaGBC" title="Branch 6 was taken 98 times"> + </span><span class="tlaGBC" title="Branch 7 was taken 132 times"> + </span><span class="tlaGBC" title="Branch 8 was taken 255 times"> + </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 9 was taken 132 times"> + </span>]
|
||||||
|
<span id="L159"><span class="lineNum"> 159</span> [<span class="tlaGBC" title="Branch 0 was taken 255 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 157 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 98 times"> + </span>]:<span class="tlaGNC"> 255 : definition.type = type == "INT" ? AttributeType::Integer : AttributeType::Hex;</span></span>
|
||||||
|
<span id="L160"><span class="lineNum"> 160</span> [<span class="tlaGBC" title="Branch 0 was taken 255 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 201 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 54 times"> + </span>]:<span class="tlaGNC"> 309 : definition.integerMinimum = ParseNumber<std::int64_t>(tokens.Word());</span></span>
|
||||||
|
<span id="L161"><span class="lineNum"> 161</span> [<span class="tlaGBC" title="Branch 0 was taken 201 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 145 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 56 times"> + </span>]:<span class="tlaGNC"> 257 : definition.integerMaximum = ParseNumber<std::int64_t>(tokens.Word());</span></span>
|
||||||
|
<span id="L162"><span class="lineNum"> 162</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 143 times"> + </span>]:<span class="tlaGNC"> 145 : if (definition.integerMinimum > definition.integerMaximum)</span></span>
|
||||||
|
<span id="L163"><span class="lineNum"> 163</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2 : throw std::runtime_error("Reversed attribute integer range.");</span></span>
|
||||||
|
<span id="L164"><span class="lineNum"> 164</span> [<span class="tlaGBC" title="Branch 0 was taken 132 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 106 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 26 times"> + </span>]:<span class="tlaGNC"> 132 : } else if (type == "FLOAT") {</span></span>
|
||||||
|
<span id="L165"><span class="lineNum"> 165</span> :<span class="tlaGNC"> 106 : definition.type = AttributeType::Float;</span></span>
|
||||||
|
<span id="L166"><span class="lineNum"> 166</span> [<span class="tlaGBC" title="Branch 0 was taken 106 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 80 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 26 times"> + </span>]:<span class="tlaGNC"> 132 : definition.minimum = ParseNumber<double>(tokens.Word());</span></span>
|
||||||
|
<span id="L167"><span class="lineNum"> 167</span> [<span class="tlaGBC" title="Branch 0 was taken 80 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 54 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 26 times"> + </span>]:<span class="tlaGNC"> 106 : definition.maximum = ParseNumber<double>(tokens.Word());</span></span>
|
||||||
|
<span id="L168"><span class="lineNum"> 168</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 52 times"> + </span>]:<span class="tlaGNC"> 54 : if (definition.minimum > definition.maximum)</span></span>
|
||||||
|
<span id="L169"><span class="lineNum"> 169</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2 : throw std::runtime_error("Reversed attribute FLOAT range.");</span></span>
|
||||||
|
<span id="L170"><span class="lineNum"> 170</span> [<span class="tlaGBC" title="Branch 0 was taken 26 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 11 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 15 times"> + </span>]:<span class="tlaGNC"> 26 : } else if (type == "STRING") {</span></span>
|
||||||
|
<span id="L171"><span class="lineNum"> 171</span> :<span class="tlaGNC"> 11 : definition.type = AttributeType::String;</span></span>
|
||||||
|
<span id="L172"><span class="lineNum"> 172</span> [<span class="tlaGBC" title="Branch 0 was taken 15 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 13 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 2 times"> + </span>]:<span class="tlaGNC"> 15 : } else if (type == "ENUM") {</span></span>
|
||||||
|
<span id="L173"><span class="lineNum"> 173</span> :<span class="tlaGNC"> 13 : definition.type = AttributeType::Enum;</span></span>
|
||||||
|
<span id="L174"><span class="lineNum"> 174</span> :<span class="tlaGNC"> 13 : std::set<std::string> labels;</span></span>
|
||||||
|
<span id="L175"><span class="lineNum"> 175</span> : : for (;;) {</span>
|
||||||
|
<span id="L176"><span class="lineNum"> 176</span> [<span class="tlaGBC" title="Branch 0 was taken 19 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 4 times"> + </span>]:<span class="tlaGNC"> 23 : const std::string label = tokens.Quoted();</span></span>
|
||||||
|
<span id="L177"><span class="lineNum"> 177</span> [<span class="tlaGBC" title="Branch 0 was taken 19 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 17 times"> + </span>]:<span class="tlaGNC"> 19 : if (!labels.insert(label).second)</span></span>
|
||||||
|
<span id="L178"><span class="lineNum"> 178</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2 : throw std::runtime_error("Duplicate attribute ENUM label.");</span></span>
|
||||||
|
<span id="L179"><span class="lineNum"> 179</span> [<span class="tlaGBC" title="Branch 0 was taken 17 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 17 : definition.enumValues.push_back(label);</span></span>
|
||||||
|
<span id="L180"><span class="lineNum"> 180</span> [<span class="tlaGBC" title="Branch 0 was taken 7 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 10 times"> + </span>]:<span class="tlaGNC"> 17 : if (tokens.Empty()) break;</span></span>
|
||||||
|
<span id="L181"><span class="lineNum"> 181</span> [<span class="tlaGBC" title="Branch 0 was taken 10 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 10 : const Token separator = tokens.Take();</span></span>
|
||||||
|
<span id="L182"><span class="lineNum"> 182</span> [<span class="tlaGBC" title="Branch 0 was taken 10 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 10 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 10 : if (separator.quoted || separator.text != ",") throw std::runtime_error("Expected ENUM comma.");</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaUNC" title="Branch 4 was not taken"> - </span><span class="tlaGBC" title="Branch 5 was taken 10 times"> + </span><span class="tlaUNC" title="Branch 6 was not taken"> - </span><span class="tlaGBC" title="Branch 7 was taken 10 times"> + </span><span class="tlaUNC" title="Branch 8 was not taken"> - </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaUNC" title="Branch 9 was not taken"> - </span>]
|
||||||
|
<span id="L183"><span class="lineNum"> 183</span> [<span class="tlaGBC" title="Branch 0 was taken 10 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 7 times"> + </span>]:<span class="tlaGNC"> 29 : }</span></span>
|
||||||
|
<span id="L184"><span class="lineNum"> 184</span> :<span class="tlaGNC"> 7 : definition.integerMaximum = static_cast<std::int64_t>(definition.enumValues.size() - 1U);</span></span>
|
||||||
|
<span id="L185"><span class="lineNum"> 185</span> :<span class="tlaGNC"> 13 : } else {</span></span>
|
||||||
|
<span id="L186"><span class="lineNum"> 186</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 2 : throw std::runtime_error("Unsupported attribute definition type: " + type);</span></span>
|
||||||
|
<span id="L187"><span class="lineNum"> 187</span> : : }</span>
|
||||||
|
<span id="L188"><span class="lineNum"> 188</span> [<span class="tlaGBC" title="Branch 0 was taken 213 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 213 : tokens.End();</span></span>
|
||||||
|
<span id="L189"><span class="lineNum"> 189</span> [<span class="tlaGBC" title="Branch 0 was taken 213 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 209 times"> + </span> :<span class="tlaGNC"> 213 : if (name == "VFrameFormat" && (definition.scope != AttributeScope::Frame || definition.type != AttributeType::Enum))</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 4 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaGBC" title="Branch 6 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 7 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 8 was taken 2 times"> + </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 9 was taken 211 times"> + </span>]
|
||||||
|
<span id="L190"><span class="lineNum"> 190</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2 : throw std::runtime_error("VFrameFormat requires a BO_ ENUM definition.");</span></span>
|
||||||
|
<span id="L191"><span class="lineNum"> 191</span> [<span class="tlaGBC" title="Branch 0 was taken 211 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 8 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 203 times"> + </span> :<span class="tlaGNC"> 217 : if (name == "GenMsgCycleTime" && (definition.scope != AttributeScope::Frame ||</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 6 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 6 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 7 was taken 209 times"> + </span>]
|
||||||
|
<span id="L192"><span class="lineNum"> 192</span> [<span class="tlaUNC" title="Branch 0 was not taken"> - </span><span class="tlaGBC" title="Branch 1 was taken 6 times"> + </span><span class="tlaUNC" title="Branch 2 was not taken"> - </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 6 : (definition.type != AttributeType::Integer && definition.type != AttributeType::Hex)))</span></span>
|
||||||
|
<span id="L193"><span class="lineNum"> 193</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2 : throw std::runtime_error("GenMsgCycleTime requires a BO_ integer definition.");</span></span>
|
||||||
|
<span id="L194"><span class="lineNum"> 194</span> [<span class="tlaGBC" title="Branch 0 was taken 209 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 207 times"> + </span>]:<span class="tlaGNC"> 209 : if (!database.attributeDefinitions.emplace(name, definition).second)</span></span>
|
||||||
|
<span id="L195"><span class="lineNum"> 195</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 2 : throw std::runtime_error("Duplicate attribute definition: " + name);</span></span>
|
||||||
|
<span id="L196"><span class="lineNum"> 196</span> :<span class="tlaGNC"> 945 : }</span></span>
|
||||||
|
<span id="L197"><span class="lineNum"> 197</span> : : </span>
|
||||||
|
<span id="L198"><span class="lineNum"> 198</span> :<span class="tlaGNC"> 218 : AttributeDefinition &FindDefinition(DbcDatabase &database, const std::string &name) {</span></span>
|
||||||
|
<span id="L199"><span class="lineNum"> 199</span> [<span class="tlaGBC" title="Branch 0 was taken 218 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 218 : const std::map<std::string, AttributeDefinition>::iterator found = database.attributeDefinitions.find(name);</span></span>
|
||||||
|
<span id="L200"><span class="lineNum"> 200</span> [<span class="tlaGBC" title="Branch 0 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 214 times"> + </span>]:<span class="tlaGNC"> 218 : if (found == database.attributeDefinitions.end())</span></span>
|
||||||
|
<span id="L201"><span class="lineNum"> 201</span> [<span class="tlaGBC" title="Branch 0 was taken 4 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 4 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 4 : throw std::runtime_error("Undefined attribute: " + name);</span></span>
|
||||||
|
<span id="L202"><span class="lineNum"> 202</span> :<span class="tlaGNC"> 428 : return found->second;</span></span>
|
||||||
|
<span id="L203"><span class="lineNum"> 203</span> : : }</span>
|
||||||
|
<span id="L204"><span class="lineNum"> 204</span> : : </span>
|
||||||
|
<span id="L205"><span class="lineNum"> 205</span> :<span class="tlaGNC"> 32 : void ParseId(const std::string &text, AttributeAssignment &assignment) {</span></span>
|
||||||
|
<span id="L206"><span class="lineNum"> 206</span> :<span class="tlaGNC"> 32 : const std::int64_t raw = ParseNumber<std::int64_t>(text);</span></span>
|
||||||
|
<span id="L207"><span class="lineNum"> 207</span> [<span class="tlaGBC" title="Branch 0 was taken 30 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 28 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 2 times"> + </span> :<span class="tlaGNC"> 32 : if (raw < 0 || raw > std::numeric_limits<std::uint32_t>::max() || (raw & 0x60000000U) != 0)</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 26 times"> + </span><span class="tlaGBC" title="Branch 6 was taken 6 times"> + </span><span class="tlaGBC" title="Branch 7 was taken 26 times"> + </span>]
|
||||||
|
<span id="L208"><span class="lineNum"> 208</span> [<span class="tlaGBC" title="Branch 0 was taken 6 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 6 : throw std::runtime_error("Invalid attribute CAN ID.");</span></span>
|
||||||
|
<span id="L209"><span class="lineNum"> 209</span> :<span class="tlaGNC"> 26 : const std::uint32_t id = static_cast<std::uint32_t>(raw);</span></span>
|
||||||
|
<span id="L210"><span class="lineNum"> 210</span> :<span class="tlaGNC"> 26 : assignment.canId = id & 0x1fffffffU;</span></span>
|
||||||
|
<span id="L211"><span class="lineNum"> 211</span> [<span class="tlaGBC" title="Branch 0 was taken 24 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 2 was not taken"> - </span><span class="tlaGBC" title="Branch 3 was taken 24 times"> + </span>]:<span class="tlaGNC"> 26 : assignment.isExtended = (id & 0x80000000U) != 0U || id > 0x7ffU;</span></span>
|
||||||
|
<span id="L212"><span class="lineNum"> 212</span> :<span class="tlaGNC"> 26 : }</span></span>
|
||||||
|
<span id="L213"><span class="lineNum"> 213</span> : : </span>
|
||||||
|
<span id="L214"><span class="lineNum"> 214</span> :<span class="tlaGNC"> 15 : AttributeMap &Target(DbcDatabase &database, const AttributeAssignment &assignment) {</span></span>
|
||||||
|
<span id="L215"><span class="lineNum"> 215</span> [<span class="tlaGBC" title="Branch 0 was taken 3 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 12 times"> + </span>]:<span class="tlaGNC"> 15 : if (assignment.scope == AttributeScope::Database) return database.attributes;</span></span>
|
||||||
|
<span id="L216"><span class="lineNum"> 216</span> [<span class="tlaGBC" title="Branch 0 was taken 14 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2 times"> + </span>]:<span class="tlaGNC"> 16 : for (FrameInfo &frame: database.frames) {</span></span>
|
||||||
|
<span id="L217"><span class="lineNum"> 217</span> [<span class="tlaGBC" title="Branch 0 was taken 12 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 10 times"> + </span>]:<span class="tlaGNC"> 14 : if (frame.canId != assignment.canId || frame.isExtended != assignment.isExtended) continue;</span></span>
|
||||||
|
<span id="L218"><span class="lineNum"> 218</span> [<span class="tlaGBC" title="Branch 0 was taken 7 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 3 times"> + </span>]:<span class="tlaGNC"> 11 : if (assignment.scope == AttributeScope::Frame) return frame.attributes;</span></span>
|
||||||
|
<span id="L219"><span class="lineNum"> 219</span> [<span class="tlaGBC" title="Branch 0 was taken 1 time"> + </span><span class="tlaGBC" title="Branch 1 was taken 2 times"> + </span>]:<span class="tlaGNC"> 3 : for (SignalInfo &signal: frame.signals) {</span></span>
|
||||||
|
<span id="L220"><span class="lineNum"> 220</span> [<span class="tlaGBC" title="Branch 0 was taken 1 time"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 1 : if (signal.name == assignment.targetName) return signal.attributes;</span></span>
|
||||||
|
<span id="L221"><span class="lineNum"> 221</span> : : }</span>
|
||||||
|
<span id="L222"><span class="lineNum"> 222</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 2 : throw std::runtime_error("Unresolved attribute signal: " + assignment.targetName);</span></span>
|
||||||
|
<span id="L223"><span class="lineNum"> 223</span> : : }</span>
|
||||||
|
<span id="L224"><span class="lineNum"> 224</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2 : throw std::runtime_error("Unresolved attribute frame.");</span></span>
|
||||||
|
<span id="L225"><span class="lineNum"> 225</span> : : }</span>
|
||||||
|
<span id="L226"><span class="lineNum"> 226</span> : : </span>
|
||||||
|
<span id="L227"><span class="lineNum"> 227</span> :<span class="tlaGNC"> 36 : void ValidateCycleTime(const std::string &name, const AttributeValue &value) {</span></span>
|
||||||
|
<span id="L228"><span class="lineNum"> 228</span> [<span class="tlaGBC" title="Branch 0 was taken 28 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 8 times"> + </span>]:<span class="tlaGNC"> 36 : if (name != "GenMsgCycleTime") return;</span></span>
|
||||||
|
<span id="L229"><span class="lineNum"> 229</span> :<span class="tlaGNC"> 8 : const std::int64_t milliseconds = std::get<std::int64_t>(value);</span></span>
|
||||||
|
<span id="L230"><span class="lineNum"> 230</span> [<span class="tlaGBC" title="Branch 0 was taken 6 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 4 times"> + </span> :<span class="tlaGNC"> 8 : if (milliseconds < 0 || milliseconds > std::numeric_limits<std::uint32_t>::max())</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 4 times"> + </span>]
|
||||||
|
<span id="L231"><span class="lineNum"> 231</span> [<span class="tlaGBC" title="Branch 0 was taken 4 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 4 : throw std::runtime_error("GenMsgCycleTime must fit unsigned 32-bit milliseconds.");</span></span>
|
||||||
|
<span id="L232"><span class="lineNum"> 232</span> : : }</span>
|
||||||
|
<span id="L233"><span class="lineNum"> 233</span> : : </span>
|
||||||
|
<span id="L234"><span class="lineNum"> 234</span> :<span class="tlaGNC"> 15 : void ApplyDefault(DbcDatabase &database, const std::string &name, const AttributeDefinition &definition) {</span></span>
|
||||||
|
<span id="L235"><span class="lineNum"> 235</span> [<span class="tlaUNC" title="Branch 0 was not taken"> - </span><span class="tlaGBC" title="Branch 1 was taken 15 times"> + </span>]:<span class="tlaGNC"> 15 : if (!definition.defaultValue) return;</span></span>
|
||||||
|
<span id="L236"><span class="lineNum"> 236</span> [<span class="tlaGBC" title="Branch 0 was taken 5 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 10 times"> + </span>]:<span class="tlaGNC"> 15 : if (definition.scope == AttributeScope::Database) {</span></span>
|
||||||
|
<span id="L237"><span class="lineNum"> 237</span> :<span class="tlaGNC"> 5 : database.attributes[name] = *definition.defaultValue;</span></span>
|
||||||
|
<span id="L238"><span class="lineNum"> 238</span> :<span class="tlaGNC"> 5 : return;</span></span>
|
||||||
|
<span id="L239"><span class="lineNum"> 239</span> : : }</span>
|
||||||
|
<span id="L240"><span class="lineNum"> 240</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 8 times"> + </span><span class="tlaUNC" title="Branch 2 was not taken"> - </span><span class="tlaGBC" title="Branch 3 was taken 2 times"> + </span>]:<span class="tlaGNC"> 10 : if (definition.scope != AttributeScope::Frame && definition.scope != AttributeScope::Signal)</span></span>
|
||||||
|
<span id="L241"><span class="lineNum"> 241</span> :<span class="tlaUNC"> 0 : return;</span></span>
|
||||||
|
<span id="L242"><span class="lineNum"> 242</span> [<span class="tlaGBC" title="Branch 0 was taken 18 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 10 times"> + </span>]:<span class="tlaGNC"> 28 : for (FrameInfo &frame: database.frames) {</span></span>
|
||||||
|
<span id="L243"><span class="lineNum"> 243</span> [<span class="tlaGBC" title="Branch 0 was taken 14 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 14 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 18 : if (definition.scope == AttributeScope::Frame) frame.attributes[name] = *definition.defaultValue;</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 14 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span>]
|
||||||
|
<span id="L244"><span class="lineNum"> 244</span> [<span class="tlaGBC" title="Branch 0 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 14 times"> + </span>]:<span class="tlaGNC"> 18 : if (definition.scope == AttributeScope::Signal) {</span></span>
|
||||||
|
<span id="L245"><span class="lineNum"> 245</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 6 : for (SignalInfo &signal: frame.signals) signal.attributes[name] = *definition.defaultValue;</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 4 times"> + </span>]
|
||||||
|
<span id="L246"><span class="lineNum"> 246</span> : : }</span>
|
||||||
|
<span id="L247"><span class="lineNum"> 247</span> : : }</span>
|
||||||
|
<span id="L248"><span class="lineNum"> 248</span> : : }</span>
|
||||||
|
<span id="L249"><span class="lineNum"> 249</span> : : }// namespace</span>
|
||||||
|
<span id="L250"><span class="lineNum"> 250</span> : : </span>
|
||||||
|
<span id="L251"><span class="lineNum"> 251</span> :<span class="tlaGNC"> 621 : void DbcAttributeHandler::Handle(const std::string &line, DbcParseContext &context) const {</span></span>
|
||||||
|
<span id="L252"><span class="lineNum"> 252</span> :<span class="tlaGNC"> 621 : context.pendingAttributes.push_back({line, context.lineNumber});</span></span>
|
||||||
|
<span id="L253"><span class="lineNum"> 253</span> [<span class="tlaGBC" title="Branch 0 was taken 621 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 621 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 1242 : }</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaUNC" title="Branch 4 was not taken"> - </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span>]
|
||||||
|
<span id="L254"><span class="lineNum"> 254</span> : : </span>
|
||||||
|
<span id="L255"><span class="lineNum"> 255</span> :<span class="tlaGNC"> 549 : void DbcParseContext::ResolveAttributes(const std::string &filePath, std::vector<DbcDiagnostic> &diagnostics) {</span></span>
|
||||||
|
<span id="L256"><span class="lineNum"> 256</span> :<span class="tlaGNC"> 549 : std::map<std::string, std::size_t> defaultLines;</span></span>
|
||||||
|
<span id="L257"><span class="lineNum"> 257</span> :<span class="tlaGNC"> 549 : std::vector<std::size_t> assignmentLines;</span></span>
|
||||||
|
<span id="L258"><span class="lineNum"> 258</span> : : // Resolve each phase independently of source ordering.</span>
|
||||||
|
<span id="L259"><span class="lineNum"> 259</span> :<span class="tlaGNC"> 549 : const char *keywords[] = {"BA_DEF_", "BA_DEF_DEF_", "BA_"};</span></span>
|
||||||
|
<span id="L260"><span class="lineNum"> 260</span> [<span class="tlaGBC" title="Branch 0 was taken 1177 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 163 times"> + </span>]:<span class="tlaGNC"> 1340 : for (const char *phase: keywords) {</span></span>
|
||||||
|
<span id="L261"><span class="lineNum"> 261</span> [<span class="tlaGBC" title="Branch 0 was taken 1303 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 791 times"> + </span>]:<span class="tlaGNC"> 2094 : for (const PendingAttribute &pending: pendingAttributes) {</span></span>
|
||||||
|
<span id="L262"><span class="lineNum"> 262</span> [<span class="tlaGBC" title="Branch 0 was taken 1303 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 1303 : const std::string keyword = pending.statement.substr(0U, pending.statement.find_first_of(" \t"));</span></span>
|
||||||
|
<span id="L263"><span class="lineNum"> 263</span> [<span class="tlaGBC" title="Branch 0 was taken 1303 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 682 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 621 times"> + </span>]:<span class="tlaGNC"> 1303 : if (keyword != phase) continue;</span></span>
|
||||||
|
<span id="L264"><span class="lineNum"> 264</span> : : try {</span>
|
||||||
|
<span id="L265"><span class="lineNum"> 265</span> [<span class="tlaGBC" title="Branch 0 was taken 611 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 10 times"> + </span>]:<span class="tlaGNC"> 621 : AttributeTokens tokens(pending.statement);</span></span>
|
||||||
|
<span id="L266"><span class="lineNum"> 266</span> [<span class="tlaGBC" title="Branch 0 was taken 611 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 611 : tokens.Word();</span></span>
|
||||||
|
<span id="L267"><span class="lineNum"> 267</span> [<span class="tlaGBC" title="Branch 0 was taken 611 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 393 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 218 times"> + </span>]:<span class="tlaGNC"> 611 : if (keyword == "BA_DEF_") {</span></span>
|
||||||
|
<span id="L268"><span class="lineNum"> 268</span> [<span class="tlaGBC" title="Branch 0 was taken 207 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 186 times"> + </span>]:<span class="tlaGNC"> 393 : Define(tokens, database);</span></span>
|
||||||
|
<span id="L269"><span class="lineNum"> 269</span> :<span class="tlaGNC"> 207 : continue;</span></span>
|
||||||
|
<span id="L270"><span class="lineNum"> 270</span> : : }</span>
|
||||||
|
<span id="L271"><span class="lineNum"> 271</span> [<span class="tlaGBC" title="Branch 0 was taken 218 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 218 : const std::string name = tokens.Quoted();</span></span>
|
||||||
|
<span id="L272"><span class="lineNum"> 272</span> [<span class="tlaGBC" title="Branch 0 was taken 214 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 4 times"> + </span>]:<span class="tlaGNC"> 218 : AttributeDefinition &definition = FindDefinition(database, name);</span></span>
|
||||||
|
<span id="L273"><span class="lineNum"> 273</span> [<span class="tlaGBC" title="Branch 0 was taken 214 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 99 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 115 times"> + </span>]:<span class="tlaGNC"> 214 : if (keyword == "BA_DEF_DEF_") {</span></span>
|
||||||
|
<span id="L274"><span class="lineNum"> 274</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 97 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 99 : if (definition.defaultValue) throw std::runtime_error("Duplicate attribute default: " + name);</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span>]
|
||||||
|
<span id="L275"><span class="lineNum"> 275</span> [<span class="tlaGBC" title="Branch 0 was taken 97 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 17 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 80 times"> + </span>]:<span class="tlaGNC"> 177 : definition.defaultValue = Value(tokens.Take(), definition, true);</span></span>
|
||||||
|
<span id="L276"><span class="lineNum"> 276</span> [<span class="tlaGBC" title="Branch 0 was taken 15 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2 times"> + </span>]:<span class="tlaGNC"> 17 : ValidateCycleTime(name, *definition.defaultValue);</span></span>
|
||||||
|
<span id="L277"><span class="lineNum"> 277</span> [<span class="tlaGBC" title="Branch 0 was taken 15 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 15 : tokens.End();</span></span>
|
||||||
|
<span id="L278"><span class="lineNum"> 278</span> [<span class="tlaGBC" title="Branch 0 was taken 15 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 15 : defaultLines[name] = pending.lineNumber;</span></span>
|
||||||
|
<span id="L279"><span class="lineNum"> 279</span> [<span class="tlaGBC" title="Branch 0 was taken 15 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 15 : ApplyDefault(database, name, definition);</span></span>
|
||||||
|
<span id="L280"><span class="lineNum"> 280</span> :<span class="tlaGNC"> 15 : continue;</span></span>
|
||||||
|
<span id="L281"><span class="lineNum"> 281</span> : : }</span>
|
||||||
|
<span id="L282"><span class="lineNum"> 282</span> :<span class="tlaGNC"> 115 : AttributeAssignment assignment;</span></span>
|
||||||
|
<span id="L283"><span class="lineNum"> 283</span> [<span class="tlaGBC" title="Branch 0 was taken 115 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 115 : assignment.name = name;</span></span>
|
||||||
|
<span id="L284"><span class="lineNum"> 284</span> [<span class="tlaGBC" title="Branch 0 was taken 115 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 115 : Token value = tokens.Take();</span></span>
|
||||||
|
<span id="L285"><span class="lineNum"> 285</span> [<span class="tlaGBC" title="Branch 0 was taken 115 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 115 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 115 : if (!value.quoted && IsScope(value.text)) {</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 34 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 81 times"> + </span><span class="tlaGBC" title="Branch 6 was taken 34 times"> + </span><span class="tlaGBC" title="Branch 7 was taken 81 times"> + </span>]
|
||||||
|
<span id="L286"><span class="lineNum"> 286</span> [<span class="tlaGBC" title="Branch 0 was taken 34 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 34 : assignment.scope = ParseScope(value.text);</span></span>
|
||||||
|
<span id="L287"><span class="lineNum"> 287</span> [<span class="tlaGBC" title="Branch 0 was taken 7 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 27 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 5 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 2 times"> + </span>]:<span class="tlaGNC"> 34 : if (assignment.scope == AttributeScope::Frame || assignment.scope == AttributeScope::Signal)</span></span>
|
||||||
|
<span id="L288"><span class="lineNum"> 288</span> [<span class="tlaGBC" title="Branch 0 was taken 32 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 26 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 6 times"> + </span>]:<span class="tlaGNC"> 38 : ParseId(tokens.Word(), assignment);</span></span>
|
||||||
|
<span id="L289"><span class="lineNum"> 289</span> [<span class="tlaGBC" title="Branch 0 was taken 7 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 21 times"> + </span>]:<span class="tlaGNC"> 28 : if (assignment.scope != AttributeScope::Frame)</span></span>
|
||||||
|
<span id="L290"><span class="lineNum"> 290</span> [<span class="tlaGBC" title="Branch 0 was taken 7 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 7 : assignment.targetName = tokens.Word();</span></span>
|
||||||
|
<span id="L291"><span class="lineNum"> 291</span> [<span class="tlaGBC" title="Branch 0 was taken 28 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 28 : value = tokens.Take();</span></span>
|
||||||
|
<span id="L292"><span class="lineNum"> 292</span> : : }</span>
|
||||||
|
<span id="L293"><span class="lineNum"> 293</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 107 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 109 : if (assignment.scope != definition.scope) throw std::runtime_error("Attribute assignment scope differs from definition.");</span></span>
|
||||||
|
<span id="L294"><span class="lineNum"> 294</span> [<span class="tlaGBC" title="Branch 0 was taken 19 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 88 times"> + </span>]:<span class="tlaGNC"> 107 : assignment.value = Value(value, definition, false);</span></span>
|
||||||
|
<span id="L295"><span class="lineNum"> 295</span> [<span class="tlaGBC" title="Branch 0 was taken 17 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2 times"> + </span>]:<span class="tlaGNC"> 19 : ValidateCycleTime(name, assignment.value);</span></span>
|
||||||
|
<span id="L296"><span class="lineNum"> 296</span> [<span class="tlaGBC" title="Branch 0 was taken 17 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 17 : tokens.End();</span></span>
|
||||||
|
<span id="L297"><span class="lineNum"> 297</span> : : // Repeated explicit assignments use the last value, matching comments.</span>
|
||||||
|
<span id="L298"><span class="lineNum"> 298</span> [<span class="tlaGBC" title="Branch 0 was taken 16 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 1 time"> + </span><span class="tlaGBC" title="Branch 2 was taken 15 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 1 time"> + </span>]:<span class="tlaGNC"> 17 : if (assignment.scope != AttributeScope::Node && assignment.scope != AttributeScope::Environment)</span></span>
|
||||||
|
<span id="L299"><span class="lineNum"> 299</span> [<span class="tlaGBC" title="Branch 0 was taken 11 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 11 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 15 : Target(database, assignment)[name] = assignment.value;</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 11 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span>]
|
||||||
|
<span id="L300"><span class="lineNum"> 300</span> [<span class="tlaGBC" title="Branch 0 was taken 13 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 13 : database.attributeAssignments.push_back(assignment);</span></span>
|
||||||
|
<span id="L301"><span class="lineNum"> 301</span> [<span class="tlaGBC" title="Branch 0 was taken 13 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 13 : assignmentLines.push_back(pending.lineNumber);</span></span>
|
||||||
|
<span id="L302"><span class="lineNum"> 302</span> [<span class="tlaGBC" title="Branch 0 was taken 13 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 15 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 13 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 222 times"> + </span> :<span class="tlaGNC"> 1406 : } catch (const std::exception &error) {</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaUNC" title="Branch 4 was not taken"> - </span><span class="tlaGBC" title="Branch 5 was taken 386 times"> + </span>]
|
||||||
|
<span id="L303"><span class="lineNum"> 303</span> [<span class="tlaGBC" title="Branch 0 was taken 386 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 386 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 1158 : throw DbcDiagnosticError(DbcDiagnosticCode::InvalidAttribute, filePath, pending.lineNumber, error.what());</span></span>
|
||||||
|
<span id="L304"><span class="lineNum"> 304</span> :<span class="tlaGNC"> 386 : }</span></span>
|
||||||
|
<span id="L305"><span class="lineNum"> 305</span> [<span class="tlaGBC" title="Branch 0 was taken 13 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 904 times"> + </span>]:<span class="tlaGNC"> 1303 : }</span></span>
|
||||||
|
<span id="L306"><span class="lineNum"> 306</span> : : }</span>
|
||||||
|
<span id="L307"><span class="lineNum"> 307</span> [<span class="tlaGBC" title="Branch 0 was taken 179 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 163 times"> + </span>]:<span class="tlaGNC"> 342 : for (FrameInfo &frame: database.frames) {</span></span>
|
||||||
|
<span id="L308"><span class="lineNum"> 308</span> [<span class="tlaGBC" title="Branch 0 was taken 12 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 179 times"> + </span>]:<span class="tlaGNC"> 191 : for (const AttributeMap::value_type &attribute: frame.attributes) {</span></span>
|
||||||
|
<span id="L309"><span class="lineNum"> 309</span> [<span class="tlaGBC" title="Branch 0 was taken 12 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 7 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 5 times"> + </span> :<span class="tlaGNC"> 16 : if (attribute.first != "VFrameFormat" && attribute.first != "GenMsgCycleTime") continue;</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 7 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaGBC" title="Branch 6 was taken 3 times"> + </span><span class="tlaGBC" title="Branch 7 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 8 was taken 3 times"> + </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 9 was taken 9 times"> + </span>]
|
||||||
|
<span id="L310"><span class="lineNum"> 310</span> [<span class="tlaGBC" title="Branch 0 was taken 9 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 9 : std::size_t line = defaultLines[attribute.first];</span></span>
|
||||||
|
<span id="L311"><span class="lineNum"> 311</span> [<span class="tlaGBC" title="Branch 0 was taken 28 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 9 times"> + </span>]:<span class="tlaGNC"> 37 : for (std::size_t index = 0U; index < database.attributeAssignments.size(); ++index) {</span></span>
|
||||||
|
<span id="L312"><span class="lineNum"> 312</span> :<span class="tlaGNC"> 28 : const AttributeAssignment &assignment = database.attributeAssignments[index];</span></span>
|
||||||
|
<span id="L313"><span class="lineNum"> 313</span> [<span class="tlaGBC" title="Branch 0 was taken 12 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 40 : if (assignment.name == attribute.first && assignment.scope == AttributeScope::Frame &&</span></span>
|
||||||
|
<span id="L314"><span class="lineNum"> 314</span> [<span class="tlaGBC" title="Branch 0 was taken 12 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 16 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 9 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 3 times"> + </span> :<span class="tlaGNC"> 40 : assignment.canId == frame.canId && assignment.isExtended == frame.isExtended)</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 5 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 6 was taken 5 times"> + </span><span class="tlaGBC" title="Branch 7 was taken 23 times"> + </span>]
|
||||||
|
<span id="L315"><span class="lineNum"> 315</span> :<span class="tlaGNC"> 5 : line = assignmentLines[index];</span></span>
|
||||||
|
<span id="L316"><span class="lineNum"> 316</span> : : }</span>
|
||||||
|
<span id="L317"><span class="lineNum"> 317</span> [<span class="tlaGBC" title="Branch 0 was taken 9 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 9 : const std::int64_t value = std::get<std::int64_t>(attribute.second);</span></span>
|
||||||
|
<span id="L318"><span class="lineNum"> 318</span> [<span class="tlaGBC" title="Branch 0 was taken 9 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 5 times"> + </span>]:<span class="tlaGNC"> 9 : if (attribute.first == "GenMsgCycleTime") {</span></span>
|
||||||
|
<span id="L319"><span class="lineNum"> 319</span> :<span class="tlaGNC"> 4 : frame.cycleTimeMs = static_cast<std::uint32_t>(value);</span></span>
|
||||||
|
<span id="L320"><span class="lineNum"> 320</span> :<span class="tlaGNC"> 4 : continue;</span></span>
|
||||||
|
<span id="L321"><span class="lineNum"> 321</span> : : }</span>
|
||||||
|
<span id="L322"><span class="lineNum"> 322</span> [<span class="tlaGBC" title="Branch 0 was taken 5 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 5 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 5 : frame.frameFormat = database.attributeDefinitions.at(attribute.first).enumValues[static_cast<std::size_t>(value)];</span></span>
|
||||||
|
<span id="L323"><span class="lineNum"> 323</span> :<span class="tlaGNC"> 5 : const std::string &format = *frame.frameFormat;</span></span>
|
||||||
|
<span id="L324"><span class="lineNum"> 324</span> :<span class="tlaGNC"> 5 : std::string warning;</span></span>
|
||||||
|
<span id="L325"><span class="lineNum"> 325</span> [<span class="tlaGBC" title="Branch 0 was taken 5 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 3 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 2 times"> + </span> :<span class="tlaGNC"> 5 : if (format != "StandardCAN" && format != "ExtendedCAN")</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 3 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaGBC" title="Branch 6 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 7 was taken 1 time"> + </span><span class="tlaGBC" title="Branch 8 was taken 2 times"> + </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 9 was taken 3 times"> + </span>]
|
||||||
|
<span id="L326"><span class="lineNum"> 326</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 2 : warning = "Unsupported VFrameFormat '" + format + "' is preserved; decoding may be incomplete.";</span></span>
|
||||||
|
<span id="L327"><span class="lineNum"> 327</span> [<span class="tlaGBC" title="Branch 0 was taken 3 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 1 time"> + </span><span class="tlaGBC" title="Branch 3 was taken 2 times"> + </span>]:<span class="tlaGNC"> 3 : else if ((format == "ExtendedCAN") != frame.isExtended)</span></span>
|
||||||
|
<span id="L328"><span class="lineNum"> 328</span> [<span class="tlaGBC" title="Branch 0 was taken 1 time"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 1 time"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 1 : warning = "VFrameFormat '" + format + "' conflicts with the BO_ CAN ID; ID interpretation is unchanged.";</span></span>
|
||||||
|
<span id="L329"><span class="lineNum"> 329</span> [<span class="tlaGBC" title="Branch 0 was taken 3 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2 times"> + </span>]:<span class="tlaGNC"> 5 : if (!warning.empty())</span></span>
|
||||||
|
<span id="L330"><span class="lineNum"> 330</span> :<span class="tlaGNC"> 3 : diagnostics.push_back({DbcDiagnosticSeverity::Warning, DbcDiagnosticCode::UnsupportedAttribute, filePath, line, warning});</span></span>
|
||||||
|
<span id="L331"><span class="lineNum"> 331</span> :<span class="tlaGNC"> 5 : }</span></span>
|
||||||
|
<span id="L332"><span class="lineNum"> 332</span> : : }</span>
|
||||||
|
<span id="L333"><span class="lineNum"> 333</span> [<span class="tlaGBC" title="Branch 0 was taken 3 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 3 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 938 : }</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 3 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaUNC" title="Branch 6 was not taken"> - </span><span class="tlaUNC" title="Branch 7 was not taken"> - </span>]
|
||||||
|
</pre>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,93 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/dbc_decode_builder.cpp - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - dbc_decode_builder.cpp<span style="font-size: 80%;"> (<a href="dbc_decode_builder.cpp.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">40</td>
|
||||||
|
<td class="headerCovTableEntry">40</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryLo">62.5 %</td>
|
||||||
|
<td class="headerCovTableEntry">40</td>
|
||||||
|
<td class="headerCovTableEntry">25</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><a href="dbc_decode_builder.cpp.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></a></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_decode_builder.cpp.gcov.html#L13">DbcDecodeBuilder::Build(DbcDatabase const&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">108</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,93 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/dbc_decode_builder.cpp - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - dbc_decode_builder.cpp<span style="font-size: 80%;"> (<a href="dbc_decode_builder.cpp.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">40</td>
|
||||||
|
<td class="headerCovTableEntry">40</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryLo">62.5 %</td>
|
||||||
|
<td class="headerCovTableEntry">40</td>
|
||||||
|
<td class="headerCovTableEntry">25</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><a href="dbc_decode_builder.cpp.func-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></a></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_decode_builder.cpp.gcov.html#L13">DbcDecodeBuilder::Build(DbcDatabase const&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">108</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,146 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/dbc_decode_builder.cpp</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - dbc_decode_builder.cpp<span style="font-size: 80%;"> (source / <a href="dbc_decode_builder.cpp.func-c.html" title="Click to go to function table">functions</a>)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">40</td>
|
||||||
|
<td class="headerCovTableEntry">40</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryLo">62.5 %</td>
|
||||||
|
<td class="headerCovTableEntry">40</td>
|
||||||
|
<td class="headerCovTableEntry">25</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table cellpadding=0 cellspacing=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td><br></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<pre class="sourceHeading"> Branch data Line data Source code</pre>
|
||||||
|
<pre class="source">
|
||||||
|
<span id="L1"><span class="lineNum"> 1</span> : : /**</span>
|
||||||
|
<span id="L2"><span class="lineNum"> 2</span> : : * @file dbc_decode_builder.cpp</span>
|
||||||
|
<span id="L3"><span class="lineNum"> 3</span> : : * @brief Conversion of parsed metadata to runtime definitions.</span>
|
||||||
|
<span id="L4"><span class="lineNum"> 4</span> : : *</span>
|
||||||
|
<span id="L5"><span class="lineNum"> 5</span> : : * Created: 2026-03-13</span>
|
||||||
|
<span id="L6"><span class="lineNum"> 6</span> : : * Author: Deeaitch (Dim. Himro)</span>
|
||||||
|
<span id="L7"><span class="lineNum"> 7</span> : : *</span>
|
||||||
|
<span id="L8"><span class="lineNum"> 8</span> : : * Licensed under the MIT License.</span>
|
||||||
|
<span id="L9"><span class="lineNum"> 9</span> : : * See LICENSE file in the project root for full license text.</span>
|
||||||
|
<span id="L10"><span class="lineNum"> 10</span> : : */</span>
|
||||||
|
<span id="L11"><span class="lineNum"> 11</span> : : </span>
|
||||||
|
<span id="L12"><span class="lineNum"> 12</span> : : #include "dbc_decode_builder.h"</span>
|
||||||
|
<span id="L13"><span class="lineNum"> 13</span> : : #include <utility></span>
|
||||||
|
<span id="L14"><span class="lineNum"> 14</span> : : </span>
|
||||||
|
<span id="L15"><span class="lineNum"> 15</span> :<span class="tlaGNC"> 108 : DecodeDatabase DbcDecodeBuilder::Build(const DbcDatabase &source) const {</span></span>
|
||||||
|
<span id="L16"><span class="lineNum"> 16</span> :<span class="tlaGNC"> 108 : std::vector<DecodeFrame> frames;</span></span>
|
||||||
|
<span id="L17"><span class="lineNum"> 17</span> [<span class="tlaGBC" title="Branch 0 was taken 108 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 108 : frames.reserve(source.frames.size());</span></span>
|
||||||
|
<span id="L18"><span class="lineNum"> 18</span> : : </span>
|
||||||
|
<span id="L19"><span class="lineNum"> 19</span> [<span class="tlaGBC" title="Branch 0 was taken 140 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 108 times"> + </span>]:<span class="tlaGNC"> 248 : for (const FrameInfo &sourceFrame: source.frames) {</span></span>
|
||||||
|
<span id="L20"><span class="lineNum"> 20</span> :<span class="tlaGNC"> 140 : DecodeFrame targetFrame;</span></span>
|
||||||
|
<span id="L21"><span class="lineNum"> 21</span> : : </span>
|
||||||
|
<span id="L22"><span class="lineNum"> 22</span> [<span class="tlaGBC" title="Branch 0 was taken 140 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 140 : targetFrame.attributes = sourceFrame.attributes;</span></span>
|
||||||
|
<span id="L23"><span class="lineNum"> 23</span> [<span class="tlaGBC" title="Branch 0 was taken 140 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 140 : targetFrame.frameFormat = sourceFrame.frameFormat;</span></span>
|
||||||
|
<span id="L24"><span class="lineNum"> 24</span> :<span class="tlaGNC"> 140 : targetFrame.cycleTimeMs = sourceFrame.cycleTimeMs;</span></span>
|
||||||
|
<span id="L25"><span class="lineNum"> 25</span> [<span class="tlaGBC" title="Branch 0 was taken 140 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 140 : targetFrame.name = sourceFrame.name;</span></span>
|
||||||
|
<span id="L26"><span class="lineNum"> 26</span> :<span class="tlaGNC"> 140 : targetFrame.canId = sourceFrame.canId;</span></span>
|
||||||
|
<span id="L27"><span class="lineNum"> 27</span> :<span class="tlaGNC"> 140 : targetFrame.isExtended = sourceFrame.isExtended;</span></span>
|
||||||
|
<span id="L28"><span class="lineNum"> 28</span> :<span class="tlaGNC"> 140 : targetFrame.dlc = sourceFrame.dlc;</span></span>
|
||||||
|
<span id="L29"><span class="lineNum"> 29</span> :<span class="tlaGNC"> 140 : targetFrame.pgn = sourceFrame.pgn;</span></span>
|
||||||
|
<span id="L30"><span class="lineNum"> 30</span> :<span class="tlaGNC"> 140 : targetFrame.hasPgn = sourceFrame.hasPgn;</span></span>
|
||||||
|
<span id="L31"><span class="lineNum"> 31</span> [<span class="tlaGBC" title="Branch 0 was taken 140 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 140 : targetFrame.transmitter = sourceFrame.transmitter;</span></span>
|
||||||
|
<span id="L32"><span class="lineNum"> 32</span> [<span class="tlaGBC" title="Branch 0 was taken 140 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 140 : targetFrame.comment = sourceFrame.comment;</span></span>
|
||||||
|
<span id="L33"><span class="lineNum"> 33</span> : : </span>
|
||||||
|
<span id="L34"><span class="lineNum"> 34</span> [<span class="tlaGBC" title="Branch 0 was taken 140 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 140 : targetFrame.signals.reserve(sourceFrame.signals.size());</span></span>
|
||||||
|
<span id="L35"><span class="lineNum"> 35</span> [<span class="tlaGBC" title="Branch 0 was taken 173 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 140 times"> + </span>]:<span class="tlaGNC"> 313 : for (const SignalInfo &sourceSignal: sourceFrame.signals) {</span></span>
|
||||||
|
<span id="L36"><span class="lineNum"> 36</span> :<span class="tlaGNC"> 173 : DecodeSignal targetSignal;</span></span>
|
||||||
|
<span id="L37"><span class="lineNum"> 37</span> : : </span>
|
||||||
|
<span id="L38"><span class="lineNum"> 38</span> [<span class="tlaGBC" title="Branch 0 was taken 173 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 173 : targetSignal.attributes = sourceSignal.attributes;</span></span>
|
||||||
|
<span id="L39"><span class="lineNum"> 39</span> :<span class="tlaGNC"> 173 : targetSignal.multiplexing = sourceSignal.multiplexing;</span></span>
|
||||||
|
<span id="L40"><span class="lineNum"> 40</span> [<span class="tlaGBC" title="Branch 0 was taken 173 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 173 : targetSignal.name = sourceSignal.name;</span></span>
|
||||||
|
<span id="L41"><span class="lineNum"> 41</span> :<span class="tlaGNC"> 173 : targetSignal.startBit = sourceSignal.startBit;</span></span>
|
||||||
|
<span id="L42"><span class="lineNum"> 42</span> :<span class="tlaGNC"> 173 : targetSignal.length = sourceSignal.length;</span></span>
|
||||||
|
<span id="L43"><span class="lineNum"> 43</span> [<span class="tlaGBC" title="Branch 0 was taken 155 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 18 times"> + </span>]:<span class="tlaGNC"> 173 : targetSignal.byteOrder = sourceSignal.isLittleEndian ? ByteOrder::Intel : ByteOrder::Motorola;</span></span>
|
||||||
|
<span id="L44"><span class="lineNum"> 44</span> [<span class="tlaGBC" title="Branch 0 was taken 6 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 167 times"> + </span>]:<span class="tlaGNC"> 173 : targetSignal.valueType = sourceSignal.isSigned ? ValueType::Signed : ValueType::Unsigned;</span></span>
|
||||||
|
<span id="L45"><span class="lineNum"> 45</span> :<span class="tlaGNC"> 173 : targetSignal.factor = sourceSignal.factor;</span></span>
|
||||||
|
<span id="L46"><span class="lineNum"> 46</span> :<span class="tlaGNC"> 173 : targetSignal.offset = sourceSignal.offset;</span></span>
|
||||||
|
<span id="L47"><span class="lineNum"> 47</span> :<span class="tlaGNC"> 173 : targetSignal.minimum = sourceSignal.minimum;</span></span>
|
||||||
|
<span id="L48"><span class="lineNum"> 48</span> :<span class="tlaGNC"> 173 : targetSignal.maximum = sourceSignal.maximum;</span></span>
|
||||||
|
<span id="L49"><span class="lineNum"> 49</span> [<span class="tlaGBC" title="Branch 0 was taken 173 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 173 : targetSignal.unit = sourceSignal.unit;</span></span>
|
||||||
|
<span id="L50"><span class="lineNum"> 50</span> [<span class="tlaGBC" title="Branch 0 was taken 173 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 173 : targetSignal.receivers = sourceSignal.receivers;</span></span>
|
||||||
|
<span id="L51"><span class="lineNum"> 51</span> [<span class="tlaGBC" title="Branch 0 was taken 173 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 173 : targetSignal.comment = sourceSignal.comment;</span></span>
|
||||||
|
<span id="L52"><span class="lineNum"> 52</span> [<span class="tlaGBC" title="Branch 0 was taken 173 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 173 : targetSignal.valueDescriptions = sourceSignal.valueDescriptions;</span></span>
|
||||||
|
<span id="L53"><span class="lineNum"> 53</span> : : </span>
|
||||||
|
<span id="L54"><span class="lineNum"> 54</span> [<span class="tlaGBC" title="Branch 0 was taken 173 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 173 : targetFrame.signals.push_back(std::move(targetSignal));</span></span>
|
||||||
|
<span id="L55"><span class="lineNum"> 55</span> :<span class="tlaGNC"> 173 : }</span></span>
|
||||||
|
<span id="L56"><span class="lineNum"> 56</span> : : </span>
|
||||||
|
<span id="L57"><span class="lineNum"> 57</span> [<span class="tlaGBC" title="Branch 0 was taken 140 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 140 : frames.push_back(std::move(targetFrame));</span></span>
|
||||||
|
<span id="L58"><span class="lineNum"> 58</span> :<span class="tlaGNC"> 140 : }</span></span>
|
||||||
|
<span id="L59"><span class="lineNum"> 59</span> : : </span>
|
||||||
|
<span id="L60"><span class="lineNum"> 60</span> [<span class="tlaGBC" title="Branch 0 was taken 68 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 40 times"> + </span>]:<span class="tlaGNC"> 176 : return DecodeDatabase(frames);</span></span>
|
||||||
|
<span id="L61"><span class="lineNum"> 61</span> :<span class="tlaGNC"> 108 : }</span></span>
|
||||||
|
</pre>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,181 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/dbc_decoder.cpp - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - dbc_decoder.cpp<span style="font-size: 80%;"> (<a href="dbc_decoder.cpp.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">94.9 %</td>
|
||||||
|
<td class="headerCovTableEntry">156</td>
|
||||||
|
<td class="headerCovTableEntry">148</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">12</td>
|
||||||
|
<td class="headerCovTableEntry">12</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryLo">72.8 %</td>
|
||||||
|
<td class="headerCovTableEntry">158</td>
|
||||||
|
<td class="headerCovTableEntry">115</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><a href="dbc_decoder.cpp.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></a></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_decoder.cpp.gcov.html#L39">DbcDecoder::Decode(DecodeDatabase const&, RawCanFrame const&, std::vector<SignalKey, std::allocator<SignalKey> > const&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">12</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_decoder.cpp.gcov.html#L18">DbcDecoder::FindFrame(DecodeDatabase const&, unsigned int, bool) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">32</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_decoder.cpp.gcov.html#L250">DbcDecoder::SignExtend(unsigned long, unsigned int)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">81</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_decoder.cpp.gcov.html#L216">DbcDecoder::ExtractMotorola(std::vector<unsigned char, std::allocator<unsigned char> > const&, unsigned int, unsigned int, unsigned long&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">3138</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_decoder.cpp.gcov.html#L193">DbcDecoder::ExtractIntel(std::vector<unsigned char, std::allocator<unsigned char> > const&, unsigned int, unsigned int, unsigned long&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">3242</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_decoder.cpp.gcov.html#L111">DbcDecoder::ReadSelector(DecodeFrame const&, RawCanFrame const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">6341</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_decoder.cpp.gcov.html#L131">DbcDecoder::DecodeOneSignal(DecodeSignal const&, unsigned char, RawCanFrame const&, DbcDecoder::SelectorState const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">6375</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_decoder.cpp.gcov.html#L181">DbcDecoder::ExtractUnsigned(std::vector<unsigned char, std::allocator<unsigned char> > const&, DecodeSignal const&, unsigned long&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">6380</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_decoder.cpp.gcov.html#L34">DbcDecoder::Decode(DecodeDatabase const&, RawCanFrame const&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">6396</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_decoder.cpp.gcov.html#L99">DbcDecoder::IsValidDefinition(DecodeSignal const&, unsigned char)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">6396</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_decoder.cpp.gcov.html#L45">DbcDecoder::DecodeImpl(DecodeDatabase const&, RawCanFrame const&, std::vector<SignalKey, std::allocator<SignalKey> > const*) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">6408</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_decoder.cpp.gcov.html#L24">DbcDecoder::ResolveFrame(DecodeDatabase const&, unsigned int, bool)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">6440</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,181 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/dbc_decoder.cpp - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - dbc_decoder.cpp<span style="font-size: 80%;"> (<a href="dbc_decoder.cpp.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">94.9 %</td>
|
||||||
|
<td class="headerCovTableEntry">156</td>
|
||||||
|
<td class="headerCovTableEntry">148</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">12</td>
|
||||||
|
<td class="headerCovTableEntry">12</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryLo">72.8 %</td>
|
||||||
|
<td class="headerCovTableEntry">158</td>
|
||||||
|
<td class="headerCovTableEntry">115</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><a href="dbc_decoder.cpp.func-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></a></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_decoder.cpp.gcov.html#L34">DbcDecoder::Decode(DecodeDatabase const&, RawCanFrame const&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">6396</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_decoder.cpp.gcov.html#L39">DbcDecoder::Decode(DecodeDatabase const&, RawCanFrame const&, std::vector<SignalKey, std::allocator<SignalKey> > const&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">12</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_decoder.cpp.gcov.html#L45">DbcDecoder::DecodeImpl(DecodeDatabase const&, RawCanFrame const&, std::vector<SignalKey, std::allocator<SignalKey> > const*) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">6408</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_decoder.cpp.gcov.html#L131">DbcDecoder::DecodeOneSignal(DecodeSignal const&, unsigned char, RawCanFrame const&, DbcDecoder::SelectorState const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">6375</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_decoder.cpp.gcov.html#L193">DbcDecoder::ExtractIntel(std::vector<unsigned char, std::allocator<unsigned char> > const&, unsigned int, unsigned int, unsigned long&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">3242</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_decoder.cpp.gcov.html#L216">DbcDecoder::ExtractMotorola(std::vector<unsigned char, std::allocator<unsigned char> > const&, unsigned int, unsigned int, unsigned long&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">3138</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_decoder.cpp.gcov.html#L181">DbcDecoder::ExtractUnsigned(std::vector<unsigned char, std::allocator<unsigned char> > const&, DecodeSignal const&, unsigned long&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">6380</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_decoder.cpp.gcov.html#L18">DbcDecoder::FindFrame(DecodeDatabase const&, unsigned int, bool) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">32</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_decoder.cpp.gcov.html#L99">DbcDecoder::IsValidDefinition(DecodeSignal const&, unsigned char)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">6396</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_decoder.cpp.gcov.html#L111">DbcDecoder::ReadSelector(DecodeFrame const&, RawCanFrame const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">6341</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_decoder.cpp.gcov.html#L24">DbcDecoder::ResolveFrame(DecodeDatabase const&, unsigned int, bool)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">6440</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_decoder.cpp.gcov.html#L250">DbcDecoder::SignExtend(unsigned long, unsigned int)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">81</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,353 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/dbc_decoder.cpp</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - dbc_decoder.cpp<span style="font-size: 80%;"> (source / <a href="dbc_decoder.cpp.func-c.html" title="Click to go to function table">functions</a>)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">94.9 %</td>
|
||||||
|
<td class="headerCovTableEntry">156</td>
|
||||||
|
<td class="headerCovTableEntry">148</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">12</td>
|
||||||
|
<td class="headerCovTableEntry">12</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryLo">72.8 %</td>
|
||||||
|
<td class="headerCovTableEntry">158</td>
|
||||||
|
<td class="headerCovTableEntry">115</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table cellpadding=0 cellspacing=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td><br></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<pre class="sourceHeading"> Branch data Line data Source code</pre>
|
||||||
|
<pre class="source">
|
||||||
|
<span id="L1"><span class="lineNum"> 1</span> : : /**</span>
|
||||||
|
<span id="L2"><span class="lineNum"> 2</span> : : * @file dbc_decoder.cpp</span>
|
||||||
|
<span id="L3"><span class="lineNum"> 3</span> : : * @brief CAN signal extraction and physical value conversion.</span>
|
||||||
|
<span id="L4"><span class="lineNum"> 4</span> : : *</span>
|
||||||
|
<span id="L5"><span class="lineNum"> 5</span> : : * Created: 2026-03-13</span>
|
||||||
|
<span id="L6"><span class="lineNum"> 6</span> : : * Author: Deeaitch (Dim. Himro)</span>
|
||||||
|
<span id="L7"><span class="lineNum"> 7</span> : : *</span>
|
||||||
|
<span id="L8"><span class="lineNum"> 8</span> : : * Licensed under the MIT License.</span>
|
||||||
|
<span id="L9"><span class="lineNum"> 9</span> : : * See LICENSE file in the project root for full license text.</span>
|
||||||
|
<span id="L10"><span class="lineNum"> 10</span> : : */</span>
|
||||||
|
<span id="L11"><span class="lineNum"> 11</span> : : </span>
|
||||||
|
<span id="L12"><span class="lineNum"> 12</span> : : #include "dbc_decoder.h"</span>
|
||||||
|
<span id="L13"><span class="lineNum"> 13</span> : : #include "j1939.h"</span>
|
||||||
|
<span id="L14"><span class="lineNum"> 14</span> : : #include "signal_layout.h"</span>
|
||||||
|
<span id="L15"><span class="lineNum"> 15</span> : : #include <cmath></span>
|
||||||
|
<span id="L16"><span class="lineNum"> 16</span> : : #include <stdexcept></span>
|
||||||
|
<span id="L17"><span class="lineNum"> 17</span> : : #include <unordered_set></span>
|
||||||
|
<span id="L18"><span class="lineNum"> 18</span> : : #include <utility></span>
|
||||||
|
<span id="L19"><span class="lineNum"> 19</span> : : </span>
|
||||||
|
<span id="L20"><span class="lineNum"> 20</span> :<span class="tlaGNC"> 32 : std::shared_ptr<const DecodeFrame> DbcDecoder::FindFrame(const DecodeDatabase &database,</span></span>
|
||||||
|
<span id="L21"><span class="lineNum"> 21</span> : : std::uint32_t canId,</span>
|
||||||
|
<span id="L22"><span class="lineNum"> 22</span> : : bool isExtended) const {</span>
|
||||||
|
<span id="L23"><span class="lineNum"> 23</span> [<span class="tlaGBC" title="Branch 0 was taken 32 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 32 : return ResolveFrame(database, canId, isExtended).definition;</span></span>
|
||||||
|
<span id="L24"><span class="lineNum"> 24</span> : : }</span>
|
||||||
|
<span id="L25"><span class="lineNum"> 25</span> : : </span>
|
||||||
|
<span id="L26"><span class="lineNum"> 26</span> :<span class="tlaGNC"> 6440 : PgnLookupResult DbcDecoder::ResolveFrame(const DecodeDatabase &database,</span></span>
|
||||||
|
<span id="L27"><span class="lineNum"> 27</span> : : std::uint32_t canId, bool isExtended) {</span>
|
||||||
|
<span id="L28"><span class="lineNum"> 28</span> [<span class="tlaGBC" title="Branch 0 was taken 6440 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 6440 : const std::shared_ptr<const DecodeFrame> exact = database.FindFrame(FrameKey(canId, isExtended));</span></span>
|
||||||
|
<span id="L29"><span class="lineNum"> 29</span> [<span class="tlaGBC" title="Branch 0 was taken 6335 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 105 times"> + </span>]:<span class="tlaGNC"> 6440 : if (exact)</span></span>
|
||||||
|
<span id="L30"><span class="lineNum"> 30</span> :<span class="tlaGNC"> 6335 : return {exact, false};</span></span>
|
||||||
|
<span id="L31"><span class="lineNum"> 31</span> [<span class="tlaGBC" title="Branch 0 was taken 87 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 18 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 7 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 80 times"> + </span>]:<span class="tlaGNC"> 105 : if (!isExtended || canId > 0x1FFFFFFFU)</span></span>
|
||||||
|
<span id="L32"><span class="lineNum"> 32</span> :<span class="tlaGNC"> 25 : return {};</span></span>
|
||||||
|
<span id="L33"><span class="lineNum"> 33</span> [<span class="tlaGBC" title="Branch 0 was taken 80 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 80 : return database.FindFrameByPgn(ExtractJ1939Pgn(canId));</span></span>
|
||||||
|
<span id="L34"><span class="lineNum"> 34</span> :<span class="tlaGNC"> 6440 : }</span></span>
|
||||||
|
<span id="L35"><span class="lineNum"> 35</span> : : </span>
|
||||||
|
<span id="L36"><span class="lineNum"> 36</span> :<span class="tlaGNC"> 6396 : DecodedFrameValue DbcDecoder::Decode(const DecodeDatabase &database,</span></span>
|
||||||
|
<span id="L37"><span class="lineNum"> 37</span> : : const RawCanFrame &frame) const {</span>
|
||||||
|
<span id="L38"><span class="lineNum"> 38</span> :<span class="tlaGNC"> 6396 : return DecodeImpl(database, frame, nullptr);</span></span>
|
||||||
|
<span id="L39"><span class="lineNum"> 39</span> : : }</span>
|
||||||
|
<span id="L40"><span class="lineNum"> 40</span> : : </span>
|
||||||
|
<span id="L41"><span class="lineNum"> 41</span> :<span class="tlaGNC"> 12 : DecodedFrameValue DbcDecoder::Decode(const DecodeDatabase &database,</span></span>
|
||||||
|
<span id="L42"><span class="lineNum"> 42</span> : : const RawCanFrame &frame,</span>
|
||||||
|
<span id="L43"><span class="lineNum"> 43</span> : : const std::vector<SignalKey> &selection) const {</span>
|
||||||
|
<span id="L44"><span class="lineNum"> 44</span> :<span class="tlaGNC"> 12 : return DecodeImpl(database, frame, &selection);</span></span>
|
||||||
|
<span id="L45"><span class="lineNum"> 45</span> : : }</span>
|
||||||
|
<span id="L46"><span class="lineNum"> 46</span> : : </span>
|
||||||
|
<span id="L47"><span class="lineNum"> 47</span> :<span class="tlaGNC"> 6408 : DecodedFrameValue DbcDecoder::DecodeImpl(const DecodeDatabase &database,</span></span>
|
||||||
|
<span id="L48"><span class="lineNum"> 48</span> : : const RawCanFrame &frame,</span>
|
||||||
|
<span id="L49"><span class="lineNum"> 49</span> : : const std::vector<SignalKey> *selection) const {</span>
|
||||||
|
<span id="L50"><span class="lineNum"> 50</span> :<span class="tlaGNC"> 6408 : DecodedFrameValue result;</span></span>
|
||||||
|
<span id="L51"><span class="lineNum"> 51</span> :<span class="tlaGNC"> 6408 : result.key = FrameKey(frame.canId, frame.isExtended);</span></span>
|
||||||
|
<span id="L52"><span class="lineNum"> 52</span> [<span class="tlaGBC" title="Branch 0 was taken 6408 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 6408 : const PgnLookupResult match = ResolveFrame(database, frame.canId, frame.isExtended);</span></span>
|
||||||
|
<span id="L53"><span class="lineNum"> 53</span> [<span class="tlaGBC" title="Branch 0 was taken 8 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 6400 times"> + </span>]:<span class="tlaGNC"> 6408 : if (match.ambiguous) {</span></span>
|
||||||
|
<span id="L54"><span class="lineNum"> 54</span> :<span class="tlaGNC"> 8 : result.status = FrameDecodeStatus::AmbiguousFrame;</span></span>
|
||||||
|
<span id="L55"><span class="lineNum"> 55</span> :<span class="tlaGNC"> 8 : return result;</span></span>
|
||||||
|
<span id="L56"><span class="lineNum"> 56</span> : : }</span>
|
||||||
|
<span id="L57"><span class="lineNum"> 57</span> :<span class="tlaGNC"> 6400 : const std::shared_ptr<const DecodeFrame> definition = match.definition;</span></span>
|
||||||
|
<span id="L58"><span class="lineNum"> 58</span> [<span class="tlaGBC" title="Branch 0 was taken 55 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 6345 times"> + </span>]:<span class="tlaGNC"> 6400 : if (definition == nullptr)</span></span>
|
||||||
|
<span id="L59"><span class="lineNum"> 59</span> :<span class="tlaGNC"> 55 : return result;</span></span>
|
||||||
|
<span id="L60"><span class="lineNum"> 60</span> :<span class="tlaGNC"> 6345 : result.key = definition->GetKey();</span></span>
|
||||||
|
<span id="L61"><span class="lineNum"> 61</span> : : </span>
|
||||||
|
<span id="L62"><span class="lineNum"> 62</span> :<span class="tlaGNC"> 6345 : std::vector<const DecodeSignal *> selected;</span></span>
|
||||||
|
<span id="L63"><span class="lineNum"> 63</span> [<span class="tlaGBC" title="Branch 0 was taken 8 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 6337 times"> + </span>]:<span class="tlaGNC"> 6345 : if (selection != nullptr) {</span></span>
|
||||||
|
<span id="L64"><span class="lineNum"> 64</span> [<span class="tlaGBC" title="Branch 0 was taken 8 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 8 : selected.reserve(selection->size());</span></span>
|
||||||
|
<span id="L65"><span class="lineNum"> 65</span> :<span class="tlaGNC"> 8 : std::unordered_set<SignalKey, SignalKeyHasher> keys;</span></span>
|
||||||
|
<span id="L66"><span class="lineNum"> 66</span> [<span class="tlaGBC" title="Branch 0 was taken 8 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 4 times"> + </span>]:<span class="tlaGNC"> 12 : for (const SignalKey &key: *selection) {</span></span>
|
||||||
|
<span id="L67"><span class="lineNum"> 67</span> [<span class="tlaGBC" title="Branch 0 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 4 times"> + </span>]:<span class="tlaGNC"> 8 : if (!(key.frame == result.key))</span></span>
|
||||||
|
<span id="L68"><span class="lineNum"> 68</span> [<span class="tlaGBC" title="Branch 0 was taken 4 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 4 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 4 : throw std::invalid_argument("Selected signal belongs to another frame: " + key.name);</span></span>
|
||||||
|
<span id="L69"><span class="lineNum"> 69</span> [<span class="tlaGBC" title="Branch 0 was taken 4 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaUNC" title="Branch 2 was not taken"> - </span><span class="tlaGBC" title="Branch 3 was taken 4 times"> + </span>]:<span class="tlaGNC"> 4 : if (!keys.insert(key).second)</span></span>
|
||||||
|
<span id="L70"><span class="lineNum"> 70</span> [<span class="tlaUNC" title="Branch 0 was not executed"> # </span><span class="tlaUNC" title="Branch 1 was not executed"> # </span><span class="tlaUNC" title="Branch 2 was not executed"> # </span><span class="tlaUNC" title="Branch 3 was not executed"> # </span>]:<span class="tlaUNC"> 0 : throw std::invalid_argument("Duplicate selected signal: " + key.name);</span></span>
|
||||||
|
<span id="L71"><span class="lineNum"> 71</span> [<span class="tlaGBC" title="Branch 0 was taken 4 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 4 : const std::shared_ptr<const DecodeSignal> signal = database.FindSignal(key);</span></span>
|
||||||
|
<span id="L72"><span class="lineNum"> 72</span> [<span class="tlaUNC" title="Branch 0 was not taken"> - </span><span class="tlaGBC" title="Branch 1 was taken 4 times"> + </span>]:<span class="tlaGNC"> 4 : if (!signal)</span></span>
|
||||||
|
<span id="L73"><span class="lineNum"> 73</span> [<span class="tlaUNC" title="Branch 0 was not executed"> # </span><span class="tlaUNC" title="Branch 1 was not executed"> # </span><span class="tlaUNC" title="Branch 2 was not executed"> # </span><span class="tlaUNC" title="Branch 3 was not executed"> # </span>]:<span class="tlaUNC"> 0 : throw std::invalid_argument("Unknown selected signal: " + key.name);</span></span>
|
||||||
|
<span id="L74"><span class="lineNum"> 74</span> [<span class="tlaGBC" title="Branch 0 was taken 4 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 4 : selected.push_back(signal.get());</span></span>
|
||||||
|
<span id="L75"><span class="lineNum"> 75</span> :<span class="tlaGNC"> 4 : }</span></span>
|
||||||
|
<span id="L76"><span class="lineNum"> 76</span> :<span class="tlaGNC"> 8 : }</span></span>
|
||||||
|
<span id="L77"><span class="lineNum"> 77</span> : : </span>
|
||||||
|
<span id="L78"><span class="lineNum"> 78</span> :<span class="tlaGNC"> 6341 : result.definition = definition;</span></span>
|
||||||
|
<span id="L79"><span class="lineNum"> 79</span> :<span class="tlaGNC"> 6341 : result.valid = true;</span></span>
|
||||||
|
<span id="L80"><span class="lineNum"> 80</span> :<span class="tlaGNC"> 6341 : result.status = frame.data.size() < definition->dlc</span></span>
|
||||||
|
<span id="L81"><span class="lineNum"> 81</span> [<span class="tlaGBC" title="Branch 0 was taken 6238 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 103 times"> + </span>]:<span class="tlaGNC"> 6341 : ? FrameDecodeStatus::InsufficientPayload</span></span>
|
||||||
|
<span id="L82"><span class="lineNum"> 82</span> : : : FrameDecodeStatus::Valid;</span>
|
||||||
|
<span id="L83"><span class="lineNum"> 83</span> : : </span>
|
||||||
|
<span id="L84"><span class="lineNum"> 84</span> [<span class="tlaGBC" title="Branch 0 was taken 6341 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 6341 : const SelectorState selector = ReadSelector(*definition, frame);</span></span>
|
||||||
|
<span id="L85"><span class="lineNum"> 85</span> [<span class="tlaGBC" title="Branch 0 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 6337 times"> + </span>]:<span class="tlaGNC"> 6341 : const std::size_t count = selection != nullptr ? selected.size() : definition->signals.size();</span></span>
|
||||||
|
<span id="L86"><span class="lineNum"> 86</span> [<span class="tlaGBC" title="Branch 0 was taken 6341 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 6341 : result.signals.reserve(count);</span></span>
|
||||||
|
<span id="L87"><span class="lineNum"> 87</span> [<span class="tlaGBC" title="Branch 0 was taken 6375 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 6341 times"> + </span>]:<span class="tlaGNC"> 12716 : for (std::size_t index = 0U; index < count; ++index) {</span></span>
|
||||||
|
<span id="L88"><span class="lineNum"> 88</span> [<span class="tlaGBC" title="Branch 0 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 6371 times"> + </span>]:<span class="tlaGNC"> 6375 : const DecodeSignal &signal = selection != nullptr ? *selected[index] : definition->signals[index];</span></span>
|
||||||
|
<span id="L89"><span class="lineNum"> 89</span> [<span class="tlaGBC" title="Branch 0 was taken 6375 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 6375 : DecodedSignalValue decoded = DecodeOneSignal(signal, definition->dlc, frame, selector);</span></span>
|
||||||
|
<span id="L90"><span class="lineNum"> 90</span> [<span class="tlaGBC" title="Branch 0 was taken 44 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 6331 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 31 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 13 times"> + </span>]:<span class="tlaGNC"> 6375 : if (!decoded.valid && decoded.status != SignalDecodeStatus::Inactive &&</span></span>
|
||||||
|
<span id="L91"><span class="lineNum"> 91</span> [<span class="tlaGBC" title="Branch 0 was taken 5 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 26 times"> + </span>]:<span class="tlaGNC"> 31 : result.status == FrameDecodeStatus::Valid)</span></span>
|
||||||
|
<span id="L92"><span class="lineNum"> 92</span> :<span class="tlaGNC"> 5 : result.status = FrameDecodeStatus::SignalErrors;</span></span>
|
||||||
|
<span id="L93"><span class="lineNum"> 93</span> :<span class="tlaGNC"> 6375 : decoded.definition = std::shared_ptr<const DecodeSignal>(definition, &signal);</span></span>
|
||||||
|
<span id="L94"><span class="lineNum"> 94</span> [<span class="tlaGBC" title="Branch 0 was taken 6375 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 6375 : decoded.key = SignalKey(result.key, signal.name);</span></span>
|
||||||
|
<span id="L95"><span class="lineNum"> 95</span> [<span class="tlaGBC" title="Branch 0 was taken 6375 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 6375 : result.signals.push_back(std::move(decoded));</span></span>
|
||||||
|
<span id="L96"><span class="lineNum"> 96</span> :<span class="tlaGNC"> 6375 : }</span></span>
|
||||||
|
<span id="L97"><span class="lineNum"> 97</span> : : </span>
|
||||||
|
<span id="L98"><span class="lineNum"> 98</span> :<span class="tlaGNC"> 6341 : return result;</span></span>
|
||||||
|
<span id="L99"><span class="lineNum"> 99</span> :<span class="tlaGNC"> 6420 : }</span></span>
|
||||||
|
<span id="L100"><span class="lineNum"> 100</span> : : </span>
|
||||||
|
<span id="L101"><span class="lineNum"> 101</span> :<span class="tlaGNC"> 6396 : bool DbcDecoder::IsValidDefinition(const DecodeSignal &signal, std::uint8_t dlc) {</span></span>
|
||||||
|
<span id="L102"><span class="lineNum"> 102</span> [<span class="tlaGBC" title="Branch 0 was taken 3144 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 3252 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 3144 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 6396 : if ((signal.byteOrder != ByteOrder::Intel && signal.byteOrder != ByteOrder::Motorola) ||</span></span>
|
||||||
|
<span id="L103"><span class="lineNum"> 103</span> [<span class="tlaGBC" title="Branch 0 was taken 85 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 6311 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 85 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 6396 : (signal.valueType != ValueType::Unsigned && signal.valueType != ValueType::Signed) ||</span></span>
|
||||||
|
<span id="L104"><span class="lineNum"> 104</span> [<span class="tlaGBC" title="Branch 0 was taken 71 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 6325 times"> + </span>]:<span class="tlaGNC"> 6396 : (signal.multiplexing.role != MultiplexRole::Unconditional &&</span></span>
|
||||||
|
<span id="L105"><span class="lineNum"> 105</span> [<span class="tlaGBC" title="Branch 0 was taken 29 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 42 times"> + </span>]:<span class="tlaGNC"> 71 : signal.multiplexing.role != MultiplexRole::Selector &&</span></span>
|
||||||
|
<span id="L106"><span class="lineNum"> 106</span> [<span class="tlaUNC" title="Branch 0 was not taken"> - </span><span class="tlaGBC" title="Branch 1 was taken 29 times"> + </span>]:<span class="tlaGNC"> 29 : signal.multiplexing.role != MultiplexRole::Branch))</span></span>
|
||||||
|
<span id="L107"><span class="lineNum"> 107</span> :<span class="tlaUNC"> 0 : return false;</span></span>
|
||||||
|
<span id="L108"><span class="lineNum"> 108</span> : : </span>
|
||||||
|
<span id="L109"><span class="lineNum"> 109</span> :<span class="tlaGNC"> 6396 : return IsValidSignalLayout(signal.startBit, signal.length,</span></span>
|
||||||
|
<span id="L110"><span class="lineNum"> 110</span> :<span class="tlaGNC"> 6396 : signal.byteOrder == ByteOrder::Intel, dlc);</span></span>
|
||||||
|
<span id="L111"><span class="lineNum"> 111</span> : : }</span>
|
||||||
|
<span id="L112"><span class="lineNum"> 112</span> : : </span>
|
||||||
|
<span id="L113"><span class="lineNum"> 113</span> :<span class="tlaGNC"> 6341 : DbcDecoder::SelectorState DbcDecoder::ReadSelector(const DecodeFrame &definition,</span></span>
|
||||||
|
<span id="L114"><span class="lineNum"> 114</span> : : const RawCanFrame &frame) {</span>
|
||||||
|
<span id="L115"><span class="lineNum"> 115</span> :<span class="tlaGNC"> 6341 : SelectorState selector;</span></span>
|
||||||
|
<span id="L116"><span class="lineNum"> 116</span> :<span class="tlaGNC"> 6341 : std::size_t count = 0U;</span></span>
|
||||||
|
<span id="L117"><span class="lineNum"> 117</span> [<span class="tlaGBC" title="Branch 0 was taken 6375 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 6341 times"> + </span>]:<span class="tlaGNC"> 12716 : for (const DecodeSignal &signal: definition.signals) {</span></span>
|
||||||
|
<span id="L118"><span class="lineNum"> 118</span> [<span class="tlaGBC" title="Branch 0 was taken 21 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 6354 times"> + </span>]:<span class="tlaGNC"> 6375 : if (signal.multiplexing.role == MultiplexRole::Selector) {</span></span>
|
||||||
|
<span id="L119"><span class="lineNum"> 119</span> :<span class="tlaGNC"> 21 : selector.definition = &signal;</span></span>
|
||||||
|
<span id="L120"><span class="lineNum"> 120</span> :<span class="tlaGNC"> 21 : ++count;</span></span>
|
||||||
|
<span id="L121"><span class="lineNum"> 121</span> : : }</span>
|
||||||
|
<span id="L122"><span class="lineNum"> 122</span> : : }</span>
|
||||||
|
<span id="L123"><span class="lineNum"> 123</span> [<span class="tlaGBC" title="Branch 0 was taken 6320 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 21 times"> + </span>]:<span class="tlaGNC"> 6341 : if (count != 1U)</span></span>
|
||||||
|
<span id="L124"><span class="lineNum"> 124</span> :<span class="tlaGNC"> 6320 : return selector;</span></span>
|
||||||
|
<span id="L125"><span class="lineNum"> 125</span> : : </span>
|
||||||
|
<span id="L126"><span class="lineNum"> 126</span> :<span class="tlaGNC"> 21 : const DecodeSignal &signal = *selector.definition;</span></span>
|
||||||
|
<span id="L127"><span class="lineNum"> 127</span> [<span class="tlaGBC" title="Branch 0 was taken 21 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 42 : selector.valid = signal.valueType == ValueType::Unsigned &&</span></span>
|
||||||
|
<span id="L128"><span class="lineNum"> 128</span> [<span class="tlaGBC" title="Branch 0 was taken 21 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 21 : IsValidDefinition(signal, definition.dlc);</span></span>
|
||||||
|
<span id="L129"><span class="lineNum"> 129</span> [<span class="tlaGBC" title="Branch 0 was taken 21 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 19 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 2 times"> + </span>]:<span class="tlaGNC"> 21 : selector.available = selector.valid && ExtractUnsigned(frame.data, signal, selector.value);</span></span>
|
||||||
|
<span id="L130"><span class="lineNum"> 130</span> :<span class="tlaGNC"> 21 : return selector;</span></span>
|
||||||
|
<span id="L131"><span class="lineNum"> 131</span> : : }</span>
|
||||||
|
<span id="L132"><span class="lineNum"> 132</span> : : </span>
|
||||||
|
<span id="L133"><span class="lineNum"> 133</span> :<span class="tlaGNC"> 6375 : DecodedSignalValue DbcDecoder::DecodeOneSignal(const DecodeSignal &signal,</span></span>
|
||||||
|
<span id="L134"><span class="lineNum"> 134</span> : : std::uint8_t dlc,</span>
|
||||||
|
<span id="L135"><span class="lineNum"> 135</span> : : const RawCanFrame &frame,</span>
|
||||||
|
<span id="L136"><span class="lineNum"> 136</span> : : const SelectorState &selector) {</span>
|
||||||
|
<span id="L137"><span class="lineNum"> 137</span> :<span class="tlaGNC"> 6375 : DecodedSignalValue decoded;</span></span>
|
||||||
|
<span id="L138"><span class="lineNum"> 138</span> :<span class="tlaGNC"> 6375 : std::uint64_t unsignedValue = 0U;</span></span>
|
||||||
|
<span id="L139"><span class="lineNum"> 139</span> : : </span>
|
||||||
|
<span id="L140"><span class="lineNum"> 140</span> [<span class="tlaGBC" title="Branch 0 was taken 6375 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 6375 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 12750 : if (!IsValidDefinition(signal, dlc) ||</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaUNC" title="Branch 4 was not taken"> - </span><span class="tlaGBC" title="Branch 5 was taken 6375 times"> + </span>]
|
||||||
|
<span id="L141"><span class="lineNum"> 141</span> [<span class="tlaGBC" title="Branch 0 was taken 50 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 6325 times"> + </span><span class="tlaUNC" title="Branch 2 was not taken"> - </span><span class="tlaGBC" title="Branch 3 was taken 50 times"> + </span>]:<span class="tlaGNC"> 6375 : (signal.multiplexing.role != MultiplexRole::Unconditional && !selector.valid)) {</span></span>
|
||||||
|
<span id="L142"><span class="lineNum"> 142</span> :<span class="tlaUNC"> 0 : return decoded;</span></span>
|
||||||
|
<span id="L143"><span class="lineNum"> 143</span> : : }</span>
|
||||||
|
<span id="L144"><span class="lineNum"> 144</span> [<span class="tlaGBC" title="Branch 0 was taken 29 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 6346 times"> + </span>]:<span class="tlaGNC"> 6375 : if (signal.multiplexing.role == MultiplexRole::Branch) {</span></span>
|
||||||
|
<span id="L145"><span class="lineNum"> 145</span> [<span class="tlaGBC" title="Branch 0 was taken 23 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 6 times"> + </span><span class="tlaUNC" title="Branch 2 was not taken"> - </span><span class="tlaGBC" title="Branch 3 was taken 23 times"> + </span>]:<span class="tlaGNC"> 29 : if (selector.definition->length < 64U && signal.multiplexing.value >= (std::uint64_t(1U) << selector.definition->length)) {</span></span>
|
||||||
|
<span id="L146"><span class="lineNum"> 146</span> :<span class="tlaUNC"> 0 : return decoded;</span></span>
|
||||||
|
<span id="L147"><span class="lineNum"> 147</span> : : }</span>
|
||||||
|
<span id="L148"><span class="lineNum"> 148</span> [<span class="tlaGBC" title="Branch 0 was taken 3 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 26 times"> + </span>]:<span class="tlaGNC"> 29 : if (!selector.available) {</span></span>
|
||||||
|
<span id="L149"><span class="lineNum"> 149</span> :<span class="tlaGNC"> 3 : decoded.status = SignalDecodeStatus::SelectorUnavailable;</span></span>
|
||||||
|
<span id="L150"><span class="lineNum"> 150</span> :<span class="tlaGNC"> 3 : return decoded;</span></span>
|
||||||
|
<span id="L151"><span class="lineNum"> 151</span> : : }</span>
|
||||||
|
<span id="L152"><span class="lineNum"> 152</span> [<span class="tlaGBC" title="Branch 0 was taken 13 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 13 times"> + </span>]:<span class="tlaGNC"> 26 : if (signal.multiplexing.value != selector.value) {</span></span>
|
||||||
|
<span id="L153"><span class="lineNum"> 153</span> :<span class="tlaGNC"> 13 : decoded.status = SignalDecodeStatus::Inactive;</span></span>
|
||||||
|
<span id="L154"><span class="lineNum"> 154</span> :<span class="tlaGNC"> 13 : return decoded;</span></span>
|
||||||
|
<span id="L155"><span class="lineNum"> 155</span> : : }</span>
|
||||||
|
<span id="L156"><span class="lineNum"> 156</span> : : }</span>
|
||||||
|
<span id="L157"><span class="lineNum"> 157</span> [<span class="tlaGBC" title="Branch 0 was taken 6359 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 23 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 6336 times"> + </span>]:<span class="tlaGNC"> 6359 : if (!ExtractUnsigned(frame.data, signal, unsignedValue)) {</span></span>
|
||||||
|
<span id="L158"><span class="lineNum"> 158</span> :<span class="tlaGNC"> 23 : decoded.status = SignalDecodeStatus::InsufficientPayload;</span></span>
|
||||||
|
<span id="L159"><span class="lineNum"> 159</span> :<span class="tlaGNC"> 23 : return decoded;</span></span>
|
||||||
|
<span id="L160"><span class="lineNum"> 160</span> : : }</span>
|
||||||
|
<span id="L161"><span class="lineNum"> 161</span> : : </span>
|
||||||
|
<span id="L162"><span class="lineNum"> 162</span> [<span class="tlaGBC" title="Branch 0 was taken 81 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 6255 times"> + </span>]:<span class="tlaGNC"> 6336 : if (signal.valueType == ValueType::Signed)</span></span>
|
||||||
|
<span id="L163"><span class="lineNum"> 163</span> [<span class="tlaGBC" title="Branch 0 was taken 81 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 81 : decoded.rawValue = SignExtend(unsignedValue, signal.length);</span></span>
|
||||||
|
<span id="L164"><span class="lineNum"> 164</span> : : else</span>
|
||||||
|
<span id="L165"><span class="lineNum"> 165</span> :<span class="tlaGNC"> 6255 : decoded.rawValue = unsignedValue;</span></span>
|
||||||
|
<span id="L166"><span class="lineNum"> 166</span> : : </span>
|
||||||
|
<span id="L167"><span class="lineNum"> 167</span> : : double numericValue;</span>
|
||||||
|
<span id="L168"><span class="lineNum"> 168</span> [<span class="tlaGBC" title="Branch 0 was taken 81 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 6255 times"> + </span>]:<span class="tlaGNC"> 6336 : if (const std::int64_t *signedValue = std::get_if<std::int64_t>(&decoded.rawValue))</span></span>
|
||||||
|
<span id="L169"><span class="lineNum"> 169</span> :<span class="tlaGNC"> 81 : numericValue = static_cast<double>(*signedValue);</span></span>
|
||||||
|
<span id="L170"><span class="lineNum"> 170</span> : : else</span>
|
||||||
|
<span id="L171"><span class="lineNum"> 171</span> [<span class="tlaGBC" title="Branch 0 was taken 6255 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 6255 : numericValue = static_cast<double>(std::get<std::uint64_t>(decoded.rawValue));</span></span>
|
||||||
|
<span id="L172"><span class="lineNum"> 172</span> :<span class="tlaGNC"> 6336 : decoded.physicalValue = numericValue * signal.factor + signal.offset;</span></span>
|
||||||
|
<span id="L173"><span class="lineNum"> 173</span> [<span class="tlaGBC" title="Branch 0 was taken 5 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 6331 times"> + </span>]:<span class="tlaGNC"> 6336 : if (!std::isfinite(decoded.physicalValue)) {</span></span>
|
||||||
|
<span id="L174"><span class="lineNum"> 174</span> :<span class="tlaGNC"> 5 : decoded.status = SignalDecodeStatus::PhysicalConversionFailed;</span></span>
|
||||||
|
<span id="L175"><span class="lineNum"> 175</span> :<span class="tlaGNC"> 5 : return decoded;</span></span>
|
||||||
|
<span id="L176"><span class="lineNum"> 176</span> : : }</span>
|
||||||
|
<span id="L177"><span class="lineNum"> 177</span> :<span class="tlaGNC"> 6331 : decoded.valid = true;</span></span>
|
||||||
|
<span id="L178"><span class="lineNum"> 178</span> :<span class="tlaGNC"> 6331 : decoded.status = SignalDecodeStatus::Valid;</span></span>
|
||||||
|
<span id="L179"><span class="lineNum"> 179</span> : : </span>
|
||||||
|
<span id="L180"><span class="lineNum"> 180</span> :<span class="tlaGNC"> 6331 : return decoded;</span></span>
|
||||||
|
<span id="L181"><span class="lineNum"> 181</span> :<span class="tlaUNC"> 0 : }</span></span>
|
||||||
|
<span id="L182"><span class="lineNum"> 182</span> : : </span>
|
||||||
|
<span id="L183"><span class="lineNum"> 183</span> :<span class="tlaGNC"> 6380 : bool DbcDecoder::ExtractUnsigned(const std::vector<std::uint8_t> &data,</span></span>
|
||||||
|
<span id="L184"><span class="lineNum"> 184</span> : : const DecodeSignal &signal,</span>
|
||||||
|
<span id="L185"><span class="lineNum"> 185</span> : : std::uint64_t &value) {</span>
|
||||||
|
<span id="L186"><span class="lineNum"> 186</span> [<span class="tlaGBC" title="Branch 0 was taken 6380 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaUNC" title="Branch 2 was not taken"> - </span><span class="tlaGBC" title="Branch 3 was taken 6380 times"> + </span>]:<span class="tlaGNC"> 6380 : if ((signal.length == 0U) || (signal.length > 64U))</span></span>
|
||||||
|
<span id="L187"><span class="lineNum"> 187</span> :<span class="tlaUNC"> 0 : return false;</span></span>
|
||||||
|
<span id="L188"><span class="lineNum"> 188</span> : : </span>
|
||||||
|
<span id="L189"><span class="lineNum"> 189</span> [<span class="tlaGBC" title="Branch 0 was taken 3242 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 3138 times"> + </span>]:<span class="tlaGNC"> 6380 : if (signal.byteOrder == ByteOrder::Intel)</span></span>
|
||||||
|
<span id="L190"><span class="lineNum"> 190</span> :<span class="tlaGNC"> 3242 : return ExtractIntel(data, signal.startBit, signal.length, value);</span></span>
|
||||||
|
<span id="L191"><span class="lineNum"> 191</span> : : </span>
|
||||||
|
<span id="L192"><span class="lineNum"> 192</span> :<span class="tlaGNC"> 3138 : return ExtractMotorola(data, signal.startBit, signal.length, value);</span></span>
|
||||||
|
<span id="L193"><span class="lineNum"> 193</span> : : }</span>
|
||||||
|
<span id="L194"><span class="lineNum"> 194</span> : : </span>
|
||||||
|
<span id="L195"><span class="lineNum"> 195</span> :<span class="tlaGNC"> 3242 : bool DbcDecoder::ExtractIntel(const std::vector<std::uint8_t> &data,</span></span>
|
||||||
|
<span id="L196"><span class="lineNum"> 196</span> : : std::uint32_t startBit,</span>
|
||||||
|
<span id="L197"><span class="lineNum"> 197</span> : : std::uint32_t length,</span>
|
||||||
|
<span id="L198"><span class="lineNum"> 198</span> : : std::uint64_t &value) {</span>
|
||||||
|
<span id="L199"><span class="lineNum"> 199</span> :<span class="tlaGNC"> 3242 : value = 0U;</span></span>
|
||||||
|
<span id="L200"><span class="lineNum"> 200</span> : : </span>
|
||||||
|
<span id="L201"><span class="lineNum"> 201</span> [<span class="tlaGBC" title="Branch 0 was taken 102334 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 3224 times"> + </span>]:<span class="tlaGNC"> 105558 : for (std::uint32_t bitIndex = 0U; bitIndex < length; ++bitIndex) {</span></span>
|
||||||
|
<span id="L202"><span class="lineNum"> 202</span> :<span class="tlaGNC"> 102334 : const std::uint64_t absoluteBit = std::uint64_t(startBit) + bitIndex;</span></span>
|
||||||
|
<span id="L203"><span class="lineNum"> 203</span> :<span class="tlaGNC"> 102334 : const std::uint64_t byteIndex = absoluteBit / 8U;</span></span>
|
||||||
|
<span id="L204"><span class="lineNum"> 204</span> :<span class="tlaGNC"> 102334 : const std::uint32_t bitInByte = absoluteBit % 8U;</span></span>
|
||||||
|
<span id="L205"><span class="lineNum"> 205</span> : : </span>
|
||||||
|
<span id="L206"><span class="lineNum"> 206</span> [<span class="tlaGBC" title="Branch 0 was taken 18 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 102316 times"> + </span>]:<span class="tlaGNC"> 102334 : if (byteIndex >= data.size())</span></span>
|
||||||
|
<span id="L207"><span class="lineNum"> 207</span> :<span class="tlaGNC"> 18 : return false;</span></span>
|
||||||
|
<span id="L208"><span class="lineNum"> 208</span> : : </span>
|
||||||
|
<span id="L209"><span class="lineNum"> 209</span> : : const std::uint64_t bitValue =</span>
|
||||||
|
<span id="L210"><span class="lineNum"> 210</span> :<span class="tlaGNC"> 102316 : (static_cast<std::uint64_t>((data[byteIndex] >> bitInByte) & 0x01U) << bitIndex);</span></span>
|
||||||
|
<span id="L211"><span class="lineNum"> 211</span> : : </span>
|
||||||
|
<span id="L212"><span class="lineNum"> 212</span> :<span class="tlaGNC"> 102316 : value |= bitValue;</span></span>
|
||||||
|
<span id="L213"><span class="lineNum"> 213</span> : : }</span>
|
||||||
|
<span id="L214"><span class="lineNum"> 214</span> : : </span>
|
||||||
|
<span id="L215"><span class="lineNum"> 215</span> :<span class="tlaGNC"> 3224 : return true;</span></span>
|
||||||
|
<span id="L216"><span class="lineNum"> 216</span> : : }</span>
|
||||||
|
<span id="L217"><span class="lineNum"> 217</span> : : </span>
|
||||||
|
<span id="L218"><span class="lineNum"> 218</span> :<span class="tlaGNC"> 3138 : bool DbcDecoder::ExtractMotorola(const std::vector<std::uint8_t> &data,</span></span>
|
||||||
|
<span id="L219"><span class="lineNum"> 219</span> : : std::uint32_t startBit,</span>
|
||||||
|
<span id="L220"><span class="lineNum"> 220</span> : : std::uint32_t length,</span>
|
||||||
|
<span id="L221"><span class="lineNum"> 221</span> : : std::uint64_t &value) {</span>
|
||||||
|
<span id="L222"><span class="lineNum"> 222</span> : : /*</span>
|
||||||
|
<span id="L223"><span class="lineNum"> 223</span> : : * DBC Motorola bit numbering:</span>
|
||||||
|
<span id="L224"><span class="lineNum"> 224</span> : : * - startBit points to the most significant bit of the signal</span>
|
||||||
|
<span id="L225"><span class="lineNum"> 225</span> : : * - inside a byte, bit numbering goes 7..0</span>
|
||||||
|
<span id="L226"><span class="lineNum"> 226</span> : : * - crossing byte boundary moves to the next byte, bit 7</span>
|
||||||
|
<span id="L227"><span class="lineNum"> 227</span> : : * Example: a signal starting at 7 follows 7..0, 15..8, 23..16.</span>
|
||||||
|
<span id="L228"><span class="lineNum"> 228</span> : : */</span>
|
||||||
|
<span id="L229"><span class="lineNum"> 229</span> : : </span>
|
||||||
|
<span id="L230"><span class="lineNum"> 230</span> :<span class="tlaGNC"> 3138 : value = 0U;</span></span>
|
||||||
|
<span id="L231"><span class="lineNum"> 231</span> : : </span>
|
||||||
|
<span id="L232"><span class="lineNum"> 232</span> :<span class="tlaGNC"> 3138 : std::size_t byteIndex = startBit / 8U;</span></span>
|
||||||
|
<span id="L233"><span class="lineNum"> 233</span> :<span class="tlaGNC"> 3138 : std::uint32_t bitInByte = startBit % 8U;</span></span>
|
||||||
|
<span id="L234"><span class="lineNum"> 234</span> : : </span>
|
||||||
|
<span id="L235"><span class="lineNum"> 235</span> [<span class="tlaGBC" title="Branch 0 was taken 101601 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 3131 times"> + </span>]:<span class="tlaGNC"> 104732 : for (std::uint32_t bitIndex = 0U; bitIndex < length; ++bitIndex) {</span></span>
|
||||||
|
<span id="L236"><span class="lineNum"> 236</span> [<span class="tlaGBC" title="Branch 0 was taken 7 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 101594 times"> + </span>]:<span class="tlaGNC"> 101601 : if (byteIndex >= data.size())</span></span>
|
||||||
|
<span id="L237"><span class="lineNum"> 237</span> :<span class="tlaGNC"> 7 : return false;</span></span>
|
||||||
|
<span id="L238"><span class="lineNum"> 238</span> : : </span>
|
||||||
|
<span id="L239"><span class="lineNum"> 239</span> :<span class="tlaGNC"> 101594 : value <<= 1U;</span></span>
|
||||||
|
<span id="L240"><span class="lineNum"> 240</span> :<span class="tlaGNC"> 101594 : value |= static_cast<std::uint64_t>((data[byteIndex] >> bitInByte) & 0x01U);</span></span>
|
||||||
|
<span id="L241"><span class="lineNum"> 241</span> : : </span>
|
||||||
|
<span id="L242"><span class="lineNum"> 242</span> [<span class="tlaGBC" title="Branch 0 was taken 12688 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 88906 times"> + </span>]:<span class="tlaGNC"> 101594 : if (bitInByte == 0U) {</span></span>
|
||||||
|
<span id="L243"><span class="lineNum"> 243</span> :<span class="tlaGNC"> 12688 : ++byteIndex;</span></span>
|
||||||
|
<span id="L244"><span class="lineNum"> 244</span> :<span class="tlaGNC"> 12688 : bitInByte = 7U;</span></span>
|
||||||
|
<span id="L245"><span class="lineNum"> 245</span> : : } else</span>
|
||||||
|
<span id="L246"><span class="lineNum"> 246</span> :<span class="tlaGNC"> 88906 : --bitInByte;</span></span>
|
||||||
|
<span id="L247"><span class="lineNum"> 247</span> : : }</span>
|
||||||
|
<span id="L248"><span class="lineNum"> 248</span> : : </span>
|
||||||
|
<span id="L249"><span class="lineNum"> 249</span> :<span class="tlaGNC"> 3131 : return true;</span></span>
|
||||||
|
<span id="L250"><span class="lineNum"> 250</span> : : }</span>
|
||||||
|
<span id="L251"><span class="lineNum"> 251</span> : : </span>
|
||||||
|
<span id="L252"><span class="lineNum"> 252</span> :<span class="tlaGNC"> 81 : std::int64_t DbcDecoder::SignExtend(std::uint64_t value, std::uint32_t bitLength) {</span></span>
|
||||||
|
<span id="L253"><span class="lineNum"> 253</span> [<span class="tlaGBC" title="Branch 0 was taken 81 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaUNC" title="Branch 2 was not taken"> - </span><span class="tlaGBC" title="Branch 3 was taken 81 times"> + </span>]:<span class="tlaGNC"> 81 : if ((bitLength == 0U) || (bitLength > 64U))</span></span>
|
||||||
|
<span id="L254"><span class="lineNum"> 254</span> :<span class="tlaUNC"> 0 : return 0;</span></span>
|
||||||
|
<span id="L255"><span class="lineNum"> 255</span> : : </span>
|
||||||
|
<span id="L256"><span class="lineNum"> 256</span> :<span class="tlaGNC"> 81 : const std::uint64_t signMask = std::uint64_t(1U) << (bitLength - 1U);</span></span>
|
||||||
|
<span id="L257"><span class="lineNum"> 257</span> :<span class="tlaGNC"> 81 : const std::uint64_t valueMask = (bitLength == 64U)</span></span>
|
||||||
|
<span id="L258"><span class="lineNum"> 258</span> [<span class="tlaGBC" title="Branch 0 was taken 68 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 13 times"> + </span>]:<span class="tlaGNC"> 81 : ? ~std::uint64_t(0U)</span></span>
|
||||||
|
<span id="L259"><span class="lineNum"> 259</span> :<span class="tlaGNC"> 68 : : (std::uint64_t(1U) << bitLength) - 1U;</span></span>
|
||||||
|
<span id="L260"><span class="lineNum"> 260</span> :<span class="tlaGNC"> 81 : value &= valueMask;</span></span>
|
||||||
|
<span id="L261"><span class="lineNum"> 261</span> : : </span>
|
||||||
|
<span id="L262"><span class="lineNum"> 262</span> [<span class="tlaGBC" title="Branch 0 was taken 41 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 40 times"> + </span>]:<span class="tlaGNC"> 81 : if ((value & signMask) == 0U)</span></span>
|
||||||
|
<span id="L263"><span class="lineNum"> 263</span> :<span class="tlaGNC"> 41 : return static_cast<std::int64_t>(value);</span></span>
|
||||||
|
<span id="L264"><span class="lineNum"> 264</span> : : </span>
|
||||||
|
<span id="L265"><span class="lineNum"> 265</span> : : // The complemented magnitude fits int64_t, including for INT64_MIN.</span>
|
||||||
|
<span id="L266"><span class="lineNum"> 266</span> :<span class="tlaGNC"> 40 : return -1 - static_cast<std::int64_t>((~value) & valueMask);</span></span>
|
||||||
|
<span id="L267"><span class="lineNum"> 267</span> : : }</span>
|
||||||
|
</pre>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,117 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/dbc_decoder.h - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - dbc_decoder.h<span style="font-size: 80%;"> (<a href="dbc_decoder.h.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">5</td>
|
||||||
|
<td class="headerCovTableEntry">5</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">4</td>
|
||||||
|
<td class="headerCovTableEntry">4</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryMed">75.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">4</td>
|
||||||
|
<td class="headerCovTableEntry">3</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><a href="dbc_decoder.h.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></a></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_decoder.h.gcov.html#L61">DecodedSignalValue::GetValueDescription[abi:cxx11]() const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">79</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_decoder.h.gcov.html#L27">RawCanFrame::RawCanFrame()</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">2220</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_decoder.h.gcov.html#L65">DecodedSignalValue::DecodedSignalValue()</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">6380</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_decoder.h.gcov.html#L78">DecodedFrameValue::DecodedFrameValue()</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">6409</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,117 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/dbc_decoder.h - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - dbc_decoder.h<span style="font-size: 80%;"> (<a href="dbc_decoder.h.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">5</td>
|
||||||
|
<td class="headerCovTableEntry">5</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">4</td>
|
||||||
|
<td class="headerCovTableEntry">4</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryMed">75.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">4</td>
|
||||||
|
<td class="headerCovTableEntry">3</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><a href="dbc_decoder.h.func-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></a></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_decoder.h.gcov.html#L78">DecodedFrameValue::DecodedFrameValue()</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">6409</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_decoder.h.gcov.html#L65">DecodedSignalValue::DecodedSignalValue()</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">6380</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_decoder.h.gcov.html#L61">DecodedSignalValue::GetValueDescription[abi:cxx11]() const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">79</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_decoder.h.gcov.html#L27">RawCanFrame::RawCanFrame()</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">2220</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,246 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/dbc_decoder.h</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - dbc_decoder.h<span style="font-size: 80%;"> (source / <a href="dbc_decoder.h.func-c.html" title="Click to go to function table">functions</a>)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">5</td>
|
||||||
|
<td class="headerCovTableEntry">5</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">4</td>
|
||||||
|
<td class="headerCovTableEntry">4</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryMed">75.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">4</td>
|
||||||
|
<td class="headerCovTableEntry">3</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table cellpadding=0 cellspacing=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td><br></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<pre class="sourceHeading"> Branch data Line data Source code</pre>
|
||||||
|
<pre class="source">
|
||||||
|
<span id="L1"><span class="lineNum"> 1</span> : : /**</span>
|
||||||
|
<span id="L2"><span class="lineNum"> 2</span> : : * @file dbc_decoder.h</span>
|
||||||
|
<span id="L3"><span class="lineNum"> 3</span> : : * @brief CAN frame decoding API and result types.</span>
|
||||||
|
<span id="L4"><span class="lineNum"> 4</span> : : *</span>
|
||||||
|
<span id="L5"><span class="lineNum"> 5</span> : : * Created: 2026-03-13</span>
|
||||||
|
<span id="L6"><span class="lineNum"> 6</span> : : * Author: Deeaitch (Dim. Himro)</span>
|
||||||
|
<span id="L7"><span class="lineNum"> 7</span> : : *</span>
|
||||||
|
<span id="L8"><span class="lineNum"> 8</span> : : * Licensed under the MIT License.</span>
|
||||||
|
<span id="L9"><span class="lineNum"> 9</span> : : * See LICENSE file in the project root for full license text.</span>
|
||||||
|
<span id="L10"><span class="lineNum"> 10</span> : : */</span>
|
||||||
|
<span id="L11"><span class="lineNum"> 11</span> : : </span>
|
||||||
|
<span id="L12"><span class="lineNum"> 12</span> : : #ifndef DBC_DECODER_H</span>
|
||||||
|
<span id="L13"><span class="lineNum"> 13</span> : : #define DBC_DECODER_H</span>
|
||||||
|
<span id="L14"><span class="lineNum"> 14</span> : : </span>
|
||||||
|
<span id="L15"><span class="lineNum"> 15</span> : : #include <cstdint></span>
|
||||||
|
<span id="L16"><span class="lineNum"> 16</span> : : #include <variant></span>
|
||||||
|
<span id="L17"><span class="lineNum"> 17</span> : : #include <vector></span>
|
||||||
|
<span id="L18"><span class="lineNum"> 18</span> : : </span>
|
||||||
|
<span id="L19"><span class="lineNum"> 19</span> : : #include "decode_database.h"</span>
|
||||||
|
<span id="L20"><span class="lineNum"> 20</span> : : </span>
|
||||||
|
<span id="L21"><span class="lineNum"> 21</span> : : /**</span>
|
||||||
|
<span id="L22"><span class="lineNum"> 22</span> : : * @brief Raw CAN frame used for runtime or trace decoding.</span>
|
||||||
|
<span id="L23"><span class="lineNum"> 23</span> : : */</span>
|
||||||
|
<span id="L24"><span class="lineNum"> 24</span> : : struct RawCanFrame {</span>
|
||||||
|
<span id="L25"><span class="lineNum"> 25</span> : : std::uint32_t canId = 0U; /**< Normalized CAN ID. */</span>
|
||||||
|
<span id="L26"><span class="lineNum"> 26</span> : : bool isExtended = false; /**< true for extended frame. */</span>
|
||||||
|
<span id="L27"><span class="lineNum"> 27</span> : : std::vector<std::uint8_t> data; /**< Payload bytes. */</span>
|
||||||
|
<span id="L28"><span class="lineNum"> 28</span> : : </span>
|
||||||
|
<span id="L29"><span class="lineNum"> 29</span> :<span class="tlaGNC"> 2220 : RawCanFrame() = default;</span></span>
|
||||||
|
<span id="L30"><span class="lineNum"> 30</span> : : };</span>
|
||||||
|
<span id="L31"><span class="lineNum"> 31</span> : : </span>
|
||||||
|
<span id="L32"><span class="lineNum"> 32</span> : : /** @brief Outcome of signal extraction and physical conversion. */</span>
|
||||||
|
<span id="L33"><span class="lineNum"> 33</span> : : enum class SignalDecodeStatus {</span>
|
||||||
|
<span id="L34"><span class="lineNum"> 34</span> : : InvalidDefinition,</span>
|
||||||
|
<span id="L35"><span class="lineNum"> 35</span> : : InsufficientPayload,</span>
|
||||||
|
<span id="L36"><span class="lineNum"> 36</span> : : SelectorUnavailable,</span>
|
||||||
|
<span id="L37"><span class="lineNum"> 37</span> : : Inactive,</span>
|
||||||
|
<span id="L38"><span class="lineNum"> 38</span> : : Valid,</span>
|
||||||
|
<span id="L39"><span class="lineNum"> 39</span> : : PhysicalConversionFailed</span>
|
||||||
|
<span id="L40"><span class="lineNum"> 40</span> : : };</span>
|
||||||
|
<span id="L41"><span class="lineNum"> 41</span> : : </span>
|
||||||
|
<span id="L42"><span class="lineNum"> 42</span> : : /** Frame summary: short payload takes precedence over individual signal errors. */</span>
|
||||||
|
<span id="L43"><span class="lineNum"> 43</span> : : enum class FrameDecodeStatus {</span>
|
||||||
|
<span id="L44"><span class="lineNum"> 44</span> : : UnknownFrame,</span>
|
||||||
|
<span id="L45"><span class="lineNum"> 45</span> : : InsufficientPayload,</span>
|
||||||
|
<span id="L46"><span class="lineNum"> 46</span> : : SignalErrors,</span>
|
||||||
|
<span id="L47"><span class="lineNum"> 47</span> : : Valid,</span>
|
||||||
|
<span id="L48"><span class="lineNum"> 48</span> : : AmbiguousFrame</span>
|
||||||
|
<span id="L49"><span class="lineNum"> 49</span> : : };</span>
|
||||||
|
<span id="L50"><span class="lineNum"> 50</span> : : </span>
|
||||||
|
<span id="L51"><span class="lineNum"> 51</span> : : /**</span>
|
||||||
|
<span id="L52"><span class="lineNum"> 52</span> : : * @brief One decoded signal value.</span>
|
||||||
|
<span id="L53"><span class="lineNum"> 53</span> : : */</span>
|
||||||
|
<span id="L54"><span class="lineNum"> 54</span> : : struct DecodedSignalValue {</span>
|
||||||
|
<span id="L55"><span class="lineNum"> 55</span> : : std::shared_ptr<const DecodeSignal> definition; /**< Owning immutable definition. */</span>
|
||||||
|
<span id="L56"><span class="lineNum"> 56</span> : : SignalKey key; /**< Stable application identifier. */</span>
|
||||||
|
<span id="L57"><span class="lineNum"> 57</span> : : RawSignalValue rawValue = std::uint64_t(0U); /**< Exact raw value for Valid or PhysicalConversionFailed. */</span>
|
||||||
|
<span id="L58"><span class="lineNum"> 58</span> : : double physicalValue = 0.0; /**< Conversion result, possibly NaN/Inf on failure. */</span>
|
||||||
|
<span id="L59"><span class="lineNum"> 59</span> : : bool valid = false; /**< true if decoding succeeded. */</span>
|
||||||
|
<span id="L60"><span class="lineNum"> 60</span> : : SignalDecodeStatus status = SignalDecodeStatus::InvalidDefinition; /**< Detailed signal outcome. */</span>
|
||||||
|
<span id="L61"><span class="lineNum"> 61</span> : : </span>
|
||||||
|
<span id="L62"><span class="lineNum"> 62</span> : : /** Lookup using the raw integer; nullptr for invalid or unmapped values. */</span>
|
||||||
|
<span id="L63"><span class="lineNum"> 63</span> :<span class="tlaGNC"> 79 : const std::string *GetValueDescription() const {</span></span>
|
||||||
|
<span id="L64"><span class="lineNum"> 64</span> [<span class="tlaGBC" title="Branch 0 was taken 64 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 15 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 64 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 79 : return valid && definition ? FindValueDescription(definition->valueDescriptions, rawValue) : nullptr;</span></span>
|
||||||
|
<span id="L65"><span class="lineNum"> 65</span> : : }</span>
|
||||||
|
<span id="L66"><span class="lineNum"> 66</span> : : </span>
|
||||||
|
<span id="L67"><span class="lineNum"> 67</span> :<span class="tlaGNC"> 6380 : DecodedSignalValue() = default;</span></span>
|
||||||
|
<span id="L68"><span class="lineNum"> 68</span> : : };</span>
|
||||||
|
<span id="L69"><span class="lineNum"> 69</span> : : </span>
|
||||||
|
<span id="L70"><span class="lineNum"> 70</span> : : /**</span>
|
||||||
|
<span id="L71"><span class="lineNum"> 71</span> : : * @brief Fully decoded frame.</span>
|
||||||
|
<span id="L72"><span class="lineNum"> 72</span> : : */</span>
|
||||||
|
<span id="L73"><span class="lineNum"> 73</span> : : struct DecodedFrameValue {</span>
|
||||||
|
<span id="L74"><span class="lineNum"> 74</span> : : std::shared_ptr<const DecodeFrame> definition; /**< Owning immutable definition. */</span>
|
||||||
|
<span id="L75"><span class="lineNum"> 75</span> : : FrameKey key; /**< Matched definition key; received key if unmatched. */</span>
|
||||||
|
<span id="L76"><span class="lineNum"> 76</span> : : std::vector<DecodedSignalValue> signals; /**< Decoded signal values. */</span>
|
||||||
|
<span id="L77"><span class="lineNum"> 77</span> : : bool valid = false; /**< true if frame was matched. */</span>
|
||||||
|
<span id="L78"><span class="lineNum"> 78</span> : : FrameDecodeStatus status = FrameDecodeStatus::UnknownFrame; /**< Inspect signals for individual failures. */</span>
|
||||||
|
<span id="L79"><span class="lineNum"> 79</span> : : </span>
|
||||||
|
<span id="L80"><span class="lineNum"> 80</span> :<span class="tlaGNC"> 6409 : DecodedFrameValue() = default;</span></span>
|
||||||
|
<span id="L81"><span class="lineNum"> 81</span> : : };</span>
|
||||||
|
<span id="L82"><span class="lineNum"> 82</span> : : </span>
|
||||||
|
<span id="L83"><span class="lineNum"> 83</span> : : /**</span>
|
||||||
|
<span id="L84"><span class="lineNum"> 84</span> : : * @brief Runtime CAN decoder using prebuilt decode database.</span>
|
||||||
|
<span id="L85"><span class="lineNum"> 85</span> : : */</span>
|
||||||
|
<span id="L86"><span class="lineNum"> 86</span> : : class DbcDecoder {</span>
|
||||||
|
<span id="L87"><span class="lineNum"> 87</span> : : public:</span>
|
||||||
|
<span id="L88"><span class="lineNum"> 88</span> : : /**</span>
|
||||||
|
<span id="L89"><span class="lineNum"> 89</span> : : * @brief Find exact CAN ID first, then unique PGN among explicitly J1939 definitions.</span>
|
||||||
|
<span id="L90"><span class="lineNum"> 90</span> : : * @param database Runtime decode database.</span>
|
||||||
|
<span id="L91"><span class="lineNum"> 91</span> : : * @param canId Normalized CAN ID.</span>
|
||||||
|
<span id="L92"><span class="lineNum"> 92</span> : : * @param isExtended true for extended frame.</span>
|
||||||
|
<span id="L93"><span class="lineNum"> 93</span> : : * @return Owning immutable handle, or nullptr for missing/ambiguous matches. Safe across reload.</span>
|
||||||
|
<span id="L94"><span class="lineNum"> 94</span> : : */</span>
|
||||||
|
<span id="L95"><span class="lineNum"> 95</span> : : std::shared_ptr<const DecodeFrame> FindFrame(const DecodeDatabase &database,</span>
|
||||||
|
<span id="L96"><span class="lineNum"> 96</span> : : std::uint32_t canId,</span>
|
||||||
|
<span id="L97"><span class="lineNum"> 97</span> : : bool isExtended) const;</span>
|
||||||
|
<span id="L98"><span class="lineNum"> 98</span> : : </span>
|
||||||
|
<span id="L99"><span class="lineNum"> 99</span> : : /**</span>
|
||||||
|
<span id="L100"><span class="lineNum"> 100</span> : : * @brief Decode one raw CAN frame.</span>
|
||||||
|
<span id="L101"><span class="lineNum"> 101</span> : : * @param database Runtime decode database.</span>
|
||||||
|
<span id="L102"><span class="lineNum"> 102</span> : : * @param frame Raw CAN frame.</span>
|
||||||
|
<span id="L103"><span class="lineNum"> 103</span> : : * Short payloads decode available signals; bytes beyond declared DLC are ignored.</span>
|
||||||
|
<span id="L104"><span class="lineNum"> 104</span> : : * @return Decoded frame value.</span>
|
||||||
|
<span id="L105"><span class="lineNum"> 105</span> : : */</span>
|
||||||
|
<span id="L106"><span class="lineNum"> 106</span> : : DecodedFrameValue Decode(const DecodeDatabase &database,</span>
|
||||||
|
<span id="L107"><span class="lineNum"> 107</span> : : const RawCanFrame &frame) const;</span>
|
||||||
|
<span id="L108"><span class="lineNum"> 108</span> : : </span>
|
||||||
|
<span id="L109"><span class="lineNum"> 109</span> : : /**</span>
|
||||||
|
<span id="L110"><span class="lineNum"> 110</span> : : * @brief Decode selected signals in selection order using stable keys.</span>
|
||||||
|
<span id="L111"><span class="lineNum"> 111</span> : : * An empty selection returns no signals. Multiplex selectors are read internally.</span>
|
||||||
|
<span id="L112"><span class="lineNum"> 112</span> : : * Frame status summarizes selected signals; short payload still takes precedence.</span>
|
||||||
|
<span id="L113"><span class="lineNum"> 113</span> : : * Unknown/ambiguous frames return before checking the selection.</span>
|
||||||
|
<span id="L114"><span class="lineNum"> 114</span> : : * For PGN matches, selection keys must belong to the matched DBC definition.</span>
|
||||||
|
<span id="L115"><span class="lineNum"> 115</span> : : * @throws std::invalid_argument for a foreign frame key, unknown signal, or duplicate key.</span>
|
||||||
|
<span id="L116"><span class="lineNum"> 116</span> : : */</span>
|
||||||
|
<span id="L117"><span class="lineNum"> 117</span> : : DecodedFrameValue Decode(const DecodeDatabase &database,</span>
|
||||||
|
<span id="L118"><span class="lineNum"> 118</span> : : const RawCanFrame &frame,</span>
|
||||||
|
<span id="L119"><span class="lineNum"> 119</span> : : const std::vector<SignalKey> &selection) const;</span>
|
||||||
|
<span id="L120"><span class="lineNum"> 120</span> : : </span>
|
||||||
|
<span id="L121"><span class="lineNum"> 121</span> : : private:</span>
|
||||||
|
<span id="L122"><span class="lineNum"> 122</span> : : static PgnLookupResult ResolveFrame(const DecodeDatabase &database,</span>
|
||||||
|
<span id="L123"><span class="lineNum"> 123</span> : : std::uint32_t canId, bool isExtended);</span>
|
||||||
|
<span id="L124"><span class="lineNum"> 124</span> : : </span>
|
||||||
|
<span id="L125"><span class="lineNum"> 125</span> : : DecodedFrameValue DecodeImpl(const DecodeDatabase &database,</span>
|
||||||
|
<span id="L126"><span class="lineNum"> 126</span> : : const RawCanFrame &frame,</span>
|
||||||
|
<span id="L127"><span class="lineNum"> 127</span> : : const std::vector<SignalKey> *selection) const;</span>
|
||||||
|
<span id="L128"><span class="lineNum"> 128</span> : : </span>
|
||||||
|
<span id="L129"><span class="lineNum"> 129</span> : : static bool IsValidDefinition(const DecodeSignal &signal, std::uint8_t dlc);</span>
|
||||||
|
<span id="L130"><span class="lineNum"> 130</span> : : </span>
|
||||||
|
<span id="L131"><span class="lineNum"> 131</span> : : struct SelectorState {</span>
|
||||||
|
<span id="L132"><span class="lineNum"> 132</span> : : const DecodeSignal *definition = nullptr;</span>
|
||||||
|
<span id="L133"><span class="lineNum"> 133</span> : : bool valid = false;</span>
|
||||||
|
<span id="L134"><span class="lineNum"> 134</span> : : bool available = false;</span>
|
||||||
|
<span id="L135"><span class="lineNum"> 135</span> : : std::uint64_t value = 0U;</span>
|
||||||
|
<span id="L136"><span class="lineNum"> 136</span> : : };</span>
|
||||||
|
<span id="L137"><span class="lineNum"> 137</span> : : </span>
|
||||||
|
<span id="L138"><span class="lineNum"> 138</span> : : static SelectorState ReadSelector(const DecodeFrame &definition, const RawCanFrame &frame);</span>
|
||||||
|
<span id="L139"><span class="lineNum"> 139</span> : : static DecodedSignalValue DecodeOneSignal(const DecodeSignal &signal,</span>
|
||||||
|
<span id="L140"><span class="lineNum"> 140</span> : : std::uint8_t dlc,</span>
|
||||||
|
<span id="L141"><span class="lineNum"> 141</span> : : const RawCanFrame &frame,</span>
|
||||||
|
<span id="L142"><span class="lineNum"> 142</span> : : const SelectorState &selector);</span>
|
||||||
|
<span id="L143"><span class="lineNum"> 143</span> : : </span>
|
||||||
|
<span id="L144"><span class="lineNum"> 144</span> : : static bool ExtractUnsigned(const std::vector<std::uint8_t> &data,</span>
|
||||||
|
<span id="L145"><span class="lineNum"> 145</span> : : const DecodeSignal &signal,</span>
|
||||||
|
<span id="L146"><span class="lineNum"> 146</span> : : std::uint64_t &value);</span>
|
||||||
|
<span id="L147"><span class="lineNum"> 147</span> : : </span>
|
||||||
|
<span id="L148"><span class="lineNum"> 148</span> : : static bool ExtractIntel(const std::vector<std::uint8_t> &data,</span>
|
||||||
|
<span id="L149"><span class="lineNum"> 149</span> : : std::uint32_t startBit,</span>
|
||||||
|
<span id="L150"><span class="lineNum"> 150</span> : : std::uint32_t length,</span>
|
||||||
|
<span id="L151"><span class="lineNum"> 151</span> : : std::uint64_t &value);</span>
|
||||||
|
<span id="L152"><span class="lineNum"> 152</span> : : </span>
|
||||||
|
<span id="L153"><span class="lineNum"> 153</span> : : static bool ExtractMotorola(const std::vector<std::uint8_t> &data,</span>
|
||||||
|
<span id="L154"><span class="lineNum"> 154</span> : : std::uint32_t startBit,</span>
|
||||||
|
<span id="L155"><span class="lineNum"> 155</span> : : std::uint32_t length,</span>
|
||||||
|
<span id="L156"><span class="lineNum"> 156</span> : : std::uint64_t &value);</span>
|
||||||
|
<span id="L157"><span class="lineNum"> 157</span> : : </span>
|
||||||
|
<span id="L158"><span class="lineNum"> 158</span> : : static std::int64_t SignExtend(std::uint64_t value, std::uint32_t bitLength);</span>
|
||||||
|
<span id="L159"><span class="lineNum"> 159</span> : : };</span>
|
||||||
|
<span id="L160"><span class="lineNum"> 160</span> : : </span>
|
||||||
|
<span id="L161"><span class="lineNum"> 161</span> : : #endif /* DBC_DECODER_H */</span>
|
||||||
|
</pre>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,93 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/dbc_diagnostic.h - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - dbc_diagnostic.h<span style="font-size: 80%;"> (<a href="dbc_diagnostic.h.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">5</td>
|
||||||
|
<td class="headerCovTableEntry">5</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">4</td>
|
||||||
|
<td class="headerCovTableEntry">4</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><a href="dbc_diagnostic.h.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></a></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_diagnostic.h.gcov.html#L41">DbcParseResult::HasErrors() const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">293</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,93 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/dbc_diagnostic.h - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - dbc_diagnostic.h<span style="font-size: 80%;"> (<a href="dbc_diagnostic.h.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">5</td>
|
||||||
|
<td class="headerCovTableEntry">5</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">4</td>
|
||||||
|
<td class="headerCovTableEntry">4</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><a href="dbc_diagnostic.h.func-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></a></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_diagnostic.h.gcov.html#L41">DbcParseResult::HasErrors() const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">293</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,137 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/dbc_diagnostic.h</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - dbc_diagnostic.h<span style="font-size: 80%;"> (source / <a href="dbc_diagnostic.h.func-c.html" title="Click to go to function table">functions</a>)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">5</td>
|
||||||
|
<td class="headerCovTableEntry">5</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">4</td>
|
||||||
|
<td class="headerCovTableEntry">4</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table cellpadding=0 cellspacing=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td><br></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<pre class="sourceHeading"> Branch data Line data Source code</pre>
|
||||||
|
<pre class="source">
|
||||||
|
<span id="L1"><span class="lineNum"> 1</span> : : // SPDX-License-Identifier: MIT</span>
|
||||||
|
<span id="L2"><span class="lineNum"> 2</span> : : #ifndef DBC_DIAGNOSTIC_H</span>
|
||||||
|
<span id="L3"><span class="lineNum"> 3</span> : : #define DBC_DIAGNOSTIC_H</span>
|
||||||
|
<span id="L4"><span class="lineNum"> 4</span> : : </span>
|
||||||
|
<span id="L5"><span class="lineNum"> 5</span> : : #include "dbc_database.h"</span>
|
||||||
|
<span id="L6"><span class="lineNum"> 6</span> : : #include <cstddef></span>
|
||||||
|
<span id="L7"><span class="lineNum"> 7</span> : : #include <string></span>
|
||||||
|
<span id="L8"><span class="lineNum"> 8</span> : : #include <vector></span>
|
||||||
|
<span id="L9"><span class="lineNum"> 9</span> : : </span>
|
||||||
|
<span id="L10"><span class="lineNum"> 10</span> : : /** @brief Warning or fatal parse error. */</span>
|
||||||
|
<span id="L11"><span class="lineNum"> 11</span> : : enum class DbcDiagnosticSeverity {</span>
|
||||||
|
<span id="L12"><span class="lineNum"> 12</span> : : Warning,</span>
|
||||||
|
<span id="L13"><span class="lineNum"> 13</span> : : Error</span>
|
||||||
|
<span id="L14"><span class="lineNum"> 14</span> : : };</span>
|
||||||
|
<span id="L15"><span class="lineNum"> 15</span> : : </span>
|
||||||
|
<span id="L16"><span class="lineNum"> 16</span> : : /** Stable categories; messages provide the details. */</span>
|
||||||
|
<span id="L17"><span class="lineNum"> 17</span> : : enum class DbcDiagnosticCode {</span>
|
||||||
|
<span id="L18"><span class="lineNum"> 18</span> : : FileOpenError,</span>
|
||||||
|
<span id="L19"><span class="lineNum"> 19</span> : : FileReadError,</span>
|
||||||
|
<span id="L20"><span class="lineNum"> 20</span> : : InvalidStatement,</span>
|
||||||
|
<span id="L21"><span class="lineNum"> 21</span> : : InvalidValueDescription,</span>
|
||||||
|
<span id="L22"><span class="lineNum"> 22</span> : : InvalidMultiplexing,</span>
|
||||||
|
<span id="L23"><span class="lineNum"> 23</span> : : UnsupportedStatement,</span>
|
||||||
|
<span id="L24"><span class="lineNum"> 24</span> : : InvalidAttribute,</span>
|
||||||
|
<span id="L25"><span class="lineNum"> 25</span> : : UnsupportedAttribute</span>
|
||||||
|
<span id="L26"><span class="lineNum"> 26</span> : : };</span>
|
||||||
|
<span id="L27"><span class="lineNum"> 27</span> : : </span>
|
||||||
|
<span id="L28"><span class="lineNum"> 28</span> : : /** @brief Diagnostic message and physical source location. */</span>
|
||||||
|
<span id="L29"><span class="lineNum"> 29</span> : : struct DbcDiagnostic {</span>
|
||||||
|
<span id="L30"><span class="lineNum"> 30</span> : : DbcDiagnosticSeverity severity; /**< Message severity. */</span>
|
||||||
|
<span id="L31"><span class="lineNum"> 31</span> : : DbcDiagnosticCode code; /**< Stable diagnostic category. */</span>
|
||||||
|
<span id="L32"><span class="lineNum"> 32</span> : : std::string filePath; /**< Input file path. */</span>
|
||||||
|
<span id="L33"><span class="lineNum"> 33</span> : : std::size_t lineNumber; /**< One-based physical line; zero for file-level errors. */</span>
|
||||||
|
<span id="L34"><span class="lineNum"> 34</span> : : std::string message; /**< Human-readable diagnostic details. */</span>
|
||||||
|
<span id="L35"><span class="lineNum"> 35</span> : : };</span>
|
||||||
|
<span id="L36"><span class="lineNum"> 36</span> : : </span>
|
||||||
|
<span id="L37"><span class="lineNum"> 37</span> : : /** @brief Parsed database and diagnostics; the database is empty on error. */</span>
|
||||||
|
<span id="L38"><span class="lineNum"> 38</span> : : struct DbcParseResult {</span>
|
||||||
|
<span id="L39"><span class="lineNum"> 39</span> : : DbcDatabase database; /**< Parsed content, published only on success. */</span>
|
||||||
|
<span id="L40"><span class="lineNum"> 40</span> : : std::vector<DbcDiagnostic> diagnostics; /**< Warnings and the first error, if any. */</span>
|
||||||
|
<span id="L41"><span class="lineNum"> 41</span> : : </span>
|
||||||
|
<span id="L42"><span class="lineNum"> 42</span> : : /** @brief Return whether any diagnostic has error severity. */</span>
|
||||||
|
<span id="L43"><span class="lineNum"> 43</span> :<span class="tlaGNC"> 293 : bool HasErrors() const {</span></span>
|
||||||
|
<span id="L44"><span class="lineNum"> 44</span> [<span class="tlaGBC" title="Branch 0 was taken 283 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 44 times"> + </span>]:<span class="tlaGNC"> 327 : for (const DbcDiagnostic &diagnostic: diagnostics) {</span></span>
|
||||||
|
<span id="L45"><span class="lineNum"> 45</span> [<span class="tlaGBC" title="Branch 0 was taken 249 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 34 times"> + </span>]:<span class="tlaGNC"> 283 : if (diagnostic.severity == DbcDiagnosticSeverity::Error)</span></span>
|
||||||
|
<span id="L46"><span class="lineNum"> 46</span> :<span class="tlaGNC"> 249 : return true;</span></span>
|
||||||
|
<span id="L47"><span class="lineNum"> 47</span> : : }</span>
|
||||||
|
<span id="L48"><span class="lineNum"> 48</span> :<span class="tlaGNC"> 44 : return false;</span></span>
|
||||||
|
<span id="L49"><span class="lineNum"> 49</span> : : }</span>
|
||||||
|
<span id="L50"><span class="lineNum"> 50</span> : : };</span>
|
||||||
|
<span id="L51"><span class="lineNum"> 51</span> : : </span>
|
||||||
|
<span id="L52"><span class="lineNum"> 52</span> : : #endif /* DBC_DIAGNOSTIC_H */</span>
|
||||||
|
</pre>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,117 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/dbc_parser.cpp - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - dbc_parser.cpp<span style="font-size: 80%;"> (<a href="dbc_parser.cpp.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">99.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">99</td>
|
||||||
|
<td class="headerCovTableEntry">98</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">4</td>
|
||||||
|
<td class="headerCovTableEntry">4</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryLo">70.4 %</td>
|
||||||
|
<td class="headerCovTableEntry">216</td>
|
||||||
|
<td class="headerCovTableEntry">152</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><a href="dbc_parser.cpp.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></a></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_parser.cpp.gcov.html#L21">(anonymous namespace)::ReadCommentLines(std::basic_ifstream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned long&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">140</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_parser.cpp.gcov.html#L50">(anonymous namespace)::StatementErrorCode(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">349</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_parser.cpp.gcov.html#L59">DbcParser::ParseFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">656</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_parser.cpp.gcov.html#L72">DbcParser::ParseFileWithDiagnostics(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">951</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,117 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/dbc_parser.cpp - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - dbc_parser.cpp<span style="font-size: 80%;"> (<a href="dbc_parser.cpp.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">99.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">99</td>
|
||||||
|
<td class="headerCovTableEntry">98</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">4</td>
|
||||||
|
<td class="headerCovTableEntry">4</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryLo">70.4 %</td>
|
||||||
|
<td class="headerCovTableEntry">216</td>
|
||||||
|
<td class="headerCovTableEntry">152</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><a href="dbc_parser.cpp.func-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></a></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_parser.cpp.gcov.html#L21">(anonymous namespace)::ReadCommentLines(std::basic_ifstream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned long&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">140</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_parser.cpp.gcov.html#L50">(anonymous namespace)::StatementErrorCode(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">349</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_parser.cpp.gcov.html#L59">DbcParser::ParseFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">656</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_parser.cpp.gcov.html#L72">DbcParser::ParseFileWithDiagnostics(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">951</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,261 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/dbc_parser.cpp</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - dbc_parser.cpp<span style="font-size: 80%;"> (source / <a href="dbc_parser.cpp.func-c.html" title="Click to go to function table">functions</a>)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">99.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">99</td>
|
||||||
|
<td class="headerCovTableEntry">98</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">4</td>
|
||||||
|
<td class="headerCovTableEntry">4</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryLo">70.4 %</td>
|
||||||
|
<td class="headerCovTableEntry">216</td>
|
||||||
|
<td class="headerCovTableEntry">152</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table cellpadding=0 cellspacing=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td><br></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<pre class="sourceHeading"> Branch data Line data Source code</pre>
|
||||||
|
<pre class="source">
|
||||||
|
<span id="L1"><span class="lineNum"> 1</span> : : /**</span>
|
||||||
|
<span id="L2"><span class="lineNum"> 2</span> : : * @file dbc_parser.cpp</span>
|
||||||
|
<span id="L3"><span class="lineNum"> 3</span> : : * @brief DBC file reading and diagnostic collection.</span>
|
||||||
|
<span id="L4"><span class="lineNum"> 4</span> : : *</span>
|
||||||
|
<span id="L5"><span class="lineNum"> 5</span> : : * Created: 2026-03-13</span>
|
||||||
|
<span id="L6"><span class="lineNum"> 6</span> : : * Author: Deeaitch (Dim. Himro)</span>
|
||||||
|
<span id="L7"><span class="lineNum"> 7</span> : : *</span>
|
||||||
|
<span id="L8"><span class="lineNum"> 8</span> : : * Licensed under the MIT License.</span>
|
||||||
|
<span id="L9"><span class="lineNum"> 9</span> : : * See LICENSE file in the project root for full license text.</span>
|
||||||
|
<span id="L10"><span class="lineNum"> 10</span> : : */</span>
|
||||||
|
<span id="L11"><span class="lineNum"> 11</span> : : </span>
|
||||||
|
<span id="L12"><span class="lineNum"> 12</span> : : #include "dbc_parser.h"</span>
|
||||||
|
<span id="L13"><span class="lineNum"> 13</span> : : #include "dbc_statement_handler.h"</span>
|
||||||
|
<span id="L14"><span class="lineNum"> 14</span> : : </span>
|
||||||
|
<span id="L15"><span class="lineNum"> 15</span> : : #include "text_utils.h"</span>
|
||||||
|
<span id="L16"><span class="lineNum"> 16</span> : : #include <fstream></span>
|
||||||
|
<span id="L17"><span class="lineNum"> 17</span> : : #include <sstream></span>
|
||||||
|
<span id="L18"><span class="lineNum"> 18</span> : : #include <stdexcept></span>
|
||||||
|
<span id="L19"><span class="lineNum"> 19</span> : : #include <utility></span>
|
||||||
|
<span id="L20"><span class="lineNum"> 20</span> : : </span>
|
||||||
|
<span id="L21"><span class="lineNum"> 21</span> : : namespace {</span>
|
||||||
|
<span id="L22"><span class="lineNum"> 22</span> : : // Read through the closing unescaped quote, preserving comment whitespace.</span>
|
||||||
|
<span id="L23"><span class="lineNum"> 23</span> :<span class="tlaGNC"> 140 : void ReadCommentLines(std::ifstream &input, std::string &statement,</span></span>
|
||||||
|
<span id="L24"><span class="lineNum"> 24</span> : : std::size_t &lineNumber) {</span>
|
||||||
|
<span id="L25"><span class="lineNum"> 25</span> :<span class="tlaGNC"> 140 : bool inQuote = false;</span></span>
|
||||||
|
<span id="L26"><span class="lineNum"> 26</span> :<span class="tlaGNC"> 140 : bool escaped = false;</span></span>
|
||||||
|
<span id="L27"><span class="lineNum"> 27</span> [<span class="tlaGBC" title="Branch 0 was taken 140 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 140 : std::string part = statement;</span></span>
|
||||||
|
<span id="L28"><span class="lineNum"> 28</span> : : for (;;) {</span>
|
||||||
|
<span id="L29"><span class="lineNum"> 29</span> [<span class="tlaGBC" title="Branch 0 was taken 3662 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 15 times"> + </span>]:<span class="tlaGNC"> 3677 : for (const char character: part) {</span></span>
|
||||||
|
<span id="L30"><span class="lineNum"> 30</span> [<span class="tlaGBC" title="Branch 0 was taken 5 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 3657 times"> + </span>]:<span class="tlaGNC"> 3662 : if (escaped) {</span></span>
|
||||||
|
<span id="L31"><span class="lineNum"> 31</span> :<span class="tlaGNC"> 5 : escaped = false;</span></span>
|
||||||
|
<span id="L32"><span class="lineNum"> 32</span> [<span class="tlaGBC" title="Branch 0 was taken 1289 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2368 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 7 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 1282 times"> + </span>]:<span class="tlaGNC"> 3657 : } else if (inQuote && character == '\\') {</span></span>
|
||||||
|
<span id="L33"><span class="lineNum"> 33</span> :<span class="tlaGNC"> 7 : escaped = true;</span></span>
|
||||||
|
<span id="L34"><span class="lineNum"> 34</span> [<span class="tlaGBC" title="Branch 0 was taken 268 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 3382 times"> + </span>]:<span class="tlaGNC"> 3650 : } else if (character == '"') {</span></span>
|
||||||
|
<span id="L35"><span class="lineNum"> 35</span> [<span class="tlaGBC" title="Branch 0 was taken 132 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 136 times"> + </span>]:<span class="tlaGNC"> 268 : if (inQuote)</span></span>
|
||||||
|
<span id="L36"><span class="lineNum"> 36</span> :<span class="tlaGNC"> 132 : return;</span></span>
|
||||||
|
<span id="L37"><span class="lineNum"> 37</span> :<span class="tlaGNC"> 136 : inQuote = true;</span></span>
|
||||||
|
<span id="L38"><span class="lineNum"> 38</span> : : }</span>
|
||||||
|
<span id="L39"><span class="lineNum"> 39</span> : : }</span>
|
||||||
|
<span id="L40"><span class="lineNum"> 40</span> [<span class="tlaGBC" title="Branch 0 was taken 11 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 11 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 15 : if (!inQuote || !std::getline(input, part))</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 11 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaGBC" title="Branch 6 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 7 was taken 7 times"> + </span><span class="tlaGBC" title="Branch 8 was taken 8 times"> + </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 9 was taken 7 times"> + </span>]
|
||||||
|
<span id="L41"><span class="lineNum"> 41</span> :<span class="tlaGNC"> 8 : return;</span></span>
|
||||||
|
<span id="L42"><span class="lineNum"> 42</span> :<span class="tlaGNC"> 7 : ++lineNumber;</span></span>
|
||||||
|
<span id="L43"><span class="lineNum"> 43</span> [<span class="tlaGBC" title="Branch 0 was taken 7 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 5 times"> + </span> :<span class="tlaGNC"> 7 : if (!part.empty() && part.back() == '\r')</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 5 times"> + </span>]
|
||||||
|
<span id="L44"><span class="lineNum"> 44</span> :<span class="tlaGNC"> 2 : part.pop_back();</span></span>
|
||||||
|
<span id="L45"><span class="lineNum"> 45</span> [<span class="tlaGBC" title="Branch 0 was taken 7 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 7 : statement += '\n';</span></span>
|
||||||
|
<span id="L46"><span class="lineNum"> 46</span> [<span class="tlaGBC" title="Branch 0 was taken 7 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 7 : statement += part;</span></span>
|
||||||
|
<span id="L47"><span class="lineNum"> 47</span> : : // A physical newline cannot escape the next line's first character.</span>
|
||||||
|
<span id="L48"><span class="lineNum"> 48</span> :<span class="tlaGNC"> 7 : escaped = false;</span></span>
|
||||||
|
<span id="L49"><span class="lineNum"> 49</span> :<span class="tlaGNC"> 7 : }</span></span>
|
||||||
|
<span id="L50"><span class="lineNum"> 50</span> :<span class="tlaGNC"> 140 : }</span></span>
|
||||||
|
<span id="L51"><span class="lineNum"> 51</span> : : </span>
|
||||||
|
<span id="L52"><span class="lineNum"> 52</span> :<span class="tlaGNC"> 349 : DbcDiagnosticCode StatementErrorCode(const std::string &keyword) {</span></span>
|
||||||
|
<span id="L53"><span class="lineNum"> 53</span> [<span class="tlaGBC" title="Branch 0 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 345 times"> + </span>]:<span class="tlaGNC"> 349 : if (keyword == "SG_MUL_VAL_")</span></span>
|
||||||
|
<span id="L54"><span class="lineNum"> 54</span> :<span class="tlaGNC"> 4 : return DbcDiagnosticCode::UnsupportedStatement;</span></span>
|
||||||
|
<span id="L55"><span class="lineNum"> 55</span> [<span class="tlaGBC" title="Branch 0 was taken 25 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 320 times"> + </span>]:<span class="tlaGNC"> 345 : if (keyword == "VAL_")</span></span>
|
||||||
|
<span id="L56"><span class="lineNum"> 56</span> :<span class="tlaGNC"> 25 : return DbcDiagnosticCode::InvalidValueDescription;</span></span>
|
||||||
|
<span id="L57"><span class="lineNum"> 57</span> :<span class="tlaGNC"> 320 : return DbcDiagnosticCode::InvalidStatement;</span></span>
|
||||||
|
<span id="L58"><span class="lineNum"> 58</span> : : }</span>
|
||||||
|
<span id="L59"><span class="lineNum"> 59</span> : : }</span>
|
||||||
|
<span id="L60"><span class="lineNum"> 60</span> : : </span>
|
||||||
|
<span id="L61"><span class="lineNum"> 61</span> :<span class="tlaGNC"> 656 : DbcDatabase DbcParser::ParseFile(const std::string &filePath) const {</span></span>
|
||||||
|
<span id="L62"><span class="lineNum"> 62</span> [<span class="tlaGBC" title="Branch 0 was taken 656 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 656 : DbcParseResult result = ParseFileWithDiagnostics(filePath);</span></span>
|
||||||
|
<span id="L63"><span class="lineNum"> 63</span> [<span class="tlaGBC" title="Branch 0 was taken 545 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 117 times"> + </span>]:<span class="tlaGNC"> 662 : for (const DbcDiagnostic &diagnostic : result.diagnostics) {</span></span>
|
||||||
|
<span id="L64"><span class="lineNum"> 64</span> [<span class="tlaGBC" title="Branch 0 was taken 539 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 6 times"> + </span>]:<span class="tlaGNC"> 545 : if (diagnostic.severity == DbcDiagnosticSeverity::Error) {</span></span>
|
||||||
|
<span id="L65"><span class="lineNum"> 65</span> [<span class="tlaGBC" title="Branch 0 was taken 3 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 536 times"> + </span>]:<span class="tlaGNC"> 539 : if (diagnostic.lineNumber == 0U)</span></span>
|
||||||
|
<span id="L66"><span class="lineNum"> 66</span> [<span class="tlaGBC" title="Branch 0 was taken 3 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 3 : throw std::runtime_error(diagnostic.message);</span></span>
|
||||||
|
<span id="L67"><span class="lineNum"> 67</span> [<span class="tlaGBC" title="Branch 0 was taken 536 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 1072 : throw std::runtime_error(diagnostic.filePath + ":" +</span></span>
|
||||||
|
<span id="L68"><span class="lineNum"> 68</span> [<span class="tlaGBC" title="Branch 0 was taken 536 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 536 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 1608 : std::to_string(diagnostic.lineNumber) + ": " + diagnostic.message);</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 536 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaGBC" title="Branch 6 was taken 536 times"> + </span><span class="tlaUNC" title="Branch 7 was not taken"> - </span><span class="tlaGBC" title="Branch 8 was taken 536 times"> + </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaUNC" title="Branch 9 was not taken"> - </span>]
|
||||||
|
<span id="L69"><span class="lineNum"> 69</span> : : }</span>
|
||||||
|
<span id="L70"><span class="lineNum"> 70</span> : : }</span>
|
||||||
|
<span id="L71"><span class="lineNum"> 71</span> :<span class="tlaGNC"> 234 : return std::move(result.database);</span></span>
|
||||||
|
<span id="L72"><span class="lineNum"> 72</span> :<span class="tlaGNC"> 656 : }</span></span>
|
||||||
|
<span id="L73"><span class="lineNum"> 73</span> : : </span>
|
||||||
|
<span id="L74"><span class="lineNum"> 74</span> :<span class="tlaGNC"> 951 : DbcParseResult DbcParser::ParseFileWithDiagnostics(const std::string &filePath) const {</span></span>
|
||||||
|
<span id="L75"><span class="lineNum"> 75</span> :<span class="tlaGNC"> 951 : DbcParseResult result;</span></span>
|
||||||
|
<span id="L76"><span class="lineNum"> 76</span> [<span class="tlaGBC" title="Branch 0 was taken 951 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 951 : std::ifstream input(filePath.c_str());</span></span>
|
||||||
|
<span id="L77"><span class="lineNum"> 77</span> [<span class="tlaGBC" title="Branch 0 was taken 3 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 948 times"> + </span>]:<span class="tlaGNC"> 951 : if (!input.is_open()) {</span></span>
|
||||||
|
<span id="L78"><span class="lineNum"> 78</span> :<span class="tlaGNC"> 3 : result.diagnostics.push_back({DbcDiagnosticSeverity::Error,</span></span>
|
||||||
|
<span id="L79"><span class="lineNum"> 79</span> : : DbcDiagnosticCode::FileOpenError, filePath, 0U,</span>
|
||||||
|
<span id="L80"><span class="lineNum"> 80</span> : : "Failed to open DBC file: " + filePath});</span>
|
||||||
|
<span id="L81"><span class="lineNum"> 81</span> :<span class="tlaGNC"> 3 : return result;</span></span>
|
||||||
|
<span id="L82"><span class="lineNum"> 82</span> : : }</span>
|
||||||
|
<span id="L83"><span class="lineNum"> 83</span> : : </span>
|
||||||
|
<span id="L84"><span class="lineNum"> 84</span> :<span class="tlaGNC"> 948 : DbcDatabase database;</span></span>
|
||||||
|
<span id="L85"><span class="lineNum"> 85</span> :<span class="tlaGNC"> 948 : DbcParseContext context{database, nullptr};</span></span>
|
||||||
|
<span id="L86"><span class="lineNum"> 86</span> :<span class="tlaGNC"> 948 : context.enableJ1939 = options.enableJ1939;</span></span>
|
||||||
|
<span id="L87"><span class="lineNum"> 87</span> [<span class="tlaGBC" title="Branch 0 was taken 948 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 948 : const DbcStatementDispatcher dispatcher;</span></span>
|
||||||
|
<span id="L88"><span class="lineNum"> 88</span> :<span class="tlaGNC"> 948 : bool inNamespace = false;</span></span>
|
||||||
|
<span id="L89"><span class="lineNum"> 89</span> :<span class="tlaGNC"> 948 : std::size_t lineNumber = 0U;</span></span>
|
||||||
|
<span id="L90"><span class="lineNum"> 90</span> :<span class="tlaGNC"> 948 : std::string line;</span></span>
|
||||||
|
<span id="L91"><span class="lineNum"> 91</span> [<span class="tlaGBC" title="Branch 0 was taken 3097 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 3097 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 3097 : while (std::getline(input, line)) {</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 2498 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 599 times"> + </span>]
|
||||||
|
<span id="L92"><span class="lineNum"> 92</span> :<span class="tlaGNC"> 2498 : ++lineNumber;</span></span>
|
||||||
|
<span id="L93"><span class="lineNum"> 93</span> [<span class="tlaGBC" title="Branch 0 was taken 2162 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 336 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 19 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 2143 times"> + </span> :<span class="tlaGNC"> 2498 : if (!line.empty() && line.back() == '\r')</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 19 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 2479 times"> + </span>]
|
||||||
|
<span id="L94"><span class="lineNum"> 94</span> :<span class="tlaGNC"> 19 : line.pop_back();</span></span>
|
||||||
|
<span id="L95"><span class="lineNum"> 95</span> [<span class="tlaGBC" title="Branch 0 was taken 2498 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2498 : const std::string rawLine = line;</span></span>
|
||||||
|
<span id="L96"><span class="lineNum"> 96</span> :<span class="tlaGNC"> 2498 : const std::size_t statementLine = lineNumber;</span></span>
|
||||||
|
<span id="L97"><span class="lineNum"> 97</span> [<span class="tlaGBC" title="Branch 0 was taken 2498 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2498 : line = dbc_detail::TrimText(line);</span></span>
|
||||||
|
<span id="L98"><span class="lineNum"> 98</span> [<span class="tlaGBC" title="Branch 0 was taken 342 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2156 times"> + </span>]:<span class="tlaGNC"> 2498 : if (line.empty())</span></span>
|
||||||
|
<span id="L99"><span class="lineNum"> 99</span> :<span class="tlaGNC"> 342 : continue;</span></span>
|
||||||
|
<span id="L100"><span class="lineNum"> 100</span> : : </span>
|
||||||
|
<span id="L101"><span class="lineNum"> 101</span> [<span class="tlaGBC" title="Branch 0 was taken 2156 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2156 : std::istringstream tokens(line);</span></span>
|
||||||
|
<span id="L102"><span class="lineNum"> 102</span> :<span class="tlaGNC"> 2156 : std::string keyword;</span></span>
|
||||||
|
<span id="L103"><span class="lineNum"> 103</span> :<span class="tlaGNC"> 2156 : std::string argument;</span></span>
|
||||||
|
<span id="L104"><span class="lineNum"> 104</span> [<span class="tlaGBC" title="Branch 0 was taken 2156 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2156 : tokens >> keyword;</span></span>
|
||||||
|
<span id="L105"><span class="lineNum"> 105</span> [<span class="tlaGBC" title="Branch 0 was taken 2156 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 2156 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 2156 : const bool hasArgument = static_cast<bool>(tokens >> argument);</span></span>
|
||||||
|
<span id="L106"><span class="lineNum"> 106</span> [<span class="tlaGBC" title="Branch 0 was taken 39 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 5 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 39 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 44 : if (inNamespace && !hasArgument && keyword != "BO_" && keyword != "SG_" &&</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 37 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 6 was taken 37 times"> + </span><span class="tlaUNC" title="Branch 7 was not taken"> - </span><span class="tlaGBC" title="Branch 8 was taken 36 times"> + </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 9 was taken 1 time"> + </span>]
|
||||||
|
<span id="L107"><span class="lineNum"> 107</span> [<span class="tlaGBC" title="Branch 0 was taken 36 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 35 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 1 time"> + </span> :<span class="tlaGNC"> 36 : keyword != "BS_" && keyword != "BS_:" &&</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 35 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaGBC" title="Branch 6 was taken 31 times"> + </span><span class="tlaGBC" title="Branch 7 was taken 4 times"> + </span>]
|
||||||
|
<span id="L108"><span class="lineNum"> 108</span> [<span class="tlaGBC" title="Branch 0 was taken 44 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2112 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 31 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 2200 : keyword != "BU_" && keyword != "BU_:")</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 30 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 1 time"> + </span><span class="tlaGBC" title="Branch 6 was taken 30 times"> + </span><span class="tlaUNC" title="Branch 7 was not taken"> - </span><span class="tlaGBC" title="Branch 8 was taken 29 times"> + </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 9 was taken 1 time"> + </span><span class="tlaGBC" title="Branch 10 was taken 29 times"> + </span><span class="tlaGBC" title="Branch 11 was taken 2127 times"> + </span>]
|
||||||
|
<span id="L109"><span class="lineNum"> 109</span> :<span class="tlaGNC"> 29 : continue; // NS_ lists syntax symbols; BO_, SG_, BS_ and BU_ end the list.</span></span>
|
||||||
|
<span id="L110"><span class="lineNum"> 110</span> [<span class="tlaGBC" title="Branch 0 was taken 2127 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 2115 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 12 times"> + </span> :<span class="tlaGNC"> 2127 : inNamespace = keyword == "NS_" || keyword == "NS_:";</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 2115 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaGBC" title="Branch 6 was taken 3 times"> + </span><span class="tlaGBC" title="Branch 7 was taken 2112 times"> + </span>]
|
||||||
|
<span id="L111"><span class="lineNum"> 111</span> : : </span>
|
||||||
|
<span id="L112"><span class="lineNum"> 112</span> [<span class="tlaGBC" title="Branch 0 was taken 2127 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 140 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 1987 times"> + </span>]:<span class="tlaGNC"> 2127 : if (keyword == "CM_") {</span></span>
|
||||||
|
<span id="L113"><span class="lineNum"> 113</span> [<span class="tlaGBC" title="Branch 0 was taken 140 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 140 : line = rawLine;</span></span>
|
||||||
|
<span id="L114"><span class="lineNum"> 114</span> [<span class="tlaGBC" title="Branch 0 was taken 140 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 140 : ReadCommentLines(input, line, lineNumber);</span></span>
|
||||||
|
<span id="L115"><span class="lineNum"> 115</span> : : }</span>
|
||||||
|
<span id="L116"><span class="lineNum"> 116</span> : : </span>
|
||||||
|
<span id="L117"><span class="lineNum"> 117</span> : : try {</span>
|
||||||
|
<span id="L118"><span class="lineNum"> 118</span> :<span class="tlaGNC"> 2127 : context.lineNumber = statementLine;</span></span>
|
||||||
|
<span id="L119"><span class="lineNum"> 119</span> [<span class="tlaGBC" title="Branch 0 was taken 1778 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 349 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 37 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 1741 times"> + </span>]:<span class="tlaGNC"> 2127 : if (!dispatcher.Dispatch(line, context)) {</span></span>
|
||||||
|
<span id="L120"><span class="lineNum"> 120</span> :<span class="tlaGNC"> 37 : result.diagnostics.push_back({DbcDiagnosticSeverity::Warning,</span></span>
|
||||||
|
<span id="L121"><span class="lineNum"> 121</span> : : DbcDiagnosticCode::UnsupportedStatement,</span>
|
||||||
|
<span id="L122"><span class="lineNum"> 122</span> : : filePath, statementLine,</span>
|
||||||
|
<span id="L123"><span class="lineNum"> 123</span> :<span class="tlaGNC"> 37 : "Unsupported statement '" + keyword +</span></span>
|
||||||
|
<span id="L124"><span class="lineNum"> 124</span> : : "' is ignored; decoding or metadata may be incomplete."});</span>
|
||||||
|
<span id="L125"><span class="lineNum"> 125</span> : : }</span>
|
||||||
|
<span id="L126"><span class="lineNum"> 126</span> [<span class="tlaUNC" title="Branch 0 was not taken"> - </span><span class="tlaGBC" title="Branch 1 was taken 349 times"> + </span>]:<span class="tlaGNC"> 349 : } catch (const std::exception &error) {</span></span>
|
||||||
|
<span id="L127"><span class="lineNum"> 127</span> :<span class="tlaGNC"> 349 : result.diagnostics.push_back({DbcDiagnosticSeverity::Error,</span></span>
|
||||||
|
<span id="L128"><span class="lineNum"> 128</span> :<span class="tlaGNC"> 698 : StatementErrorCode(keyword), filePath,</span></span>
|
||||||
|
<span id="L129"><span class="lineNum"> 129</span> :<span class="tlaUNC"> 0 : statementLine, error.what()});</span></span>
|
||||||
|
<span id="L130"><span class="lineNum"> 130</span> :<span class="tlaGNC"> 349 : return result;</span></span>
|
||||||
|
<span id="L131"><span class="lineNum"> 131</span> :<span class="tlaGNC"> 349 : }</span></span>
|
||||||
|
<span id="L132"><span class="lineNum"> 132</span> [<span class="tlaGBC" title="Branch 0 was taken 1778 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 29 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 349 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 1778 times"> + </span> :<span class="tlaGNC"> 3632 : }</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 29 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 349 times"> + </span><span class="tlaGBC" title="Branch 6 was taken 1778 times"> + </span><span class="tlaGBC" title="Branch 7 was taken 29 times"> + </span><span class="tlaGBC" title="Branch 8 was taken 349 times"> + </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 9 was taken 1778 times"> + </span><span class="tlaGBC" title="Branch 10 was taken 371 times"> + </span><span class="tlaGBC" title="Branch 11 was taken 349 times"> + </span>]
|
||||||
|
<span id="L133"><span class="lineNum"> 133</span> : : </span>
|
||||||
|
<span id="L134"><span class="lineNum"> 134</span> [<span class="tlaGBC" title="Branch 0 was taken 599 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 597 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 2 times"> + </span> :<span class="tlaGNC"> 599 : if (input.bad() || !input.eof()) {</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 597 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaUNC" title="Branch 6 was not taken"> - </span><span class="tlaGBC" title="Branch 7 was taken 597 times"> + </span><span class="tlaGBC" title="Branch 8 was taken 2 times"> + </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 9 was taken 597 times"> + </span>]
|
||||||
|
<span id="L135"><span class="lineNum"> 135</span> :<span class="tlaGNC"> 2 : result.diagnostics.push_back({DbcDiagnosticSeverity::Error,</span></span>
|
||||||
|
<span id="L136"><span class="lineNum"> 136</span> : : DbcDiagnosticCode::FileReadError, filePath, 0U,</span>
|
||||||
|
<span id="L137"><span class="lineNum"> 137</span> : : "Failed to read DBC file: " + filePath});</span>
|
||||||
|
<span id="L138"><span class="lineNum"> 138</span> :<span class="tlaGNC"> 2 : return result;</span></span>
|
||||||
|
<span id="L139"><span class="lineNum"> 139</span> : : }</span>
|
||||||
|
<span id="L140"><span class="lineNum"> 140</span> : : </span>
|
||||||
|
<span id="L141"><span class="lineNum"> 141</span> : : try {</span>
|
||||||
|
<span id="L142"><span class="lineNum"> 142</span> [<span class="tlaGBC" title="Branch 0 was taken 587 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 10 times"> + </span>]:<span class="tlaGNC"> 597 : context.ResolveComments(filePath);</span></span>
|
||||||
|
<span id="L143"><span class="lineNum"> 143</span> [<span class="tlaGBC" title="Branch 0 was taken 576 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 11 times"> + </span>]:<span class="tlaGNC"> 587 : context.ResolveValueDescriptions(filePath);</span></span>
|
||||||
|
<span id="L144"><span class="lineNum"> 144</span> [<span class="tlaGBC" title="Branch 0 was taken 549 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 27 times"> + </span>]:<span class="tlaGNC"> 576 : context.ValidateMultiplexing(filePath);</span></span>
|
||||||
|
<span id="L145"><span class="lineNum"> 145</span> [<span class="tlaGBC" title="Branch 0 was taken 163 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 386 times"> + </span>]:<span class="tlaGNC"> 549 : context.ResolveAttributes(filePath, result.diagnostics);</span></span>
|
||||||
|
<span id="L146"><span class="lineNum"> 146</span> [<span class="tlaUNC" title="Branch 0 was not taken"> - </span><span class="tlaGBC" title="Branch 1 was taken 434 times"> + </span>]:<span class="tlaGNC"> 434 : } catch (const DbcDiagnosticError &error) {</span></span>
|
||||||
|
<span id="L147"><span class="lineNum"> 147</span> [<span class="tlaGBC" title="Branch 0 was taken 434 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 434 : result.diagnostics.push_back(error.diagnostic);</span></span>
|
||||||
|
<span id="L148"><span class="lineNum"> 148</span> :<span class="tlaGNC"> 434 : return result;</span></span>
|
||||||
|
<span id="L149"><span class="lineNum"> 149</span> [<span class="tlaGBC" title="Branch 0 was taken 434 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 434 : }</span></span>
|
||||||
|
<span id="L150"><span class="lineNum"> 150</span> :<span class="tlaGNC"> 163 : result.database = std::move(database);</span></span>
|
||||||
|
<span id="L151"><span class="lineNum"> 151</span> :<span class="tlaGNC"> 163 : return result;</span></span>
|
||||||
|
<span id="L152"><span class="lineNum"> 152</span> [<span class="tlaGBC" title="Branch 0 was taken 3 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 3 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 1691 : }</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 3 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaGBC" title="Branch 6 was taken 37 times"> + </span><span class="tlaUNC" title="Branch 7 was not taken"> - </span><span class="tlaGBC" title="Branch 8 was taken 37 times"> + </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaUNC" title="Branch 9 was not taken"> - </span><span class="tlaGBC" title="Branch 10 was taken 37 times"> + </span><span class="tlaUNC" title="Branch 11 was not taken"> - </span><span class="tlaGBC" title="Branch 12 was taken 37 times"> + </span><span class="tlaUNC" title="Branch 13 was not taken"> - </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 14 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 15 was not taken"> - </span><span class="tlaGBC" title="Branch 16 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 17 was not taken"> - </span><span class="tlaGBC" title="Branch 18 was taken 2 times"> + </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaUNC" title="Branch 19 was not taken"> - </span><span class="tlaUNC" title="Branch 20 was not taken"> - </span><span class="tlaUNC" title="Branch 21 was not taken"> - </span><span class="tlaUNC" title="Branch 22 was not taken"> - </span><span class="tlaUNC" title="Branch 23 was not taken"> - </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 24 was taken 349 times"> + </span><span class="tlaUNC" title="Branch 25 was not taken"> - </span><span class="tlaGBC" title="Branch 26 was taken 349 times"> + </span><span class="tlaUNC" title="Branch 27 was not taken"> - </span><span class="tlaGBC" title="Branch 28 was taken 349 times"> + </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaUNC" title="Branch 29 was not taken"> - </span><span class="tlaGBC" title="Branch 30 was taken 349 times"> + </span><span class="tlaUNC" title="Branch 31 was not taken"> - </span><span class="tlaUNC" title="Branch 32 was not taken"> - </span><span class="tlaUNC" title="Branch 33 was not taken"> - </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaUNC" title="Branch 34 was not taken"> - </span><span class="tlaUNC" title="Branch 35 was not taken"> - </span>]
|
||||||
|
</pre>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,84 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/dbc_parser.h - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - dbc_parser.h<span style="font-size: 80%;"> (<a href="dbc_parser.h.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><a href="dbc_parser.h.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></a></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_parser.h.gcov.html#L42">DbcParser::DbcParser(DbcParserOptions)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">930</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,84 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/dbc_parser.h - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - dbc_parser.h<span style="font-size: 80%;"> (<a href="dbc_parser.h.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><a href="dbc_parser.h.func-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></a></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_parser.h.gcov.html#L42">DbcParser::DbcParser(DbcParserOptions)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">930</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,145 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/dbc_parser.h</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - dbc_parser.h<span style="font-size: 80%;"> (source / <a href="dbc_parser.h.func-c.html" title="Click to go to function table">functions</a>)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table cellpadding=0 cellspacing=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td><br></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<pre class="sourceHeading"> Line data Source code</pre>
|
||||||
|
<pre class="source">
|
||||||
|
<span id="L1"><span class="lineNum"> 1</span> : /**</span>
|
||||||
|
<span id="L2"><span class="lineNum"> 2</span> : * @file dbc_parser.h</span>
|
||||||
|
<span id="L3"><span class="lineNum"> 3</span> : * @brief DBC file parser and interpretation options.</span>
|
||||||
|
<span id="L4"><span class="lineNum"> 4</span> : *</span>
|
||||||
|
<span id="L5"><span class="lineNum"> 5</span> : * Created: 2026-03-13</span>
|
||||||
|
<span id="L6"><span class="lineNum"> 6</span> : * Author: Deeaitch (Dim. Himro)</span>
|
||||||
|
<span id="L7"><span class="lineNum"> 7</span> : *</span>
|
||||||
|
<span id="L8"><span class="lineNum"> 8</span> : * Licensed under the MIT License.</span>
|
||||||
|
<span id="L9"><span class="lineNum"> 9</span> : * See LICENSE file in the project root for full license text.</span>
|
||||||
|
<span id="L10"><span class="lineNum"> 10</span> : */</span>
|
||||||
|
<span id="L11"><span class="lineNum"> 11</span> : </span>
|
||||||
|
<span id="L12"><span class="lineNum"> 12</span> : #ifndef DBC_PARSER_H</span>
|
||||||
|
<span id="L13"><span class="lineNum"> 13</span> : #define DBC_PARSER_H</span>
|
||||||
|
<span id="L14"><span class="lineNum"> 14</span> : </span>
|
||||||
|
<span id="L15"><span class="lineNum"> 15</span> : #include <string></span>
|
||||||
|
<span id="L16"><span class="lineNum"> 16</span> : </span>
|
||||||
|
<span id="L17"><span class="lineNum"> 17</span> : #include "dbc_diagnostic.h"</span>
|
||||||
|
<span id="L18"><span class="lineNum"> 18</span> : </span>
|
||||||
|
<span id="L19"><span class="lineNum"> 19</span> : /** Explicit interpretation applied to extended frames in this file. */</span>
|
||||||
|
<span id="L20"><span class="lineNum"> 20</span> : struct DbcParserOptions {</span>
|
||||||
|
<span id="L21"><span class="lineNum"> 21</span> : bool enableJ1939 = false; /**< Derive J1939 PGNs from extended CAN IDs. */</span>
|
||||||
|
<span id="L22"><span class="lineNum"> 22</span> : };</span>
|
||||||
|
<span id="L23"><span class="lineNum"> 23</span> : </span>
|
||||||
|
<span id="L24"><span class="lineNum"> 24</span> : /**</span>
|
||||||
|
<span id="L25"><span class="lineNum"> 25</span> : * @brief Minimal DBC parser.</span>
|
||||||
|
<span id="L26"><span class="lineNum"> 26</span> : *</span>
|
||||||
|
<span id="L27"><span class="lineNum"> 27</span> : * Supports:</span>
|
||||||
|
<span id="L28"><span class="lineNum"> 28</span> : * - BO_</span>
|
||||||
|
<span id="L29"><span class="lineNum"> 29</span> : * - SG_</span>
|
||||||
|
<span id="L30"><span class="lineNum"> 30</span> : * - CM_ BO_</span>
|
||||||
|
<span id="L31"><span class="lineNum"> 31</span> : * - CM_ SG_</span>
|
||||||
|
<span id="L32"><span class="lineNum"> 32</span> : * - basic M / mN multiplexing</span>
|
||||||
|
<span id="L33"><span class="lineNum"> 33</span> : * - VAL_ signal value descriptions</span>
|
||||||
|
<span id="L34"><span class="lineNum"> 34</span> : * - BA_DEF_, BA_DEF_DEF_, BA_ typed attributes, frame format and cycle time</span>
|
||||||
|
<span id="L35"><span class="lineNum"> 35</span> : *</span>
|
||||||
|
<span id="L36"><span class="lineNum"> 36</span> : * Frame/signal comments support multiline quoted text and deferred references.</span>
|
||||||
|
<span id="L37"><span class="lineNum"> 37</span> : *</span>
|
||||||
|
<span id="L38"><span class="lineNum"> 38</span> : * Reports unsupported statements as warnings, except SG_MUL_VAL_ which is</span>
|
||||||
|
<span id="L39"><span class="lineNum"> 39</span> : * an error. VERSION, NS_, BS_, BU_ and NS_ symbol declarations stay quiet.</span>
|
||||||
|
<span id="L40"><span class="lineNum"> 40</span> : */</span>
|
||||||
|
<span id="L41"><span class="lineNum"> 41</span> : class DbcParser {</span>
|
||||||
|
<span id="L42"><span class="lineNum"> 42</span> : public:</span>
|
||||||
|
<span id="L43"><span class="lineNum"> 43</span> : /** @brief Create a parser with explicit extended-frame interpretation options. */</span>
|
||||||
|
<span id="L44"><span class="lineNum"> 44</span> <span class="tlaGNC"> 930 : explicit DbcParser(DbcParserOptions options = {}) : options(options) {}</span></span>
|
||||||
|
<span id="L45"><span class="lineNum"> 45</span> : </span>
|
||||||
|
<span id="L46"><span class="lineNum"> 46</span> : /**</span>
|
||||||
|
<span id="L47"><span class="lineNum"> 47</span> : * @brief Parse DBC file.</span>
|
||||||
|
<span id="L48"><span class="lineNum"> 48</span> : * @param filePath Path to input file.</span>
|
||||||
|
<span id="L49"><span class="lineNum"> 49</span> : * @return Parsed database.</span>
|
||||||
|
<span id="L50"><span class="lineNum"> 50</span> : * @throws std::runtime_error on file or parse errors.</span>
|
||||||
|
<span id="L51"><span class="lineNum"> 51</span> : * Line parse errors include the file path and one-based line number.</span>
|
||||||
|
<span id="L52"><span class="lineNum"> 52</span> : * Duplicate normalized CAN IDs of the same frame type and duplicate signal</span>
|
||||||
|
<span id="L53"><span class="lineNum"> 53</span> : * names within a frame are rejected at the repeated definition's line.</span>
|
||||||
|
<span id="L54"><span class="lineNum"> 54</span> : */</span>
|
||||||
|
<span id="L55"><span class="lineNum"> 55</span> : DbcDatabase ParseFile(const std::string &filePath) const;</span>
|
||||||
|
<span id="L56"><span class="lineNum"> 56</span> : </span>
|
||||||
|
<span id="L57"><span class="lineNum"> 57</span> : /**</span>
|
||||||
|
<span id="L58"><span class="lineNum"> 58</span> : * @brief Parse with warnings and a structured first error instead of throwing.</span>
|
||||||
|
<span id="L59"><span class="lineNum"> 59</span> : * @return Valid database with diagnostics; empty database on error.</span>
|
||||||
|
<span id="L60"><span class="lineNum"> 60</span> : * File errors use line zero; statement errors use physical one-based lines.</span>
|
||||||
|
<span id="L61"><span class="lineNum"> 61</span> : * Warnings indicate ignored syntax and possible incomplete decoding.</span>
|
||||||
|
<span id="L62"><span class="lineNum"> 62</span> : */</span>
|
||||||
|
<span id="L63"><span class="lineNum"> 63</span> : DbcParseResult ParseFileWithDiagnostics(const std::string &filePath) const;</span>
|
||||||
|
<span id="L64"><span class="lineNum"> 64</span> : </span>
|
||||||
|
<span id="L65"><span class="lineNum"> 65</span> : private:</span>
|
||||||
|
<span id="L66"><span class="lineNum"> 66</span> : DbcParserOptions options;</span>
|
||||||
|
<span id="L67"><span class="lineNum"> 67</span> : };</span>
|
||||||
|
<span id="L68"><span class="lineNum"> 68</span> : </span>
|
||||||
|
<span id="L69"><span class="lineNum"> 69</span> : #endif /* DBC_PARSER_H */</span>
|
||||||
|
</pre>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,333 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/dbc_statement_handler.cpp - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - dbc_statement_handler.cpp<span style="font-size: 80%;"> (<a href="dbc_statement_handler.cpp.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">99.5 %</td>
|
||||||
|
<td class="headerCovTableEntry">370</td>
|
||||||
|
<td class="headerCovTableEntry">368</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">31</td>
|
||||||
|
<td class="headerCovTableEntry">31</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryLo">68.4 %</td>
|
||||||
|
<td class="headerCovTableEntry">820</td>
|
||||||
|
<td class="headerCovTableEntry">561</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><a href="dbc_statement_handler.cpp.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></a></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L449">DbcUnsupportedMultiplexingHandler::Handle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DbcParseContext&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">4</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L497">(anonymous namespace)::SignalsOverlap(SignalInfo const&, SignalInfo const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">57</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L464">(anonymous namespace)::AreMutuallyExclusive(SignalInfo const&, SignalInfo const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">58</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L115">(anonymous namespace)::FindUniqueSignal(FrameInfo&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">62</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L386">DbcHeaderHandler::Handle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DbcParseContext&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">62</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L101">(anonymous namespace)::FindUniqueFrame(DbcDatabase&, unsigned int, bool)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">67</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L400">DbcValueDescriptionHandler::Handle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DbcParseContext&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">94</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L91">(anonymous namespace)::UnescapeDescription(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">96</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L71">(anonymous namespace)::ParseValueKey(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">104</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L454">(anonymous namespace)::SignalBits(SignalInfo const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">114</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L304">DbcCommentHandler::Handle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DbcParseContext&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">149</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L470">(anonymous namespace)::ValidateBranch(SignalInfo const&, SignalInfo const*)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">193</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L480">(anonymous namespace)::FindSelector(FrameInfo const&, std::vector<unsigned long, std::allocator<unsigned long> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">280</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L141">(anonymous namespace)::SplitReceivers(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">317</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L266">(anonymous namespace)::FindSignalByName(FrameInfo&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">364</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L53">(anonymous namespace)::ParseMultiplexingMarker(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">496</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L204">DbcSignalHandler::ParseSignalLine(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">521</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L290">DbcSignalHandler::Handle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DbcParseContext&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">526</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L510">DbcParseContext::ValidateMultiplexing(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">576</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L433">DbcParseContext::ResolveValueDescriptions(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">592</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L350">DbcParseContext::ResolveComments(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">597</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L276">DbcFrameHandler::Handle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DbcParseContext&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">649</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L166">DbcFrameHandler::ParseFrameLine(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">649</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L255">(anonymous namespace)::FindFrameById(DbcDatabase&, unsigned int, bool)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">698</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L23">(anonymous namespace)::ParseCanId(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">784</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L155">(anonymous namespace)::NormalizeCanId(unsigned int, unsigned int&, bool&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">803</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L129">(anonymous namespace)::NextSignalBit(unsigned long, bool)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">884</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L368">DbcStatementDispatcher::DbcStatementDispatcher()</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">949</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L32">(anonymous namespace)::ParsePhysicalValue(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">1666</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L388">DbcStatementDispatcher::Dispatch(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DbcParseContext&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">2132</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L12">(anonymous namespace)::ParseDecimal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, char const*)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">2466</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,333 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/dbc_statement_handler.cpp - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - dbc_statement_handler.cpp<span style="font-size: 80%;"> (<a href="dbc_statement_handler.cpp.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">99.5 %</td>
|
||||||
|
<td class="headerCovTableEntry">370</td>
|
||||||
|
<td class="headerCovTableEntry">368</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">31</td>
|
||||||
|
<td class="headerCovTableEntry">31</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryLo">68.4 %</td>
|
||||||
|
<td class="headerCovTableEntry">820</td>
|
||||||
|
<td class="headerCovTableEntry">561</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><a href="dbc_statement_handler.cpp.func-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></a></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L464">(anonymous namespace)::AreMutuallyExclusive(SignalInfo const&, SignalInfo const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">58</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L255">(anonymous namespace)::FindFrameById(DbcDatabase&, unsigned int, bool)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">698</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L480">(anonymous namespace)::FindSelector(FrameInfo const&, std::vector<unsigned long, std::allocator<unsigned long> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">280</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L266">(anonymous namespace)::FindSignalByName(FrameInfo&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">364</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L101">(anonymous namespace)::FindUniqueFrame(DbcDatabase&, unsigned int, bool)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">67</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L115">(anonymous namespace)::FindUniqueSignal(FrameInfo&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">62</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L129">(anonymous namespace)::NextSignalBit(unsigned long, bool)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">884</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L155">(anonymous namespace)::NormalizeCanId(unsigned int, unsigned int&, bool&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">803</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L23">(anonymous namespace)::ParseCanId(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">784</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L12">(anonymous namespace)::ParseDecimal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, char const*)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">2466</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L53">(anonymous namespace)::ParseMultiplexingMarker(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">496</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L32">(anonymous namespace)::ParsePhysicalValue(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">1666</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L71">(anonymous namespace)::ParseValueKey(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">104</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L454">(anonymous namespace)::SignalBits(SignalInfo const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">114</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L497">(anonymous namespace)::SignalsOverlap(SignalInfo const&, SignalInfo const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">57</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L141">(anonymous namespace)::SplitReceivers(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">317</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L91">(anonymous namespace)::UnescapeDescription(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">96</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L470">(anonymous namespace)::ValidateBranch(SignalInfo const&, SignalInfo const*)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">193</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L304">DbcCommentHandler::Handle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DbcParseContext&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">149</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L276">DbcFrameHandler::Handle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DbcParseContext&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">649</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L166">DbcFrameHandler::ParseFrameLine(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">649</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L386">DbcHeaderHandler::Handle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DbcParseContext&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">62</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L350">DbcParseContext::ResolveComments(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">597</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L433">DbcParseContext::ResolveValueDescriptions(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">592</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L510">DbcParseContext::ValidateMultiplexing(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">576</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L290">DbcSignalHandler::Handle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DbcParseContext&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">526</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L204">DbcSignalHandler::ParseSignalLine(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">521</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L368">DbcStatementDispatcher::DbcStatementDispatcher()</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">949</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L388">DbcStatementDispatcher::Dispatch(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DbcParseContext&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">2132</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L449">DbcUnsupportedMultiplexingHandler::Handle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DbcParseContext&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">4</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.cpp.gcov.html#L400">DbcValueDescriptionHandler::Handle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DbcParseContext&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">94</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,676 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/dbc_statement_handler.cpp</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - dbc_statement_handler.cpp<span style="font-size: 80%;"> (source / <a href="dbc_statement_handler.cpp.func-c.html" title="Click to go to function table">functions</a>)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">99.5 %</td>
|
||||||
|
<td class="headerCovTableEntry">370</td>
|
||||||
|
<td class="headerCovTableEntry">368</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">31</td>
|
||||||
|
<td class="headerCovTableEntry">31</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryLo">68.4 %</td>
|
||||||
|
<td class="headerCovTableEntry">820</td>
|
||||||
|
<td class="headerCovTableEntry">561</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table cellpadding=0 cellspacing=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td><br></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<pre class="sourceHeading"> Branch data Line data Source code</pre>
|
||||||
|
<pre class="source">
|
||||||
|
<span id="L1"><span class="lineNum"> 1</span> : : // SPDX-License-Identifier: MIT</span>
|
||||||
|
<span id="L2"><span class="lineNum"> 2</span> : : #include "dbc_statement_handler.h"</span>
|
||||||
|
<span id="L3"><span class="lineNum"> 3</span> : : #include "j1939.h"</span>
|
||||||
|
<span id="L4"><span class="lineNum"> 4</span> : : #include "text_utils.h"</span>
|
||||||
|
<span id="L5"><span class="lineNum"> 5</span> : : #include "signal_layout.h"</span>
|
||||||
|
<span id="L6"><span class="lineNum"> 6</span> : : #include <charconv></span>
|
||||||
|
<span id="L7"><span class="lineNum"> 7</span> : : #include <cmath></span>
|
||||||
|
<span id="L8"><span class="lineNum"> 8</span> : : #include <limits></span>
|
||||||
|
<span id="L9"><span class="lineNum"> 9</span> : : #include <regex></span>
|
||||||
|
<span id="L10"><span class="lineNum"> 10</span> : : #include <sstream></span>
|
||||||
|
<span id="L11"><span class="lineNum"> 11</span> : : #include <stdexcept></span>
|
||||||
|
<span id="L12"><span class="lineNum"> 12</span> : : </span>
|
||||||
|
<span id="L13"><span class="lineNum"> 13</span> : : namespace {</span>
|
||||||
|
<span id="L14"><span class="lineNum"> 14</span> :<span class="tlaGNC"> 2466 : std::uint32_t ParseDecimal(const std::string &text,</span></span>
|
||||||
|
<span id="L15"><span class="lineNum"> 15</span> : : std::uint32_t maximum,</span>
|
||||||
|
<span id="L16"><span class="lineNum"> 16</span> : : const char *field) {</span>
|
||||||
|
<span id="L17"><span class="lineNum"> 17</span> :<span class="tlaGNC"> 2466 : std::uint32_t value = 0U;</span></span>
|
||||||
|
<span id="L18"><span class="lineNum"> 18</span> [<span class="tlaGBC" title="Branch 0 was taken 2466 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2466 : const std::from_chars_result parsed = std::from_chars(text.data(), text.data() + text.size(), value);</span></span>
|
||||||
|
<span id="L19"><span class="lineNum"> 19</span> [<span class="tlaGBC" title="Branch 0 was taken 2429 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 37 times"> + </span>]:<span class="tlaGNC"> 4932 : if (text.empty() || parsed.ec != std::errc() ||</span></span>
|
||||||
|
<span id="L20"><span class="lineNum"> 20</span> [<span class="tlaGBC" title="Branch 0 was taken 2466 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 2410 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 19 times"> + </span> :<span class="tlaGNC"> 4932 : parsed.ptr != text.data() + text.size() || value > maximum)</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 2408 times"> + </span><span class="tlaGBC" title="Branch 6 was taken 58 times"> + </span><span class="tlaGBC" title="Branch 7 was taken 2408 times"> + </span>]
|
||||||
|
<span id="L21"><span class="lineNum"> 21</span> [<span class="tlaGBC" title="Branch 0 was taken 58 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 58 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 174 : throw std::runtime_error(std::string("Invalid ") + field + ": " + text);</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 58 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaGBC" title="Branch 6 was taken 58 times"> + </span><span class="tlaUNC" title="Branch 7 was not taken"> - </span><span class="tlaGBC" title="Branch 8 was taken 58 times"> + </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaUNC" title="Branch 9 was not taken"> - </span>]
|
||||||
|
<span id="L22"><span class="lineNum"> 22</span> :<span class="tlaGNC"> 2408 : return value;</span></span>
|
||||||
|
<span id="L23"><span class="lineNum"> 23</span> : : }</span>
|
||||||
|
<span id="L24"><span class="lineNum"> 24</span> : : </span>
|
||||||
|
<span id="L25"><span class="lineNum"> 25</span> :<span class="tlaGNC"> 784 : std::uint32_t ParseCanId(const std::string &text) {</span></span>
|
||||||
|
<span id="L26"><span class="lineNum"> 26</span> :<span class="tlaGNC"> 784 : const std::uint32_t rawId = ParseDecimal(</span></span>
|
||||||
|
<span id="L27"><span class="lineNum"> 27</span> : : text, std::numeric_limits<std::uint32_t>::max(), "CAN ID");</span>
|
||||||
|
<span id="L28"><span class="lineNum"> 28</span> : : // Only bit 31 may accompany the actual 29-bit identifier.</span>
|
||||||
|
<span id="L29"><span class="lineNum"> 29</span> [<span class="tlaGBC" title="Branch 0 was taken 20 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 730 times"> + </span>]:<span class="tlaGNC"> 750 : if ((rawId & 0x60000000U) != 0U)</span></span>
|
||||||
|
<span id="L30"><span class="lineNum"> 30</span> [<span class="tlaGBC" title="Branch 0 was taken 20 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 20 : throw std::runtime_error("CAN ID exceeds the 29-bit identifier range.");</span></span>
|
||||||
|
<span id="L31"><span class="lineNum"> 31</span> :<span class="tlaGNC"> 730 : return rawId;</span></span>
|
||||||
|
<span id="L32"><span class="lineNum"> 32</span> : : }</span>
|
||||||
|
<span id="L33"><span class="lineNum"> 33</span> : : </span>
|
||||||
|
<span id="L34"><span class="lineNum"> 34</span> :<span class="tlaGNC"> 1666 : double ParsePhysicalValue(const std::string &text, const char *field) {</span></span>
|
||||||
|
<span id="L35"><span class="lineNum"> 35</span> : : static const std::regex number(</span>
|
||||||
|
<span id="L36"><span class="lineNum"> 36</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 1664 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 1666 : R"(^[+-]?(?:[0-9]+(?:\.[0-9]*)?|\.[0-9]+)(?:[eE][+-]?[0-9]+)?$)");</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaUNC" title="Branch 6 was not taken"> - </span><span class="tlaUNC" title="Branch 7 was not taken"> - </span>]
|
||||||
|
<span id="L37"><span class="lineNum"> 37</span> [<span class="tlaGBC" title="Branch 0 was taken 1666 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 112 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 1554 times"> + </span>]:<span class="tlaGNC"> 1666 : if (!std::regex_match(text, number))</span></span>
|
||||||
|
<span id="L38"><span class="lineNum"> 38</span> [<span class="tlaGBC" title="Branch 0 was taken 112 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 112 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 336 : throw std::runtime_error(std::string("Invalid ") + field + ": " + text);</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 112 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaGBC" title="Branch 6 was taken 112 times"> + </span><span class="tlaUNC" title="Branch 7 was not taken"> - </span><span class="tlaGBC" title="Branch 8 was taken 112 times"> + </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaUNC" title="Branch 9 was not taken"> - </span>]
|
||||||
|
<span id="L39"><span class="lineNum"> 39</span> : : // Floating-point from_chars is locale-independent and does not accept</span>
|
||||||
|
<span id="L40"><span class="lineNum"> 40</span> : : // a leading '+', which the DBC numeric grammar permits.</span>
|
||||||
|
<span id="L41"><span class="lineNum"> 41</span> :<span class="tlaGNC"> 1554 : const char *begin = text.data();</span></span>
|
||||||
|
<span id="L42"><span class="lineNum"> 42</span> :<span class="tlaGNC"> 1554 : const char *end = begin + text.size();</span></span>
|
||||||
|
<span id="L43"><span class="lineNum"> 43</span> [<span class="tlaGBC" title="Branch 0 was taken 18 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 1536 times"> + </span>]:<span class="tlaGNC"> 1554 : if (*begin == '+')</span></span>
|
||||||
|
<span id="L44"><span class="lineNum"> 44</span> :<span class="tlaGNC"> 18 : ++begin;</span></span>
|
||||||
|
<span id="L45"><span class="lineNum"> 45</span> :<span class="tlaGNC"> 1554 : double value = 0.0;</span></span>
|
||||||
|
<span id="L46"><span class="lineNum"> 46</span> : : const std::from_chars_result parsed =</span>
|
||||||
|
<span id="L47"><span class="lineNum"> 47</span> :<span class="tlaGNC"> 1554 : std::from_chars(begin, end, value, std::chars_format::general);</span></span>
|
||||||
|
<span id="L48"><span class="lineNum"> 48</span> : : // Keep the existing rejection of conversion underflow into subnormal values.</span>
|
||||||
|
<span id="L49"><span class="lineNum"> 49</span> [<span class="tlaGBC" title="Branch 0 was taken 1530 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 24 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 1530 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 3084 : if (parsed.ec != std::errc() || parsed.ptr != end || !std::isfinite(value) ||</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 1530 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaGBC" title="Branch 6 was taken 16 times"> + </span><span class="tlaGBC" title="Branch 7 was taken 1514 times"> + </span><span class="tlaGBC" title="Branch 8 was taken 40 times"> + </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 9 was taken 1514 times"> + </span>]
|
||||||
|
<span id="L50"><span class="lineNum"> 50</span> :<span class="tlaGNC"> 1530 : std::fpclassify(value) == FP_SUBNORMAL)</span></span>
|
||||||
|
<span id="L51"><span class="lineNum"> 51</span> [<span class="tlaGBC" title="Branch 0 was taken 40 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 40 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 120 : throw std::runtime_error(std::string("Invalid ") + field + ": " + text);</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 40 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaGBC" title="Branch 6 was taken 40 times"> + </span><span class="tlaUNC" title="Branch 7 was not taken"> - </span><span class="tlaGBC" title="Branch 8 was taken 40 times"> + </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaUNC" title="Branch 9 was not taken"> - </span>]
|
||||||
|
<span id="L52"><span class="lineNum"> 52</span> :<span class="tlaGNC"> 1514 : return value;</span></span>
|
||||||
|
<span id="L53"><span class="lineNum"> 53</span> : : }</span>
|
||||||
|
<span id="L54"><span class="lineNum"> 54</span> : : </span>
|
||||||
|
<span id="L55"><span class="lineNum"> 55</span> :<span class="tlaGNC"> 496 : Multiplexing ParseMultiplexingMarker(const std::string &marker) {</span></span>
|
||||||
|
<span id="L56"><span class="lineNum"> 56</span> :<span class="tlaGNC"> 496 : Multiplexing result;</span></span>
|
||||||
|
<span id="L57"><span class="lineNum"> 57</span> [<span class="tlaGBC" title="Branch 0 was taken 496 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 34 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 462 times"> + </span>]:<span class="tlaGNC"> 496 : if (marker == "M")</span></span>
|
||||||
|
<span id="L58"><span class="lineNum"> 58</span> :<span class="tlaGNC"> 34 : result.role = MultiplexRole::Selector;</span></span>
|
||||||
|
<span id="L59"><span class="lineNum"> 59</span> [<span class="tlaGBC" title="Branch 0 was taken 38 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 424 times"> + </span>]:<span class="tlaGNC"> 462 : else if (!marker.empty()) {</span></span>
|
||||||
|
<span id="L60"><span class="lineNum"> 60</span> [<span class="tlaGBC" title="Branch 0 was taken 1 time"> + </span><span class="tlaGBC" title="Branch 1 was taken 37 times"> + </span>]:<span class="tlaGNC"> 38 : if (marker[0] != 'm')</span></span>
|
||||||
|
<span id="L61"><span class="lineNum"> 61</span> [<span class="tlaGBC" title="Branch 0 was taken 1 time"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 1 : throw std::runtime_error("Unsupported multiplexing marker.");</span></span>
|
||||||
|
<span id="L62"><span class="lineNum"> 62</span> [<span class="tlaGBC" title="Branch 0 was taken 37 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 37 : const std::string value = marker.substr(1U);</span></span>
|
||||||
|
<span id="L63"><span class="lineNum"> 63</span> : : const std::from_chars_result parsed =</span>
|
||||||
|
<span id="L64"><span class="lineNum"> 64</span> [<span class="tlaGBC" title="Branch 0 was taken 37 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 37 : std::from_chars(value.data(), value.data() + value.size(), result.value);</span></span>
|
||||||
|
<span id="L65"><span class="lineNum"> 65</span> [<span class="tlaGBC" title="Branch 0 was taken 36 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 1 time"> + </span><span class="tlaGBC" title="Branch 2 was taken 33 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 3 times"> + </span> :<span class="tlaGNC"> 37 : if (value.empty() || parsed.ec != std::errc() || parsed.ptr != value.data() + value.size())</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 3 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 30 times"> + </span><span class="tlaGBC" title="Branch 6 was taken 7 times"> + </span><span class="tlaGBC" title="Branch 7 was taken 30 times"> + </span>]
|
||||||
|
<span id="L66"><span class="lineNum"> 66</span> [<span class="tlaGBC" title="Branch 0 was taken 7 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 7 : throw std::runtime_error("Invalid or unsupported multiplexing marker.");</span></span>
|
||||||
|
<span id="L67"><span class="lineNum"> 67</span> :<span class="tlaGNC"> 30 : result.role = MultiplexRole::Branch;</span></span>
|
||||||
|
<span id="L68"><span class="lineNum"> 68</span> :<span class="tlaGNC"> 37 : }</span></span>
|
||||||
|
<span id="L69"><span class="lineNum"> 69</span> : : </span>
|
||||||
|
<span id="L70"><span class="lineNum"> 70</span> :<span class="tlaGNC"> 488 : return result;</span></span>
|
||||||
|
<span id="L71"><span class="lineNum"> 71</span> : : }</span>
|
||||||
|
<span id="L72"><span class="lineNum"> 72</span> : : </span>
|
||||||
|
<span id="L73"><span class="lineNum"> 73</span> :<span class="tlaGNC"> 104 : RawSignalValue ParseValueKey(const std::string &number) {</span></span>
|
||||||
|
<span id="L74"><span class="lineNum"> 74</span> :<span class="tlaGNC"> 104 : RawSignalValue key;</span></span>
|
||||||
|
<span id="L75"><span class="lineNum"> 75</span> [<span class="tlaGBC" title="Branch 0 was taken 104 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 16 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 88 times"> + </span> :<span class="tlaGNC"> 104 : if (!number.empty() && number[0] == '-') {</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 16 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 88 times"> + </span>]
|
||||||
|
<span id="L76"><span class="lineNum"> 76</span> :<span class="tlaGNC"> 16 : std::int64_t value = 0;</span></span>
|
||||||
|
<span id="L77"><span class="lineNum"> 77</span> : : const std::from_chars_result parsed =</span>
|
||||||
|
<span id="L78"><span class="lineNum"> 78</span> [<span class="tlaGBC" title="Branch 0 was taken 16 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 16 : std::from_chars(number.data(), number.data() + number.size(), value);</span></span>
|
||||||
|
<span id="L79"><span class="lineNum"> 79</span> [<span class="tlaGBC" title="Branch 0 was taken 14 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 2 was not taken"> - </span><span class="tlaGBC" title="Branch 3 was taken 14 times"> + </span> :<span class="tlaGNC"> 16 : if (parsed.ec != std::errc() || parsed.ptr != number.data() + number.size())</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 14 times"> + </span>]
|
||||||
|
<span id="L80"><span class="lineNum"> 80</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 2 : throw std::runtime_error("Invalid VAL_ integer: " + number);</span></span>
|
||||||
|
<span id="L81"><span class="lineNum"> 81</span> :<span class="tlaGNC"> 14 : key = NormalizeValueKey(RawSignalValue(value));</span></span>
|
||||||
|
<span id="L82"><span class="lineNum"> 82</span> : : } else {</span>
|
||||||
|
<span id="L83"><span class="lineNum"> 83</span> :<span class="tlaGNC"> 88 : std::uint64_t value = 0;</span></span>
|
||||||
|
<span id="L84"><span class="lineNum"> 84</span> : : const std::from_chars_result parsed =</span>
|
||||||
|
<span id="L85"><span class="lineNum"> 85</span> [<span class="tlaGBC" title="Branch 0 was taken 88 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 88 : std::from_chars(number.data(), number.data() + number.size(), value);</span></span>
|
||||||
|
<span id="L86"><span class="lineNum"> 86</span> [<span class="tlaGBC" title="Branch 0 was taken 88 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 86 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 2 times"> + </span> :<span class="tlaGNC"> 88 : if (number.empty() || parsed.ec != std::errc() || parsed.ptr != number.data() + number.size())</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 82 times"> + </span><span class="tlaGBC" title="Branch 6 was taken 6 times"> + </span><span class="tlaGBC" title="Branch 7 was taken 82 times"> + </span>]
|
||||||
|
<span id="L87"><span class="lineNum"> 87</span> [<span class="tlaGBC" title="Branch 0 was taken 6 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 6 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 6 : throw std::runtime_error("Invalid VAL_ integer: " + number);</span></span>
|
||||||
|
<span id="L88"><span class="lineNum"> 88</span> :<span class="tlaGNC"> 82 : key = value;</span></span>
|
||||||
|
<span id="L89"><span class="lineNum"> 89</span> : : }</span>
|
||||||
|
<span id="L90"><span class="lineNum"> 90</span> :<span class="tlaGNC"> 96 : return key;</span></span>
|
||||||
|
<span id="L91"><span class="lineNum"> 91</span> : : }</span>
|
||||||
|
<span id="L92"><span class="lineNum"> 92</span> : : </span>
|
||||||
|
<span id="L93"><span class="lineNum"> 93</span> :<span class="tlaGNC"> 96 : std::string UnescapeDescription(const std::string &quoted) {</span></span>
|
||||||
|
<span id="L94"><span class="lineNum"> 94</span> :<span class="tlaGNC"> 96 : std::string description;</span></span>
|
||||||
|
<span id="L95"><span class="lineNum"> 95</span> [<span class="tlaGBC" title="Branch 0 was taken 628 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 96 times"> + </span>]:<span class="tlaGNC"> 724 : for (std::size_t i = 0; i < quoted.size(); ++i) {</span></span>
|
||||||
|
<span id="L96"><span class="lineNum"> 96</span> [<span class="tlaGBC" title="Branch 0 was taken 7 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 621 times"> + </span>]:<span class="tlaGNC"> 628 : if (quoted[i] == '\\')</span></span>
|
||||||
|
<span id="L97"><span class="lineNum"> 97</span> :<span class="tlaGNC"> 7 : ++i;</span></span>
|
||||||
|
<span id="L98"><span class="lineNum"> 98</span> [<span class="tlaGBC" title="Branch 0 was taken 628 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 628 : description += quoted[i];</span></span>
|
||||||
|
<span id="L99"><span class="lineNum"> 99</span> : : }</span>
|
||||||
|
<span id="L100"><span class="lineNum"> 100</span> :<span class="tlaGNC"> 96 : return description;</span></span>
|
||||||
|
<span id="L101"><span class="lineNum"> 101</span> :<span class="tlaUNC"> 0 : }</span></span>
|
||||||
|
<span id="L102"><span class="lineNum"> 102</span> : : </span>
|
||||||
|
<span id="L103"><span class="lineNum"> 103</span> :<span class="tlaGNC"> 67 : FrameInfo *FindUniqueFrame(DbcDatabase &database, std::uint32_t canId, bool isExtended) {</span></span>
|
||||||
|
<span id="L104"><span class="lineNum"> 104</span> :<span class="tlaGNC"> 67 : FrameInfo *frame = nullptr;</span></span>
|
||||||
|
<span id="L105"><span class="lineNum"> 105</span> [<span class="tlaGBC" title="Branch 0 was taken 113 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 65 times"> + </span>]:<span class="tlaGNC"> 178 : for (FrameInfo &candidate : database.frames) {</span></span>
|
||||||
|
<span id="L106"><span class="lineNum"> 106</span> [<span class="tlaGBC" title="Branch 0 was taken 84 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 29 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 66 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 18 times"> + </span>]:<span class="tlaGNC"> 113 : if (candidate.canId == canId && candidate.isExtended == isExtended) {</span></span>
|
||||||
|
<span id="L107"><span class="lineNum"> 107</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 64 times"> + </span>]:<span class="tlaGNC"> 66 : if (frame)</span></span>
|
||||||
|
<span id="L108"><span class="lineNum"> 108</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2 : throw std::runtime_error("Ambiguous VAL_ frame reference.");</span></span>
|
||||||
|
<span id="L109"><span class="lineNum"> 109</span> :<span class="tlaGNC"> 64 : frame = &candidate;</span></span>
|
||||||
|
<span id="L110"><span class="lineNum"> 110</span> : : }</span>
|
||||||
|
<span id="L111"><span class="lineNum"> 111</span> : : }</span>
|
||||||
|
<span id="L112"><span class="lineNum"> 112</span> [<span class="tlaGBC" title="Branch 0 was taken 3 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 62 times"> + </span>]:<span class="tlaGNC"> 65 : if (!frame)</span></span>
|
||||||
|
<span id="L113"><span class="lineNum"> 113</span> [<span class="tlaGBC" title="Branch 0 was taken 3 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 3 : throw std::runtime_error("Unresolved VAL_ frame reference.");</span></span>
|
||||||
|
<span id="L114"><span class="lineNum"> 114</span> :<span class="tlaGNC"> 62 : return frame;</span></span>
|
||||||
|
<span id="L115"><span class="lineNum"> 115</span> : : }</span>
|
||||||
|
<span id="L116"><span class="lineNum"> 116</span> : : </span>
|
||||||
|
<span id="L117"><span class="lineNum"> 117</span> :<span class="tlaGNC"> 62 : SignalInfo *FindUniqueSignal(FrameInfo &frame, const std::string &signalName) {</span></span>
|
||||||
|
<span id="L118"><span class="lineNum"> 118</span> :<span class="tlaGNC"> 62 : SignalInfo *signal = nullptr;</span></span>
|
||||||
|
<span id="L119"><span class="lineNum"> 119</span> [<span class="tlaGBC" title="Branch 0 was taken 89 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 60 times"> + </span>]:<span class="tlaGNC"> 149 : for (SignalInfo &candidate : frame.signals) {</span></span>
|
||||||
|
<span id="L120"><span class="lineNum"> 120</span> [<span class="tlaGBC" title="Branch 0 was taken 59 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 30 times"> + </span>]:<span class="tlaGNC"> 89 : if (candidate.name == signalName) {</span></span>
|
||||||
|
<span id="L121"><span class="lineNum"> 121</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 57 times"> + </span>]:<span class="tlaGNC"> 59 : if (signal)</span></span>
|
||||||
|
<span id="L122"><span class="lineNum"> 122</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 2 : throw std::runtime_error("Ambiguous VAL_ signal reference: " + signalName);</span></span>
|
||||||
|
<span id="L123"><span class="lineNum"> 123</span> :<span class="tlaGNC"> 57 : signal = &candidate;</span></span>
|
||||||
|
<span id="L124"><span class="lineNum"> 124</span> : : }</span>
|
||||||
|
<span id="L125"><span class="lineNum"> 125</span> : : }</span>
|
||||||
|
<span id="L126"><span class="lineNum"> 126</span> [<span class="tlaGBC" title="Branch 0 was taken 5 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 55 times"> + </span>]:<span class="tlaGNC"> 60 : if (!signal)</span></span>
|
||||||
|
<span id="L127"><span class="lineNum"> 127</span> [<span class="tlaGBC" title="Branch 0 was taken 5 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 5 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 5 : throw std::runtime_error("Unresolved VAL_ signal reference: " + signalName);</span></span>
|
||||||
|
<span id="L128"><span class="lineNum"> 128</span> :<span class="tlaGNC"> 55 : return signal;</span></span>
|
||||||
|
<span id="L129"><span class="lineNum"> 129</span> : : }</span>
|
||||||
|
<span id="L130"><span class="lineNum"> 130</span> : : </span>
|
||||||
|
<span id="L131"><span class="lineNum"> 131</span> :<span class="tlaGNC"> 884 : std::uint64_t NextSignalBit(std::uint64_t bit, bool isLittleEndian) {</span></span>
|
||||||
|
<span id="L132"><span class="lineNum"> 132</span> [<span class="tlaGBC" title="Branch 0 was taken 724 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 160 times"> + </span>]:<span class="tlaGNC"> 884 : if (isLittleEndian)</span></span>
|
||||||
|
<span id="L133"><span class="lineNum"> 133</span> :<span class="tlaGNC"> 724 : return bit + 1U;</span></span>
|
||||||
|
<span id="L134"><span class="lineNum"> 134</span> : : // From bit 0, Motorola continues at bit 7 of the next byte (0 -> 15).</span>
|
||||||
|
<span id="L135"><span class="lineNum"> 135</span> [<span class="tlaGBC" title="Branch 0 was taken 20 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 140 times"> + </span>]:<span class="tlaGNC"> 160 : return bit % 8U == 0U ? bit + 15U : bit - 1U;</span></span>
|
||||||
|
<span id="L136"><span class="lineNum"> 136</span> : : }</span>
|
||||||
|
<span id="L137"><span class="lineNum"> 137</span> : : </span>
|
||||||
|
<span id="L138"><span class="lineNum"> 138</span> : : FrameInfo *FindFrameById(DbcDatabase &, std::uint32_t, bool);</span>
|
||||||
|
<span id="L139"><span class="lineNum"> 139</span> : : SignalInfo *FindSignalByName(FrameInfo &, const std::string &);</span>
|
||||||
|
<span id="L140"><span class="lineNum"> 140</span> : : } // namespace</span>
|
||||||
|
<span id="L141"><span class="lineNum"> 141</span> : : </span>
|
||||||
|
<span id="L142"><span class="lineNum"> 142</span> : : namespace {</span>
|
||||||
|
<span id="L143"><span class="lineNum"> 143</span> :<span class="tlaGNC"> 317 : std::vector<std::string> SplitReceivers(const std::string &text) {</span></span>
|
||||||
|
<span id="L144"><span class="lineNum"> 144</span> :<span class="tlaGNC"> 317 : std::vector<std::string> receivers;</span></span>
|
||||||
|
<span id="L145"><span class="lineNum"> 145</span> :<span class="tlaGNC"> 317 : std::string token;</span></span>
|
||||||
|
<span id="L146"><span class="lineNum"> 146</span> [<span class="tlaGBC" title="Branch 0 was taken 317 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 317 : std::istringstream stream(text);</span></span>
|
||||||
|
<span id="L147"><span class="lineNum"> 147</span> : : </span>
|
||||||
|
<span id="L148"><span class="lineNum"> 148</span> [<span class="tlaGBC" title="Branch 0 was taken 639 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 639 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 956 : while (std::getline(stream, token, ',')) {</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 322 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 317 times"> + </span>]
|
||||||
|
<span id="L149"><span class="lineNum"> 149</span> [<span class="tlaGBC" title="Branch 0 was taken 322 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 322 : token = dbc_detail::TrimText(token);</span></span>
|
||||||
|
<span id="L150"><span class="lineNum"> 150</span> [<span class="tlaUNC" title="Branch 0 was not taken"> - </span><span class="tlaGBC" title="Branch 1 was taken 322 times"> + </span>]:<span class="tlaGNC"> 322 : if (!token.empty())</span></span>
|
||||||
|
<span id="L151"><span class="lineNum"> 151</span> [<span class="tlaGBC" title="Branch 0 was taken 322 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 322 : receivers.push_back(token);</span></span>
|
||||||
|
<span id="L152"><span class="lineNum"> 152</span> : : }</span>
|
||||||
|
<span id="L153"><span class="lineNum"> 153</span> : : </span>
|
||||||
|
<span id="L154"><span class="lineNum"> 154</span> :<span class="tlaGNC"> 317 : return receivers;</span></span>
|
||||||
|
<span id="L155"><span class="lineNum"> 155</span> :<span class="tlaGNC"> 317 : }</span></span>
|
||||||
|
<span id="L156"><span class="lineNum"> 156</span> : : </span>
|
||||||
|
<span id="L157"><span class="lineNum"> 157</span> :<span class="tlaGNC"> 803 : void NormalizeCanId(std::uint32_t rawCanId, std::uint32_t &normalizedCanId, bool &isExtended) {</span></span>
|
||||||
|
<span id="L158"><span class="lineNum"> 158</span> : : /*</span>
|
||||||
|
<span id="L159"><span class="lineNum"> 159</span> : : * DBC commonly stores extended identifiers with bit 31 set.</span>
|
||||||
|
<span id="L160"><span class="lineNum"> 160</span> : : * Example:</span>
|
||||||
|
<span id="L161"><span class="lineNum"> 161</span> : : * raw id = 0x80000000 | actual_29_bit_id</span>
|
||||||
|
<span id="L162"><span class="lineNum"> 162</span> : : */</span>
|
||||||
|
<span id="L163"><span class="lineNum"> 163</span> [<span class="tlaGBC" title="Branch 0 was taken 724 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 79 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 23 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 701 times"> + </span>]:<span class="tlaGNC"> 803 : isExtended = (rawCanId & 0x80000000U) != 0U || rawCanId > 0x7FFU;</span></span>
|
||||||
|
<span id="L164"><span class="lineNum"> 164</span> :<span class="tlaGNC"> 803 : normalizedCanId = rawCanId & 0x1FFFFFFFU;</span></span>
|
||||||
|
<span id="L165"><span class="lineNum"> 165</span> :<span class="tlaGNC"> 803 : }</span></span>
|
||||||
|
<span id="L166"><span class="lineNum"> 166</span> : : } // namespace</span>
|
||||||
|
<span id="L167"><span class="lineNum"> 167</span> : : </span>
|
||||||
|
<span id="L168"><span class="lineNum"> 168</span> :<span class="tlaGNC"> 649 : FrameInfo DbcFrameHandler::ParseFrameLine(const std::string &line) {</span></span>
|
||||||
|
<span id="L169"><span class="lineNum"> 169</span> : : /*</span>
|
||||||
|
<span id="L170"><span class="lineNum"> 170</span> : : * Example:</span>
|
||||||
|
<span id="L171"><span class="lineNum"> 171</span> : : * BO_ 256 EngineData: 8 EEC1</span>
|
||||||
|
<span id="L172"><span class="lineNum"> 172</span> : : */</span>
|
||||||
|
<span id="L173"><span class="lineNum"> 173</span> : : </span>
|
||||||
|
<span id="L174"><span class="lineNum"> 174</span> [<span class="tlaGBC" title="Branch 0 was taken 649 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 649 : std::istringstream stream(line);</span></span>
|
||||||
|
<span id="L175"><span class="lineNum"> 175</span> :<span class="tlaGNC"> 649 : std::string keyword;</span></span>
|
||||||
|
<span id="L176"><span class="lineNum"> 176</span> :<span class="tlaGNC"> 649 : std::string idText;</span></span>
|
||||||
|
<span id="L177"><span class="lineNum"> 177</span> [<span class="tlaGBC" title="Branch 0 was taken 649 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 649 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 649 : if (!(stream >> keyword >> idText) || keyword != "BO_")</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 649 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaGBC" title="Branch 6 was taken 646 times"> + </span><span class="tlaGBC" title="Branch 7 was taken 3 times"> + </span><span class="tlaGBC" title="Branch 8 was taken 646 times"> + </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaUNC" title="Branch 9 was not taken"> - </span><span class="tlaUNC" title="Branch 10 was not taken"> - </span><span class="tlaGBC" title="Branch 11 was taken 646 times"> + </span><span class="tlaGBC" title="Branch 12 was taken 3 times"> + </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 13 was taken 646 times"> + </span>]
|
||||||
|
<span id="L178"><span class="lineNum"> 178</span> [<span class="tlaGBC" title="Branch 0 was taken 3 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 3 : throw std::runtime_error("Missing CAN ID in frame definition.");</span></span>
|
||||||
|
<span id="L179"><span class="lineNum"> 179</span> : : </span>
|
||||||
|
<span id="L180"><span class="lineNum"> 180</span> [<span class="tlaGBC" title="Branch 0 was taken 628 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 18 times"> + </span>]:<span class="tlaGNC"> 646 : const std::uint32_t rawCanId = ParseCanId(idText);</span></span>
|
||||||
|
<span id="L181"><span class="lineNum"> 181</span> : : </span>
|
||||||
|
<span id="L182"><span class="lineNum"> 182</span> :<span class="tlaGNC"> 628 : std::string nameText;</span></span>
|
||||||
|
<span id="L183"><span class="lineNum"> 183</span> [<span class="tlaGBC" title="Branch 0 was taken 628 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 628 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 628 : if (!std::getline(stream, nameText, ':') || stream.eof())</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 627 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 1 time"> + </span><span class="tlaGBC" title="Branch 6 was taken 627 times"> + </span><span class="tlaUNC" title="Branch 7 was not taken"> - </span><span class="tlaGBC" title="Branch 8 was taken 1 time"> + </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 9 was taken 626 times"> + </span><span class="tlaGBC" title="Branch 10 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 11 was taken 626 times"> + </span>]
|
||||||
|
<span id="L184"><span class="lineNum"> 184</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2 : throw std::runtime_error("Missing ':' in frame definition.");</span></span>
|
||||||
|
<span id="L185"><span class="lineNum"> 185</span> [<span class="tlaGBC" title="Branch 0 was taken 626 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 626 : std::istringstream nameStream(nameText);</span></span>
|
||||||
|
<span id="L186"><span class="lineNum"> 186</span> :<span class="tlaGNC"> 626 : FrameInfo frame;</span></span>
|
||||||
|
<span id="L187"><span class="lineNum"> 187</span> :<span class="tlaGNC"> 626 : std::string extra;</span></span>
|
||||||
|
<span id="L188"><span class="lineNum"> 188</span> [<span class="tlaGBC" title="Branch 0 was taken 626 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 626 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 626 : if (!(nameStream >> frame.name) || (nameStream >> extra))</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 625 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 1 time"> + </span><span class="tlaGBC" title="Branch 6 was taken 625 times"> + </span><span class="tlaUNC" title="Branch 7 was not taken"> - </span><span class="tlaGBC" title="Branch 8 was taken 625 times"> + </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaUNC" title="Branch 9 was not taken"> - </span><span class="tlaGBC" title="Branch 10 was taken 1 time"> + </span><span class="tlaGBC" title="Branch 11 was taken 624 times"> + </span><span class="tlaGBC" title="Branch 12 was taken 2 times"> + </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 13 was taken 624 times"> + </span>]
|
||||||
|
<span id="L189"><span class="lineNum"> 189</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2 : throw std::runtime_error("Missing or invalid frame name.");</span></span>
|
||||||
|
<span id="L190"><span class="lineNum"> 190</span> : : </span>
|
||||||
|
<span id="L191"><span class="lineNum"> 191</span> :<span class="tlaGNC"> 624 : std::string lengthText;</span></span>
|
||||||
|
<span id="L192"><span class="lineNum"> 192</span> [<span class="tlaGBC" title="Branch 0 was taken 624 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 624 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 624 : if (!(stream >> lengthText))</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 1 time"> + </span><span class="tlaGBC" title="Branch 5 was taken 623 times"> + </span>]
|
||||||
|
<span id="L193"><span class="lineNum"> 193</span> [<span class="tlaGBC" title="Branch 0 was taken 1 time"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 1 : throw std::runtime_error("Missing payload length in frame definition.");</span></span>
|
||||||
|
<span id="L194"><span class="lineNum"> 194</span> [<span class="tlaGBC" title="Branch 0 was taken 617 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 6 times"> + </span>]:<span class="tlaGNC"> 623 : frame.dlc = static_cast<std::uint8_t>(ParseDecimal(</span></span>
|
||||||
|
<span id="L195"><span class="lineNum"> 195</span> :<span class="tlaGNC"> 623 : lengthText, std::numeric_limits<std::uint8_t>::max(), "payload length"));</span></span>
|
||||||
|
<span id="L196"><span class="lineNum"> 196</span> [<span class="tlaGBC" title="Branch 0 was taken 617 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 617 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 617 : if (!(stream >> frame.transmitter))</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 1 time"> + </span><span class="tlaGBC" title="Branch 5 was taken 616 times"> + </span>]
|
||||||
|
<span id="L197"><span class="lineNum"> 197</span> [<span class="tlaGBC" title="Branch 0 was taken 1 time"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 1 : throw std::runtime_error("Missing transmitter in frame definition.");</span></span>
|
||||||
|
<span id="L198"><span class="lineNum"> 198</span> [<span class="tlaGBC" title="Branch 0 was taken 616 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 616 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 616 : if (stream >> extra)</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 1 time"> + </span><span class="tlaGBC" title="Branch 5 was taken 615 times"> + </span>]
|
||||||
|
<span id="L199"><span class="lineNum"> 199</span> [<span class="tlaGBC" title="Branch 0 was taken 1 time"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 1 time"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 1 : throw std::runtime_error("Unexpected trailing field in frame definition: " + extra);</span></span>
|
||||||
|
<span id="L200"><span class="lineNum"> 200</span> : : </span>
|
||||||
|
<span id="L201"><span class="lineNum"> 201</span> :<span class="tlaGNC"> 615 : NormalizeCanId(rawCanId, frame.canId, frame.isExtended);</span></span>
|
||||||
|
<span id="L202"><span class="lineNum"> 202</span> : : </span>
|
||||||
|
<span id="L203"><span class="lineNum"> 203</span> :<span class="tlaGNC"> 615 : return frame;</span></span>
|
||||||
|
<span id="L204"><span class="lineNum"> 204</span> :<span class="tlaGNC"> 772 : }</span></span>
|
||||||
|
<span id="L205"><span class="lineNum"> 205</span> : : </span>
|
||||||
|
<span id="L206"><span class="lineNum"> 206</span> :<span class="tlaGNC"> 521 : SignalInfo DbcSignalHandler::ParseSignalLine(const std::string &line) {</span></span>
|
||||||
|
<span id="L207"><span class="lineNum"> 207</span> : : // Match the complete statement before converting any numeric fields.</span>
|
||||||
|
<span id="L208"><span class="lineNum"> 208</span> : : enum Field {</span>
|
||||||
|
<span id="L209"><span class="lineNum"> 209</span> : : NameAndMarker = 1, StartBit, BitLength, ByteOrder, Signedness,</span>
|
||||||
|
<span id="L210"><span class="lineNum"> 210</span> : : Factor, Offset, Minimum, Maximum, Unit, Receivers</span>
|
||||||
|
<span id="L211"><span class="lineNum"> 211</span> : : };</span>
|
||||||
|
<span id="L212"><span class="lineNum"> 212</span> : : static const std::regex syntax(</span>
|
||||||
|
<span id="L213"><span class="lineNum"> 213</span> : : // Name and optional multiplexing marker.</span>
|
||||||
|
<span id="L214"><span class="lineNum"> 214</span> : : R"dbc(^SG_[ \t]+([^:]+):[ \t]*)dbc"</span>
|
||||||
|
<span id="L215"><span class="lineNum"> 215</span> : : // Bit position, length, byte order and signedness.</span>
|
||||||
|
<span id="L216"><span class="lineNum"> 216</span> : : R"dbc(([^| \t]+)[ \t]*\|[ \t]*([^@ \t]+)[ \t]*@[ \t]*([01])([+-])[ \t]*)dbc"</span>
|
||||||
|
<span id="L217"><span class="lineNum"> 217</span> : : // Scaling factor and offset.</span>
|
||||||
|
<span id="L218"><span class="lineNum"> 218</span> : : R"dbc(\([ \t]*([^, \t]+)[ \t]*,[ \t]*([^ )\t]+)[ \t]*\)[ \t]*)dbc"</span>
|
||||||
|
<span id="L219"><span class="lineNum"> 219</span> : : // Physical range.</span>
|
||||||
|
<span id="L220"><span class="lineNum"> 220</span> : : R"dbc(\[[ \t]*([^| \t]+)[ \t]*\|[ \t]*([^\] \t]+)[ \t]*\][ \t]*)dbc"</span>
|
||||||
|
<span id="L221"><span class="lineNum"> 221</span> : : // Unit and receivers.</span>
|
||||||
|
<span id="L222"><span class="lineNum"> 222</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 519 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 521 : R"dbc("([^"\r\n]*)"[ \t]+([^ \t,]+(?:[ \t]*,[ \t]*[^ \t,]+)*)[ \t]*$)dbc");</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaUNC" title="Branch 6 was not taken"> - </span><span class="tlaUNC" title="Branch 7 was not taken"> - </span>]
|
||||||
|
<span id="L223"><span class="lineNum"> 223</span> :<span class="tlaGNC"> 521 : std::smatch fields;</span></span>
|
||||||
|
<span id="L224"><span class="lineNum"> 224</span> [<span class="tlaGBC" title="Branch 0 was taken 521 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 23 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 498 times"> + </span>]:<span class="tlaGNC"> 521 : if (!std::regex_match(line, fields, syntax))</span></span>
|
||||||
|
<span id="L225"><span class="lineNum"> 225</span> [<span class="tlaGBC" title="Branch 0 was taken 23 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 23 : throw std::runtime_error("Malformed or unsupported SG_ signal definition.");</span></span>
|
||||||
|
<span id="L226"><span class="lineNum"> 226</span> : : </span>
|
||||||
|
<span id="L227"><span class="lineNum"> 227</span> :<span class="tlaGNC"> 498 : SignalInfo signal;</span></span>
|
||||||
|
<span id="L228"><span class="lineNum"> 228</span> [<span class="tlaGBC" title="Branch 0 was taken 498 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 498 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 498 : std::istringstream nameFields(fields[NameAndMarker].str());</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 498 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span>]
|
||||||
|
<span id="L229"><span class="lineNum"> 229</span> :<span class="tlaGNC"> 498 : std::string marker;</span></span>
|
||||||
|
<span id="L230"><span class="lineNum"> 230</span> :<span class="tlaGNC"> 498 : std::string extra;</span></span>
|
||||||
|
<span id="L231"><span class="lineNum"> 231</span> [<span class="tlaGBC" title="Branch 0 was taken 498 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 498 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 498 : nameFields >> signal.name >> marker;</span></span>
|
||||||
|
<span id="L232"><span class="lineNum"> 232</span> [<span class="tlaGBC" title="Branch 0 was taken 497 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 1 time"> + </span><span class="tlaGBC" title="Branch 2 was taken 497 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 498 : if (signal.name.empty() || (nameFields >> extra))</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 497 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaGBC" title="Branch 6 was taken 1 time"> + </span><span class="tlaGBC" title="Branch 7 was taken 496 times"> + </span><span class="tlaGBC" title="Branch 8 was taken 2 times"> + </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 9 was taken 496 times"> + </span>]
|
||||||
|
<span id="L233"><span class="lineNum"> 233</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2 : throw std::runtime_error("Invalid signal name or multiplexing marker.");</span></span>
|
||||||
|
<span id="L234"><span class="lineNum"> 234</span> [<span class="tlaGBC" title="Branch 0 was taken 488 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 8 times"> + </span>]:<span class="tlaGNC"> 496 : signal.multiplexing = ParseMultiplexingMarker(marker);</span></span>
|
||||||
|
<span id="L235"><span class="lineNum"> 235</span> : : </span>
|
||||||
|
<span id="L236"><span class="lineNum"> 236</span> [<span class="tlaGBC" title="Branch 0 was taken 488 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 488 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 495 : signal.startBit = ParseDecimal(fields[StartBit].str(),</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 481 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 7 times"> + </span>]
|
||||||
|
<span id="L237"><span class="lineNum"> 237</span> : : std::numeric_limits<std::uint32_t>::max(), "signal start bit");</span>
|
||||||
|
<span id="L238"><span class="lineNum"> 238</span> [<span class="tlaGBC" title="Branch 0 was taken 481 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 481 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 489 : signal.length = ParseDecimal(fields[BitLength].str(), 64U, "signal length");</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 473 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 8 times"> + </span>]
|
||||||
|
<span id="L239"><span class="lineNum"> 239</span> [<span class="tlaGBC" title="Branch 0 was taken 1 time"> + </span><span class="tlaGBC" title="Branch 1 was taken 472 times"> + </span>]:<span class="tlaGNC"> 473 : if (signal.length == 0U)</span></span>
|
||||||
|
<span id="L240"><span class="lineNum"> 240</span> [<span class="tlaGBC" title="Branch 0 was taken 1 time"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 1 : throw std::runtime_error("Signal length must be within 1..64 bits.");</span></span>
|
||||||
|
<span id="L241"><span class="lineNum"> 241</span> [<span class="tlaGBC" title="Branch 0 was taken 472 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 472 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 472 : signal.isLittleEndian = fields[ByteOrder].str() == "1";</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 472 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span>]
|
||||||
|
<span id="L242"><span class="lineNum"> 242</span> [<span class="tlaGBC" title="Branch 0 was taken 472 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 472 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 472 : signal.isSigned = fields[Signedness].str() == "-";</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 472 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span>]
|
||||||
|
<span id="L243"><span class="lineNum"> 243</span> : : </span>
|
||||||
|
<span id="L244"><span class="lineNum"> 244</span> [<span class="tlaGBC" title="Branch 0 was taken 472 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 472 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 504 : signal.factor = ParsePhysicalValue(fields[Factor].str(), "signal factor");</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 440 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 32 times"> + </span>]
|
||||||
|
<span id="L245"><span class="lineNum"> 245</span> [<span class="tlaGBC" title="Branch 0 was taken 440 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 440 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 484 : signal.offset = ParsePhysicalValue(fields[Offset].str(), "signal offset");</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 396 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 44 times"> + </span>]
|
||||||
|
<span id="L246"><span class="lineNum"> 246</span> [<span class="tlaGBC" title="Branch 0 was taken 396 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 396 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 434 : signal.minimum = ParsePhysicalValue(fields[Minimum].str(), "signal minimum");</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 358 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 38 times"> + </span>]
|
||||||
|
<span id="L247"><span class="lineNum"> 247</span> [<span class="tlaGBC" title="Branch 0 was taken 358 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 358 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 396 : signal.maximum = ParsePhysicalValue(fields[Maximum].str(), "signal maximum");</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 320 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 38 times"> + </span>]
|
||||||
|
<span id="L248"><span class="lineNum"> 248</span> [<span class="tlaGBC" title="Branch 0 was taken 3 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 317 times"> + </span>]:<span class="tlaGNC"> 320 : if (signal.minimum > signal.maximum)</span></span>
|
||||||
|
<span id="L249"><span class="lineNum"> 249</span> [<span class="tlaGBC" title="Branch 0 was taken 3 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 3 : throw std::runtime_error("Signal minimum exceeds maximum.");</span></span>
|
||||||
|
<span id="L250"><span class="lineNum"> 250</span> [<span class="tlaGBC" title="Branch 0 was taken 317 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 317 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 317 : signal.unit = fields[Unit].str();</span></span>
|
||||||
|
<span id="L251"><span class="lineNum"> 251</span> [<span class="tlaGBC" title="Branch 0 was taken 317 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 317 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 317 : signal.receivers = SplitReceivers(fields[Receivers].str());</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 317 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span>]
|
||||||
|
<span id="L252"><span class="lineNum"> 252</span> :<span class="tlaGNC"> 317 : return signal;</span></span>
|
||||||
|
<span id="L253"><span class="lineNum"> 253</span> :<span class="tlaGNC"> 1245 : }</span></span>
|
||||||
|
<span id="L254"><span class="lineNum"> 254</span> : : </span>
|
||||||
|
<span id="L255"><span class="lineNum"> 255</span> : : </span>
|
||||||
|
<span id="L256"><span class="lineNum"> 256</span> : : namespace {</span>
|
||||||
|
<span id="L257"><span class="lineNum"> 257</span> :<span class="tlaGNC"> 698 : FrameInfo *FindFrameById(DbcDatabase &database,</span></span>
|
||||||
|
<span id="L258"><span class="lineNum"> 258</span> : : std::uint32_t canId,</span>
|
||||||
|
<span id="L259"><span class="lineNum"> 259</span> : : bool isExtended) {</span>
|
||||||
|
<span id="L260"><span class="lineNum"> 260</span> [<span class="tlaGBC" title="Branch 0 was taken 144 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 613 times"> + </span>]:<span class="tlaGNC"> 757 : for (FrameInfo &frame : database.frames) {</span></span>
|
||||||
|
<span id="L261"><span class="lineNum"> 261</span> [<span class="tlaGBC" title="Branch 0 was taken 109 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 35 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 85 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 24 times"> + </span>]:<span class="tlaGNC"> 144 : if (frame.canId == canId && frame.isExtended == isExtended)</span></span>
|
||||||
|
<span id="L262"><span class="lineNum"> 262</span> :<span class="tlaGNC"> 85 : return &frame;</span></span>
|
||||||
|
<span id="L263"><span class="lineNum"> 263</span> : : }</span>
|
||||||
|
<span id="L264"><span class="lineNum"> 264</span> : : </span>
|
||||||
|
<span id="L265"><span class="lineNum"> 265</span> :<span class="tlaGNC"> 613 : return nullptr;</span></span>
|
||||||
|
<span id="L266"><span class="lineNum"> 266</span> : : }</span>
|
||||||
|
<span id="L267"><span class="lineNum"> 267</span> : : </span>
|
||||||
|
<span id="L268"><span class="lineNum"> 268</span> :<span class="tlaGNC"> 364 : SignalInfo *FindSignalByName(FrameInfo &frame, const std::string &signalName) {</span></span>
|
||||||
|
<span id="L269"><span class="lineNum"> 269</span> [<span class="tlaGBC" title="Branch 0 was taken 126 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 315 times"> + </span>]:<span class="tlaGNC"> 441 : for (SignalInfo &signal : frame.signals) {</span></span>
|
||||||
|
<span id="L270"><span class="lineNum"> 270</span> [<span class="tlaGBC" title="Branch 0 was taken 49 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 77 times"> + </span>]:<span class="tlaGNC"> 126 : if (signal.name == signalName)</span></span>
|
||||||
|
<span id="L271"><span class="lineNum"> 271</span> :<span class="tlaGNC"> 49 : return &signal;</span></span>
|
||||||
|
<span id="L272"><span class="lineNum"> 272</span> : : }</span>
|
||||||
|
<span id="L273"><span class="lineNum"> 273</span> : : </span>
|
||||||
|
<span id="L274"><span class="lineNum"> 274</span> :<span class="tlaGNC"> 315 : return nullptr;</span></span>
|
||||||
|
<span id="L275"><span class="lineNum"> 275</span> : : }</span>
|
||||||
|
<span id="L276"><span class="lineNum"> 276</span> : : }// namespace</span>
|
||||||
|
<span id="L277"><span class="lineNum"> 277</span> : : </span>
|
||||||
|
<span id="L278"><span class="lineNum"> 278</span> :<span class="tlaGNC"> 649 : void DbcFrameHandler::Handle(const std::string &line, DbcParseContext &context) const {</span></span>
|
||||||
|
<span id="L279"><span class="lineNum"> 279</span> [<span class="tlaGBC" title="Branch 0 was taken 615 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 34 times"> + </span>]:<span class="tlaGNC"> 649 : FrameInfo frame = ParseFrameLine(line);</span></span>
|
||||||
|
<span id="L280"><span class="lineNum"> 280</span> [<span class="tlaGBC" title="Branch 0 was taken 31 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 584 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 27 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 4 times"> + </span>]:<span class="tlaGNC"> 615 : if (context.enableJ1939 && frame.isExtended) {</span></span>
|
||||||
|
<span id="L281"><span class="lineNum"> 281</span> :<span class="tlaGNC"> 27 : frame.hasPgn = true;</span></span>
|
||||||
|
<span id="L282"><span class="lineNum"> 282</span> :<span class="tlaGNC"> 27 : frame.pgn = ExtractJ1939Pgn(frame.canId);</span></span>
|
||||||
|
<span id="L283"><span class="lineNum"> 283</span> : : }</span>
|
||||||
|
<span id="L284"><span class="lineNum"> 284</span> [<span class="tlaGBC" title="Branch 0 was taken 8 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 607 times"> + </span>]:<span class="tlaGNC"> 615 : if (FindFrameById(context.database, frame.canId, frame.isExtended) != nullptr)</span></span>
|
||||||
|
<span id="L285"><span class="lineNum"> 285</span> [<span class="tlaGBC" title="Branch 0 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 8 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 16 : throw std::runtime_error("Duplicate " + std::string(frame.isExtended ? "extended" : "standard") +</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 8 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span>]
|
||||||
|
<span id="L286"><span class="lineNum"> 286</span> [<span class="tlaGBC" title="Branch 0 was taken 8 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 8 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 24 : " frame CAN ID: " + std::to_string(frame.canId));</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 8 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span>]
|
||||||
|
<span id="L287"><span class="lineNum"> 287</span> [<span class="tlaGBC" title="Branch 0 was taken 607 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 607 : context.database.frames.push_back(std::move(frame));</span></span>
|
||||||
|
<span id="L288"><span class="lineNum"> 288</span> :<span class="tlaGNC"> 607 : context.currentFrame = &context.database.frames.back();</span></span>
|
||||||
|
<span id="L289"><span class="lineNum"> 289</span> [<span class="tlaGBC" title="Branch 0 was taken 607 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 607 : context.signalLines.emplace_back();</span></span>
|
||||||
|
<span id="L290"><span class="lineNum"> 290</span> :<span class="tlaGNC"> 615 : }</span></span>
|
||||||
|
<span id="L291"><span class="lineNum"> 291</span> : : </span>
|
||||||
|
<span id="L292"><span class="lineNum"> 292</span> :<span class="tlaGNC"> 526 : void DbcSignalHandler::Handle(const std::string &line, DbcParseContext &context) const {</span></span>
|
||||||
|
<span id="L293"><span class="lineNum"> 293</span> [<span class="tlaGBC" title="Branch 0 was taken 5 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 521 times"> + </span>]:<span class="tlaGNC"> 526 : if (context.currentFrame == nullptr)</span></span>
|
||||||
|
<span id="L294"><span class="lineNum"> 294</span> [<span class="tlaGBC" title="Branch 0 was taken 5 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 5 : throw std::runtime_error("Signal found before any frame definition.");</span></span>
|
||||||
|
<span id="L295"><span class="lineNum"> 295</span> [<span class="tlaGBC" title="Branch 0 was taken 317 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 204 times"> + </span>]:<span class="tlaGNC"> 521 : SignalInfo signal = ParseSignalLine(line);</span></span>
|
||||||
|
<span id="L296"><span class="lineNum"> 296</span> [<span class="tlaGBC" title="Branch 0 was taken 6 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 311 times"> + </span>]:<span class="tlaGNC"> 317 : if (FindSignalByName(*context.currentFrame, signal.name) != nullptr)</span></span>
|
||||||
|
<span id="L297"><span class="lineNum"> 297</span> :<span class="tlaGNC"> 6 : throw std::runtime_error("Duplicate signal name '" + signal.name +</span></span>
|
||||||
|
<span id="L298"><span class="lineNum"> 298</span> [<span class="tlaGBC" title="Branch 0 was taken 6 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 6 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 12 : "' in frame '" + context.currentFrame->name + "'.");</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 6 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaGBC" title="Branch 6 was taken 6 times"> + </span><span class="tlaUNC" title="Branch 7 was not taken"> - </span><span class="tlaGBC" title="Branch 8 was taken 6 times"> + </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaUNC" title="Branch 9 was not taken"> - </span>]
|
||||||
|
<span id="L299"><span class="lineNum"> 299</span> [<span class="tlaGBC" title="Branch 0 was taken 7 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 304 times"> + </span>]:<span class="tlaGNC"> 311 : if (!IsValidSignalLayout(signal.startBit, signal.length, signal.isLittleEndian,</span></span>
|
||||||
|
<span id="L300"><span class="lineNum"> 300</span> :<span class="tlaGNC"> 311 : context.currentFrame->dlc))</span></span>
|
||||||
|
<span id="L301"><span class="lineNum"> 301</span> [<span class="tlaGBC" title="Branch 0 was taken 7 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 7 : throw std::runtime_error("Signal exceeds the frame payload length.");</span></span>
|
||||||
|
<span id="L302"><span class="lineNum"> 302</span> [<span class="tlaGBC" title="Branch 0 was taken 304 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 304 : context.currentFrame->signals.push_back(std::move(signal));</span></span>
|
||||||
|
<span id="L303"><span class="lineNum"> 303</span> [<span class="tlaGBC" title="Branch 0 was taken 304 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 304 : context.signalLines.back().push_back(context.lineNumber);</span></span>
|
||||||
|
<span id="L304"><span class="lineNum"> 304</span> :<span class="tlaGNC"> 317 : }</span></span>
|
||||||
|
<span id="L305"><span class="lineNum"> 305</span> : : </span>
|
||||||
|
<span id="L306"><span class="lineNum"> 306</span> :<span class="tlaGNC"> 149 : void DbcCommentHandler::Handle(const std::string &line, DbcParseContext &context) const {</span></span>
|
||||||
|
<span id="L307"><span class="lineNum"> 307</span> [<span class="tlaGBC" title="Branch 0 was taken 149 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 149 : std::istringstream stream(line);</span></span>
|
||||||
|
<span id="L308"><span class="lineNum"> 308</span> :<span class="tlaGNC"> 149 : std::string keyword;</span></span>
|
||||||
|
<span id="L309"><span class="lineNum"> 309</span> :<span class="tlaGNC"> 149 : std::string target;</span></span>
|
||||||
|
<span id="L310"><span class="lineNum"> 310</span> [<span class="tlaGBC" title="Branch 0 was taken 149 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 149 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 149 : stream >> keyword >> target;</span></span>
|
||||||
|
<span id="L311"><span class="lineNum"> 311</span> [<span class="tlaGBC" title="Branch 0 was taken 149 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 145 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 4 times"> + </span> :<span class="tlaGNC"> 149 : if (keyword != "CM_" || (target != "BO_" && target != "SG_"))</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 145 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaGBC" title="Branch 6 was taken 78 times"> + </span><span class="tlaGBC" title="Branch 7 was taken 67 times"> + </span><span class="tlaGBC" title="Branch 8 was taken 78 times"> + </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaUNC" title="Branch 9 was not taken"> - </span><span class="tlaGBC" title="Branch 10 was taken 5 times"> + </span><span class="tlaGBC" title="Branch 11 was taken 73 times"> + </span><span class="tlaGBC" title="Branch 12 was taken 9 times"> + </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 13 was taken 140 times"> + </span>]
|
||||||
|
<span id="L312"><span class="lineNum"> 312</span> :<span class="tlaGNC"> 9 : return;</span></span>
|
||||||
|
<span id="L313"><span class="lineNum"> 313</span> : : </span>
|
||||||
|
<span id="L314"><span class="lineNum"> 314</span> :<span class="tlaGNC"> 140 : PendingComment pending;</span></span>
|
||||||
|
<span id="L315"><span class="lineNum"> 315</span> [<span class="tlaGBC" title="Branch 0 was taken 140 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 140 : pending.isSignal = target == "SG_";</span></span>
|
||||||
|
<span id="L316"><span class="lineNum"> 316</span> :<span class="tlaGNC"> 140 : pending.lineNumber = context.lineNumber;</span></span>
|
||||||
|
<span id="L317"><span class="lineNum"> 317</span> :<span class="tlaGNC"> 140 : std::string idText;</span></span>
|
||||||
|
<span id="L318"><span class="lineNum"> 318</span> [<span class="tlaGBC" title="Branch 0 was taken 140 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 140 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 140 : if (!(stream >> idText))</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 138 times"> + </span>]
|
||||||
|
<span id="L319"><span class="lineNum"> 319</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2 : throw std::runtime_error("Missing CAN ID in CM_ statement.");</span></span>
|
||||||
|
<span id="L320"><span class="lineNum"> 320</span> [<span class="tlaGBC" title="Branch 0 was taken 102 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 36 times"> + </span>]:<span class="tlaGNC"> 138 : NormalizeCanId(ParseCanId(idText), pending.canId, pending.isExtended);</span></span>
|
||||||
|
<span id="L321"><span class="lineNum"> 321</span> [<span class="tlaGBC" title="Branch 0 was taken 55 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 47 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 55 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 157 : if (pending.isSignal && (!(stream >> pending.signalName) ||</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 55 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaGBC" title="Branch 6 was taken 55 times"> + </span><span class="tlaUNC" title="Branch 7 was not taken"> - </span><span class="tlaGBC" title="Branch 8 was taken 2 times"> + </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 9 was taken 53 times"> + </span><span class="tlaGBC" title="Branch 10 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 11 was taken 100 times"> + </span>]
|
||||||
|
<span id="L322"><span class="lineNum"> 322</span> :<span class="tlaGNC"> 55 : pending.signalName.find_first_of("\";") != std::string::npos))</span></span>
|
||||||
|
<span id="L323"><span class="lineNum"> 323</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2 : throw std::runtime_error("Missing or invalid signal name in CM_ statement.");</span></span>
|
||||||
|
<span id="L324"><span class="lineNum"> 324</span> : : </span>
|
||||||
|
<span id="L325"><span class="lineNum"> 325</span> [<span class="tlaGBC" title="Branch 0 was taken 100 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 100 : stream >> std::ws;</span></span>
|
||||||
|
<span id="L326"><span class="lineNum"> 326</span> [<span class="tlaGBC" title="Branch 0 was taken 100 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 96 times"> + </span>]:<span class="tlaGNC"> 100 : if (stream.get() != '"')</span></span>
|
||||||
|
<span id="L327"><span class="lineNum"> 327</span> [<span class="tlaGBC" title="Branch 0 was taken 4 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 4 : throw std::runtime_error("Missing opening quote in CM_ statement.");</span></span>
|
||||||
|
<span id="L328"><span class="lineNum"> 328</span> :<span class="tlaGNC"> 96 : bool closed = false;</span></span>
|
||||||
|
<span id="L329"><span class="lineNum"> 329</span> : : char character;</span>
|
||||||
|
<span id="L330"><span class="lineNum"> 330</span> [<span class="tlaGBC" title="Branch 0 was taken 1096 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 1096 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 1096 : while (stream.get(character)) {</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 1094 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 2 times"> + </span>]
|
||||||
|
<span id="L331"><span class="lineNum"> 331</span> [<span class="tlaGBC" title="Branch 0 was taken 90 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 1004 times"> + </span>]:<span class="tlaGNC"> 1094 : if (character == '"') {</span></span>
|
||||||
|
<span id="L332"><span class="lineNum"> 332</span> :<span class="tlaGNC"> 90 : closed = true;</span></span>
|
||||||
|
<span id="L333"><span class="lineNum"> 333</span> :<span class="tlaGNC"> 90 : break;</span></span>
|
||||||
|
<span id="L334"><span class="lineNum"> 334</span> : : }</span>
|
||||||
|
<span id="L335"><span class="lineNum"> 335</span> [<span class="tlaGBC" title="Branch 0 was taken 7 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 997 times"> + </span>]:<span class="tlaGNC"> 1004 : if (character == '\\') {</span></span>
|
||||||
|
<span id="L336"><span class="lineNum"> 336</span> [<span class="tlaGBC" title="Branch 0 was taken 7 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 7 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 7 : if (!stream.get(character) || (character != '"' && character != '\\'))</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 5 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 6 was taken 3 times"> + </span><span class="tlaGBC" title="Branch 7 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 8 was taken 2 times"> + </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 9 was taken 1 time"> + </span><span class="tlaGBC" title="Branch 10 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 11 was taken 3 times"> + </span>]
|
||||||
|
<span id="L337"><span class="lineNum"> 337</span> [<span class="tlaGBC" title="Branch 0 was taken 4 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 4 : throw std::runtime_error("Invalid escape in CM_ statement.");</span></span>
|
||||||
|
<span id="L338"><span class="lineNum"> 338</span> : : }</span>
|
||||||
|
<span id="L339"><span class="lineNum"> 339</span> [<span class="tlaGBC" title="Branch 0 was taken 1000 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 1000 : pending.comment += character;</span></span>
|
||||||
|
<span id="L340"><span class="lineNum"> 340</span> : : }</span>
|
||||||
|
<span id="L341"><span class="lineNum"> 341</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 90 times"> + </span>]:<span class="tlaGNC"> 92 : if (!closed)</span></span>
|
||||||
|
<span id="L342"><span class="lineNum"> 342</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2 : throw std::runtime_error("Unterminated CM_ comment.");</span></span>
|
||||||
|
<span id="L343"><span class="lineNum"> 343</span> [<span class="tlaGBC" title="Branch 0 was taken 90 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 90 : stream >> std::ws;</span></span>
|
||||||
|
<span id="L344"><span class="lineNum"> 344</span> [<span class="tlaGBC" title="Branch 0 was taken 90 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 86 times"> + </span>]:<span class="tlaGNC"> 90 : if (stream.get() != ';')</span></span>
|
||||||
|
<span id="L345"><span class="lineNum"> 345</span> [<span class="tlaGBC" title="Branch 0 was taken 4 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 4 : throw std::runtime_error("Missing semicolon in CM_ statement.");</span></span>
|
||||||
|
<span id="L346"><span class="lineNum"> 346</span> [<span class="tlaGBC" title="Branch 0 was taken 86 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 86 : stream >> std::ws;</span></span>
|
||||||
|
<span id="L347"><span class="lineNum"> 347</span> [<span class="tlaGBC" title="Branch 0 was taken 86 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 84 times"> + </span>]:<span class="tlaGNC"> 86 : if (!stream.eof())</span></span>
|
||||||
|
<span id="L348"><span class="lineNum"> 348</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2 : throw std::runtime_error("Unexpected trailing text in CM_ statement.");</span></span>
|
||||||
|
<span id="L349"><span class="lineNum"> 349</span> [<span class="tlaGBC" title="Branch 0 was taken 84 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 84 : context.pendingComments.push_back(std::move(pending));</span></span>
|
||||||
|
<span id="L350"><span class="lineNum"> 350</span> [<span class="tlaGBC" title="Branch 0 was taken 84 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 9 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 84 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 9 times"> + </span> :<span class="tlaGNC"> 391 : }</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 84 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 9 times"> + </span>]
|
||||||
|
<span id="L351"><span class="lineNum"> 351</span> : : </span>
|
||||||
|
<span id="L352"><span class="lineNum"> 352</span> :<span class="tlaGNC"> 597 : void DbcParseContext::ResolveComments(const std::string &filePath) {</span></span>
|
||||||
|
<span id="L353"><span class="lineNum"> 353</span> [<span class="tlaGBC" title="Branch 0 was taken 83 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 587 times"> + </span>]:<span class="tlaGNC"> 670 : for (const PendingComment &pending: pendingComments) {</span></span>
|
||||||
|
<span id="L354"><span class="lineNum"> 354</span> :<span class="tlaGNC"> 83 : FrameInfo *frame = FindFrameById(database, pending.canId, pending.isExtended);</span></span>
|
||||||
|
<span id="L355"><span class="lineNum"> 355</span> [<span class="tlaGBC" title="Branch 0 was taken 6 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 77 times"> + </span>]:<span class="tlaGNC"> 83 : if (!frame)</span></span>
|
||||||
|
<span id="L356"><span class="lineNum"> 356</span> : : throw DbcDiagnosticError(DbcDiagnosticCode::InvalidStatement, filePath,</span>
|
||||||
|
<span id="L357"><span class="lineNum"> 357</span> [<span class="tlaGBC" title="Branch 0 was taken 6 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 6 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 18 : pending.lineNumber, "Unresolved CM_ frame reference.");</span></span>
|
||||||
|
<span id="L358"><span class="lineNum"> 358</span> [<span class="tlaGBC" title="Branch 0 was taken 47 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 30 times"> + </span>]:<span class="tlaGNC"> 77 : if (pending.isSignal) {</span></span>
|
||||||
|
<span id="L359"><span class="lineNum"> 359</span> :<span class="tlaGNC"> 47 : SignalInfo *signal = FindSignalByName(*frame, pending.signalName);</span></span>
|
||||||
|
<span id="L360"><span class="lineNum"> 360</span> [<span class="tlaGBC" title="Branch 0 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 43 times"> + </span>]:<span class="tlaGNC"> 47 : if (!signal)</span></span>
|
||||||
|
<span id="L361"><span class="lineNum"> 361</span> : : throw DbcDiagnosticError(DbcDiagnosticCode::InvalidStatement, filePath,</span>
|
||||||
|
<span id="L362"><span class="lineNum"> 362</span> [<span class="tlaGBC" title="Branch 0 was taken 4 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 4 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 4 : pending.lineNumber, "Unresolved CM_ signal reference: " + pending.signalName);</span></span>
|
||||||
|
<span id="L363"><span class="lineNum"> 363</span> [<span class="tlaGBC" title="Branch 0 was taken 43 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 43 : signal->comment = pending.comment;</span></span>
|
||||||
|
<span id="L364"><span class="lineNum"> 364</span> : : } else {</span>
|
||||||
|
<span id="L365"><span class="lineNum"> 365</span> [<span class="tlaGBC" title="Branch 0 was taken 30 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 30 : frame->comment = pending.comment;</span></span>
|
||||||
|
<span id="L366"><span class="lineNum"> 366</span> : : }</span>
|
||||||
|
<span id="L367"><span class="lineNum"> 367</span> : : }</span>
|
||||||
|
<span id="L368"><span class="lineNum"> 368</span> :<span class="tlaGNC"> 587 : }</span></span>
|
||||||
|
<span id="L369"><span class="lineNum"> 369</span> : : </span>
|
||||||
|
<span id="L370"><span class="lineNum"> 370</span> :<span class="tlaGNC"> 949 : DbcStatementDispatcher::DbcStatementDispatcher() {</span></span>
|
||||||
|
<span id="L371"><span class="lineNum"> 371</span> [<span class="tlaGBC" title="Branch 0 was taken 949 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 949 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 1898 : RegisterType<DbcHeaderHandler>("VERSION");</span></span>
|
||||||
|
<span id="L372"><span class="lineNum"> 372</span> [<span class="tlaGBC" title="Branch 0 was taken 949 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 949 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 1898 : RegisterType<DbcHeaderHandler>("NS_");</span></span>
|
||||||
|
<span id="L373"><span class="lineNum"> 373</span> [<span class="tlaGBC" title="Branch 0 was taken 949 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 949 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 1898 : RegisterType<DbcHeaderHandler>("NS_:");</span></span>
|
||||||
|
<span id="L374"><span class="lineNum"> 374</span> [<span class="tlaGBC" title="Branch 0 was taken 949 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 949 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 1898 : RegisterType<DbcHeaderHandler>("BS_");</span></span>
|
||||||
|
<span id="L375"><span class="lineNum"> 375</span> [<span class="tlaGBC" title="Branch 0 was taken 949 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 949 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 1898 : RegisterType<DbcHeaderHandler>("BS_:");</span></span>
|
||||||
|
<span id="L376"><span class="lineNum"> 376</span> [<span class="tlaGBC" title="Branch 0 was taken 949 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 949 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 1898 : RegisterType<DbcHeaderHandler>("BU_");</span></span>
|
||||||
|
<span id="L377"><span class="lineNum"> 377</span> [<span class="tlaGBC" title="Branch 0 was taken 949 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 949 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 1898 : RegisterType<DbcHeaderHandler>("BU_:");</span></span>
|
||||||
|
<span id="L378"><span class="lineNum"> 378</span> [<span class="tlaGBC" title="Branch 0 was taken 949 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 949 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 1898 : RegisterType<DbcUnsupportedMultiplexingHandler>("SG_MUL_VAL_");</span></span>
|
||||||
|
<span id="L379"><span class="lineNum"> 379</span> [<span class="tlaGBC" title="Branch 0 was taken 949 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 949 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 1898 : RegisterType<DbcFrameHandler>("BO_");</span></span>
|
||||||
|
<span id="L380"><span class="lineNum"> 380</span> [<span class="tlaGBC" title="Branch 0 was taken 949 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 949 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 1898 : RegisterType<DbcSignalHandler>("SG_");</span></span>
|
||||||
|
<span id="L381"><span class="lineNum"> 381</span> [<span class="tlaGBC" title="Branch 0 was taken 949 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 949 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 1898 : RegisterType<DbcCommentHandler>("CM_");</span></span>
|
||||||
|
<span id="L382"><span class="lineNum"> 382</span> [<span class="tlaGBC" title="Branch 0 was taken 949 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 949 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 1898 : RegisterType<DbcValueDescriptionHandler>("VAL_");</span></span>
|
||||||
|
<span id="L383"><span class="lineNum"> 383</span> [<span class="tlaGBC" title="Branch 0 was taken 949 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 949 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 1898 : RegisterType<DbcAttributeHandler>("BA_DEF_");</span></span>
|
||||||
|
<span id="L384"><span class="lineNum"> 384</span> [<span class="tlaGBC" title="Branch 0 was taken 949 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 949 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 1898 : RegisterType<DbcAttributeHandler>("BA_DEF_DEF_");</span></span>
|
||||||
|
<span id="L385"><span class="lineNum"> 385</span> [<span class="tlaGBC" title="Branch 0 was taken 949 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 949 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 949 : RegisterType<DbcAttributeHandler>("BA_");</span></span>
|
||||||
|
<span id="L386"><span class="lineNum"> 386</span> :<span class="tlaGNC"> 949 : }</span></span>
|
||||||
|
<span id="L387"><span class="lineNum"> 387</span> : : </span>
|
||||||
|
<span id="L388"><span class="lineNum"> 388</span> :<span class="tlaGNC"> 62 : void DbcHeaderHandler::Handle(const std::string &, DbcParseContext &) const {}</span></span>
|
||||||
|
<span id="L389"><span class="lineNum"> 389</span> : : </span>
|
||||||
|
<span id="L390"><span class="lineNum"> 390</span> :<span class="tlaGNC"> 2132 : bool DbcStatementDispatcher::Dispatch(const std::string &line,</span></span>
|
||||||
|
<span id="L391"><span class="lineNum"> 391</span> : : DbcParseContext &context) const {</span>
|
||||||
|
<span id="L392"><span class="lineNum"> 392</span> [<span class="tlaGBC" title="Branch 0 was taken 2132 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2132 : std::istringstream stream(line);</span></span>
|
||||||
|
<span id="L393"><span class="lineNum"> 393</span> :<span class="tlaGNC"> 2132 : std::string keyword;</span></span>
|
||||||
|
<span id="L394"><span class="lineNum"> 394</span> [<span class="tlaGBC" title="Branch 0 was taken 2132 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2132 : stream >> keyword;</span></span>
|
||||||
|
<span id="L395"><span class="lineNum"> 395</span> [<span class="tlaGBC" title="Branch 0 was taken 2132 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2132 : const HandlerMap::const_iterator handler = m_handlers.find(keyword);</span></span>
|
||||||
|
<span id="L396"><span class="lineNum"> 396</span> [<span class="tlaGBC" title="Branch 0 was taken 40 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2092 times"> + </span>]:<span class="tlaGNC"> 2132 : if (handler == m_handlers.end())</span></span>
|
||||||
|
<span id="L397"><span class="lineNum"> 397</span> :<span class="tlaGNC"> 40 : return false;</span></span>
|
||||||
|
<span id="L398"><span class="lineNum"> 398</span> [<span class="tlaGBC" title="Branch 0 was taken 1743 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 349 times"> + </span>]:<span class="tlaGNC"> 2092 : handler->second->Handle(line, context);</span></span>
|
||||||
|
<span id="L399"><span class="lineNum"> 399</span> :<span class="tlaGNC"> 1743 : return true;</span></span>
|
||||||
|
<span id="L400"><span class="lineNum"> 400</span> :<span class="tlaGNC"> 2481 : }</span></span>
|
||||||
|
<span id="L401"><span class="lineNum"> 401</span> : : </span>
|
||||||
|
<span id="L402"><span class="lineNum"> 402</span> :<span class="tlaGNC"> 94 : void DbcValueDescriptionHandler::Handle(const std::string &line, DbcParseContext &context) const {</span></span>
|
||||||
|
<span id="L403"><span class="lineNum"> 403</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 92 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 94 : static const std::regex header(R"(^VAL_[ \t]+([^ \t]+)[ \t]+([^ \t;]+)[ \t]+(.*)$)");</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaUNC" title="Branch 6 was not taken"> - </span><span class="tlaUNC" title="Branch 7 was not taken"> - </span>]
|
||||||
|
<span id="L404"><span class="lineNum"> 404</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 92 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 94 : static const std::regex pair(R"dbc(^([^ \t]+)[ \t]+"((?:[^"\\]|\\["\\])*)")dbc");</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaUNC" title="Branch 6 was not taken"> - </span><span class="tlaUNC" title="Branch 7 was not taken"> - </span>]
|
||||||
|
<span id="L405"><span class="lineNum"> 405</span> :<span class="tlaGNC"> 94 : std::smatch fields;</span></span>
|
||||||
|
<span id="L406"><span class="lineNum"> 406</span> [<span class="tlaGBC" title="Branch 0 was taken 94 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 90 times"> + </span>]:<span class="tlaGNC"> 94 : if (!std::regex_match(line, fields, header))</span></span>
|
||||||
|
<span id="L407"><span class="lineNum"> 407</span> [<span class="tlaGBC" title="Branch 0 was taken 4 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 4 : throw std::runtime_error("Malformed or unsupported VAL_ statement.");</span></span>
|
||||||
|
<span id="L408"><span class="lineNum"> 408</span> [<span class="tlaGBC" title="Branch 0 was taken 90 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 90 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 93 : const std::uint32_t rawId = ParseDecimal(fields[1].str(), std::numeric_limits<std::uint32_t>::max(), "VAL_ CAN ID");</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 87 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 3 times"> + </span>]
|
||||||
|
<span id="L409"><span class="lineNum"> 409</span> [<span class="tlaGBC" title="Branch 0 was taken 1 time"> + </span><span class="tlaGBC" title="Branch 1 was taken 86 times"> + </span>]:<span class="tlaGNC"> 87 : if ((rawId & 0x60000000U) != 0U)</span></span>
|
||||||
|
<span id="L410"><span class="lineNum"> 410</span> [<span class="tlaGBC" title="Branch 0 was taken 1 time"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 1 : throw std::runtime_error("VAL_ CAN ID exceeds the 29-bit identifier range.");</span></span>
|
||||||
|
<span id="L411"><span class="lineNum"> 411</span> :<span class="tlaGNC"> 86 : PendingValueDescriptions pending;</span></span>
|
||||||
|
<span id="L412"><span class="lineNum"> 412</span> :<span class="tlaGNC"> 86 : NormalizeCanId(rawId, pending.canId, pending.isExtended);</span></span>
|
||||||
|
<span id="L413"><span class="lineNum"> 413</span> [<span class="tlaGBC" title="Branch 0 was taken 86 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 86 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 86 : pending.signalName = fields[2].str();</span></span>
|
||||||
|
<span id="L414"><span class="lineNum"> 414</span> :<span class="tlaGNC"> 86 : pending.lineNumber = context.lineNumber;</span></span>
|
||||||
|
<span id="L415"><span class="lineNum"> 415</span> [<span class="tlaGBC" title="Branch 0 was taken 86 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 86 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 86 : std::string rest = fields[3].str();</span></span>
|
||||||
|
<span id="L416"><span class="lineNum"> 416</span> [<span class="tlaGBC" title="Branch 0 was taken 179 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 109 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 70 times"> + </span>]:<span class="tlaGNC"> 179 : while (rest != ";") {</span></span>
|
||||||
|
<span id="L417"><span class="lineNum"> 417</span> [<span class="tlaGBC" title="Branch 0 was taken 109 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 5 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 104 times"> + </span>]:<span class="tlaGNC"> 109 : if (!std::regex_search(rest, fields, pair))</span></span>
|
||||||
|
<span id="L418"><span class="lineNum"> 418</span> [<span class="tlaGBC" title="Branch 0 was taken 5 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 5 : throw std::runtime_error("Malformed VAL_ value/description pair or missing semicolon.");</span></span>
|
||||||
|
<span id="L419"><span class="lineNum"> 419</span> [<span class="tlaGBC" title="Branch 0 was taken 104 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 104 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 104 : const std::string number = fields[1].str();</span></span>
|
||||||
|
<span id="L420"><span class="lineNum"> 420</span> [<span class="tlaGBC" title="Branch 0 was taken 96 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 8 times"> + </span>]:<span class="tlaGNC"> 104 : const RawSignalValue key = ParseValueKey(number);</span></span>
|
||||||
|
<span id="L421"><span class="lineNum"> 421</span> [<span class="tlaGBC" title="Branch 0 was taken 96 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 96 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 96 : const std::string description = UnescapeDescription(fields[2].str());</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 96 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span>]
|
||||||
|
<span id="L422"><span class="lineNum"> 422</span> [<span class="tlaGBC" title="Branch 0 was taken 96 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 94 times"> + </span>]:<span class="tlaGNC"> 96 : if (!pending.descriptions.emplace(key, description).second)</span></span>
|
||||||
|
<span id="L423"><span class="lineNum"> 423</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 2 : throw std::runtime_error("Duplicate VAL_ value key: " + number);</span></span>
|
||||||
|
<span id="L424"><span class="lineNum"> 424</span> [<span class="tlaGBC" title="Branch 0 was taken 94 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 94 : const std::size_t consumed = static_cast<std::size_t>(fields.length());</span></span>
|
||||||
|
<span id="L425"><span class="lineNum"> 425</span> [<span class="tlaGBC" title="Branch 0 was taken 94 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 94 : rest.erase(0, consumed);</span></span>
|
||||||
|
<span id="L426"><span class="lineNum"> 426</span> [<span class="tlaGBC" title="Branch 0 was taken 93 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 1 time"> + </span><span class="tlaGBC" title="Branch 2 was taken 93 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 94 : if (!rest.empty() && rest[0] != ';' && rest[0] != ' ' && rest[0] != '\t')</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 23 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 70 times"> + </span><span class="tlaGBC" title="Branch 6 was taken 23 times"> + </span><span class="tlaUNC" title="Branch 7 was not taken"> - </span><span class="tlaGBC" title="Branch 8 was taken 2 times"> + </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 9 was taken 21 times"> + </span><span class="tlaGBC" title="Branch 10 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 11 was not taken"> - </span><span class="tlaGBC" title="Branch 12 was taken 1 time"> + </span><span class="tlaGBC" title="Branch 13 was taken 1 time"> + </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 14 was taken 1 time"> + </span><span class="tlaGBC" title="Branch 15 was taken 93 times"> + </span>]
|
||||||
|
<span id="L427"><span class="lineNum"> 427</span> [<span class="tlaGBC" title="Branch 0 was taken 1 time"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 1 : throw std::runtime_error("Missing whitespace between VAL_ pairs.");</span></span>
|
||||||
|
<span id="L428"><span class="lineNum"> 428</span> [<span class="tlaGBC" title="Branch 0 was taken 93 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 93 : rest = dbc_detail::TrimText(rest);</span></span>
|
||||||
|
<span id="L429"><span class="lineNum"> 429</span> :<span class="tlaGNC"> 107 : }</span></span>
|
||||||
|
<span id="L430"><span class="lineNum"> 430</span> [<span class="tlaGBC" title="Branch 0 was taken 1 time"> + </span><span class="tlaGBC" title="Branch 1 was taken 69 times"> + </span>]:<span class="tlaGNC"> 70 : if (pending.descriptions.empty())</span></span>
|
||||||
|
<span id="L431"><span class="lineNum"> 431</span> [<span class="tlaGBC" title="Branch 0 was taken 1 time"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 1 : throw std::runtime_error("VAL_ requires at least one value/description pair.");</span></span>
|
||||||
|
<span id="L432"><span class="lineNum"> 432</span> [<span class="tlaGBC" title="Branch 0 was taken 69 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 69 : context.pendingValues.push_back(std::move(pending));</span></span>
|
||||||
|
<span id="L433"><span class="lineNum"> 433</span> :<span class="tlaGNC"> 128 : }</span></span>
|
||||||
|
<span id="L434"><span class="lineNum"> 434</span> : : </span>
|
||||||
|
<span id="L435"><span class="lineNum"> 435</span> :<span class="tlaGNC"> 592 : void DbcParseContext::ResolveValueDescriptions(const std::string &filePath) {</span></span>
|
||||||
|
<span id="L436"><span class="lineNum"> 436</span> [<span class="tlaGBC" title="Branch 0 was taken 67 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 577 times"> + </span>]:<span class="tlaGNC"> 644 : for (const PendingValueDescriptions &pending: pendingValues) {</span></span>
|
||||||
|
<span id="L437"><span class="lineNum"> 437</span> : : try {</span>
|
||||||
|
<span id="L438"><span class="lineNum"> 438</span> [<span class="tlaGBC" title="Branch 0 was taken 62 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 5 times"> + </span>]:<span class="tlaGNC"> 67 : FrameInfo *frame = FindUniqueFrame(database, pending.canId, pending.isExtended);</span></span>
|
||||||
|
<span id="L439"><span class="lineNum"> 439</span> [<span class="tlaGBC" title="Branch 0 was taken 55 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 7 times"> + </span>]:<span class="tlaGNC"> 62 : SignalInfo *signal = FindUniqueSignal(*frame, pending.signalName);</span></span>
|
||||||
|
<span id="L440"><span class="lineNum"> 440</span> [<span class="tlaGBC" title="Branch 0 was taken 75 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 52 times"> + </span>]:<span class="tlaGNC"> 127 : for (const ValueDescriptions::value_type &entry: pending.descriptions) {</span></span>
|
||||||
|
<span id="L441"><span class="lineNum"> 441</span> [<span class="tlaGBC" title="Branch 0 was taken 75 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 3 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 72 times"> + </span>]:<span class="tlaGNC"> 75 : if (!signal->valueDescriptions.insert(entry).second)</span></span>
|
||||||
|
<span id="L442"><span class="lineNum"> 442</span> [<span class="tlaGBC" title="Branch 0 was taken 3 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 3 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 3 : throw std::runtime_error("Duplicate VAL_ value key for signal: " + pending.signalName);</span></span>
|
||||||
|
<span id="L443"><span class="lineNum"> 443</span> : : }</span>
|
||||||
|
<span id="L444"><span class="lineNum"> 444</span> [<span class="tlaUNC" title="Branch 0 was not taken"> - </span><span class="tlaGBC" title="Branch 1 was taken 15 times"> + </span>]:<span class="tlaGNC"> 15 : } catch (const std::exception &error) {</span></span>
|
||||||
|
<span id="L445"><span class="lineNum"> 445</span> : : throw DbcDiagnosticError(DbcDiagnosticCode::InvalidValueDescription,</span>
|
||||||
|
<span id="L446"><span class="lineNum"> 446</span> [<span class="tlaGBC" title="Branch 0 was taken 15 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 15 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 45 : filePath, pending.lineNumber, error.what());</span></span>
|
||||||
|
<span id="L447"><span class="lineNum"> 447</span> :<span class="tlaGNC"> 15 : }</span></span>
|
||||||
|
<span id="L448"><span class="lineNum"> 448</span> : : }</span>
|
||||||
|
<span id="L449"><span class="lineNum"> 449</span> :<span class="tlaGNC"> 577 : }</span></span>
|
||||||
|
<span id="L450"><span class="lineNum"> 450</span> : : </span>
|
||||||
|
<span id="L451"><span class="lineNum"> 451</span> :<span class="tlaGNC"> 4 : void DbcUnsupportedMultiplexingHandler::Handle(const std::string &, DbcParseContext &) const {</span></span>
|
||||||
|
<span id="L452"><span class="lineNum"> 452</span> [<span class="tlaGBC" title="Branch 0 was taken 4 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 4 : throw std::runtime_error("Extended and nested multiplexing are unsupported.");</span></span>
|
||||||
|
<span id="L453"><span class="lineNum"> 453</span> : : }</span>
|
||||||
|
<span id="L454"><span class="lineNum"> 454</span> : : </span>
|
||||||
|
<span id="L455"><span class="lineNum"> 455</span> : : namespace {</span>
|
||||||
|
<span id="L456"><span class="lineNum"> 456</span> :<span class="tlaGNC"> 114 : std::vector<std::uint64_t> SignalBits(const SignalInfo &signal) {</span></span>
|
||||||
|
<span id="L457"><span class="lineNum"> 457</span> :<span class="tlaGNC"> 114 : std::vector<std::uint64_t> bits;</span></span>
|
||||||
|
<span id="L458"><span class="lineNum"> 458</span> :<span class="tlaGNC"> 114 : std::uint64_t bit = signal.startBit;</span></span>
|
||||||
|
<span id="L459"><span class="lineNum"> 459</span> [<span class="tlaGBC" title="Branch 0 was taken 884 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 114 times"> + </span>]:<span class="tlaGNC"> 998 : for (std::uint32_t index = 0U; index < signal.length; ++index) {</span></span>
|
||||||
|
<span id="L460"><span class="lineNum"> 460</span> [<span class="tlaGBC" title="Branch 0 was taken 884 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 884 : bits.push_back(bit);</span></span>
|
||||||
|
<span id="L461"><span class="lineNum"> 461</span> :<span class="tlaGNC"> 884 : bit = NextSignalBit(bit, signal.isLittleEndian);</span></span>
|
||||||
|
<span id="L462"><span class="lineNum"> 462</span> : : }</span>
|
||||||
|
<span id="L463"><span class="lineNum"> 463</span> :<span class="tlaGNC"> 114 : return bits;</span></span>
|
||||||
|
<span id="L464"><span class="lineNum"> 464</span> :<span class="tlaUNC"> 0 : }</span></span>
|
||||||
|
<span id="L465"><span class="lineNum"> 465</span> : : </span>
|
||||||
|
<span id="L466"><span class="lineNum"> 466</span> :<span class="tlaGNC"> 58 : bool AreMutuallyExclusive(const SignalInfo &first, const SignalInfo &second) {</span></span>
|
||||||
|
<span id="L467"><span class="lineNum"> 467</span> :<span class="tlaGNC"> 79 : return first.multiplexing.role == MultiplexRole::Branch &&</span></span>
|
||||||
|
<span id="L468"><span class="lineNum"> 468</span> [<span class="tlaGBC" title="Branch 0 was taken 21 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 37 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 17 times"> + </span>]:<span class="tlaGNC"> 62 : second.multiplexing.role == MultiplexRole::Branch &&</span></span>
|
||||||
|
<span id="L469"><span class="lineNum"> 469</span> [<span class="tlaGBC" title="Branch 0 was taken 1 time"> + </span><span class="tlaGBC" title="Branch 1 was taken 3 times"> + </span>]:<span class="tlaGNC"> 62 : first.multiplexing.value != second.multiplexing.value;</span></span>
|
||||||
|
<span id="L470"><span class="lineNum"> 470</span> : : }</span>
|
||||||
|
<span id="L471"><span class="lineNum"> 471</span> : : </span>
|
||||||
|
<span id="L472"><span class="lineNum"> 472</span> :<span class="tlaGNC"> 193 : std::string ValidateBranch(const SignalInfo &signal, const SignalInfo *selector) {</span></span>
|
||||||
|
<span id="L473"><span class="lineNum"> 473</span> [<span class="tlaGBC" title="Branch 0 was taken 164 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 29 times"> + </span>]:<span class="tlaGNC"> 193 : if (signal.multiplexing.role != MultiplexRole::Branch)</span></span>
|
||||||
|
<span id="L474"><span class="lineNum"> 474</span> :<span class="tlaGNC"> 164 : return {};</span></span>
|
||||||
|
<span id="L475"><span class="lineNum"> 475</span> [<span class="tlaGBC" title="Branch 0 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 25 times"> + </span>]:<span class="tlaGNC"> 29 : if (selector == nullptr)</span></span>
|
||||||
|
<span id="L476"><span class="lineNum"> 476</span> [<span class="tlaGBC" title="Branch 0 was taken 4 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 8 : return "Multiplexed branch has no selector.";</span></span>
|
||||||
|
<span id="L477"><span class="lineNum"> 477</span> [<span class="tlaGBC" title="Branch 0 was taken 24 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 1 time"> + </span><span class="tlaGBC" title="Branch 2 was taken 5 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 19 times"> + </span>]:<span class="tlaGNC"> 25 : if (selector->length < 64U && signal.multiplexing.value >= (std::uint64_t(1U) << selector->length))</span></span>
|
||||||
|
<span id="L478"><span class="lineNum"> 478</span> [<span class="tlaGBC" title="Branch 0 was taken 5 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 10 : return "Branch value exceeds selector raw range.";</span></span>
|
||||||
|
<span id="L479"><span class="lineNum"> 479</span> :<span class="tlaGNC"> 20 : return {};</span></span>
|
||||||
|
<span id="L480"><span class="lineNum"> 480</span> : : }</span>
|
||||||
|
<span id="L481"><span class="lineNum"> 481</span> : : </span>
|
||||||
|
<span id="L482"><span class="lineNum"> 482</span> :<span class="tlaGNC"> 280 : const SignalInfo *FindSelector(const FrameInfo &frame,</span></span>
|
||||||
|
<span id="L483"><span class="lineNum"> 483</span> : : const std::vector<std::size_t> &lines,</span>
|
||||||
|
<span id="L484"><span class="lineNum"> 484</span> : : const std::string &filePath) {</span>
|
||||||
|
<span id="L485"><span class="lineNum"> 485</span> :<span class="tlaGNC"> 280 : const SignalInfo *selector = nullptr;</span></span>
|
||||||
|
<span id="L486"><span class="lineNum"> 486</span> [<span class="tlaGBC" title="Branch 0 was taken 207 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 272 times"> + </span>]:<span class="tlaGNC"> 479 : for (std::size_t index = 0U; index < frame.signals.size(); ++index) {</span></span>
|
||||||
|
<span id="L487"><span class="lineNum"> 487</span> :<span class="tlaGNC"> 207 : const SignalInfo &signal = frame.signals[index];</span></span>
|
||||||
|
<span id="L488"><span class="lineNum"> 488</span> [<span class="tlaGBC" title="Branch 0 was taken 173 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 34 times"> + </span>]:<span class="tlaGNC"> 207 : if (signal.multiplexing.role != MultiplexRole::Selector)</span></span>
|
||||||
|
<span id="L489"><span class="lineNum"> 489</span> :<span class="tlaGNC"> 173 : continue;</span></span>
|
||||||
|
<span id="L490"><span class="lineNum"> 490</span> [<span class="tlaGBC" title="Branch 0 was taken 30 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 26 times"> + </span>]:<span class="tlaGNC"> 34 : if (selector != nullptr || signal.isSigned)</span></span>
|
||||||
|
<span id="L491"><span class="lineNum"> 491</span> : : throw DbcDiagnosticError(DbcDiagnosticCode::InvalidMultiplexing,</span>
|
||||||
|
<span id="L492"><span class="lineNum"> 492</span> :<span class="tlaGNC"> 8 : filePath, lines[index],</span></span>
|
||||||
|
<span id="L493"><span class="lineNum"> 493</span> [<span class="tlaGBC" title="Branch 0 was taken 8 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 8 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 32 : "Multiplexing requires one unsigned selector per frame.");</span></span>
|
||||||
|
<span id="L494"><span class="lineNum"> 494</span> :<span class="tlaGNC"> 26 : selector = &signal;</span></span>
|
||||||
|
<span id="L495"><span class="lineNum"> 495</span> : : }</span>
|
||||||
|
<span id="L496"><span class="lineNum"> 496</span> :<span class="tlaGNC"> 272 : return selector;</span></span>
|
||||||
|
<span id="L497"><span class="lineNum"> 497</span> : : }</span>
|
||||||
|
<span id="L498"><span class="lineNum"> 498</span> : : </span>
|
||||||
|
<span id="L499"><span class="lineNum"> 499</span> :<span class="tlaGNC"> 57 : bool SignalsOverlap(const SignalInfo &first, const SignalInfo &second) {</span></span>
|
||||||
|
<span id="L500"><span class="lineNum"> 500</span> [<span class="tlaGBC" title="Branch 0 was taken 57 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 57 : const std::vector<std::uint64_t> firstBits = SignalBits(first);</span></span>
|
||||||
|
<span id="L501"><span class="lineNum"> 501</span> [<span class="tlaGBC" title="Branch 0 was taken 57 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 57 : const std::vector<std::uint64_t> secondBits = SignalBits(second);</span></span>
|
||||||
|
<span id="L502"><span class="lineNum"> 502</span> [<span class="tlaGBC" title="Branch 0 was taken 442 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 47 times"> + </span>]:<span class="tlaGNC"> 489 : for (const std::uint64_t firstBit : firstBits) {</span></span>
|
||||||
|
<span id="L503"><span class="lineNum"> 503</span> [<span class="tlaGBC" title="Branch 0 was taken 2948 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 432 times"> + </span>]:<span class="tlaGNC"> 3380 : for (const std::uint64_t secondBit : secondBits) {</span></span>
|
||||||
|
<span id="L504"><span class="lineNum"> 504</span> [<span class="tlaGBC" title="Branch 0 was taken 10 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2938 times"> + </span>]:<span class="tlaGNC"> 2948 : if (firstBit == secondBit)</span></span>
|
||||||
|
<span id="L505"><span class="lineNum"> 505</span> :<span class="tlaGNC"> 10 : return true;</span></span>
|
||||||
|
<span id="L506"><span class="lineNum"> 506</span> : : }</span>
|
||||||
|
<span id="L507"><span class="lineNum"> 507</span> : : }</span>
|
||||||
|
<span id="L508"><span class="lineNum"> 508</span> :<span class="tlaGNC"> 47 : return false;</span></span>
|
||||||
|
<span id="L509"><span class="lineNum"> 509</span> :<span class="tlaGNC"> 57 : }</span></span>
|
||||||
|
<span id="L510"><span class="lineNum"> 510</span> : : }</span>
|
||||||
|
<span id="L511"><span class="lineNum"> 511</span> : : </span>
|
||||||
|
<span id="L512"><span class="lineNum"> 512</span> :<span class="tlaGNC"> 576 : void DbcParseContext::ValidateMultiplexing(const std::string &filePath) const {</span></span>
|
||||||
|
<span id="L513"><span class="lineNum"> 513</span> [<span class="tlaGBC" title="Branch 0 was taken 280 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 549 times"> + </span>]:<span class="tlaGNC"> 829 : for (std::size_t frameIndex = 0U; frameIndex < database.frames.size(); ++frameIndex) {</span></span>
|
||||||
|
<span id="L514"><span class="lineNum"> 514</span> :<span class="tlaGNC"> 280 : const FrameInfo &frame = database.frames[frameIndex];</span></span>
|
||||||
|
<span id="L515"><span class="lineNum"> 515</span> :<span class="tlaGNC"> 280 : const SignalInfo *selector = FindSelector(frame, signalLines[frameIndex], filePath);</span></span>
|
||||||
|
<span id="L516"><span class="lineNum"> 516</span> [<span class="tlaGBC" title="Branch 0 was taken 193 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 253 times"> + </span>]:<span class="tlaGNC"> 446 : for (std::size_t index = 0U; index < frame.signals.size(); ++index) {</span></span>
|
||||||
|
<span id="L517"><span class="lineNum"> 517</span> :<span class="tlaGNC"> 193 : const SignalInfo &signal = frame.signals[index];</span></span>
|
||||||
|
<span id="L518"><span class="lineNum"> 518</span> [<span class="tlaGBC" title="Branch 0 was taken 193 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 193 : std::string error = ValidateBranch(signal, selector);</span></span>
|
||||||
|
<span id="L519"><span class="lineNum"> 519</span> [<span class="tlaGBC" title="Branch 0 was taken 61 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 190 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 58 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 3 times"> + </span> :<span class="tlaGNC"> 251 : for (std::size_t previous = 0U; previous < index && error.empty(); ++previous) {</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 58 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 193 times"> + </span>]
|
||||||
|
<span id="L520"><span class="lineNum"> 520</span> :<span class="tlaGNC"> 58 : const SignalInfo &other = frame.signals[previous];</span></span>
|
||||||
|
<span id="L521"><span class="lineNum"> 521</span> [<span class="tlaGBC" title="Branch 0 was taken 57 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 1 time"> + </span><span class="tlaGBC" title="Branch 2 was taken 57 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 58 : if (!AreMutuallyExclusive(signal, other) && SignalsOverlap(signal, other))</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 10 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 47 times"> + </span><span class="tlaGBC" title="Branch 6 was taken 10 times"> + </span><span class="tlaGBC" title="Branch 7 was taken 48 times"> + </span>]
|
||||||
|
<span id="L522"><span class="lineNum"> 522</span> [<span class="tlaGBC" title="Branch 0 was taken 10 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 10 : error = "Signals overlap without mutually exclusive multiplexing conditions.";</span></span>
|
||||||
|
<span id="L523"><span class="lineNum"> 523</span> : : }</span>
|
||||||
|
<span id="L524"><span class="lineNum"> 524</span> [<span class="tlaGBC" title="Branch 0 was taken 19 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 174 times"> + </span>]:<span class="tlaGNC"> 193 : if (!error.empty())</span></span>
|
||||||
|
<span id="L525"><span class="lineNum"> 525</span> : : throw DbcDiagnosticError(DbcDiagnosticCode::InvalidMultiplexing,</span>
|
||||||
|
<span id="L526"><span class="lineNum"> 526</span> [<span class="tlaGBC" title="Branch 0 was taken 19 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 19 : filePath, signalLines[frameIndex][index], error);</span></span>
|
||||||
|
<span id="L527"><span class="lineNum"> 527</span> :<span class="tlaGNC"> 193 : }</span></span>
|
||||||
|
<span id="L528"><span class="lineNum"> 528</span> : : }</span>
|
||||||
|
<span id="L529"><span class="lineNum"> 529</span> :<span class="tlaGNC"> 549 : }</span></span>
|
||||||
|
</pre>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,173 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/dbc_statement_handler.h - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - dbc_statement_handler.h<span style="font-size: 80%;"> (<a href="dbc_statement_handler.h.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">8</td>
|
||||||
|
<td class="headerCovTableEntry">8</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">10</td>
|
||||||
|
<td class="headerCovTableEntry">10</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryLo">45.5 %</td>
|
||||||
|
<td class="headerCovTableEntry">22</td>
|
||||||
|
<td class="headerCovTableEntry">10</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><a href="dbc_statement_handler.h.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></a></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.h.gcov.html#L33">DbcDiagnosticError::DbcDiagnosticError(DbcDiagnosticCode, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">438</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.h.gcov.html#L135">void DbcStatementDispatcher::RegisterType<CountingHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">14236</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFnAlias"><a href="dbc_statement_handler.h.gcov.html#L135">void DbcStatementDispatcher::RegisterType<CountingHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnAliasHi">1</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFnAlias"><a href="dbc_statement_handler.h.gcov.html#L135">void DbcStatementDispatcher::RegisterType<DbcCommentHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnAliasHi">949</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFnAlias"><a href="dbc_statement_handler.h.gcov.html#L135">void DbcStatementDispatcher::RegisterType<DbcFrameHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnAliasHi">949</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFnAlias"><a href="dbc_statement_handler.h.gcov.html#L135">void DbcStatementDispatcher::RegisterType<DbcSignalHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnAliasHi">949</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFnAlias"><a href="dbc_statement_handler.h.gcov.html#L135">void DbcStatementDispatcher::RegisterType<DbcUnsupportedMultiplexingHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnAliasHi">949</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFnAlias"><a href="dbc_statement_handler.h.gcov.html#L135">void DbcStatementDispatcher::RegisterType<DbcValueDescriptionHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnAliasHi">949</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFnAlias"><a href="dbc_statement_handler.h.gcov.html#L135">void DbcStatementDispatcher::RegisterType<DbcAttributeHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnAliasHi">2847</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFnAlias"><a href="dbc_statement_handler.h.gcov.html#L135">void DbcStatementDispatcher::RegisterType<DbcHeaderHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnAliasHi">6643</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.h.gcov.html#L74">DbcStatementHandler::~DbcStatementHandler()</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">14250</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,173 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/dbc_statement_handler.h - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - dbc_statement_handler.h<span style="font-size: 80%;"> (<a href="dbc_statement_handler.h.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">8</td>
|
||||||
|
<td class="headerCovTableEntry">8</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">10</td>
|
||||||
|
<td class="headerCovTableEntry">10</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryLo">45.5 %</td>
|
||||||
|
<td class="headerCovTableEntry">22</td>
|
||||||
|
<td class="headerCovTableEntry">10</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><a href="dbc_statement_handler.h.func-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></a></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.h.gcov.html#L33">DbcDiagnosticError::DbcDiagnosticError(DbcDiagnosticCode, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">438</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.h.gcov.html#L74">DbcStatementHandler::~DbcStatementHandler()</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">14250</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_statement_handler.h.gcov.html#L135">void DbcStatementDispatcher::RegisterType<CountingHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">14236</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFnAlias"><a href="dbc_statement_handler.h.gcov.html#L135">void DbcStatementDispatcher::RegisterType<CountingHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnAliasHi">1</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFnAlias"><a href="dbc_statement_handler.h.gcov.html#L135">void DbcStatementDispatcher::RegisterType<DbcAttributeHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnAliasHi">2847</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFnAlias"><a href="dbc_statement_handler.h.gcov.html#L135">void DbcStatementDispatcher::RegisterType<DbcCommentHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnAliasHi">949</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFnAlias"><a href="dbc_statement_handler.h.gcov.html#L135">void DbcStatementDispatcher::RegisterType<DbcFrameHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnAliasHi">949</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFnAlias"><a href="dbc_statement_handler.h.gcov.html#L135">void DbcStatementDispatcher::RegisterType<DbcHeaderHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnAliasHi">6643</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFnAlias"><a href="dbc_statement_handler.h.gcov.html#L135">void DbcStatementDispatcher::RegisterType<DbcSignalHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnAliasHi">949</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFnAlias"><a href="dbc_statement_handler.h.gcov.html#L135">void DbcStatementDispatcher::RegisterType<DbcUnsupportedMultiplexingHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnAliasHi">949</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFnAlias"><a href="dbc_statement_handler.h.gcov.html#L135">void DbcStatementDispatcher::RegisterType<DbcValueDescriptionHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnAliasHi">949</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,239 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/dbc_statement_handler.h</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - dbc_statement_handler.h<span style="font-size: 80%;"> (source / <a href="dbc_statement_handler.h.func-c.html" title="Click to go to function table">functions</a>)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">8</td>
|
||||||
|
<td class="headerCovTableEntry">8</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">10</td>
|
||||||
|
<td class="headerCovTableEntry">10</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryLo">45.5 %</td>
|
||||||
|
<td class="headerCovTableEntry">22</td>
|
||||||
|
<td class="headerCovTableEntry">10</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table cellpadding=0 cellspacing=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td><br></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<pre class="sourceHeading"> Branch data Line data Source code</pre>
|
||||||
|
<pre class="source">
|
||||||
|
<span id="L1"><span class="lineNum"> 1</span> : : // SPDX-License-Identifier: MIT</span>
|
||||||
|
<span id="L2"><span class="lineNum"> 2</span> : : #ifndef DBC_STATEMENT_HANDLER_H</span>
|
||||||
|
<span id="L3"><span class="lineNum"> 3</span> : : #define DBC_STATEMENT_HANDLER_H</span>
|
||||||
|
<span id="L4"><span class="lineNum"> 4</span> : : </span>
|
||||||
|
<span id="L5"><span class="lineNum"> 5</span> : : #include "dbc_database.h"</span>
|
||||||
|
<span id="L6"><span class="lineNum"> 6</span> : : #include "dbc_diagnostic.h"</span>
|
||||||
|
<span id="L7"><span class="lineNum"> 7</span> : : #include "typefactory.h"</span>
|
||||||
|
<span id="L8"><span class="lineNum"> 8</span> : : #include <stdexcept></span>
|
||||||
|
<span id="L9"><span class="lineNum"> 9</span> : : #include <string></span>
|
||||||
|
<span id="L10"><span class="lineNum"> 10</span> : : #include <unordered_map></span>
|
||||||
|
<span id="L11"><span class="lineNum"> 11</span> : : </span>
|
||||||
|
<span id="L12"><span class="lineNum"> 12</span> : : /** @brief Deferred raw value descriptions and their target. */</span>
|
||||||
|
<span id="L13"><span class="lineNum"> 13</span> : : struct PendingValueDescriptions {</span>
|
||||||
|
<span id="L14"><span class="lineNum"> 14</span> : : std::uint32_t canId; /**< Normalized target frame identifier. */</span>
|
||||||
|
<span id="L15"><span class="lineNum"> 15</span> : : bool isExtended; /**< Target frame type. */</span>
|
||||||
|
<span id="L16"><span class="lineNum"> 16</span> : : std::string signalName; /**< Target signal name. */</span>
|
||||||
|
<span id="L17"><span class="lineNum"> 17</span> : : ValueDescriptions descriptions; /**< Raw integer descriptions to merge. */</span>
|
||||||
|
<span id="L18"><span class="lineNum"> 18</span> : : std::size_t lineNumber; /**< One-based physical statement line. */</span>
|
||||||
|
<span id="L19"><span class="lineNum"> 19</span> : : };</span>
|
||||||
|
<span id="L20"><span class="lineNum"> 20</span> : : </span>
|
||||||
|
<span id="L21"><span class="lineNum"> 21</span> : : /** @brief Deferred frame or signal comment and its source location. */</span>
|
||||||
|
<span id="L22"><span class="lineNum"> 22</span> : : struct PendingComment {</span>
|
||||||
|
<span id="L23"><span class="lineNum"> 23</span> : : std::uint32_t canId; /**< Normalized target frame identifier. */</span>
|
||||||
|
<span id="L24"><span class="lineNum"> 24</span> : : bool isExtended; /**< Target frame type. */</span>
|
||||||
|
<span id="L25"><span class="lineNum"> 25</span> : : bool isSignal; /**< Whether the target is a signal rather than a frame. */</span>
|
||||||
|
<span id="L26"><span class="lineNum"> 26</span> : : std::string signalName; /**< Target signal name. */</span>
|
||||||
|
<span id="L27"><span class="lineNum"> 27</span> : : std::string comment; /**< Unescaped comment text. */</span>
|
||||||
|
<span id="L28"><span class="lineNum"> 28</span> : : std::size_t lineNumber; /**< One-based physical statement line. */</span>
|
||||||
|
<span id="L29"><span class="lineNum"> 29</span> : : };</span>
|
||||||
|
<span id="L30"><span class="lineNum"> 30</span> : : </span>
|
||||||
|
<span id="L31"><span class="lineNum"> 31</span> : : /** Carries deferred validation locations without parsing exception text. */</span>
|
||||||
|
<span id="L32"><span class="lineNum"> 32</span> : : class DbcDiagnosticError : public std::runtime_error {</span>
|
||||||
|
<span id="L33"><span class="lineNum"> 33</span> : : public:</span>
|
||||||
|
<span id="L34"><span class="lineNum"> 34</span> : : /** @brief Create an exception with a structured source diagnostic. */</span>
|
||||||
|
<span id="L35"><span class="lineNum"> 35</span> :<span class="tlaGNC"> 438 : DbcDiagnosticError(DbcDiagnosticCode code, const std::string &filePath,</span></span>
|
||||||
|
<span id="L36"><span class="lineNum"> 36</span> : : std::size_t lineNumber, const std::string &message)</span>
|
||||||
|
<span id="L37"><span class="lineNum"> 37</span> [<span class="tlaGBC" title="Branch 0 was taken 438 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 438 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 876 : : std::runtime_error(filePath + ":" + std::to_string(lineNumber) + ": " + message),</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 438 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaGBC" title="Branch 6 was taken 438 times"> + </span><span class="tlaUNC" title="Branch 7 was not taken"> - </span>]
|
||||||
|
<span id="L38"><span class="lineNum"> 38</span> [<span class="tlaGBC" title="Branch 0 was taken 438 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 438 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span> :<span class="tlaGNC"> 1314 : diagnostic{DbcDiagnosticSeverity::Error, code, filePath, lineNumber, message} {}</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 438 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaGBC" title="Branch 6 was taken 438 times"> + </span><span class="tlaUNC" title="Branch 7 was not taken"> - </span><span class="tlaUNC" title="Branch 8 was not taken"> - </span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaUNC" title="Branch 9 was not taken"> - </span>]
|
||||||
|
<span id="L39"><span class="lineNum"> 39</span> : : </span>
|
||||||
|
<span id="L40"><span class="lineNum"> 40</span> : : DbcDiagnostic diagnostic; /**< Structured error accompanying the exception message. */</span>
|
||||||
|
<span id="L41"><span class="lineNum"> 41</span> : : };</span>
|
||||||
|
<span id="L42"><span class="lineNum"> 42</span> : : </span>
|
||||||
|
<span id="L43"><span class="lineNum"> 43</span> : : /** @brief Attribute statement retained for ordered resolution. */</span>
|
||||||
|
<span id="L44"><span class="lineNum"> 44</span> : : struct PendingAttribute {</span>
|
||||||
|
<span id="L45"><span class="lineNum"> 45</span> : : std::string statement; /**< Complete attribute statement. */</span>
|
||||||
|
<span id="L46"><span class="lineNum"> 46</span> : : std::size_t lineNumber; /**< One-based physical statement line. */</span>
|
||||||
|
<span id="L47"><span class="lineNum"> 47</span> : : };</span>
|
||||||
|
<span id="L48"><span class="lineNum"> 48</span> : : </span>
|
||||||
|
<span id="L49"><span class="lineNum"> 49</span> : : /** Mutable state belonging to one file parse. Handlers do not retain it. */</span>
|
||||||
|
<span id="L50"><span class="lineNum"> 50</span> : : struct DbcParseContext {</span>
|
||||||
|
<span id="L51"><span class="lineNum"> 51</span> : : DbcDatabase &database; /**< Parsed metadata under construction. */</span>
|
||||||
|
<span id="L52"><span class="lineNum"> 52</span> : : FrameInfo *currentFrame = nullptr; /**< Current frame for following signal definitions. */</span>
|
||||||
|
<span id="L53"><span class="lineNum"> 53</span> : : bool enableJ1939 = false; /**< Explicit interpretation option for extended frames. */</span>
|
||||||
|
<span id="L54"><span class="lineNum"> 54</span> : : std::size_t lineNumber = 0U; /**< Physical line of the current statement. */</span>
|
||||||
|
<span id="L55"><span class="lineNum"> 55</span> : : std::vector<PendingValueDescriptions> pendingValues = {}; /**< Unresolved raw value descriptions. */</span>
|
||||||
|
<span id="L56"><span class="lineNum"> 56</span> : : </span>
|
||||||
|
<span id="L57"><span class="lineNum"> 57</span> : : std::vector<std::vector<std::size_t>> signalLines = {}; /**< Signal definition lines grouped by frame. */</span>
|
||||||
|
<span id="L58"><span class="lineNum"> 58</span> : : /** @brief Validate selectors, branch ranges, and signal overlap. */</span>
|
||||||
|
<span id="L59"><span class="lineNum"> 59</span> : : void ValidateMultiplexing(const std::string &filePath) const;</span>
|
||||||
|
<span id="L60"><span class="lineNum"> 60</span> : : </span>
|
||||||
|
<span id="L61"><span class="lineNum"> 61</span> : : std::vector<PendingComment> pendingComments = {}; /**< Unresolved comments in source order. */</span>
|
||||||
|
<span id="L62"><span class="lineNum"> 62</span> : : /** @brief Resolve deferred comments after all definitions are known. */</span>
|
||||||
|
<span id="L63"><span class="lineNum"> 63</span> : : void ResolveComments(const std::string &filePath);</span>
|
||||||
|
<span id="L64"><span class="lineNum"> 64</span> : : </span>
|
||||||
|
<span id="L65"><span class="lineNum"> 65</span> : : std::vector<PendingAttribute> pendingAttributes = {}; /**< Unresolved attributes in source order. */</span>
|
||||||
|
<span id="L66"><span class="lineNum"> 66</span> : : /** @brief Resolve definitions, defaults, then assignments; append format warnings. */</span>
|
||||||
|
<span id="L67"><span class="lineNum"> 67</span> : : void ResolveAttributes(const std::string &filePath, std::vector<DbcDiagnostic> &diagnostics);</span>
|
||||||
|
<span id="L68"><span class="lineNum"> 68</span> : : </span>
|
||||||
|
<span id="L69"><span class="lineNum"> 69</span> : : /** @brief Resolve deferred raw descriptions against unique targets. */</span>
|
||||||
|
<span id="L70"><span class="lineNum"> 70</span> : : void ResolveValueDescriptions(const std::string &filePath);</span>
|
||||||
|
<span id="L71"><span class="lineNum"> 71</span> : : };</span>
|
||||||
|
<span id="L72"><span class="lineNum"> 72</span> : : </span>
|
||||||
|
<span id="L73"><span class="lineNum"> 73</span> : : /** @brief Interface for processing a registered DBC statement. */</span>
|
||||||
|
<span id="L74"><span class="lineNum"> 74</span> : : class DbcStatementHandler {</span>
|
||||||
|
<span id="L75"><span class="lineNum"> 75</span> : : public:</span>
|
||||||
|
<span id="L76"><span class="lineNum"> 76</span> :<span class="tlaGNC"> 14250 : virtual ~DbcStatementHandler() = default;</span></span>
|
||||||
|
<span id="L77"><span class="lineNum"> 77</span> : : /** @brief Process a trimmed statement using state belonging to this parse. */</span>
|
||||||
|
<span id="L78"><span class="lineNum"> 78</span> : : virtual void Handle(const std::string &line, DbcParseContext &context) const = 0;</span>
|
||||||
|
<span id="L79"><span class="lineNum"> 79</span> : : };</span>
|
||||||
|
<span id="L80"><span class="lineNum"> 80</span> : : </span>
|
||||||
|
<span id="L81"><span class="lineNum"> 81</span> : : /** @brief Parse and append frame definitions. */</span>
|
||||||
|
<span id="L82"><span class="lineNum"> 82</span> : : class DbcFrameHandler : public DbcStatementHandler {</span>
|
||||||
|
<span id="L83"><span class="lineNum"> 83</span> : : public:</span>
|
||||||
|
<span id="L84"><span class="lineNum"> 84</span> : : void Handle(const std::string &line, DbcParseContext &context) const override;</span>
|
||||||
|
<span id="L85"><span class="lineNum"> 85</span> : : </span>
|
||||||
|
<span id="L86"><span class="lineNum"> 86</span> : : private:</span>
|
||||||
|
<span id="L87"><span class="lineNum"> 87</span> : : static FrameInfo ParseFrameLine(const std::string &line);</span>
|
||||||
|
<span id="L88"><span class="lineNum"> 88</span> : : };</span>
|
||||||
|
<span id="L89"><span class="lineNum"> 89</span> : : </span>
|
||||||
|
<span id="L90"><span class="lineNum"> 90</span> : : /** @brief Parse and append signals to the current frame. */</span>
|
||||||
|
<span id="L91"><span class="lineNum"> 91</span> : : class DbcSignalHandler : public DbcStatementHandler {</span>
|
||||||
|
<span id="L92"><span class="lineNum"> 92</span> : : public:</span>
|
||||||
|
<span id="L93"><span class="lineNum"> 93</span> : : void Handle(const std::string &line, DbcParseContext &context) const override;</span>
|
||||||
|
<span id="L94"><span class="lineNum"> 94</span> : : </span>
|
||||||
|
<span id="L95"><span class="lineNum"> 95</span> : : private:</span>
|
||||||
|
<span id="L96"><span class="lineNum"> 96</span> : : static SignalInfo ParseSignalLine(const std::string &line);</span>
|
||||||
|
<span id="L97"><span class="lineNum"> 97</span> : : };</span>
|
||||||
|
<span id="L98"><span class="lineNum"> 98</span> : : </span>
|
||||||
|
<span id="L99"><span class="lineNum"> 99</span> : : /** @brief Defer frame and signal comments for target resolution. */</span>
|
||||||
|
<span id="L100"><span class="lineNum"> 100</span> : : class DbcCommentHandler : public DbcStatementHandler {</span>
|
||||||
|
<span id="L101"><span class="lineNum"> 101</span> : : public:</span>
|
||||||
|
<span id="L102"><span class="lineNum"> 102</span> : : void Handle(const std::string &line, DbcParseContext &context) const override;</span>
|
||||||
|
<span id="L103"><span class="lineNum"> 103</span> : : };</span>
|
||||||
|
<span id="L104"><span class="lineNum"> 104</span> : : </span>
|
||||||
|
<span id="L105"><span class="lineNum"> 105</span> : : /** @brief Defer typed attribute statements for resolution. */</span>
|
||||||
|
<span id="L106"><span class="lineNum"> 106</span> : : class DbcAttributeHandler : public DbcStatementHandler {</span>
|
||||||
|
<span id="L107"><span class="lineNum"> 107</span> : : public:</span>
|
||||||
|
<span id="L108"><span class="lineNum"> 108</span> : : void Handle(const std::string &line, DbcParseContext &context) const override;</span>
|
||||||
|
<span id="L109"><span class="lineNum"> 109</span> : : };</span>
|
||||||
|
<span id="L110"><span class="lineNum"> 110</span> : : </span>
|
||||||
|
<span id="L111"><span class="lineNum"> 111</span> : : /** @brief Defer raw value descriptions for target resolution. */</span>
|
||||||
|
<span id="L112"><span class="lineNum"> 112</span> : : class DbcValueDescriptionHandler : public DbcStatementHandler {</span>
|
||||||
|
<span id="L113"><span class="lineNum"> 113</span> : : public:</span>
|
||||||
|
<span id="L114"><span class="lineNum"> 114</span> : : void Handle(const std::string &line, DbcParseContext &context) const override;</span>
|
||||||
|
<span id="L115"><span class="lineNum"> 115</span> : : };</span>
|
||||||
|
<span id="L116"><span class="lineNum"> 116</span> : : </span>
|
||||||
|
<span id="L117"><span class="lineNum"> 117</span> : : /** @brief Reject unsupported extended multiplexing statements. */</span>
|
||||||
|
<span id="L118"><span class="lineNum"> 118</span> : : class DbcUnsupportedMultiplexingHandler : public DbcStatementHandler {</span>
|
||||||
|
<span id="L119"><span class="lineNum"> 119</span> : : public:</span>
|
||||||
|
<span id="L120"><span class="lineNum"> 120</span> : : void Handle(const std::string &line, DbcParseContext &context) const override;</span>
|
||||||
|
<span id="L121"><span class="lineNum"> 121</span> : : };</span>
|
||||||
|
<span id="L122"><span class="lineNum"> 122</span> : : </span>
|
||||||
|
<span id="L123"><span class="lineNum"> 123</span> : : /** Common header metadata does not change the supported decode definitions. */</span>
|
||||||
|
<span id="L124"><span class="lineNum"> 124</span> : : class DbcHeaderHandler : public DbcStatementHandler {</span>
|
||||||
|
<span id="L125"><span class="lineNum"> 125</span> : : public:</span>
|
||||||
|
<span id="L126"><span class="lineNum"> 126</span> : : void Handle(const std::string &line, DbcParseContext &context) const override;</span>
|
||||||
|
<span id="L127"><span class="lineNum"> 127</span> : : };</span>
|
||||||
|
<span id="L128"><span class="lineNum"> 128</span> : : </span>
|
||||||
|
<span id="L129"><span class="lineNum"> 129</span> : : /** Exact-key dispatch to handlers created once per registration via TypeFactory. */</span>
|
||||||
|
<span id="L130"><span class="lineNum"> 130</span> : : class DbcStatementDispatcher {</span>
|
||||||
|
<span id="L131"><span class="lineNum"> 131</span> : : public:</span>
|
||||||
|
<span id="L132"><span class="lineNum"> 132</span> : : /** @brief Register supported statement handlers through TypeFactory. */</span>
|
||||||
|
<span id="L133"><span class="lineNum"> 133</span> : : DbcStatementDispatcher();</span>
|
||||||
|
<span id="L134"><span class="lineNum"> 134</span> : : </span>
|
||||||
|
<span id="L135"><span class="lineNum"> 135</span> : : /** @brief Register or replace a handler and create its reusable instance. */</span>
|
||||||
|
<span id="L136"><span class="lineNum"> 136</span> : : template<class Handler></span>
|
||||||
|
<span id="L137"><span class="lineNum"> 137</span> :<span class="tlaGNC"> 14236 : void RegisterType(const std::string &keyword) {</span></span>
|
||||||
|
<span id="L138"><span class="lineNum"> 138</span> :<span class="tlaGNC"> 14236 : m_factory.registerType<Handler>(keyword);</span></span>
|
||||||
|
<span id="L139"><span class="lineNum"> 139</span> [<span class="tlaGBC" title="Branch 0 was taken 14236 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 14236 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 14236 : m_handlers.insert_or_assign(keyword, m_factory.create(keyword));</span></span>
|
||||||
|
<span id="L140"><span class="lineNum"> 140</span> :<span class="tlaGNC"> 14236 : }</span></span>
|
||||||
|
<span id="L141"><span class="lineNum"> 141</span> : : </span>
|
||||||
|
<span id="L142"><span class="lineNum"> 142</span> : : /** Returns false for an unregistered keyword; input must be trimmed. */</span>
|
||||||
|
<span id="L143"><span class="lineNum"> 143</span> : : bool Dispatch(const std::string &line, DbcParseContext &context) const;</span>
|
||||||
|
<span id="L144"><span class="lineNum"> 144</span> : : </span>
|
||||||
|
<span id="L145"><span class="lineNum"> 145</span> : : private:</span>
|
||||||
|
<span id="L146"><span class="lineNum"> 146</span> : : using HandlerMap = std::unordered_map<std::string, std::shared_ptr<DbcStatementHandler>>;</span>
|
||||||
|
<span id="L147"><span class="lineNum"> 147</span> : : TypeFactory<std::string, DbcStatementHandler> m_factory;</span>
|
||||||
|
<span id="L148"><span class="lineNum"> 148</span> : : HandlerMap m_handlers;</span>
|
||||||
|
<span id="L149"><span class="lineNum"> 149</span> : : };</span>
|
||||||
|
<span id="L150"><span class="lineNum"> 150</span> : : </span>
|
||||||
|
<span id="L151"><span class="lineNum"> 151</span> : : #endif /* DBC_STATEMENT_HANDLER_H */</span>
|
||||||
|
</pre>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,93 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/dbc_tree_builder.cpp - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - dbc_tree_builder.cpp<span style="font-size: 80%;"> (<a href="dbc_tree_builder.cpp.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">91.7 %</td>
|
||||||
|
<td class="headerCovTableEntry">12</td>
|
||||||
|
<td class="headerCovTableEntry">11</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryLo">66.7 %</td>
|
||||||
|
<td class="headerCovTableEntry">12</td>
|
||||||
|
<td class="headerCovTableEntry">8</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><a href="dbc_tree_builder.cpp.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></a></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_tree_builder.cpp.gcov.html#L12">DbcTreeBuilder::Build(DbcDatabase const&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">22</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,93 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/dbc_tree_builder.cpp - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - dbc_tree_builder.cpp<span style="font-size: 80%;"> (<a href="dbc_tree_builder.cpp.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">91.7 %</td>
|
||||||
|
<td class="headerCovTableEntry">12</td>
|
||||||
|
<td class="headerCovTableEntry">11</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryLo">66.7 %</td>
|
||||||
|
<td class="headerCovTableEntry">12</td>
|
||||||
|
<td class="headerCovTableEntry">8</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><a href="dbc_tree_builder.cpp.func-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></a></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="dbc_tree_builder.cpp.gcov.html#L12">DbcTreeBuilder::Build(DbcDatabase const&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">22</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,114 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/dbc_tree_builder.cpp</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - dbc_tree_builder.cpp<span style="font-size: 80%;"> (source / <a href="dbc_tree_builder.cpp.func-c.html" title="Click to go to function table">functions</a>)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">91.7 %</td>
|
||||||
|
<td class="headerCovTableEntry">12</td>
|
||||||
|
<td class="headerCovTableEntry">11</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryLo">66.7 %</td>
|
||||||
|
<td class="headerCovTableEntry">12</td>
|
||||||
|
<td class="headerCovTableEntry">8</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table cellpadding=0 cellspacing=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td><br></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<pre class="sourceHeading"> Branch data Line data Source code</pre>
|
||||||
|
<pre class="source">
|
||||||
|
<span id="L1"><span class="lineNum"> 1</span> : : /**</span>
|
||||||
|
<span id="L2"><span class="lineNum"> 2</span> : : * @file dbc_tree_builder.cpp</span>
|
||||||
|
<span id="L3"><span class="lineNum"> 3</span> : : * @brief Construction of frame and signal metadata trees.</span>
|
||||||
|
<span id="L4"><span class="lineNum"> 4</span> : : *</span>
|
||||||
|
<span id="L5"><span class="lineNum"> 5</span> : : * Created: 2026-03-13</span>
|
||||||
|
<span id="L6"><span class="lineNum"> 6</span> : : * Author: Deeaitch (Dim. Himro)</span>
|
||||||
|
<span id="L7"><span class="lineNum"> 7</span> : : *</span>
|
||||||
|
<span id="L8"><span class="lineNum"> 8</span> : : * Licensed under the MIT License.</span>
|
||||||
|
<span id="L9"><span class="lineNum"> 9</span> : : * See LICENSE file in the project root for full license text.</span>
|
||||||
|
<span id="L10"><span class="lineNum"> 10</span> : : */</span>
|
||||||
|
<span id="L11"><span class="lineNum"> 11</span> : : </span>
|
||||||
|
<span id="L12"><span class="lineNum"> 12</span> : : #include "dbc_tree_builder.h"</span>
|
||||||
|
<span id="L13"><span class="lineNum"> 13</span> : : </span>
|
||||||
|
<span id="L14"><span class="lineNum"> 14</span> :<span class="tlaGNC"> 22 : std::unique_ptr<TreeNode> DbcTreeBuilder::Build(const DbcDatabase &database) const {</span></span>
|
||||||
|
<span id="L15"><span class="lineNum"> 15</span> :<span class="tlaGNC"> 22 : std::unique_ptr<TreeNode> root = std::make_unique<TreeNode>();</span></span>
|
||||||
|
<span id="L16"><span class="lineNum"> 16</span> : : </span>
|
||||||
|
<span id="L17"><span class="lineNum"> 17</span> [<span class="tlaGBC" title="Branch 0 was taken 31 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 22 times"> + </span>]:<span class="tlaGNC"> 53 : for (const FrameInfo &frame : database.frames) {</span></span>
|
||||||
|
<span id="L18"><span class="lineNum"> 18</span> [<span class="tlaGBC" title="Branch 0 was taken 31 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 31 : std::unique_ptr<TreeNode> frameNode = std::make_unique<TreeNode>(frame);</span></span>
|
||||||
|
<span id="L19"><span class="lineNum"> 19</span> : : </span>
|
||||||
|
<span id="L20"><span class="lineNum"> 20</span> [<span class="tlaGBC" title="Branch 0 was taken 44 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 31 times"> + </span>]:<span class="tlaGNC"> 75 : for (const SignalInfo &signal : frame.signals) {</span></span>
|
||||||
|
<span id="L21"><span class="lineNum"> 21</span> [<span class="tlaGBC" title="Branch 0 was taken 44 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 44 : std::unique_ptr<TreeNode> signalNode = std::make_unique<TreeNode>(signal);</span></span>
|
||||||
|
<span id="L22"><span class="lineNum"> 22</span> [<span class="tlaGBC" title="Branch 0 was taken 44 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 44 : frameNode->AddChild(std::move(signalNode));</span></span>
|
||||||
|
<span id="L23"><span class="lineNum"> 23</span> :<span class="tlaGNC"> 44 : }</span></span>
|
||||||
|
<span id="L24"><span class="lineNum"> 24</span> : : </span>
|
||||||
|
<span id="L25"><span class="lineNum"> 25</span> [<span class="tlaGBC" title="Branch 0 was taken 31 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 31 : root->AddChild(std::move(frameNode));</span></span>
|
||||||
|
<span id="L26"><span class="lineNum"> 26</span> :<span class="tlaGNC"> 31 : }</span></span>
|
||||||
|
<span id="L27"><span class="lineNum"> 27</span> : : </span>
|
||||||
|
<span id="L28"><span class="lineNum"> 28</span> :<span class="tlaGNC"> 22 : return root;</span></span>
|
||||||
|
<span id="L29"><span class="lineNum"> 29</span> :<span class="tlaUNC"> 0 : }</span></span>
|
||||||
|
</pre>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,165 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/decode_database.cpp - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - decode_database.cpp<span style="font-size: 80%;"> (<a href="decode_database.cpp.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">99.1 %</td>
|
||||||
|
<td class="headerCovTableEntry">110</td>
|
||||||
|
<td class="headerCovTableEntry">109</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">10</td>
|
||||||
|
<td class="headerCovTableEntry">10</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryMed">80.2 %</td>
|
||||||
|
<td class="headerCovTableEntry">182</td>
|
||||||
|
<td class="headerCovTableEntry">146</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><a href="decode_database.cpp.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></a></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="decode_database.cpp.gcov.html#L144">DecodeDatabase::FindSignal(SignalKey const&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">53</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="decode_database.cpp.gcov.html#L46">(anonymous namespace)::AreMutuallyExclusive(DecodeSignal const&, DecodeSignal const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">71</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="decode_database.cpp.gcov.html#L113">DecodeDatabase::GetFrames() const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">76</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="decode_database.cpp.gcov.html#L128">DecodeDatabase::FindFrameByPgn(unsigned int) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">116</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="decode_database.cpp.gcov.html#L33">(anonymous namespace)::GetSignalBits(DecodeSignal const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">2364</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="decode_database.cpp.gcov.html#L109">DecodeDatabase::DecodeDatabase(std::vector<DecodeFrame, std::allocator<DecodeFrame> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">2394</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="decode_database.cpp.gcov.html#L91">DecodeDatabase::Storage::Storage(std::vector<DecodeFrame, std::allocator<DecodeFrame> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">2394</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="decode_database.cpp.gcov.html#L52">(anonymous namespace)::ValidateFrame(DecodeFrame const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">2447</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="decode_database.cpp.gcov.html#L15">(anonymous namespace)::ValidateSignal(DecodeSignal const&, unsigned char)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">2476</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="decode_database.cpp.gcov.html#L118">DecodeDatabase::FindFrame(FrameKey const&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">6555</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,165 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/decode_database.cpp - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - decode_database.cpp<span style="font-size: 80%;"> (<a href="decode_database.cpp.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">99.1 %</td>
|
||||||
|
<td class="headerCovTableEntry">110</td>
|
||||||
|
<td class="headerCovTableEntry">109</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">10</td>
|
||||||
|
<td class="headerCovTableEntry">10</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryMed">80.2 %</td>
|
||||||
|
<td class="headerCovTableEntry">182</td>
|
||||||
|
<td class="headerCovTableEntry">146</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><a href="decode_database.cpp.func-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></a></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="decode_database.cpp.gcov.html#L46">(anonymous namespace)::AreMutuallyExclusive(DecodeSignal const&, DecodeSignal const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">71</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="decode_database.cpp.gcov.html#L33">(anonymous namespace)::GetSignalBits(DecodeSignal const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">2364</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="decode_database.cpp.gcov.html#L52">(anonymous namespace)::ValidateFrame(DecodeFrame const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">2447</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="decode_database.cpp.gcov.html#L15">(anonymous namespace)::ValidateSignal(DecodeSignal const&, unsigned char)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">2476</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="decode_database.cpp.gcov.html#L109">DecodeDatabase::DecodeDatabase(std::vector<DecodeFrame, std::allocator<DecodeFrame> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">2394</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="decode_database.cpp.gcov.html#L118">DecodeDatabase::FindFrame(FrameKey const&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">6555</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="decode_database.cpp.gcov.html#L128">DecodeDatabase::FindFrameByPgn(unsigned int) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">116</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="decode_database.cpp.gcov.html#L144">DecodeDatabase::FindSignal(SignalKey const&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">53</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="decode_database.cpp.gcov.html#L113">DecodeDatabase::GetFrames() const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">76</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="decode_database.cpp.gcov.html#L91">DecodeDatabase::Storage::Storage(std::vector<DecodeFrame, std::allocator<DecodeFrame> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">2394</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,243 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/decode_database.cpp</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - decode_database.cpp<span style="font-size: 80%;"> (source / <a href="decode_database.cpp.func-c.html" title="Click to go to function table">functions</a>)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">99.1 %</td>
|
||||||
|
<td class="headerCovTableEntry">110</td>
|
||||||
|
<td class="headerCovTableEntry">109</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">10</td>
|
||||||
|
<td class="headerCovTableEntry">10</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryMed">80.2 %</td>
|
||||||
|
<td class="headerCovTableEntry">182</td>
|
||||||
|
<td class="headerCovTableEntry">146</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table cellpadding=0 cellspacing=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td><br></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<pre class="sourceHeading"> Branch data Line data Source code</pre>
|
||||||
|
<pre class="source">
|
||||||
|
<span id="L1"><span class="lineNum"> 1</span> : : // SPDX-License-Identifier: MIT</span>
|
||||||
|
<span id="L2"><span class="lineNum"> 2</span> : : // Copyright (c) 2026 Dim Himro</span>
|
||||||
|
<span id="L3"><span class="lineNum"> 3</span> : : </span>
|
||||||
|
<span id="L4"><span class="lineNum"> 4</span> : : #include "decode_database.h"</span>
|
||||||
|
<span id="L5"><span class="lineNum"> 5</span> : : #include "j1939.h"</span>
|
||||||
|
<span id="L6"><span class="lineNum"> 6</span> : : #include "signal_layout.h"</span>
|
||||||
|
<span id="L7"><span class="lineNum"> 7</span> : : #include <bitset></span>
|
||||||
|
<span id="L8"><span class="lineNum"> 8</span> : : #include <cmath></span>
|
||||||
|
<span id="L9"><span class="lineNum"> 9</span> : : #include <limits></span>
|
||||||
|
<span id="L10"><span class="lineNum"> 10</span> : : #include <stdexcept></span>
|
||||||
|
<span id="L11"><span class="lineNum"> 11</span> : : #include <unordered_set></span>
|
||||||
|
<span id="L12"><span class="lineNum"> 12</span> : : </span>
|
||||||
|
<span id="L13"><span class="lineNum"> 13</span> : : namespace {</span>
|
||||||
|
<span id="L14"><span class="lineNum"> 14</span> : : constexpr std::size_t MaximumPayloadBits = std::numeric_limits<std::uint8_t>::max() * 8U;</span>
|
||||||
|
<span id="L15"><span class="lineNum"> 15</span> : : using SignalBits = std::bitset<MaximumPayloadBits>;</span>
|
||||||
|
<span id="L16"><span class="lineNum"> 16</span> : : </span>
|
||||||
|
<span id="L17"><span class="lineNum"> 17</span> :<span class="tlaGNC"> 2476 : void ValidateSignal(const DecodeSignal &signal, std::uint8_t dlc) {</span></span>
|
||||||
|
<span id="L18"><span class="lineNum"> 18</span> [<span class="tlaGBC" title="Branch 0 was taken 1133 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 1343 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 3 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 1130 times"> + </span>]:<span class="tlaGNC"> 2476 : if (signal.byteOrder != ByteOrder::Intel && signal.byteOrder != ByteOrder::Motorola)</span></span>
|
||||||
|
<span id="L19"><span class="lineNum"> 19</span> [<span class="tlaGBC" title="Branch 0 was taken 3 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 3 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 3 : throw std::invalid_argument("Invalid signal byte order: " + signal.name);</span></span>
|
||||||
|
<span id="L20"><span class="lineNum"> 20</span> [<span class="tlaGBC" title="Branch 0 was taken 93 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2380 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 3 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 90 times"> + </span>]:<span class="tlaGNC"> 2473 : if (signal.valueType != ValueType::Unsigned && signal.valueType != ValueType::Signed)</span></span>
|
||||||
|
<span id="L21"><span class="lineNum"> 21</span> [<span class="tlaGBC" title="Branch 0 was taken 3 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 3 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 3 : throw std::invalid_argument("Invalid signal value type: " + signal.name);</span></span>
|
||||||
|
<span id="L22"><span class="lineNum"> 22</span> [<span class="tlaGBC" title="Branch 0 was taken 75 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2395 times"> + </span>]:<span class="tlaGNC"> 2470 : if (signal.multiplexing.role != MultiplexRole::Unconditional &&</span></span>
|
||||||
|
<span id="L23"><span class="lineNum"> 23</span> [<span class="tlaGBC" title="Branch 0 was taken 38 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 37 times"> + </span>]:<span class="tlaGNC"> 75 : signal.multiplexing.role != MultiplexRole::Selector &&</span></span>
|
||||||
|
<span id="L24"><span class="lineNum"> 24</span> [<span class="tlaGBC" title="Branch 0 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 34 times"> + </span>]:<span class="tlaGNC"> 38 : signal.multiplexing.role != MultiplexRole::Branch)</span></span>
|
||||||
|
<span id="L25"><span class="lineNum"> 25</span> [<span class="tlaGBC" title="Branch 0 was taken 4 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 4 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 4 : throw std::invalid_argument("Invalid multiplexing role: " + signal.name);</span></span>
|
||||||
|
<span id="L26"><span class="lineNum"> 26</span> [<span class="tlaGBC" title="Branch 0 was taken 36 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2430 times"> + </span>]:<span class="tlaGNC"> 2466 : if (!IsValidSignalLayout(signal.startBit, signal.length,</span></span>
|
||||||
|
<span id="L27"><span class="lineNum"> 27</span> :<span class="tlaGNC"> 2466 : signal.byteOrder == ByteOrder::Intel, dlc))</span></span>
|
||||||
|
<span id="L28"><span class="lineNum"> 28</span> [<span class="tlaGBC" title="Branch 0 was taken 36 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 36 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 36 : throw std::invalid_argument("Invalid signal length or payload position: " + signal.name);</span></span>
|
||||||
|
<span id="L29"><span class="lineNum"> 29</span> [<span class="tlaGBC" title="Branch 0 was taken 2405 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 12 times"> + </span>]:<span class="tlaGNC"> 4847 : if (!std::isfinite(signal.factor) || !std::isfinite(signal.offset) ||</span></span>
|
||||||
|
<span id="L30"><span class="lineNum"> 30</span> [<span class="tlaGBC" title="Branch 0 was taken 2417 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 13 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 2399 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 6 times"> + </span> :<span class="tlaGNC"> 7240 : !std::isfinite(signal.minimum) || !std::isfinite(signal.maximum) ||</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 2393 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 6 times"> + </span><span class="tlaGBC" title="Branch 6 was taken 39 times"> + </span><span class="tlaGBC" title="Branch 7 was taken 2391 times"> + </span>]
|
||||||
|
<span id="L31"><span class="lineNum"> 31</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2391 times"> + </span>]:<span class="tlaGNC"> 2393 : signal.minimum > signal.maximum)</span></span>
|
||||||
|
<span id="L32"><span class="lineNum"> 32</span> [<span class="tlaGBC" title="Branch 0 was taken 39 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 39 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 39 : throw std::invalid_argument("Invalid signal numeric parameters: " + signal.name);</span></span>
|
||||||
|
<span id="L33"><span class="lineNum"> 33</span> :<span class="tlaGNC"> 2391 : }</span></span>
|
||||||
|
<span id="L34"><span class="lineNum"> 34</span> : : </span>
|
||||||
|
<span id="L35"><span class="lineNum"> 35</span> :<span class="tlaGNC"> 2364 : SignalBits GetSignalBits(const DecodeSignal &signal) {</span></span>
|
||||||
|
<span id="L36"><span class="lineNum"> 36</span> :<span class="tlaGNC"> 2364 : SignalBits bits;</span></span>
|
||||||
|
<span id="L37"><span class="lineNum"> 37</span> :<span class="tlaGNC"> 2364 : const bool littleEndian = signal.byteOrder == ByteOrder::Intel;</span></span>
|
||||||
|
<span id="L38"><span class="lineNum"> 38</span> :<span class="tlaGNC"> 2364 : const std::uint64_t start = SignalStartCoordinate(signal.startBit, littleEndian);</span></span>
|
||||||
|
<span id="L39"><span class="lineNum"> 39</span> [<span class="tlaGBC" title="Branch 0 was taken 73229 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2364 times"> + </span>]:<span class="tlaGNC"> 75593 : for (std::uint32_t index = 0U; index < signal.length; ++index) {</span></span>
|
||||||
|
<span id="L40"><span class="lineNum"> 40</span> :<span class="tlaGNC"> 73229 : const std::uint64_t coordinate = start + index;</span></span>
|
||||||
|
<span id="L41"><span class="lineNum"> 41</span> [<span class="tlaGBC" title="Branch 0 was taken 37131 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 36098 times"> + </span>]:<span class="tlaGNC"> 73229 : const std::uint64_t bit = littleEndian ? coordinate</span></span>
|
||||||
|
<span id="L42"><span class="lineNum"> 42</span> :<span class="tlaGNC"> 36098 : : coordinate / 8U * 8U + 7U - coordinate % 8U;</span></span>
|
||||||
|
<span id="L43"><span class="lineNum"> 43</span> :<span class="tlaGNC"> 73229 : bits.set(static_cast<std::size_t>(bit));</span></span>
|
||||||
|
<span id="L44"><span class="lineNum"> 44</span> : : }</span>
|
||||||
|
<span id="L45"><span class="lineNum"> 45</span> :<span class="tlaGNC"> 2364 : return bits;</span></span>
|
||||||
|
<span id="L46"><span class="lineNum"> 46</span> : : }</span>
|
||||||
|
<span id="L47"><span class="lineNum"> 47</span> : : </span>
|
||||||
|
<span id="L48"><span class="lineNum"> 48</span> :<span class="tlaGNC"> 71 : bool AreMutuallyExclusive(const DecodeSignal &first, const DecodeSignal &second) {</span></span>
|
||||||
|
<span id="L49"><span class="lineNum"> 49</span> :<span class="tlaGNC"> 96 : return first.multiplexing.role == MultiplexRole::Branch &&</span></span>
|
||||||
|
<span id="L50"><span class="lineNum"> 50</span> [<span class="tlaGBC" title="Branch 0 was taken 25 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 46 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 6 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 19 times"> + </span>]:<span class="tlaGNC"> 77 : second.multiplexing.role == MultiplexRole::Branch &&</span></span>
|
||||||
|
<span id="L51"><span class="lineNum"> 51</span> [<span class="tlaGBC" title="Branch 0 was taken 3 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 3 times"> + </span>]:<span class="tlaGNC"> 77 : first.multiplexing.value != second.multiplexing.value;</span></span>
|
||||||
|
<span id="L52"><span class="lineNum"> 52</span> : : }</span>
|
||||||
|
<span id="L53"><span class="lineNum"> 53</span> : : </span>
|
||||||
|
<span id="L54"><span class="lineNum"> 54</span> :<span class="tlaGNC"> 2447 : void ValidateFrame(const DecodeFrame &frame) {</span></span>
|
||||||
|
<span id="L55"><span class="lineNum"> 55</span> [<span class="tlaGBC" title="Branch 0 was taken 72 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2375 times"> + </span>]:<span class="tlaGNC"> 2447 : const std::uint32_t maximumId = frame.isExtended ? 0x1FFFFFFFU : 0x7FFU;</span></span>
|
||||||
|
<span id="L56"><span class="lineNum"> 56</span> [<span class="tlaGBC" title="Branch 0 was taken 9 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2438 times"> + </span>]:<span class="tlaGNC"> 2447 : if (frame.canId > maximumId)</span></span>
|
||||||
|
<span id="L57"><span class="lineNum"> 57</span> [<span class="tlaGBC" title="Branch 0 was taken 9 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 9 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 9 : throw std::invalid_argument("Invalid normalized CAN ID: " + std::to_string(frame.canId));</span></span>
|
||||||
|
<span id="L58"><span class="lineNum"> 58</span> : : </span>
|
||||||
|
<span id="L59"><span class="lineNum"> 59</span> [<span class="tlaGBC" title="Branch 0 was taken 24 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2414 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 23 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 1 time"> + </span> :<span class="tlaGNC"> 2438 : if (frame.hasPgn && (!frame.isExtended || frame.pgn != ExtractJ1939Pgn(frame.canId)))</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 21 times"> + </span><span class="tlaGBC" title="Branch 6 was taken 3 times"> + </span><span class="tlaGBC" title="Branch 7 was taken 2435 times"> + </span>]
|
||||||
|
<span id="L60"><span class="lineNum"> 60</span> [<span class="tlaGBC" title="Branch 0 was taken 3 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 3 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 3 : throw std::invalid_argument("Invalid J1939 PGN metadata: " + frame.name);</span></span>
|
||||||
|
<span id="L61"><span class="lineNum"> 61</span> : : </span>
|
||||||
|
<span id="L62"><span class="lineNum"> 62</span> :<span class="tlaGNC"> 2435 : std::unordered_set<std::string> names;</span></span>
|
||||||
|
<span id="L63"><span class="lineNum"> 63</span> :<span class="tlaGNC"> 2435 : const DecodeSignal *selector = nullptr;</span></span>
|
||||||
|
<span id="L64"><span class="lineNum"> 64</span> [<span class="tlaGBC" title="Branch 0 was taken 2480 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2340 times"> + </span>]:<span class="tlaGNC"> 4820 : for (const DecodeSignal &signal: frame.signals) {</span></span>
|
||||||
|
<span id="L65"><span class="lineNum"> 65</span> [<span class="tlaGBC" title="Branch 0 was taken 2480 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 2476 times"> + </span>]:<span class="tlaGNC"> 2480 : if (!names.insert(signal.name).second)</span></span>
|
||||||
|
<span id="L66"><span class="lineNum"> 66</span> [<span class="tlaGBC" title="Branch 0 was taken 4 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 4 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 4 : throw std::invalid_argument("Duplicate runtime signal key: " + signal.name);</span></span>
|
||||||
|
<span id="L67"><span class="lineNum"> 67</span> [<span class="tlaGBC" title="Branch 0 was taken 2391 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 85 times"> + </span>]:<span class="tlaGNC"> 2476 : ValidateSignal(signal, frame.dlc);</span></span>
|
||||||
|
<span id="L68"><span class="lineNum"> 68</span> [<span class="tlaGBC" title="Branch 0 was taken 35 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2356 times"> + </span>]:<span class="tlaGNC"> 2391 : if (signal.multiplexing.role == MultiplexRole::Selector) {</span></span>
|
||||||
|
<span id="L69"><span class="lineNum"> 69</span> [<span class="tlaGBC" title="Branch 0 was taken 32 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 3 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 3 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 29 times"> + </span>]:<span class="tlaGNC"> 35 : if (selector != nullptr || signal.valueType != ValueType::Unsigned)</span></span>
|
||||||
|
<span id="L70"><span class="lineNum"> 70</span> [<span class="tlaGBC" title="Branch 0 was taken 6 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 6 : throw std::invalid_argument("Multiplexing requires one unsigned selector per frame");</span></span>
|
||||||
|
<span id="L71"><span class="lineNum"> 71</span> :<span class="tlaGNC"> 29 : selector = &signal;</span></span>
|
||||||
|
<span id="L72"><span class="lineNum"> 72</span> : : }</span>
|
||||||
|
<span id="L73"><span class="lineNum"> 73</span> : : }</span>
|
||||||
|
<span id="L74"><span class="lineNum"> 74</span> : : </span>
|
||||||
|
<span id="L75"><span class="lineNum"> 75</span> :<span class="tlaGNC"> 2340 : std::vector<SignalBits> layouts;</span></span>
|
||||||
|
<span id="L76"><span class="lineNum"> 76</span> [<span class="tlaGBC" title="Branch 0 was taken 2340 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2340 : layouts.reserve(frame.signals.size());</span></span>
|
||||||
|
<span id="L77"><span class="lineNum"> 77</span> [<span class="tlaGBC" title="Branch 0 was taken 2372 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2324 times"> + </span>]:<span class="tlaGNC"> 4696 : for (std::size_t index = 0U; index < frame.signals.size(); ++index) {</span></span>
|
||||||
|
<span id="L78"><span class="lineNum"> 78</span> :<span class="tlaGNC"> 2372 : const DecodeSignal &signal = frame.signals[index];</span></span>
|
||||||
|
<span id="L79"><span class="lineNum"> 79</span> [<span class="tlaGBC" title="Branch 0 was taken 32 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2340 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 27 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 5 times"> + </span>]:<span class="tlaGNC"> 2372 : if (signal.multiplexing.role == MultiplexRole::Branch &&</span></span>
|
||||||
|
<span id="L80"><span class="lineNum"> 80</span> :<span class="tlaGNC"> 27 : (selector == nullptr ||</span></span>
|
||||||
|
<span id="L81"><span class="lineNum"> 81</span> [<span class="tlaGBC" title="Branch 0 was taken 22 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 5 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 3 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 19 times"> + </span>]:<span class="tlaGNC"> 27 : (selector->length < 64U && signal.multiplexing.value >= (std::uint64_t(1U) << selector->length))))</span></span>
|
||||||
|
<span id="L82"><span class="lineNum"> 82</span> [<span class="tlaGBC" title="Branch 0 was taken 8 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 8 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 8 : throw std::invalid_argument("Missing selector or branch value outside selector range: " + signal.name);</span></span>
|
||||||
|
<span id="L83"><span class="lineNum"> 83</span> [<span class="tlaGBC" title="Branch 0 was taken 2364 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2364 : const SignalBits bits = GetSignalBits(signal);</span></span>
|
||||||
|
<span id="L84"><span class="lineNum"> 84</span> [<span class="tlaGBC" title="Branch 0 was taken 71 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2356 times"> + </span>]:<span class="tlaGNC"> 2427 : for (std::size_t previous = 0U; previous < index; ++previous) {</span></span>
|
||||||
|
<span id="L85"><span class="lineNum"> 85</span> [<span class="tlaGBC" title="Branch 0 was taken 68 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 3 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 8 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 60 times"> + </span> :<span class="tlaGNC"> 71 : if (!AreMutuallyExclusive(signal, frame.signals[previous]) && (bits & layouts[previous]).any())</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 8 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 63 times"> + </span>]
|
||||||
|
<span id="L86"><span class="lineNum"> 86</span> [<span class="tlaGBC" title="Branch 0 was taken 8 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 8 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 8 : throw std::invalid_argument("Overlapping signals: " + signal.name);</span></span>
|
||||||
|
<span id="L87"><span class="lineNum"> 87</span> : : }</span>
|
||||||
|
<span id="L88"><span class="lineNum"> 88</span> [<span class="tlaGBC" title="Branch 0 was taken 2356 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2356 : layouts.push_back(bits);</span></span>
|
||||||
|
<span id="L89"><span class="lineNum"> 89</span> : : }</span>
|
||||||
|
<span id="L90"><span class="lineNum"> 90</span> :<span class="tlaGNC"> 2451 : }</span></span>
|
||||||
|
<span id="L91"><span class="lineNum"> 91</span> : : }// namespace</span>
|
||||||
|
<span id="L92"><span class="lineNum"> 92</span> : : </span>
|
||||||
|
<span id="L93"><span class="lineNum"> 93</span> :<span class="tlaGNC"> 2394 : DecodeDatabase::Storage::Storage(const std::vector<DecodeFrame> &definitions)</span></span>
|
||||||
|
<span id="L94"><span class="lineNum"> 94</span> :<span class="tlaGNC"> 2394 : : frames(definitions) {</span></span>
|
||||||
|
<span id="L95"><span class="lineNum"> 95</span> : : // Validate the complete snapshot before creating its lookup index.</span>
|
||||||
|
<span id="L96"><span class="lineNum"> 96</span> :<span class="tlaGNC"> 2394 : std::unordered_set<FrameKey, FrameKeyHasher> keys;</span></span>
|
||||||
|
<span id="L97"><span class="lineNum"> 97</span> [<span class="tlaGBC" title="Branch 0 was taken 2394 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2394 : keys.reserve(frames.size());</span></span>
|
||||||
|
<span id="L98"><span class="lineNum"> 98</span> [<span class="tlaGBC" title="Branch 0 was taken 2447 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2266 times"> + </span>]:<span class="tlaGNC"> 4713 : for (const DecodeFrame &frame: frames) {</span></span>
|
||||||
|
<span id="L99"><span class="lineNum"> 99</span> [<span class="tlaGBC" title="Branch 0 was taken 2324 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 123 times"> + </span>]:<span class="tlaGNC"> 2447 : ValidateFrame(frame);</span></span>
|
||||||
|
<span id="L100"><span class="lineNum"> 100</span> [<span class="tlaGBC" title="Branch 0 was taken 2324 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 5 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 2319 times"> + </span>]:<span class="tlaGNC"> 2324 : if (!keys.insert(frame.GetKey()).second)</span></span>
|
||||||
|
<span id="L101"><span class="lineNum"> 101</span> [<span class="tlaGBC" title="Branch 0 was taken 5 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 5 : throw std::invalid_argument("Duplicate runtime frame key");</span></span>
|
||||||
|
<span id="L102"><span class="lineNum"> 102</span> : : }</span>
|
||||||
|
<span id="L103"><span class="lineNum"> 103</span> [<span class="tlaGBC" title="Branch 0 was taken 2266 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2266 : frameIndexByKey.reserve(frames.size());</span></span>
|
||||||
|
<span id="L104"><span class="lineNum"> 104</span> [<span class="tlaGBC" title="Branch 0 was taken 2314 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2266 times"> + </span>]:<span class="tlaGNC"> 4580 : for (std::size_t index = 0U; index < frames.size(); ++index) {</span></span>
|
||||||
|
<span id="L105"><span class="lineNum"> 105</span> [<span class="tlaGBC" title="Branch 0 was taken 2314 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2314 : frameIndexByKey.emplace(frames[index].GetKey(), index);</span></span>
|
||||||
|
<span id="L106"><span class="lineNum"> 106</span> [<span class="tlaGBC" title="Branch 0 was taken 21 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2293 times"> + </span>]:<span class="tlaGNC"> 2314 : if (frames[index].hasPgn)</span></span>
|
||||||
|
<span id="L107"><span class="lineNum"> 107</span> [<span class="tlaGBC" title="Branch 0 was taken 21 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 21 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 21 : frameIndicesByPgn[frames[index].pgn].push_back(index);</span></span>
|
||||||
|
<span id="L108"><span class="lineNum"> 108</span> : : }</span>
|
||||||
|
<span id="L109"><span class="lineNum"> 109</span> :<span class="tlaGNC"> 2778 : }</span></span>
|
||||||
|
<span id="L110"><span class="lineNum"> 110</span> : : </span>
|
||||||
|
<span id="L111"><span class="lineNum"> 111</span> :<span class="tlaGNC"> 2394 : DecodeDatabase::DecodeDatabase(const std::vector<DecodeFrame> &frames)</span></span>
|
||||||
|
<span id="L112"><span class="lineNum"> 112</span> :<span class="tlaGNC"> 2394 : : storage(std::make_shared<const Storage>(frames)) {</span></span>
|
||||||
|
<span id="L113"><span class="lineNum"> 113</span> :<span class="tlaGNC"> 2266 : }</span></span>
|
||||||
|
<span id="L114"><span class="lineNum"> 114</span> : : </span>
|
||||||
|
<span id="L115"><span class="lineNum"> 115</span> :<span class="tlaGNC"> 76 : const std::vector<DecodeFrame> &DecodeDatabase::GetFrames() const {</span></span>
|
||||||
|
<span id="L116"><span class="lineNum"> 116</span> [<span class="tlaGBC" title="Branch 0 was taken 1 time"> + </span><span class="tlaGBC" title="Branch 1 was taken 75 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 1 time"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 76 : static const std::vector<DecodeFrame> empty;</span></span>
|
||||||
|
<span id="L117"><span class="lineNum"> 117</span> [<span class="tlaGBC" title="Branch 0 was taken 74 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2 times"> + </span>]:<span class="tlaGNC"> 76 : return storage ? storage->frames : empty;</span></span>
|
||||||
|
<span id="L118"><span class="lineNum"> 118</span> : : }</span>
|
||||||
|
<span id="L119"><span class="lineNum"> 119</span> : : </span>
|
||||||
|
<span id="L120"><span class="lineNum"> 120</span> :<span class="tlaGNC"> 6555 : std::shared_ptr<const DecodeFrame> DecodeDatabase::FindFrame(const FrameKey &key) const {</span></span>
|
||||||
|
<span id="L121"><span class="lineNum"> 121</span> [<span class="tlaGBC" title="Branch 0 was taken 16 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 6539 times"> + </span>]:<span class="tlaGNC"> 6555 : if (!storage)</span></span>
|
||||||
|
<span id="L122"><span class="lineNum"> 122</span> :<span class="tlaGNC"> 16 : return nullptr;</span></span>
|
||||||
|
<span id="L123"><span class="lineNum"> 123</span> : : const std::unordered_map<FrameKey, std::size_t, FrameKeyHasher>::const_iterator it =</span>
|
||||||
|
<span id="L124"><span class="lineNum"> 124</span> [<span class="tlaGBC" title="Branch 0 was taken 6539 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 6539 : storage->frameIndexByKey.find(key);</span></span>
|
||||||
|
<span id="L125"><span class="lineNum"> 125</span> [<span class="tlaGBC" title="Branch 0 was taken 115 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 6424 times"> + </span>]:<span class="tlaGNC"> 6539 : if (it == storage->frameIndexByKey.end())</span></span>
|
||||||
|
<span id="L126"><span class="lineNum"> 126</span> :<span class="tlaGNC"> 115 : return nullptr;</span></span>
|
||||||
|
<span id="L127"><span class="lineNum"> 127</span> :<span class="tlaGNC"> 6424 : return std::shared_ptr<const DecodeFrame>(storage, &storage->frames[it->second]);</span></span>
|
||||||
|
<span id="L128"><span class="lineNum"> 128</span> : : }</span>
|
||||||
|
<span id="L129"><span class="lineNum"> 129</span> : : </span>
|
||||||
|
<span id="L130"><span class="lineNum"> 130</span> :<span class="tlaGNC"> 116 : PgnLookupResult DecodeDatabase::FindFrameByPgn(std::uint32_t pgn) const {</span></span>
|
||||||
|
<span id="L131"><span class="lineNum"> 131</span> :<span class="tlaGNC"> 116 : PgnLookupResult result;</span></span>
|
||||||
|
<span id="L132"><span class="lineNum"> 132</span> [<span class="tlaGBC" title="Branch 0 was taken 24 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 92 times"> + </span>]:<span class="tlaGNC"> 116 : if (!storage)</span></span>
|
||||||
|
<span id="L133"><span class="lineNum"> 133</span> :<span class="tlaGNC"> 24 : return result;</span></span>
|
||||||
|
<span id="L134"><span class="lineNum"> 134</span> : : const std::unordered_map<std::uint32_t, std::vector<std::size_t>>::const_iterator it =</span>
|
||||||
|
<span id="L135"><span class="lineNum"> 135</span> [<span class="tlaGBC" title="Branch 0 was taken 92 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 92 : storage->frameIndicesByPgn.find(pgn);</span></span>
|
||||||
|
<span id="L136"><span class="lineNum"> 136</span> [<span class="tlaGBC" title="Branch 0 was taken 47 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 45 times"> + </span>]:<span class="tlaGNC"> 92 : if (it == storage->frameIndicesByPgn.end())</span></span>
|
||||||
|
<span id="L137"><span class="lineNum"> 137</span> :<span class="tlaGNC"> 47 : return result;</span></span>
|
||||||
|
<span id="L138"><span class="lineNum"> 138</span> [<span class="tlaGBC" title="Branch 0 was taken 16 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 29 times"> + </span>]:<span class="tlaGNC"> 45 : if (it->second.size() != 1U) {</span></span>
|
||||||
|
<span id="L139"><span class="lineNum"> 139</span> :<span class="tlaGNC"> 16 : result.ambiguous = true;</span></span>
|
||||||
|
<span id="L140"><span class="lineNum"> 140</span> :<span class="tlaGNC"> 16 : return result;</span></span>
|
||||||
|
<span id="L141"><span class="lineNum"> 141</span> : : }</span>
|
||||||
|
<span id="L142"><span class="lineNum"> 142</span> :<span class="tlaGNC"> 29 : result.definition = std::shared_ptr<const DecodeFrame>(storage, &storage->frames[it->second[0]]);</span></span>
|
||||||
|
<span id="L143"><span class="lineNum"> 143</span> :<span class="tlaGNC"> 29 : return result;</span></span>
|
||||||
|
<span id="L144"><span class="lineNum"> 144</span> :<span class="tlaUNC"> 0 : }</span></span>
|
||||||
|
<span id="L145"><span class="lineNum"> 145</span> : : </span>
|
||||||
|
<span id="L146"><span class="lineNum"> 146</span> :<span class="tlaGNC"> 53 : std::shared_ptr<const DecodeSignal> DecodeDatabase::FindSignal(const SignalKey &key) const {</span></span>
|
||||||
|
<span id="L147"><span class="lineNum"> 147</span> [<span class="tlaGBC" title="Branch 0 was taken 53 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 53 : const std::shared_ptr<const DecodeFrame> frame = FindFrame(key.frame);</span></span>
|
||||||
|
<span id="L148"><span class="lineNum"> 148</span> [<span class="tlaGBC" title="Branch 0 was taken 10 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 43 times"> + </span>]:<span class="tlaGNC"> 53 : if (!frame)</span></span>
|
||||||
|
<span id="L149"><span class="lineNum"> 149</span> :<span class="tlaGNC"> 10 : return nullptr;</span></span>
|
||||||
|
<span id="L150"><span class="lineNum"> 150</span> [<span class="tlaGBC" title="Branch 0 was taken 48 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 5 times"> + </span>]:<span class="tlaGNC"> 53 : for (const DecodeSignal &signal: frame->signals) {</span></span>
|
||||||
|
<span id="L151"><span class="lineNum"> 151</span> [<span class="tlaGBC" title="Branch 0 was taken 38 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 10 times"> + </span>]:<span class="tlaGNC"> 48 : if (signal.name == key.name)</span></span>
|
||||||
|
<span id="L152"><span class="lineNum"> 152</span> :<span class="tlaGNC"> 38 : return std::shared_ptr<const DecodeSignal>(frame, &signal);</span></span>
|
||||||
|
<span id="L153"><span class="lineNum"> 153</span> : : }</span>
|
||||||
|
<span id="L154"><span class="lineNum"> 154</span> :<span class="tlaGNC"> 5 : return nullptr;</span></span>
|
||||||
|
<span id="L155"><span class="lineNum"> 155</span> :<span class="tlaGNC"> 53 : }</span></span>
|
||||||
|
</pre>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,108 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/decode_database.h - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - decode_database.h<span style="font-size: 80%;"> (<a href="decode_database.h.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">5</td>
|
||||||
|
<td class="headerCovTableEntry">5</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">4</td>
|
||||||
|
<td class="headerCovTableEntry">4</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><a href="decode_database.h.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></a></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="decode_database.h.gcov.html#L101">DecodeDatabase::DecodeDatabase()</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">21</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="decode_database.h.gcov.html#L81">DecodeFrame::DecodeFrame()</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">2400</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="decode_database.h.gcov.html#L60">DecodeSignal::DecodeSignal()</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">2438</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="decode_database.h.gcov.html#L84">DecodeFrame::GetKey() const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">11038</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,108 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/decode_database.h - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - decode_database.h<span style="font-size: 80%;"> (<a href="decode_database.h.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">5</td>
|
||||||
|
<td class="headerCovTableEntry">5</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">4</td>
|
||||||
|
<td class="headerCovTableEntry">4</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><a href="decode_database.h.func-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></a></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="decode_database.h.gcov.html#L101">DecodeDatabase::DecodeDatabase()</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">21</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="decode_database.h.gcov.html#L81">DecodeFrame::DecodeFrame()</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">2400</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="decode_database.h.gcov.html#L84">DecodeFrame::GetKey() const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">11038</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="decode_database.h.gcov.html#L60">DecodeSignal::DecodeSignal()</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">2438</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,209 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/decode_database.h</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - decode_database.h<span style="font-size: 80%;"> (source / <a href="decode_database.h.func-c.html" title="Click to go to function table">functions</a>)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">5</td>
|
||||||
|
<td class="headerCovTableEntry">5</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">4</td>
|
||||||
|
<td class="headerCovTableEntry">4</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table cellpadding=0 cellspacing=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td><br></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<pre class="sourceHeading"> Line data Source code</pre>
|
||||||
|
<pre class="source">
|
||||||
|
<span id="L1"><span class="lineNum"> 1</span> : /**</span>
|
||||||
|
<span id="L2"><span class="lineNum"> 2</span> : * @file decode_database.h</span>
|
||||||
|
<span id="L3"><span class="lineNum"> 3</span> : * @brief Runtime definitions and immutable indexed database.</span>
|
||||||
|
<span id="L4"><span class="lineNum"> 4</span> : *</span>
|
||||||
|
<span id="L5"><span class="lineNum"> 5</span> : * Created: 2026-03-13</span>
|
||||||
|
<span id="L6"><span class="lineNum"> 6</span> : * Author: Deeaitch (Dim. Himro)</span>
|
||||||
|
<span id="L7"><span class="lineNum"> 7</span> : *</span>
|
||||||
|
<span id="L8"><span class="lineNum"> 8</span> : * Licensed under the MIT License.</span>
|
||||||
|
<span id="L9"><span class="lineNum"> 9</span> : * See LICENSE file in the project root for full license text.</span>
|
||||||
|
<span id="L10"><span class="lineNum"> 10</span> : */</span>
|
||||||
|
<span id="L11"><span class="lineNum"> 11</span> : </span>
|
||||||
|
<span id="L12"><span class="lineNum"> 12</span> : #ifndef DECODE_DATABASE_H</span>
|
||||||
|
<span id="L13"><span class="lineNum"> 13</span> : #define DECODE_DATABASE_H</span>
|
||||||
|
<span id="L14"><span class="lineNum"> 14</span> : </span>
|
||||||
|
<span id="L15"><span class="lineNum"> 15</span> : #include "attributes.h"</span>
|
||||||
|
<span id="L16"><span class="lineNum"> 16</span> : #include "definition_key.h"</span>
|
||||||
|
<span id="L17"><span class="lineNum"> 17</span> : #include "multiplexing.h"</span>
|
||||||
|
<span id="L18"><span class="lineNum"> 18</span> : #include "value_descriptions.h"</span>
|
||||||
|
<span id="L19"><span class="lineNum"> 19</span> : #include <cstdint></span>
|
||||||
|
<span id="L20"><span class="lineNum"> 20</span> : #include <memory></span>
|
||||||
|
<span id="L21"><span class="lineNum"> 21</span> : #include <string></span>
|
||||||
|
<span id="L22"><span class="lineNum"> 22</span> : #include <unordered_map></span>
|
||||||
|
<span id="L23"><span class="lineNum"> 23</span> : #include <vector></span>
|
||||||
|
<span id="L24"><span class="lineNum"> 24</span> : </span>
|
||||||
|
<span id="L25"><span class="lineNum"> 25</span> : /**</span>
|
||||||
|
<span id="L26"><span class="lineNum"> 26</span> : * @brief Signal byte order used for runtime decoding.</span>
|
||||||
|
<span id="L27"><span class="lineNum"> 27</span> : */</span>
|
||||||
|
<span id="L28"><span class="lineNum"> 28</span> : enum class ByteOrder {</span>
|
||||||
|
<span id="L29"><span class="lineNum"> 29</span> : Intel,</span>
|
||||||
|
<span id="L30"><span class="lineNum"> 30</span> : Motorola</span>
|
||||||
|
<span id="L31"><span class="lineNum"> 31</span> : };</span>
|
||||||
|
<span id="L32"><span class="lineNum"> 32</span> : </span>
|
||||||
|
<span id="L33"><span class="lineNum"> 33</span> : /**</span>
|
||||||
|
<span id="L34"><span class="lineNum"> 34</span> : * @brief Signal numeric type.</span>
|
||||||
|
<span id="L35"><span class="lineNum"> 35</span> : */</span>
|
||||||
|
<span id="L36"><span class="lineNum"> 36</span> : enum class ValueType {</span>
|
||||||
|
<span id="L37"><span class="lineNum"> 37</span> : Unsigned,</span>
|
||||||
|
<span id="L38"><span class="lineNum"> 38</span> : Signed</span>
|
||||||
|
<span id="L39"><span class="lineNum"> 39</span> : };</span>
|
||||||
|
<span id="L40"><span class="lineNum"> 40</span> : </span>
|
||||||
|
<span id="L41"><span class="lineNum"> 41</span> : /**</span>
|
||||||
|
<span id="L42"><span class="lineNum"> 42</span> : * @brief Runtime-ready signal definition.</span>
|
||||||
|
<span id="L43"><span class="lineNum"> 43</span> : */</span>
|
||||||
|
<span id="L44"><span class="lineNum"> 44</span> : struct DecodeSignal {</span>
|
||||||
|
<span id="L45"><span class="lineNum"> 45</span> : Multiplexing multiplexing; /**< Selector role and branch value. */</span>
|
||||||
|
<span id="L46"><span class="lineNum"> 46</span> : std::string name; /**< Signal name. */</span>
|
||||||
|
<span id="L47"><span class="lineNum"> 47</span> : std::uint32_t startBit = 0U; /**< DBC start bit. */</span>
|
||||||
|
<span id="L48"><span class="lineNum"> 48</span> : std::uint32_t length = 0U; /**< Signal length in bits. */</span>
|
||||||
|
<span id="L49"><span class="lineNum"> 49</span> : ByteOrder byteOrder = ByteOrder::Intel; /**< Intel or Motorola. */</span>
|
||||||
|
<span id="L50"><span class="lineNum"> 50</span> : ValueType valueType = ValueType::Unsigned; /**< Signed or unsigned. */</span>
|
||||||
|
<span id="L51"><span class="lineNum"> 51</span> : double factor = 1.0; /**< Scaling factor. */</span>
|
||||||
|
<span id="L52"><span class="lineNum"> 52</span> : double offset = 0.0; /**< Physical offset. */</span>
|
||||||
|
<span id="L53"><span class="lineNum"> 53</span> : double minimum = 0.0; /**< Minimum physical value. */</span>
|
||||||
|
<span id="L54"><span class="lineNum"> 54</span> : double maximum = 0.0; /**< Maximum physical value. */</span>
|
||||||
|
<span id="L55"><span class="lineNum"> 55</span> : std::string unit; /**< Physical unit. */</span>
|
||||||
|
<span id="L56"><span class="lineNum"> 56</span> : std::vector<std::string> receivers; /**< Receivers. */</span>
|
||||||
|
<span id="L57"><span class="lineNum"> 57</span> : ValueDescriptions valueDescriptions; /**< Raw integer state descriptions. */</span>
|
||||||
|
<span id="L58"><span class="lineNum"> 58</span> : std::string comment; /**< Comment. */</span>
|
||||||
|
<span id="L59"><span class="lineNum"> 59</span> : </span>
|
||||||
|
<span id="L60"><span class="lineNum"> 60</span> : AttributeMap attributes; /**< Effective attributes after defaults and overrides. */</span>
|
||||||
|
<span id="L61"><span class="lineNum"> 61</span> : </span>
|
||||||
|
<span id="L62"><span class="lineNum"> 62</span> <span class="tlaGNC"> 2438 : DecodeSignal() = default;</span></span>
|
||||||
|
<span id="L63"><span class="lineNum"> 63</span> : };</span>
|
||||||
|
<span id="L64"><span class="lineNum"> 64</span> : </span>
|
||||||
|
<span id="L65"><span class="lineNum"> 65</span> : /**</span>
|
||||||
|
<span id="L66"><span class="lineNum"> 66</span> : * @brief Runtime-ready frame definition.</span>
|
||||||
|
<span id="L67"><span class="lineNum"> 67</span> : */</span>
|
||||||
|
<span id="L68"><span class="lineNum"> 68</span> : struct DecodeFrame {</span>
|
||||||
|
<span id="L69"><span class="lineNum"> 69</span> : std::string name; /**< Frame name. */</span>
|
||||||
|
<span id="L70"><span class="lineNum"> 70</span> : std::uint32_t canId = 0U; /**< Normalized CAN ID. */</span>
|
||||||
|
<span id="L71"><span class="lineNum"> 71</span> : bool isExtended = false; /**< true for extended frame. */</span>
|
||||||
|
<span id="L72"><span class="lineNum"> 72</span> : std::uint8_t dlc = 0U; /**< Payload length. */</span>
|
||||||
|
<span id="L73"><span class="lineNum"> 73</span> : std::uint32_t pgn = 0U; /**< PGN if available. */</span>
|
||||||
|
<span id="L74"><span class="lineNum"> 74</span> : bool hasPgn = false; /**< Explicit J1939 opt-in; pgn must match canId. */</span>
|
||||||
|
<span id="L75"><span class="lineNum"> 75</span> : std::string transmitter; /**< Transmitter ECU. */</span>
|
||||||
|
<span id="L76"><span class="lineNum"> 76</span> : std::string comment; /**< Frame comment. */</span>
|
||||||
|
<span id="L77"><span class="lineNum"> 77</span> : std::vector<DecodeSignal> signals; /**< Signal definitions. */</span>
|
||||||
|
<span id="L78"><span class="lineNum"> 78</span> : </span>
|
||||||
|
<span id="L79"><span class="lineNum"> 79</span> : AttributeMap attributes; /**< Effective attributes after defaults and overrides. */</span>
|
||||||
|
<span id="L80"><span class="lineNum"> 80</span> : std::optional<std::string> frameFormat; /**< VFrameFormat label, when declared. */</span>
|
||||||
|
<span id="L81"><span class="lineNum"> 81</span> : std::optional<std::uint32_t> cycleTimeMs; /**< GenMsgCycleTime in milliseconds, when declared. */</span>
|
||||||
|
<span id="L82"><span class="lineNum"> 82</span> : </span>
|
||||||
|
<span id="L83"><span class="lineNum"> 83</span> <span class="tlaGNC"> 2400 : DecodeFrame() = default;</span></span>
|
||||||
|
<span id="L84"><span class="lineNum"> 84</span> : </span>
|
||||||
|
<span id="L85"><span class="lineNum"> 85</span> : /** @brief Return the stable normalized frame identifier. */</span>
|
||||||
|
<span id="L86"><span class="lineNum"> 86</span> <span class="tlaGNC"> 11038 : FrameKey GetKey() const {</span></span>
|
||||||
|
<span id="L87"><span class="lineNum"> 87</span> <span class="tlaGNC"> 11038 : return FrameKey(canId, isExtended);</span></span>
|
||||||
|
<span id="L88"><span class="lineNum"> 88</span> : }</span>
|
||||||
|
<span id="L89"><span class="lineNum"> 89</span> : };</span>
|
||||||
|
<span id="L90"><span class="lineNum"> 90</span> : </span>
|
||||||
|
<span id="L91"><span class="lineNum"> 91</span> : /** A PGN lookup rejects multiple definitions rather than choosing by order. */</span>
|
||||||
|
<span id="L92"><span class="lineNum"> 92</span> : struct PgnLookupResult {</span>
|
||||||
|
<span id="L93"><span class="lineNum"> 93</span> : std::shared_ptr<const DecodeFrame> definition; /**< Owning matched definition; empty if missing or ambiguous. */</span>
|
||||||
|
<span id="L94"><span class="lineNum"> 94</span> : bool ambiguous = false; /**< True when multiple definitions share the requested PGN. */</span>
|
||||||
|
<span id="L95"><span class="lineNum"> 95</span> : };</span>
|
||||||
|
<span id="L96"><span class="lineNum"> 96</span> : </span>
|
||||||
|
<span id="L97"><span class="lineNum"> 97</span> : /**</span>
|
||||||
|
<span id="L98"><span class="lineNum"> 98</span> : * @brief Immutable runtime snapshot. Copies share storage; reload replaces a snapshot.</span>
|
||||||
|
<span id="L99"><span class="lineNum"> 99</span> : * Owning lookup handles and decoded results keep old definitions alive.</span>
|
||||||
|
<span id="L100"><span class="lineNum"> 100</span> : */</span>
|
||||||
|
<span id="L101"><span class="lineNum"> 101</span> : class DecodeDatabase {</span>
|
||||||
|
<span id="L102"><span class="lineNum"> 102</span> : public:</span>
|
||||||
|
<span id="L103"><span class="lineNum"> 103</span> <span class="tlaGNC"> 21 : DecodeDatabase() = default;</span></span>
|
||||||
|
<span id="L104"><span class="lineNum"> 104</span> : /**</span>
|
||||||
|
<span id="L105"><span class="lineNum"> 105</span> : * Copy and validate definitions before building the frame index.</span>
|
||||||
|
<span id="L106"><span class="lineNum"> 106</span> : * Input aliases cannot modify the snapshot, even for rvalue input.</span>
|
||||||
|
<span id="L107"><span class="lineNum"> 107</span> : * @throws std::invalid_argument for invalid metadata or duplicate keys.</span>
|
||||||
|
<span id="L108"><span class="lineNum"> 108</span> : */</span>
|
||||||
|
<span id="L109"><span class="lineNum"> 109</span> : explicit DecodeDatabase(const std::vector<DecodeFrame> &frames);</span>
|
||||||
|
<span id="L110"><span class="lineNum"> 110</span> : </span>
|
||||||
|
<span id="L111"><span class="lineNum"> 111</span> : /** Borrowed view, valid while this snapshot remains alive and unchanged. */</span>
|
||||||
|
<span id="L112"><span class="lineNum"> 112</span> : const std::vector<DecodeFrame> &GetFrames() const;</span>
|
||||||
|
<span id="L113"><span class="lineNum"> 113</span> : /** Owning handles retain the entire snapshot across reload or destruction. */</span>
|
||||||
|
<span id="L114"><span class="lineNum"> 114</span> : std::shared_ptr<const DecodeFrame> FindFrame(const FrameKey &key) const;</span>
|
||||||
|
<span id="L115"><span class="lineNum"> 115</span> : /** Only explicitly marked hasPgn frames participate; ambiguous results have no definition. */</span>
|
||||||
|
<span id="L116"><span class="lineNum"> 116</span> : PgnLookupResult FindFrameByPgn(std::uint32_t pgn) const;</span>
|
||||||
|
<span id="L117"><span class="lineNum"> 117</span> : /** @brief Return an owning signal handle, or an empty handle for a missing key. */</span>
|
||||||
|
<span id="L118"><span class="lineNum"> 118</span> : std::shared_ptr<const DecodeSignal> FindSignal(const SignalKey &key) const;</span>
|
||||||
|
<span id="L119"><span class="lineNum"> 119</span> : </span>
|
||||||
|
<span id="L120"><span class="lineNum"> 120</span> : private:</span>
|
||||||
|
<span id="L121"><span class="lineNum"> 121</span> : struct Storage {</span>
|
||||||
|
<span id="L122"><span class="lineNum"> 122</span> : std::vector<DecodeFrame> frames;</span>
|
||||||
|
<span id="L123"><span class="lineNum"> 123</span> : std::unordered_map<FrameKey, std::size_t, FrameKeyHasher> frameIndexByKey;</span>
|
||||||
|
<span id="L124"><span class="lineNum"> 124</span> : </span>
|
||||||
|
<span id="L125"><span class="lineNum"> 125</span> : std::unordered_map<std::uint32_t, std::vector<std::size_t>> frameIndicesByPgn;</span>
|
||||||
|
<span id="L126"><span class="lineNum"> 126</span> : </span>
|
||||||
|
<span id="L127"><span class="lineNum"> 127</span> : explicit Storage(const std::vector<DecodeFrame> &definitions);</span>
|
||||||
|
<span id="L128"><span class="lineNum"> 128</span> : };</span>
|
||||||
|
<span id="L129"><span class="lineNum"> 129</span> : </span>
|
||||||
|
<span id="L130"><span class="lineNum"> 130</span> : std::shared_ptr<const Storage> storage;</span>
|
||||||
|
<span id="L131"><span class="lineNum"> 131</span> : };</span>
|
||||||
|
<span id="L132"><span class="lineNum"> 132</span> : </span>
|
||||||
|
<span id="L133"><span class="lineNum"> 133</span> : #endif /* DECODE_DATABASE_H */</span>
|
||||||
|
</pre>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,149 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/definition_key.h - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - definition_key.h<span style="font-size: 80%;"> (<a href="definition_key.h.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">18</td>
|
||||||
|
<td class="headerCovTableEntry">18</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">8</td>
|
||||||
|
<td class="headerCovTableEntry">8</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryLo">70.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">10</td>
|
||||||
|
<td class="headerCovTableEntry">7</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><a href="definition_key.h.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></a></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="definition_key.h.gcov.html#L62">SignalKeyHasher::operator()(SignalKey const&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">9</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="definition_key.h.gcov.html#L54">SignalKey::operator==(SignalKey const&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">22</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="definition_key.h.gcov.html#L47">SignalKey::SignalKey()</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">6380</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="definition_key.h.gcov.html#L49">SignalKey::SignalKey(FrameKey, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">6454</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="definition_key.h.gcov.html#L25">FrameKey::operator==(FrameKey const&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">6502</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="definition_key.h.gcov.html#L35">FrameKeyHasher::operator()(FrameKey const&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">11161</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="definition_key.h.gcov.html#L17">FrameKey::FrameKey()</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">12789</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="definition_key.h.gcov.html#L20">FrameKey::FrameKey(unsigned int, bool)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">23974</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,149 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/definition_key.h - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - definition_key.h<span style="font-size: 80%;"> (<a href="definition_key.h.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">18</td>
|
||||||
|
<td class="headerCovTableEntry">18</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">8</td>
|
||||||
|
<td class="headerCovTableEntry">8</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryLo">70.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">10</td>
|
||||||
|
<td class="headerCovTableEntry">7</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><a href="definition_key.h.func-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></a></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="definition_key.h.gcov.html#L17">FrameKey::FrameKey()</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">12789</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="definition_key.h.gcov.html#L20">FrameKey::FrameKey(unsigned int, bool)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">23974</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="definition_key.h.gcov.html#L25">FrameKey::operator==(FrameKey const&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">6502</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="definition_key.h.gcov.html#L35">FrameKeyHasher::operator()(FrameKey const&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">11161</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="definition_key.h.gcov.html#L47">SignalKey::SignalKey()</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">6380</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="definition_key.h.gcov.html#L49">SignalKey::SignalKey(FrameKey, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">6454</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="definition_key.h.gcov.html#L54">SignalKey::operator==(SignalKey const&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">22</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="definition_key.h.gcov.html#L62">SignalKeyHasher::operator()(SignalKey const&) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">9</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,154 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/definition_key.h</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - definition_key.h<span style="font-size: 80%;"> (source / <a href="definition_key.h.func-c.html" title="Click to go to function table">functions</a>)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">18</td>
|
||||||
|
<td class="headerCovTableEntry">18</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">8</td>
|
||||||
|
<td class="headerCovTableEntry">8</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryLo">70.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">10</td>
|
||||||
|
<td class="headerCovTableEntry">7</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table cellpadding=0 cellspacing=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td><br></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<pre class="sourceHeading"> Branch data Line data Source code</pre>
|
||||||
|
<pre class="source">
|
||||||
|
<span id="L1"><span class="lineNum"> 1</span> : : // SPDX-License-Identifier: MIT</span>
|
||||||
|
<span id="L2"><span class="lineNum"> 2</span> : : // Copyright (c) 2026 Dim Himro</span>
|
||||||
|
<span id="L3"><span class="lineNum"> 3</span> : : </span>
|
||||||
|
<span id="L4"><span class="lineNum"> 4</span> : : #ifndef DEFINITION_KEY_H</span>
|
||||||
|
<span id="L5"><span class="lineNum"> 5</span> : : #define DEFINITION_KEY_H</span>
|
||||||
|
<span id="L6"><span class="lineNum"> 6</span> : : </span>
|
||||||
|
<span id="L7"><span class="lineNum"> 7</span> : : #include <cstdint></span>
|
||||||
|
<span id="L8"><span class="lineNum"> 8</span> : : #include <functional></span>
|
||||||
|
<span id="L9"><span class="lineNum"> 9</span> : : #include <string></span>
|
||||||
|
<span id="L10"><span class="lineNum"> 10</span> : : #include <utility></span>
|
||||||
|
<span id="L11"><span class="lineNum"> 11</span> : : </span>
|
||||||
|
<span id="L12"><span class="lineNum"> 12</span> : : /**</span>
|
||||||
|
<span id="L13"><span class="lineNum"> 13</span> : : * @brief Stable frame identifier: normalized CAN ID and frame type.</span>
|
||||||
|
<span id="L14"><span class="lineNum"> 14</span> : : */</span>
|
||||||
|
<span id="L15"><span class="lineNum"> 15</span> : : struct FrameKey {</span>
|
||||||
|
<span id="L16"><span class="lineNum"> 16</span> : : std::uint32_t canId = 0U; /**< Normalized CAN identifier. */</span>
|
||||||
|
<span id="L17"><span class="lineNum"> 17</span> : : bool isExtended = false; /**< True for extended CAN frames. */</span>
|
||||||
|
<span id="L18"><span class="lineNum"> 18</span> : : </span>
|
||||||
|
<span id="L19"><span class="lineNum"> 19</span> :<span class="tlaGNC"> 12789 : FrameKey() = default;</span></span>
|
||||||
|
<span id="L20"><span class="lineNum"> 20</span> : : </span>
|
||||||
|
<span id="L21"><span class="lineNum"> 21</span> : : /** @brief Create a key from a normalized identifier and frame type. */</span>
|
||||||
|
<span id="L22"><span class="lineNum"> 22</span> :<span class="tlaGNC"> 23974 : FrameKey(std::uint32_t id, bool extended)</span></span>
|
||||||
|
<span id="L23"><span class="lineNum"> 23</span> :<span class="tlaGNC"> 23974 : : canId(id), isExtended(extended) {</span></span>
|
||||||
|
<span id="L24"><span class="lineNum"> 24</span> :<span class="tlaGNC"> 23974 : }</span></span>
|
||||||
|
<span id="L25"><span class="lineNum"> 25</span> : : </span>
|
||||||
|
<span id="L26"><span class="lineNum"> 26</span> : : /** @brief Compare all logical identity fields. */</span>
|
||||||
|
<span id="L27"><span class="lineNum"> 27</span> :<span class="tlaGNC"> 6502 : bool operator==(const FrameKey &other) const {</span></span>
|
||||||
|
<span id="L28"><span class="lineNum"> 28</span> [<span class="tlaGBC" title="Branch 0 was taken 6498 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 6498 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 6502 : return (canId == other.canId) && (isExtended == other.isExtended);</span></span>
|
||||||
|
<span id="L29"><span class="lineNum"> 29</span> : : }</span>
|
||||||
|
<span id="L30"><span class="lineNum"> 30</span> : : };</span>
|
||||||
|
<span id="L31"><span class="lineNum"> 31</span> : : </span>
|
||||||
|
<span id="L32"><span class="lineNum"> 32</span> : : /**</span>
|
||||||
|
<span id="L33"><span class="lineNum"> 33</span> : : * @brief Hasher for frame key.</span>
|
||||||
|
<span id="L34"><span class="lineNum"> 34</span> : : */</span>
|
||||||
|
<span id="L35"><span class="lineNum"> 35</span> : : struct FrameKeyHasher {</span>
|
||||||
|
<span id="L36"><span class="lineNum"> 36</span> : : /** @brief Hash the logical identity fields. */</span>
|
||||||
|
<span id="L37"><span class="lineNum"> 37</span> :<span class="tlaGNC"> 11161 : std::size_t operator()(const FrameKey &key) const {</span></span>
|
||||||
|
<span id="L38"><span class="lineNum"> 38</span> :<span class="tlaGNC"> 11161 : const std::size_t a = static_cast<std::size_t>(key.canId);</span></span>
|
||||||
|
<span id="L39"><span class="lineNum"> 39</span> [<span class="tlaGBC" title="Branch 0 was taken 273 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 10888 times"> + </span>]:<span class="tlaGNC"> 11161 : const std::size_t b = key.isExtended ? 1U : 0U;</span></span>
|
||||||
|
<span id="L40"><span class="lineNum"> 40</span> :<span class="tlaGNC"> 11161 : return (a * 1315423911U) ^ b;</span></span>
|
||||||
|
<span id="L41"><span class="lineNum"> 41</span> : : }</span>
|
||||||
|
<span id="L42"><span class="lineNum"> 42</span> : : };</span>
|
||||||
|
<span id="L43"><span class="lineNum"> 43</span> : : </span>
|
||||||
|
<span id="L44"><span class="lineNum"> 44</span> : : /** Stable signal identifier within one logical DBC database. */</span>
|
||||||
|
<span id="L45"><span class="lineNum"> 45</span> : : struct SignalKey {</span>
|
||||||
|
<span id="L46"><span class="lineNum"> 46</span> : : FrameKey frame; /**< Owning frame identity. */</span>
|
||||||
|
<span id="L47"><span class="lineNum"> 47</span> : : std::string name; /**< Signal name within the frame. */</span>
|
||||||
|
<span id="L48"><span class="lineNum"> 48</span> : : </span>
|
||||||
|
<span id="L49"><span class="lineNum"> 49</span> :<span class="tlaGNC"> 6380 : SignalKey() = default;</span></span>
|
||||||
|
<span id="L50"><span class="lineNum"> 50</span> : : /** @brief Create a signal key from its frame identity and name. */</span>
|
||||||
|
<span id="L51"><span class="lineNum"> 51</span> :<span class="tlaGNC"> 6454 : SignalKey(FrameKey frameKey, std::string signalName)</span></span>
|
||||||
|
<span id="L52"><span class="lineNum"> 52</span> :<span class="tlaGNC"> 6454 : : frame(frameKey), name(std::move(signalName)) {</span></span>
|
||||||
|
<span id="L53"><span class="lineNum"> 53</span> :<span class="tlaGNC"> 6454 : }</span></span>
|
||||||
|
<span id="L54"><span class="lineNum"> 54</span> : : </span>
|
||||||
|
<span id="L55"><span class="lineNum"> 55</span> : : /** @brief Compare all logical identity fields. */</span>
|
||||||
|
<span id="L56"><span class="lineNum"> 56</span> :<span class="tlaGNC"> 22 : bool operator==(const SignalKey &other) const {</span></span>
|
||||||
|
<span id="L57"><span class="lineNum"> 57</span> [<span class="tlaGBC" title="Branch 0 was taken 22 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span><span class="tlaGBC" title="Branch 2 was taken 22 times"> + </span><span class="tlaUNC" title="Branch 3 was not taken"> - </span>]:<span class="tlaGNC"> 22 : return frame == other.frame && name == other.name;</span></span>
|
||||||
|
<span id="L58"><span class="lineNum"> 58</span> : : }</span>
|
||||||
|
<span id="L59"><span class="lineNum"> 59</span> : : };</span>
|
||||||
|
<span id="L60"><span class="lineNum"> 60</span> : : </span>
|
||||||
|
<span id="L61"><span class="lineNum"> 61</span> : : /** @brief Hasher for stable signal keys. */</span>
|
||||||
|
<span id="L62"><span class="lineNum"> 62</span> : : struct SignalKeyHasher {</span>
|
||||||
|
<span id="L63"><span class="lineNum"> 63</span> : : /** @brief Hash the logical identity fields. */</span>
|
||||||
|
<span id="L64"><span class="lineNum"> 64</span> :<span class="tlaGNC"> 9 : std::size_t operator()(const SignalKey &key) const {</span></span>
|
||||||
|
<span id="L65"><span class="lineNum"> 65</span> :<span class="tlaGNC"> 9 : return FrameKeyHasher()(key.frame) ^ (std::hash<std::string>()(key.name) << 1U);</span></span>
|
||||||
|
<span id="L66"><span class="lineNum"> 66</span> : : }</span>
|
||||||
|
<span id="L67"><span class="lineNum"> 67</span> : : };</span>
|
||||||
|
<span id="L68"><span class="lineNum"> 68</span> : : </span>
|
||||||
|
<span id="L69"><span class="lineNum"> 69</span> : : #endif /* DEFINITION_KEY_H */</span>
|
||||||
|
</pre>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,84 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/frame_info.h - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - frame_info.h<span style="font-size: 80%;"> (<a href="frame_info.h.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><a href="frame_info.h.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></a></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="frame_info.h.gcov.html#L39">FrameInfo::FrameInfo()</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">716</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,84 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/frame_info.h - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - frame_info.h<span style="font-size: 80%;"> (<a href="frame_info.h.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><a href="frame_info.h.func-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></a></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="frame_info.h.gcov.html#L39">FrameInfo::FrameInfo()</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">716</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,120 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/frame_info.h</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - frame_info.h<span style="font-size: 80%;"> (source / <a href="frame_info.h.func-c.html" title="Click to go to function table">functions</a>)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table cellpadding=0 cellspacing=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td><br></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<pre class="sourceHeading"> Line data Source code</pre>
|
||||||
|
<pre class="source">
|
||||||
|
<span id="L1"><span class="lineNum"> 1</span> : /**</span>
|
||||||
|
<span id="L2"><span class="lineNum"> 2</span> : * @file frame_info.h</span>
|
||||||
|
<span id="L3"><span class="lineNum"> 3</span> : * @brief Parsed CAN frame metadata.</span>
|
||||||
|
<span id="L4"><span class="lineNum"> 4</span> : *</span>
|
||||||
|
<span id="L5"><span class="lineNum"> 5</span> : * Created: 2026-03-13</span>
|
||||||
|
<span id="L6"><span class="lineNum"> 6</span> : * Author: Deeaitch (Dim. Himro)</span>
|
||||||
|
<span id="L7"><span class="lineNum"> 7</span> : *</span>
|
||||||
|
<span id="L8"><span class="lineNum"> 8</span> : * Licensed under the MIT License.</span>
|
||||||
|
<span id="L9"><span class="lineNum"> 9</span> : * See LICENSE file in the project root for full license text.</span>
|
||||||
|
<span id="L10"><span class="lineNum"> 10</span> : */</span>
|
||||||
|
<span id="L11"><span class="lineNum"> 11</span> : </span>
|
||||||
|
<span id="L12"><span class="lineNum"> 12</span> : #ifndef FRAME_INFO_H</span>
|
||||||
|
<span id="L13"><span class="lineNum"> 13</span> : #define FRAME_INFO_H</span>
|
||||||
|
<span id="L14"><span class="lineNum"> 14</span> : </span>
|
||||||
|
<span id="L15"><span class="lineNum"> 15</span> : #include "attributes.h"</span>
|
||||||
|
<span id="L16"><span class="lineNum"> 16</span> : #include <cstdint></span>
|
||||||
|
<span id="L17"><span class="lineNum"> 17</span> : #include <string></span>
|
||||||
|
<span id="L18"><span class="lineNum"> 18</span> : #include <vector></span>
|
||||||
|
<span id="L19"><span class="lineNum"> 19</span> : </span>
|
||||||
|
<span id="L20"><span class="lineNum"> 20</span> : #include "signal_info.h"</span>
|
||||||
|
<span id="L21"><span class="lineNum"> 21</span> : </span>
|
||||||
|
<span id="L22"><span class="lineNum"> 22</span> : /**</span>
|
||||||
|
<span id="L23"><span class="lineNum"> 23</span> : * @brief Describes one CAN frame from a DBC file.</span>
|
||||||
|
<span id="L24"><span class="lineNum"> 24</span> : */</span>
|
||||||
|
<span id="L25"><span class="lineNum"> 25</span> : struct FrameInfo {</span>
|
||||||
|
<span id="L26"><span class="lineNum"> 26</span> : std::string name; /**< Frame name. */</span>
|
||||||
|
<span id="L27"><span class="lineNum"> 27</span> : std::uint32_t canId = 0U; /**< Normalized CAN identifier. */</span>
|
||||||
|
<span id="L28"><span class="lineNum"> 28</span> : bool isExtended = false; /**< true for extended frame. */</span>
|
||||||
|
<span id="L29"><span class="lineNum"> 29</span> : std::uint32_t pgn = 0U; /**< J1939 PGN if applicable. */</span>
|
||||||
|
<span id="L30"><span class="lineNum"> 30</span> : bool hasPgn = false; /**< Explicit J1939 opt-in; pgn is derived from canId. */</span>
|
||||||
|
<span id="L31"><span class="lineNum"> 31</span> : std::uint8_t dlc = 0U; /**< Frame payload length. */</span>
|
||||||
|
<span id="L32"><span class="lineNum"> 32</span> : std::string transmitter; /**< Transmitter ECU name. */</span>
|
||||||
|
<span id="L33"><span class="lineNum"> 33</span> : std::string comment; /**< Optional frame comment. */</span>
|
||||||
|
<span id="L34"><span class="lineNum"> 34</span> : std::vector<SignalInfo> signals; /**< Signals contained in the frame. */</span>
|
||||||
|
<span id="L35"><span class="lineNum"> 35</span> : </span>
|
||||||
|
<span id="L36"><span class="lineNum"> 36</span> : std::optional<std::string> frameFormat; /**< VFrameFormat label, when declared. */ /**< VFrameFormat enum label. */</span>
|
||||||
|
<span id="L37"><span class="lineNum"> 37</span> : std::optional<std::uint32_t> cycleTimeMs; /**< GenMsgCycleTime in milliseconds, when declared. */ /**< GenMsgCycleTime; zero means unspecified. */</span>
|
||||||
|
<span id="L38"><span class="lineNum"> 38</span> : </span>
|
||||||
|
<span id="L39"><span class="lineNum"> 39</span> : AttributeMap attributes; /**< Effective attributes after defaults and overrides. */ /**< Effective values, including defaults. */</span>
|
||||||
|
<span id="L40"><span class="lineNum"> 40</span> : </span>
|
||||||
|
<span id="L41"><span class="lineNum"> 41</span> <span class="tlaGNC"> 716 : FrameInfo() = default;</span></span>
|
||||||
|
<span id="L42"><span class="lineNum"> 42</span> : };</span>
|
||||||
|
<span id="L43"><span class="lineNum"> 43</span> : </span>
|
||||||
|
<span id="L44"><span class="lineNum"> 44</span> : #endif /* FRAME_INFO_H */</span>
|
||||||
|
</pre>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,439 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - core</td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">98.6 %</td>
|
||||||
|
<td class="headerCovTableEntry">1185</td>
|
||||||
|
<td class="headerCovTableEntry">1168</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">158</td>
|
||||||
|
<td class="headerCovTableEntry">158</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryLo">71.6 %</td>
|
||||||
|
<td class="headerCovTableEntry">2152</td>
|
||||||
|
<td class="headerCovTableEntry">1540</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table width="80%" cellpadding=1 cellspacing=1 border=0>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="40%"><br></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead" rowspan=2>File <span title="Click to sort table by file name" class="tableHeadSort"><a href="index.html"><img src="../updown.png" width=10 height=14 alt="Sort by file name" title="Click to sort table by file name" border=0></a></span></td>
|
||||||
|
<td class="tableHead" colspan=4>Line Coverage <span title="Click to sort table by line coverage" class="tableHeadSort"><a href="index-sort-l.html"><img src="../updown.png" width=10 height=14 alt="Sort by line coverage" title="Click to sort table by line coverage" border=0></a></span></td>
|
||||||
|
<td class="tableHead" colspan=3>Branch Coverage <span title="Click to sort table by branch coverage" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by branch coverage" title="Click to sort table by branch coverage" border=0></span></td>
|
||||||
|
<td class="tableHead" colspan=3>Function Coverage <span title="Click to sort table by function coverage" class="tableHeadSort"><a href="index-sort-f.html"><img src="../updown.png" width=10 height=14 alt="Sort by function coverage" title="Click to sort table by function coverage" border=0></a></span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead" colspan=2> Rate</td>
|
||||||
|
<td class="tableHead"> Total</td>
|
||||||
|
<td class="tableHead"> Hit</td>
|
||||||
|
<td class="tableHead"> Rate</td>
|
||||||
|
<td class="tableHead"> Total</td>
|
||||||
|
<td class="tableHead"> Hit</td>
|
||||||
|
<td class="tableHead"> Rate</td>
|
||||||
|
<td class="tableHead"> Total</td>
|
||||||
|
<td class="tableHead"> Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_parser.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_parser.h">dbc_parser.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverPerHi">-</td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="decode_database.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/decode_database.h">decode_database.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">5</td>
|
||||||
|
<td class="coverNumDflt">5</td>
|
||||||
|
<td class="coverPerHi">-</td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="frame_info.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/frame_info.h">frame_info.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverPerHi">-</td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="signal_info.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/signal_info.h">signal_info.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverPerHi">-</td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="tree_node.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/tree_node.h">tree_node.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverPerHi">-</td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_statement_handler.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_statement_handler.h">dbc_statement_handler.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverPerLo">45.5 %</td>
|
||||||
|
<td class="coverNumDflt">22</td>
|
||||||
|
<td class="coverNumDflt">10</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">10</td>
|
||||||
|
<td class="coverNumDflt">10</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="typefactory.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/typefactory.h">typefactory.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">12</td>
|
||||||
|
<td class="coverNumDflt">12</td>
|
||||||
|
<td class="coverPerLo">50.0 %</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">27</td>
|
||||||
|
<td class="coverNumDflt">27</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_decode_builder.cpp.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_decode_builder.cpp">dbc_decode_builder.cpp</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">40</td>
|
||||||
|
<td class="coverNumDflt">40</td>
|
||||||
|
<td class="coverPerLo">62.5 %</td>
|
||||||
|
<td class="coverNumDflt">40</td>
|
||||||
|
<td class="coverNumDflt">25</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_tree_builder.cpp.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_tree_builder.cpp">dbc_tree_builder.cpp</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=92 height=10 alt="91.7%"><img src="../snow.png" width=8 height=10 alt="91.7%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">91.7 %</td>
|
||||||
|
<td class="coverNumDflt">12</td>
|
||||||
|
<td class="coverNumDflt">11</td>
|
||||||
|
<td class="coverPerLo">66.7 %</td>
|
||||||
|
<td class="coverNumDflt">12</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_statement_handler.cpp.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_statement_handler.cpp">dbc_statement_handler.cpp</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=99 height=10 alt="99.5%"><img src="../snow.png" width=1 height=10 alt="99.5%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">99.5 %</td>
|
||||||
|
<td class="coverNumDflt">370</td>
|
||||||
|
<td class="coverNumDflt">368</td>
|
||||||
|
<td class="coverPerLo">68.4 %</td>
|
||||||
|
<td class="coverNumDflt">820</td>
|
||||||
|
<td class="coverNumDflt">561</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">31</td>
|
||||||
|
<td class="coverNumDflt">31</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="definition_key.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/definition_key.h">definition_key.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">18</td>
|
||||||
|
<td class="coverNumDflt">18</td>
|
||||||
|
<td class="coverPerLo">70.0 %</td>
|
||||||
|
<td class="coverNumDflt">10</td>
|
||||||
|
<td class="coverNumDflt">7</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_parser.cpp.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_parser.cpp">dbc_parser.cpp</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=99 height=10 alt="99.0%"><img src="../snow.png" width=1 height=10 alt="99.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">99.0 %</td>
|
||||||
|
<td class="coverNumDflt">99</td>
|
||||||
|
<td class="coverNumDflt">98</td>
|
||||||
|
<td class="coverPerLo">70.4 %</td>
|
||||||
|
<td class="coverNumDflt">216</td>
|
||||||
|
<td class="coverNumDflt">152</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_decoder.cpp.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_decoder.cpp">dbc_decoder.cpp</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=95 height=10 alt="94.9%"><img src="../snow.png" width=5 height=10 alt="94.9%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">94.9 %</td>
|
||||||
|
<td class="coverNumDflt">156</td>
|
||||||
|
<td class="coverNumDflt">148</td>
|
||||||
|
<td class="coverPerLo">72.8 %</td>
|
||||||
|
<td class="coverNumDflt">158</td>
|
||||||
|
<td class="coverNumDflt">115</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">12</td>
|
||||||
|
<td class="coverNumDflt">12</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_attributes.cpp.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_attributes.cpp">dbc_attributes.cpp</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=99 height=10 alt="98.8%"><img src="../snow.png" width=1 height=10 alt="98.8%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">98.8 %</td>
|
||||||
|
<td class="coverNumDflt">260</td>
|
||||||
|
<td class="coverNumDflt">257</td>
|
||||||
|
<td class="coverPerLo">73.5 %</td>
|
||||||
|
<td class="coverNumDflt">604</td>
|
||||||
|
<td class="coverNumDflt">444</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">20</td>
|
||||||
|
<td class="coverNumDflt">20</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_decoder.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_decoder.h">dbc_decoder.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">5</td>
|
||||||
|
<td class="coverNumDflt">5</td>
|
||||||
|
<td class="coverPerMed">75.0 %</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverNumDflt">3</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="tree_node.cpp.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/tree_node.cpp">tree_node.cpp</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=98 height=10 alt="98.1%"><img src="../snow.png" width=2 height=10 alt="98.1%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">98.1 %</td>
|
||||||
|
<td class="coverNumDflt">53</td>
|
||||||
|
<td class="coverNumDflt">52</td>
|
||||||
|
<td class="coverPerMed">76.2 %</td>
|
||||||
|
<td class="coverNumDflt">42</td>
|
||||||
|
<td class="coverNumDflt">32</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">15</td>
|
||||||
|
<td class="coverNumDflt">15</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="decode_database.cpp.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/decode_database.cpp">decode_database.cpp</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=99 height=10 alt="99.1%"><img src="../snow.png" width=1 height=10 alt="99.1%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">99.1 %</td>
|
||||||
|
<td class="coverNumDflt">110</td>
|
||||||
|
<td class="coverNumDflt">109</td>
|
||||||
|
<td class="coverPerMed">80.2 %</td>
|
||||||
|
<td class="coverNumDflt">182</td>
|
||||||
|
<td class="coverNumDflt">146</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">10</td>
|
||||||
|
<td class="coverNumDflt">10</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="value_descriptions.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/value_descriptions.h">value_descriptions.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverPerMed">87.5 %</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverNumDflt">7</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">2</td>
|
||||||
|
<td class="coverNumDflt">2</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="j1939.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/j1939.h">j1939.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">2</td>
|
||||||
|
<td class="coverNumDflt">2</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_diagnostic.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_diagnostic.h">dbc_diagnostic.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">5</td>
|
||||||
|
<td class="coverNumDflt">5</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="signal_layout.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/signal_layout.h">signal_layout.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">6</td>
|
||||||
|
<td class="coverNumDflt">6</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">2</td>
|
||||||
|
<td class="coverNumDflt">2</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="text_utils.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/text_utils.h">text_utils.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">10</td>
|
||||||
|
<td class="coverNumDflt">10</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">12</td>
|
||||||
|
<td class="coverNumDflt">12</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</center>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,439 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - core</td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">98.6 %</td>
|
||||||
|
<td class="headerCovTableEntry">1185</td>
|
||||||
|
<td class="headerCovTableEntry">1168</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">158</td>
|
||||||
|
<td class="headerCovTableEntry">158</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryLo">71.6 %</td>
|
||||||
|
<td class="headerCovTableEntry">2152</td>
|
||||||
|
<td class="headerCovTableEntry">1540</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table width="80%" cellpadding=1 cellspacing=1 border=0>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="40%"><br></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead" rowspan=2>File <span title="Click to sort table by file name" class="tableHeadSort"><a href="index.html"><img src="../updown.png" width=10 height=14 alt="Sort by file name" title="Click to sort table by file name" border=0></a></span></td>
|
||||||
|
<td class="tableHead" colspan=4>Line Coverage <span title="Click to sort table by line coverage" class="tableHeadSort"><a href="index-sort-l.html"><img src="../updown.png" width=10 height=14 alt="Sort by line coverage" title="Click to sort table by line coverage" border=0></a></span></td>
|
||||||
|
<td class="tableHead" colspan=3>Branch Coverage <span title="Click to sort table by branch coverage" class="tableHeadSort"><a href="index-sort-b.html"><img src="../updown.png" width=10 height=14 alt="Sort by branch coverage" title="Click to sort table by branch coverage" border=0></a></span></td>
|
||||||
|
<td class="tableHead" colspan=3>Function Coverage <span title="Click to sort table by function coverage" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function coverage" title="Click to sort table by function coverage" border=0></span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead" colspan=2> Rate</td>
|
||||||
|
<td class="tableHead"> Total</td>
|
||||||
|
<td class="tableHead"> Hit</td>
|
||||||
|
<td class="tableHead"> Rate</td>
|
||||||
|
<td class="tableHead"> Total</td>
|
||||||
|
<td class="tableHead"> Hit</td>
|
||||||
|
<td class="tableHead"> Rate</td>
|
||||||
|
<td class="tableHead"> Total</td>
|
||||||
|
<td class="tableHead"> Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_decode_builder.cpp.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_decode_builder.cpp">dbc_decode_builder.cpp</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">40</td>
|
||||||
|
<td class="coverNumDflt">40</td>
|
||||||
|
<td class="coverPerLo">62.5 %</td>
|
||||||
|
<td class="coverNumDflt">40</td>
|
||||||
|
<td class="coverNumDflt">25</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_diagnostic.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_diagnostic.h">dbc_diagnostic.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">5</td>
|
||||||
|
<td class="coverNumDflt">5</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_parser.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_parser.h">dbc_parser.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverPerHi">-</td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_tree_builder.cpp.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_tree_builder.cpp">dbc_tree_builder.cpp</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=92 height=10 alt="91.7%"><img src="../snow.png" width=8 height=10 alt="91.7%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">91.7 %</td>
|
||||||
|
<td class="coverNumDflt">12</td>
|
||||||
|
<td class="coverNumDflt">11</td>
|
||||||
|
<td class="coverPerLo">66.7 %</td>
|
||||||
|
<td class="coverNumDflt">12</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="frame_info.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/frame_info.h">frame_info.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverPerHi">-</td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="j1939.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/j1939.h">j1939.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">2</td>
|
||||||
|
<td class="coverNumDflt">2</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="signal_info.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/signal_info.h">signal_info.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverPerHi">-</td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="text_utils.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/text_utils.h">text_utils.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">10</td>
|
||||||
|
<td class="coverNumDflt">10</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">12</td>
|
||||||
|
<td class="coverNumDflt">12</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="tree_node.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/tree_node.h">tree_node.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverPerHi">-</td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="signal_layout.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/signal_layout.h">signal_layout.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">6</td>
|
||||||
|
<td class="coverNumDflt">6</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">2</td>
|
||||||
|
<td class="coverNumDflt">2</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="value_descriptions.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/value_descriptions.h">value_descriptions.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverPerMed">87.5 %</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverNumDflt">7</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">2</td>
|
||||||
|
<td class="coverNumDflt">2</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_decoder.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_decoder.h">dbc_decoder.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">5</td>
|
||||||
|
<td class="coverNumDflt">5</td>
|
||||||
|
<td class="coverPerMed">75.0 %</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverNumDflt">3</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_parser.cpp.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_parser.cpp">dbc_parser.cpp</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=99 height=10 alt="99.0%"><img src="../snow.png" width=1 height=10 alt="99.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">99.0 %</td>
|
||||||
|
<td class="coverNumDflt">99</td>
|
||||||
|
<td class="coverNumDflt">98</td>
|
||||||
|
<td class="coverPerLo">70.4 %</td>
|
||||||
|
<td class="coverNumDflt">216</td>
|
||||||
|
<td class="coverNumDflt">152</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="decode_database.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/decode_database.h">decode_database.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">5</td>
|
||||||
|
<td class="coverNumDflt">5</td>
|
||||||
|
<td class="coverPerHi">-</td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="definition_key.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/definition_key.h">definition_key.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">18</td>
|
||||||
|
<td class="coverNumDflt">18</td>
|
||||||
|
<td class="coverPerLo">70.0 %</td>
|
||||||
|
<td class="coverNumDflt">10</td>
|
||||||
|
<td class="coverNumDflt">7</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_statement_handler.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_statement_handler.h">dbc_statement_handler.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverPerLo">45.5 %</td>
|
||||||
|
<td class="coverNumDflt">22</td>
|
||||||
|
<td class="coverNumDflt">10</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">10</td>
|
||||||
|
<td class="coverNumDflt">10</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="decode_database.cpp.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/decode_database.cpp">decode_database.cpp</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=99 height=10 alt="99.1%"><img src="../snow.png" width=1 height=10 alt="99.1%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">99.1 %</td>
|
||||||
|
<td class="coverNumDflt">110</td>
|
||||||
|
<td class="coverNumDflt">109</td>
|
||||||
|
<td class="coverPerMed">80.2 %</td>
|
||||||
|
<td class="coverNumDflt">182</td>
|
||||||
|
<td class="coverNumDflt">146</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">10</td>
|
||||||
|
<td class="coverNumDflt">10</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_decoder.cpp.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_decoder.cpp">dbc_decoder.cpp</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=95 height=10 alt="94.9%"><img src="../snow.png" width=5 height=10 alt="94.9%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">94.9 %</td>
|
||||||
|
<td class="coverNumDflt">156</td>
|
||||||
|
<td class="coverNumDflt">148</td>
|
||||||
|
<td class="coverPerLo">72.8 %</td>
|
||||||
|
<td class="coverNumDflt">158</td>
|
||||||
|
<td class="coverNumDflt">115</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">12</td>
|
||||||
|
<td class="coverNumDflt">12</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="tree_node.cpp.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/tree_node.cpp">tree_node.cpp</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=98 height=10 alt="98.1%"><img src="../snow.png" width=2 height=10 alt="98.1%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">98.1 %</td>
|
||||||
|
<td class="coverNumDflt">53</td>
|
||||||
|
<td class="coverNumDflt">52</td>
|
||||||
|
<td class="coverPerMed">76.2 %</td>
|
||||||
|
<td class="coverNumDflt">42</td>
|
||||||
|
<td class="coverNumDflt">32</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">15</td>
|
||||||
|
<td class="coverNumDflt">15</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_attributes.cpp.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_attributes.cpp">dbc_attributes.cpp</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=99 height=10 alt="98.8%"><img src="../snow.png" width=1 height=10 alt="98.8%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">98.8 %</td>
|
||||||
|
<td class="coverNumDflt">260</td>
|
||||||
|
<td class="coverNumDflt">257</td>
|
||||||
|
<td class="coverPerLo">73.5 %</td>
|
||||||
|
<td class="coverNumDflt">604</td>
|
||||||
|
<td class="coverNumDflt">444</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">20</td>
|
||||||
|
<td class="coverNumDflt">20</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="typefactory.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/typefactory.h">typefactory.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">12</td>
|
||||||
|
<td class="coverNumDflt">12</td>
|
||||||
|
<td class="coverPerLo">50.0 %</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">27</td>
|
||||||
|
<td class="coverNumDflt">27</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_statement_handler.cpp.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_statement_handler.cpp">dbc_statement_handler.cpp</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=99 height=10 alt="99.5%"><img src="../snow.png" width=1 height=10 alt="99.5%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">99.5 %</td>
|
||||||
|
<td class="coverNumDflt">370</td>
|
||||||
|
<td class="coverNumDflt">368</td>
|
||||||
|
<td class="coverPerLo">68.4 %</td>
|
||||||
|
<td class="coverNumDflt">820</td>
|
||||||
|
<td class="coverNumDflt">561</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">31</td>
|
||||||
|
<td class="coverNumDflt">31</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</center>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,439 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - core</td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">98.6 %</td>
|
||||||
|
<td class="headerCovTableEntry">1185</td>
|
||||||
|
<td class="headerCovTableEntry">1168</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">158</td>
|
||||||
|
<td class="headerCovTableEntry">158</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryLo">71.6 %</td>
|
||||||
|
<td class="headerCovTableEntry">2152</td>
|
||||||
|
<td class="headerCovTableEntry">1540</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table width="80%" cellpadding=1 cellspacing=1 border=0>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="40%"><br></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead" rowspan=2>File <span title="Click to sort table by file name" class="tableHeadSort"><a href="index.html"><img src="../updown.png" width=10 height=14 alt="Sort by file name" title="Click to sort table by file name" border=0></a></span></td>
|
||||||
|
<td class="tableHead" colspan=4>Line Coverage <span title="Click to sort table by line coverage" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by line coverage" title="Click to sort table by line coverage" border=0></span></td>
|
||||||
|
<td class="tableHead" colspan=3>Branch Coverage <span title="Click to sort table by branch coverage" class="tableHeadSort"><a href="index-sort-b.html"><img src="../updown.png" width=10 height=14 alt="Sort by branch coverage" title="Click to sort table by branch coverage" border=0></a></span></td>
|
||||||
|
<td class="tableHead" colspan=3>Function Coverage <span title="Click to sort table by function coverage" class="tableHeadSort"><a href="index-sort-f.html"><img src="../updown.png" width=10 height=14 alt="Sort by function coverage" title="Click to sort table by function coverage" border=0></a></span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead" colspan=2> Rate</td>
|
||||||
|
<td class="tableHead"> Total</td>
|
||||||
|
<td class="tableHead"> Hit</td>
|
||||||
|
<td class="tableHead"> Rate</td>
|
||||||
|
<td class="tableHead"> Total</td>
|
||||||
|
<td class="tableHead"> Hit</td>
|
||||||
|
<td class="tableHead"> Rate</td>
|
||||||
|
<td class="tableHead"> Total</td>
|
||||||
|
<td class="tableHead"> Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_tree_builder.cpp.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_tree_builder.cpp">dbc_tree_builder.cpp</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=92 height=10 alt="91.7%"><img src="../snow.png" width=8 height=10 alt="91.7%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">91.7 %</td>
|
||||||
|
<td class="coverNumDflt">12</td>
|
||||||
|
<td class="coverNumDflt">11</td>
|
||||||
|
<td class="coverPerLo">66.7 %</td>
|
||||||
|
<td class="coverNumDflt">12</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_decoder.cpp.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_decoder.cpp">dbc_decoder.cpp</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=95 height=10 alt="94.9%"><img src="../snow.png" width=5 height=10 alt="94.9%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">94.9 %</td>
|
||||||
|
<td class="coverNumDflt">156</td>
|
||||||
|
<td class="coverNumDflt">148</td>
|
||||||
|
<td class="coverPerLo">72.8 %</td>
|
||||||
|
<td class="coverNumDflt">158</td>
|
||||||
|
<td class="coverNumDflt">115</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">12</td>
|
||||||
|
<td class="coverNumDflt">12</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="tree_node.cpp.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/tree_node.cpp">tree_node.cpp</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=98 height=10 alt="98.1%"><img src="../snow.png" width=2 height=10 alt="98.1%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">98.1 %</td>
|
||||||
|
<td class="coverNumDflt">53</td>
|
||||||
|
<td class="coverNumDflt">52</td>
|
||||||
|
<td class="coverPerMed">76.2 %</td>
|
||||||
|
<td class="coverNumDflt">42</td>
|
||||||
|
<td class="coverNumDflt">32</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">15</td>
|
||||||
|
<td class="coverNumDflt">15</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_attributes.cpp.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_attributes.cpp">dbc_attributes.cpp</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=99 height=10 alt="98.8%"><img src="../snow.png" width=1 height=10 alt="98.8%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">98.8 %</td>
|
||||||
|
<td class="coverNumDflt">260</td>
|
||||||
|
<td class="coverNumDflt">257</td>
|
||||||
|
<td class="coverPerLo">73.5 %</td>
|
||||||
|
<td class="coverNumDflt">604</td>
|
||||||
|
<td class="coverNumDflt">444</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">20</td>
|
||||||
|
<td class="coverNumDflt">20</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_parser.cpp.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_parser.cpp">dbc_parser.cpp</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=99 height=10 alt="99.0%"><img src="../snow.png" width=1 height=10 alt="99.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">99.0 %</td>
|
||||||
|
<td class="coverNumDflt">99</td>
|
||||||
|
<td class="coverNumDflt">98</td>
|
||||||
|
<td class="coverPerLo">70.4 %</td>
|
||||||
|
<td class="coverNumDflt">216</td>
|
||||||
|
<td class="coverNumDflt">152</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="decode_database.cpp.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/decode_database.cpp">decode_database.cpp</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=99 height=10 alt="99.1%"><img src="../snow.png" width=1 height=10 alt="99.1%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">99.1 %</td>
|
||||||
|
<td class="coverNumDflt">110</td>
|
||||||
|
<td class="coverNumDflt">109</td>
|
||||||
|
<td class="coverPerMed">80.2 %</td>
|
||||||
|
<td class="coverNumDflt">182</td>
|
||||||
|
<td class="coverNumDflt">146</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">10</td>
|
||||||
|
<td class="coverNumDflt">10</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_statement_handler.cpp.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_statement_handler.cpp">dbc_statement_handler.cpp</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=99 height=10 alt="99.5%"><img src="../snow.png" width=1 height=10 alt="99.5%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">99.5 %</td>
|
||||||
|
<td class="coverNumDflt">370</td>
|
||||||
|
<td class="coverNumDflt">368</td>
|
||||||
|
<td class="coverPerLo">68.4 %</td>
|
||||||
|
<td class="coverNumDflt">820</td>
|
||||||
|
<td class="coverNumDflt">561</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">31</td>
|
||||||
|
<td class="coverNumDflt">31</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_parser.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_parser.h">dbc_parser.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverPerHi">-</td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="frame_info.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/frame_info.h">frame_info.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverPerHi">-</td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="signal_info.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/signal_info.h">signal_info.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverPerHi">-</td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="tree_node.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/tree_node.h">tree_node.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverPerHi">-</td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="j1939.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/j1939.h">j1939.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">2</td>
|
||||||
|
<td class="coverNumDflt">2</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_decoder.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_decoder.h">dbc_decoder.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">5</td>
|
||||||
|
<td class="coverNumDflt">5</td>
|
||||||
|
<td class="coverPerMed">75.0 %</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverNumDflt">3</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_diagnostic.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_diagnostic.h">dbc_diagnostic.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">5</td>
|
||||||
|
<td class="coverNumDflt">5</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="decode_database.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/decode_database.h">decode_database.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">5</td>
|
||||||
|
<td class="coverNumDflt">5</td>
|
||||||
|
<td class="coverPerHi">-</td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="signal_layout.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/signal_layout.h">signal_layout.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">6</td>
|
||||||
|
<td class="coverNumDflt">6</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">2</td>
|
||||||
|
<td class="coverNumDflt">2</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_statement_handler.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_statement_handler.h">dbc_statement_handler.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverPerLo">45.5 %</td>
|
||||||
|
<td class="coverNumDflt">22</td>
|
||||||
|
<td class="coverNumDflt">10</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">10</td>
|
||||||
|
<td class="coverNumDflt">10</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="value_descriptions.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/value_descriptions.h">value_descriptions.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverPerMed">87.5 %</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverNumDflt">7</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">2</td>
|
||||||
|
<td class="coverNumDflt">2</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="text_utils.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/text_utils.h">text_utils.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">10</td>
|
||||||
|
<td class="coverNumDflt">10</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">12</td>
|
||||||
|
<td class="coverNumDflt">12</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="typefactory.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/typefactory.h">typefactory.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">12</td>
|
||||||
|
<td class="coverNumDflt">12</td>
|
||||||
|
<td class="coverPerLo">50.0 %</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">27</td>
|
||||||
|
<td class="coverNumDflt">27</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="definition_key.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/definition_key.h">definition_key.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">18</td>
|
||||||
|
<td class="coverNumDflt">18</td>
|
||||||
|
<td class="coverPerLo">70.0 %</td>
|
||||||
|
<td class="coverNumDflt">10</td>
|
||||||
|
<td class="coverNumDflt">7</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_decode_builder.cpp.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_decode_builder.cpp">dbc_decode_builder.cpp</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">40</td>
|
||||||
|
<td class="coverNumDflt">40</td>
|
||||||
|
<td class="coverPerLo">62.5 %</td>
|
||||||
|
<td class="coverNumDflt">40</td>
|
||||||
|
<td class="coverNumDflt">25</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</center>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,439 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - core</td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">98.6 %</td>
|
||||||
|
<td class="headerCovTableEntry">1185</td>
|
||||||
|
<td class="headerCovTableEntry">1168</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">158</td>
|
||||||
|
<td class="headerCovTableEntry">158</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryLo">71.6 %</td>
|
||||||
|
<td class="headerCovTableEntry">2152</td>
|
||||||
|
<td class="headerCovTableEntry">1540</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table width="80%" cellpadding=1 cellspacing=1 border=0>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="40%"><br></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
<td width="6%"></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead" rowspan=2>File <span title="Click to sort table by file name" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by file name" title="Click to sort table by file name" border=0></span></td>
|
||||||
|
<td class="tableHead" colspan=4>Line Coverage <span title="Click to sort table by line coverage" class="tableHeadSort"><a href="index-sort-l.html"><img src="../updown.png" width=10 height=14 alt="Sort by line coverage" title="Click to sort table by line coverage" border=0></a></span></td>
|
||||||
|
<td class="tableHead" colspan=3>Branch Coverage <span title="Click to sort table by branch coverage" class="tableHeadSort"><a href="index-sort-b.html"><img src="../updown.png" width=10 height=14 alt="Sort by branch coverage" title="Click to sort table by branch coverage" border=0></a></span></td>
|
||||||
|
<td class="tableHead" colspan=3>Function Coverage <span title="Click to sort table by function coverage" class="tableHeadSort"><a href="index-sort-f.html"><img src="../updown.png" width=10 height=14 alt="Sort by function coverage" title="Click to sort table by function coverage" border=0></a></span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead" colspan=2> Rate</td>
|
||||||
|
<td class="tableHead"> Total</td>
|
||||||
|
<td class="tableHead"> Hit</td>
|
||||||
|
<td class="tableHead"> Rate</td>
|
||||||
|
<td class="tableHead"> Total</td>
|
||||||
|
<td class="tableHead"> Hit</td>
|
||||||
|
<td class="tableHead"> Rate</td>
|
||||||
|
<td class="tableHead"> Total</td>
|
||||||
|
<td class="tableHead"> Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_attributes.cpp.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_attributes.cpp">dbc_attributes.cpp</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=99 height=10 alt="98.8%"><img src="../snow.png" width=1 height=10 alt="98.8%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">98.8 %</td>
|
||||||
|
<td class="coverNumDflt">260</td>
|
||||||
|
<td class="coverNumDflt">257</td>
|
||||||
|
<td class="coverPerLo">73.5 %</td>
|
||||||
|
<td class="coverNumDflt">604</td>
|
||||||
|
<td class="coverNumDflt">444</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">20</td>
|
||||||
|
<td class="coverNumDflt">20</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_decode_builder.cpp.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_decode_builder.cpp">dbc_decode_builder.cpp</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">40</td>
|
||||||
|
<td class="coverNumDflt">40</td>
|
||||||
|
<td class="coverPerLo">62.5 %</td>
|
||||||
|
<td class="coverNumDflt">40</td>
|
||||||
|
<td class="coverNumDflt">25</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_decoder.cpp.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_decoder.cpp">dbc_decoder.cpp</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=95 height=10 alt="94.9%"><img src="../snow.png" width=5 height=10 alt="94.9%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">94.9 %</td>
|
||||||
|
<td class="coverNumDflt">156</td>
|
||||||
|
<td class="coverNumDflt">148</td>
|
||||||
|
<td class="coverPerLo">72.8 %</td>
|
||||||
|
<td class="coverNumDflt">158</td>
|
||||||
|
<td class="coverNumDflt">115</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">12</td>
|
||||||
|
<td class="coverNumDflt">12</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_decoder.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_decoder.h">dbc_decoder.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">5</td>
|
||||||
|
<td class="coverNumDflt">5</td>
|
||||||
|
<td class="coverPerMed">75.0 %</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverNumDflt">3</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_diagnostic.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_diagnostic.h">dbc_diagnostic.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">5</td>
|
||||||
|
<td class="coverNumDflt">5</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_parser.cpp.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_parser.cpp">dbc_parser.cpp</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=99 height=10 alt="99.0%"><img src="../snow.png" width=1 height=10 alt="99.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">99.0 %</td>
|
||||||
|
<td class="coverNumDflt">99</td>
|
||||||
|
<td class="coverNumDflt">98</td>
|
||||||
|
<td class="coverPerLo">70.4 %</td>
|
||||||
|
<td class="coverNumDflt">216</td>
|
||||||
|
<td class="coverNumDflt">152</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_parser.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_parser.h">dbc_parser.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverPerHi">-</td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_statement_handler.cpp.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_statement_handler.cpp">dbc_statement_handler.cpp</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=99 height=10 alt="99.5%"><img src="../snow.png" width=1 height=10 alt="99.5%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">99.5 %</td>
|
||||||
|
<td class="coverNumDflt">370</td>
|
||||||
|
<td class="coverNumDflt">368</td>
|
||||||
|
<td class="coverPerLo">68.4 %</td>
|
||||||
|
<td class="coverNumDflt">820</td>
|
||||||
|
<td class="coverNumDflt">561</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">31</td>
|
||||||
|
<td class="coverNumDflt">31</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_statement_handler.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_statement_handler.h">dbc_statement_handler.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverPerLo">45.5 %</td>
|
||||||
|
<td class="coverNumDflt">22</td>
|
||||||
|
<td class="coverNumDflt">10</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">10</td>
|
||||||
|
<td class="coverNumDflt">10</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="dbc_tree_builder.cpp.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_tree_builder.cpp">dbc_tree_builder.cpp</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=92 height=10 alt="91.7%"><img src="../snow.png" width=8 height=10 alt="91.7%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">91.7 %</td>
|
||||||
|
<td class="coverNumDflt">12</td>
|
||||||
|
<td class="coverNumDflt">11</td>
|
||||||
|
<td class="coverPerLo">66.7 %</td>
|
||||||
|
<td class="coverNumDflt">12</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="decode_database.cpp.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/decode_database.cpp">decode_database.cpp</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=99 height=10 alt="99.1%"><img src="../snow.png" width=1 height=10 alt="99.1%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">99.1 %</td>
|
||||||
|
<td class="coverNumDflt">110</td>
|
||||||
|
<td class="coverNumDflt">109</td>
|
||||||
|
<td class="coverPerMed">80.2 %</td>
|
||||||
|
<td class="coverNumDflt">182</td>
|
||||||
|
<td class="coverNumDflt">146</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">10</td>
|
||||||
|
<td class="coverNumDflt">10</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="decode_database.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/decode_database.h">decode_database.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">5</td>
|
||||||
|
<td class="coverNumDflt">5</td>
|
||||||
|
<td class="coverPerHi">-</td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="definition_key.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/definition_key.h">definition_key.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">18</td>
|
||||||
|
<td class="coverNumDflt">18</td>
|
||||||
|
<td class="coverPerLo">70.0 %</td>
|
||||||
|
<td class="coverNumDflt">10</td>
|
||||||
|
<td class="coverNumDflt">7</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="frame_info.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/frame_info.h">frame_info.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverPerHi">-</td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="j1939.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/j1939.h">j1939.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">2</td>
|
||||||
|
<td class="coverNumDflt">2</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="signal_info.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/signal_info.h">signal_info.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverPerHi">-</td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="signal_layout.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/signal_layout.h">signal_layout.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">6</td>
|
||||||
|
<td class="coverNumDflt">6</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">2</td>
|
||||||
|
<td class="coverNumDflt">2</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="text_utils.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/text_utils.h">text_utils.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">10</td>
|
||||||
|
<td class="coverNumDflt">10</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">12</td>
|
||||||
|
<td class="coverNumDflt">12</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="tree_node.cpp.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/tree_node.cpp">tree_node.cpp</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=98 height=10 alt="98.1%"><img src="../snow.png" width=2 height=10 alt="98.1%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">98.1 %</td>
|
||||||
|
<td class="coverNumDflt">53</td>
|
||||||
|
<td class="coverNumDflt">52</td>
|
||||||
|
<td class="coverPerMed">76.2 %</td>
|
||||||
|
<td class="coverNumDflt">42</td>
|
||||||
|
<td class="coverNumDflt">32</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">15</td>
|
||||||
|
<td class="coverNumDflt">15</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="tree_node.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/tree_node.h">tree_node.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverPerHi">-</td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverNumDflt"></td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
<td class="coverNumDflt">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="typefactory.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/typefactory.h">typefactory.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">12</td>
|
||||||
|
<td class="coverNumDflt">12</td>
|
||||||
|
<td class="coverPerLo">50.0 %</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverNumDflt">4</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">27</td>
|
||||||
|
<td class="coverNumDflt">27</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFile"><a href="value_descriptions.h.gcov.html" title="Click to go to file /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/value_descriptions.h">value_descriptions.h</a></td>
|
||||||
|
<td class="coverBar" align="center">
|
||||||
|
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||||
|
</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverPerMed">87.5 %</td>
|
||||||
|
<td class="coverNumDflt">8</td>
|
||||||
|
<td class="coverNumDflt">7</td>
|
||||||
|
<td class="coverPerHi">100.0 %</td>
|
||||||
|
<td class="coverNumDflt">2</td>
|
||||||
|
<td class="coverNumDflt">2</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</center>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,93 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/j1939.h - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - j1939.h<span style="font-size: 80%;"> (<a href="j1939.h.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">4</td>
|
||||||
|
<td class="headerCovTableEntry">4</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">2</td>
|
||||||
|
<td class="headerCovTableEntry">2</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><a href="j1939.h.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></a></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="j1939.h.gcov.html#L9">ExtractJ1939Pgn(unsigned int)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">130</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,93 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/j1939.h - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - j1939.h<span style="font-size: 80%;"> (<a href="j1939.h.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">4</td>
|
||||||
|
<td class="headerCovTableEntry">4</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">2</td>
|
||||||
|
<td class="headerCovTableEntry">2</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><a href="j1939.h.func-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></a></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="j1939.h.gcov.html#L9">ExtractJ1939Pgn(unsigned int)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">130</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,102 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/j1939.h</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - j1939.h<span style="font-size: 80%;"> (source / <a href="j1939.h.func-c.html" title="Click to go to function table">functions</a>)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">4</td>
|
||||||
|
<td class="headerCovTableEntry">4</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">2</td>
|
||||||
|
<td class="headerCovTableEntry">2</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table cellpadding=0 cellspacing=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td><br></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<pre class="sourceHeading"> Branch data Line data Source code</pre>
|
||||||
|
<pre class="source">
|
||||||
|
<span id="L1"><span class="lineNum"> 1</span> : : // SPDX-License-Identifier: MIT</span>
|
||||||
|
<span id="L2"><span class="lineNum"> 2</span> : : #ifndef J1939_H</span>
|
||||||
|
<span id="L3"><span class="lineNum"> 3</span> : : #define J1939_H</span>
|
||||||
|
<span id="L4"><span class="lineNum"> 4</span> : : </span>
|
||||||
|
<span id="L5"><span class="lineNum"> 5</span> : : #include <cstdint></span>
|
||||||
|
<span id="L6"><span class="lineNum"> 6</span> : : </span>
|
||||||
|
<span id="L7"><span class="lineNum"> 7</span> : : /** Extract an 18-bit PGN from a normalized 29-bit ID explicitly interpreted as J1939.</span>
|
||||||
|
<span id="L8"><span class="lineNum"> 8</span> : : * Priority and source address are excluded. PDU1 also excludes destination address.</span>
|
||||||
|
<span id="L9"><span class="lineNum"> 9</span> : : * Both data-page bits are retained; this does not validate the J1939 protocol.</span>
|
||||||
|
<span id="L10"><span class="lineNum"> 10</span> : : */</span>
|
||||||
|
<span id="L11"><span class="lineNum"> 11</span> :<span class="tlaGNC"> 130 : inline std::uint32_t ExtractJ1939Pgn(std::uint32_t canId) {</span></span>
|
||||||
|
<span id="L12"><span class="lineNum"> 12</span> :<span class="tlaGNC"> 130 : const std::uint32_t pf = (canId >> 16U) & 0xFFU;</span></span>
|
||||||
|
<span id="L13"><span class="lineNum"> 13</span> :<span class="tlaGNC"> 130 : const std::uint32_t pgn = (canId >> 8U) & 0x3FFFFU;</span></span>
|
||||||
|
<span id="L14"><span class="lineNum"> 14</span> [<span class="tlaGBC" title="Branch 0 was taken 78 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 52 times"> + </span>]:<span class="tlaGNC"> 130 : return pf < 240U ? pgn & 0x3FF00U : pgn;</span></span>
|
||||||
|
<span id="L15"><span class="lineNum"> 15</span> : : }</span>
|
||||||
|
<span id="L16"><span class="lineNum"> 16</span> : : </span>
|
||||||
|
<span id="L17"><span class="lineNum"> 17</span> : : #endif /* J1939_H */</span>
|
||||||
|
</pre>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,84 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/signal_info.h - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - signal_info.h<span style="font-size: 80%;"> (<a href="signal_info.h.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><a href="signal_info.h.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></a></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="signal_info.h.gcov.html#L41">SignalInfo::SignalInfo()</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">592</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,84 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/signal_info.h - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - signal_info.h<span style="font-size: 80%;"> (<a href="signal_info.h.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><a href="signal_info.h.func-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></a></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="signal_info.h.gcov.html#L41">SignalInfo::SignalInfo()</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">592</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,122 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/signal_info.h</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - signal_info.h<span style="font-size: 80%;"> (source / <a href="signal_info.h.func-c.html" title="Click to go to function table">functions</a>)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table cellpadding=0 cellspacing=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td><br></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<pre class="sourceHeading"> Line data Source code</pre>
|
||||||
|
<pre class="source">
|
||||||
|
<span id="L1"><span class="lineNum"> 1</span> : /**</span>
|
||||||
|
<span id="L2"><span class="lineNum"> 2</span> : * @file signal_info.h</span>
|
||||||
|
<span id="L3"><span class="lineNum"> 3</span> : * @brief Parsed CAN signal metadata.</span>
|
||||||
|
<span id="L4"><span class="lineNum"> 4</span> : *</span>
|
||||||
|
<span id="L5"><span class="lineNum"> 5</span> : * Created: 2026-03-13</span>
|
||||||
|
<span id="L6"><span class="lineNum"> 6</span> : * Author: Deeaitch (Dim. Himro)</span>
|
||||||
|
<span id="L7"><span class="lineNum"> 7</span> : *</span>
|
||||||
|
<span id="L8"><span class="lineNum"> 8</span> : * Licensed under the MIT License.</span>
|
||||||
|
<span id="L9"><span class="lineNum"> 9</span> : * See LICENSE file in the project root for full license text.</span>
|
||||||
|
<span id="L10"><span class="lineNum"> 10</span> : */</span>
|
||||||
|
<span id="L11"><span class="lineNum"> 11</span> : </span>
|
||||||
|
<span id="L12"><span class="lineNum"> 12</span> : #ifndef SIGNAL_INFO_H</span>
|
||||||
|
<span id="L13"><span class="lineNum"> 13</span> : #define SIGNAL_INFO_H</span>
|
||||||
|
<span id="L14"><span class="lineNum"> 14</span> : </span>
|
||||||
|
<span id="L15"><span class="lineNum"> 15</span> : #include "attributes.h"</span>
|
||||||
|
<span id="L16"><span class="lineNum"> 16</span> : #include "multiplexing.h"</span>
|
||||||
|
<span id="L17"><span class="lineNum"> 17</span> : #include "value_descriptions.h"</span>
|
||||||
|
<span id="L18"><span class="lineNum"> 18</span> : #include <cstdint></span>
|
||||||
|
<span id="L19"><span class="lineNum"> 19</span> : #include <string></span>
|
||||||
|
<span id="L20"><span class="lineNum"> 20</span> : #include <vector></span>
|
||||||
|
<span id="L21"><span class="lineNum"> 21</span> : </span>
|
||||||
|
<span id="L22"><span class="lineNum"> 22</span> : /**</span>
|
||||||
|
<span id="L23"><span class="lineNum"> 23</span> : * @brief Describes one signal inside a DBC frame.</span>
|
||||||
|
<span id="L24"><span class="lineNum"> 24</span> : */</span>
|
||||||
|
<span id="L25"><span class="lineNum"> 25</span> : struct SignalInfo {</span>
|
||||||
|
<span id="L26"><span class="lineNum"> 26</span> : Multiplexing multiplexing; /**< Selector role and branch value. */</span>
|
||||||
|
<span id="L27"><span class="lineNum"> 27</span> : std::string name; /**< Signal name. */</span>
|
||||||
|
<span id="L28"><span class="lineNum"> 28</span> : std::uint32_t startBit = 0U; /**< Start bit in DBC notation. */</span>
|
||||||
|
<span id="L29"><span class="lineNum"> 29</span> : std::uint32_t length = 0U; /**< Signal length in bits. */</span>
|
||||||
|
<span id="L30"><span class="lineNum"> 30</span> : bool isLittleEndian = true; /**< true for Intel, false for Motorola. */</span>
|
||||||
|
<span id="L31"><span class="lineNum"> 31</span> : bool isSigned = false; /**< true if signal is signed. */</span>
|
||||||
|
<span id="L32"><span class="lineNum"> 32</span> : double factor = 1.0; /**< Scaling factor. */</span>
|
||||||
|
<span id="L33"><span class="lineNum"> 33</span> : double offset = 0.0; /**< Physical offset. */</span>
|
||||||
|
<span id="L34"><span class="lineNum"> 34</span> : double minimum = 0.0; /**< Minimum physical value. */</span>
|
||||||
|
<span id="L35"><span class="lineNum"> 35</span> : double maximum = 0.0; /**< Maximum physical value. */</span>
|
||||||
|
<span id="L36"><span class="lineNum"> 36</span> : std::string unit; /**< Physical unit. */</span>
|
||||||
|
<span id="L37"><span class="lineNum"> 37</span> : std::vector<std::string> receivers; /**< Signal receivers. */</span>
|
||||||
|
<span id="L38"><span class="lineNum"> 38</span> : ValueDescriptions valueDescriptions; /**< Raw integer state descriptions. */</span>
|
||||||
|
<span id="L39"><span class="lineNum"> 39</span> : std::string comment; /**< Optional signal comment. */</span>
|
||||||
|
<span id="L40"><span class="lineNum"> 40</span> : </span>
|
||||||
|
<span id="L41"><span class="lineNum"> 41</span> : AttributeMap attributes; /**< Effective attributes after defaults and overrides. */ /**< Effective values, including defaults. */</span>
|
||||||
|
<span id="L42"><span class="lineNum"> 42</span> : </span>
|
||||||
|
<span id="L43"><span class="lineNum"> 43</span> <span class="tlaGNC"> 592 : SignalInfo() = default;</span></span>
|
||||||
|
<span id="L44"><span class="lineNum"> 44</span> : };</span>
|
||||||
|
<span id="L45"><span class="lineNum"> 45</span> : </span>
|
||||||
|
<span id="L46"><span class="lineNum"> 46</span> : #endif /* SIGNAL_INFO_H */</span>
|
||||||
|
</pre>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,101 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/signal_layout.h - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - signal_layout.h<span style="font-size: 80%;"> (<a href="signal_layout.h.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">6</td>
|
||||||
|
<td class="headerCovTableEntry">6</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">2</td>
|
||||||
|
<td class="headerCovTableEntry">2</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">8</td>
|
||||||
|
<td class="headerCovTableEntry">8</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><a href="signal_layout.h.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></a></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="signal_layout.h.gcov.html#L6">SignalStartCoordinate(unsigned int, bool)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">352521</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="signal_layout.h.gcov.html#L11">IsValidSignalLayout(unsigned int, unsigned int, bool, unsigned char)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">360851</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,101 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/signal_layout.h - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - signal_layout.h<span style="font-size: 80%;"> (<a href="signal_layout.h.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">6</td>
|
||||||
|
<td class="headerCovTableEntry">6</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">2</td>
|
||||||
|
<td class="headerCovTableEntry">2</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">8</td>
|
||||||
|
<td class="headerCovTableEntry">8</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><a href="signal_layout.h.func-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></a></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="signal_layout.h.gcov.html#L11">IsValidSignalLayout(unsigned int, unsigned int, bool, unsigned char)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">360851</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="signal_layout.h.gcov.html#L6">SignalStartCoordinate(unsigned int, bool)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">352521</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,104 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/signal_layout.h</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - signal_layout.h<span style="font-size: 80%;"> (source / <a href="signal_layout.h.func-c.html" title="Click to go to function table">functions</a>)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">6</td>
|
||||||
|
<td class="headerCovTableEntry">6</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">2</td>
|
||||||
|
<td class="headerCovTableEntry">2</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">8</td>
|
||||||
|
<td class="headerCovTableEntry">8</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table cellpadding=0 cellspacing=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td><br></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<pre class="sourceHeading"> Branch data Line data Source code</pre>
|
||||||
|
<pre class="source">
|
||||||
|
<span id="L1"><span class="lineNum"> 1</span> : : // SPDX-License-Identifier: MIT</span>
|
||||||
|
<span id="L2"><span class="lineNum"> 2</span> : : #ifndef SIGNAL_LAYOUT_H</span>
|
||||||
|
<span id="L3"><span class="lineNum"> 3</span> : : #define SIGNAL_LAYOUT_H</span>
|
||||||
|
<span id="L4"><span class="lineNum"> 4</span> : : </span>
|
||||||
|
<span id="L5"><span class="lineNum"> 5</span> : : #include <cstdint></span>
|
||||||
|
<span id="L6"><span class="lineNum"> 6</span> : : </span>
|
||||||
|
<span id="L7"><span class="lineNum"> 7</span> : : /** Linear coordinate in the signal's bit order, widened before arithmetic. */</span>
|
||||||
|
<span id="L8"><span class="lineNum"> 8</span> :<span class="tlaGNC"> 352521 : inline std::uint64_t SignalStartCoordinate(std::uint32_t startBit, bool littleEndian) {</span></span>
|
||||||
|
<span id="L9"><span class="lineNum"> 9</span> [<span class="tlaGBC" title="Branch 0 was taken 176628 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 175893 times"> + </span>]:<span class="tlaGNC"> 352521 : return littleEndian ? std::uint64_t(startBit)</span></span>
|
||||||
|
<span id="L10"><span class="lineNum"> 10</span> :<span class="tlaGNC"> 352521 : : std::uint64_t(startBit / 8U) * 8U + 7U - startBit % 8U;</span></span>
|
||||||
|
<span id="L11"><span class="lineNum"> 11</span> : : }</span>
|
||||||
|
<span id="L12"><span class="lineNum"> 12</span> : : </span>
|
||||||
|
<span id="L13"><span class="lineNum"> 13</span> :<span class="tlaGNC"> 360851 : inline bool IsValidSignalLayout(std::uint32_t startBit, std::uint32_t length,</span></span>
|
||||||
|
<span id="L14"><span class="lineNum"> 14</span> : : bool littleEndian, std::uint8_t dlc) {</span>
|
||||||
|
<span id="L15"><span class="lineNum"> 15</span> [<span class="tlaGBC" title="Branch 0 was taken 355515 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 5336 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 350157 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 5358 times"> + </span>]:<span class="tlaGNC"> 711008 : return length >= 1U && length <= 64U &&</span></span>
|
||||||
|
<span id="L16"><span class="lineNum"> 16</span> [<span class="tlaGBC" title="Branch 0 was taken 331954 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 18203 times"> + </span>]:<span class="tlaGNC"> 711008 : SignalStartCoordinate(startBit, littleEndian) + length <= std::uint64_t(dlc) * 8U;</span></span>
|
||||||
|
<span id="L17"><span class="lineNum"> 17</span> : : }</span>
|
||||||
|
<span id="L18"><span class="lineNum"> 18</span> : : </span>
|
||||||
|
<span id="L19"><span class="lineNum"> 19</span> : : #endif</span>
|
||||||
|
</pre>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,93 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/text_utils.h - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - text_utils.h<span style="font-size: 80%;"> (<a href="text_utils.h.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">10</td>
|
||||||
|
<td class="headerCovTableEntry">10</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">12</td>
|
||||||
|
<td class="headerCovTableEntry">12</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><a href="text_utils.h.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></a></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="text_utils.h.gcov.html#L6">dbc_detail::TrimText(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">2913</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,93 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/text_utils.h - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - text_utils.h<span style="font-size: 80%;"> (<a href="text_utils.h.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">10</td>
|
||||||
|
<td class="headerCovTableEntry">10</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">12</td>
|
||||||
|
<td class="headerCovTableEntry">12</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><a href="text_utils.h.func-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></a></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="text_utils.h.gcov.html#L6">dbc_detail::TrimText(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">2913</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,108 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/text_utils.h</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - text_utils.h<span style="font-size: 80%;"> (source / <a href="text_utils.h.func-c.html" title="Click to go to function table">functions</a>)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">10</td>
|
||||||
|
<td class="headerCovTableEntry">10</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">12</td>
|
||||||
|
<td class="headerCovTableEntry">12</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table cellpadding=0 cellspacing=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td><br></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<pre class="sourceHeading"> Branch data Line data Source code</pre>
|
||||||
|
<pre class="source">
|
||||||
|
<span id="L1"><span class="lineNum"> 1</span> : : #ifndef DBC_TEXT_UTILS_H</span>
|
||||||
|
<span id="L2"><span class="lineNum"> 2</span> : : #define DBC_TEXT_UTILS_H</span>
|
||||||
|
<span id="L3"><span class="lineNum"> 3</span> : : </span>
|
||||||
|
<span id="L4"><span class="lineNum"> 4</span> : : #include <cctype></span>
|
||||||
|
<span id="L5"><span class="lineNum"> 5</span> : : #include <string></span>
|
||||||
|
<span id="L6"><span class="lineNum"> 6</span> : : </span>
|
||||||
|
<span id="L7"><span class="lineNum"> 7</span> : : namespace dbc_detail {</span>
|
||||||
|
<span id="L8"><span class="lineNum"> 8</span> :<span class="tlaGNC"> 2913 : inline std::string TrimText(const std::string &text) {</span></span>
|
||||||
|
<span id="L9"><span class="lineNum"> 9</span> :<span class="tlaGNC"> 2913 : std::string::size_type begin = 0U;</span></span>
|
||||||
|
<span id="L10"><span class="lineNum"> 10</span> [<span class="tlaGBC" title="Branch 0 was taken 2692 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 343 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 122 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 2913 times"> + </span>]:<span class="tlaGNC"> 5727 : while ((begin < text.size()) &&</span></span>
|
||||||
|
<span id="L11"><span class="lineNum"> 11</span> [<span class="tlaGBC" title="Branch 0 was taken 122 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2570 times"> + </span>]:<span class="tlaGNC"> 2692 : std::isspace(static_cast<unsigned char>(text[begin])))</span></span>
|
||||||
|
<span id="L12"><span class="lineNum"> 12</span> :<span class="tlaGNC"> 122 : ++begin;</span></span>
|
||||||
|
<span id="L13"><span class="lineNum"> 13</span> : : </span>
|
||||||
|
<span id="L14"><span class="lineNum"> 14</span> :<span class="tlaGNC"> 2913 : std::string::size_type end = text.size();</span></span>
|
||||||
|
<span id="L15"><span class="lineNum"> 15</span> [<span class="tlaGBC" title="Branch 0 was taken 2574 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 343 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 2913 times"> + </span>]:<span class="tlaGNC"> 5491 : while ((end > begin) &&</span></span>
|
||||||
|
<span id="L16"><span class="lineNum"> 16</span> [<span class="tlaGBC" title="Branch 0 was taken 4 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2570 times"> + </span>]:<span class="tlaGNC"> 2574 : std::isspace(static_cast<unsigned char>(text[end - 1U])))</span></span>
|
||||||
|
<span id="L17"><span class="lineNum"> 17</span> :<span class="tlaGNC"> 4 : --end;</span></span>
|
||||||
|
<span id="L18"><span class="lineNum"> 18</span> : : </span>
|
||||||
|
<span id="L19"><span class="lineNum"> 19</span> :<span class="tlaGNC"> 2913 : return text.substr(begin, end - begin);</span></span>
|
||||||
|
<span id="L20"><span class="lineNum"> 20</span> : : }</span>
|
||||||
|
<span id="L21"><span class="lineNum"> 21</span> : : }</span>
|
||||||
|
<span id="L22"><span class="lineNum"> 22</span> : : </span>
|
||||||
|
<span id="L23"><span class="lineNum"> 23</span> : : #endif</span>
|
||||||
|
</pre>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,205 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/tree_node.cpp - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - tree_node.cpp<span style="font-size: 80%;"> (<a href="tree_node.cpp.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">98.1 %</td>
|
||||||
|
<td class="headerCovTableEntry">53</td>
|
||||||
|
<td class="headerCovTableEntry">52</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">15</td>
|
||||||
|
<td class="headerCovTableEntry">15</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryMed">76.2 %</td>
|
||||||
|
<td class="headerCovTableEntry">42</td>
|
||||||
|
<td class="headerCovTableEntry">32</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><a href="tree_node.cpp.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></a></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="tree_node.cpp.gcov.html#L89">TreeNode::GetSignalKey() const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">9</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="tree_node.cpp.gcov.html#L13">TreeNode::TreeNode()</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">22</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="tree_node.cpp.gcov.html#L81">TreeNode::GetFrameKey() const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">23</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="tree_node.cpp.gcov.html#L61">TreeNode::GetName[abi:cxx11]() const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">29</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="tree_node.cpp.gcov.html#L57">TreeNode::GetType() const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">44</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="tree_node.cpp.gcov.html#L50">TreeNode::GetChild(unsigned long)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">91</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="tree_node.cpp.gcov.html#L17">TreeNode::TreeNode(FrameInfo const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">97</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="tree_node.cpp.gcov.html#L21">TreeNode::TreeNode(SignalInfo const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">110</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="tree_node.cpp.gcov.html#L25">TreeNode::AddChild(std::unique_ptr<TreeNode, std::default_delete<TreeNode> >&&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">206</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="tree_node.cpp.gcov.html#L65">TreeNode::GetFrame() const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">274</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="tree_node.cpp.gcov.html#L69">TreeNode::GetSignal() const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">281</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="tree_node.cpp.gcov.html#L77">TreeNode::GetRow() const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">1547</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="tree_node.cpp.gcov.html#L73">TreeNode::GetParent() const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">1875</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="tree_node.cpp.gcov.html#L39">TreeNode::GetChildCount() const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">2120</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="tree_node.cpp.gcov.html#L43">TreeNode::GetChild(unsigned long) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">3430</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,205 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/tree_node.cpp - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - tree_node.cpp<span style="font-size: 80%;"> (<a href="tree_node.cpp.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">98.1 %</td>
|
||||||
|
<td class="headerCovTableEntry">53</td>
|
||||||
|
<td class="headerCovTableEntry">52</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">15</td>
|
||||||
|
<td class="headerCovTableEntry">15</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryMed">76.2 %</td>
|
||||||
|
<td class="headerCovTableEntry">42</td>
|
||||||
|
<td class="headerCovTableEntry">32</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><a href="tree_node.cpp.func-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></a></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="tree_node.cpp.gcov.html#L25">TreeNode::AddChild(std::unique_ptr<TreeNode, std::default_delete<TreeNode> >&&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">206</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="tree_node.cpp.gcov.html#L50">TreeNode::GetChild(unsigned long)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">91</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="tree_node.cpp.gcov.html#L43">TreeNode::GetChild(unsigned long) const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">3430</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="tree_node.cpp.gcov.html#L39">TreeNode::GetChildCount() const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">2120</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="tree_node.cpp.gcov.html#L65">TreeNode::GetFrame() const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">274</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="tree_node.cpp.gcov.html#L81">TreeNode::GetFrameKey() const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">23</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="tree_node.cpp.gcov.html#L61">TreeNode::GetName[abi:cxx11]() const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">29</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="tree_node.cpp.gcov.html#L73">TreeNode::GetParent() const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">1875</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="tree_node.cpp.gcov.html#L77">TreeNode::GetRow() const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">1547</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="tree_node.cpp.gcov.html#L69">TreeNode::GetSignal() const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">281</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="tree_node.cpp.gcov.html#L89">TreeNode::GetSignalKey() const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">9</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="tree_node.cpp.gcov.html#L57">TreeNode::GetType() const</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">44</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="tree_node.cpp.gcov.html#L13">TreeNode::TreeNode()</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">22</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="tree_node.cpp.gcov.html#L17">TreeNode::TreeNode(FrameInfo const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">97</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="tree_node.cpp.gcov.html#L21">TreeNode::TreeNode(SignalInfo const&)</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">110</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,183 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/tree_node.cpp</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - tree_node.cpp<span style="font-size: 80%;"> (source / <a href="tree_node.cpp.func-c.html" title="Click to go to function table">functions</a>)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">98.1 %</td>
|
||||||
|
<td class="headerCovTableEntry">53</td>
|
||||||
|
<td class="headerCovTableEntry">52</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">15</td>
|
||||||
|
<td class="headerCovTableEntry">15</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Branches:</td>
|
||||||
|
<td class="headerCovTableEntryMed">76.2 %</td>
|
||||||
|
<td class="headerCovTableEntry">42</td>
|
||||||
|
<td class="headerCovTableEntry">32</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table cellpadding=0 cellspacing=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td><br></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<pre class="sourceHeading"> Branch data Line data Source code</pre>
|
||||||
|
<pre class="source">
|
||||||
|
<span id="L1"><span class="lineNum"> 1</span> : : /**</span>
|
||||||
|
<span id="L2"><span class="lineNum"> 2</span> : : * @file tree_node.cpp</span>
|
||||||
|
<span id="L3"><span class="lineNum"> 3</span> : : * @brief Tree node ownership and navigation.</span>
|
||||||
|
<span id="L4"><span class="lineNum"> 4</span> : : *</span>
|
||||||
|
<span id="L5"><span class="lineNum"> 5</span> : : * Created: 2026-03-13</span>
|
||||||
|
<span id="L6"><span class="lineNum"> 6</span> : : * Author: Deeaitch (Dim. Himro)</span>
|
||||||
|
<span id="L7"><span class="lineNum"> 7</span> : : *</span>
|
||||||
|
<span id="L8"><span class="lineNum"> 8</span> : : * Licensed under the MIT License.</span>
|
||||||
|
<span id="L9"><span class="lineNum"> 9</span> : : * See LICENSE file in the project root for full license text.</span>
|
||||||
|
<span id="L10"><span class="lineNum"> 10</span> : : */</span>
|
||||||
|
<span id="L11"><span class="lineNum"> 11</span> : : </span>
|
||||||
|
<span id="L12"><span class="lineNum"> 12</span> : : #include "tree_node.h"</span>
|
||||||
|
<span id="L13"><span class="lineNum"> 13</span> : : #include <stdexcept></span>
|
||||||
|
<span id="L14"><span class="lineNum"> 14</span> : : </span>
|
||||||
|
<span id="L15"><span class="lineNum"> 15</span> :<span class="tlaGNC"> 22 : TreeNode::TreeNode()</span></span>
|
||||||
|
<span id="L16"><span class="lineNum"> 16</span> [<span class="tlaGBC" title="Branch 0 was taken 22 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 66 : : m_type(NodeType::Root), m_name("dbc") {</span></span>
|
||||||
|
<span id="L17"><span class="lineNum"> 17</span> :<span class="tlaGNC"> 22 : }</span></span>
|
||||||
|
<span id="L18"><span class="lineNum"> 18</span> : : </span>
|
||||||
|
<span id="L19"><span class="lineNum"> 19</span> :<span class="tlaGNC"> 97 : TreeNode::TreeNode(const FrameInfo &frame)</span></span>
|
||||||
|
<span id="L20"><span class="lineNum"> 20</span> [<span class="tlaGBC" title="Branch 0 was taken 97 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 97 : : m_type(NodeType::Frame), m_name(frame.name), m_frame(std::make_unique<FrameInfo>(frame)) {</span></span>
|
||||||
|
<span id="L21"><span class="lineNum"> 21</span> :<span class="tlaGNC"> 97 : }</span></span>
|
||||||
|
<span id="L22"><span class="lineNum"> 22</span> : : </span>
|
||||||
|
<span id="L23"><span class="lineNum"> 23</span> :<span class="tlaGNC"> 110 : TreeNode::TreeNode(const SignalInfo &signal)</span></span>
|
||||||
|
<span id="L24"><span class="lineNum"> 24</span> [<span class="tlaGBC" title="Branch 0 was taken 110 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 110 : : m_type(NodeType::Signal), m_name(signal.name), m_signal(std::make_unique<SignalInfo>(signal)) {</span></span>
|
||||||
|
<span id="L25"><span class="lineNum"> 25</span> :<span class="tlaGNC"> 110 : }</span></span>
|
||||||
|
<span id="L26"><span class="lineNum"> 26</span> : : </span>
|
||||||
|
<span id="L27"><span class="lineNum"> 27</span> :<span class="tlaGNC"> 206 : void TreeNode::AddChild(std::unique_ptr<TreeNode> &&child) {</span></span>
|
||||||
|
<span id="L28"><span class="lineNum"> 28</span> [<span class="tlaGBC" title="Branch 0 was taken 205 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 1 time"> + </span>]:<span class="tlaGNC"> 206 : if (child) {</span></span>
|
||||||
|
<span id="L29"><span class="lineNum"> 29</span> [<span class="tlaGBC" title="Branch 0 was taken 271 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 203 times"> + </span>]:<span class="tlaGNC"> 474 : for (const TreeNode *ancestor = this; ancestor; ancestor = ancestor->m_parent) {</span></span>
|
||||||
|
<span id="L30"><span class="lineNum"> 30</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 269 times"> + </span>]:<span class="tlaGNC"> 271 : if (ancestor == child.get())</span></span>
|
||||||
|
<span id="L31"><span class="lineNum"> 31</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 2 : throw std::invalid_argument("Cannot insert a node into its own subtree");</span></span>
|
||||||
|
<span id="L32"><span class="lineNum"> 32</span> : : }</span>
|
||||||
|
<span id="L33"><span class="lineNum"> 33</span> [<span class="tlaUNC" title="Branch 0 was not taken"> - </span><span class="tlaGBC" title="Branch 1 was taken 203 times"> + </span>]:<span class="tlaGNC"> 203 : if (child->m_parent)</span></span>
|
||||||
|
<span id="L34"><span class="lineNum"> 34</span> [<span class="tlaUNC" title="Branch 0 was not executed"> # </span><span class="tlaUNC" title="Branch 1 was not executed"> # </span>]:<span class="tlaUNC"> 0 : throw std::invalid_argument("Child is already attached");</span></span>
|
||||||
|
<span id="L35"><span class="lineNum"> 35</span> :<span class="tlaGNC"> 203 : m_children.push_back(std::move(child));</span></span>
|
||||||
|
<span id="L36"><span class="lineNum"> 36</span> :<span class="tlaGNC"> 203 : m_children.back()->m_parent = this;</span></span>
|
||||||
|
<span id="L37"><span class="lineNum"> 37</span> :<span class="tlaGNC"> 203 : m_children.back()->m_row = m_children.size() - 1U;</span></span>
|
||||||
|
<span id="L38"><span class="lineNum"> 38</span> : : }</span>
|
||||||
|
<span id="L39"><span class="lineNum"> 39</span> :<span class="tlaGNC"> 204 : }</span></span>
|
||||||
|
<span id="L40"><span class="lineNum"> 40</span> : : </span>
|
||||||
|
<span id="L41"><span class="lineNum"> 41</span> :<span class="tlaGNC"> 2120 : std::size_t TreeNode::GetChildCount() const {</span></span>
|
||||||
|
<span id="L42"><span class="lineNum"> 42</span> :<span class="tlaGNC"> 2120 : return m_children.size();</span></span>
|
||||||
|
<span id="L43"><span class="lineNum"> 43</span> : : }</span>
|
||||||
|
<span id="L44"><span class="lineNum"> 44</span> : : </span>
|
||||||
|
<span id="L45"><span class="lineNum"> 45</span> :<span class="tlaGNC"> 3430 : const TreeNode *TreeNode::GetChild(std::size_t index) const {</span></span>
|
||||||
|
<span id="L46"><span class="lineNum"> 46</span> [<span class="tlaGBC" title="Branch 0 was taken 1107 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2323 times"> + </span>]:<span class="tlaGNC"> 3430 : if (index >= m_children.size())</span></span>
|
||||||
|
<span id="L47"><span class="lineNum"> 47</span> :<span class="tlaGNC"> 1107 : return nullptr;</span></span>
|
||||||
|
<span id="L48"><span class="lineNum"> 48</span> : : </span>
|
||||||
|
<span id="L49"><span class="lineNum"> 49</span> :<span class="tlaGNC"> 2323 : return m_children[index].get();</span></span>
|
||||||
|
<span id="L50"><span class="lineNum"> 50</span> : : }</span>
|
||||||
|
<span id="L51"><span class="lineNum"> 51</span> : : </span>
|
||||||
|
<span id="L52"><span class="lineNum"> 52</span> :<span class="tlaGNC"> 91 : TreeNode *TreeNode::GetChild(std::size_t index) {</span></span>
|
||||||
|
<span id="L53"><span class="lineNum"> 53</span> [<span class="tlaGBC" title="Branch 0 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 89 times"> + </span>]:<span class="tlaGNC"> 91 : if (index >= m_children.size())</span></span>
|
||||||
|
<span id="L54"><span class="lineNum"> 54</span> :<span class="tlaGNC"> 2 : return nullptr;</span></span>
|
||||||
|
<span id="L55"><span class="lineNum"> 55</span> : : </span>
|
||||||
|
<span id="L56"><span class="lineNum"> 56</span> :<span class="tlaGNC"> 89 : return m_children[index].get();</span></span>
|
||||||
|
<span id="L57"><span class="lineNum"> 57</span> : : }</span>
|
||||||
|
<span id="L58"><span class="lineNum"> 58</span> : : </span>
|
||||||
|
<span id="L59"><span class="lineNum"> 59</span> :<span class="tlaGNC"> 44 : NodeType TreeNode::GetType() const {</span></span>
|
||||||
|
<span id="L60"><span class="lineNum"> 60</span> :<span class="tlaGNC"> 44 : return m_type;</span></span>
|
||||||
|
<span id="L61"><span class="lineNum"> 61</span> : : }</span>
|
||||||
|
<span id="L62"><span class="lineNum"> 62</span> : : </span>
|
||||||
|
<span id="L63"><span class="lineNum"> 63</span> :<span class="tlaGNC"> 29 : const std::string &TreeNode::GetName() const {</span></span>
|
||||||
|
<span id="L64"><span class="lineNum"> 64</span> :<span class="tlaGNC"> 29 : return m_name;</span></span>
|
||||||
|
<span id="L65"><span class="lineNum"> 65</span> : : }</span>
|
||||||
|
<span id="L66"><span class="lineNum"> 66</span> : : </span>
|
||||||
|
<span id="L67"><span class="lineNum"> 67</span> :<span class="tlaGNC"> 274 : const FrameInfo *TreeNode::GetFrame() const {</span></span>
|
||||||
|
<span id="L68"><span class="lineNum"> 68</span> :<span class="tlaGNC"> 274 : return m_frame.get();</span></span>
|
||||||
|
<span id="L69"><span class="lineNum"> 69</span> : : }</span>
|
||||||
|
<span id="L70"><span class="lineNum"> 70</span> : : </span>
|
||||||
|
<span id="L71"><span class="lineNum"> 71</span> :<span class="tlaGNC"> 281 : const SignalInfo *TreeNode::GetSignal() const {</span></span>
|
||||||
|
<span id="L72"><span class="lineNum"> 72</span> :<span class="tlaGNC"> 281 : return m_signal.get();</span></span>
|
||||||
|
<span id="L73"><span class="lineNum"> 73</span> : : }</span>
|
||||||
|
<span id="L74"><span class="lineNum"> 74</span> : : </span>
|
||||||
|
<span id="L75"><span class="lineNum"> 75</span> :<span class="tlaGNC"> 1875 : const TreeNode *TreeNode::GetParent() const {</span></span>
|
||||||
|
<span id="L76"><span class="lineNum"> 76</span> :<span class="tlaGNC"> 1875 : return m_parent;</span></span>
|
||||||
|
<span id="L77"><span class="lineNum"> 77</span> : : }</span>
|
||||||
|
<span id="L78"><span class="lineNum"> 78</span> : : </span>
|
||||||
|
<span id="L79"><span class="lineNum"> 79</span> :<span class="tlaGNC"> 1547 : std::size_t TreeNode::GetRow() const {</span></span>
|
||||||
|
<span id="L80"><span class="lineNum"> 80</span> :<span class="tlaGNC"> 1547 : return m_row;</span></span>
|
||||||
|
<span id="L81"><span class="lineNum"> 81</span> : : }</span>
|
||||||
|
<span id="L82"><span class="lineNum"> 82</span> : : </span>
|
||||||
|
<span id="L83"><span class="lineNum"> 83</span> :<span class="tlaGNC"> 23 : std::optional<FrameKey> TreeNode::GetFrameKey() const {</span></span>
|
||||||
|
<span id="L84"><span class="lineNum"> 84</span> [<span class="tlaGBC" title="Branch 0 was taken 13 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 10 times"> + </span>]:<span class="tlaGNC"> 23 : if (m_frame)</span></span>
|
||||||
|
<span id="L85"><span class="lineNum"> 85</span> :<span class="tlaGNC"> 13 : return FrameKey(m_frame->canId, m_frame->isExtended);</span></span>
|
||||||
|
<span id="L86"><span class="lineNum"> 86</span> [<span class="tlaGBC" title="Branch 0 was taken 8 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 2 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 6 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 2 times"> + </span> :<span class="tlaGNC"> 10 : if (m_signal && m_parent && m_parent->GetType() == NodeType::Frame)</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 6 times"> + </span><span class="tlaUNC" title="Branch 5 was not taken"> - </span><span class="tlaGBC" title="Branch 6 was taken 6 times"> + </span><span class="tlaGBC" title="Branch 7 was taken 4 times"> + </span>]
|
||||||
|
<span id="L87"><span class="lineNum"> 87</span> :<span class="tlaGNC"> 6 : return m_parent->GetFrameKey();</span></span>
|
||||||
|
<span id="L88"><span class="lineNum"> 88</span> :<span class="tlaGNC"> 4 : return std::nullopt;</span></span>
|
||||||
|
<span id="L89"><span class="lineNum"> 89</span> : : }</span>
|
||||||
|
<span id="L90"><span class="lineNum"> 90</span> : : </span>
|
||||||
|
<span id="L91"><span class="lineNum"> 91</span> :<span class="tlaGNC"> 9 : std::optional<SignalKey> TreeNode::GetSignalKey() const {</span></span>
|
||||||
|
<span id="L92"><span class="lineNum"> 92</span> [<span class="tlaGBC" title="Branch 0 was taken 9 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 9 : const std::optional<FrameKey> frame = GetFrameKey();</span></span>
|
||||||
|
<span id="L93"><span class="lineNum"> 93</span> [<span class="tlaGBC" title="Branch 0 was taken 6 times"> + </span><span class="tlaGBC" title="Branch 1 was taken 3 times"> + </span><span class="tlaGBC" title="Branch 2 was taken 5 times"> + </span><span class="tlaGBC" title="Branch 3 was taken 1 time"> + </span> :<span class="tlaGNC"> 9 : if (m_signal && frame)</span></span>
|
||||||
|
<span class="lineNum"> </span> <span class="tlaGBC" title="Branch 4 was taken 5 times"> + </span><span class="tlaGBC" title="Branch 5 was taken 4 times"> + </span>]
|
||||||
|
<span id="L94"><span class="lineNum"> 94</span> [<span class="tlaGBC" title="Branch 0 was taken 5 times"> + </span><span class="tlaUNC" title="Branch 1 was not taken"> - </span>]:<span class="tlaGNC"> 5 : return SignalKey(*frame, m_signal->name);</span></span>
|
||||||
|
<span id="L95"><span class="lineNum"> 95</span> :<span class="tlaGNC"> 4 : return std::nullopt;</span></span>
|
||||||
|
<span id="L96"><span class="lineNum"> 96</span> : : }</span>
|
||||||
|
</pre>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,84 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/tree_node.h - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - tree_node.h<span style="font-size: 80%;"> (<a href="tree_node.h.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><a href="tree_node.h.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></a></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="tree_node.h.gcov.html#L54">TreeNode::~TreeNode()</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">229</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,84 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/tree_node.h - functions</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - tree_node.h<span style="font-size: 80%;"> (<a href="tree_node.h.gcov.html" title="Click to go to source detail">source</a> / functions)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table cellpadding=1 cellspacing=1 border=0>
|
||||||
|
<tr><td><br></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableHead">Function Name <span title="Click to sort table by function name" class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Click to sort table by function name" border=0></span></td>
|
||||||
|
|
||||||
|
<td class="tableHead">Hit count <span title="Click to sort table by function hit count" class="tableHeadSort"><a href="tree_node.h.func-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by function hit count" title="Click to sort table by function hit count" border=0></a></span></td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="coverFn"><a href="tree_node.h.gcov.html#L54">TreeNode::~TreeNode()</a></td>
|
||||||
|
|
||||||
|
<td class="coverFnHi">229</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</center>
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,217 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>LCOV - coverage.info - core/tree_node.h</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../gcov.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellpadding=1 border=0 width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="10%" class="headerItem">Current view:</td>
|
||||||
|
<td width="10%" class="headerValue"><a href="../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory core">core</a> - tree_node.h<span style="font-size: 80%;"> (source / <a href="tree_node.h.func-c.html" title="Click to go to function table">functions</a>)</span></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%"></td>
|
||||||
|
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||||
|
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test:</td>
|
||||||
|
<td class="headerValue">coverage.info</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Lines:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="headerItem">Test Date:</td>
|
||||||
|
<td class="headerValue">2026-10-20 13:34:58</td>
|
||||||
|
<td></td>
|
||||||
|
<td class="headerItem">Functions:</td>
|
||||||
|
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
<td class="headerCovTableEntry">1</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table cellpadding=0 cellspacing=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td><br></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<pre class="sourceHeading"> Line data Source code</pre>
|
||||||
|
<pre class="source">
|
||||||
|
<span id="L1"><span class="lineNum"> 1</span> : /**</span>
|
||||||
|
<span id="L2"><span class="lineNum"> 2</span> : * @file tree_node.h</span>
|
||||||
|
<span id="L3"><span class="lineNum"> 3</span> : * @brief Qt-independent metadata tree nodes.</span>
|
||||||
|
<span id="L4"><span class="lineNum"> 4</span> : *</span>
|
||||||
|
<span id="L5"><span class="lineNum"> 5</span> : * Created: 2026-03-13</span>
|
||||||
|
<span id="L6"><span class="lineNum"> 6</span> : * Author: Deeaitch (Dim. Himro)</span>
|
||||||
|
<span id="L7"><span class="lineNum"> 7</span> : *</span>
|
||||||
|
<span id="L8"><span class="lineNum"> 8</span> : * Licensed under the MIT License.</span>
|
||||||
|
<span id="L9"><span class="lineNum"> 9</span> : * See LICENSE file in the project root for full license text.</span>
|
||||||
|
<span id="L10"><span class="lineNum"> 10</span> : */</span>
|
||||||
|
<span id="L11"><span class="lineNum"> 11</span> : </span>
|
||||||
|
<span id="L12"><span class="lineNum"> 12</span> : #ifndef TREE_NODE_H</span>
|
||||||
|
<span id="L13"><span class="lineNum"> 13</span> : #define TREE_NODE_H</span>
|
||||||
|
<span id="L14"><span class="lineNum"> 14</span> : </span>
|
||||||
|
<span id="L15"><span class="lineNum"> 15</span> : #include <cstddef></span>
|
||||||
|
<span id="L16"><span class="lineNum"> 16</span> : #include <memory></span>
|
||||||
|
<span id="L17"><span class="lineNum"> 17</span> : #include <optional></span>
|
||||||
|
<span id="L18"><span class="lineNum"> 18</span> : #include <string></span>
|
||||||
|
<span id="L19"><span class="lineNum"> 19</span> : #include <vector></span>
|
||||||
|
<span id="L20"><span class="lineNum"> 20</span> : </span>
|
||||||
|
<span id="L21"><span class="lineNum"> 21</span> : #include "definition_key.h"</span>
|
||||||
|
<span id="L22"><span class="lineNum"> 22</span> : #include "frame_info.h"</span>
|
||||||
|
<span id="L23"><span class="lineNum"> 23</span> : #include "signal_info.h"</span>
|
||||||
|
<span id="L24"><span class="lineNum"> 24</span> : </span>
|
||||||
|
<span id="L25"><span class="lineNum"> 25</span> : /**</span>
|
||||||
|
<span id="L26"><span class="lineNum"> 26</span> : * @brief Type of a tree node.</span>
|
||||||
|
<span id="L27"><span class="lineNum"> 27</span> : */</span>
|
||||||
|
<span id="L28"><span class="lineNum"> 28</span> : enum class NodeType {</span>
|
||||||
|
<span id="L29"><span class="lineNum"> 29</span> : Root,</span>
|
||||||
|
<span id="L30"><span class="lineNum"> 30</span> : Frame,</span>
|
||||||
|
<span id="L31"><span class="lineNum"> 31</span> : Signal</span>
|
||||||
|
<span id="L32"><span class="lineNum"> 32</span> : };</span>
|
||||||
|
<span id="L33"><span class="lineNum"> 33</span> : </span>
|
||||||
|
<span id="L34"><span class="lineNum"> 34</span> : /**</span>
|
||||||
|
<span id="L35"><span class="lineNum"> 35</span> : * @brief Tree node for later use in model/view or other hierarchy consumers.</span>
|
||||||
|
<span id="L36"><span class="lineNum"> 36</span> : */</span>
|
||||||
|
<span id="L37"><span class="lineNum"> 37</span> : class TreeNode {</span>
|
||||||
|
<span id="L38"><span class="lineNum"> 38</span> : public:</span>
|
||||||
|
<span id="L39"><span class="lineNum"> 39</span> : /**</span>
|
||||||
|
<span id="L40"><span class="lineNum"> 40</span> : * @brief Create root node.</span>
|
||||||
|
<span id="L41"><span class="lineNum"> 41</span> : */</span>
|
||||||
|
<span id="L42"><span class="lineNum"> 42</span> : TreeNode();</span>
|
||||||
|
<span id="L43"><span class="lineNum"> 43</span> : </span>
|
||||||
|
<span id="L44"><span class="lineNum"> 44</span> : /**</span>
|
||||||
|
<span id="L45"><span class="lineNum"> 45</span> : * @brief Create frame node.</span>
|
||||||
|
<span id="L46"><span class="lineNum"> 46</span> : * @param frame Frame payload.</span>
|
||||||
|
<span id="L47"><span class="lineNum"> 47</span> : */</span>
|
||||||
|
<span id="L48"><span class="lineNum"> 48</span> : explicit TreeNode(const FrameInfo &frame);</span>
|
||||||
|
<span id="L49"><span class="lineNum"> 49</span> : </span>
|
||||||
|
<span id="L50"><span class="lineNum"> 50</span> : /**</span>
|
||||||
|
<span id="L51"><span class="lineNum"> 51</span> : * @brief Create signal node.</span>
|
||||||
|
<span id="L52"><span class="lineNum"> 52</span> : * @param signal Signal payload.</span>
|
||||||
|
<span id="L53"><span class="lineNum"> 53</span> : */</span>
|
||||||
|
<span id="L54"><span class="lineNum"> 54</span> : explicit TreeNode(const SignalInfo &signal);</span>
|
||||||
|
<span id="L55"><span class="lineNum"> 55</span> : </span>
|
||||||
|
<span id="L56"><span class="lineNum"> 56</span> <span class="tlaGNC"> 229 : ~TreeNode() = default;</span></span>
|
||||||
|
<span id="L57"><span class="lineNum"> 57</span> : </span>
|
||||||
|
<span id="L58"><span class="lineNum"> 58</span> : TreeNode(const TreeNode &) = delete;</span>
|
||||||
|
<span id="L59"><span class="lineNum"> 59</span> : TreeNode &operator=(const TreeNode &) = delete;</span>
|
||||||
|
<span id="L60"><span class="lineNum"> 60</span> : </span>
|
||||||
|
<span id="L61"><span class="lineNum"> 61</span> : // Node addresses are stable. Transfer unique_ptr ownership instead of nodes.</span>
|
||||||
|
<span id="L62"><span class="lineNum"> 62</span> : TreeNode(TreeNode &&) = delete;</span>
|
||||||
|
<span id="L63"><span class="lineNum"> 63</span> : TreeNode &operator=(TreeNode &&) = delete;</span>
|
||||||
|
<span id="L64"><span class="lineNum"> 64</span> : </span>
|
||||||
|
<span id="L65"><span class="lineNum"> 65</span> : /**</span>
|
||||||
|
<span id="L66"><span class="lineNum"> 66</span> : * @brief Add child node.</span>
|
||||||
|
<span id="L67"><span class="lineNum"> 67</span> : * @param child Child node to add.</span>
|
||||||
|
<span id="L68"><span class="lineNum"> 68</span> : * A null child is ignored. Existing children keep their addresses and rows.</span>
|
||||||
|
<span id="L69"><span class="lineNum"> 69</span> : * Ownership must be exclusive; attached nodes cannot be reparented.</span>
|
||||||
|
<span id="L70"><span class="lineNum"> 70</span> : * @throws std::invalid_argument for self/ancestor insertion or an attached child.</span>
|
||||||
|
<span id="L71"><span class="lineNum"> 71</span> : * Rejected ownership remains with the caller.</span>
|
||||||
|
<span id="L72"><span class="lineNum"> 72</span> : */</span>
|
||||||
|
<span id="L73"><span class="lineNum"> 73</span> : void AddChild(std::unique_ptr<TreeNode> &&child);</span>
|
||||||
|
<span id="L74"><span class="lineNum"> 74</span> : </span>
|
||||||
|
<span id="L75"><span class="lineNum"> 75</span> : /** Non-owning parent; nullptr for a detached node or the root. */</span>
|
||||||
|
<span id="L76"><span class="lineNum"> 76</span> : const TreeNode *GetParent() const;</span>
|
||||||
|
<span id="L77"><span class="lineNum"> 77</span> : </span>
|
||||||
|
<span id="L78"><span class="lineNum"> 78</span> : /** Zero-based sibling position; zero for a detached node or the root. */</span>
|
||||||
|
<span id="L79"><span class="lineNum"> 79</span> : std::size_t GetRow() const;</span>
|
||||||
|
<span id="L80"><span class="lineNum"> 80</span> : </span>
|
||||||
|
<span id="L81"><span class="lineNum"> 81</span> : /** Frame identity for frame nodes and signals attached to a frame; otherwise empty. */</span>
|
||||||
|
<span id="L82"><span class="lineNum"> 82</span> : std::optional<FrameKey> GetFrameKey() const;</span>
|
||||||
|
<span id="L83"><span class="lineNum"> 83</span> : </span>
|
||||||
|
<span id="L84"><span class="lineNum"> 84</span> : /** Signal identity (owning frame key and name); empty for other/detached nodes. */</span>
|
||||||
|
<span id="L85"><span class="lineNum"> 85</span> : std::optional<SignalKey> GetSignalKey() const;</span>
|
||||||
|
<span id="L86"><span class="lineNum"> 86</span> : </span>
|
||||||
|
<span id="L87"><span class="lineNum"> 87</span> : /**</span>
|
||||||
|
<span id="L88"><span class="lineNum"> 88</span> : * @brief Get child count.</span>
|
||||||
|
<span id="L89"><span class="lineNum"> 89</span> : * @return Number of children.</span>
|
||||||
|
<span id="L90"><span class="lineNum"> 90</span> : */</span>
|
||||||
|
<span id="L91"><span class="lineNum"> 91</span> : std::size_t GetChildCount() const;</span>
|
||||||
|
<span id="L92"><span class="lineNum"> 92</span> : </span>
|
||||||
|
<span id="L93"><span class="lineNum"> 93</span> : /**</span>
|
||||||
|
<span id="L94"><span class="lineNum"> 94</span> : * @brief Get child by index.</span>
|
||||||
|
<span id="L95"><span class="lineNum"> 95</span> : * @param index Child index.</span>
|
||||||
|
<span id="L96"><span class="lineNum"> 96</span> : * @return Child pointer or nullptr if index is invalid.</span>
|
||||||
|
<span id="L97"><span class="lineNum"> 97</span> : */</span>
|
||||||
|
<span id="L98"><span class="lineNum"> 98</span> : const TreeNode *GetChild(std::size_t index) const;</span>
|
||||||
|
<span id="L99"><span class="lineNum"> 99</span> : </span>
|
||||||
|
<span id="L100"><span class="lineNum"> 100</span> : /**</span>
|
||||||
|
<span id="L101"><span class="lineNum"> 101</span> : * @brief Get mutable child by index.</span>
|
||||||
|
<span id="L102"><span class="lineNum"> 102</span> : * @param index Child index.</span>
|
||||||
|
<span id="L103"><span class="lineNum"> 103</span> : * @return Child pointer or nullptr if index is invalid.</span>
|
||||||
|
<span id="L104"><span class="lineNum"> 104</span> : */</span>
|
||||||
|
<span id="L105"><span class="lineNum"> 105</span> : TreeNode *GetChild(std::size_t index);</span>
|
||||||
|
<span id="L106"><span class="lineNum"> 106</span> : </span>
|
||||||
|
<span id="L107"><span class="lineNum"> 107</span> : /**</span>
|
||||||
|
<span id="L108"><span class="lineNum"> 108</span> : * @brief Get node type.</span>
|
||||||
|
<span id="L109"><span class="lineNum"> 109</span> : * @return Node type.</span>
|
||||||
|
<span id="L110"><span class="lineNum"> 110</span> : */</span>
|
||||||
|
<span id="L111"><span class="lineNum"> 111</span> : NodeType GetType() const;</span>
|
||||||
|
<span id="L112"><span class="lineNum"> 112</span> : </span>
|
||||||
|
<span id="L113"><span class="lineNum"> 113</span> : /**</span>
|
||||||
|
<span id="L114"><span class="lineNum"> 114</span> : * @brief Get display name.</span>
|
||||||
|
<span id="L115"><span class="lineNum"> 115</span> : * @return Node name.</span>
|
||||||
|
<span id="L116"><span class="lineNum"> 116</span> : */</span>
|
||||||
|
<span id="L117"><span class="lineNum"> 117</span> : const std::string &GetName() const;</span>
|
||||||
|
<span id="L118"><span class="lineNum"> 118</span> : </span>
|
||||||
|
<span id="L119"><span class="lineNum"> 119</span> : /**</span>
|
||||||
|
<span id="L120"><span class="lineNum"> 120</span> : * @brief Get frame payload if node is frame.</span>
|
||||||
|
<span id="L121"><span class="lineNum"> 121</span> : * @return Pointer to frame info or nullptr.</span>
|
||||||
|
<span id="L122"><span class="lineNum"> 122</span> : */</span>
|
||||||
|
<span id="L123"><span class="lineNum"> 123</span> : const FrameInfo *GetFrame() const;</span>
|
||||||
|
<span id="L124"><span class="lineNum"> 124</span> : </span>
|
||||||
|
<span id="L125"><span class="lineNum"> 125</span> : /**</span>
|
||||||
|
<span id="L126"><span class="lineNum"> 126</span> : * @brief Get signal payload if node is signal.</span>
|
||||||
|
<span id="L127"><span class="lineNum"> 127</span> : * @return Pointer to signal info or nullptr.</span>
|
||||||
|
<span id="L128"><span class="lineNum"> 128</span> : */</span>
|
||||||
|
<span id="L129"><span class="lineNum"> 129</span> : const SignalInfo *GetSignal() const;</span>
|
||||||
|
<span id="L130"><span class="lineNum"> 130</span> : </span>
|
||||||
|
<span id="L131"><span class="lineNum"> 131</span> : private:</span>
|
||||||
|
<span id="L132"><span class="lineNum"> 132</span> : TreeNode *m_parent = nullptr;</span>
|
||||||
|
<span id="L133"><span class="lineNum"> 133</span> : std::size_t m_row = 0U;</span>
|
||||||
|
<span id="L134"><span class="lineNum"> 134</span> : NodeType m_type;</span>
|
||||||
|
<span id="L135"><span class="lineNum"> 135</span> : std::string m_name;</span>
|
||||||
|
<span id="L136"><span class="lineNum"> 136</span> : std::vector<std::unique_ptr<TreeNode>> m_children;</span>
|
||||||
|
<span id="L137"><span class="lineNum"> 137</span> : std::unique_ptr<FrameInfo> m_frame;</span>
|
||||||
|
<span id="L138"><span class="lineNum"> 138</span> : std::unique_ptr<SignalInfo> m_signal;</span>
|
||||||
|
<span id="L139"><span class="lineNum"> 139</span> : };</span>
|
||||||
|
<span id="L140"><span class="lineNum"> 140</span> : </span>
|
||||||
|
<span id="L141"><span class="lineNum"> 141</span> : #endif /* TREE_NODE_H */</span>
|
||||||
|
</pre>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||||
|
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
|
||||||
|
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Loaded 100 of 837 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user