update documentation
This commit is contained in:
1 parent
21d6f12163
commit
ef8e21db2e
20 files changed
+178
-57
No files matched your search
@@ -7,7 +7,7 @@
|
||||
/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_statement_handler.h:10: warning: Compound PendingValueDescriptions is not documented.
|
||||
/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_decoder.h:32: warning: Member SignalDecodeStatus (enumeration) of file dbc_decoder.h is not documented.
|
||||
/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/examples/main.cpp:100: warning: Member main(int argc, char *argv[]) (function) of file examples/main.cpp is not documented.
|
||||
/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/README.md:1314: warning: end of comment block while expecting command </tt>
|
||||
/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/README.md:1450: warning: end of comment block while expecting command </tt>
|
||||
/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_statement_handler.h:55: warning: Member Handle(const std::string &line, DbcParseContext &context) const override (function) of class DbcCommentHandler is not documented.
|
||||
/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_statement_handler.h:39: warning: Member Handle(const std::string &line, DbcParseContext &context) const override (function) of class DbcFrameHandler is not documented.
|
||||
/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_statement_handler.h:26: warning: Member ValidateMultiplexing(const std::string &filePath) const (function) of struct DbcParseContext is not documented.
|
||||
|
||||
+5
-4
@@ -115,13 +115,14 @@
|
||||
<section title="Measuring code coverage" ref="md_README.html#autotoc_md124">
|
||||
<section title="GCC, gcov, and LCOV on Debian/Ubuntu" ref="md_README.html#autotoc_md125"/>
|
||||
<section title="Configure the GCC coverage build in Qt Creator" ref="md_README.html#autotoc_md126"/>
|
||||
<section title="Configure all build variants in Qt Creator" ref="md_README.html#autotoc_md127"/>
|
||||
</section>
|
||||
</section>
|
||||
<section title="QtTest regression tests" ref="md_tests_2README.html">
|
||||
<section title="Decoder coverage" ref="md_tests_2README.html#autotoc_md128"/>
|
||||
<section title="Parser coverage" ref="md_tests_2README.html#autotoc_md129"/>
|
||||
<section title="Tree and optional model tests" ref="md_tests_2README.html#autotoc_md130"/>
|
||||
<section title="Additional regression coverage" ref="md_tests_2README.html#autotoc_md131"/>
|
||||
<section title="Decoder coverage" ref="md_tests_2README.html#autotoc_md129"/>
|
||||
<section title="Parser coverage" ref="md_tests_2README.html#autotoc_md130"/>
|
||||
<section title="Tree and optional model tests" ref="md_tests_2README.html#autotoc_md131"/>
|
||||
<section title="Additional regression coverage" ref="md_tests_2README.html#autotoc_md132"/>
|
||||
</section>
|
||||
<section title="Classes" ref="annotated.html">
|
||||
<section title="Class List" ref="annotated.html">
|
||||
|
||||
@@ -1142,6 +1142,119 @@ Configure the GCC coverage build in Qt Creator</h2>
|
||||
<li>View <code>html/index.html</code> in a browser. This workflow produces HTML reports; it does not require a licensed coverage toolchain.</li>
|
||||
</ol>
|
||||
<p></code></p>
|
||||
<p><code></code></p>
|
||||
<h2><a class="anchor" id="autotoc_md127"></a>
|
||||
Configure all build variants in Qt Creator</h2>
|
||||
<p><code></code></p>
|
||||
<p><code>The local <code>dbc.pro.user</code> stores machine-specific kit IDs and build/run settings. It is ignored by Git (<code>*.user</code>) and should not be committed or copied between machines. Recreate the configurations below through the UI when setting up a new checkout. The <code>Qt4ProjectManager</code> identifiers inside <code>.user</code> are historical Qt Creator setting names; the project still requires Qt 6.8.2.</code></p>
|
||||
<p><code>The local configuration set uses these independent build directories:</code></p>
|
||||
<p><code></p><table class="markdownTable">
|
||||
<tr class="markdownTableHead">
|
||||
<th class="markdownTableHeadNone">Configuration </th><th class="markdownTableHeadNone">Build directory example </th><th class="markdownTableHeadNone">Purpose </th></tr>
|
||||
<tr class="markdownTableRowOdd">
|
||||
<td class="markdownTableBodyNone">Debug </td><td class="markdownTableBodyNone"><code>/tmp/build/dbc/Desktop-Debug</code> </td><td class="markdownTableBodyNone">Core library and parser/decoder/coverage regression tests </td></tr>
|
||||
<tr class="markdownTableRowEven">
|
||||
<td class="markdownTableBodyNone">Release </td><td class="markdownTableBodyNone"><code>/tmp/build/dbc/Desktop-Release</code> </td><td class="markdownTableBodyNone">The same targets with release settings </td></tr>
|
||||
<tr class="markdownTableRowOdd">
|
||||
<td class="markdownTableBodyNone">Profile </td><td class="markdownTableBodyNone"><code>/tmp/build/dbc/Desktop-Profile</code> </td><td class="markdownTableBodyNone">Existing Qt Creator profiling configuration; not code coverage </td></tr>
|
||||
<tr class="markdownTableRowEven">
|
||||
<td class="markdownTableBodyNone">Debug Qt Models </td><td class="markdownTableBodyNone"><code>/tmp/build/dbc/Desktop-Debug-Qt-Models</code> </td><td class="markdownTableBodyNone">Debug targets plus optional adapter and model tests </td></tr>
|
||||
<tr class="markdownTableRowOdd">
|
||||
<td class="markdownTableBodyNone">Release Qt Models </td><td class="markdownTableBodyNone"><code>/tmp/build/dbc/Desktop-Release-Qt-Models</code> </td><td class="markdownTableBodyNone">Release targets plus optional adapter and model tests </td></tr>
|
||||
<tr class="markdownTableRowEven">
|
||||
<td class="markdownTableBodyNone">Debug Qt Models Strict </td><td class="markdownTableBodyNone"><code>/tmp/build/dbc/Desktop-Debug-Qt-Models-Strict</code> </td><td class="markdownTableBodyNone">Model build with <code>QT_FATAL_WARNINGS=1</code> for builds and runs </td></tr>
|
||||
<tr class="markdownTableRowOdd">
|
||||
<td class="markdownTableBodyNone">Coverage </td><td class="markdownTableBodyNone"><code>/tmp/build/dbc/Desktop-Coverage</code> </td><td class="markdownTableBodyNone">Instrumented core/model build, test execution, and LCOV HTML report </td></tr>
|
||||
<tr class="markdownTableRowEven">
|
||||
<td class="markdownTableBodyNone">Core Only </td><td class="markdownTableBodyNone"><code>/tmp/build/dbc/Desktop-Core-Only</code> </td><td class="markdownTableBodyNone">The Qt-free core static library </td></tr>
|
||||
<tr class="markdownTableRowOdd">
|
||||
<td class="markdownTableBodyNone">Tree Tests </td><td class="markdownTableBodyNone"><code>/tmp/build/dbc/Desktop-Tree-Tests</code> </td><td class="markdownTableBodyNone">Standalone C++17 tree test without Qt </td></tr>
|
||||
<tr class="markdownTableRowEven">
|
||||
<td class="markdownTableBodyNone">Demo </td><td class="markdownTableBodyNone"><code>/tmp/build/dbc/Desktop-Demo</code> </td><td class="markdownTableBodyNone">Core library and command-line demo </td></tr>
|
||||
</table>
|
||||
<p></code></p>
|
||||
<p><code>The temporary paths are examples; choose permanent build directories if desired. Do not share a build directory between these configurations.</code></p>
|
||||
<p><code>To add the ordinary qmake configurations:</code></p>
|
||||
<p><code></p><ol type="1">
|
||||
<li>Open <code>dbc.pro</code> with a GCC/Qt 6.8.2 kit.</li>
|
||||
<li>Go to <b>Projects > Build Settings</b>. Keep the existing Debug, Release, and Profile configurations. Remove or disable a Coco build step if one remains.</li>
|
||||
<li>Select Debug, press <b>Clone</b>, and name the clone <b>Debug Qt Models</b>. Set its build directory from the table and add <code>CONFIG+=dbc_qt</code> to the qmake step's <b>Additional arguments</b>.</li>
|
||||
<li>Clone Release as <b>Release Qt Models</b> with the same qmake argument and its own build directory.</li>
|
||||
<li>Clone Debug Qt Models as <b>Debug Qt Models Strict</b>. In <b>Build Environment</b>, add <code>QT_FATAL_WARNINGS=1</code>. Run configurations should use the build environment.</li>
|
||||
<li><p class="startli">Clone Debug Qt Models as <b>Coverage</b>. In qmake <b>Additional arguments</b>, use:</p>
|
||||
<div class="fragment"><div class="line">CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release "QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path" "QMAKE_LFLAGS+=--coverage"</div>
|
||||
</div><!-- fragment --></li>
|
||||
<li>For Coverage, select <b>Add Build Step > Custom Process Step</b> after qmake and Make, then set:</li>
|
||||
</ol>
|
||||
<p></code></p>
|
||||
<p><code></p><table class="markdownTable">
|
||||
<tr class="markdownTableHead">
|
||||
<th class="markdownTableHeadNone">Field </th><th class="markdownTableHeadNone">Value </th></tr>
|
||||
<tr class="markdownTableRowOdd">
|
||||
<td class="markdownTableBodyNone">Command </td><td class="markdownTableBodyNone"><code>/bin/sh</code> </td></tr>
|
||||
<tr class="markdownTableRowEven">
|
||||
<td class="markdownTableBodyNone">Arguments </td><td class="markdownTableBodyNone"><code>"%{sourceDir}/tests/coverage_report.sh" "%{sourceDir}" "%{buildDir}"</code> </td></tr>
|
||||
<tr class="markdownTableRowOdd">
|
||||
<td class="markdownTableBodyNone">Working directory </td><td class="markdownTableBodyNone"><code>%{buildDir}</code> </td></tr>
|
||||
</table>
|
||||
<p></code></p>
|
||||
<p><code> This script compiles the standalone tree test, resets counters, runs both QtTest executables and the tree test, and generates <code>%{buildDir}/html/index.html</code>. It stops if any test fails. Therefore building Coverage also executes tests. <code>lcov</code> and <code>genhtml</code> must be installed. Use this configuration with the GCC kit; <code>gcov</code> and the compiler used for the standalone test must match that kit.</p><ol type="1">
|
||||
<li>Run qmake and build each new configuration once. The default root builds expose <code>dbc_tests</code>; model configurations also expose <code>dbc_model_tests</code>.</li>
|
||||
</ol>
|
||||
<p></code></p>
|
||||
<p><code>Qt Creator expands <code>%{sourceDir}</code> and <code>%{buildDir}</code> in custom steps to the source and active build directories. Use the field's variable chooser if needed.</code></p>
|
||||
<p><code>For the three independent builds, clone Debug, assign the name and build directory from the table, and replace its qmake/Make build steps with the custom process steps below. These steps are local IDE settings and do not change <code>dbc.pro</code>. Give each step a descriptive name and retain the listed order.</code></p>
|
||||
<p><code>For <b>Core Only</b>:</code></p>
|
||||
<p><code></p><table class="markdownTable">
|
||||
<tr class="markdownTableHead">
|
||||
<th class="markdownTableHeadNone">Command </th><th class="markdownTableHeadNone">Arguments </th><th class="markdownTableHeadNone">Working directory </th></tr>
|
||||
<tr class="markdownTableRowOdd">
|
||||
<td class="markdownTableBodyNone"><code>/usr/bin/mkdir</code> </td><td class="markdownTableBodyNone"><code>-p "%{buildDir}"</code> </td><td class="markdownTableBodyNone"><code>%{sourceDir}</code> </td></tr>
|
||||
<tr class="markdownTableRowEven">
|
||||
<td class="markdownTableBodyNone"><code>/usr/bin/qmake6</code> </td><td class="markdownTableBodyNone"><code>"%{sourceDir}/core/core.pro" CONFIG+=debug CONFIG-=release</code> </td><td class="markdownTableBodyNone"><code>%{buildDir}</code> </td></tr>
|
||||
<tr class="markdownTableRowOdd">
|
||||
<td class="markdownTableBodyNone"><code>/usr/bin/make</code> </td><td class="markdownTableBodyNone"><code>-j4</code> </td><td class="markdownTableBodyNone"><code>%{buildDir}</code> </td></tr>
|
||||
</table>
|
||||
<p></code></p>
|
||||
<p><code>Keep a clean step with <code>make clean</code> in <code>%{buildDir}</code>. Core Only creates a static library, so there is no executable to run.</code></p>
|
||||
<p><code>For <b>Tree Tests</b>:</code></p>
|
||||
<p><code></p><ol type="1">
|
||||
<li>Add a custom step with command <code>/usr/bin/mkdir</code>, arguments <code>-p "%{buildDir}"</code>, and working directory <code>%{sourceDir}</code>.</li>
|
||||
<li><p class="startli">Add a custom step with command <code>/usr/bin/c++</code>, working directory <code>%{buildDir}</code>, and these arguments:</p>
|
||||
<div class="fragment"><div class="line">-std=c++17 -O0 -g -I"%{sourceDir}/core" "%{sourceDir}/tests/tree_node_test.cpp" "%{sourceDir}/core/tree_node.cpp" "%{sourceDir}/core/dbc_tree_builder.cpp" -o "%{buildDir}/tree_node_tests"</div>
|
||||
</div><!-- fragment --></li>
|
||||
<li>Remove the default Make clean step: this direct compiler build creates no Makefile. Run the resulting executable as described below.</li>
|
||||
</ol>
|
||||
<p></code></p>
|
||||
<p><code>For <b>Demo</b>:</code></p>
|
||||
<p><code></p><table class="markdownTable">
|
||||
<tr class="markdownTableHead">
|
||||
<th class="markdownTableHeadNone">Command </th><th class="markdownTableHeadNone">Arguments </th><th class="markdownTableHeadNone">Working directory </th></tr>
|
||||
<tr class="markdownTableRowOdd">
|
||||
<td class="markdownTableBodyNone"><code>/usr/bin/mkdir</code> </td><td class="markdownTableBodyNone"><code>-p "%{buildDir}/core" "%{buildDir}/examples"</code> </td><td class="markdownTableBodyNone"><code>%{sourceDir}</code> </td></tr>
|
||||
<tr class="markdownTableRowEven">
|
||||
<td class="markdownTableBodyNone"><code>/usr/bin/qmake6</code> </td><td class="markdownTableBodyNone"><code>"%{sourceDir}/core/core.pro" CONFIG+=debug CONFIG-=release</code> </td><td class="markdownTableBodyNone"><code>%{buildDir}/core</code> </td></tr>
|
||||
<tr class="markdownTableRowOdd">
|
||||
<td class="markdownTableBodyNone"><code>/usr/bin/make</code> </td><td class="markdownTableBodyNone"><code>-j4</code> </td><td class="markdownTableBodyNone"><code>%{buildDir}/core</code> </td></tr>
|
||||
<tr class="markdownTableRowEven">
|
||||
<td class="markdownTableBodyNone"><code>/usr/bin/qmake6</code> </td><td class="markdownTableBodyNone"><code>"%{sourceDir}/examples/demo.pro" "DBC_CORE_BUILD_DIR=%{buildDir}/core" CONFIG+=debug CONFIG-=release</code> </td><td class="markdownTableBodyNone"><code>%{buildDir}/examples</code> </td></tr>
|
||||
<tr class="markdownTableRowOdd">
|
||||
<td class="markdownTableBodyNone"><code>/usr/bin/make</code> </td><td class="markdownTableBodyNone"><code>-j4</code> </td><td class="markdownTableBodyNone"><code>%{buildDir}/examples</code> </td></tr>
|
||||
</table>
|
||||
<p></code></p>
|
||||
<p><code>Replace the default clean step with two custom steps: <code>/usr/bin/make</code> with arguments <code>clean</code>, first in <code>%{buildDir}/examples</code>, then in <code>%{buildDir}/core</code>.</code></p>
|
||||
<p><code>To configure execution and switch variants:</code></p>
|
||||
<p><code></p><ol type="1">
|
||||
<li>Go to <b>Projects > Run Settings</b> and select the appropriate qmake target: <code>dbc_tests</code> for ordinary builds or <code>dbc_model_tests</code> for model builds.</li>
|
||||
<li>To run all QtTest suites together, add a <b>Custom Executable</b> named <b>All QtTest suites</b>, with executable <code>/usr/bin/make</code>, arguments <code>check</code>, and working directory <code>%{buildDir}</code>. Use it with an ordinary or model qmake configuration. Coverage already runs every test in its final build step.</li>
|
||||
<li>For Tree Tests, add a <b>Custom Executable</b> named <b>Standalone tree test</b>, executable <code>%{buildDir}/tree_node_tests</code>, working directory <code>%{buildDir}</code>, and no arguments.</li>
|
||||
<li>For Demo, add a <b>Custom Executable</b> named <b>Demo</b>, executable <code>%{buildDir}/examples/dbc_demo</code>, working directory <code>%{buildDir}/examples</code>. Set <b>Command line arguments</b> to the quoted absolute path of your DBC file.</li>
|
||||
<li>For Coverage on Linux, optionally add a <b>Custom Executable</b> named <b>Coverage HTML report</b>, executable <code>/usr/bin/xdg-open</code>, arguments <code>"%{buildDir}/html/index.html"</code>, working directory <code>%{buildDir}</code>. Running it opens the generated report in the default browser.</li>
|
||||
<li>Use the kit/build/run selector above the Run button to choose the build configuration and its corresponding executable. Build with <b>Ctrl+B</b>, then run with <b>Ctrl+R</b>. The Build Settings configuration list can also switch the active build.</li>
|
||||
<li>If <code>.user</code> was edited externally, close and reopen the project so Qt Creator reads the new settings. Do not edit it while the project is open, because Qt Creator can overwrite external changes when saving its session.</li>
|
||||
</ol>
|
||||
<p></code></p>
|
||||
<p><code>See Qt Creator's <a href="https://doc.qt.io/qtcreator/creator-build-settings.html">build configuration guide</a> and <a href="https://doc.qt.io/qtcreator/creator-run-settings.html">run configuration guide</a>. </code></p>
|
||||
</div></div><!-- contents -->
|
||||
</div><!-- PageDoc -->
|
||||
</div><!-- doc-content -->
|
||||
|
||||
@@ -104,6 +104,7 @@ Added</h3>
|
||||
<li>Added regression coverage for signed bit-length boundaries, deterministic Intel/Motorola extraction, lookup failures, runtime validation, PGN, comments, file formatting, metadata copying/lifetime, and <a class="el" href="classTypeFactory.html" title="Registry-based factory for creating objects by runtime identifier.">TypeFactory</a> behavior.</li>
|
||||
<li>Added direct-handler and resolver tests for unsupported comments and ambiguous <code>VAL_</code> references in manually constructed databases.</li>
|
||||
<li>Documented GCC/gcov/LCOV instrumentation, Qt Creator setup, and HTML reports. Coverage after the added tests: 98.4% of lines and 71.4% of branches with GCC 14.2 and Qt 6.8.2, including the standalone tree test.</li>
|
||||
<li>Added a reusable post-build coverage report script and step-by-step Qt Creator configurations for model tests, strict warning checks, coverage, core-only, standalone tree tests, and the demo. Machine-specific <code>.user</code> settings stay outside version control.</li>
|
||||
<li>Basic <code>M</code> / <code>mN</code> multiplexing metadata in parsed, tree, and runtime definitions.</li>
|
||||
<li>Deferred selector and overlap validation with source locations: one unsigned selector, representable branch values, and overlaps only between exclusive branches.</li>
|
||||
<li>Selector-first decoding using exact raw values, preserving definition order and unconditional signals. Explicit statuses distinguish inactive branches, missing selector data, insufficient payloads, and malformed runtime metadata.</li>
|
||||
|
||||
@@ -93,7 +93,7 @@ $(document).ready(function(){initNavTree('md_tests_2README.html',''); initResiza
|
||||
<div class="headertitle"><div class="title">QtTest regression tests</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock"><p><a class="anchor" id="autotoc_md127"></a> For instrumented builds, LCOV HTML reports, and Qt Creator coverage configuration, see <a href="../README.md#measuring-code-coverage">Measuring code coverage</a>.</p>
|
||||
<div class="textblock"><p><a class="anchor" id="autotoc_md128"></a> For instrumented builds, LCOV HTML reports, and Qt Creator coverage configuration, see <a href="../README.md#measuring-code-coverage">Measuring code coverage</a>. For the complete IDE build/run configuration set, see <a href="../README.md#configure-all-build-variants-in-qt-creator">Configure all build variants in Qt Creator</a>. The Coverage configuration uses <code>coverage_report.sh</code> after its instrumented build; the script takes the source and build directories as its two arguments.</p>
|
||||
<p>Open the repository's root <code>dbc.pro</code> in Qt Creator. It contains <code>core</code> (a static C++17 library) and <code>tests</code> (the <code>dbc_tests</code> QtTest executable). Core is built first; tests link its archive rather than compiling its implementation again. Qt Core and Qt Test development packages are required for tests only. The optional model tests also link QtGui, which is provided by Qt base development packages. The adapter library itself still links only QtCore.</p>
|
||||
<p>Build from the repository root with the installed Qt 6.8.2:</p>
|
||||
<div class="fragment"><div class="line">mkdir build</div>
|
||||
@@ -110,19 +110,19 @@ $(document).ready(function(){initNavTree('md_tests_2README.html',''); initResiza
|
||||
<div class="line">make</div>
|
||||
<div class="line">make check</div>
|
||||
</div><!-- fragment --><p><code>parser_tests.pri</code> and <code>decoder_tests.pri</code> include the original test sources; <code>tests.pro</code> also includes <code><a class="el" href="dbc__coverage__test_8cpp_source.html">dbc_coverage_test.cpp</a></code>. <code>../core/core.pri</code> supplies the library include path and linkage.</p>
|
||||
<h1><a class="anchor" id="autotoc_md128"></a>
|
||||
<h1><a class="anchor" id="autotoc_md129"></a>
|
||||
Decoder coverage</h1>
|
||||
<p>Coverage includes Motorola bit numbering within and across bytes, unaligned signals, signed values, scaling, 64-bit extraction, signed/unsigned boundary values (including <code>INT64_MIN</code>, <code>INT64_MAX</code>, and <code>UINT64_MAX</code>), numeric output, invalid lengths, insufficient payloads, and Intel regression cases. Frame validity means the definition was found; insufficient payloads are checked through signal validity.</p>
|
||||
<h1><a class="anchor" id="autotoc_md129"></a>
|
||||
<h1><a class="anchor" id="autotoc_md130"></a>
|
||||
Parser coverage</h1>
|
||||
<p>Parser tests cover standard and extended CAN IDs, whitespace, payload storage boundaries, missing fields, malformed and overflowing numbers, reserved ID bits, error paths and line numbers, and integration with signals and comments. Duplicate definitions are rejected at their source lines, including equivalent extended ID encodings and repeated signal names within a frame. Standard and extended frames may share a numeric ID, and separate frames may reuse signal names. Signal tests cover complete syntax and numeric validation, scientific notation, finite physical parameters and ordered ranges, spaces and tabs, receiver lists, unsupported multiplexing, and Intel/Motorola declared-payload boundaries. Value-description tests cover full <code>VAL_</code> syntax, whitespace, escaped quotes, empty text, exact integer boundaries, duplicate keys within and across statements, deferred and normalized frame references, missing targets, error locations, raw lookup with scaling, unknown/invalid values, and both database builders. Temporary DBC fixtures are created in the system temporary directory and removed automatically.</p>
|
||||
<p>Dispatch tests also verify exact keyword matching, handler construction and reuse, unknown statements, and independent parsing sessions, including recovery after errors.</p>
|
||||
<h1><a class="anchor" id="autotoc_md130"></a>
|
||||
<h1><a class="anchor" id="autotoc_md131"></a>
|
||||
Tree and optional model tests</h1>
|
||||
<p><code><a class="el" href="tree__node__test_8cpp_source.html">tree_node_test.cpp</a></code> is a standalone C++17 executable without Qt; see the root README for its compiler command. It checks parents, sibling positions, null children, bounds, and unique_ptr transfer.</p>
|
||||
<p>Enable <code>CONFIG+=dbc_qt</code> in the root qmake invocation to build <code>dbc_qt</code> and <code>dbc_model_tests</code> alongside existing tests. Qt 6.8.2 is required. <code>make check</code> runs all suites. Model tests parse a temporary DBC fixture and use QAbstractItemModelTester, verify navigation across columns, invalid/foreign indexes, metadata and exact VAL_ integers, and persistent-index invalidation when reloading or clearing the tree. Their QGuiApplication registers graphical metatypes used by QAbstractItemModelTester, avoiding the invalid QPixmap type warning in Qt 6.8.2. The test executable defaults to <code>QT_QPA_PLATFORM=offscreen</code> when the variable is unset or empty, so no display server is needed. An explicit platform setting is preserved.</p>
|
||||
<p>Basic multiplexing coverage includes selector declarations after branches, Intel/Motorola branch overlap, signed active values and VAL_ lookup, unconditional signals, inactive branches, missing selector/branch payloads, exact UINT64_MAX selector matching, malformed runtime selectors, source locations, and rejection of invalid markers, selector references/ranges, overlaps, and SG_MUL_VAL_.</p>
|
||||
<h1><a class="anchor" id="autotoc_md131"></a>
|
||||
<h1><a class="anchor" id="autotoc_md132"></a>
|
||||
Additional regression coverage</h1>
|
||||
<p><code><a class="el" href="dbc__coverage__test_8cpp_source.html">dbc_coverage_test.cpp</a></code> runs as part of <code>dbc_tests</code>. It covers signed boundaries below 64 bits, deterministic extraction comparisons for both byte orders across lengths 1–64, frame lookup failures, exact decode statuses, malformed runtime multiplexing, PGN boundaries, comment handling, file formatting, metadata copying and source lifetime, physical conversion, and <a class="el" href="classTypeFactory.html" title="Registry-based factory for creating objects by runtime identifier.">TypeFactory</a> registration/creation. Direct resolver tests construct ambiguous databases through the public metadata API, verify source locations, and check that ambiguous targets receive no values.</p>
|
||||
<p>All QtTest targets use Qt 6.8.2 and <code>QVERIFY_THROWS_EXCEPTION</code>. Exception tests explicitly discard <code>nodiscard</code> results when only the exception is being checked. The standalone tree test requires only a C++17 compiler. </p>
|
||||
|
||||
@@ -127,14 +127,15 @@ var NAVTREE =
|
||||
[ "Regression tests", "md_README.html#autotoc_md123", null ],
|
||||
[ "Measuring code coverage", "md_README.html#autotoc_md124", [
|
||||
[ "GCC, gcov, and LCOV on Debian/Ubuntu", "md_README.html#autotoc_md125", null ],
|
||||
[ "Configure the GCC coverage build in Qt Creator", "md_README.html#autotoc_md126", null ]
|
||||
[ "Configure the GCC coverage build in Qt Creator", "md_README.html#autotoc_md126", null ],
|
||||
[ "Configure all build variants in Qt Creator", "md_README.html#autotoc_md127", null ]
|
||||
] ]
|
||||
] ],
|
||||
[ "QtTest regression tests", "md_tests_2README.html", [
|
||||
[ "Decoder coverage", "md_tests_2README.html#autotoc_md128", null ],
|
||||
[ "Parser coverage", "md_tests_2README.html#autotoc_md129", null ],
|
||||
[ "Tree and optional model tests", "md_tests_2README.html#autotoc_md130", null ],
|
||||
[ "Additional regression coverage", "md_tests_2README.html#autotoc_md131", null ]
|
||||
[ "Decoder coverage", "md_tests_2README.html#autotoc_md129", null ],
|
||||
[ "Parser coverage", "md_tests_2README.html#autotoc_md130", null ],
|
||||
[ "Tree and optional model tests", "md_tests_2README.html#autotoc_md131", null ],
|
||||
[ "Additional regression coverage", "md_tests_2README.html#autotoc_md132", null ]
|
||||
] ],
|
||||
[ "Classes", "annotated.html", [
|
||||
[ "Class List", "annotated.html", "annotated_dup" ],
|
||||
@@ -159,7 +160,7 @@ var NAVTREE =
|
||||
var NAVTREEINDEX =
|
||||
[
|
||||
"annotated.html",
|
||||
"structSignalInfo.html#ace290724f9801521609aedaa946d61f1"
|
||||
"structSignalInfo.html#ac99ba7563a5dad01e39c4257216953f5"
|
||||
];
|
||||
|
||||
var SYNCONMSG = 'click to disable panel synchronisation';
|
||||
|
||||
@@ -110,6 +110,7 @@ var NAVTREEINDEX0 =
|
||||
"md_README.html#autotoc_md124":[1,43],
|
||||
"md_README.html#autotoc_md125":[1,43,0],
|
||||
"md_README.html#autotoc_md126":[1,43,1],
|
||||
"md_README.html#autotoc_md127":[1,43,2],
|
||||
"md_README.html#autotoc_md21":[1,0],
|
||||
"md_README.html#autotoc_md23":[1,1],
|
||||
"md_README.html#autotoc_md24":[1,1,0],
|
||||
@@ -177,10 +178,10 @@ var NAVTREEINDEX0 =
|
||||
"md_changelog.html#autotoc_md8":[0,0,2],
|
||||
"md_changelog.html#autotoc_md9":[0,0,2,0],
|
||||
"md_tests_2README.html":[2],
|
||||
"md_tests_2README.html#autotoc_md128":[2,0],
|
||||
"md_tests_2README.html#autotoc_md129":[2,1],
|
||||
"md_tests_2README.html#autotoc_md130":[2,2],
|
||||
"md_tests_2README.html#autotoc_md131":[2,3],
|
||||
"md_tests_2README.html#autotoc_md129":[2,0],
|
||||
"md_tests_2README.html#autotoc_md130":[2,1],
|
||||
"md_tests_2README.html#autotoc_md131":[2,2],
|
||||
"md_tests_2README.html#autotoc_md132":[2,3],
|
||||
"multiplexing_8h_source.html":[4,0,0,13],
|
||||
"pages.html":[],
|
||||
"signal__info_8h.html":[4,0,0,14],
|
||||
@@ -248,6 +249,5 @@ var NAVTREEINDEX0 =
|
||||
"structSignalInfo.html#a379e422a00cad56f896cacf60455b088":[3,0,25,0],
|
||||
"structSignalInfo.html#a43f47d0433d0cc39076bd7278b46af9c":[3,0,25,11],
|
||||
"structSignalInfo.html#a52a52b320eef92fbcb4626307f9a498f":[3,0,25,4],
|
||||
"structSignalInfo.html#ab7d0769f47aa540656b22e4e49db517e":[3,0,25,6],
|
||||
"structSignalInfo.html#ac99ba7563a5dad01e39c4257216953f5":[3,0,25,12]
|
||||
"structSignalInfo.html#ab7d0769f47aa540656b22e4e49db517e":[3,0,25,6]
|
||||
};
|
||||
@@ -1,5 +1,6 @@
|
||||
var NAVTREEINDEX1 =
|
||||
{
|
||||
"structSignalInfo.html#ac99ba7563a5dad01e39c4257216953f5":[3,0,25,12],
|
||||
"structSignalInfo.html#ace290724f9801521609aedaa946d61f1":[3,0,25,1],
|
||||
"structSignalInfo.html#ada7bf94fbeaa26bd08c73982b5af255b":[3,0,25,7],
|
||||
"structSignalInfo.html#adf1c4331b9eabced0d7fdda40ff0eb52":[3,0,25,8],
|
||||
|
||||
@@ -2,7 +2,7 @@ var searchData=
|
||||
[
|
||||
['offset_0',['offset',['../structDecodeSignal.html#a92db637af4e224a0ae70173050dc3f74',1,'DecodeSignal::offset'],['../structSignalInfo.html#ab7d0769f47aa540656b22e4e49db517e',1,'SignalInfo::offset']]],
|
||||
['on_20debian_20ubuntu_1',['GCC, gcov, and LCOV on Debian/Ubuntu',['../md_README.html#autotoc_md125',1,'']]],
|
||||
['optional_20model_20tests_2',['Tree and optional model tests',['../md_tests_2README.html#autotoc_md130',1,'']]],
|
||||
['optional_20model_20tests_2',['Tree and optional model tests',['../md_tests_2README.html#autotoc_md131',1,'']]],
|
||||
['optional_20qt_20model_20adapter_3',['Optional Qt model adapter',['../md_README.html#autotoc_md118',1,'']]],
|
||||
['overview_4',['Overview',['../md_README.html#autotoc_md21',1,'']]]
|
||||
];
|
||||
@@ -6,7 +6,7 @@ var searchData=
|
||||
['parsed_20data_20structures_3',['Parsed Data Structures',['../md_README.html#autotoc_md31',1,'']]],
|
||||
['parsefile_4',['ParseFile',['../classDbcParser.html#aef72826942c9095d653fafa435855e56',1,'DbcParser']]],
|
||||
['parser_20and_20runtime_20decode_20module_20documentation_5',['DBC Parser and Runtime Decode Module Documentation',['../md_README.html',1,'']]],
|
||||
['parser_20coverage_6',['Parser coverage',['../md_tests_2README.html#autotoc_md129',1,'']]],
|
||||
['parser_20coverage_6',['Parser coverage',['../md_tests_2README.html#autotoc_md130',1,'']]],
|
||||
['parser_20support_7',['Parser Support',['../md_README.html#autotoc_md67',1,'']]],
|
||||
['path_8',['path',['../md_README.html#autotoc_md24',1,'1. Parse and UI path'],['../md_README.html#autotoc_md25',1,'2. Runtime decode path'],['../md_README.html#autotoc_md97',1,'live path'],['../md_README.html#autotoc_md98',1,'trace path']]],
|
||||
['pendingvaluedescriptions_9',['PendingValueDescriptions',['../structPendingValueDescriptions.html',1,'']]],
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
var searchData=
|
||||
[
|
||||
['qt_0',['Standalone tree tests without Qt',['../md_README.html#autotoc_md119',1,'']]],
|
||||
['qt_20creator_1',['Configure the GCC coverage build in Qt Creator',['../md_README.html#autotoc_md126',1,'']]],
|
||||
['qt_20creator_1',['qt creator',['../md_README.html#autotoc_md127',1,'Configure all build variants in Qt Creator'],['../md_README.html#autotoc_md126',1,'Configure the GCC coverage build in Qt Creator']]],
|
||||
['qt_20libraries_2',['Build core without Qt libraries',['../md_README.html#autotoc_md117',1,'']]],
|
||||
['qt_20model_20adapter_3',['Optional Qt model adapter',['../md_README.html#autotoc_md118',1,'']]],
|
||||
['qttest_20regression_20tests_4',['QtTest regression tests',['../md_tests_2README.html',1,'']]]
|
||||
|
||||
@@ -8,7 +8,7 @@ var searchData=
|
||||
['receivers_5',['receivers',['../structDecodeSignal.html#abdbae62a64d2df716bf60c6b67b30eaa',1,'DecodeSignal::receivers'],['../structSignalInfo.html#a2c95562fd0b29327a7fd7b1e6feee7f3',1,'SignalInfo::receivers']]],
|
||||
['recommended_20next_20steps_6',['Recommended Next Steps',['../md_README.html#autotoc_md110',1,'']]],
|
||||
['registertype_7',['registerType',['../classTypeFactory.html#ad6d85795285ee21193ac03e1b24762d3',1,'TypeFactory']]],
|
||||
['regression_20coverage_8',['Additional regression coverage',['../md_tests_2README.html#autotoc_md131',1,'']]],
|
||||
['regression_20coverage_8',['Additional regression coverage',['../md_tests_2README.html#autotoc_md132',1,'']]],
|
||||
['regression_20tests_9',['regression tests',['../md_tests_2README.html',1,'QtTest regression tests'],['../md_README.html#autotoc_md123',1,'Regression tests']]],
|
||||
['representation_20and_20precision_10',['Raw value representation and precision',['../md_README.html#autotoc_md61',1,'']]],
|
||||
['run_20the_20demo_11',['Build and run the demo',['../md_README.html#autotoc_md120',1,'']]],
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
var searchData=
|
||||
[
|
||||
['tests_0',['tests',['../md_tests_2README.html',1,'QtTest regression tests'],['../md_README.html#autotoc_md123',1,'Regression tests'],['../md_tests_2README.html#autotoc_md130',1,'Tree and optional model tests']]],
|
||||
['tests_0',['tests',['../md_tests_2README.html',1,'QtTest regression tests'],['../md_README.html#autotoc_md123',1,'Regression tests'],['../md_tests_2README.html#autotoc_md131',1,'Tree and optional model tests']]],
|
||||
['tests_20without_20qt_1',['Standalone tree tests without Qt',['../md_README.html#autotoc_md119',1,'']]],
|
||||
['the_20demo_2',['Build and run the demo',['../md_README.html#autotoc_md120',1,'']]],
|
||||
['the_20gcc_20coverage_20build_20in_20qt_20creator_3',['Configure the GCC coverage build in Qt Creator',['../md_README.html#autotoc_md126',1,'']]],
|
||||
@@ -9,7 +9,7 @@ var searchData=
|
||||
['trace_20path_6',['trace path',['../md_README.html#autotoc_md98',1,'']]],
|
||||
['transmitter_7',['transmitter',['../structFrameInfo.html#a92749ec3798d4211a505860fb389a9e8',1,'FrameInfo::transmitter'],['../structDecodeFrame.html#ad78241dc40c793aabb8495b6989b81a9',1,'DecodeFrame::transmitter']]],
|
||||
['tree_8',['Build UI tree',['../md_README.html#autotoc_md92',1,'']]],
|
||||
['tree_20and_20optional_20model_20tests_9',['Tree and optional model tests',['../md_tests_2README.html#autotoc_md130',1,'']]],
|
||||
['tree_20and_20optional_20model_20tests_9',['Tree and optional model tests',['../md_tests_2README.html#autotoc_md131',1,'']]],
|
||||
['tree_20is_20not_20enough_10',['Why the Tree Is Not Enough',['../md_README.html#autotoc_md102',1,'']]],
|
||||
['tree_20layer_11',['UI Tree Layer',['../md_README.html#autotoc_md38',1,'']]],
|
||||
['tree_20tests_20without_20qt_12',['Standalone tree tests without Qt',['../md_README.html#autotoc_md119',1,'']]],
|
||||
|
||||
@@ -8,5 +8,6 @@ var searchData=
|
||||
['value_20representation_20and_20precision_5',['Raw value representation and precision',['../md_README.html#autotoc_md61',1,'']]],
|
||||
['valuedescriptions_6',['valuedescriptions',['../structDecodeSignal.html#a822155d9bf4ed5f3300c9e9befe606ff',1,'DecodeSignal::valueDescriptions'],['../structSignalInfo.html#a43f47d0433d0cc39076bd7278b46af9c',1,'SignalInfo::valueDescriptions']]],
|
||||
['valuetype_7',['valuetype',['../structDecodeSignal.html#a9d37638129263b8902ba5be59baf39a8',1,'DecodeSignal::valueType'],['../decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1',1,'ValueType: decode_database.h']]],
|
||||
['valuetype_20tt_8',['<tt>ValueType</tt>',['../md_README.html#autotoc_md46',1,'']]]
|
||||
['valuetype_20tt_8',['<tt>ValueType</tt>',['../md_README.html#autotoc_md46',1,'']]],
|
||||
['variants_20in_20qt_20creator_9',['Configure all build variants in Qt Creator',['../md_README.html#autotoc_md127',1,'']]]
|
||||
];
|
||||
+14
-13
@@ -4,17 +4,18 @@ var searchData=
|
||||
['adapter_1',['Optional Qt model adapter',['../md_README.html#autotoc_md118',1,'']]],
|
||||
['addchild_2',['AddChild',['../classTreeNode.html#a6161f2ebb92184eab4215d121870e788',1,'TreeNode']]],
|
||||
['added_3',['added',['../md_changelog.html#autotoc_md3',1,'Added'],['../md_changelog.html#autotoc_md7',1,'Added'],['../md_changelog.html#autotoc_md18',1,'Added']]],
|
||||
['additional_20regression_20coverage_4',['Additional regression coverage',['../md_tests_2README.html#autotoc_md131',1,'']]],
|
||||
['already_20implemented_5',['Stage 1 - already implemented',['../md_README.html#autotoc_md111',1,'']]],
|
||||
['and_20lcov_20on_20debian_20ubuntu_6',['GCC, gcov, and LCOV on Debian/Ubuntu',['../md_README.html#autotoc_md125',1,'']]],
|
||||
['and_20maintenance_7',['and maintenance',['../md_changelog.html#autotoc_md11',1,'Documentation and maintenance'],['../md_changelog.html#autotoc_md19',1,'Documentation and maintenance']]],
|
||||
['and_20motorola_20extraction_8',['Intel and Motorola Extraction',['../md_README.html#autotoc_md88',1,'']]],
|
||||
['and_20optional_20model_20tests_9',['Tree and optional model tests',['../md_tests_2README.html#autotoc_md130',1,'']]],
|
||||
['and_20parse_20errors_10',['and parse errors',['../md_README.html#autotoc_md72',1,'Frame validation and parse errors'],['../md_README.html#autotoc_md76',1,'Signal validation and parse errors']]],
|
||||
['and_20precision_11',['Raw value representation and precision',['../md_README.html#autotoc_md61',1,'']]],
|
||||
['and_20run_20the_20demo_12',['Build and run the demo',['../md_README.html#autotoc_md120',1,'']]],
|
||||
['and_20runtime_20decode_20module_20documentation_13',['DBC Parser and Runtime Decode Module Documentation',['../md_README.html',1,'']]],
|
||||
['and_20ui_20path_14',['1. Parse and UI path',['../md_README.html#autotoc_md24',1,'']]],
|
||||
['api_20documentation_15',['Generate API documentation',['../md_README.html#autotoc_md121',1,'']]],
|
||||
['architecture_16',['High-Level Architecture',['../md_README.html#autotoc_md23',1,'']]]
|
||||
['additional_20regression_20coverage_4',['Additional regression coverage',['../md_tests_2README.html#autotoc_md132',1,'']]],
|
||||
['all_20build_20variants_20in_20qt_20creator_5',['Configure all build variants in Qt Creator',['../md_README.html#autotoc_md127',1,'']]],
|
||||
['already_20implemented_6',['Stage 1 - already implemented',['../md_README.html#autotoc_md111',1,'']]],
|
||||
['and_20lcov_20on_20debian_20ubuntu_7',['GCC, gcov, and LCOV on Debian/Ubuntu',['../md_README.html#autotoc_md125',1,'']]],
|
||||
['and_20maintenance_8',['and maintenance',['../md_changelog.html#autotoc_md11',1,'Documentation and maintenance'],['../md_changelog.html#autotoc_md19',1,'Documentation and maintenance']]],
|
||||
['and_20motorola_20extraction_9',['Intel and Motorola Extraction',['../md_README.html#autotoc_md88',1,'']]],
|
||||
['and_20optional_20model_20tests_10',['Tree and optional model tests',['../md_tests_2README.html#autotoc_md131',1,'']]],
|
||||
['and_20parse_20errors_11',['and parse errors',['../md_README.html#autotoc_md72',1,'Frame validation and parse errors'],['../md_README.html#autotoc_md76',1,'Signal validation and parse errors']]],
|
||||
['and_20precision_12',['Raw value representation and precision',['../md_README.html#autotoc_md61',1,'']]],
|
||||
['and_20run_20the_20demo_13',['Build and run the demo',['../md_README.html#autotoc_md120',1,'']]],
|
||||
['and_20runtime_20decode_20module_20documentation_14',['DBC Parser and Runtime Decode Module Documentation',['../md_README.html',1,'']]],
|
||||
['and_20ui_20path_15',['1. Parse and UI path',['../md_README.html#autotoc_md24',1,'']]],
|
||||
['api_20documentation_16',['Generate API documentation',['../md_README.html#autotoc_md121',1,'']]],
|
||||
['architecture_17',['High-Level Architecture',['../md_README.html#autotoc_md23',1,'']]]
|
||||
];
|
||||
@@ -8,6 +8,7 @@ var searchData=
|
||||
['build_20integration_5',['Build Integration',['../md_README.html#autotoc_md116',1,'']]],
|
||||
['build_20runtime_20decode_20database_6',['Build runtime decode database',['../md_README.html#autotoc_md93',1,'']]],
|
||||
['build_20ui_20tree_7',['Build UI tree',['../md_README.html#autotoc_md92',1,'']]],
|
||||
['byteorder_8',['byteorder',['../structDecodeSignal.html#abdc4c4bb4a67a6d61d6ca81e8a52833d',1,'DecodeSignal::byteOrder'],['../decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142b',1,'ByteOrder: decode_database.h']]],
|
||||
['byteorder_20tt_9',['<tt>ByteOrder</tt>',['../md_README.html#autotoc_md44',1,'']]]
|
||||
['build_20variants_20in_20qt_20creator_8',['Configure all build variants in Qt Creator',['../md_README.html#autotoc_md127',1,'']]],
|
||||
['byteorder_9',['byteorder',['../structDecodeSignal.html#abdc4c4bb4a67a6d61d6ca81e8a52833d',1,'DecodeSignal::byteOrder'],['../decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142b',1,'ByteOrder: decode_database.h']]],
|
||||
['byteorder_20tt_10',['<tt>ByteOrder</tt>',['../md_README.html#autotoc_md44',1,'']]]
|
||||
];
|
||||
+11
-10
@@ -2,17 +2,18 @@ var searchData=
|
||||
[
|
||||
['can_20id_20normalization_0',['CAN ID Normalization',['../md_README.html#autotoc_md82',1,'']]],
|
||||
['canid_1',['canid',['../structDecodeFrame.html#a52e10215388db7df8b541b9d9909edcf',1,'DecodeFrame::canId'],['../structFrameInfo.html#af470b0742c05bfbffc31c51a68f5c05e',1,'FrameInfo::canId'],['../structRawCanFrame.html#a2d0e7fa0e3d5c20bbed55ed8f7888ff4',1,'RawCanFrame::canId']]],
|
||||
['changed_2',['changed',['../md_changelog.html#autotoc_md13',1,'Changed'],['../md_changelog.html#autotoc_md9',1,'Changed'],['../md_changelog.html#autotoc_md4',1,'Changed']]],
|
||||
['changed_2',['changed',['../md_changelog.html#autotoc_md4',1,'Changed'],['../md_changelog.html#autotoc_md9',1,'Changed'],['../md_changelog.html#autotoc_md13',1,'Changed']]],
|
||||
['changelog_3',['Changelog',['../md_changelog.html',1,'']]],
|
||||
['code_20coverage_4',['Measuring code coverage',['../md_README.html#autotoc_md124',1,'']]],
|
||||
['comment_5',['comment',['../structSignalInfo.html#ac99ba7563a5dad01e39c4257216953f5',1,'SignalInfo::comment'],['../structFrameInfo.html#ace75121294f9d89b762080ab5643293c',1,'FrameInfo::comment'],['../structDecodeFrame.html#a25819ef907a32391af5c9f7cae9cdb22',1,'DecodeFrame::comment'],['../structDecodeSignal.html#ae28c905d4a2bc86419c2a8361bfea473',1,'DecodeSignal::comment']]],
|
||||
['comment_5',['comment',['../structDecodeSignal.html#ae28c905d4a2bc86419c2a8361bfea473',1,'DecodeSignal::comment'],['../structDecodeFrame.html#a25819ef907a32391af5c9f7cae9cdb22',1,'DecodeFrame::comment'],['../structFrameInfo.html#ace75121294f9d89b762080ab5643293c',1,'FrameInfo::comment'],['../structSignalInfo.html#ac99ba7563a5dad01e39c4257216953f5',1,'SignalInfo::comment']]],
|
||||
['comments_6',['Comments',['../md_README.html#autotoc_md80',1,'']]],
|
||||
['configure_20the_20gcc_20coverage_20build_20in_20qt_20creator_7',['Configure the GCC coverage build in Qt Creator',['../md_README.html#autotoc_md126',1,'']]],
|
||||
['contains_8',['contains',['../classTypeFactory.html#a1a119ad2956abe146213c6ca124d8dd4',1,'TypeFactory']]],
|
||||
['core_20without_20qt_20libraries_9',['Build core without Qt libraries',['../md_README.html#autotoc_md117',1,'']]],
|
||||
['coverage_10',['coverage',['../md_tests_2README.html#autotoc_md131',1,'Additional regression coverage'],['../md_tests_2README.html#autotoc_md128',1,'Decoder coverage'],['../md_README.html#autotoc_md124',1,'Measuring code coverage'],['../md_tests_2README.html#autotoc_md129',1,'Parser coverage']]],
|
||||
['coverage_20build_20in_20qt_20creator_11',['Configure the GCC coverage build in Qt Creator',['../md_README.html#autotoc_md126',1,'']]],
|
||||
['create_12',['create',['../classTypeFactory.html#a3f43b03d6e3a0fd503fdec01ecf62e9f',1,'TypeFactory']]],
|
||||
['creator_13',['creator',['../md_README.html#autotoc_md126',1,'Configure the GCC coverage build in Qt Creator'],['../classTypeFactory.html#ad82f537569ece3d3a4a376523fa94473',1,'TypeFactory::creator()']]],
|
||||
['current_20limitations_14',['Current Limitations',['../md_README.html#autotoc_md108',1,'']]]
|
||||
['configure_20all_20build_20variants_20in_20qt_20creator_7',['Configure all build variants in Qt Creator',['../md_README.html#autotoc_md127',1,'']]],
|
||||
['configure_20the_20gcc_20coverage_20build_20in_20qt_20creator_8',['Configure the GCC coverage build in Qt Creator',['../md_README.html#autotoc_md126',1,'']]],
|
||||
['contains_9',['contains',['../classTypeFactory.html#a1a119ad2956abe146213c6ca124d8dd4',1,'TypeFactory']]],
|
||||
['core_20without_20qt_20libraries_10',['Build core without Qt libraries',['../md_README.html#autotoc_md117',1,'']]],
|
||||
['coverage_11',['coverage',['../md_tests_2README.html#autotoc_md132',1,'Additional regression coverage'],['../md_tests_2README.html#autotoc_md129',1,'Decoder coverage'],['../md_README.html#autotoc_md124',1,'Measuring code coverage'],['../md_tests_2README.html#autotoc_md130',1,'Parser coverage']]],
|
||||
['coverage_20build_20in_20qt_20creator_12',['Configure the GCC coverage build in Qt Creator',['../md_README.html#autotoc_md126',1,'']]],
|
||||
['create_13',['create',['../classTypeFactory.html#a3f43b03d6e3a0fd503fdec01ecf62e9f',1,'TypeFactory']]],
|
||||
['creator_14',['creator',['../md_README.html#autotoc_md127',1,'Configure all build variants in Qt Creator'],['../md_README.html#autotoc_md126',1,'Configure the GCC coverage build in Qt Creator'],['../classTypeFactory.html#ad82f537569ece3d3a4a376523fa94473',1,'TypeFactory::creator()']]],
|
||||
['current_20limitations_15',['Current Limitations',['../md_README.html#autotoc_md108',1,'']]]
|
||||
];
|
||||
@@ -50,7 +50,7 @@ var searchData=
|
||||
['decodedsignalvalue_20tt_47',['<tt>DecodedSignalValue</tt>',['../md_README.html#autotoc_md59',1,'']]],
|
||||
['decodeframe_48',['DecodeFrame',['../structDecodeFrame.html',1,'']]],
|
||||
['decodeframe_20tt_49',['<tt>DecodeFrame</tt>',['../md_README.html#autotoc_md50',1,'']]],
|
||||
['decoder_20coverage_50',['Decoder coverage',['../md_tests_2README.html#autotoc_md128',1,'']]],
|
||||
['decoder_20coverage_50',['Decoder coverage',['../md_tests_2README.html#autotoc_md129',1,'']]],
|
||||
['decoder_20layer_51',['Decoder Layer',['../md_README.html#autotoc_md56',1,'']]],
|
||||
['decodesignal_52',['DecodeSignal',['../structDecodeSignal.html',1,'']]],
|
||||
['decodesignal_20tt_53',['<tt>DecodeSignal</tt>',['../md_README.html#autotoc_md48',1,'']]],
|
||||
|
||||
@@ -4,7 +4,7 @@ var searchData=
|
||||
['implementation_20—_202026_2003_2013_1',['Initial implementation — 2026-03-13',['../md_changelog.html#autotoc_md17',1,'']]],
|
||||
['implemented_2',['Stage 1 - already implemented',['../md_README.html#autotoc_md111',1,'']]],
|
||||
['in_20frametap_3',['Intended Use in FrameTap',['../md_README.html#autotoc_md100',1,'']]],
|
||||
['in_20qt_20creator_4',['Configure the GCC coverage build in Qt Creator',['../md_README.html#autotoc_md126',1,'']]],
|
||||
['in_20qt_20creator_4',['in qt creator',['../md_README.html#autotoc_md127',1,'Configure all build variants in Qt Creator'],['../md_README.html#autotoc_md126',1,'Configure the GCC coverage build in Qt Creator']]],
|
||||
['initial_20implementation_20—_202026_2003_2013_5',['Initial implementation — 2026-03-13',['../md_changelog.html#autotoc_md17',1,'']]],
|
||||
['integration_6',['Build Integration',['../md_README.html#autotoc_md116',1,'']]],
|
||||
['intel_20and_20motorola_20extraction_7',['Intel and Motorola Extraction',['../md_README.html#autotoc_md88',1,'']]],
|
||||
|
||||
@@ -5,7 +5,7 @@ var searchData=
|
||||
['measuring_20code_20coverage_2',['Measuring code coverage',['../md_README.html#autotoc_md124',1,'']]],
|
||||
['minimum_3',['minimum',['../structDecodeSignal.html#a0fb84e19a0ab3bd50b6f65c1075ebc25',1,'DecodeSignal::minimum'],['../structSignalInfo.html#ada7bf94fbeaa26bd08c73982b5af255b',1,'SignalInfo::minimum']]],
|
||||
['model_20adapter_4',['Optional Qt model adapter',['../md_README.html#autotoc_md118',1,'']]],
|
||||
['model_20tests_5',['Tree and optional model tests',['../md_tests_2README.html#autotoc_md130',1,'']]],
|
||||
['model_20tests_5',['Tree and optional model tests',['../md_tests_2README.html#autotoc_md131',1,'']]],
|
||||
['module_20documentation_6',['DBC Parser and Runtime Decode Module Documentation',['../md_README.html',1,'']]],
|
||||
['module_20layout_7',['Module Layout',['../md_README.html#autotoc_md29',1,'']]],
|
||||
['motorola_20extraction_8',['Intel and Motorola Extraction',['../md_README.html#autotoc_md88',1,'']]],
|
||||
|
||||
Reference in new issue
Block a user