Skip to content

Conversation

@MartinMelikMerkumians
Copy link
Member

@MartinMelikMerkumians MartinMelikMerkumians commented Nov 25, 2025

This PR shall update the general settings, like formatting and compiler standards setting to a modern state. Autoformatting has been simplifies to use clang-format and C17 is targeted, as finally MSVC seems to support it. Also modern tools like pre-commit and CI/CD linting has been added.

Additional steps are done to comply with cpplint, cppcheck and other linters.

Also some minor fixes are added along the way, and rand/srand will be replaced by the already provided XorShiftRandom generator

@github-actions
Copy link

github-actions bot commented Nov 25, 2025

MegaLinter analysis: Error

Descriptor Linter Files Fixed Errors Warnings Elapsed time
✅ ACTION actionlint 1 0 0 0.28s
✅ C clang-format 112 1 0 0 1.09s
❌ C cppcheck 112 14 0 13.39s
❌ C cpplint 112 1013 0 14.7s
❌ COPYPASTE jscpd yes 30 no 5.23s
✅ CPP clang-format 72 0 0 0 0.43s
✅ CPP cppcheck 72 0 0 2.95s
❌ CPP cpplint 72 574 0 7.29s
✅ MARKDOWN markdownlint 1 0 0 0 0.74s
✅ MARKDOWN markdown-table-formatter 1 0 0 0 0.3s
✅ REPOSITORY checkov yes no no 13.75s
✅ REPOSITORY gitleaks yes no no 2.51s
✅ REPOSITORY git_diff yes no no 0.02s
✅ REPOSITORY grype yes no no 26.82s
✅ REPOSITORY secretlint yes no no 0.65s
✅ REPOSITORY syft yes no no 1.08s
✅ REPOSITORY trivy yes no no 4.78s
✅ REPOSITORY trivy-sbom yes no no 0.12s
✅ REPOSITORY trufflehog yes no no 2.28s
❌ SPELL lychee 23 1 0 0.3s
✅ XML xmllint 1 0 0 0 0.45s
✅ YAML prettier 2 0 0 0 0.49s
✅ YAML v8r 2 0 0 3.26s
✅ YAML yamllint 2 0 0 0.46s

Detailed Issues

❌ C / cppcheck - 14 errors
Results of cppcheck linter (version 2.14.2)
See documentation on https://megalinter.io/9.2.0/descriptors/c_cppcheck/
-----------------------------------------------

✅ [SUCCESS] source/src/cip/appcontype.c
✅ [SUCCESS] source/src/cip/appcontype.h
✅ [SUCCESS] source/src/cip/cipassembly.c
✅ [SUCCESS] source/src/cip/cipassembly.h
✅ [SUCCESS] source/src/cip/cipclass3connection.c
✅ [SUCCESS] source/src/cip/cipclass3connection.h
❌ [ERROR] source/src/cip/cipcommon.c
    Checking source/src/cip/cipcommon.c ...
    source/src/cip/cipcommon.c:0:0: information: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. [normalCheckLevelMaxBranches]
    
    ^
    Checking source/src/cip/cipcommon.c: CIP_FILE_OBJECT...
    Checking source/src/cip/cipcommon.c: CIP_SECURITY_OBJECTS...
    Checking source/src/cip/cipcommon.c: OPENER_ETHLINK_CNTRS_ENABLE...
    Checking source/src/cip/cipcommon.c: OPENER_ETHLINK_IFACE_CTRL_ENABLE...
    Checking source/src/cip/cipcommon.c: OPENER_IS_DLR_DEVICE...

✅ [SUCCESS] source/src/cip/cipcommon.h
❌ [ERROR] source/src/cip/cipconnectionmanager.c
    Checking source/src/cip/cipconnectionmanager.c ...
    source/src/cip/cipconnectionmanager.c:0:0: information: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. [normalCheckLevelMaxBranches]
    
    ^
    Checking source/src/cip/cipconnectionmanager.c: OPENER_RANDOMIZE_CONNECTION_ID...

✅ [SUCCESS] source/src/cip/cipconnectionmanager.h
❌ [ERROR] source/src/cip/cipconnectionobject.c
    Checking source/src/cip/cipconnectionobject.c ...
    source/src/cip/cipconnectionobject.c:715:40: error: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
        return (connection_parameters & (1 << 31));
                                           ^

✅ [SUCCESS] source/src/cip/cipconnectionobject.h
✅ [SUCCESS] source/src/cip/cipdlr.c
✅ [SUCCESS] source/src/cip/cipdlr.h
✅ [SUCCESS] source/src/cip/cipelectronickey.c
✅ [SUCCESS] source/src/cip/cipelectronickey.h
✅ [SUCCESS] source/src/cip/cipepath.c
✅ [SUCCESS] source/src/cip/cipepath.h
✅ [SUCCESS] source/src/cip/ciperror.h
✅ [SUCCESS] source/src/cip/cipethernetlink.c
✅ [SUCCESS] source/src/cip/cipethernetlink.h
✅ [SUCCESS] source/src/cip/cipidentity.c
✅ [SUCCESS] source/src/cip/cipidentity.h
❌ [ERROR] source/src/cip/cipioconnection.c
    Checking source/src/cip/cipioconnection.c ...
    source/src/cip/cipioconnection.c:0:0: information: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. [normalCheckLevelMaxBranches]
    
    ^
    Checking source/src/cip/cipioconnection.c: OPENER_CONSUMED_DATA_HAS_RUN_IDLE_HEADER...
    Checking source/src/cip/cipioconnection.c: OPENER_PRODUCED_DATA_HAS_RUN_IDLE_HEADER...

✅ [SUCCESS] source/src/cip/cipioconnection.h
✅ [SUCCESS] source/src/cip/cipmessagerouter.c
✅ [SUCCESS] source/src/cip/cipmessagerouter.h
✅ [SUCCESS] source/src/cip/cipqos.c
✅ [SUCCESS] source/src/cip/cipqos.h
✅ [SUCCESS] source/src/cip/cipstring.c
✅ [SUCCESS] source/src/cip/cipstring.h
✅ [SUCCESS] source/src/cip/cipstringi.c
✅ [SUCCESS] source/src/cip/cipstringi.h
❌ [ERROR] source/src/cip/ciptcpipinterface.c
    Checking source/src/cip/ciptcpipinterface.c ...
    Checking source/src/cip/ciptcpipinterface.c: OPENER_ETHLINK_CNTRS_ENABLE...
    Checking source/src/cip/ciptcpipinterface.c: OPENER_ETHLINK_IFACE_CTRL_ENABLE...
    Checking source/src/cip/ciptcpipinterface.c: OPENER_TCPIP_IFACE_CFG_SETTABLE...
    source/src/cip/ciptcpipinterface.c:0:0: information: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. [normalCheckLevelMaxBranches]
    
    ^

✅ [SUCCESS] source/src/cip/ciptcpipinterface.h
✅ [SUCCESS] source/src/cip/ciptypes.c
✅ [SUCCESS] source/src/cip/ciptypes.h
❌ [ERROR] source/src/enet_encap/cpf.c
    Checking source/src/enet_encap/cpf.c ...
    source/src/enet_encap/cpf.c:0:0: information: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. [normalCheckLevelMaxBranches]
    
    ^

✅ [SUCCESS] source/src/enet_encap/cpf.h
❌ [ERROR] source/src/enet_encap/encap.c
    Checking source/src/enet_encap/encap.c ...
    source/src/enet_encap/encap.c:0:0: information: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. [normalCheckLevelMaxBranches]
    
    ^
    Checking source/src/enet_encap/encap.c: FUZZING_AFL...

✅ [SUCCESS] source/src/enet_encap/encap.h
✅ [SUCCESS] source/src/enet_encap/endianconv.c
✅ [SUCCESS] source/src/enet_encap/endianconv.h
✅ [SUCCESS] source/src/opener_api.h
❌ [ERROR] source/src/ports/MINGW/main.c
    Checking source/src/ports/MINGW/main.c ...
    source/src/ports/MINGW/main.c:0:0: information: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. [normalCheckLevelMaxBranches]
    
    ^

❌ [ERROR] source/src/ports/MINGW/networkconfig.c
    Checking source/src/ports/MINGW/networkconfig.c ...
    source/src/ports/MINGW/networkconfig.c:0:0: information: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. [normalCheckLevelMaxBranches]
    
    ^

✅ [SUCCESS] source/src/ports/MINGW/networkconfig.h
✅ [SUCCESS] source/src/ports/MINGW/networkhandler.c
✅ [SUCCESS] source/src/ports/MINGW/opener_error.c
✅ [SUCCESS] source/src/ports/MINGW/platform_network_includes.h
✅ [SUCCESS] source/src/ports/MINGW/sample_application/ethlinkcbs.c
✅ [SUCCESS] source/src/ports/MINGW/sample_application/ethlinkcbs.h
✅ [SUCCESS] source/src/ports/MINGW/sample_application/opener_user_conf.h
✅ [SUCCESS] source/src/ports/MINGW/sample_application/sampleapplication.c
❌ [ERROR] source/src/ports/POSIX/main.c
    Checking source/src/ports/POSIX/main.c ...
    source/src/ports/POSIX/main.c:0:0: information: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. [normalCheckLevelMaxBranches]
    
    ^
    Checking source/src/ports/POSIX/main.c: FUZZING_AFL...
    Checking source/src/ports/POSIX/main.c: OPENER_RT...

✅ [SUCCESS] source/src/ports/POSIX/networkconfig.c
✅ [SUCCESS] source/src/ports/POSIX/networkconfig.h
✅ [SUCCESS] source/src/ports/POSIX/networkhandler.c
✅ [SUCCESS] source/src/ports/POSIX/opener_error.c
✅ [SUCCESS] source/src/ports/POSIX/platform_network_includes.h
✅ [SUCCESS] source/src/ports/POSIX/sample_application/ethlinkcbs.c
✅ [SUCCESS] source/src/ports/POSIX/sample_application/ethlinkcbs.h
✅ [SUCCESS] source/src/ports/POSIX/sample_application/opener_user_conf.h
✅ [SUCCESS] source/src/ports/POSIX/sample_application/sampleapplication.c
✅ [SUCCESS] source/src/ports/STM32/networkconfig.c
✅ [SUCCESS] source/src/ports/STM32/networkconfig.h
✅ [SUCCESS] source/src/ports/STM32/networkhandler.c
✅ [SUCCESS] source/src/ports/STM32/opener.c
✅ [SUCCESS] source/src/ports/STM32/opener.h
✅ [SUCCESS] source/src/ports/STM32/opener_error.c
✅ [SUCCESS] source/src/ports/STM32/platform_network_includes.h
✅ [SUCCESS] source/src/ports/STM32/sample_application/ethlinkcbs.c
✅ [SUCCESS] source/src/ports/STM32/sample_application/ethlinkcbs.h
✅ [SUCCESS] source/src/ports/STM32/sample_application/opener_user_conf.h
✅ [SUCCESS] source/src/ports/STM32/sample_application/sampleapplication.c
❌ [ERROR] source/src/ports/WIN32/main.c
    Checking source/src/ports/WIN32/main.c ...
    source/src/ports/WIN32/main.c:0:0: information: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. [normalCheckLevelMaxBranches]
    
    ^

❌ [ERROR] source/src/ports/WIN32/networkconfig.c
    Checking source/src/ports/WIN32/networkconfig.c ...
    source/src/ports/WIN32/networkconfig.c:0:0: information: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. [normalCheckLevelMaxBranches]
    
    ^

✅ [SUCCESS] source/src/ports/WIN32/networkconfig.h
✅ [SUCCESS] source/src/ports/WIN32/networkhandler.c
✅ [SUCCESS] source/src/ports/WIN32/opener_error.c
✅ [SUCCESS] source/src/ports/WIN32/platform_network_includes.h


(Truncated to 8000 characters out of 10236)
❌ C / cpplint - 1013 errors
source/src/cip/appcontype.c:7:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/appcontype.c:11:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/appcontype.c:12:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/appcontype.c:13:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/appcontype.c:14:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/appcontype.c:15:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/appcontype.c:16:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/appcontype.c:20:  At least two spaces is best between code and comments  [whitespace/comments] [2]
source/src/cip/appcontype.c:22:  At least two spaces is best between code and comments  [whitespace/comments] [2]
source/src/cip/appcontype.c:24:  Lines should be <= 80 characters long  [whitespace/line_length] [2]
source/src/cip/appcontype.c:24:  At least two spaces is best between code and comments  [whitespace/comments] [2]
source/src/cip/appcontype.c:29:  At least two spaces is best between code and comments  [whitespace/comments] [2]
source/src/cip/appcontype.c:31:  At least two spaces is best between code and comments  [whitespace/comments] [2]
source/src/cip/appcontype.c:33:  At least two spaces is best between code and comments  [whitespace/comments] [2]
source/src/cip/appcontype.c:38:  At least two spaces is best between code and comments  [whitespace/comments] [2]
source/src/cip/appcontype.c:40:  At least two spaces is best between code and comments  [whitespace/comments] [2]
source/src/cip/appcontype.c:42:  At least two spaces is best between code and comments  [whitespace/comments] [2]
source/src/cip/appcontype.c:46:  At least two spaces is best between code and comments  [whitespace/comments] [2]
source/src/cip/appcontype.c:49:  Lines should be <= 80 characters long  [whitespace/line_length] [2]
source/src/cip/appcontype.c:49:  At least two spaces is best between code and comments  [whitespace/comments] [2]
source/src/cip/appcontype.c:52:  At least two spaces is best between code and comments  [whitespace/comments] [2]
source/src/cip/appcontype.c:149:  Lines should be <= 80 characters long  [whitespace/line_length] [2]
source/src/cip/appcontype.c:154:  Lines should be <= 80 characters long  [whitespace/line_length] [2]
source/src/cip/appcontype.c:156:  Lines should be <= 80 characters long  [whitespace/line_length] [2]
source/src/cip/appcontype.c:195:  Lines should be <= 80 characters long  [whitespace/line_length] [2]
source/src/cip/appcontype.c:236:  Lines should be <= 80 characters long  [whitespace/line_length] [2]
source/src/cip/appcontype.c:236:  At least two spaces is best between code and comments  [whitespace/comments] [2]
source/src/cip/appcontype.c:246:  Lines should be <= 80 characters long  [whitespace/line_length] [2]
source/src/cip/appcontype.c:291:  At least two spaces is best between code and comments  [whitespace/comments] [2]
source/src/cip/appcontype.c:301:  Lines should be <= 80 characters long  [whitespace/line_length] [2]
source/src/cip/appcontype.c:308:  Lines should be <= 80 characters long  [whitespace/line_length] [2]
source/src/cip/appcontype.h:9:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipassembly.c:7:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipassembly.c:12:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipassembly.c:13:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipassembly.c:14:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipassembly.c:15:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipassembly.c:158:  Complex multi-line /*...*/-style comment found. Lint may give bogus warnings.  Consider replacing these with //-style comments, with #if 0...#endif, or with more clearly structured multi-line comments.  [readability/multiline_comment] [5]
source/src/cip/cipassembly.h:9:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipassembly.h:10:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipclass3connection.c:7:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipclass3connection.c:11:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipclass3connection.h:7:  #ifndef header guard has wrong style, please use: SOURCE_SRC_CIP_CIPCLASS3CONNECTION_H_  [build/header_guard] [5]
source/src/cip/cipclass3connection.h:65:  #endif line should be "#endif  // SOURCE_SRC_CIP_CIPCLASS3CONNECTION_H_"  [build/header_guard] [5]
source/src/cip/cipclass3connection.h:31:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipclass3connection.h:32:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipclass3connection.h:33:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipcommon.c:6:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipcommon.c:11:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipcommon.c:12:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipcommon.c:13:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipcommon.c:14:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipcommon.c:15:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipcommon.c:16:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipcommon.c:17:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipcommon.c:18:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipcommon.c:19:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipcommon.c:20:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipcommon.c:21:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipcommon.c:23:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipcommon.c:25:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipcommon.c:26:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipcommon.c:27:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipcommon.c:28:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipcommon.c:29:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipcommon.c:30:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipcommon.c:31:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipcommon.c:32:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipcommon.c:112:  Complex multi-line /*...*/-style comment found. Lint may give bogus warnings.  Consider replacing these with //-style comments, with #if 0...#endif, or with more clearly structured multi-line comments.  [readability/multiline_comment] [5]
source/src/cip/cipcommon.c:112:  Missing spaces around ==  [whitespace/operators] [3]
sou

(Truncated to 8000 characters out of 164684)
❌ CPP / cpplint - 574 errors
source/src/cip/appcontype.h:9:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipassembly.h:9:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipassembly.h:10:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipclass3connection.h:7:  #ifndef header guard has wrong style, please use: SOURCE_SRC_CIP_CIPCLASS3CONNECTION_H_  [build/header_guard] [5]
source/src/cip/cipclass3connection.h:65:  #endif line should be "#endif  // SOURCE_SRC_CIP_CIPCLASS3CONNECTION_H_"  [build/header_guard] [5]
source/src/cip/cipclass3connection.h:31:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipclass3connection.h:32:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipclass3connection.h:33:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipcommon.h:6:  #ifndef header guard has wrong style, please use: SOURCE_SRC_CIP_CIPCOMMON_H_  [build/header_guard] [5]
source/src/cip/cipcommon.h:227:  #endif line should be "#endif  // SOURCE_SRC_CIP_CIPCOMMON_H_"  [build/header_guard] [5]
source/src/cip/cipcommon.h:13:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipcommon.h:14:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipconnectionmanager.h:6:  #ifndef header guard has wrong style, please use: SOURCE_SRC_CIP_CIPCONNECTIONMANAGER_H_  [build/header_guard] [5]
source/src/cip/cipconnectionmanager.h:311:  #endif line should be "#endif  // SOURCE_SRC_CIP_CIPCONNECTIONMANAGER_H_"  [build/header_guard] [5]
source/src/cip/cipconnectionmanager.h:9:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipconnectionmanager.h:10:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipconnectionmanager.h:11:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipconnectionmanager.h:12:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipconnectionmanager.h:13:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipconnectionmanager.h:40:  Lines should be <= 80 characters long  [whitespace/line_length] [2]
source/src/cip/cipconnectionmanager.h:41:  Complex multi-line /*...*/-style comment found. Lint may give bogus warnings.  Consider replacing these with //-style comments, with #if 0...#endif, or with more clearly structured multi-line comments.  [readability/multiline_comment] [5]
source/src/cip/cipconnectionmanager.h:43:  Lines should be <= 80 characters long  [whitespace/line_length] [2]
source/src/cip/cipconnectionmanager.h:44:  Complex multi-line /*...*/-style comment found. Lint may give bogus warnings.  Consider replacing these with //-style comments, with #if 0...#endif, or with more clearly structured multi-line comments.  [readability/multiline_comment] [5]
source/src/cip/cipconnectionmanager.h:45:  Use operator ! instead of not  [readability/alt_tokens] [2]
source/src/cip/cipconnectionmanager.h:48:  Complex multi-line /*...*/-style comment found. Lint may give bogus warnings.  Consider replacing these with //-style comments, with #if 0...#endif, or with more clearly structured multi-line comments.  [readability/multiline_comment] [5]
source/src/cip/cipconnectionmanager.h:51:  Complex multi-line /*...*/-style comment found. Lint may give bogus warnings.  Consider replacing these with //-style comments, with #if 0...#endif, or with more clearly structured multi-line comments.  [readability/multiline_comment] [5]
source/src/cip/cipconnectionmanager.h:54:  Complex multi-line /*...*/-style comment found. Lint may give bogus warnings.  Consider replacing these with //-style comments, with #if 0...#endif, or with more clearly structured multi-line comments.  [readability/multiline_comment] [5]
source/src/cip/cipconnectionmanager.h:55:  Use operator && instead of and  [readability/alt_tokens] [2]
source/src/cip/cipconnectionmanager.h:55:  Use operator ! instead of not  [readability/alt_tokens] [2]
source/src/cip/cipconnectionmanager.h:59:  Complex multi-line /*...*/-style comment found. Lint may give bogus warnings.  Consider replacing these with //-style comments, with #if 0...#endif, or with more clearly structured multi-line comments.  [readability/multiline_comment] [5]
source/src/cip/cipconnectionmanager.h:63:  Complex multi-line /*...*/-style comment found. Lint may give bogus warnings.  Consider replacing these with //-style comments, with #if 0...#endif, or with more clearly structured multi-line comments.  [readability/multiline_comment] [5]
source/src/cip/cipconnectionmanager.h:66:  Complex multi-line /*...*/-style comment found. Lint may give bogus warnings.  Consider replacing these with //-style comments, with #if 0...#endif, or with more clearly structured multi-line comments.  [readability/multiline_comment] [5]
source/src/cip/cipconnectionmanager.h:67:  Use operator ! instead of not  [readability/alt_tokens] [2]
source/src/cip/cipconnectionmanager.h:68:  Use operator || instead of or  [readability/alt_tokens] [2]
source/src/cip/cipconnectionmanager.h:68:  Use operator || instead of or  [readability/alt_tokens] [2]
source/src/cip/cipconnectionmanager.h:69:  Use operator && instead of and  [readability/alt_tokens] [2]
source/src/cip/cipconnectionmanager.h:69:  Use operator || instead of or  [readability/alt_tokens] [2]
source/src/cip/cipconnectionmanager.h:69:  Use operator || instead of or  [readability/alt_tokens] [2]
source/src/cip/cipconnectionmanager.h:72:  Complex multi-line /*...*/-style comment found. Lint may give bogus warnings.  Consider replacing these with //-style comments, with #if 0...#endif, or with more clearly structured multi-line comments.  [readability/multiline_comment] [5]
source/src/cip/cipconnectionmanager.h:73:  Use operator ! instead of not  [readability/alt_tokens] [2]
source/src/cip/cipconnectionmanager.h:74:  Use operator || instead of or  [readability/alt_tokens] [2]
source/src/cip/cipconnectionmanager.h:74:  Use operator && instead of and  [readability/alt_tokens] [2]
source/src/cip/cipconnectionmanager.h:74:  Use operator || instead of or  [readability/alt_tokens] [2]
source/src/cip/cipconnectionmanager.h:77:  Complex multi-line /*...*/-style comment found. Lint may give bogus warnings.  Consider replacing these with //-style comments, with #if 0...#endif, or with more clearly structured multi-line comments.  [readability/multiline_comment] [5]
source/src/cip/cipconnectionmanager.h:78:  Use operator ! instead of not  [readability/alt_tokens] [2]
source/src/cip/cipconnectionmanager.h:79:  Use operator || instead of or  [readability/alt_tokens] [2]
source/src/cip/cipconnectionmanager.h:79:  Use operator && instead of and  [readability/alt_tokens] [2]
source/src/cip/cipconnectionmanager.h:80:  Use operator || instead of or  [readability/alt_tokens] [2]
source/src/cip/cipconnectionmanager.h:83:  Complex multi-line /*...*/-style comment found. Lint may give bogus warnings.  Consider replacing these with //-style comments, with #if 0...#endif, or with more clearly structured multi-line comments.  [readability/multiline_comment] [5]
source/src/cip/cipconnectionmanager.h:87:  Complex multi-line /*...*/-style comment found. Lint may give bogus warnings.  Consider replacing these with //-style comments, with #if 0...#endif, or with more clearly structured multi-line comments.  [readability/multiline_comment] [5]
source/src/cip/cipconnectionmanager.h:90:  Complex multi-line /*...*/-style comment found. Lint may give bogus warnings.  Consider replacing these with //-style comments, with #if 0...#endif, or with more clearly structured multi-line comments.  [readability/multiline_comment] [5]
source/src/cip/cipconnect

(Truncated to 8000 characters out of 99348)
❌ COPYPASTE / jscpd - 30 errors
Clone found (c):
 - source/src/ports/STM32/sample_application/sampleapplication.c [75:29 - 111:19] (36 lines, 224 tokens)
   source/src/ports/WIN32/sample_application/sampleapplication.c [86:12 - 122:20]

Clone found (c):
 - source/src/ports/STM32/sample_application/sampleapplication.c [150:7 - 183:19] (33 lines, 140 tokens)
   source/src/ports/WIN32/sample_application/sampleapplication.c [157:8 - 190:21]

Clone found (c):
 - source/src/ports/STM32/sample_application/ethlinkcbs.c [1:1 - 65:9] (64 lines, 142 tokens)
   source/src/ports/WIN32/sample_application/ethlinkcbs.c [1:1 - 65:15]

Clone found (c):
 - source/src/ports/STM32/sample_application/ethlinkcbs.c [65:2 - 153:9] (88 lines, 901 tokens)
   source/src/ports/WIN32/sample_application/ethlinkcbs.c [65:2 - 153:15]

Clone found (c):
 - source/src/ports/STM32/sample_application/ethlinkcbs.c [153:2 - 186:46] (33 lines, 239 tokens)
   source/src/ports/WIN32/sample_application/ethlinkcbs.c [153:2 - 186:46]

Clone found (c):
 - source/src/ports/POSIX/sample_application/sampleapplication.c [1:1 - 84:6] (83 lines, 276 tokens)
   source/src/ports/STM32/sample_application/sampleapplication.c [1:1 - 83:6]

Clone found (c):
 - source/src/ports/POSIX/sample_application/sampleapplication.c [65:19 - 214:2] (149 lines, 775 tokens)
   source/src/ports/WIN32/sample_application/sampleapplication.c [62:2 - 200:2]

Clone found (c):
 - source/src/ports/POSIX/sample_application/ethlinkcbs.c [1:1 - 186:46] (185 lines, 1286 tokens)
   source/src/ports/WIN32/sample_application/ethlinkcbs.c [1:1 - 186:46]

Clone found (c):
 - source/src/ports/MINGW/sample_application/sampleapplication.c [1:1 - 200:2] (199 lines, 922 tokens)
   source/src/ports/WIN32/sample_application/sampleapplication.c [1:1 - 200:2]

Clone found (c):
 - source/src/ports/MINGW/sample_application/ethlinkcbs.c [1:1 - 186:46] (185 lines, 1286 tokens)
   source/src/ports/WIN32/sample_application/ethlinkcbs.c [1:1 - 186:46]

Clone found (c):
 - source/src/ports/POSIX/opener_error.c [1:1 - 38:2] (37 lines, 113 tokens)
   source/src/ports/STM32/opener_error.c [1:1 - 38:2]

Clone found (c):
 - source/src/ports/POSIX/networkhandler.c [33:8 - 68:2] (35 lines, 240 tokens)
   source/src/ports/STM32/networkhandler.c [15:2 - 50:2]

Clone found (c):
 - source/src/ports/POSIX/main.c [72:25 - 100:10] (28 lines, 132 tokens)
   source/src/ports/WIN32/main.c [56:35 - 84:13]

Clone found (c):
 - source/src/ports/POSIX/main.c [228:5 - 249:7] (21 lines, 113 tokens)
   source/src/ports/WIN32/main.c [145:5 - 166:7]

Clone found (c):
 - source/src/ports/MINGW/opener_error.c [18:1 - 37:2] (19 lines, 121 tokens)
   source/src/ports/WIN32/opener_error.c [18:1 - 37:2]

Clone found (c):
 - source/src/ports/MINGW/networkconfig.c [1:1 - 260:17] (259 lines, 1183 tokens)
   source/src/ports/WIN32/networkconfig.c [1:1 - 261:6]

Clone found (c):
 - source/src/ports/MINGW/networkconfig.c [260:2 - 498:2] (238 lines, 1797 tokens)
   source/src/ports/WIN32/networkconfig.c [261:2 - 499:2]

Clone found (c):
 - source/src/ports/MINGW/main.c [1:1 - 173:77] (172 lines, 797 tokens)
   source/src/ports/WIN32/main.c [1:1 - 173:50]

Clone found (markdown):
 - source/src/ports/MINGW/CMakeLists.txt [21:2 - 35:8] (14 lines, 111 tokens)
   source/src/ports/WIN32/CMakeLists.txt [21:2 - 35:8]

Clone found (cpp):
 - source/tests/utils/doublylinkedlistTests.cpp [124:3 - 131:32] (7 lines, 82 tokens)
   source/tests/utils/doublylinkedlistTests.cpp [110:3 - 117:19]

Clone found (cpp):
 - source/tests/utils/doublylinkedlistTests.cpp [147:29 - 155:19] (8 lines, 96 tokens)
   source/tests/utils/doublylinkedlistTests.cpp [109:29 - 117:19]

Clone found (cpp):
 - source/tests/utils/doublylinkedlistTests.cpp [182:20 - 190:5] (8 lines, 87 tokens)
   source/tests/utils/doublylinkedlistTests.cpp [169:16 - 177:6]

Clone found (cpp):
 - source/tests/utils/doublylinkedlistTests.cpp [208:22 - 216:6] (8 lines, 87 tokens)
   source/tests/utils/doublylinkedlistTests.cpp [195:17 - 203:5]

Clone found (cpp):
 - source/tests/cip/cipstringtests.cpp [47:26 - 53:15] (6 lines, 78 tokens)
   source/tests/cip/cipstringtests.cpp [33:27 - 39:11]

Clone found (cpp):
 - source/tests/cip/cipepathtest.cpp [373:38 - 380:10] (7 lines, 82 tokens)
   source/tests/cip/cipepathtest.cpp [358:35 - 365:5]

Clone found (cpp):
 - source/tests/cip/cipepathtest.cpp [410:41 - 415:12] (5 lines, 92 tokens)
   source/tests/cip/cipepathtest.cpp [398:39 - 403:2]

Clone found (c):
 - source/src/enet_encap/encap.c [262:14 - 285:34] (23 lines, 141 tokens)
   source/src/enet_encap/encap.c [167:7 - 190:33]

Clone found (c):
 - source/src/enet_encap/encap.c [705:2 - 728:25] (23 lines, 132 tokens)
   source/src/enet_encap/encap.c [652:2 - 675:34]

Clone found (c):
 - source/src/cip/cipstringi.c [106:2 - 113:12] (7 lines, 77 tokens)
   source/src/cip/cipstringi.c [97:2 - 104:11]

Clone found (c):
 - source/src/cip/cipstring.c [241:20 - 264:4] (23 lines, 111 tokens)
   source/src/cip/cipstring.c [177:15 - 192:10]

┌──────────┬────────────────┬─────────────┬──────────────┬──────────────┬──────────────────┬───────────────────┐
│ Format   │ Files analyzed │ Total lines │ Total tokens │ Clones found │ Duplicated lines │ Duplicated tokens │
├──────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ c        │ 51             │ 12515       │ 73235        │ 22           │ 1940 (15.5%)     │ 11148 (15.22%)    │
├──────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ c-header │ 56             │ 5815        │ 16178        │ 0            │ 0 (0%)           │ 0 (0%)            │
├──────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ markdown │ 20             │ 1025        │ 4648         │ 1            │ 14 (1.37%)       │ 111 (2.39%)       │
├──────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ latex    │ 1              │ 308         │ 3485         │ 0            │ 0 (0%)           │ 0 (0%)            │
├──────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ cpp      │ 15             │ 2667        │ 21028        │ 7            │ 49 (1.84%)       │ 604 (2.87%)       │
├──────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ diff     │ 1              │ 171         │ 975          │ 0            │ 0 (0%)           │ 0 (0%)            │
├──────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ python   │ 1              │ 37          │ 324          │ 0            │ 0 (0%)           │ 0 (0%)            │
├──────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ Total:   │ 145            │ 22538       │ 119873       │ 30           │ 2003 (8.89%)     │ 11863 (9.9%)      │
└──────────┴────────────────┴─────────────┴──────────────┴──────────────┴──────────────────┴───────────────────┘
Found 30 clones.
HTML report saved to megalinter-reports/copy-paste/html/
ERROR: jscpd found too many duplicates (8.89%) over threshold (0%)
Error: ERROR: jscpd found too many duplicates (8.89%) over threshold (0%)
    at ThresholdReporter.report (/node-deps/node_modules/@jscpd/finder/dist/index.js:612:13)
    at /node-deps/node_modules/@jscpd/finder/dist/index.js:110:18
    at Array.forEach (<anonymous>)
    at /node-deps/node_modules/@jscpd/finder/dist/index.js:109:22
    at async /node-deps/node_modules/jscpd/dist/jscpd.js:351:5
❌ SPELL / lychee - 1 error
Error: Cannot read input content from file `license.txt`

Caused by:
    stream did not contain valid UTF-8

See detailed reports in MegaLinter artifacts

Your project could benefit from a custom flavor, which would allow you to run only the linters you need, and thus improve runtime performances. (Skip this info by defining FLAVOR_SUGGESTIONS: false)

  • Documentation: Custom Flavors
  • Command: npx [email protected] --custom-flavor-setup --custom-flavor-linters ACTION_ACTIONLINT,C_CPPCHECK,C_CPPLINT,C_CLANG_FORMAT,COPYPASTE_JSCPD,CPP_CPPCHECK,CPP_CPPLINT,CPP_CLANG_FORMAT,MARKDOWN_MARKDOWNLINT,MARKDOWN_MARKDOWN_TABLE_FORMATTER,REPOSITORY_CHECKOV,REPOSITORY_GIT_DIFF,REPOSITORY_GITLEAKS,REPOSITORY_GRYPE,REPOSITORY_SECRETLINT,REPOSITORY_SYFT,REPOSITORY_TRIVY,REPOSITORY_TRIVY_SBOM,REPOSITORY_TRUFFLEHOG,SPELL_LYCHEE,XML_XMLLINT,YAML_PRETTIER,YAML_YAMLLINT,YAML_V8R

MegaLinter is graciously provided by OX Security

@github-actions
Copy link

github-actions bot commented Dec 1, 2025

📊 Coverage Report

------------------------------------------------------------------------------
                           GCC Code Coverage Report
Directory: .
------------------------------------------------------------------------------
File                                       Lines    Exec  Cover   Missing
------------------------------------------------------------------------------
source/src/cip/appcontype.c                  186       0     0%   93,98-99,101,103,106,108,112-113,115-116,119,121,125-126,128,130,133,135,138,140-143,146-148,150-153,155,158,165,172,174,178-179,182,185,188-194,196-197,199-202,204-205,207-209,211-212,214,216,219-220,229,232,234-239,241,243-245,247,250-255,258,260,262,266-271,279-280,283,286,288-289,291-294,296,298-300,302,306,312-317,320,322,324,328-333,341-342,345,347,349-352,354-356,360-361,363-365,368,373,375,377-380,382,384,386-387,390,394,396,401,405-413,417-418,421,423-429,431,433-434,436-439,442,447-448,452,455,458
source/src/cip/cipassembly.c                  75       0     0%   49,51,63-64,69,74-75,78,84-85,88-89,91-96,98,101,103,106-108,111,115,119-121,125-126,128,137,142,145,148,154-156,161,165,168,172-174,176-178,180-183,185-188,192-193,196,205,207,210,212,215,218-220,222,224,227,230-232,234,236
source/src/cip/cipclass3connection.c          35       0     0%   19-20,22-23,26,29,31,33-35,38,40,42,46,48,51,53,60-62,64,70-71,74,76,79-83,89,92-95
source/src/cip/cipcommon.c                   817      44     5%   45,47-58,63-64,81-82,84,87,89,91,93,95,98-99,101,108,111,114,118,120-122,124-125,127-128,131-133,139,144-145,149,151,157,159-160,162,165,168-172,175,177,180,182-185,189,192-193,197-198,201,204,208,212,216-217,222-225,228-229,233,235,238,241,243,245,250,252,254,256,259,262,269-270,272,275,277,279-281,284,287,290,302,304,316-318,322-324,326,328-329,332,336,339,342-348,357,360,362,364-366,368,371,374-376,379,382,384,386,390,393,395-396,402-403,406-407,409-410,412-413,418,423,425,428-429,434,436,441,443,449,451,459,466,471,473,478,480-481,483,489,495,502,509,512-513,515,518-525,527,529,531-533,535,537-538,540,542,548-549,553,557,562-563,566-567,569-570,572-573,575-576,578,580,584,587-588,590-591,593-594,598-599,601,603,605,607-609,611,620,623-628,631,638-639,643-644,646,649,652-656,659,664-666,670-672,676-679,684,692,694-695,712,714-715,732,734-735,737-739,741,743-744,746,748-749,751,753-754,756,758-759,761,763,765,767-772,774,776,778-781,783-784,786,788,791,793,796-797,799-800,802,805-806,808-809,811,813-818,820,822-825,827-829,831-833,835-837,839-841,843,845-846,849,851,853-860,862,864-866,868,870-874,876,879-884,886,893-894,896-897,899,902,906-907,913-916,920-922,926,928,936-939,942,944,949,952,955-957,960,963-965,968,972-974,976-979,981-984,988-989,991,993-994,997,1000-1002,1005,1008-1010,1013,1016-1018,1021,1024-1026,1029,1032-1034,1037,1040-1042,1045,1048-1050,1053,1056-1058,1061,1064-1066,1069,1072-1074,1077,1080-1082,1085,1088-1090,1093,1096-1098,1118-1119,1148,1150-1152,1154-1155,1157,1162,1168-1169,1171-1172,1177,1179-1182,1184,1186-1187,1189-1192,1195,1198,1200,1203,1206,1212-1213,1215-1219,1221-1222,1224-1226,1228,1231,1236-1238,1240-1243,1245,1247,1249-1250,1252,1254,1256,1259,1263,1265,1267,1270,1273-1278,1280,1283,1285-1286,1290,1293,1295,1299,1301,1303,1307,1309,1311,1313,1316,1319,1325,1331-1332,1334-1338,1340-1341,1343-1345,1347,1350,1355-1357,1359-1362,1364,1366,1368-1369,1371,1373,1375,1378,1382,1384,1386,1389,1392-1397,1399,1402,1404,1409,1412,1416-1420,1423-1424,1428,1430,1432,1436,1438,1440,1442,1445,1448,1454-1457,1459-1462,1464-1467,1470-1474,1476-1479,1482-1486,1488-1491,1497,1499,1501,1504-1506,1508-1509,1512-1514,1516-1517,1522-1524,1526-1528,1530,1532-1535,1537,1539-1541,1543,1545-1548,1550,1552-1554,1556,1558-1561,1563,1565-1567,1569-1571,1579-1581,1583,1586,1593-1594,1596-1600,1602,1604,1607-1608,1612-1615,1618-1619,1623,1625,1628,1635-1636,1638-1642,1644,1646,1649-1650,1654-1655,1658-1661,1663,1665-1668,1675-1676,1680,1682,1685,1688,1690,1693,1700-1701,1703-1707,1709,1711,1714-1715,1719,1721-1722,1726,1729-1730,1733-1737,1739-1741
source/src/cip/cipconnectionmanager.c        708       0     0%   176-177,179-184,186,188,206,208-209,213,216-217,219,224,226,231,233,240,247,254,259,261,266,269,273,277,279-280,282,294,297,301,305-306,310,312,316,320,325,327-328,333,336,343-344,350,353-354,356,361-363,366,368-369,371,376,378-379,381-382,384-385,421,427-429,431-432,452,458-459,461-462,481,487-488,490-491,508,514-515,517,520-521,523,530,532-533,541-542,546-548,551,554-555,559-560,562,567,570,602,607-608,641,646-647,653,658,660-661,665,667,670,674-677,680-681,688-689,696,699,701-704,713,718-719,723,728-729,732,734,736,742,748-749,753,758-759,761,764-769,771,773,775,778-780,782-786,789-793,800,802,808,811,820,826-830,832,835,841-843,845-846,849-850,853,856-858,860-861,863,867,870,872,874-875,877-878,881,884,891-893,895-896,899-904,911,914-916,918-919,921-925,930,932,934,936-937,939-940,943,946,950,953,955,958,961,964,967,970,973,976,979,981,983,985,988,991,994,997,1000,1002,1004,1006,1009,1011,1013,1016-1017,1019,1021,1023-1026,1028,1031,1035,1038-1040,1042-1043,1047-1048,1050,1053,1058-1059,1063,1066,1070,1072,1074-1075,1077,1079,1082-1083,1086-1087,1089,1094,1096-1097,1101,1104,1109,1111,1125,1131,1133-1134,1137,1139-1141,1144-1145,1147-1148,1150,1152-1155,1160,1162,1170-1171,1175-1176,1178-1179,1182-1189,1192-1197,1200-1203,1211,1213,1215,1218,1220,1222,1226,1230,1232,1240,1243,1246-1248,1267,1275,1277-1278,1281,1283-1285,1287-1288,1291-1292,1294-1295,1297-1298,1300-1301,1303-1305,1309,1311,1314-1315,1317-1319,1321-1322,1324,1329,1331,1333-1335,1337,1339-1342,1344,1349,1351,1353-1357,1360,1366,1370,1373-1374,1376,1379-1380,1383-1388,1390,1395-1398,1400,1404,1406,1411-1416,1418,1424-1428,1431,1433,1439,1441,1444,1447-1450,1455,1457-1458,1460-1461,1464,1466-1468,1471-1472,1474-1475,1478,1481-1483,1486,1488-1494,1497-1500,1503-1505,1507,1509,1522-1525,1528-1529,1531,1535,1541-1542,1545-1548,1550-1553,1558,1560-1564,1566-1567,1570,1573,1577,1579,1581,1583,1586,1588,1591,1593-1595,1598,1600,1602,1604-1605,1607,1610-1611,1614,1616-1617,1619,1623-1624,1626,1629,1634,1637,1643,1647,1650-1653,1655-1656,1660-1662,1664,1670-1672,1675,1678-1680,1682-1685,1689-1690,1692,1694,1696,1702-1704,1706,1708,1710-1714,1717-1719,1721,1724,1726,1728,1732-1733,1735,1738-1746,1748-1751,1756-1763,1767-1769,1771-1772,1775,1778,1783,1785,1788-1790,1793,1800,1803-1804,1807,1810,1812-1813,1816,1818,1820,1822,1825-1827,1829-1831,1833,1835-1840,1843,1846-1847,1849,1851-1856,1860,1862,1865,1868,1872-1873,1875-1876,1878-1879,1883,1886,1888,1890-1893,1896,1899,1901,1903-1909,1912-1914,1918,1920,1923,1926-1931,1933,1937,1939-1940,1942,1944-1945,1948-1950
source/src/cip/cipconnectionobject.c         385     230    59%   61-62,67-71,77-81,86,88,107,109,111-112,167,180,248-249,271,274-275,294-296,398,400,403,406-407,409,411,414,417-418,425,427-428,430,432,435,437,467,478,480,482,484,502,505,508-510,512-514,516-518,520-522,524-526,528,530,532,534,537,540,542,544,546,549,552,554,556,558,561,564-565,579,581,583-584,586,588,590-591,593,611,621,631,633,635,641,651,653-654,656,672,684,696,714-715,738-739,744,773-774,818-819,851-852,872,875-876,878,880-885,887,889-891,893,895-896,898-899,903,907-908,912,916,918,923,925-926,928,930,933,938,940,942,945,950,953-954
source/src/cip/cipdlr.c                       30       0     0%   95,98,100-101,103,105,107-109,111,116-117,119,132,137,139,143,145,152,159,166,173,180,187,194,203,210,217,229,231
source/src/cip/cipelectronickey.c             47      47   100%
source/src/cip/cipepath.c                    297     270    90%   88-90,230-232,276-278,329-330,530,532-535,633,635,637-638,640-641,643,697,701,704-705
source/src/cip/cipethernetlink.c              58       0     0%   198-199,222-223,226,228-229,235-236,246,248,252,272-274,276,283,290,313,320,349,357,364,371,378,385,400-402,406,409,412,424,427,429,432,444,447,449,456,458,460-462,465,467-473,475,477-480,484
source/src/cip/cipidentity.c                 106       0     0%   61-64,67-69,72-74,77-79,82-85,88-90,93-94,98-99,102,106-107,110-112,116,118,120,131-134,144-147,157,159-162,170,174,176,178-179,181,183-184,186-189,193-195,203-205,208,211-212,214,219,221,226,228,235,242,249,254,256,261,264,268,274-275,277,279-282,284-285,299,303-304,306-307,314,321,328,335,342,349,357,359-361,363,366
source/src/cip/cipioconnection.c             432       0     0%   86-88,90-91,94-96,98-99,102,104-105,107-108,111,113,118-120,130-134,136,138,141-145,147-148,154,156-157,160-165,168-169,172,174-175,178,180-182,190,193-194,196-199,201,203,206-207,210-211,215,217,221,223,227-228,233,237-244,246,248-253,256-257,259,261-262,264,266-268,289,292,294-296,300,302,306,308,310-313,316,321-324,329,331,333,338,340,342,347,349-350,355-358,361-363,365,368,370,374,376-377,380,392,395,398,405,407,409-411,417-419,421-422,424-426,428-430,432,435,440,442-444,446-448,452-454,456-458,464-465,467,470,474-476,478,481,488-491,494,496,499,504-505,510-511,515-517,520,524,526-531,533,543,547,549-550,552-553,555-557,559,562,565-567,569,572,576-577,582,593-594,597-603,606-607,614-620,622-624,629-630,633,635,637-638,640,642,644,650-654,656-659,662-664,666-667,674,677,686-687,690,695,702-703,705-707,711-714,717-718,720-725,727,731-735,737-738,740,743,745,747,751,753,756-757,763,765,768-773,775-776,778,780-782,786,788,790,794,797,800-801,809-812,814-815,819-820,822,827,834,837-839,842,844-846,848,850,852-853,855,857-859,862,864,868-869,871-873,875-877,879-881,884-885,887-888,890,893,897-898,901-903,905-907,909,912,915-916,918-919,921-922,924,926-927,930-931,933-938,940,943-944,946-947,949,953,963-965,969,972-973,975-976,980,984,990,994,1001,1005,1010,1014,1023,1025-1027,1031-1033,1037-1038,1041-1042
source/src/cip/cipmessagerouter.c            122       0     0%   54-55,57,62,64,69,71,78,85,92,97,99,104,107,111,115,117-119,131,134,140,150-151,154,156-158,160,165-167,169-170,176,178,183-184,186-187,194-195,197-198,202,205,208-209,211,214,219-220,222-224,229-234,237-239,243-244,249-252,257-258,261-262,285,288,292-294,296-297,299,303,306-309,313-314,316-318,320-322,324-329,331,333,337-344,347-354,356,358-359
source/src/cip/cipqos.c                       55       0     0%   69,73,75,77-80,82-83,86,90,93,96-111,113-114,116,119-120,122-123,138,142,149,156,163,170,177,184,191,199,203,208,211-213,215-216,224-226
source/src/cip/cipstring.c                   124     109    87%   68-70,272,275-276,278,281-284,286,288-289,291
source/src/cip/cipstringi.c                  229       0     0%   16-40,42,44-47,49-67,69,76-85,92,94-134,136,138-151,153,155,158,160-161,163-164,166-176,178-183,185-186,188,190-195,197-205,207-213,215-218,220-224,227,229,232,234-236,238-245,248-257,259-261,265,267-269,271-278,281-290,292-294,298-299
source/src/cip/ciptcpipinterface.c            94       0     0%   328,330,332,334,336,338,340,342,344,346,349,351-352,354,357-358,360-361,363,366,368-369,371,374,376,378-379,381,383,389,391-393,395,399,402-404,407,515,523,525-526,528-529,531-533,536,539-540,542-543,558,562,569,576,583,609,616,627,634,641,648,655,662,669,677,682,685,690,693,695-697,700-702,704,712,714,718-721,723-725,727-732
source/src/cip/ciptypes.c                     26       0     0%   13-14,16,31,34,42-43,45,50-51,53-55,57,60-61,66-68,73-75,80-83
source/src/enet_encap/cpf.c                  281      38    13%   62,64,66,69-71,75-76,79,82-85,87,91-92,98-99,101,104,120,124-126,129,132,134,139-140,142,144,147,149-151,156-157,160-161,163-164,166,168,170,173,175,177,181,183-185,187,190,192-196,200-201,204,206-209,211,214-215,218,234,238-239,241,271-273,276-278,282-288,294-295,297-298,300-301,304-307,310-320,322,324,326,343-344,358-359,361-362,370,375-378,380,389,394-397,399-400,402,411,414,416,425,428,430,439,442,444,453,456-461,463,473,476-477,479,481,489,492-493,495,504,507-508,516,519-520,528,531-532,541,544,546,554,557,559-560,563,576,579-581,590,593-594,596,598,606,609-611,613-615,617,627,631-633,635,645,649-650,652,654,658,661-662,665,668,670-671,673-674,676,678-679,681,689-690,693-694,696,698,700,704,709-710,712-714,717,719,721,731-734,736,739,742-744,747,749,756,759-760
source/src/enet_encap/encap.c                360     110    30%   126-127,131,134-135,138-140,145-148,150,153,155,161-163,167-168,170-171,174-176,179-180,182,187-188,190,197-199,201,204-205,207,209-211,213,215-217,219,221-223,225,227-229,231,233-235,237,240,242,250,257-258,262-263,265-266,269-271,274-275,277,282-283,285-288,290,292-295,298,301,305-307,309,329,331-332,405,408-409,411,415-416,418-421,423-425,429-431,435,438,440,503,506-508,510,512,518-519,568-569,572-573,576-578,582-584,590,592-594,596-597,619,622-623,625-630,635,640,648,652-653,657,661-662,665,669,672-673,676,679-680,682,685,690,732-733,735,738,746,750,752,755,762-767,834,836-837,839-842,844-851,854-855,857-863,866-867,869-874,877,879-884,886,888,893,895,899,901,903-907,910-911,915-916,918-920,924,926-929,935,937-943,945,947,949
source/src/enet_encap/endianconv.c           131     114    87%   52-56,207-208,210-211,213-216,219,222,251-252
source/src/ports/generic_networkhandler.c
                                             475       0     0%   129-130,134,136,138,141-142,144,147-148,151-154,158-160,163,166,177,185-188,193-195,199-202,207-209,213-214,225,234-235,246,253,255-256,259,262-263,267-269,272,275-276,280-282,286,288-290,295-296,300,302-303,306-307,312-313,318-320,323,326-327,332-334,338,340-342,348-349,356,358-360,364-365,370-372,376-378,382-384,387-388,393-394,396,399-402,404-409,411-415,417,419,421-425,427,429,432,435-436,438-439,441-444,447-449,452,454,464,466,468-470,474,478-479,481-483,485,488-489,491-492,497-498,501-503,507-511,513-514,516,518-519,525-526,532-534,541,544,547-549,553,558-562,565,567-569,573,576-577,584-586,591-593,596,598-602,613-614,616-617,621,631,634,636,641,643-645,648,651-652,659-661,665-667,670,672-677,685-686,688-689,693,701,704,706,711,721-723,727-729,733-735,738,750-753,763,765-766,771,773,775-778,780-782,785,787-789,792,794-795,798,801,804,807-809,811,814-815,821-824,826-829,834-836,838-840,842-844,847-848,850,852-853,858-862,864-867,871-873,876,878,880,882,884-889,892-893,896-898,904-905,908,910,913,916,919,921,925-926,930,934,950,952,954-956,959-961,964,967-970,974,976-977,983-985,990-992,994,997-998,1001-1004,1008,1010,1012-1013,1021-1023,1025-1026,1029-1030,1038-1039,1041,1046-1047,1052-1054,1059-1060,1065-1066,1071-1073,1081-1083,1085,1088-1089,1092-1094,1096,1099-1100,1102,1105-1107,1110,1112,1114,1116-1119,1121,1127-1129,1136-1138,1140,1143-1146,1148,1151-1153,1155,1158,1164-1165,1167-1169,1171-1172,1174-1175,1179,1183,1190-1192,1194,1200-1202,1204-1207,1209,1211-1212,1216,1218-1221,1223,1226
source/src/ports/nvdata/conffile.c            32       0     0%   59-64,66-68,72-73,75,77-78,80-84,92,111-113,115-117,130-133,135-136
source/src/ports/nvdata/nvdata.c              22       0     0%   37,39-42,45,63,67,71,74,76,80-81,83,99,104,107,109,111,115-116,119
source/src/ports/nvdata/nvqos.c               37       0     0%   31-33,43-47,49-50,57,71,73,79-81,86-91,96,104-107,109,112-117,121-122,124
source/src/ports/nvdata/nvtcpip.c             17       0     0%   27,29,31,33-34,37,39,45,49,57,59,61-62,65,67,70-71
source/src/ports/POSIX/networkconfig.c       171       0     0%   27,29-31,33-35,37,39-41,43,45-46,49,52,54-58,60-62,66-70,72-73,76-77,79-80,83-84,86,88,91,93,95-97,99,102-105,107-108,110-114,121-122,124-125,127-131,133,136-137,139,152,154-157,159-170,172,175-177,184-188,190-191,193,200,203-206,211-215,217-219,230,232-233,236-239,241-245,247,250,252-253,255,257-259,261-263,266,269-270,272,277,280-281,283-286,288-290,294-295,297-299,301-302,304-305,308-309,311-312,314-315,318,321-322,324-327,329
source/src/ports/POSIX/networkhandler.c       27       0     0%   22-23,25-29,32-33,36,38,41-44,48-49,51,53-55,57-59,62,66-67
source/src/ports/POSIX/opener_error.c          9       0     0%   26-27,30-33,36-38
source/src/ports/POSIX/sample_application/sampleapplication.c
                                              51       0     0%   40,43,48,53,58,61,64,68,72,76,85,87,118,121,123,125,130-133,135-136,139,143,146,164,167,174,177-178,181,183-185,188,190-191,193-194,197-198,201-203,205-208,210,213-214
source/src/ports/socket_timer.c               25      24    96%   46
source/src/utils/doublylinkedlist.c           86      83    96%   48,127,130
source/src/utils/enipmessage.c                 4       4   100%
source/src/utils/random.c                      8       8   100%
source/src/utils/xorshiftrandom.c             13      12    92%   24
source/tests/callback_mock.cpp                31       8    25%   12-14,17-19,21,24-25,27-29,32-33,36-38,41-43,64-66
source/tests/cip/cipcommontests.cpp          107     107   100%
source/tests/cip/cipconnectionobjecttest.cpp
                                             382     382   100%
source/tests/cip/cipelectronickeyformattest.cpp
                                             125     125   100%
source/tests/cip/cipelectronickeytest.cpp
                                              24      24   100%
source/tests/cip/cipepathtest.cpp            633     633   100%
source/tests/cip/cipstringtests.cpp          207     207   100%
source/tests/enet_encap/encaptest.cpp         52      52   100%
source/tests/enet_encap/endianconvtest.cpp
                                             167     167   100%
source/tests/OpENerTests.cpp                  29      11    37%   64,71-73,76,78,84-85,87-88,90-94,96,100,108
source/tests/ports/socket_timer_tests.cpp
                                              31      31   100%
source/tests/utils/doublylinkedlistTests.cpp
                                             247     247   100%
source/tests/utils/randomTests.cpp             9       9   100%
source/tests/utils/xorshiftrandomtests.cpp
                                              13      13   100%
------------------------------------------------------------------------------
TOTAL                                       7632    3109    40%
------------------------------------------------------------------------------
lines: 40.7% (3109 out of 7632)
functions: 63.4% (630 out of 994)
branches: 17.7% (1100 out of 6232)

Download the detailed HTML report from the artifacts.

@github-actions
Copy link

github-actions bot commented Dec 1, 2025

📊 Coverage Report

------------------------------------------------------------------------------
                           GCC Code Coverage Report
Directory: .
------------------------------------------------------------------------------
File                                       Lines    Exec  Cover   Missing
------------------------------------------------------------------------------
source/src/cip/appcontype.c                  186       0     0%   93,98-99,101,103,106,108,112-113,115-116,119,121,125-126,128,130,133,135,138,140-143,146-148,150-153,155,158,165,172,174,178-179,182,185,188-194,196-197,199-202,204-205,207-209,211-212,214,216,219-220,229,232,234-239,241,243-245,247,250-255,258,260,262,266-271,279-280,283,286,288-289,291-294,296,298-300,302,306,312-317,320,322,324,328-333,341-342,345,347,349-352,354-356,360-361,363-365,368,373,375,377-380,382,384,386-387,390,394,396,401,405-413,417-418,421,423-429,431,433-434,436-439,442,447-448,452,455,458
source/src/cip/cipassembly.c                  75       0     0%   49,51,63-64,69,74-75,78,84-85,88-89,91-96,98,101,103,106-108,111,115,119-121,125-126,128,137,142,145,148,154-156,161,165,168,172-174,176-178,180-183,185-188,192-193,196,205,207,210,212,215,218-220,222,224,227,230-232,234,236
source/src/cip/cipclass3connection.c          35       0     0%   19-20,22-23,26,29,31,33-35,38,40,42,46,48,51,53,60-62,64,70-71,74,76,79-83,89,92-95
source/src/cip/cipcommon.c                   817      44     5%   45,47-58,63-64,81-82,84,87,89,91,93,95,98-99,101,108,111,114,118,120-122,124-125,127-128,131-133,139,144-145,149,151,157,159-160,162,165,168-172,175,177,180,182-185,189,192-193,197-198,201,204,208,212,216-217,222-225,228-229,233,235,238,241,243,245,250,252,254,256,259,262,269-270,272,275,277,279-281,284,287,290,302,304,316-318,322-324,326,328-329,332,336,339,342-348,357,360,362,364-366,368,371,374-376,379,382,384,386,390,393,395-396,402-403,406-407,409-410,412-413,418,423,425,428-429,434,436,441,443,449,451,459,466,471,473,478,480-481,483,489,495,502,509,512-513,515,518-525,527,529,531-533,535,537-538,540,542,548-549,553,557,562-563,566-567,569-570,572-573,575-576,578,580,584,587-588,590-591,593-594,598-599,601,603,605,607-609,611,620,623-628,631,638-639,643-644,646,649,652-656,659,664-666,670-672,676-679,684,692,694-695,712,714-715,732,734-735,737-739,741,743-744,746,748-749,751,753-754,756,758-759,761,763,765,767-772,774,776,778-781,783-784,786,788,791,793,796-797,799-800,802,805-806,808-809,811,813-818,820,822-825,827-829,831-833,835-837,839-841,843,845-846,849,851,853-860,862,864-866,868,870-874,876,879-884,886,893-894,896-897,899,902,906-907,913-916,920-922,926,928,936-939,942,944,949,952,955-957,960,963-965,968,972-974,976-979,981-984,988-989,991,993-994,997,1000-1002,1005,1008-1010,1013,1016-1018,1021,1024-1026,1029,1032-1034,1037,1040-1042,1045,1048-1050,1053,1056-1058,1061,1064-1066,1069,1072-1074,1077,1080-1082,1085,1088-1090,1093,1096-1098,1118-1119,1148,1150-1152,1154-1155,1157,1162,1168-1169,1171-1172,1177,1179-1182,1184,1186-1187,1189-1192,1195,1198,1200,1203,1206,1212-1213,1215-1219,1221-1222,1224-1226,1228,1231,1236-1238,1240-1243,1245,1247,1249-1250,1252,1254,1256,1259,1263,1265,1267,1270,1273-1278,1280,1283,1285-1286,1290,1293,1295,1299,1301,1303,1307,1309,1311,1313,1316,1319,1325,1331-1332,1334-1338,1340-1341,1343-1345,1347,1350,1355-1357,1359-1362,1364,1366,1368-1369,1371,1373,1375,1378,1382,1384,1386,1389,1392-1397,1399,1402,1404,1409,1412,1416-1420,1423-1424,1428,1430,1432,1436,1438,1440,1442,1445,1448,1454-1457,1459-1462,1464-1467,1470-1474,1476-1479,1482-1486,1488-1491,1497,1499,1501,1504-1506,1508-1509,1512-1514,1516-1517,1522-1524,1526-1528,1530,1532-1535,1537,1539-1541,1543,1545-1548,1550,1552-1554,1556,1558-1561,1563,1565-1567,1569-1571,1579-1581,1583,1586,1593-1594,1596-1600,1602,1604,1607-1608,1612-1615,1618-1619,1623,1625,1628,1635-1636,1638-1642,1644,1646,1649-1650,1654-1655,1658-1661,1663,1665-1668,1675-1676,1680,1682,1685,1688,1690,1693,1700-1701,1703-1707,1709,1711,1714-1715,1719,1721-1722,1726,1729-1730,1733-1737,1739-1741
source/src/cip/cipconnectionmanager.c        708       0     0%   176-177,179-184,186,188,206,208-209,213,216-217,219,224,226,231,233,240,247,254,259,261,266,269,273,277,279-280,282,294,297,301,305-306,310,312,316,320,325,327-328,333,336,343-344,350,353-354,356,361-363,366,368-369,371,376,378-379,381-382,384-385,421,427-429,431-432,452,458-459,461-462,481,487-488,490-491,508,514-515,517,520-521,523,530,532-533,541-542,546-548,551,554-555,559-560,562,567,570,602,607-608,641,646-647,653,658,660-661,665,667,670,674-677,680-681,688-689,696,699,701-704,713,718-719,723,728-729,732,734,736,742,748-749,753,758-759,761,764-769,771,773,775,778-780,782-786,789-793,800,802,808,811,820,826-830,832,835,841-843,845-846,849-850,853,856-858,860-861,863,867,870,872,874-875,877-878,881,884,891-893,895-896,899-904,911,914-916,918-919,921-925,930,932,934,936-937,939-940,943,946,950,953,955,958,961,964,967,970,973,976,979,981,983,985,988,991,994,997,1000,1002,1004,1006,1009,1011,1013,1016-1017,1019,1021,1023-1026,1028,1031,1035,1038-1040,1042-1043,1047-1048,1050,1053,1058-1059,1063,1066,1070,1072,1074-1075,1077,1079,1082-1083,1086-1087,1089,1094,1096-1097,1101,1104,1109,1111,1125,1131,1133-1134,1137,1139-1141,1144-1145,1147-1148,1150,1152-1155,1160,1162,1170-1171,1175-1176,1178-1179,1182-1189,1192-1197,1200-1203,1211,1213,1215,1218,1220,1222,1226,1230,1232,1240,1243,1246-1248,1267,1275,1277-1278,1281,1283-1285,1287-1288,1291-1292,1294-1295,1297-1298,1300-1301,1303-1305,1309,1311,1314-1315,1317-1319,1321-1322,1324,1329,1331,1333-1335,1337,1339-1342,1344,1349,1351,1353-1357,1360,1366,1370,1373-1374,1376,1379-1380,1383-1388,1390,1395-1398,1400,1404,1406,1411-1416,1418,1424-1428,1431,1433,1439,1441,1444,1447-1450,1455,1457-1458,1460-1461,1464,1466-1468,1471-1472,1474-1475,1478,1481-1483,1486,1488-1494,1497-1500,1503-1505,1507,1509,1522-1525,1528-1529,1531,1535,1541-1542,1545-1548,1550-1553,1558,1560-1564,1566-1567,1570,1573,1577,1579,1581,1583,1586,1588,1591,1593-1595,1598,1600,1602,1604-1605,1607,1610-1611,1614,1616-1617,1619,1623-1624,1626,1629,1634,1637,1643,1647,1650-1653,1655-1656,1660-1662,1664,1670-1672,1675,1678-1680,1682-1685,1689-1690,1692,1694,1696,1702-1704,1706,1708,1710-1714,1717-1719,1721,1724,1726,1728,1732-1733,1735,1738-1746,1748-1751,1756-1763,1767-1769,1771-1772,1775,1778,1783,1785,1788-1790,1793,1800,1803-1804,1807,1810,1812-1813,1816,1818,1820,1822,1825-1827,1829-1831,1833,1835-1840,1843,1846-1847,1849,1851-1856,1860,1862,1865,1868,1872-1873,1875-1876,1878-1879,1883,1886,1888,1890-1893,1896,1899,1901,1903-1909,1912-1914,1918,1920,1923,1926-1931,1933,1937,1939-1940,1942,1944-1945,1948-1950
source/src/cip/cipconnectionobject.c         385     230    59%   61-62,67-71,77-81,86,88,107,109,111-112,167,180,248-249,271,274-275,294-296,398,400,403,406-407,409,411,414,417-418,425,427-428,430,432,435,437,467,478,480,482,484,502,505,508-510,512-514,516-518,520-522,524-526,528,530,532,534,537,540,542,544,546,549,552,554,556,558,561,564-565,579,581,583-584,586,588,590-591,593,611,621,631,633,635,641,651,653-654,656,672,684,696,714-715,738-739,744,773-774,818-819,851-852,872,875-876,878,880-885,887,889-891,893,895-896,898-899,903,907-908,912,916,918,923,925-926,928,930,933,938,940,942,945,950,953-954
source/src/cip/cipdlr.c                       30       0     0%   95,98,100-101,103,105,107-109,111,116-117,119,132,137,139,143,145,152,159,166,173,180,187,194,203,210,217,229,231
source/src/cip/cipelectronickey.c             47      47   100%
source/src/cip/cipepath.c                    297     270    90%   88-90,230-232,276-278,329-330,530,532-535,633,635,637-638,640-641,643,697,701,704-705
source/src/cip/cipethernetlink.c              58       0     0%   198-199,222-223,226,228-229,235-236,246,248,252,272-274,276,283,290,313,320,349,357,364,371,378,385,400-402,406,409,412,424,427,429,432,444,447,449,456,458,460-462,465,467-473,475,477-480,484
source/src/cip/cipidentity.c                 106       0     0%   61-64,67-69,72-74,77-79,82-85,88-90,93-94,98-99,102,106-107,110-112,116,118,120,131-134,144-147,157,159-162,170,174,176,178-179,181,183-184,186-189,193-195,203-205,208,211-212,214,219,221,226,228,235,242,249,254,256,261,264,268,274-275,277,279-282,284-285,299,303-304,306-307,314,321,328,335,342,349,357,359-361,363,366
source/src/cip/cipioconnection.c             432       0     0%   86-88,90-91,94-96,98-99,102,104-105,107-108,111,113,118-120,130-134,136,138,141-145,147-148,154,156-157,160-165,168-169,172,174-175,178,180-182,190,193-194,196-199,201,203,206-207,210-211,215,217,221,223,227-228,233,237-244,246,248-253,256-257,259,261-262,264,266-268,289,292,294-296,300,302,306,308,310-313,316,321-324,329,331,333,338,340,342,347,349-350,355-358,361-363,365,368,370,374,376-377,380,392,395,398,405,407,409-411,417-419,421-422,424-426,428-430,432,435,440,442-444,446-448,452-454,456-458,464-465,467,470,474-476,478,481,488-491,494,496,499,504-505,510-511,515-517,520,524,526-531,533,543,547,549-550,552-553,555-557,559,562,565-567,569,572,576-577,582,593-594,597-603,606-607,614-620,622-624,629-630,633,635,637-638,640,642,644,650-654,656-659,662-664,666-667,674,677,686-687,690,695,702-703,705-707,711-714,717-718,720-725,727,731-735,737-738,740,743,745,747,751,753,756-757,763,765,768-773,775-776,778,780-782,786,788,790,794,797,800-801,809-812,814-815,819-820,822,827,834,837-839,842,844-846,848,850,852-853,855,857-859,862,864,868-869,871-873,875-877,879-881,884-885,887-888,890,893,897-898,901-903,905-907,909,912,915-916,918-919,921-922,924,926-927,930-931,933-938,940,943-944,946-947,949,953,963-965,969,972-973,975-976,980,984,990,994,1001,1005,1010,1014,1023,1025-1027,1031-1033,1037-1038,1041-1042
source/src/cip/cipmessagerouter.c            122       0     0%   54-55,57,62,64,69,71,78,85,92,97,99,104,107,111,115,117-119,131,134,140,150-151,154,156-158,160,165-167,169-170,176,178,183-184,186-187,194-195,197-198,202,205,208-209,211,214,219-220,222-224,229-234,237-239,243-244,249-252,257-258,261-262,285,288,292-294,296-297,299,303,306-309,313-314,316-318,320-322,324-329,331,333,337-344,347-354,356,358-359
source/src/cip/cipqos.c                       55       0     0%   69,73,75,77-80,82-83,86,90,93,96-111,113-114,116,119-120,122-123,138,142,149,156,163,170,177,184,191,199,203,208,211-213,215-216,224-226
source/src/cip/cipstring.c                   124     109    87%   68-70,272,275-276,278,281-284,286,288-289,291
source/src/cip/cipstringi.c                  229       0     0%   16-40,42,44-47,49-67,69,76-85,92,94-134,136,138-151,153,155,158,160-161,163-164,166-176,178-183,185-186,188,190-195,197-205,207-213,215-218,220-224,227,229,232,234-236,238-245,248-257,259-261,265,267-269,271-278,281-290,292-294,298-299
source/src/cip/ciptcpipinterface.c            94       0     0%   328,330,332,334,336,338,340,342,344,346,349,351-352,354,357-358,360-361,363,366,368-369,371,374,376,378-379,381,383,389,391-393,395,399,402-404,407,515,523,525-526,528-529,531-533,536,539-540,542-543,558,562,569,576,583,609,616,627,634,641,648,655,662,669,677,682,685,690,693,695-697,700-702,704,712,714,718-721,723-725,727-732
source/src/cip/ciptypes.c                     26       0     0%   13-14,16,31,34,42-43,45,50-51,53-55,57,60-61,66-68,73-75,80-83
source/src/enet_encap/cpf.c                  281      38    13%   62,64,66,69-71,75-76,79,82-85,87,91-92,98-99,101,104,120,124-126,129,132,134,139-140,142,144,147,149-151,156-157,160-161,163-164,166,168,170,173,175,177,181,183-185,187,190,192-196,200-201,204,206-209,211,214-215,218,234,238-239,241,271-273,276-278,282-288,294-295,297-298,300-301,304-307,310-320,322,324,326,343-344,358-359,361-362,370,375-378,380,389,394-397,399-400,402,411,414,416,425,428,430,439,442,444,453,456-461,463,473,476-477,479,481,489,492-493,495,504,507-508,516,519-520,528,531-532,541,544,546,554,557,559-560,563,576,579-581,590,593-594,596,598,606,609-611,613-615,617,627,631-633,635,645,649-650,652,654,658,661-662,665,668,670-671,673-674,676,678-679,681,689-690,693-694,696,698,700,704,709-710,712-714,717,719,721,731-734,736,739,742-744,747,749,756,759-760
source/src/enet_encap/encap.c                360     110    30%   126-127,131,134-135,138-140,145-148,150,153,155,161-163,167-168,170-171,174-176,179-180,182,187-188,190,197-199,201,204-205,207,209-211,213,215-217,219,221-223,225,227-229,231,233-235,237,240,242,250,257-258,262-263,265-266,269-271,274-275,277,282-283,285-288,290,292-295,298,301,305-307,309,329,331-332,405,408-409,411,415-416,418-421,423-425,429-431,435,438,440,503,506-508,510,512,518-519,568-569,572-573,576-578,582-584,590,592-594,596-597,619,622-623,625-630,635,640,648,652-653,657,661-662,665,669,672-673,676,679-680,682,685,690,732-733,735,738,746,750,752,755,762-767,834,836-837,839-842,844-851,854-855,857-863,866-867,869-874,877,879-884,886,888,893,895,899,901,903-907,910-911,915-916,918-920,924,926-929,935,937-943,945,947,949
source/src/enet_encap/endianconv.c           131     114    87%   52-56,207-208,210-211,213-216,219,222,251-252
source/src/ports/generic_networkhandler.c
                                             475       0     0%   129-130,134,136,138,141-142,144,147-148,151-154,158-160,163,166,177,185-188,193-195,199-202,207-209,213-214,225,234-235,246,253,255-256,259,262-263,267-269,272,275-276,280-282,286,288-290,295-296,300,302-303,306-307,312-313,318-320,323,326-327,332-334,338,340-342,348-349,356,358-360,364-365,370-372,376-378,382-384,387-388,393-394,396,399-402,404-409,411-415,417,419,421-425,427,429,432,435-436,438-439,441-444,447-449,452,454,464,466,468-470,474,478-479,481-483,485,488-489,491-492,497-498,501-503,507-511,513-514,516,518-519,525-526,532-534,541,544,547-549,553,558-562,565,567-569,573,576-577,584-586,591-593,596,598-602,613-614,616-617,621,631,634,636,641,643-645,648,651-652,659-661,665-667,670,672-677,685-686,688-689,693,701,704,706,711,721-723,727-729,733-735,738,750-753,763,765-766,771,773,775-778,780-782,785,787-789,792,794-795,798,801,804,807-809,811,814-815,821-824,826-829,834-836,838-840,842-844,847-848,850,852-853,858-862,864-867,871-873,876,878,880,882,884-889,892-893,896-898,904-905,908,910,913,916,919,921,925-926,930,934,950,952,954-956,959-961,964,967-970,974,976-977,983-985,990-992,994,997-998,1001-1004,1008,1010,1012-1013,1021-1023,1025-1026,1029-1030,1038-1039,1041,1046-1047,1052-1054,1059-1060,1065-1066,1071-1073,1081-1083,1085,1088-1089,1092-1094,1096,1099-1100,1102,1105-1107,1110,1112,1114,1116-1119,1121,1127-1129,1136-1138,1140,1143-1146,1148,1151-1153,1155,1158,1164-1165,1167-1169,1171-1172,1174-1175,1179,1183,1190-1192,1194,1200-1202,1204-1207,1209,1211-1212,1216,1218-1221,1223,1226
source/src/ports/nvdata/conffile.c            32       0     0%   59-64,66-68,72-73,75,77-78,80-84,92,111-113,115-117,130-133,135-136
source/src/ports/nvdata/nvdata.c              22       0     0%   37,39-42,45,63,67,71,74,76,80-81,83,99,104,107,109,111,115-116,119
source/src/ports/nvdata/nvqos.c               37       0     0%   31-33,43-47,49-50,57,71,73,79-81,86-91,96,104-107,109,112-117,121-122,124
source/src/ports/nvdata/nvtcpip.c             17       0     0%   27,29,31,33-34,37,39,45,49,57,59,61-62,65,67,70-71
source/src/ports/POSIX/networkconfig.c       171       0     0%   27,29-31,33-35,37,39-41,43,45-46,49,52,54-58,60-62,66-70,72-73,76-77,79-80,83-84,86,88,91,93,95-97,99,102-105,107-108,110-114,121-122,124-125,127-131,133,136-137,139,152,154-157,159-170,172,175-177,184-188,190-191,193,200,203-206,211-215,217-219,230,232-233,236-239,241-245,247,250,252-253,255,257-259,261-263,266,269-270,272,277,280-281,283-286,288-290,294-295,297-299,301-302,304-305,308-309,311-312,314-315,318,321-322,324-327,329
source/src/ports/POSIX/networkhandler.c       27       0     0%   22-23,25-29,32-33,36,38,41-44,48-49,51,53-55,57-59,62,66-67
source/src/ports/POSIX/opener_error.c          9       0     0%   26-27,30-33,36-38
source/src/ports/POSIX/sample_application/sampleapplication.c
                                              51       0     0%   40,43,48,53,58,61,64,68,72,76,85,87,118,121,123,125,130-133,135-136,139,143,146,164,167,174,177-178,181,183-185,188,190-191,193-194,197-198,201-203,205-208,210,213-214
source/src/ports/socket_timer.c               25      24    96%   46
source/src/utils/doublylinkedlist.c           86      83    96%   48,127,130
source/src/utils/enipmessage.c                 4       4   100%
source/src/utils/random.c                      8       8   100%
source/src/utils/xorshiftrandom.c             13      12    92%   24
source/tests/callback_mock.cpp                31       8    25%   12-14,17-19,21,24-25,27-29,32-33,36-38,41-43,64-66
source/tests/cip/cipcommontests.cpp          107     107   100%
source/tests/cip/cipconnectionobjecttest.cpp
                                             382     382   100%
source/tests/cip/cipelectronickeyformattest.cpp
                                             125     125   100%
source/tests/cip/cipelectronickeytest.cpp
                                              24      24   100%
source/tests/cip/cipepathtest.cpp            633     633   100%
source/tests/cip/cipstringtests.cpp          207     207   100%
source/tests/enet_encap/encaptest.cpp         52      52   100%
source/tests/enet_encap/endianconvtest.cpp
                                             167     167   100%
source/tests/OpENerTests.cpp                  29      11    37%   64,71-73,76,78,84-85,87-88,90-94,96,100,108
source/tests/ports/socket_timer_tests.cpp
                                              31      31   100%
source/tests/utils/doublylinkedlistTests.cpp
                                             247     247   100%
source/tests/utils/randomTests.cpp             9       9   100%
source/tests/utils/xorshiftrandomtests.cpp
                                              13      13   100%
------------------------------------------------------------------------------
TOTAL                                       7632    3109    40%
------------------------------------------------------------------------------
lines: 40.7% (3109 out of 7632)
functions: 63.4% (630 out of 994)
branches: 17.7% (1100 out of 6232)

Download the detailed HTML report from the artifacts.

@github-actions
Copy link

github-actions bot commented Dec 3, 2025

MegaLinter analysis: Error

Descriptor Linter Files Fixed Errors Warnings Elapsed time
✅ ACTION actionlint 2 0 0 0.41s
✅ BASH bash-exec 2 0 0 0.01s
✅ BASH shellcheck 2 0 0 0.11s
✅ BASH shfmt 2 2 0 0 0.05s
✅ C clang-format 113 2 0 0 0.83s
✅ C cppcheck 113 0 0 8.54s
✅ C cpplint 113 0 0 9.49s
❌ COPYPASTE jscpd yes 3 no 3.26s
✅ CPP clang-format 75 1 0 0 0.44s
✅ CPP cppcheck 75 0 0 2.14s
❌ CPP cpplint 75 89 0 4.94s
✅ MARKDOWN markdownlint 5 1 0 0 0.87s
✅ MARKDOWN markdown-table-formatter 5 3 0 0 0.24s
✅ REPOSITORY checkov yes no no 17.57s
✅ REPOSITORY gitleaks yes no no 2.24s
✅ REPOSITORY git_diff yes no no 0.02s
✅ REPOSITORY grype yes no no 26.96s
✅ REPOSITORY secretlint yes no no 1.07s
✅ REPOSITORY syft yes no no 0.98s
✅ REPOSITORY trivy yes no no 7.05s
✅ REPOSITORY trivy-sbom yes no no 0.09s
✅ REPOSITORY trufflehog yes no no 2.27s
❌ SPELL lychee 20 1 0 2.12s
✅ YAML prettier 5 2 0 0 0.53s
✅ YAML v8r 5 0 0 6.66s
✅ YAML yamllint 5 0 0 0.48s

Detailed Issues

❌ CPP / cpplint - 89 errors
source/tests/callback_mock.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
source/tests/cip/cipcommontests.cpp:16:  Include the directory when naming header files  [build/include_subdir] [4]
source/tests/cip/cipcommontests.cpp:22:  Redundant blank line at the start of a code block should be deleted.  [whitespace/blank_line] [2]
source/tests/cip/cipcommontests.cpp:26:  Line contains only semicolon. If this should be an empty statement, use {} instead.  [whitespace/semicolon] [5]
source/tests/cip/cipconnectionmanagertest.cpp:13:  Include the directory when naming header files  [build/include_subdir] [4]
source/tests/cip/cipconnectionmanagertest.cpp:17:  Redundant blank line at the start of a code block should be deleted.  [whitespace/blank_line] [2]
source/tests/cip/cipconnectionmanagertest.cpp:17:  Redundant blank line at the end of a code block should be deleted.  [whitespace/blank_line] [3]
source/tests/cip/cipconnectionobjecttest.cpp:13:  Include the directory when naming header files  [build/include_subdir] [4]
source/tests/cip/cipconnectionobjecttest.cpp:17:  Redundant blank line at the start of a code block should be deleted.  [whitespace/blank_line] [2]
source/tests/cip/cipconnectionobjecttest.cpp:17:  Redundant blank line at the end of a code block should be deleted.  [whitespace/blank_line] [3]
source/tests/cip/cipelectronickeyformattest.cpp:13:  Include the directory when naming header files  [build/include_subdir] [4]
source/tests/cip/cipelectronickeyformattest.cpp:14:  Include the directory when naming header files  [build/include_subdir] [4]
source/tests/cip/cipelectronickeyformattest.cpp:33:  You don't need a ; after a }  [readability/braces] [4]
source/tests/cip/cipelectronickeyformattest.cpp:170:  Tab found; better to use spaces  [whitespace/tab] [1]
source/tests/cip/cipelectronickeyformattest.cpp:170:  Should have a space between // and comment  [whitespace/comments] [4]
source/tests/cip/cipelectronickeyformattest.cpp:171:  Tab found; better to use spaces  [whitespace/tab] [1]
source/tests/cip/cipelectronickeyformattest.cpp:171:  Should have a space between // and comment  [whitespace/comments] [4]
source/tests/cip/cipelectronickeyformattest.cpp:172:  Tab found; better to use spaces  [whitespace/tab] [1]
source/tests/cip/cipelectronickeyformattest.cpp:172:  Should have a space between // and comment  [whitespace/comments] [4]
source/tests/cip/cipelectronickeyformattest.cpp:174:  Tab found; better to use spaces  [whitespace/tab] [1]
source/tests/cip/cipelectronickeyformattest.cpp:174:  Should have a space between // and comment  [whitespace/comments] [4]
source/tests/cip/cipelectronickeyformattest.cpp:177:  Tab found; better to use spaces  [whitespace/tab] [1]
source/tests/cip/cipelectronickeyformattest.cpp:177:  Should have a space between // and comment  [whitespace/comments] [4]
source/tests/cip/cipelectronickeytest.cpp:13:  Include the directory when naming header files  [build/include_subdir] [4]
source/tests/cip/cipelectronickeytest.cpp:14:  Include the directory when naming header files  [build/include_subdir] [4]
source/tests/cip/cipelectronickeytest.cpp:18:  Redundant blank line at the start of a code block should be deleted.  [whitespace/blank_line] [2]
source/tests/cip/cipelectronickeytest.cpp:18:  Redundant blank line at the end of a code block should be deleted.  [whitespace/blank_line] [3]
source/tests/cip/cipepathtest.cpp:13:  Include the directory when naming header files  [build/include_subdir] [4]
source/tests/cip/cipepathtest.cpp:17:  Redundant blank line at the start of a code block should be deleted.  [whitespace/blank_line] [2]
source/tests/cip/cipepathtest.cpp:17:  Redundant blank line at the end of a code block should be deleted.  [whitespace/blank_line] [3]
source/tests/cip/cipstringtests.cpp:15:  Include the directory when naming header files  [build/include_subdir] [4]
source/tests/cip/cipstringtests.cpp:21:  Line contains only semicolon. If this should be an empty statement, use {} instead.  [whitespace/semicolon] [5]
source/tests/cip/cipstringtests.cpp:26:  You don't need a ; after a }  [readability/braces] [4]
source/tests/cip/cipstringtests.cpp:31:  You don't need a ; after a }  [readability/braces] [4]
source/tests/cip/cipstringtests.cpp:45:  You don't need a ; after a }  [readability/braces] [4]
source/tests/cip/cipstringtests.cpp:54:  You don't need a ; after a }  [readability/braces] [4]
source/tests/cip/cipstringtests.cpp:82:  You don't need a ; after a }  [readability/braces] [4]
source/tests/cip/cipstringtests.cpp:87:  You don't need a ; after a }  [readability/braces] [4]
source/tests/cip/cipstringtests.cpp:99:  You don't need a ; after a }  [readability/braces] [4]
source/tests/cip/cipstringtests.cpp:107:  You don't need a ; after a }  [readability/braces] [4]
source/tests/cip/cipstringtests.cpp:133:  You don't need a ; after a }  [readability/braces] [4]
source/tests/cip/cipstringtests.cpp:138:  You don't need a ; after a }  [readability/braces] [4]
source/tests/cip/cipstringtests.cpp:150:  You don't need a ; after a }  [readability/braces] [4]
source/tests/cip/cipstringtests.cpp:158:  You don't need a ; after a }  [readability/braces] [4]
source/tests/cip/cipstringtests.cpp:184:  You don't need a ; after a }  [readability/braces] [4]
source/tests/cip/cipstringtests.cpp:189:  You don't need a ; after a }  [readability/braces] [4]
source/tests/cip/cipstringtests.cpp:201:  You don't need a ; after a }  [readability/braces] [4]
source/tests/cip/cipstringtests.cpp:209:  You don't need a ; after a }  [readability/braces] [4]
source/tests/enet_encap/encaptest.cpp:13:  Include the directory when naming header files  [build/include_subdir] [4]
source/tests/enet_encap/encaptest.cpp:14:  Include the directory when naming header files  [build/include_subdir] [4]
source/tests/enet_encap/encaptest.cpp:15:  Include the directory when naming header files  [build/include_subdir] [4]
source/tests/enet_encap/encaptest.cpp:19:  Redundant blank line at the start of a code block should be deleted.  [whitespace/blank_line] [2]
source/tests/enet_encap/encaptest.cpp:19:  Redundant blank line at the end of a code block should be deleted.  [whitespace/blank_line] [3]
source/tests/enet_encap/endianconvtest.cpp:16:  Include the directory when naming header files  [build/include_subdir] [4]
source/tests/enet_encap/endianconvtest.cpp:17:  Include the directory when naming header files  [build/include_subdir] [4]
source/tests/enet_encap/endianconvtest.cpp:21:  Redundant blank line at the start of a code block should be deleted.  [whitespace/blank_line] [2]
source/tests/enet_encap/endianconvtest.cpp:21:  Redundant blank line at the end of a code block should be deleted.  [whitespace/blank_line] [3]
source/tests/ports/check_encapsulation_inactivity_tests.cpp:33:  Missing space before {  [whitespace/braces] [5]
source/tests/ports/check_encapsulation_inactivity_tests.cpp:34:  Redundant blank line at the start of a code block should be deleted.  [whitespace/blank_line] [2]
source/tests/ports/check_encapsulation_inactivity_tests.cpp:46:  Line contains only semicolon. If this should be an empty statement, use {} instead.  [whitespace/semicolon] [5]
source/tests/ports/socket_timer_tests.cpp:13:  Include the directory when naming header files  [build/include_subdir] [4]
source/tests/ports/socket_timer_tests.cpp:17:  Redundant blank line at the start of a code block should be deleted.  [whitespace/blank_line] [2]
source/tests/ports/socket_timer_tests.cpp:17:  Redundant blank line at the end of a code block should be deleted.  [whitespace/blank_line] [3]
source/tests/security_tests.cpp:21:  Missing space before {  [whitespace/braces] [5]
source/tests/security_tests.cpp:28:  Line contains only semicolon. If this should be an empty statement, use {} instead.  [whitespace/semicolon] [5]
source/tests/security_tests.cpp:60:  Consider using CHECK_EQ instead of CHECK(a == b)  [readability/check] [2]
source/tests/security_tests.cpp:101:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
source/tests/security_tests.cpp:118:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
source/tests/security_tests.cpp:137:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
source/tests/security_tests.cpp:138:  Consider using CHECK_LT instead of CHECK(a < b)  [readability/check] [2]
source/tests/security_tests.cpp:151:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
source/tests/security_tests.cpp:155:  Consider using CHECK_LT instead of CHECK(a < b)  [readability/check] [2]
source/tests/security_tests.cpp:174:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
source/tests/security_tests.cpp:195:  Consider using CHECK_LE instead of CHECK(a <= b)  [readability/check] [2]
source/tests/security_tests.cpp:198:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
source/tests/security_tests.cpp:220:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
source/tests/security_tests.cpp:235:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
source/tests/security_tests.cpp:236:  Consider using CHECK_LT instead of CHECK(a < b)  [readability/check] [2]
source/tests/security_tests.cpp:272:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
source/tests/security_tests.cpp:273:  Consider using CHECK_LT instead of CHECK(a < b)  [readability/check] [2]
source/tests/security_tests.cpp:308:  Consider using CHECK_EQ instead of CHECK(a == b)  [readability/check] [2]
source/tests/security_tests.cpp:323:  Almost always, snprintf is better than strcpy  [runtime/printf] [4]
source/tests/security_tests.cpp:342:  Consider using CHECK_EQ instead of CHECK(a == b)  [readability/check] [2]
source/tests/utils/doublylinkedlistTests.cpp:16:  Redundant blank line at the start of a code block should be deleted.  [whitespace/blank_line] [2]
source/tests/utils/doublylinkedlistTests.cpp:16:  Redundant blank line at the end of a code block should be deleted.  [whitespace/blank_line] [3]
source/tests/utils/randomTests.cpp:16:  Redundant blank line at the start of a code block should be deleted.  [whitespace/blank_line] [2]
source/tests/utils/randomTests.cpp:16:  Redundant blank line at the end of a code block should be deleted.  [whitespace/blank_line] [3]
source/tests/utils/xorshiftrandomtests.cpp:19:  Redundant blank line at the start of a code block should be deleted.  [whitespace/blank_line] [2]
source/tests/utils/xorshiftrandomtests.cpp:19:  Redundant blank line at the end of a code block should be deleted.  [whitespace/blank_line] [3]
Done processing source/src/api/opener_api.h
Done processing source/src/cip/appcontype.h
Done processing source/src/cip/cipassembly.h
Done processing source/src/cip/cipclass3connection.h
Done processing source/src/cip/cipcommon.h
Done processing source/src/cip/cipconnectionmanager.h
Done processing source/src/cip/cipconnectionobject.h
Done processing source/src/cip/cipdlr.h
Done processing source/src/cip/cipelectronickey.h
Done processing source/src/cip/cipepath.h
Done processing source/src/cip/ciperror.h
Done processing source/src/cip/cipethernetlink.h
Done processing source/src/cip/cipidentity.h
Done processing source/src/cip/cipioconnection.h
Done processing source/src/cip/cipmessagerouter.h
Done processing source/src/cip/cipqos.h
Done processing source/src/cip/cipstring.h
Done processing source/src/cip/cipstringi.h
Done processing source/src/cip/ciptcpipinterface.h
Done processing source/src/cip/ciptypes.h
Done processing source/src/core/trace.h
Done processing source/src/core/typedefs.h
Done processing source/src/enet_encap/cpf.h
Done processing source/src/enet_encap/encap.h
Done processing source/src/enet_encap/endianconv.h
Done processing source/src/ports/MINGW/networkconfig.h
Done processing source/src/ports/MINGW/platform_network_includes.h
Done processing source/src/ports/MINGW/sample_application/ethlinkcbs.h
Done processing source/src/ports/MINGW/sample_application/opener_user_conf.h
Done processing source/src/ports/POSIX/networkconfig.h
Done processing source/src/ports/POSIX/platform_network_includes.h
Done processing source/src/ports/POSIX/sample_application/ethlinkcbs.h
Done processing source/src/ports/POSIX/sample_application/opener_user_conf.h
Done processing source/src/ports/STM32/networkconfig.h
Done processing source/src/ports/STM32/opener.h
Done processing source/src/ports/STM32/platform_network_includes.h
Done processing source/src/ports/STM32/sample_application/ethlinkcbs.h
Done processing source/src/ports/STM32/sample_application/opener_user_conf.h
Done processing source/src/ports/WIN32/networkconfig.h
Done processing source/src/ports/WIN32/platform_network_includes.h
Done processing source/src/ports/WIN32/sample_application/ethlinkcbs.h
Done processing source/src/ports/WIN32/sample_application/opener_user_conf.h
Done processing source/src/ports/generic_networkhandler.h
Done processing source/src/ports/networkhandler.h
Done processing source/src/ports/nvdata/conffile.h
Done processing source/src/ports/nvdata/nvdata.h
Done processing source/src/ports/nvdata/nvqos.h
Done processing source/src/

(Truncated to 13333 characters out of 14811)
❌ COPYPASTE / jscpd - 3 errors
Clone found (c):
 - source/src/enet_encap/encap.c [266:14 - 280:73] (14 lines, 98 tokens)
   source/src/enet_encap/encap.c [173:7 - 187:74]

Clone found (c):
 - source/src/enet_encap/encap.c [700:45 - 724:25] (24 lines, 174 tokens)
   source/src/enet_encap/encap.c [650:34 - 674:34]

Clone found (yaml):
 - .github/workflows/ci.yml [88:5 - 111:4] (23 lines, 111 tokens)
   .github/workflows/exhaustive-analysis.yml [94:5 - 116:10]

┌──────────┬────────────────┬─────────────┬──────────────┬──────────────┬──────────────────┬───────────────────┐
│ Format   │ Files analyzed │ Total lines │ Total tokens │ Clones found │ Duplicated lines │ Duplicated tokens │
├──────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ latex    │ 1              │ 308         │ 3478         │ 0            │ 0 (0%)           │ 0 (0%)            │
├──────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ c-header │ 33             │ 4862        │ 15744        │ 0            │ 0 (0%)           │ 0 (0%)            │
├──────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ c        │ 23             │ 8009        │ 47587        │ 2            │ 38 (0.47%)       │ 272 (0.57%)       │
├──────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ markdown │ 12             │ 1616        │ 9997         │ 0            │ 0 (0%)           │ 0 (0%)            │
├──────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ markup   │ 1              │ 85          │ 663          │ 0            │ 0 (0%)           │ 0 (0%)            │
├──────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ diff     │ 1              │ 171         │ 954          │ 0            │ 0 (0%)           │ 0 (0%)            │
├──────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ python   │ 1              │ 37          │ 324          │ 0            │ 0 (0%)           │ 0 (0%)            │
├──────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ yaml     │ 5              │ 433         │ 2427         │ 1            │ 23 (5.31%)       │ 111 (4.57%)       │
├──────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ bash     │ 2              │ 170         │ 701          │ 0            │ 0 (0%)           │ 0 (0%)            │
├──────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ Total:   │ 79             │ 15691       │ 81875        │ 3            │ 61 (0.39%)       │ 383 (0.47%)       │
└──────────┴────────────────┴─────────────┴──────────────┴──────────────┴──────────────────┴───────────────────┘
Found 3 clones.
HTML report saved to megalinter-reports/copy-paste/html/
ERROR: jscpd found too many duplicates (0.39%) over threshold (0%)
Error: ERROR: jscpd found too many duplicates (0.39%) over threshold (0%)
    at ThresholdReporter.report (/node-deps/node_modules/@jscpd/finder/dist/index.js:612:13)
    at /node-deps/node_modules/@jscpd/finder/dist/index.js:110:18
    at Array.forEach (<anonymous>)
    at /node-deps/node_modules/@jscpd/finder/dist/index.js:109:22
    at async /node-deps/node_modules/jscpd/dist/jscpd.js:351:5
❌ SPELL / lychee - 1 error
[ERROR] https://github/ | Network error: error sending request for url (https://github/) Maybe a certificate error?
📝 Summary
---------------------
🔍 Total...........21
✅ Successful......17
⏳ Timeouts.........0
🔀 Redirected.......0
👻 Excluded.........3
❓ Unknown..........0
🚫 Errors...........1

Errors in .mega-linter.yml
[ERROR] https://github/ | Network error: error sending request for url (https://github/) Maybe a certificate error?

See detailed reports in MegaLinter artifacts
Set VALIDATE_ALL_CODEBASE: true in mega-linter.yml to validate all sources, not only the diff

MegaLinter is graciously provided by OX Security

@github-actions
Copy link

github-actions bot commented Dec 3, 2025

📊 Coverage Report

Line Coverage: 40.7%

------------------------------------------------------------------------------
                           GCC Code Coverage Report
Directory: .
------------------------------------------------------------------------------
File                                       Lines    Exec  Cover   Missing
------------------------------------------------------------------------------
source/src/cip/appcontype.c                  186       0     0%   93,98-99,101,103,106,108,112-113,115-116,119,121,125-126,128,130,133,135,138,140-143,146-148,150-153,155,158,165,172,174,178-179,182,185,188-194,196-197,199-202,204-205,207-209,211-212,214,216,219-220,229,232,234-239,241,243-245,247,250-255,258,260,262,266-271,279-280,283,286,288-289,291-294,296,298-300,302,306,312-317,320,322,324,328-333,341-342,345,347,349-352,354-356,360-361,363-365,368,373,375,377-380,382,384,386-387,390,394,396,401,405-413,417-418,421,423-429,431,433-434,436-439,442,447-448,452,455,458
source/src/cip/cipassembly.c                  75       0     0%   49,51,63-64,69,74-75,78,84-85,88-89,91-96,98,101,103,106-108,111,115,119-121,125-126,128,137,142,145,148,154-156,161,165,168,172-174,176-178,180-183,185-188,192-193,196,205,207,210,212,215,218-220,222,224,227,230-232,234,236
source/src/cip/cipclass3connection.c          35       0     0%   19-20,22-23,26,29,31,33-35,38,40,42,46,48,51,53,60-62,64,70-71,74,76,79-83,89,92-95
source/src/cip/cipcommon.c                   817      44     5%   45,47-58,63-64,81-82,84,87,89,91,93,95,98-99,101,108,111,114,118,120-122,124-125,127-128,131-133,139,144-145,149,151,157,159-160,162,165,168-172,175,177,180,182-185,189,192-193,197-198,201,204,208,212,216-217,222-225,228-229,233,235,238,241,243,245,250,252,254,256,259,262,269-270,272,275,277,279-281,284,287,290,302,304,316-318,322-324,326,328-329,332,336,339,342-348,357,360,362,364-366,368,371,374-376,379,382,384,386,390,393,395-396,402-403,406-407,409-410,412-413,418,423,425,428-429,434,436,441,443,449,451,459,466,471,473,478,480-481,483,489,495,502,509,512-513,515,518-525,527,529,531-533,535,537-538,540,542,548-549,553,557,562-563,566-567,569-570,572-573,575-576,578,580,584,587-588,590-591,593-594,598-599,601,603,605,607-609,611,620,623-628,631,638-639,643-644,646,649,652-656,659,664-666,670-672,676-679,684,692,694-695,712,714-715,732,734-735,737-739,741,743-744,746,748-749,751,753-754,756,758-759,761,763,765,767-772,774,776,778-781,783-784,786,788,791,793,796-797,799-800,802,805-806,808-809,811,813-818,820,822-825,827-829,831-833,835-837,839-841,843,845-846,849,851,853-860,862,864-866,868,870-874,876,879-884,886,893-894,896-897,899,902,906-907,913-916,920-922,926,928,936-939,942,944,949,952,955-957,960,963-965,968,972-974,976-979,981-984,988-989,991,993-994,997,1000-1002,1005,1008-1010,1013,1016-1018,1021,1024-1026,1029,1032-1034,1037,1040-1042,1045,1048-1050,1053,1056-1058,1061,1064-1066,1069,1072-1074,1077,1080-1082,1085,1088-1090,1093,1096-1098,1118-1119,1148,1150-1152,1154-1155,1157,1162,1168-1169,1171-1172,1177,1179-1182,1184,1186-1187,1189-1192,1195,1198,1200,1203,1206,1212-1213,1215-1219,1221-1222,1224-1226,1228,1231,1236-1238,1240-1243,1245,1247,1249-1250,1252,1254,1256,1259,1263,1265,1267,1270,1273-1278,1280,1283,1285-1286,1290,1293,1295,1299,1301,1303,1307,1309,1311,1313,1316,1319,1325,1331-1332,1334-1338,1340-1341,1343-1345,1347,1350,1355-1357,1359-1362,1364,1366,1368-1369,1371,1373,1375,1378,1382,1384,1386,1389,1392-1397,1399,1402,1404,1409,1412,1416-1420,1423-1424,1428,1430,1432,1436,1438,1440,1442,1445,1448,1454-1457,1459-1462,1464-1467,1470-1474,1476-1479,1482-1486,1488-1491,1497,1499,1501,1504-1506,1508-1509,1512-1514,1516-1517,1522-1524,1526-1528,1530,1532-1535,1537,1539-1541,1543,1545-1548,1550,1552-1554,1556,1558-1561,1563,1565-1567,1569-1571,1579-1581,1583,1586,1593-1594,1596-1600,1602,1604,1607-1608,1612-1615,1618-1619,1623,1625,1628,1635-1636,1638-1642,1644,1646,1649-1650,1654-1655,1658-1661,1663,1665-1668,1675-1676,1680,1682,1685,1688,1690,1693,1700-1701,1703-1707,1709,1711,1714-1715,1719,1721-1722,1726,1729-1730,1733-1737,1739-1741
source/src/cip/cipconnectionmanager.c        708       0     0%   176-177,179-184,186,188,206,208-209,213,216-217,219,224,226,231,233,240,247,254,259,261,266,269,273,277,279-280,282,294,297,301,305-306,310,312,316,320,325,327-328,333,336,343-344,350,353-354,356,361-363,366,368-369,371,376,378-379,381-382,384-385,421,427-429,431-432,452,458-459,461-462,481,487-488,490-491,508,514-515,517,520-521,523,530,532-533,541-542,546-548,551,554-555,559-560,562,567,570,602,607-608,641,646-647,653,658,660-661,665,667,670,674-677,680-681,688-689,696,699,701-704,713,718-719,723,728-729,732,734,736,742,748-749,753,758-759,761,764-769,771,773,775,778-780,782-786,789-793,800,802,808,811,820,826-830,832,835,841-843,845-846,849-850,853,856-858,860-861,863,867,870,872,874-875,877-878,881,884,891-893,895-896,899-904,911,914-916,918-919,921-925,930,932,934,936-937,939-940,943,946,950,953,955,958,961,964,967,970,973,976,979,981,983,985,988,991,994,997,1000,1002,1004,1006,1009,1011,1013,1016-1017,1019,1021,1023-1026,1028,1031,1035,1038-1040,1042-1043,1047-1048,1050,1053,1058-1059,1063,1066,1070,1072,1074-1075,1077,1079,1082-1083,1086-1087,1089,1094,1096-1097,1101,1104,1109,1111,1125,1131,1133-1134,1137,1139-1141,1144-1145,1147-1148,1150,1152-1155,1160,1162,1170-1171,1175-1176,1178-1179,1182-1189,1192-1197,1200-1203,1211,1213,1215,1218,1220,1222,1226,1230,1232,1240,1243,1246-1248,1267,1275,1277-1278,1281,1283-1285,1287-1288,1291-1292,1294-1295,1297-1298,1300-1301,1303-1305,1309,1311,1314-1315,1317-1319,1321-1322,1324,1329,1331,1333-1335,1337,1339-1342,1344,1349,1351,1353-1357,1360,1366,1370,1373-1374,1376,1379-1380,1383-1388,1390,1395-1398,1400,1404,1406,1411-1416,1418,1424-1428,1431,1433,1439,1441,1444,1447-1450,1455,1457-1458,1460-1461,1464,1466-1468,1471-1472,1474-1475,1478,1481-1483,1486,1488-1494,1497-1500,1503-1505,1507,1509,1522-1525,1528-1529,1531,1535,1541-1542,1545-1548,1550-1553,1558,1560-1564,1566-1567,1570,1573,1577,1579,1581,1583,1586,1588,1591,1593-1595,1598,1600,1602,1604-1605,1607,1610-1611,1614,1616-1617,1619,1623-1624,1626,1629,1634,1637,1643,1647,1650-1653,1655-1656,1660-1662,1664,1670-1672,1675,1678-1680,1682-1685,1689-1690,1692,1694,1696,1702-1704,1706,1708,1710-1714,1717-1719,1721,1724,1726,1728,1732-1733,1735,1738-1746,1748-1751,1756-1763,1767-1769,1771-1772,1775,1778,1783,1785,1788-1790,1793,1800,1803-1804,1807,1810,1812-1813,1816,1818,1820,1822,1825-1827,1829-1831,1833,1835-1840,1843,1846-1847,1849,1851-1856,1860,1862,1865,1868,1872-1873,1875-1876,1878-1879,1883,1886,1888,1890-1893,1896,1899,1901,1903-1909,1912-1914,1918,1920,1923,1926-1931,1933,1937,1939-1940,1942,1944-1945,1948-1950
source/src/cip/cipconnectionobject.c         385     230    59%   61-62,67-71,77-81,86,88,107,109,111-112,167,180,248-249,271,274-275,294-296,398,400,403,406-407,409,411,414,417-418,425,427-428,430,432,435,437,467,478,480,482,484,502,505,508-510,512-514,516-518,520-522,524-526,528,530,532,534,537,540,542,544,546,549,552,554,556,558,561,564-565,579,581,583-584,586,588,590-591,593,611,621,631,633,635,641,651,653-654,656,672,684,696,714-715,738-739,744,773-774,818-819,851-852,872,875-876,878,880-885,887,889-891,893,895-896,898-899,903,907-908,912,916,918,923,925-926,928,930,933,938,940,942,945,950,953-954
source/src/cip/cipdlr.c                       30       0     0%   95,98,100-101,103,105,107-109,111,116-117,119,132,137,139,143,145,152,159,166,173,180,187,194,203,210,217,229,231
source/src/cip/cipelectronickey.c             47      47   100%
source/src/cip/cipepath.c                    297     270    90%   88-90,230-232,276-278,329-330,530,532-535,633,635,637-638,640-641,643,697,701,704-705
source/src/cip/cipethernetlink.c              58       0     0%   198-199,222-223,226,228-229,235-236,246,248,252,272-274,276,283,290,313,320,349,357,364,371,378,385,400-402,406,409,412,424,427,429,432,444,447,449,456,458,460-462,465,467-473,475,477-480,484
source/src/cip/cipidentity.c                 106       0     0%   61-64,67-69,72-74,77-79,82-85,88-90,93-94,98-99,102,106-107,110-112,116,118,120,131-134,144-147,157,159-162,170,174,176,178-179,181,183-184,186-189,193-195,203-205,208,211-212,214,219,221,226,228,235,242,249,254,256,261,264,268,274-275,277,279-282,284-285,299,303-304,306-307,314,321,328,335,342,349,357,359-361,363,366
source/src/cip/cipioconnection.c             432       0     0%   86-88,90-91,94-96,98-99,102,104-105,107-108,111,113,118-120,130-134,136,138,141-145,147-148,154,156-157,160-165,168-169,172,174-175,178,180-182,190,193-194,196-199,201,203,206-207,210-211,215,217,221,223,227-228,233,237-244,246,248-253,256-257,259,261-262,264,266-268,289,292,294-296,300,302,306,308,310-313,316,321-324,329,331,333,338,340,342,347,349-350,355-358,361-363,365,368,370,374,376-377,380,392,395,398,405,407,409-411,417-419,421-422,424-426,428-430,432,435,440,442-444,446-448,452-454,456-458,464-465,467,470,474-476,478,481,488-491,494,496,499,504-505,510-511,515-517,520,524,526-531,533,543,547,549-550,552-553,555-557,559,562,565-567,569,572,576-577,582,593-594,597-603,606-607,614-620,622-624,629-630,633,635,637-638,640,642,644,650-654,656-659,662-664,666-667,674,677,686-687,690,695,702-703,705-707,711-714,717-718,720-725,727,731-735,737-738,740,743,745,747,751,753,756-757,763,765,768-773,775-776,778,780-782,786,788,790,794,797,800-801,809-812,814-815,819-820,822,827,834,837-839,842,844-846,848,850,852-853,855,857-859,862,864,868-869,871-873,875-877,879-881,884-885,887-888,890,893,897-898,901-903,905-907,909,912,915-916,918-919,921-922,924,926-927,930-931,933-938,940,943-944,946-947,949,953,963-965,969,972-973,975-976,980,984,990,994,1001,1005,1010,1014,1023,1025-1027,1031-1033,1037-1038,1041-1042
source/src/cip/cipmessagerouter.c            122       0     0%   54-55,57,62,64,69,71,78,85,92,97,99,104,107,111,115,117-119,131,134,140,150-151,154,156-158,160,165-167,169-170,176,178,183-184,186-187,194-195,197-198,202,205,208-209,211,214,219-220,222-224,229-234,237-239,243-244,249-252,257-258,261-262,285,288,292-294,296-297,299,303,306-309,313-314,316-318,320-322,324-329,331,333,337-344,347-354,356,358-359
source/src/cip/cipqos.c                       55       0     0%   69,73,75,77-80,82-83,86,90,93,96-111,113-114,116,119-120,122-123,138,142,149,156,163,170,177,184,191,199,203,208,211-213,215-216,224-226
source/src/cip/cipstring.c                   124     109    87%   68-70,272,275-276,278,281-284,286,288-289,291
source/src/cip/cipstringi.c                  229       0     0%   16-40,42,44-47,49-67,69,76-85,92,94-134,136,138-151,153,155,158,160-161,163-164,166-176,178-183,185-186,188,190-195,197-205,207-213,215-218,220-224,227,229,232,234-236,238-245,248-257,259-261,265,267-269,271-278,281-290,292-294,298-299
source/src/cip/ciptcpipinterface.c            94       0     0%   328,330,332,334,336,338,340,342,344,346,349,351-352,354,357-358,360-361,363,366,368-369,371,374,376,378-379,381,383,389,391-393,395,399,402-404,407,515,523,525-526,528-529,531-533,536,539-540,542-543,558,562,569,576,583,609,616,627,634,641,648,655,662,669,677,682,685,690,693,695-697,700-702,704,712,714,718-721,723-725,727-732
source/src/cip/ciptypes.c                     26       0     0%   13-14,16,31,34,42-43,45,50-51,53-55,57,60-61,66-68,73-75,80-83
source/src/enet_encap/cpf.c                  281      38    13%   62,64,66,69-71,75-76,79,82-85,87,91-92,98-99,101,104,120,124-126,129,132,134,139-140,142,144,147,149-151,156-157,160-161,163-164,166,168,170,173,175,177,181,183-185,187,190,192-196,200-201,204,206-209,211,214-215,218,234,238-239,241,271-273,276-278,282-288,294-295,297-298,300-301,304-307,310-320,322,324,326,343-344,358-359,361-362,370,375-378,380,389,394-397,399-400,402,411,414,416,425,428,430,439,442,444,453,456-461,463,473,476-477,479,481,489,492-493,495,504,507-508,516,519-520,528,531-532,541,544,546,554,557,559-560,563,576,579-581,590,593-594,596,598,606,609-611,613-615,617,627,631-633,635,645,649-650,652,654,658,661-662,665,668,670-671,673-674,676,678-679,681,689-690,693-694,696,698,700,704,709-710,712-714,717,719,721,731-734,736,739,742-744,747,749,756,759-760
source/src/enet_encap/encap.c                360     110    30%   126-127,131,134-135,138-140,145-148,150,153,155,161-163,167-168,170-171,174-176,179-180,182,187-188,190,197-199,201,204-205,207,209-211,213,215-217,219,221-223,225,227-229,231,233-235,237,240,242,250,257-258,262-263,265-266,269-271,274-275,277,282-283,285-288,290,292-295,298,301,305-307,309,329,331-332,405,408-409,411,415-416,418-421,423-425,429-431,435,438,440,503,506-508,510,512,518-519,568-569,572-573,576-578,582-584,590,592-594,596-597,619,622-623,625-630,635,640,648,652-653,657,661-662,665,669,672-673,676,679-680,682,685,690,732-733,735,738,746,750,752,755,762-767,834,836-837,839-842,844-851,854-855,857-863,866-867,869-874,877,879-884,886,888,893,895,899,901,903-907,910-911,915-916,918-920,924,926-929,935,937-943,945,947,949
source/src/enet_encap/endianconv.c           131     114    87%   52-56,207-208,210-211,213-216,219,222,251-252
source/src/ports/generic_networkhandler.c
                                             475       0     0%   129-130,134,136,138,141-142,144,147-148,151-154,158-160,163,166,177,185-188,193-195,199-202,207-209,213-214,225,234-235,246,253,255-256,259,262-263,267-269,272,275-276,280-282,286,288-290,295-296,300,302-303,306-307,312-313,318-320,323,326-327,332-334,338,340-342,348-349,356,358-360,364-365,370-372,376-378,382-384,387-388,393-394,396,399-402,404-409,411-415,417,419,421-425,427,429,432,435-436,438-439,441-444,447-449,452,454,464,466,468-470,474,478-479,481-483,485,488-489,491-492,497-498,501-503,507-511,513-514,516,518-519,525-526,532-534,541,544,547-549,553,558-562,565,567-569,573,576-577,584-586,591-593,596,598-602,613-614,616-617,621,631,634,636,641,643-645,648,651-652,659-661,665-667,670,672-677,685-686,688-689,693,701,704,706,711,721-723,727-729,733-735,738,750-753,763,765-766,771,773,775-778,780-782,785,787-789,792,794-795,798,801,804,807-809,811,814-815,821-824,826-829,834-836,838-840,842-844,847-848,850,852-853,858-862,864-867,871-873,876,878,880,882,884-889,892-893,896-898,904-905,908,910,913,916,919,921,925-926,930,934,950,952,954-956,959-961,964,967-970,974,976-977,983-985,990-992,994,997-998,1001-1004,1008,1010,1012-1013,1021-1023,1025-1026,1029-1030,1038-1039,1041,1046-1047,1052-1054,1059-1060,1065-1066,1071-1073,1081-1083,1085,1088-1089,1092-1094,1096,1099-1100,1102,1105-1107,1110,1112,1114,1116-1119,1121,1127-1129,1136-1138,1140,1143-1146,1148,1151-1153,1155,1158,1164-1165,1167-1169,1171-1172,1174-1175,1179,1183,1190-1192,1194,1200-1202,1204-1207,1209,1211-1212,1216,1218-1221,1223,1226
source/src/ports/nvdata/conffile.c            32       0     0%   59-64,66-68,72-73,75,77-78,80-84,92,111-113,115-117,130-133,135-136
source/src/ports/nvdata/nvdata.c              22       0     0%   37,39-42,45,63,67,71,74,76,80-81,83,99,104,107,109,111,115-116,119
source/src/ports/nvdata/nvqos.c               37       0     0%   31-33,43-47,49-50,57,71,73,79-81,86-91,96,104-107,109,112-117,121-122,124
source/src/ports/nvdata/nvtcpip.c             17       0     0%   27,29,31,33-34,37,39,45,49,57,59,61-62,65,67,70-71
source/src/ports/POSIX/networkconfig.c       171       0     0%   27,29-31,33-35,37,39-41,43,45-46,49,52,54-58,60-62,66-70,72-73,76-77,79-80,83-84,86,88,91,93,95-97,99,102-105,107-108,110-114,121-122,124-125,127-131,133,136-137,139,152,154-157,159-170,172,175-177,184-188,190-191,193,200,203-206,211-215,217-219,230,232-233,236-239,241-245,247,250,252-253,255,257-259,261-263,266,269-270,272,277,280-281,283-286,288-290,294-295,297-299,301-302,304-305,308-309,311-312,314-315,318,321-322,324-327,329
source/src/ports/POSIX/networkhandler.c       27       0     0%   22-23,25-29,32-33,36,38,41-44,48-49,51,53-55,57-59,62,66-67
source/src/ports/POSIX/opener_error.c          9       0     0%   26-27,30-33,36-38
source/src/ports/POSIX/sample_application/sampleapplication.c
                                              51       0     0%   40,43,48,53,58,61,64,68,72,76,85,87,118,121,123,125,130-133,135-136,139,143,146,164,167,174,177-178,181,183-185,188,190-191,193-194,197-198,201-203,205-208,210,213-214
source/src/ports/socket_timer.c               25      24    96%   46
source/src/utils/doublylinkedlist.c           86      83    96%   48,127,130
source/src/utils/enipmessage.c                 4       4   100%
source/src/utils/random.c                      8       8   100%
source/src/utils/xorshiftrandom.c             13      12    92%   24
source/tests/callback_mock.cpp                31       8    25%   12-14,17-19,21,24-25,27-29,32-33,36-38,41-43,64-66
source/tests/cip/cipcommontests.cpp          107     107   100%
source/tests/cip/cipconnectionobjecttest.cpp
                                             382     382   100%
source/tests/cip/cipelectronickeyformattest.cpp
                                             125     125   100%
source/tests/cip/cipelectronickeytest.cpp
                                              24      24   100%
source/tests/cip/cipepathtest.cpp            633     633   100%
source/tests/cip/cipstringtests.cpp          207     207   100%
source/tests/enet_encap/encaptest.cpp         52      52   100%
source/tests/enet_encap/endianconvtest.cpp
                                             167     167   100%
source/tests/OpENerTests.cpp                  29      11    37%   64,71-73,76,78,84-85,87-88,90-94,96,100,108
source/tests/ports/socket_timer_tests.cpp
                                              31      31   100%
source/tests/utils/doublylinkedlistTests.cpp
                                             247     247   100%
source/tests/utils/randomTests.cpp             9       9   100%
source/tests/utils/xorshiftrandomtests.cpp
                                              13      13   100%
------------------------------------------------------------------------------
TOTAL                                       7632    3109    40%
------------------------------------------------------------------------------
lines: 40.7% (3109 out of 7632)
functions: 63.4% (630 out of 994)
branches: 17.7% (1100 out of 6232)

📥 Download the detailed HTML report from artifacts.

ℹ️ This PR was tested with standard static analysis. Exhaustive analysis will run on release branches.

@github-actions
Copy link

github-actions bot commented Dec 3, 2025

📊 Coverage Report

Line Coverage: 40.7%

------------------------------------------------------------------------------
                           GCC Code Coverage Report
Directory: .
------------------------------------------------------------------------------
File                                       Lines    Exec  Cover   Missing
------------------------------------------------------------------------------
source/src/cip/appcontype.c                  186       0     0%   93,98-99,101,103,106,108,112-113,115-116,119,121,125-126,128,130,133,135,138,140-143,146-148,150-153,155,158,165,172,174,178-179,182,185,188-194,196-197,199-202,204-205,207-209,211-212,214,216,219-220,229,232,234-239,241,243-245,247,250-255,258,260,262,266-271,279-280,283,286,288-289,291-294,296,298-300,302,306,312-317,320,322,324,328-333,341-342,345,347,349-352,354-356,360-361,363-365,368,373,375,377-380,382,384,386-387,390,394,396,401,405-413,417-418,421,423-429,431,433-434,436-439,442,447-448,452,455,458
source/src/cip/cipassembly.c                  75       0     0%   49,51,63-64,69,74-75,78,84-85,88-89,91-96,98,101,103,106-108,111,115,119-121,125-126,128,137,142,145,148,154-156,161,165,168,172-174,176-178,180-183,185-188,192-193,196,205,207,210,212,215,218-220,222,224,227,230-232,234,236
source/src/cip/cipclass3connection.c          35       0     0%   19-20,22-23,26,29,31,33-35,38,40,42,46,48,51,53,60-62,64,70-71,74,76,79-83,89,92-95
source/src/cip/cipcommon.c                   817      44     5%   45,47-58,63-64,81-82,84,87,89,91,93,95,98-99,101,108,111,114,118,120-122,124-125,127-128,131-133,139,144-145,149,151,157,159-160,162,165,168-172,175,177,180,182-185,189,192-193,197-198,201,204,208,212,216-217,222-225,228-229,233,235,238,241,243,245,250,252,254,256,259,262,269-270,272,275,277,279-281,284,287,290,302,304,316-318,322-324,326,328-329,332,336,339,342-348,357,360,362,364-366,368,371,374-376,379,382,384,386,390,393,395-396,402-403,406-407,409-410,412-413,418,423,425,428-429,434,436,441,443,449,451,459,466,471,473,478,480-481,483,489,495,502,509,512-513,515,518-525,527,529,531-533,535,537-538,540,542,548-549,553,557,562-563,566-567,569-570,572-573,575-576,578,580,584,587-588,590-591,593-594,598-599,601,603,605,607-609,611,620,623-628,631,638-639,643-644,646,649,652-656,659,664-666,670-672,676-679,684,692,694-695,712,714-715,732,734-735,737-739,741,743-744,746,748-749,751,753-754,756,758-759,761,763,765,767-772,774,776,778-781,783-784,786,788,791,793,796-797,799-800,802,805-806,808-809,811,813-818,820,822-825,827-829,831-833,835-837,839-841,843,845-846,849,851,853-860,862,864-866,868,870-874,876,879-884,886,893-894,896-897,899,902,906-907,913-916,920-922,926,928,936-939,942,944,949,952,955-957,960,963-965,968,972-974,976-979,981-984,988-989,991,993-994,997,1000-1002,1005,1008-1010,1013,1016-1018,1021,1024-1026,1029,1032-1034,1037,1040-1042,1045,1048-1050,1053,1056-1058,1061,1064-1066,1069,1072-1074,1077,1080-1082,1085,1088-1090,1093,1096-1098,1118-1119,1148,1150-1152,1154-1155,1157,1162,1168-1169,1171-1172,1177,1179-1182,1184,1186-1187,1189-1192,1195,1198,1200,1203,1206,1212-1213,1215-1219,1221-1222,1224-1226,1228,1231,1236-1238,1240-1243,1245,1247,1249-1250,1252,1254,1256,1259,1263,1265,1267,1270,1273-1278,1280,1283,1285-1286,1290,1293,1295,1299,1301,1303,1307,1309,1311,1313,1316,1319,1325,1331-1332,1334-1338,1340-1341,1343-1345,1347,1350,1355-1357,1359-1362,1364,1366,1368-1369,1371,1373,1375,1378,1382,1384,1386,1389,1392-1397,1399,1402,1404,1409,1412,1416-1420,1423-1424,1428,1430,1432,1436,1438,1440,1442,1445,1448,1454-1457,1459-1462,1464-1467,1470-1474,1476-1479,1482-1486,1488-1491,1497,1499,1501,1504-1506,1508-1509,1512-1514,1516-1517,1522-1524,1526-1528,1530,1532-1535,1537,1539-1541,1543,1545-1548,1550,1552-1554,1556,1558-1561,1563,1565-1567,1569-1571,1579-1581,1583,1586,1593-1594,1596-1600,1602,1604,1607-1608,1612-1615,1618-1619,1623,1625,1628,1635-1636,1638-1642,1644,1646,1649-1650,1654-1655,1658-1661,1663,1665-1668,1675-1676,1680,1682,1685,1688,1690,1693,1700-1701,1703-1707,1709,1711,1714-1715,1719,1721-1722,1726,1729-1730,1733-1737,1739-1741
source/src/cip/cipconnectionmanager.c        708       0     0%   176-177,179-184,186,188,206,208-209,213,216-217,219,224,226,231,233,240,247,254,259,261,266,269,273,277,279-280,282,294,297,301,305-306,310,312,316,320,325,327-328,333,336,343-344,350,353-354,356,361-363,366,368-369,371,376,378-379,381-382,384-385,421,427-429,431-432,452,458-459,461-462,481,487-488,490-491,508,514-515,517,520-521,523,530,532-533,541-542,546-548,551,554-555,559-560,562,567,570,602,607-608,641,646-647,653,658,660-661,665,667,670,674-677,680-681,688-689,696,699,701-704,713,718-719,723,728-729,732,734,736,742,748-749,753,758-759,761,764-769,771,773,775,778-780,782-786,789-793,800,802,808,811,820,826-830,832,835,841-843,845-846,849-850,853,856-858,860-861,863,867,870,872,874-875,877-878,881,884,891-893,895-896,899-904,911,914-916,918-919,921-925,930,932,934,936-937,939-940,943,946,950,953,955,958,961,964,967,970,973,976,979,981,983,985,988,991,994,997,1000,1002,1004,1006,1009,1011,1013,1016-1017,1019,1021,1023-1026,1028,1031,1035,1038-1040,1042-1043,1047-1048,1050,1053,1058-1059,1063,1066,1070,1072,1074-1075,1077,1079,1082-1083,1086-1087,1089,1094,1096-1097,1101,1104,1109,1111,1125,1131,1133-1134,1137,1139-1141,1144-1145,1147-1148,1150,1152-1155,1160,1162,1170-1171,1175-1176,1178-1179,1182-1189,1192-1197,1200-1203,1211,1213,1215,1218,1220,1222,1226,1230,1232,1240,1243,1246-1248,1267,1275,1277-1278,1281,1283-1285,1287-1288,1291-1292,1294-1295,1297-1298,1300-1301,1303-1305,1309,1311,1314-1315,1317-1319,1321-1322,1324,1329,1331,1333-1335,1337,1339-1342,1344,1349,1351,1353-1357,1360,1366,1370,1373-1374,1376,1379-1380,1383-1388,1390,1395-1398,1400,1404,1406,1411-1416,1418,1424-1428,1431,1433,1439,1441,1444,1447-1450,1455,1457-1458,1460-1461,1464,1466-1468,1471-1472,1474-1475,1478,1481-1483,1486,1488-1494,1497-1500,1503-1505,1507,1509,1522-1525,1528-1529,1531,1535,1541-1542,1545-1548,1550-1553,1558,1560-1564,1566-1567,1570,1573,1577,1579,1581,1583,1586,1588,1591,1593-1595,1598,1600,1602,1604-1605,1607,1610-1611,1614,1616-1617,1619,1623-1624,1626,1629,1634,1637,1643,1647,1650-1653,1655-1656,1660-1662,1664,1670-1672,1675,1678-1680,1682-1685,1689-1690,1692,1694,1696,1702-1704,1706,1708,1710-1714,1717-1719,1721,1724,1726,1728,1732-1733,1735,1738-1746,1748-1751,1756-1763,1767-1769,1771-1772,1775,1778,1783,1785,1788-1790,1793,1800,1803-1804,1807,1810,1812-1813,1816,1818,1820,1822,1825-1827,1829-1831,1833,1835-1840,1843,1846-1847,1849,1851-1856,1860,1862,1865,1868,1872-1873,1875-1876,1878-1879,1883,1886,1888,1890-1893,1896,1899,1901,1903-1909,1912-1914,1918,1920,1923,1926-1931,1933,1937,1939-1940,1942,1944-1945,1948-1950
source/src/cip/cipconnectionobject.c         385     230    59%   61-62,67-71,77-81,86,88,107,109,111-112,167,180,248-249,271,274-275,294-296,398,400,403,406-407,409,411,414,417-418,425,427-428,430,432,435,437,467,478,480,482,484,502,505,508-510,512-514,516-518,520-522,524-526,528,530,532,534,537,540,542,544,546,549,552,554,556,558,561,564-565,579,581,583-584,586,588,590-591,593,611,621,631,633,635,641,651,653-654,656,672,684,696,714-715,738-739,744,773-774,818-819,851-852,872,875-876,878,880-885,887,889-891,893,895-896,898-899,903,907-908,912,916,918,923,925-926,928,930,933,938,940,942,945,950,953-954
source/src/cip/cipdlr.c                       30       0     0%   95,98,100-101,103,105,107-109,111,116-117,119,132,137,139,143,145,152,159,166,173,180,187,194,203,210,217,229,231
source/src/cip/cipelectronickey.c             47      47   100%
source/src/cip/cipepath.c                    297     270    90%   88-90,230-232,276-278,329-330,530,532-535,633,635,637-638,640-641,643,697,701,704-705
source/src/cip/cipethernetlink.c              58       0     0%   198-199,222-223,226,228-229,235-236,246,248,252,272-274,276,283,290,313,320,349,357,364,371,378,385,400-402,406,409,412,424,427,429,432,444,447,449,456,458,460-462,465,467-473,475,477-480,484
source/src/cip/cipidentity.c                 106       0     0%   61-64,67-69,72-74,77-79,82-85,88-90,93-94,98-99,102,106-107,110-112,116,118,120,131-134,144-147,157,159-162,170,174,176,178-179,181,183-184,186-189,193-195,203-205,208,211-212,214,219,221,226,228,235,242,249,254,256,261,264,268,274-275,277,279-282,284-285,299,303-304,306-307,314,321,328,335,342,349,357,359-361,363,366
source/src/cip/cipioconnection.c             432       0     0%   86-88,90-91,94-96,98-99,102,104-105,107-108,111,113,118-120,130-134,136,138,141-145,147-148,154,156-157,160-165,168-169,172,174-175,178,180-182,190,193-194,196-199,201,203,206-207,210-211,215,217,221,223,227-228,233,237-244,246,248-253,256-257,259,261-262,264,266-268,289,292,294-296,300,302,306,308,310-313,316,321-324,329,331,333,338,340,342,347,349-350,355-358,361-363,365,368,370,374,376-377,380,392,395,398,405,407,409-411,417-419,421-422,424-426,428-430,432,435,440,442-444,446-448,452-454,456-458,464-465,467,470,474-476,478,481,488-491,494,496,499,504-505,510-511,515-517,520,524,526-531,533,543,547,549-550,552-553,555-557,559,562,565-567,569,572,576-577,582,593-594,597-603,606-607,614-620,622-624,629-630,633,635,637-638,640,642,644,650-654,656-659,662-664,666-667,674,677,686-687,690,695,702-703,705-707,711-714,717-718,720-725,727,731-735,737-738,740,743,745,747,751,753,756-757,763,765,768-773,775-776,778,780-782,786,788,790,794,797,800-801,809-812,814-815,819-820,822,827,834,837-839,842,844-846,848,850,852-853,855,857-859,862,864,868-869,871-873,875-877,879-881,884-885,887-888,890,893,897-898,901-903,905-907,909,912,915-916,918-919,921-922,924,926-927,930-931,933-938,940,943-944,946-947,949,953,963-965,969,972-973,975-976,980,984,990,994,1001,1005,1010,1014,1023,1025-1027,1031-1033,1037-1038,1041-1042
source/src/cip/cipmessagerouter.c            122       0     0%   54-55,57,62,64,69,71,78,85,92,97,99,104,107,111,115,117-119,131,134,140,150-151,154,156-158,160,165-167,169-170,176,178,183-184,186-187,194-195,197-198,202,205,208-209,211,214,219-220,222-224,229-234,237-239,243-244,249-252,257-258,261-262,285,288,292-294,296-297,299,303,306-309,313-314,316-318,320-322,324-329,331,333,337-344,347-354,356,358-359
source/src/cip/cipqos.c                       55       0     0%   69,73,75,77-80,82-83,86,90,93,96-111,113-114,116,119-120,122-123,138,142,149,156,163,170,177,184,191,199,203,208,211-213,215-216,224-226
source/src/cip/cipstring.c                   124     109    87%   68-70,272,275-276,278,281-284,286,288-289,291
source/src/cip/cipstringi.c                  229       0     0%   16-40,42,44-47,49-67,69,76-85,92,94-134,136,138-151,153,155,158,160-161,163-164,166-176,178-183,185-186,188,190-195,197-205,207-213,215-218,220-224,227,229,232,234-236,238-245,248-257,259-261,265,267-269,271-278,281-290,292-294,298-299
source/src/cip/ciptcpipinterface.c            94       0     0%   328,330,332,334,336,338,340,342,344,346,349,351-352,354,357-358,360-361,363,366,368-369,371,374,376,378-379,381,383,389,391-393,395,399,402-404,407,515,523,525-526,528-529,531-533,536,539-540,542-543,558,562,569,576,583,609,616,627,634,641,648,655,662,669,677,682,685,690,693,695-697,700-702,704,712,714,718-721,723-725,727-732
source/src/cip/ciptypes.c                     26       0     0%   13-14,16,31,34,42-43,45,50-51,53-55,57,60-61,66-68,73-75,80-83
source/src/enet_encap/cpf.c                  281      38    13%   62,64,66,69-71,75-76,79,82-85,87,91-92,98-99,101,104,120,124-126,129,132,134,139-140,142,144,147,149-151,156-157,160-161,163-164,166,168,170,173,175,177,181,183-185,187,190,192-196,200-201,204,206-209,211,214-215,218,234,238-239,241,271-273,276-278,282-288,294-295,297-298,300-301,304-307,310-320,322,324,326,343-344,358-359,361-362,370,375-378,380,389,394-397,399-400,402,411,414,416,425,428,430,439,442,444,453,456-461,463,473,476-477,479,481,489,492-493,495,504,507-508,516,519-520,528,531-532,541,544,546,554,557,559-560,563,576,579-581,590,593-594,596,598,606,609-611,613-615,617,627,631-633,635,645,649-650,652,654,658,661-662,665,668,670-671,673-674,676,678-679,681,689-690,693-694,696,698,700,704,709-710,712-714,717,719,721,731-734,736,739,742-744,747,749,756,759-760
source/src/enet_encap/encap.c                360     110    30%   126-127,131,134-135,138-140,145-148,150,153,155,161-163,167-168,170-171,174-176,179-180,182,187-188,190,197-199,201,204-205,207,209-211,213,215-217,219,221-223,225,227-229,231,233-235,237,240,242,250,257-258,262-263,265-266,269-271,274-275,277,282-283,285-288,290,292-295,298,301,305-307,309,329,331-332,405,408-409,411,415-416,418-421,423-425,429-431,435,438,440,503,506-508,510,512,518-519,568-569,572-573,576-578,582-584,590,592-594,596-597,619,622-623,625-630,635,640,648,652-653,657,661-662,665,669,672-673,676,679-680,682,685,690,732-733,735,738,746,750,752,755,762-767,834,836-837,839-842,844-851,854-855,857-863,866-867,869-874,877,879-884,886,888,893,895,899,901,903-907,910-911,915-916,918-920,924,926-929,935,937-943,945,947,949
source/src/enet_encap/endianconv.c           131     114    87%   52-56,207-208,210-211,213-216,219,222,251-252
source/src/ports/generic_networkhandler.c
                                             475       0     0%   129-130,134,136,138,141-142,144,147-148,151-154,158-160,163,166,177,185-188,193-195,199-202,207-209,213-214,225,234-235,246,253,255-256,259,262-263,267-269,272,275-276,280-282,286,288-290,295-296,300,302-303,306-307,312-313,318-320,323,326-327,332-334,338,340-342,348-349,356,358-360,364-365,370-372,376-378,382-384,387-388,393-394,396,399-402,404-409,411-415,417,419,421-425,427,429,432,435-436,438-439,441-444,447-449,452,454,464,466,468-470,474,478-479,481-483,485,488-489,491-492,497-498,501-503,507-511,513-514,516,518-519,525-526,532-534,541,544,547-549,553,558-562,565,567-569,573,576-577,584-586,591-593,596,598-602,613-614,616-617,621,631,634,636,641,643-645,648,651-652,659-661,665-667,670,672-677,685-686,688-689,693,701,704,706,711,721-723,727-729,733-735,738,750-753,763,765-766,771,773,775-778,780-782,785,787-789,792,794-795,798,801,804,807-809,811,814-815,821-824,826-829,834-836,838-840,842-844,847-848,850,852-853,858-862,864-867,871-873,876,878,880,882,884-889,892-893,896-898,904-905,908,910,913,916,919,921,925-926,930,934,950,952,954-956,959-961,964,967-970,974,976-977,983-985,990-992,994,997-998,1001-1004,1008,1010,1012-1013,1021-1023,1025-1026,1029-1030,1038-1039,1041,1046-1047,1052-1054,1059-1060,1065-1066,1071-1073,1081-1083,1085,1088-1089,1092-1094,1096,1099-1100,1102,1105-1107,1110,1112,1114,1116-1119,1121,1127-1129,1136-1138,1140,1143-1146,1148,1151-1153,1155,1158,1164-1165,1167-1169,1171-1172,1174-1175,1179,1183,1190-1192,1194,1200-1202,1204-1207,1209,1211-1212,1216,1218-1221,1223,1226
source/src/ports/nvdata/conffile.c            32       0     0%   59-64,66-68,72-73,75,77-78,80-84,92,111-113,115-117,130-133,135-136
source/src/ports/nvdata/nvdata.c              22       0     0%   37,39-42,45,63,67,71,74,76,80-81,83,99,104,107,109,111,115-116,119
source/src/ports/nvdata/nvqos.c               37       0     0%   31-33,43-47,49-50,57,71,73,79-81,86-91,96,104-107,109,112-117,121-122,124
source/src/ports/nvdata/nvtcpip.c             17       0     0%   27,29,31,33-34,37,39,45,49,57,59,61-62,65,67,70-71
source/src/ports/POSIX/networkconfig.c       171       0     0%   27,29-31,33-35,37,39-41,43,45-46,49,52,54-58,60-62,66-70,72-73,76-77,79-80,83-84,86,88,91,93,95-97,99,102-105,107-108,110-114,121-122,124-125,127-131,133,136-137,139,152,154-157,159-170,172,175-177,184-188,190-191,193,200,203-206,211-215,217-219,230,232-233,236-239,241-245,247,250,252-253,255,257-259,261-263,266,269-270,272,277,280-281,283-286,288-290,294-295,297-299,301-302,304-305,308-309,311-312,314-315,318,321-322,324-327,329
source/src/ports/POSIX/networkhandler.c       27       0     0%   22-23,25-29,32-33,36,38,41-44,48-49,51,53-55,57-59,62,66-67
source/src/ports/POSIX/opener_error.c          9       0     0%   26-27,30-33,36-38
source/src/ports/POSIX/sample_application/sampleapplication.c
                                              51       0     0%   40,43,48,53,58,61,64,68,72,76,85,87,118,121,123,125,130-133,135-136,139,143,146,164,167,174,177-178,181,183-185,188,190-191,193-194,197-198,201-203,205-208,210,213-214
source/src/ports/socket_timer.c               25      24    96%   46
source/src/utils/doublylinkedlist.c           86      83    96%   48,127,130
source/src/utils/enipmessage.c                 4       4   100%
source/src/utils/random.c                      8       8   100%
source/src/utils/xorshiftrandom.c             13      12    92%   24
source/tests/callback_mock.cpp                31       8    25%   12-14,17-19,21,24-25,27-29,32-33,36-38,41-43,64-66
source/tests/cip/cipcommontests.cpp          107     107   100%
source/tests/cip/cipconnectionobjecttest.cpp
                                             382     382   100%
source/tests/cip/cipelectronickeyformattest.cpp
                                             125     125   100%
source/tests/cip/cipelectronickeytest.cpp
                                              24      24   100%
source/tests/cip/cipepathtest.cpp            633     633   100%
source/tests/cip/cipstringtests.cpp          207     207   100%
source/tests/enet_encap/encaptest.cpp         52      52   100%
source/tests/enet_encap/endianconvtest.cpp
                                             167     167   100%
source/tests/OpENerTests.cpp                  29      11    37%   64,71-73,76,78,84-85,87-88,90-94,96,100,108
source/tests/ports/socket_timer_tests.cpp
                                              31      31   100%
source/tests/utils/doublylinkedlistTests.cpp
                                             247     247   100%
source/tests/utils/randomTests.cpp             9       9   100%
source/tests/utils/xorshiftrandomtests.cpp
                                              13      13   100%
------------------------------------------------------------------------------
TOTAL                                       7632    3109    40%
------------------------------------------------------------------------------
lines: 40.7% (3109 out of 7632)
functions: 63.4% (630 out of 994)
branches: 17.7% (1100 out of 6232)

📥 Download the detailed HTML report from artifacts.

ℹ️ This PR was tested with standard static analysis. Exhaustive analysis will run on release branches.

@github-actions
Copy link

github-actions bot commented Dec 3, 2025

📊 Coverage Report

Line Coverage: 40.7%

------------------------------------------------------------------------------
                           GCC Code Coverage Report
Directory: .
------------------------------------------------------------------------------
File                                       Lines    Exec  Cover   Missing
------------------------------------------------------------------------------
source/src/cip/appcontype.c                  186       0     0%   93,98-99,101,103,106,108,112-113,115-116,119,121,125-126,128,130,133,135,138,140-143,146-148,150-153,155,158,165,172,174,178-179,182,185,188-194,196-197,199-202,204-205,207-209,211-212,214,216,219-220,229,232,234-239,241,243-245,247,250-255,258,260,262,266-271,279-280,283,286,288-289,291-294,296,298-300,302,306,312-317,320,322,324,328-333,341-342,345,347,349-352,354-356,360-361,363-365,368,373,375,377-380,382,384,386-387,390,394,396,401,405-413,417-418,421,423-429,431,433-434,436-439,442,447-448,452,455,458
source/src/cip/cipassembly.c                  75       0     0%   49,51,63-64,69,74-75,78,84-85,88-89,91-96,98,101,103,106-108,111,115,119-121,125-126,128,137,142,145,148,154-156,161,165,168,172-174,176-178,180-183,185-188,192-193,196,205,207,210,212,215,218-220,222,224,227,230-232,234,236
source/src/cip/cipclass3connection.c          35       0     0%   19-20,22-23,26,29,31,33-35,38,40,42,46,48,51,53,60-62,64,70-71,74,76,79-83,89,92-95
source/src/cip/cipcommon.c                   817      44     5%   45,47-58,63-64,81-82,84,87,89,91,93,95,98-99,101,108,111,114,118,120-122,124-125,127-128,131-133,139,144-145,149,151,157,159-160,162,165,168-172,175,177,180,182-185,189,192-193,197-198,201,204,208,212,216-217,222-225,228-229,233,235,238,241,243,245,250,252,254,256,259,262,269-270,272,275,277,279-281,284,287,290,302,304,316-318,322-324,326,328-329,332,336,339,342-348,357,360,362,364-366,368,371,374-376,379,382,384,386,390,393,395-396,402-403,406-407,409-410,412-413,418,423,425,428-429,434,436,441,443,449,451,459,466,471,473,478,480-481,483,489,495,502,509,512-513,515,518-525,527,529,531-533,535,537-538,540,542,548-549,553,557,562-563,566-567,569-570,572-573,575-576,578,580,584,587-588,590-591,593-594,598-599,601,603,605,607-609,611,620,623-628,631,638-639,643-644,646,649,652-656,659,664-666,670-672,676-679,684,692,694-695,712,714-715,732,734-735,737-739,741,743-744,746,748-749,751,753-754,756,758-759,761,763,765,767-772,774,776,778-781,783-784,786,788,791,793,796-797,799-800,802,805-806,808-809,811,813-818,820,822-825,827-829,831-833,835-837,839-841,843,845-846,849,851,853-860,862,864-866,868,870-874,876,879-884,886,893-894,896-897,899,902,906-907,913-916,920-922,926,928,936-939,942,944,949,952,955-957,960,963-965,968,972-974,976-979,981-984,988-989,991,993-994,997,1000-1002,1005,1008-1010,1013,1016-1018,1021,1024-1026,1029,1032-1034,1037,1040-1042,1045,1048-1050,1053,1056-1058,1061,1064-1066,1069,1072-1074,1077,1080-1082,1085,1088-1090,1093,1096-1098,1118-1119,1148,1150-1152,1154-1155,1157,1162,1168-1169,1171-1172,1177,1179-1182,1184,1186-1187,1189-1192,1195,1198,1200,1203,1206,1212-1213,1215-1219,1221-1222,1224-1226,1228,1231,1236-1238,1240-1243,1245,1247,1249-1250,1252,1254,1256,1259,1263,1265,1267,1270,1273-1278,1280,1283,1285-1286,1290,1293,1295,1299,1301,1303,1307,1309,1311,1313,1316,1319,1325,1331-1332,1334-1338,1340-1341,1343-1345,1347,1350,1355-1357,1359-1362,1364,1366,1368-1369,1371,1373,1375,1378,1382,1384,1386,1389,1392-1397,1399,1402,1404,1409,1412,1416-1420,1423-1424,1428,1430,1432,1436,1438,1440,1442,1445,1448,1454-1457,1459-1462,1464-1467,1470-1474,1476-1479,1482-1486,1488-1491,1497,1499,1501,1504-1506,1508-1509,1512-1514,1516-1517,1522-1524,1526-1528,1530,1532-1535,1537,1539-1541,1543,1545-1548,1550,1552-1554,1556,1558-1561,1563,1565-1567,1569-1571,1579-1581,1583,1586,1593-1594,1596-1600,1602,1604,1607-1608,1612-1615,1618-1619,1623,1625,1628,1635-1636,1638-1642,1644,1646,1649-1650,1654-1655,1658-1661,1663,1665-1668,1675-1676,1680,1682,1685,1688,1690,1693,1700-1701,1703-1707,1709,1711,1714-1715,1719,1721-1722,1726,1729-1730,1733-1737,1739-1741
source/src/cip/cipconnectionmanager.c        708       0     0%   176-177,179-184,186,188,206,208-209,213,216-217,219,224,226,231,233,240,247,254,259,261,266,269,273,277,279-280,282,294,297,301,305-306,310,312,316,320,325,327-328,333,336,343-344,350,353-354,356,361-363,366,368-369,371,376,378-379,381-382,384-385,421,427-429,431-432,452,458-459,461-462,481,487-488,490-491,508,514-515,517,520-521,523,530,532-533,541-542,546-548,551,554-555,559-560,562,567,570,602,607-608,641,646-647,653,658,660-661,665,667,670,674-677,680-681,688-689,696,699,701-704,713,718-719,723,728-729,732,734,736,742,748-749,753,758-759,761,764-769,771,773,775,778-780,782-786,789-793,800,802,808,811,820,826-830,832,835,841-843,845-846,849-850,853,856-858,860-861,863,867,870,872,874-875,877-878,881,884,891-893,895-896,899-904,911,914-916,918-919,921-925,930,932,934,936-937,939-940,943,946,950,953,955,958,961,964,967,970,973,976,979,981,983,985,988,991,994,997,1000,1002,1004,1006,1009,1011,1013,1016-1017,1019,1021,1023-1026,1028,1031,1035,1038-1040,1042-1043,1047-1048,1050,1053,1058-1059,1063,1066,1070,1072,1074-1075,1077,1079,1082-1083,1086-1087,1089,1094,1096-1097,1101,1104,1109,1111,1125,1131,1133-1134,1137,1139-1141,1144-1145,1147-1148,1150,1152-1155,1160,1162,1170-1171,1175-1176,1178-1179,1182-1189,1192-1197,1200-1203,1211,1213,1215,1218,1220,1222,1226,1230,1232,1240,1243,1246-1248,1267,1275,1277-1278,1281,1283-1285,1287-1288,1291-1292,1294-1295,1297-1298,1300-1301,1303-1305,1309,1311,1314-1315,1317-1319,1321-1322,1324,1329,1331,1333-1335,1337,1339-1342,1344,1349,1351,1353-1357,1360,1366,1370,1373-1374,1376,1379-1380,1383-1388,1390,1395-1398,1400,1404,1406,1411-1416,1418,1424-1428,1431,1433,1439,1441,1444,1447-1450,1455,1457-1458,1460-1461,1464,1466-1468,1471-1472,1474-1475,1478,1481-1483,1486,1488-1494,1497-1500,1503-1505,1507,1509,1522-1525,1528-1529,1531,1535,1541-1542,1545-1548,1550-1553,1558,1560-1564,1566-1567,1570,1573,1577,1579,1581,1583,1586,1588,1591,1593-1595,1598,1600,1602,1604-1605,1607,1610-1611,1614,1616-1617,1619,1623-1624,1626,1629,1634,1637,1643,1647,1650-1653,1655-1656,1660-1662,1664,1670-1672,1675,1678-1680,1682-1685,1689-1690,1692,1694,1696,1702-1704,1706,1708,1710-1714,1717-1719,1721,1724,1726,1728,1732-1733,1735,1738-1746,1748-1751,1756-1763,1767-1769,1771-1772,1775,1778,1783,1785,1788-1790,1793,1800,1803-1804,1807,1810,1812-1813,1816,1818,1820,1822,1825-1827,1829-1831,1833,1835-1840,1843,1846-1847,1849,1851-1856,1860,1862,1865,1868,1872-1873,1875-1876,1878-1879,1883,1886,1888,1890-1893,1896,1899,1901,1903-1909,1912-1914,1918,1920,1923,1926-1931,1933,1937,1939-1940,1942,1944-1945,1948-1950
source/src/cip/cipconnectionobject.c         385     230    59%   61-62,67-71,77-81,86,88,107,109,111-112,167,180,248-249,271,274-275,294-296,398,400,403,406-407,409,411,414,417-418,425,427-428,430,432,435,437,467,478,480,482,484,502,505,508-510,512-514,516-518,520-522,524-526,528,530,532,534,537,540,542,544,546,549,552,554,556,558,561,564-565,579,581,583-584,586,588,590-591,593,611,621,631,633,635,641,651,653-654,656,672,684,696,714-715,738-739,744,773-774,818-819,851-852,872,875-876,878,880-885,887,889-891,893,895-896,898-899,903,907-908,912,916,918,923,925-926,928,930,933,938,940,942,945,950,953-954
source/src/cip/cipdlr.c                       30       0     0%   95,98,100-101,103,105,107-109,111,116-117,119,132,137,139,143,145,152,159,166,173,180,187,194,203,210,217,229,231
source/src/cip/cipelectronickey.c             47      47   100%
source/src/cip/cipepath.c                    297     270    90%   88-90,230-232,276-278,329-330,530,532-535,633,635,637-638,640-641,643,697,701,704-705
source/src/cip/cipethernetlink.c              58       0     0%   198-199,222-223,226,228-229,235-236,246,248,252,272-274,276,283,290,313,320,349,357,364,371,378,385,400-402,406,409,412,424,427,429,432,444,447,449,456,458,460-462,465,467-473,475,477-480,484
source/src/cip/cipidentity.c                 106       0     0%   61-64,67-69,72-74,77-79,82-85,88-90,93-94,98-99,102,106-107,110-112,116,118,120,131-134,144-147,157,159-162,170,174,176,178-179,181,183-184,186-189,193-195,203-205,208,211-212,214,219,221,226,228,235,242,249,254,256,261,264,268,274-275,277,279-282,284-285,299,303-304,306-307,314,321,328,335,342,349,357,359-361,363,366
source/src/cip/cipioconnection.c             432       0     0%   86-88,90-91,94-96,98-99,102,104-105,107-108,111,113,118-120,130-134,136,138,141-145,147-148,154,156-157,160-165,168-169,172,174-175,178,180-182,190,193-194,196-199,201,203,206-207,210-211,215,217,221,223,227-228,233,237-244,246,248-253,256-257,259,261-262,264,266-268,289,292,294-296,300,302,306,308,310-313,316,321-324,329,331,333,338,340,342,347,349-350,355-358,361-363,365,368,370,374,376-377,380,392,395,398,405,407,409-411,417-419,421-422,424-426,428-430,432,435,440,442-444,446-448,452-454,456-458,464-465,467,470,474-476,478,481,488-491,494,496,499,504-505,510-511,515-517,520,524,526-531,533,543,547,549-550,552-553,555-557,559,562,565-567,569,572,576-577,582,593-594,597-603,606-607,614-620,622-624,629-630,633,635,637-638,640,642,644,650-654,656-659,662-664,666-667,674,677,686-687,690,695,702-703,705-707,711-714,717-718,720-725,727,731-735,737-738,740,743,745,747,751,753,756-757,763,765,768-773,775-776,778,780-782,786,788,790,794,797,800-801,809-812,814-815,819-820,822,827,834,837-839,842,844-846,848,850,852-853,855,857-859,862,864,868-869,871-873,875-877,879-881,884-885,887-888,890,893,897-898,901-903,905-907,909,912,915-916,918-919,921-922,924,926-927,930-931,933-938,940,943-944,946-947,949,953,963-965,969,972-973,975-976,980,984,990,994,1001,1005,1010,1014,1023,1025-1027,1031-1033,1037-1038,1041-1042
source/src/cip/cipmessagerouter.c            122       0     0%   54-55,57,62,64,69,71,78,85,92,97,99,104,107,111,115,117-119,131,134,140,150-151,154,156-158,160,165-167,169-170,176,178,183-184,186-187,194-195,197-198,202,205,208-209,211,214,219-220,222-224,229-234,237-239,243-244,249-252,257-258,261-262,285,288,292-294,296-297,299,303,306-309,313-314,316-318,320-322,324-329,331,333,337-344,347-354,356,358-359
source/src/cip/cipqos.c                       55       0     0%   69,73,75,77-80,82-83,86,90,93,96-111,113-114,116,119-120,122-123,138,142,149,156,163,170,177,184,191,199,203,208,211-213,215-216,224-226
source/src/cip/cipstring.c                   124     109    87%   68-70,272,275-276,278,281-284,286,288-289,291
source/src/cip/cipstringi.c                  229       0     0%   16-40,42,44-47,49-67,69,76-85,92,94-134,136,138-151,153,155,158,160-161,163-164,166-176,178-183,185-186,188,190-195,197-205,207-213,215-218,220-224,227,229,232,234-236,238-245,248-257,259-261,265,267-269,271-278,281-290,292-294,298-299
source/src/cip/ciptcpipinterface.c            94       0     0%   328,330,332,334,336,338,340,342,344,346,349,351-352,354,357-358,360-361,363,366,368-369,371,374,376,378-379,381,383,389,391-393,395,399,402-404,407,515,523,525-526,528-529,531-533,536,539-540,542-543,558,562,569,576,583,609,616,627,634,641,648,655,662,669,677,682,685,690,693,695-697,700-702,704,712,714,718-721,723-725,727-732
source/src/cip/ciptypes.c                     26       0     0%   13-14,16,31,34,42-43,45,50-51,53-55,57,60-61,66-68,73-75,80-83
source/src/enet_encap/cpf.c                  281      38    13%   62,64,66,69-71,75-76,79,82-85,87,91-92,98-99,101,104,120,124-126,129,132,134,139-140,142,144,147,149-151,156-157,160-161,163-164,166,168,170,173,175,177,181,183-185,187,190,192-196,200-201,204,206-209,211,214-215,218,234,238-239,241,271-273,276-278,282-288,294-295,297-298,300-301,304-307,310-320,322,324,326,343-344,358-359,361-362,370,375-378,380,389,394-397,399-400,402,411,414,416,425,428,430,439,442,444,453,456-461,463,473,476-477,479,481,489,492-493,495,504,507-508,516,519-520,528,531-532,541,544,546,554,557,559-560,563,576,579-581,590,593-594,596,598,606,609-611,613-615,617,627,631-633,635,645,649-650,652,654,658,661-662,665,668,670-671,673-674,676,678-679,681,689-690,693-694,696,698,700,704,709-710,712-714,717,719,721,731-734,736,739,742-744,747,749,756,759-760
source/src/enet_encap/encap.c                360     110    30%   126-127,131,134-135,138-140,145-148,150,153,155,161-163,167-168,170-171,174-176,179-180,182,187-188,190,197-199,201,204-205,207,209-211,213,215-217,219,221-223,225,227-229,231,233-235,237,240,242,250,257-258,262-263,265-266,269-271,274-275,277,282-283,285-288,290,292-295,298,301,305-307,309,329,331-332,405,408-409,411,415-416,418-421,423-425,429-431,435,438,440,503,506-508,510,512,518-519,568-569,572-573,576-578,582-584,590,592-594,596-597,619,622-623,625-630,635,640,648,652-653,657,661-662,665,669,672-673,676,679-680,682,685,690,732-733,735,738,746,750,752,755,762-767,834,836-837,839-842,844-851,854-855,857-863,866-867,869-874,877,879-884,886,888,893,895,899,901,903-907,910-911,915-916,918-920,924,926-929,935,937-943,945,947,949
source/src/enet_encap/endianconv.c           131     114    87%   52-56,207-208,210-211,213-216,219,222,251-252
source/src/ports/generic_networkhandler.c
                                             475       0     0%   129-130,134,136,138,141-142,144,147-148,151-154,158-160,163,166,177,185-188,193-195,199-202,207-209,213-214,225,234-235,246,253,255-256,259,262-263,267-269,272,275-276,280-282,286,288-290,295-296,300,302-303,306-307,312-313,318-320,323,326-327,332-334,338,340-342,348-349,356,358-360,364-365,370-372,376-378,382-384,387-388,393-394,396,399-402,404-409,411-415,417,419,421-425,427,429,432,435-436,438-439,441-444,447-449,452,454,464,466,468-470,474,478-479,481-483,485,488-489,491-492,497-498,501-503,507-511,513-514,516,518-519,525-526,532-534,541,544,547-549,553,558-562,565,567-569,573,576-577,584-586,591-593,596,598-602,613-614,616-617,621,631,634,636,641,643-645,648,651-652,659-661,665-667,670,672-677,685-686,688-689,693,701,704,706,711,721-723,727-729,733-735,738,750-753,763,765-766,771,773,775-778,780-782,785,787-789,792,794-795,798,801,804,807-809,811,814-815,821-824,826-829,834-836,838-840,842-844,847-848,850,852-853,858-862,864-867,871-873,876,878,880,882,884-889,892-893,896-898,904-905,908,910,913,916,919,921,925-926,930,934,950,952,954-956,959-961,964,967-970,974,976-977,983-985,990-992,994,997-998,1001-1004,1008,1010,1012-1013,1021-1023,1025-1026,1029-1030,1038-1039,1041,1046-1047,1052-1054,1059-1060,1065-1066,1071-1073,1081-1083,1085,1088-1089,1092-1094,1096,1099-1100,1102,1105-1107,1110,1112,1114,1116-1119,1121,1127-1129,1136-1138,1140,1143-1146,1148,1151-1153,1155,1158,1164-1165,1167-1169,1171-1172,1174-1175,1179,1183,1190-1192,1194,1200-1202,1204-1207,1209,1211-1212,1216,1218-1221,1223,1226
source/src/ports/nvdata/conffile.c            32       0     0%   59-64,66-68,72-73,75,77-78,80-84,92,111-113,115-117,130-133,135-136
source/src/ports/nvdata/nvdata.c              22       0     0%   37,39-42,45,63,67,71,74,76,80-81,83,99,104,107,109,111,115-116,119
source/src/ports/nvdata/nvqos.c               37       0     0%   31-33,43-47,49-50,57,71,73,79-81,86-91,96,104-107,109,112-117,121-122,124
source/src/ports/nvdata/nvtcpip.c             17       0     0%   27,29,31,33-34,37,39,45,49,57,59,61-62,65,67,70-71
source/src/ports/POSIX/networkconfig.c       171       0     0%   27,29-31,33-35,37,39-41,43,45-46,49,52,54-58,60-62,66-70,72-73,76-77,79-80,83-84,86,88,91,93,95-97,99,102-105,107-108,110-114,121-122,124-125,127-131,133,136-137,139,152,154-157,159-170,172,175-177,184-188,190-191,193,200,203-206,211-215,217-219,230,232-233,236-239,241-245,247,250,252-253,255,257-259,261-263,266,269-270,272,277,280-281,283-286,288-290,294-295,297-299,301-302,304-305,308-309,311-312,314-315,318,321-322,324-327,329
source/src/ports/POSIX/networkhandler.c       27       0     0%   22-23,25-29,32-33,36,38,41-44,48-49,51,53-55,57-59,62,66-67
source/src/ports/POSIX/opener_error.c          9       0     0%   26-27,30-33,36-38
source/src/ports/POSIX/sample_application/sampleapplication.c
                                              51       0     0%   40,43,48,53,58,61,64,68,72,76,85,87,118,121,123,125,130-133,135-136,139,143,146,164,167,174,177-178,181,183-185,188,190-191,193-194,197-198,201-203,205-208,210,213-214
source/src/ports/socket_timer.c               25      24    96%   46
source/src/utils/doublylinkedlist.c           86      83    96%   48,127,130
source/src/utils/enipmessage.c                 4       4   100%
source/src/utils/random.c                      8       8   100%
source/src/utils/xorshiftrandom.c             13      12    92%   24
source/tests/callback_mock.cpp                31       8    25%   12-14,17-19,21,24-25,27-29,32-33,36-38,41-43,64-66
source/tests/cip/cipcommontests.cpp          107     107   100%
source/tests/cip/cipconnectionobjecttest.cpp
                                             382     382   100%
source/tests/cip/cipelectronickeyformattest.cpp
                                             125     125   100%
source/tests/cip/cipelectronickeytest.cpp
                                              24      24   100%
source/tests/cip/cipepathtest.cpp            633     633   100%
source/tests/cip/cipstringtests.cpp          207     207   100%
source/tests/enet_encap/encaptest.cpp         52      52   100%
source/tests/enet_encap/endianconvtest.cpp
                                             167     167   100%
source/tests/OpENerTests.cpp                  29      11    37%   64,71-73,76,78,84-85,87-88,90-94,96,100,108
source/tests/ports/socket_timer_tests.cpp
                                              31      31   100%
source/tests/utils/doublylinkedlistTests.cpp
                                             247     247   100%
source/tests/utils/randomTests.cpp             9       9   100%
source/tests/utils/xorshiftrandomtests.cpp
                                              13      13   100%
------------------------------------------------------------------------------
TOTAL                                       7632    3109    40%
------------------------------------------------------------------------------
lines: 40.7% (3109 out of 7632)
functions: 63.4% (630 out of 994)
branches: 17.7% (1100 out of 6232)

📥 Download the detailed HTML report from artifacts.

ℹ️ This PR was tested with standard static analysis. Exhaustive analysis will run on release branches.

@github-actions
Copy link

github-actions bot commented Dec 3, 2025

📊 Coverage Report

Line Coverage: 40.7%

------------------------------------------------------------------------------
                           GCC Code Coverage Report
Directory: .
------------------------------------------------------------------------------
File                                       Lines    Exec  Cover   Missing
------------------------------------------------------------------------------
source/src/cip/appcontype.c                  186       0     0%   93,98-99,101,103,106,108,112-113,115-116,119,121,125-126,128,130,133,135,138,140-143,146-148,150-153,155,158,165,172,174,178-179,182,185,188-194,196-197,199-202,204-205,207-209,211-212,214,216,219-220,229,232,234-239,241,243-245,247,250-255,258,260,262,266-271,279-280,283,286,288-289,291-294,296,298-300,302,306,312-317,320,322,324,328-333,341-342,345,347,349-352,354-356,360-361,363-365,368,373,375,377-380,382,384,386-387,390,394,396,401,405-413,417-418,421,423-429,431,433-434,436-439,442,447-448,452,455,458
source/src/cip/cipassembly.c                  75       0     0%   49,51,63-64,69,74-75,78,84-85,88-89,91-96,98,101,103,106-108,111,115,119-121,125-126,128,137,142,145,148,154-156,161,165,168,172-174,176-178,180-183,185-188,192-193,196,205,207,210,212,215,218-220,222,224,227,230-232,234,236
source/src/cip/cipclass3connection.c          35       0     0%   19-20,22-23,26,29,31,33-35,38,40,42,46,48,51,53,60-62,64,70-71,74,76,79-83,89,92-95
source/src/cip/cipcommon.c                   817      44     5%   45,47-58,63-64,81-82,84,87,89,91,93,95,98-99,101,108,111,114,118,120-122,124-125,127-128,131-133,139,144-145,149,151,157,159-160,162,165,168-172,175,177,180,182-185,189,192-193,197-198,201,204,208,212,216-217,222-225,228-229,233,235,238,241,243,245,250,252,254,256,259,262,269-270,272,275,277,279-281,284,287,290,302,304,316-318,322-324,326,328-329,332,336,339,342-348,357,360,362,364-366,368,371,374-376,379,382,384,386,390,393,395-396,402-403,406-407,409-410,412-413,418,423,425,428-429,434,436,441,443,449,451,459,466,471,473,478,480-481,483,489,495,502,509,512-513,515,518-525,527,529,531-533,535,537-538,540,542,548-549,553,557,562-563,566-567,569-570,572-573,575-576,578,580,584,587-588,590-591,593-594,598-599,601,603,605,607-609,611,620,623-628,631,638-639,643-644,646,649,652-656,659,664-666,670-672,676-679,684,692,694-695,712,714-715,732,734-735,737-739,741,743-744,746,748-749,751,753-754,756,758-759,761,763,765,767-772,774,776,778-781,783-784,786,788,791,793,796-797,799-800,802,805-806,808-809,811,813-818,820,822-825,827-829,831-833,835-837,839-841,843,845-846,849,851,853-860,862,864-866,868,870-874,876,879-884,886,893-894,896-897,899,902,906-907,913-916,920-922,926,928,936-939,942,944,949,952,955-957,960,963-965,968,972-974,976-979,981-984,988-989,991,993-994,997,1000-1002,1005,1008-1010,1013,1016-1018,1021,1024-1026,1029,1032-1034,1037,1040-1042,1045,1048-1050,1053,1056-1058,1061,1064-1066,1069,1072-1074,1077,1080-1082,1085,1088-1090,1093,1096-1098,1118-1119,1148,1150-1152,1154-1155,1157,1162,1168-1169,1171-1172,1177,1179-1182,1184,1186-1187,1189-1192,1195,1198,1200,1203,1206,1212-1213,1215-1219,1221-1222,1224-1226,1228,1231,1236-1238,1240-1243,1245,1247,1249-1250,1252,1254,1256,1259,1263,1265,1267,1270,1273-1278,1280,1283,1285-1286,1290,1293,1295,1299,1301,1303,1307,1309,1311,1313,1316,1319,1325,1331-1332,1334-1338,1340-1341,1343-1345,1347,1350,1355-1357,1359-1362,1364,1366,1368-1369,1371,1373,1375,1378,1382,1384,1386,1389,1392-1397,1399,1402,1404,1409,1412,1416-1420,1423-1424,1428,1430,1432,1436,1438,1440,1442,1445,1448,1454-1457,1459-1462,1464-1467,1470-1474,1476-1479,1482-1486,1488-1491,1497,1499,1501,1504-1506,1508-1509,1512-1514,1516-1517,1522-1524,1526-1528,1530,1532-1535,1537,1539-1541,1543,1545-1548,1550,1552-1554,1556,1558-1561,1563,1565-1567,1569-1571,1579-1581,1583,1586,1593-1594,1596-1600,1602,1604,1607-1608,1612-1615,1618-1619,1623,1625,1628,1635-1636,1638-1642,1644,1646,1649-1650,1654-1655,1658-1661,1663,1665-1668,1675-1676,1680,1682,1685,1688,1690,1693,1700-1701,1703-1707,1709,1711,1714-1715,1719,1721-1722,1726,1729-1730,1733-1737,1739-1741
source/src/cip/cipconnectionmanager.c        708       0     0%   176-177,179-184,186,188,206,208-209,213,216-217,219,224,226,231,233,240,247,254,259,261,266,269,273,277,279-280,282,294,297,301,305-306,310,312,316,320,325,327-328,333,336,343-344,350,353-354,356,361-363,366,368-369,371,376,378-379,381-382,384-385,421,427-429,431-432,452,458-459,461-462,481,487-488,490-491,508,514-515,517,520-521,523,530,532-533,541-542,546-548,551,554-555,559-560,562,567,570,602,607-608,641,646-647,653,658,660-661,665,667,670,674-677,680-681,688-689,696,699,701-704,713,718-719,723,728-729,732,734,736,742,748-749,753,758-759,761,764-769,771,773,775,778-780,782-786,789-793,800,802,808,811,820,826-830,832,835,841-843,845-846,849-850,853,856-858,860-861,863,867,870,872,874-875,877-878,881,884,891-893,895-896,899-904,911,914-916,918-919,921-925,930,932,934,936-937,939-940,943,946,950,953,955,958,961,964,967,970,973,976,979,981,983,985,988,991,994,997,1000,1002,1004,1006,1009,1011,1013,1016-1017,1019,1021,1023-1026,1028,1031,1035,1038-1040,1042-1043,1047-1048,1050,1053,1058-1059,1063,1066,1070,1072,1074-1075,1077,1079,1082-1083,1086-1087,1089,1094,1096-1097,1101,1104,1109,1111,1125,1131,1133-1134,1137,1139-1141,1144-1145,1147-1148,1150,1152-1155,1160,1162,1170-1171,1175-1176,1178-1179,1182-1189,1192-1197,1200-1203,1211,1213,1215,1218,1220,1222,1226,1230,1232,1240,1243,1246-1248,1267,1275,1277-1278,1281,1283-1285,1287-1288,1291-1292,1294-1295,1297-1298,1300-1301,1303-1305,1309,1311,1314-1315,1317-1319,1321-1322,1324,1329,1331,1333-1335,1337,1339-1342,1344,1349,1351,1353-1357,1360,1366,1370,1373-1374,1376,1379-1380,1383-1388,1390,1395-1398,1400,1404,1406,1411-1416,1418,1424-1428,1431,1433,1439,1441,1444,1447-1450,1455,1457-1458,1460-1461,1464,1466-1468,1471-1472,1474-1475,1478,1481-1483,1486,1488-1494,1497-1500,1503-1505,1507,1509,1522-1525,1528-1529,1531,1535,1541-1542,1545-1548,1550-1553,1558,1560-1564,1566-1567,1570,1573,1577,1579,1581,1583,1586,1588,1591,1593-1595,1598,1600,1602,1604-1605,1607,1610-1611,1614,1616-1617,1619,1623-1624,1626,1629,1634,1637,1643,1647,1650-1653,1655-1656,1660-1662,1664,1670-1672,1675,1678-1680,1682-1685,1689-1690,1692,1694,1696,1702-1704,1706,1708,1710-1714,1717-1719,1721,1724,1726,1728,1732-1733,1735,1738-1746,1748-1751,1756-1763,1767-1769,1771-1772,1775,1778,1783,1785,1788-1790,1793,1800,1803-1804,1807,1810,1812-1813,1816,1818,1820,1822,1825-1827,1829-1831,1833,1835-1840,1843,1846-1847,1849,1851-1856,1860,1862,1865,1868,1872-1873,1875-1876,1878-1879,1883,1886,1888,1890-1893,1896,1899,1901,1903-1909,1912-1914,1918,1920,1923,1926-1931,1933,1937,1939-1940,1942,1944-1945,1948-1950
source/src/cip/cipconnectionobject.c         385     230    59%   61-62,67-71,77-81,86,88,107,109,111-112,167,180,248-249,271,274-275,294-296,398,400,403,406-407,409,411,414,417-418,425,427-428,430,432,435,437,467,478,480,482,484,502,505,508-510,512-514,516-518,520-522,524-526,528,530,532,534,537,540,542,544,546,549,552,554,556,558,561,564-565,579,581,583-584,586,588,590-591,593,611,621,631,633,635,641,651,653-654,656,672,684,696,714-715,738-739,744,773-774,818-819,851-852,872,875-876,878,880-885,887,889-891,893,895-896,898-899,903,907-908,912,916,918,923,925-926,928,930,933,938,940,942,945,950,953-954
source/src/cip/cipdlr.c                       30       0     0%   95,98,100-101,103,105,107-109,111,116-117,119,132,137,139,143,145,152,159,166,173,180,187,194,203,210,217,229,231
source/src/cip/cipelectronickey.c             47      47   100%
source/src/cip/cipepath.c                    297     270    90%   88-90,230-232,276-278,329-330,530,532-535,633,635,637-638,640-641,643,697,701,704-705
source/src/cip/cipethernetlink.c              58       0     0%   198-199,222-223,226,228-229,235-236,246,248,252,272-274,276,283,290,313,320,349,357,364,371,378,385,400-402,406,409,412,424,427,429,432,444,447,449,456,458,460-462,465,467-473,475,477-480,484
source/src/cip/cipidentity.c                 106       0     0%   61-64,67-69,72-74,77-79,82-85,88-90,93-94,98-99,102,106-107,110-112,116,118,120,131-134,144-147,157,159-162,170,174,176,178-179,181,183-184,186-189,193-195,203-205,208,211-212,214,219,221,226,228,235,242,249,254,256,261,264,268,274-275,277,279-282,284-285,299,303-304,306-307,314,321,328,335,342,349,357,359-361,363,366
source/src/cip/cipioconnection.c             432       0     0%   86-88,90-91,94-96,98-99,102,104-105,107-108,111,113,118-120,130-134,136,138,141-145,147-148,154,156-157,160-165,168-169,172,174-175,178,180-182,190,193-194,196-199,201,203,206-207,210-211,215,217,221,223,227-228,233,237-244,246,248-253,256-257,259,261-262,264,266-268,289,292,294-296,300,302,306,308,310-313,316,321-324,329,331,333,338,340,342,347,349-350,355-358,361-363,365,368,370,374,376-377,380,392,395,398,405,407,409-411,417-419,421-422,424-426,428-430,432,435,440,442-444,446-448,452-454,456-458,464-465,467,470,474-476,478,481,488-491,494,496,499,504-505,510-511,515-517,520,524,526-531,533,543,547,549-550,552-553,555-557,559,562,565-567,569,572,576-577,582,593-594,597-603,606-607,614-620,622-624,629-630,633,635,637-638,640,642,644,650-654,656-659,662-664,666-667,674,677,686-687,690,695,702-703,705-707,711-714,717-718,720-725,727,731-735,737-738,740,743,745,747,751,753,756-757,763,765,768-773,775-776,778,780-782,786,788,790,794,797,800-801,809-812,814-815,819-820,822,827,834,837-839,842,844-846,848,850,852-853,855,857-859,862,864,868-869,871-873,875-877,879-881,884-885,887-888,890,893,897-898,901-903,905-907,909,912,915-916,918-919,921-922,924,926-927,930-931,933-938,940,943-944,946-947,949,953,963-965,969,972-973,975-976,980,984,990,994,1001,1005,1010,1014,1023,1025-1027,1031-1033,1037-1038,1041-1042
source/src/cip/cipmessagerouter.c            122       0     0%   54-55,57,62,64,69,71,78,85,92,97,99,104,107,111,115,117-119,131,134,140,150-151,154,156-158,160,165-167,169-170,176,178,183-184,186-187,194-195,197-198,202,205,208-209,211,214,219-220,222-224,229-234,237-239,243-244,249-252,257-258,261-262,285,288,292-294,296-297,299,303,306-309,313-314,316-318,320-322,324-329,331,333,337-344,347-354,356,358-359
source/src/cip/cipqos.c                       55       0     0%   69,73,75,77-80,82-83,86,90,93,96-111,113-114,116,119-120,122-123,138,142,149,156,163,170,177,184,191,199,203,208,211-213,215-216,224-226
source/src/cip/cipstring.c                   124     109    87%   68-70,272,275-276,278,281-284,286,288-289,291
source/src/cip/cipstringi.c                  229       0     0%   16-40,42,44-47,49-67,69,76-85,92,94-134,136,138-151,153,155,158,160-161,163-164,166-176,178-183,185-186,188,190-195,197-205,207-213,215-218,220-224,227,229,232,234-236,238-245,248-257,259-261,265,267-269,271-278,281-290,292-294,298-299
source/src/cip/ciptcpipinterface.c            94       0     0%   328,330,332,334,336,338,340,342,344,346,349,351-352,354,357-358,360-361,363,366,368-369,371,374,376,378-379,381,383,389,391-393,395,399,402-404,407,515,523,525-526,528-529,531-533,536,539-540,542-543,558,562,569,576,583,609,616,627,634,641,648,655,662,669,677,682,685,690,693,695-697,700-702,704,712,714,718-721,723-725,727-732
source/src/cip/ciptypes.c                     26       0     0%   13-14,16,31,34,42-43,45,50-51,53-55,57,60-61,66-68,73-75,80-83
source/src/enet_encap/cpf.c                  281      38    13%   62,64,66,69-71,75-76,79,82-85,87,91-92,98-99,101,104,120,124-126,129,132,134,139-140,142,144,147,149-151,156-157,160-161,163-164,166,168,170,173,175,177,181,183-185,187,190,192-196,200-201,204,206-209,211,214-215,218,234,238-239,241,271-273,276-278,282-288,294-295,297-298,300-301,304-307,310-320,322,324,326,343-344,358-359,361-362,370,375-378,380,389,394-397,399-400,402,411,414,416,425,428,430,439,442,444,453,456-461,463,473,476-477,479,481,489,492-493,495,504,507-508,516,519-520,528,531-532,541,544,546,554,557,559-560,563,576,579-581,590,593-594,596,598,606,609-611,613-615,617,627,631-633,635,645,649-650,652,654,658,661-662,665,668,670-671,673-674,676,678-679,681,689-690,693-694,696,698,700,704,709-710,712-714,717,719,721,731-734,736,739,742-744,747,749,756,759-760
source/src/enet_encap/encap.c                360     110    30%   126-127,131,134-135,138-140,145-148,150,153,155,161-163,167-168,170-171,174-176,179-180,182,187-188,190,197-199,201,204-205,207,209-211,213,215-217,219,221-223,225,227-229,231,233-235,237,240,242,250,257-258,262-263,265-266,269-271,274-275,277,282-283,285-288,290,292-295,298,301,305-307,309,329,331-332,405,408-409,411,415-416,418-421,423-425,429-431,435,438,440,503,506-508,510,512,518-519,568-569,572-573,576-578,582-584,590,592-594,596-597,619,622-623,625-630,635,640,648,652-653,657,661-662,665,669,672-673,676,679-680,682,685,690,732-733,735,738,746,750,752,755,762-767,834,836-837,839-842,844-851,854-855,857-863,866-867,869-874,877,879-884,886,888,893,895,899,901,903-907,910-911,915-916,918-920,924,926-929,935,937-943,945,947,949
source/src/enet_encap/endianconv.c           131     114    87%   52-56,207-208,210-211,213-216,219,222,251-252
source/src/ports/generic_networkhandler.c
                                             475       0     0%   129-130,134,136,138,141-142,144,147-148,151-154,158-160,163,166,177,185-188,193-195,199-202,207-209,213-214,225,234-235,246,253,255-256,259,262-263,267-269,272,275-276,280-282,286,288-290,295-296,300,302-303,306-307,312-313,318-320,323,326-327,332-334,338,340-342,348-349,356,358-360,364-365,370-372,376-378,382-384,387-388,393-394,396,399-402,404-409,411-415,417,419,421-425,427,429,432,435-436,438-439,441-444,447-449,452,454,464,466,468-470,474,478-479,481-483,485,488-489,491-492,497-498,501-503,507-511,513-514,516,518-519,525-526,532-534,541,544,547-549,553,558-562,565,567-569,573,576-577,584-586,591-593,596,598-602,613-614,616-617,621,631,634,636,641,643-645,648,651-652,659-661,665-667,670,672-677,685-686,688-689,693,701,704,706,711,721-723,727-729,733-735,738,750-753,763,765-766,771,773,775-778,780-782,785,787-789,792,794-795,798,801,804,807-809,811,814-815,821-824,826-829,834-836,838-840,842-844,847-848,850,852-853,858-862,864-867,871-873,876,878,880,882,884-889,892-893,896-898,904-905,908,910,913,916,919,921,925-926,930,934,950,952,954-956,959-961,964,967-970,974,976-977,983-985,990-992,994,997-998,1001-1004,1008,1010,1012-1013,1021-1023,1025-1026,1029-1030,1038-1039,1041,1046-1047,1052-1054,1059-1060,1065-1066,1071-1073,1081-1083,1085,1088-1089,1092-1094,1096,1099-1100,1102,1105-1107,1110,1112,1114,1116-1119,1121,1127-1129,1136-1138,1140,1143-1146,1148,1151-1153,1155,1158,1164-1165,1167-1169,1171-1172,1174-1175,1179,1183,1190-1192,1194,1200-1202,1204-1207,1209,1211-1212,1216,1218-1221,1223,1226
source/src/ports/nvdata/conffile.c            32       0     0%   59-64,66-68,72-73,75,77-78,80-84,92,111-113,115-117,130-133,135-136
source/src/ports/nvdata/nvdata.c              22       0     0%   37,39-42,45,63,67,71,74,76,80-81,83,99,104,107,109,111,115-116,119
source/src/ports/nvdata/nvqos.c               37       0     0%   31-33,43-47,49-50,57,71,73,79-81,86-91,96,104-107,109,112-117,121-122,124
source/src/ports/nvdata/nvtcpip.c             17       0     0%   27,29,31,33-34,37,39,45,49,57,59,61-62,65,67,70-71
source/src/ports/POSIX/networkconfig.c       171       0     0%   27,29-31,33-35,37,39-41,43,45-46,49,52,54-58,60-62,66-70,72-73,76-77,79-80,83-84,86,88,91,93,95-97,99,102-105,107-108,110-114,121-122,124-125,127-131,133,136-137,139,152,154-157,159-170,172,175-177,184-188,190-191,193,200,203-206,211-215,217-219,230,232-233,236-239,241-245,247,250,252-253,255,257-259,261-263,266,269-270,272,277,280-281,283-286,288-290,294-295,297-299,301-302,304-305,308-309,311-312,314-315,318,321-322,324-327,329
source/src/ports/POSIX/networkhandler.c       27       0     0%   22-23,25-29,32-33,36,38,41-44,48-49,51,53-55,57-59,62,66-67
source/src/ports/POSIX/opener_error.c          9       0     0%   26-27,30-33,36-38
source/src/ports/POSIX/sample_application/sampleapplication.c
                                              51       0     0%   40,43,48,53,58,61,64,68,72,76,85,87,118,121,123,125,130-133,135-136,139,143,146,164,167,174,177-178,181,183-185,188,190-191,193-194,197-198,201-203,205-208,210,213-214
source/src/ports/socket_timer.c               25      24    96%   46
source/src/utils/doublylinkedlist.c           86      83    96%   48,127,130
source/src/utils/enipmessage.c                 4       4   100%
source/src/utils/random.c                      8       8   100%
source/src/utils/xorshiftrandom.c             13      12    92%   24
source/tests/callback_mock.cpp                31       8    25%   12-14,17-19,21,24-25,27-29,32-33,36-38,41-43,64-66
source/tests/cip/cipcommontests.cpp          107     107   100%
source/tests/cip/cipconnectionobjecttest.cpp
                                             382     382   100%
source/tests/cip/cipelectronickeyformattest.cpp
                                             125     125   100%
source/tests/cip/cipelectronickeytest.cpp
                                              24      24   100%
source/tests/cip/cipepathtest.cpp            633     633   100%
source/tests/cip/cipstringtests.cpp          207     207   100%
source/tests/enet_encap/encaptest.cpp         52      52   100%
source/tests/enet_encap/endianconvtest.cpp
                                             167     167   100%
source/tests/OpENerTests.cpp                  29      11    37%   64,71-73,76,78,84-85,87-88,90-94,96,100,108
source/tests/ports/socket_timer_tests.cpp
                                              31      31   100%
source/tests/utils/doublylinkedlistTests.cpp
                                             247     247   100%
source/tests/utils/randomTests.cpp             9       9   100%
source/tests/utils/xorshiftrandomtests.cpp
                                              13      13   100%
------------------------------------------------------------------------------
TOTAL                                       7632    3109    40%
------------------------------------------------------------------------------
lines: 40.7% (3109 out of 7632)
functions: 63.4% (630 out of 994)
branches: 17.7% (1100 out of 6232)

📥 Download the detailed HTML report from artifacts.

ℹ️ This PR was tested with standard static analysis. Exhaustive analysis will run on release branches.

@github-actions
Copy link

github-actions bot commented Dec 3, 2025

📊 Coverage Report

Line Coverage: 40.7%

------------------------------------------------------------------------------
                           GCC Code Coverage Report
Directory: .
------------------------------------------------------------------------------
File                                       Lines    Exec  Cover   Missing
------------------------------------------------------------------------------
source/src/cip/appcontype.c                  186       0     0%   93,98-99,101,103,106,108,112-113,115-116,119,121,125-126,128,130,133,135,138,140-143,146-148,150-153,155,158,165,172,174,178-179,182,185,188-194,196-197,199-202,204-205,207-209,211-212,214,216,219-220,229,232,234-239,241,243-245,247,250-255,258,260,262,266-271,279-280,283,286,288-289,291-294,296,298-300,302,306,312-317,320,322,324,328-333,341-342,345,347,349-352,354-356,360-361,363-365,368,373,375,377-380,382,384,386-387,390,394,396,401,405-413,417-418,421,423-429,431,433-434,436-439,442,447-448,452,455,458
source/src/cip/cipassembly.c                  75       0     0%   49,51,63-64,69,74-75,78,84-85,88-89,91-96,98,101,103,106-108,111,115,119-121,125-126,128,137,142,145,148,154-156,161,165,168,172-174,176-178,180-183,185-188,192-193,196,205,207,210,212,215,218-220,222,224,227,230-232,234,236
source/src/cip/cipclass3connection.c          35       0     0%   19-20,22-23,26,29,31,33-35,38,40,42,46,48,51,53,60-62,64,70-71,74,76,79-83,89,92-95
source/src/cip/cipcommon.c                   817      44     5%   45,47-58,63-64,81-82,84,87,89,91,93,95,98-99,101,108,111,114,118,120-122,124-125,127-128,131-133,139,144-145,149,151,157,159-160,162,165,168-172,175,177,180,182-185,189,192-193,197-198,201,204,208,212,216-217,222-225,228-229,233,235,238,241,243,245,250,252,254,256,259,262,269-270,272,275,277,279-281,284,287,290,302,304,316-318,322-324,326,328-329,332,336,339,342-348,357,360,362,364-366,368,371,374-376,379,382,384,386,390,393,395-396,402-403,406-407,409-410,412-413,418,423,425,428-429,434,436,441,443,449,451,459,466,471,473,478,480-481,483,489,495,502,509,512-513,515,518-525,527,529,531-533,535,537-538,540,542,548-549,553,557,562-563,566-567,569-570,572-573,575-576,578,580,584,587-588,590-591,593-594,598-599,601,603,605,607-609,611,620,623-628,631,638-639,643-644,646,649,652-656,659,664-666,670-672,676-679,684,692,694-695,712,714-715,732,734-735,737-739,741,743-744,746,748-749,751,753-754,756,758-759,761,763,765,767-772,774,776,778-781,783-784,786,788,791,793,796-797,799-800,802,805-806,808-809,811,813-818,820,822-825,827-829,831-833,835-837,839-841,843,845-846,849,851,853-860,862,864-866,868,870-874,876,879-884,886,893-894,896-897,899,902,906-907,913-916,920-922,926,928,936-939,942,944,949,952,955-957,960,963-965,968,972-974,976-979,981-984,988-989,991,993-994,997,1000-1002,1005,1008-1010,1013,1016-1018,1021,1024-1026,1029,1032-1034,1037,1040-1042,1045,1048-1050,1053,1056-1058,1061,1064-1066,1069,1072-1074,1077,1080-1082,1085,1088-1090,1093,1096-1098,1118-1119,1148,1150-1152,1154-1155,1157,1162,1168-1169,1171-1172,1177,1179-1182,1184,1186-1187,1189-1192,1195,1198,1200,1203,1206,1212-1213,1215-1219,1221-1222,1224-1226,1228,1231,1236-1238,1240-1243,1245,1247,1249-1250,1252,1254,1256,1259,1263,1265,1267,1270,1273-1278,1280,1283,1285-1286,1290,1293,1295,1299,1301,1303,1307,1309,1311,1313,1316,1319,1325,1331-1332,1334-1338,1340-1341,1343-1345,1347,1350,1355-1357,1359-1362,1364,1366,1368-1369,1371,1373,1375,1378,1382,1384,1386,1389,1392-1397,1399,1402,1404,1409,1412,1416-1420,1423-1424,1428,1430,1432,1436,1438,1440,1442,1445,1448,1454-1457,1459-1462,1464-1467,1470-1474,1476-1479,1482-1486,1488-1491,1497,1499,1501,1504-1506,1508-1509,1512-1514,1516-1517,1522-1524,1526-1528,1530,1532-1535,1537,1539-1541,1543,1545-1548,1550,1552-1554,1556,1558-1561,1563,1565-1567,1569-1571,1579-1581,1583,1586,1593-1594,1596-1600,1602,1604,1607-1608,1612-1615,1618-1619,1623,1625,1628,1635-1636,1638-1642,1644,1646,1649-1650,1654-1655,1658-1661,1663,1665-1668,1675-1676,1680,1682,1685,1688,1690,1693,1700-1701,1703-1707,1709,1711,1714-1715,1719,1721-1722,1726,1729-1730,1733-1737,1739-1741
source/src/cip/cipconnectionmanager.c        708       0     0%   176-177,179-184,186,188,206,208-209,213,216-217,219,224,226,231,233,240,247,254,259,261,266,269,273,277,279-280,282,294,297,301,305-306,310,312,316,320,325,327-328,333,336,343-344,350,353-354,356,361-363,366,368-369,371,376,378-379,381-382,384-385,421,427-429,431-432,452,458-459,461-462,481,487-488,490-491,508,514-515,517,520-521,523,530,532-533,541-542,546-548,551,554-555,559-560,562,567,570,602,607-608,641,646-647,653,658,660-661,665,667,670,674-677,680-681,688-689,696,699,701-704,713,718-719,723,728-729,732,734,736,742,748-749,753,758-759,761,764-769,771,773,775,778-780,782-786,789-793,800,802,808,811,820,826-830,832,835,841-843,845-846,849-850,853,856-858,860-861,863,867,870,872,874-875,877-878,881,884,891-893,895-896,899-904,911,914-916,918-919,921-925,930,932,934,936-937,939-940,943,946,950,953,955,958,961,964,967,970,973,976,979,981,983,985,988,991,994,997,1000,1002,1004,1006,1009,1011,1013,1016-1017,1019,1021,1023-1026,1028,1031,1035,1038-1040,1042-1043,1047-1048,1050,1053,1058-1059,1063,1066,1070,1072,1074-1075,1077,1079,1082-1083,1086-1087,1089,1094,1096-1097,1101,1104,1109,1111,1125,1131,1133-1134,1137,1139-1141,1144-1145,1147-1148,1150,1152-1155,1160,1162,1170-1171,1175-1176,1178-1179,1182-1189,1192-1197,1200-1203,1211,1213,1215,1218,1220,1222,1226,1230,1232,1240,1243,1246-1248,1267,1275,1277-1278,1281,1283-1285,1287-1288,1291-1292,1294-1295,1297-1298,1300-1301,1303-1305,1309,1311,1314-1315,1317-1319,1321-1322,1324,1329,1331,1333-1335,1337,1339-1342,1344,1349,1351,1353-1357,1360,1366,1370,1373-1374,1376,1379-1380,1383-1388,1390,1395-1398,1400,1404,1406,1411-1416,1418,1424-1428,1431,1433,1439,1441,1444,1447-1450,1455,1457-1458,1460-1461,1464,1466-1468,1471-1472,1474-1475,1478,1481-1483,1486,1488-1494,1497-1500,1503-1505,1507,1509,1522-1525,1528-1529,1531,1535,1541-1542,1545-1548,1550-1553,1558,1560-1564,1566-1567,1570,1573,1577,1579,1581,1583,1586,1588,1591,1593-1595,1598,1600,1602,1604-1605,1607,1610-1611,1614,1616-1617,1619,1623-1624,1626,1629,1634,1637,1643,1647,1650-1653,1655-1656,1660-1662,1664,1670-1672,1675,1678-1680,1682-1685,1689-1690,1692,1694,1696,1702-1704,1706,1708,1710-1714,1717-1719,1721,1724,1726,1728,1732-1733,1735,1738-1746,1748-1751,1756-1763,1767-1769,1771-1772,1775,1778,1783,1785,1788-1790,1793,1800,1803-1804,1807,1810,1812-1813,1816,1818,1820,1822,1825-1827,1829-1831,1833,1835-1840,1843,1846-1847,1849,1851-1856,1860,1862,1865,1868,1872-1873,1875-1876,1878-1879,1883,1886,1888,1890-1893,1896,1899,1901,1903-1909,1912-1914,1918,1920,1923,1926-1931,1933,1937,1939-1940,1942,1944-1945,1948-1950
source/src/cip/cipconnectionobject.c         385     230    59%   61-62,67-71,77-81,86,88,107,109,111-112,167,180,248-249,271,274-275,294-296,398,400,403,406-407,409,411,414,417-418,425,427-428,430,432,435,437,467,478,480,482,484,502,505,508-510,512-514,516-518,520-522,524-526,528,530,532,534,537,540,542,544,546,549,552,554,556,558,561,564-565,579,581,583-584,586,588,590-591,593,611,621,631,633,635,641,651,653-654,656,672,684,696,714-715,738-739,744,773-774,818-819,851-852,872,875-876,878,880-885,887,889-891,893,895-896,898-899,903,907-908,912,916,918,923,925-926,928,930,933,938,940,942,945,950,953-954
source/src/cip/cipdlr.c                       30       0     0%   95,98,100-101,103,105,107-109,111,116-117,119,132,137,139,143,145,152,159,166,173,180,187,194,203,210,217,229,231
source/src/cip/cipelectronickey.c             47      47   100%
source/src/cip/cipepath.c                    297     270    90%   88-90,230-232,276-278,329-330,530,532-535,633,635,637-638,640-641,643,697,701,704-705
source/src/cip/cipethernetlink.c              58       0     0%   198-199,222-223,226,228-229,235-236,246,248,252,272-274,276,283,290,313,320,349,357,364,371,378,385,400-402,406,409,412,424,427,429,432,444,447,449,456,458,460-462,465,467-473,475,477-480,484
source/src/cip/cipidentity.c                 106       0     0%   61-64,67-69,72-74,77-79,82-85,88-90,93-94,98-99,102,106-107,110-112,116,118,120,131-134,144-147,157,159-162,170,174,176,178-179,181,183-184,186-189,193-195,203-205,208,211-212,214,219,221,226,228,235,242,249,254,256,261,264,268,274-275,277,279-282,284-285,299,303-304,306-307,314,321,328,335,342,349,357,359-361,363,366
source/src/cip/cipioconnection.c             432       0     0%   86-88,90-91,94-96,98-99,102,104-105,107-108,111,113,118-120,130-134,136,138,141-145,147-148,154,156-157,160-165,168-169,172,174-175,178,180-182,190,193-194,196-199,201,203,206-207,210-211,215,217,221,223,227-228,233,237-244,246,248-253,256-257,259,261-262,264,266-268,289,292,294-296,300,302,306,308,310-313,316,321-324,329,331,333,338,340,342,347,349-350,355-358,361-363,365,368,370,374,376-377,380,392,395,398,405,407,409-411,417-419,421-422,424-426,428-430,432,435,440,442-444,446-448,452-454,456-458,464-465,467,470,474-476,478,481,488-491,494,496,499,504-505,510-511,515-517,520,524,526-531,533,543,547,549-550,552-553,555-557,559,562,565-567,569,572,576-577,582,593-594,597-603,606-607,614-620,622-624,629-630,633,635,637-638,640,642,644,650-654,656-659,662-664,666-667,674,677,686-687,690,695,702-703,705-707,711-714,717-718,720-725,727,731-735,737-738,740,743,745,747,751,753,756-757,763,765,768-773,775-776,778,780-782,786,788,790,794,797,800-801,809-812,814-815,819-820,822,827,834,837-839,842,844-846,848,850,852-853,855,857-859,862,864,868-869,871-873,875-877,879-881,884-885,887-888,890,893,897-898,901-903,905-907,909,912,915-916,918-919,921-922,924,926-927,930-931,933-938,940,943-944,946-947,949,953,963-965,969,972-973,975-976,980,984,990,994,1001,1005,1010,1014,1023,1025-1027,1031-1033,1037-1038,1041-1042
source/src/cip/cipmessagerouter.c            122       0     0%   54-55,57,62,64,69,71,78,85,92,97,99,104,107,111,115,117-119,131,134,140,150-151,154,156-158,160,165-167,169-170,176,178,183-184,186-187,194-195,197-198,202,205,208-209,211,214,219-220,222-224,229-234,237-239,243-244,249-252,257-258,261-262,285,288,292-294,296-297,299,303,306-309,313-314,316-318,320-322,324-329,331,333,337-344,347-354,356,358-359
source/src/cip/cipqos.c                       55       0     0%   69,73,75,77-80,82-83,86,90,93,96-111,113-114,116,119-120,122-123,138,142,149,156,163,170,177,184,191,199,203,208,211-213,215-216,224-226
source/src/cip/cipstring.c                   124     109    87%   68-70,272,275-276,278,281-284,286,288-289,291
source/src/cip/cipstringi.c                  229       0     0%   16-40,42,44-47,49-67,69,76-85,92,94-134,136,138-151,153,155,158,160-161,163-164,166-176,178-183,185-186,188,190-195,197-205,207-213,215-218,220-224,227,229,232,234-236,238-245,248-257,259-261,265,267-269,271-278,281-290,292-294,298-299
source/src/cip/ciptcpipinterface.c            94       0     0%   328,330,332,334,336,338,340,342,344,346,349,351-352,354,357-358,360-361,363,366,368-369,371,374,376,378-379,381,383,389,391-393,395,399,402-404,407,515,523,525-526,528-529,531-533,536,539-540,542-543,558,562,569,576,583,609,616,627,634,641,648,655,662,669,677,682,685,690,693,695-697,700-702,704,712,714,718-721,723-725,727-732
source/src/cip/ciptypes.c                     26       0     0%   13-14,16,31,34,42-43,45,50-51,53-55,57,60-61,66-68,73-75,80-83
source/src/enet_encap/cpf.c                  281      38    13%   62,64,66,69-71,75-76,79,82-85,87,91-92,98-99,101,104,120,124-126,129,132,134,139-140,142,144,147,149-151,156-157,160-161,163-164,166,168,170,173,175,177,181,183-185,187,190,192-196,200-201,204,206-209,211,214-215,218,234,238-239,241,271-273,276-278,282-288,294-295,297-298,300-301,304-307,310-320,322,324,326,343-344,358-359,361-362,370,375-378,380,389,394-397,399-400,402,411,414,416,425,428,430,439,442,444,453,456-461,463,473,476-477,479,481,489,492-493,495,504,507-508,516,519-520,528,531-532,541,544,546,554,557,559-560,563,576,579-581,590,593-594,596,598,606,609-611,613-615,617,627,631-633,635,645,649-650,652,654,658,661-662,665,668,670-671,673-674,676,678-679,681,689-690,693-694,696,698,700,704,709-710,712-714,717,719,721,731-734,736,739,742-744,747,749,756,759-760
source/src/enet_encap/encap.c                360     110    30%   126-127,131,134-135,138-140,145-148,150,153,155,161-163,167-168,170-171,174-176,179-180,182,187-188,190,197-199,201,204-205,207,209-211,213,215-217,219,221-223,225,227-229,231,233-235,237,240,242,250,257-258,262-263,265-266,269-271,274-275,277,282-283,285-288,290,292-295,298,301,305-307,309,329,331-332,405,408-409,411,415-416,418-421,423-425,429-431,435,438,440,503,506-508,510,512,518-519,568-569,572-573,576-578,582-584,590,592-594,596-597,619,622-623,625-630,635,640,648,652-653,657,661-662,665,669,672-673,676,679-680,682,685,690,732-733,735,738,746,750,752,755,762-767,834,836-837,839-842,844-851,854-855,857-863,866-867,869-874,877,879-884,886,888,893,895,899,901,903-907,910-911,915-916,918-920,924,926-929,935,937-943,945,947,949
source/src/enet_encap/endianconv.c           131     114    87%   52-56,207-208,210-211,213-216,219,222,251-252
source/src/ports/generic_networkhandler.c
                                             475       0     0%   129-130,134,136,138,141-142,144,147-148,151-154,158-160,163,166,177,185-188,193-195,199-202,207-209,213-214,225,234-235,246,253,255-256,259,262-263,267-269,272,275-276,280-282,286,288-290,295-296,300,302-303,306-307,312-313,318-320,323,326-327,332-334,338,340-342,348-349,356,358-360,364-365,370-372,376-378,382-384,387-388,393-394,396,399-402,404-409,411-415,417,419,421-425,427,429,432,435-436,438-439,441-444,447-449,452,454,464,466,468-470,474,478-479,481-483,485,488-489,491-492,497-498,501-503,507-511,513-514,516,518-519,525-526,532-534,541,544,547-549,553,558-562,565,567-569,573,576-577,584-586,591-593,596,598-602,613-614,616-617,621,631,634,636,641,643-645,648,651-652,659-661,665-667,670,672-677,685-686,688-689,693,701,704,706,711,721-723,727-729,733-735,738,750-753,763,765-766,771,773,775-778,780-782,785,787-789,792,794-795,798,801,804,807-809,811,814-815,821-824,826-829,834-836,838-840,842-844,847-848,850,852-853,858-862,864-867,871-873,876,878,880,882,884-889,892-893,896-898,904-905,908,910,913,916,919,921,925-926,930,934,950,952,954-956,959-961,964,967-970,974,976-977,983-985,990-992,994,997-998,1001-1004,1008,1010,1012-1013,1021-1023,1025-1026,1029-1030,1038-1039,1041,1046-1047,1052-1054,1059-1060,1065-1066,1071-1073,1081-1083,1085,1088-1089,1092-1094,1096,1099-1100,1102,1105-1107,1110,1112,1114,1116-1119,1121,1127-1129,1136-1138,1140,1143-1146,1148,1151-1153,1155,1158,1164-1165,1167-1169,1171-1172,1174-1175,1179,1183,1190-1192,1194,1200-1202,1204-1207,1209,1211-1212,1216,1218-1221,1223,1226
source/src/ports/nvdata/conffile.c            32       0     0%   59-64,66-68,72-73,75,77-78,80-84,92,111-113,115-117,130-133,135-136
source/src/ports/nvdata/nvdata.c              22       0     0%   37,39-42,45,63,67,71,74,76,80-81,83,99,104,107,109,111,115-116,119
source/src/ports/nvdata/nvqos.c               37       0     0%   31-33,43-47,49-50,57,71,73,79-81,86-91,96,104-107,109,112-117,121-122,124
source/src/ports/nvdata/nvtcpip.c             17       0     0%   27,29,31,33-34,37,39,45,49,57,59,61-62,65,67,70-71
source/src/ports/POSIX/networkconfig.c       171       0     0%   27,29-31,33-35,37,39-41,43,45-46,49,52,54-58,60-62,66-70,72-73,76-77,79-80,83-84,86,88,91,93,95-97,99,102-105,107-108,110-114,121-122,124-125,127-131,133,136-137,139,152,154-157,159-170,172,175-177,184-188,190-191,193,200,203-206,211-215,217-219,230,232-233,236-239,241-245,247,250,252-253,255,257-259,261-263,266,269-270,272,277,280-281,283-286,288-290,294-295,297-299,301-302,304-305,308-309,311-312,314-315,318,321-322,324-327,329
source/src/ports/POSIX/networkhandler.c       27       0     0%   22-23,25-29,32-33,36,38,41-44,48-49,51,53-55,57-59,62,66-67
source/src/ports/POSIX/opener_error.c          9       0     0%   26-27,30-33,36-38
source/src/ports/POSIX/sample_application/sampleapplication.c
                                              51       0     0%   40,43,48,53,58,61,64,68,72,76,85,87,118,121,123,125,130-133,135-136,139,143,146,164,167,174,177-178,181,183-185,188,190-191,193-194,197-198,201-203,205-208,210,213-214
source/src/ports/socket_timer.c               25      24    96%   46
source/src/utils/doublylinkedlist.c           86      83    96%   48,127,130
source/src/utils/enipmessage.c                 4       4   100%
source/src/utils/random.c                      8       8   100%
source/src/utils/xorshiftrandom.c             13      12    92%   24
source/tests/callback_mock.cpp                31       8    25%   12-14,17-19,21,24-25,27-29,32-33,36-38,41-43,64-66
source/tests/cip/cipcommontests.cpp          107     107   100%
source/tests/cip/cipconnectionobjecttest.cpp
                                             382     382   100%
source/tests/cip/cipelectronickeyformattest.cpp
                                             125     125   100%
source/tests/cip/cipelectronickeytest.cpp
                                              24      24   100%
source/tests/cip/cipepathtest.cpp            633     633   100%
source/tests/cip/cipstringtests.cpp          207     207   100%
source/tests/enet_encap/encaptest.cpp         52      52   100%
source/tests/enet_encap/endianconvtest.cpp
                                             167     167   100%
source/tests/OpENerTests.cpp                  29      11    37%   64,71-73,76,78,84-85,87-88,90-94,96,100,108
source/tests/ports/socket_timer_tests.cpp
                                              31      31   100%
source/tests/utils/doublylinkedlistTests.cpp
                                             247     247   100%
source/tests/utils/randomTests.cpp             9       9   100%
source/tests/utils/xorshiftrandomtests.cpp
                                              13      13   100%
------------------------------------------------------------------------------
TOTAL                                       7632    3109    40%
------------------------------------------------------------------------------
lines: 40.7% (3109 out of 7632)
functions: 63.4% (630 out of 994)
branches: 17.7% (1100 out of 6232)

📥 Download the detailed HTML report from artifacts.

ℹ️ This PR was tested with standard static analysis. Exhaustive analysis will run on release branches.

@github-actions
Copy link

github-actions bot commented Dec 3, 2025

📊 Coverage Report

Line Coverage: 40.7%

------------------------------------------------------------------------------
                           GCC Code Coverage Report
Directory: .
------------------------------------------------------------------------------
File                                       Lines    Exec  Cover   Missing
------------------------------------------------------------------------------
source/src/cip/appcontype.c                  186       0     0%   93,98-99,101,103,106,108,112-113,115-116,119,121,125-126,128,130,133,135,138,140-143,146-148,150-153,155,158,165,172,174,178-179,182,185,188-194,196-197,199-202,204-205,207-209,211-212,214,216,219-220,229,232,234-239,241,243-245,247,250-255,258,260,262,266-271,279-280,283,286,288-289,291-294,296,298-300,302,306,312-317,320,322,324,328-333,341-342,345,347,349-352,354-356,360-361,363-365,368,373,375,377-380,382,384,386-387,390,394,396,401,405-413,417-418,421,423-429,431,433-434,436-439,442,447-448,452,455,458
source/src/cip/cipassembly.c                  75       0     0%   49,51,63-64,69,74-75,78,84-85,88-89,91-96,98,101,103,106-108,111,115,119-121,125-126,128,137,142,145,148,154-156,161,165,168,172-174,176-178,180-183,185-188,192-193,196,205,207,210,212,215,218-220,222,224,227,230-232,234,236
source/src/cip/cipclass3connection.c          35       0     0%   19-20,22-23,26,29,31,33-35,38,40,42,46,48,51,53,60-62,64,70-71,74,76,79-83,89,92-95
source/src/cip/cipcommon.c                   817      44     5%   45,47-58,63-64,81-82,84,87,89,91,93,95,98-99,101,108,111,114,118,120-122,124-125,127-128,131-133,139,144-145,149,151,157,159-160,162,165,168-172,175,177,180,182-185,189,192-193,197-198,201,204,208,212,216-217,222-225,228-229,233,235,238,241,243,245,250,252,254,256,259,262,269-270,272,275,277,279-281,284,287,290,302,304,316-318,322-324,326,328-329,332,336,339,342-348,357,360,362,364-366,368,371,374-376,379,382,384,386,390,393,395-396,402-403,406-407,409-410,412-413,418,423,425,428-429,434,436,441,443,449,451,459,466,471,473,478,480-481,483,489,495,502,509,512-513,515,518-525,527,529,531-533,535,537-538,540,542,548-549,553,557,562-563,566-567,569-570,572-573,575-576,578,580,584,587-588,590-591,593-594,598-599,601,603,605,607-609,611,620,623-628,631,638-639,643-644,646,649,652-656,659,664-666,670-672,676-679,684,692,694-695,712,714-715,732,734-735,737-739,741,743-744,746,748-749,751,753-754,756,758-759,761,763,765,767-772,774,776,778-781,783-784,786,788,791,793,796-797,799-800,802,805-806,808-809,811,813-818,820,822-825,827-829,831-833,835-837,839-841,843,845-846,849,851,853-860,862,864-866,868,870-874,876,879-884,886,893-894,896-897,899,902,906-907,913-916,920-922,926,928,936-939,942,944,949,952,955-957,960,963-965,968,972-974,976-979,981-984,988-989,991,993-994,997,1000-1002,1005,1008-1010,1013,1016-1018,1021,1024-1026,1029,1032-1034,1037,1040-1042,1045,1048-1050,1053,1056-1058,1061,1064-1066,1069,1072-1074,1077,1080-1082,1085,1088-1090,1093,1096-1098,1118-1119,1148,1150-1152,1154-1155,1157,1162,1168-1169,1171-1172,1177,1179-1182,1184,1186-1187,1189-1192,1195,1198,1200,1203,1206,1212-1213,1215-1219,1221-1222,1224-1226,1228,1231,1236-1238,1240-1243,1245,1247,1249-1250,1252,1254,1256,1259,1263,1265,1267,1270,1273-1278,1280,1283,1285-1286,1290,1293,1295,1299,1301,1303,1307,1309,1311,1313,1316,1319,1325,1331-1332,1334-1338,1340-1341,1343-1345,1347,1350,1355-1357,1359-1362,1364,1366,1368-1369,1371,1373,1375,1378,1382,1384,1386,1389,1392-1397,1399,1402,1404,1409,1412,1416-1420,1423-1424,1428,1430,1432,1436,1438,1440,1442,1445,1448,1454-1457,1459-1462,1464-1467,1470-1474,1476-1479,1482-1486,1488-1491,1497,1499,1501,1504-1506,1508-1509,1512-1514,1516-1517,1522-1524,1526-1528,1530,1532-1535,1537,1539-1541,1543,1545-1548,1550,1552-1554,1556,1558-1561,1563,1565-1567,1569-1571,1579-1581,1583,1586,1593-1594,1596-1600,1602,1604,1607-1608,1612-1615,1618-1619,1623,1625,1628,1635-1636,1638-1642,1644,1646,1649-1650,1654-1655,1658-1661,1663,1665-1668,1675-1676,1680,1682,1685,1688,1690,1693,1700-1701,1703-1707,1709,1711,1714-1715,1719,1721-1722,1726,1729-1730,1733-1737,1739-1741
source/src/cip/cipconnectionmanager.c        708       0     0%   176-177,179-184,186,188,206,208-209,213,216-217,219,224,226,231,233,240,247,254,259,261,266,269,273,277,279-280,282,294,297,301,305-306,310,312,316,320,325,327-328,333,336,343-344,350,353-354,356,361-363,366,368-369,371,376,378-379,381-382,384-385,421,427-429,431-432,452,458-459,461-462,481,487-488,490-491,508,514-515,517,520-521,523,530,532-533,541-542,546-548,551,554-555,559-560,562,567,570,602,607-608,641,646-647,653,658,660-661,665,667,670,674-677,680-681,688-689,696,699,701-704,713,718-719,723,728-729,732,734,736,742,748-749,753,758-759,761,764-769,771,773,775,778-780,782-786,789-793,800,802,808,811,820,826-830,832,835,841-843,845-846,849-850,853,856-858,860-861,863,867,870,872,874-875,877-878,881,884,891-893,895-896,899-904,911,914-916,918-919,921-925,930,932,934,936-937,939-940,943,946,950,953,955,958,961,964,967,970,973,976,979,981,983,985,988,991,994,997,1000,1002,1004,1006,1009,1011,1013,1016-1017,1019,1021,1023-1026,1028,1031,1035,1038-1040,1042-1043,1047-1048,1050,1053,1058-1059,1063,1066,1070,1072,1074-1075,1077,1079,1082-1083,1086-1087,1089,1094,1096-1097,1101,1104,1109,1111,1125,1131,1133-1134,1137,1139-1141,1144-1145,1147-1148,1150,1152-1155,1160,1162,1170-1171,1175-1176,1178-1179,1182-1189,1192-1197,1200-1203,1211,1213,1215,1218,1220,1222,1226,1230,1232,1240,1243,1246-1248,1267,1275,1277-1278,1281,1283-1285,1287-1288,1291-1292,1294-1295,1297-1298,1300-1301,1303-1305,1309,1311,1314-1315,1317-1319,1321-1322,1324,1329,1331,1333-1335,1337,1339-1342,1344,1349,1351,1353-1357,1360,1366,1370,1373-1374,1376,1379-1380,1383-1388,1390,1395-1398,1400,1404,1406,1411-1416,1418,1424-1428,1431,1433,1439,1441,1444,1447-1450,1455,1457-1458,1460-1461,1464,1466-1468,1471-1472,1474-1475,1478,1481-1483,1486,1488-1494,1497-1500,1503-1505,1507,1509,1522-1525,1528-1529,1531,1535,1541-1542,1545-1548,1550-1553,1558,1560-1564,1566-1567,1570,1573,1577,1579,1581,1583,1586,1588,1591,1593-1595,1598,1600,1602,1604-1605,1607,1610-1611,1614,1616-1617,1619,1623-1624,1626,1629,1634,1637,1643,1647,1650-1653,1655-1656,1660-1662,1664,1670-1672,1675,1678-1680,1682-1685,1689-1690,1692,1694,1696,1702-1704,1706,1708,1710-1714,1717-1719,1721,1724,1726,1728,1732-1733,1735,1738-1746,1748-1751,1756-1763,1767-1769,1771-1772,1775,1778,1783,1785,1788-1790,1793,1800,1803-1804,1807,1810,1812-1813,1816,1818,1820,1822,1825-1827,1829-1831,1833,1835-1840,1843,1846-1847,1849,1851-1856,1860,1862,1865,1868,1872-1873,1875-1876,1878-1879,1883,1886,1888,1890-1893,1896,1899,1901,1903-1909,1912-1914,1918,1920,1923,1926-1931,1933,1937,1939-1940,1942,1944-1945,1948-1950
source/src/cip/cipconnectionobject.c         385     230    59%   61-62,67-71,77-81,86,88,107,109,111-112,167,180,248-249,271,274-275,294-296,398,400,403,406-407,409,411,414,417-418,425,427-428,430,432,435,437,467,478,480,482,484,502,505,508-510,512-514,516-518,520-522,524-526,528,530,532,534,537,540,542,544,546,549,552,554,556,558,561,564-565,579,581,583-584,586,588,590-591,593,611,621,631,633,635,641,651,653-654,656,672,684,696,714-715,738-739,744,773-774,818-819,851-852,872,875-876,878,880-885,887,889-891,893,895-896,898-899,903,907-908,912,916,918,923,925-926,928,930,933,938,940,942,945,950,953-954
source/src/cip/cipdlr.c                       30       0     0%   95,98,100-101,103,105,107-109,111,116-117,119,132,137,139,143,145,152,159,166,173,180,187,194,203,210,217,229,231
source/src/cip/cipelectronickey.c             47      47   100%
source/src/cip/cipepath.c                    297     270    90%   88-90,230-232,276-278,329-330,530,532-535,633,635,637-638,640-641,643,697,701,704-705
source/src/cip/cipethernetlink.c              58       0     0%   198-199,222-223,226,228-229,235-236,246,248,252,272-274,276,283,290,313,320,349,357,364,371,378,385,400-402,406,409,412,424,427,429,432,444,447,449,456,458,460-462,465,467-473,475,477-480,484
source/src/cip/cipidentity.c                 106       0     0%   61-64,67-69,72-74,77-79,82-85,88-90,93-94,98-99,102,106-107,110-112,116,118,120,131-134,144-147,157,159-162,170,174,176,178-179,181,183-184,186-189,193-195,203-205,208,211-212,214,219,221,226,228,235,242,249,254,256,261,264,268,274-275,277,279-282,284-285,299,303-304,306-307,314,321,328,335,342,349,357,359-361,363,366
source/src/cip/cipioconnection.c             432       0     0%   86-88,90-91,94-96,98-99,102,104-105,107-108,111,113,118-120,130-134,136,138,141-145,147-148,154,156-157,160-165,168-169,172,174-175,178,180-182,190,193-194,196-199,201,203,206-207,210-211,215,217,221,223,227-228,233,237-244,246,248-253,256-257,259,261-262,264,266-268,289,292,294-296,300,302,306,308,310-313,316,321-324,329,331,333,338,340,342,347,349-350,355-358,361-363,365,368,370,374,376-377,380,392,395,398,405,407,409-411,417-419,421-422,424-426,428-430,432,435,440,442-444,446-448,452-454,456-458,464-465,467,470,474-476,478,481,488-491,494,496,499,504-505,510-511,515-517,520,524,526-531,533,543,547,549-550,552-553,555-557,559,562,565-567,569,572,576-577,582,593-594,597-603,606-607,614-620,622-624,629-630,633,635,637-638,640,642,644,650-654,656-659,662-664,666-667,674,677,686-687,690,695,702-703,705-707,711-714,717-718,720-725,727,731-735,737-738,740,743,745,747,751,753,756-757,763,765,768-773,775-776,778,780-782,786,788,790,794,797,800-801,809-812,814-815,819-820,822,827,834,837-839,842,844-846,848,850,852-853,855,857-859,862,864,868-869,871-873,875-877,879-881,884-885,887-888,890,893,897-898,901-903,905-907,909,912,915-916,918-919,921-922,924,926-927,930-931,933-938,940,943-944,946-947,949,953,963-965,969,972-973,975-976,980,984,990,994,1001,1005,1010,1014,1023,1025-1027,1031-1033,1037-1038,1041-1042
source/src/cip/cipmessagerouter.c            122       0     0%   54-55,57,62,64,69,71,78,85,92,97,99,104,107,111,115,117-119,131,134,140,150-151,154,156-158,160,165-167,169-170,176,178,183-184,186-187,194-195,197-198,202,205,208-209,211,214,219-220,222-224,229-234,237-239,243-244,249-252,257-258,261-262,285,288,292-294,296-297,299,303,306-309,313-314,316-318,320-322,324-329,331,333,337-344,347-354,356,358-359
source/src/cip/cipqos.c                       55       0     0%   69,73,75,77-80,82-83,86,90,93,96-111,113-114,116,119-120,122-123,138,142,149,156,163,170,177,184,191,199,203,208,211-213,215-216,224-226
source/src/cip/cipstring.c                   124     109    87%   68-70,272,275-276,278,281-284,286,288-289,291
source/src/cip/cipstringi.c                  229       0     0%   16-40,42,44-47,49-67,69,76-85,92,94-134,136,138-151,153,155,158,160-161,163-164,166-176,178-183,185-186,188,190-195,197-205,207-213,215-218,220-224,227,229,232,234-236,238-245,248-257,259-261,265,267-269,271-278,281-290,292-294,298-299
source/src/cip/ciptcpipinterface.c            94       0     0%   328,330,332,334,336,338,340,342,344,346,349,351-352,354,357-358,360-361,363,366,368-369,371,374,376,378-379,381,383,389,391-393,395,399,402-404,407,515,523,525-526,528-529,531-533,536,539-540,542-543,558,562,569,576,583,609,616,627,634,641,648,655,662,669,677,682,685,690,693,695-697,700-702,704,712,714,718-721,723-725,727-732
source/src/cip/ciptypes.c                     26       0     0%   13-14,16,31,34,42-43,45,50-51,53-55,57,60-61,66-68,73-75,80-83
source/src/enet_encap/cpf.c                  281      38    13%   62,64,66,69-71,75-76,79,82-85,87,91-92,98-99,101,104,120,124-126,129,132,134,139-140,142,144,147,149-151,156-157,160-161,163-164,166,168,170,173,175,177,181,183-185,187,190,192-196,200-201,204,206-209,211,214-215,218,234,238-239,241,271-273,276-278,282-288,294-295,297-298,300-301,304-307,310-320,322,324,326,343-344,358-359,361-362,370,375-378,380,389,394-397,399-400,402,411,414,416,425,428,430,439,442,444,453,456-461,463,473,476-477,479,481,489,492-493,495,504,507-508,516,519-520,528,531-532,541,544,546,554,557,559-560,563,576,579-581,590,593-594,596,598,606,609-611,613-615,617,627,631-633,635,645,649-650,652,654,658,661-662,665,668,670-671,673-674,676,678-679,681,689-690,693-694,696,698,700,704,709-710,712-714,717,719,721,731-734,736,739,742-744,747,749,756,759-760
source/src/enet_encap/encap.c                360     110    30%   126-127,131,134-135,138-140,145-148,150,153,155,161-163,167-168,170-171,174-176,179-180,182,187-188,190,197-199,201,204-205,207,209-211,213,215-217,219,221-223,225,227-229,231,233-235,237,240,242,250,257-258,262-263,265-266,269-271,274-275,277,282-283,285-288,290,292-295,298,301,305-307,309,329,331-332,405,408-409,411,415-416,418-421,423-425,429-431,435,438,440,503,506-508,510,512,518-519,568-569,572-573,576-578,582-584,590,592-594,596-597,619,622-623,625-630,635,640,648,652-653,657,661-662,665,669,672-673,676,679-680,682,685,690,732-733,735,738,746,750,752,755,762-767,834,836-837,839-842,844-851,854-855,857-863,866-867,869-874,877,879-884,886,888,893,895,899,901,903-907,910-911,915-916,918-920,924,926-929,935,937-943,945,947,949
source/src/enet_encap/endianconv.c           131     114    87%   52-56,207-208,210-211,213-216,219,222,251-252
source/src/ports/generic_networkhandler.c
                                             475       0     0%   129-130,134,136,138,141-142,144,147-148,151-154,158-160,163,166,177,185-188,193-195,199-202,207-209,213-214,225,234-235,246,253,255-256,259,262-263,267-269,272,275-276,280-282,286,288-290,295-296,300,302-303,306-307,312-313,318-320,323,326-327,332-334,338,340-342,348-349,356,358-360,364-365,370-372,376-378,382-384,387-388,393-394,396,399-402,404-409,411-415,417,419,421-425,427,429,432,435-436,438-439,441-444,447-449,452,454,464,466,468-470,474,478-479,481-483,485,488-489,491-492,497-498,501-503,507-511,513-514,516,518-519,525-526,532-534,541,544,547-549,553,558-562,565,567-569,573,576-577,584-586,591-593,596,598-602,613-614,616-617,621,631,634,636,641,643-645,648,651-652,659-661,665-667,670,672-677,685-686,688-689,693,701,704,706,711,721-723,727-729,733-735,738,750-753,763,765-766,771,773,775-778,780-782,785,787-789,792,794-795,798,801,804,807-809,811,814-815,821-824,826-829,834-836,838-840,842-844,847-848,850,852-853,858-862,864-867,871-873,876,878,880,882,884-889,892-893,896-898,904-905,908,910,913,916,919,921,925-926,930,934,950,952,954-956,959-961,964,967-970,974,976-977,983-985,990-992,994,997-998,1001-1004,1008,1010,1012-1013,1021-1023,1025-1026,1029-1030,1038-1039,1041,1046-1047,1052-1054,1059-1060,1065-1066,1071-1073,1081-1083,1085,1088-1089,1092-1094,1096,1099-1100,1102,1105-1107,1110,1112,1114,1116-1119,1121,1127-1129,1136-1138,1140,1143-1146,1148,1151-1153,1155,1158,1164-1165,1167-1169,1171-1172,1174-1175,1179,1183,1190-1192,1194,1200-1202,1204-1207,1209,1211-1212,1216,1218-1221,1223,1226
source/src/ports/nvdata/conffile.c            32       0     0%   59-64,66-68,72-73,75,77-78,80-84,92,111-113,115-117,130-133,135-136
source/src/ports/nvdata/nvdata.c              22       0     0%   37,39-42,45,63,67,71,74,76,80-81,83,99,104,107,109,111,115-116,119
source/src/ports/nvdata/nvqos.c               37       0     0%   31-33,43-47,49-50,57,71,73,79-81,86-91,96,104-107,109,112-117,121-122,124
source/src/ports/nvdata/nvtcpip.c             17       0     0%   27,29,31,33-34,37,39,45,49,57,59,61-62,65,67,70-71
source/src/ports/POSIX/networkconfig.c       171       0     0%   27,29-31,33-35,37,39-41,43,45-46,49,52,54-58,60-62,66-70,72-73,76-77,79-80,83-84,86,88,91,93,95-97,99,102-105,107-108,110-114,121-122,124-125,127-131,133,136-137,139,152,154-157,159-170,172,175-177,184-188,190-191,193,200,203-206,211-215,217-219,230,232-233,236-239,241-245,247,250,252-253,255,257-259,261-263,266,269-270,272,277,280-281,283-286,288-290,294-295,297-299,301-302,304-305,308-309,311-312,314-315,318,321-322,324-327,329
source/src/ports/POSIX/networkhandler.c       27       0     0%   22-23,25-29,32-33,36,38,41-44,48-49,51,53-55,57-59,62,66-67
source/src/ports/POSIX/opener_error.c          9       0     0%   26-27,30-33,36-38
source/src/ports/POSIX/sample_application/sampleapplication.c
                                              51       0     0%   40,43,48,53,58,61,64,68,72,76,85,87,118,121,123,125,130-133,135-136,139,143,146,164,167,174,177-178,181,183-185,188,190-191,193-194,197-198,201-203,205-208,210,213-214
source/src/ports/socket_timer.c               25      24    96%   46
source/src/utils/doublylinkedlist.c           86      83    96%   48,127,130
source/src/utils/enipmessage.c                 4       4   100%
source/src/utils/random.c                      8       8   100%
source/src/utils/xorshiftrandom.c             13      12    92%   24
source/tests/callback_mock.cpp                31       8    25%   12-14,17-19,21,24-25,27-29,32-33,36-38,41-43,64-66
source/tests/cip/cipcommontests.cpp          107     107   100%
source/tests/cip/cipconnectionobjecttest.cpp
                                             382     382   100%
source/tests/cip/cipelectronickeyformattest.cpp
                                             125     125   100%
source/tests/cip/cipelectronickeytest.cpp
                                              24      24   100%
source/tests/cip/cipepathtest.cpp            633     633   100%
source/tests/cip/cipstringtests.cpp          207     207   100%
source/tests/enet_encap/encaptest.cpp         52      52   100%
source/tests/enet_encap/endianconvtest.cpp
                                             167     167   100%
source/tests/OpENerTests.cpp                  29      11    37%   64,71-73,76,78,84-85,87-88,90-94,96,100,108
source/tests/ports/socket_timer_tests.cpp
                                              31      31   100%
source/tests/utils/doublylinkedlistTests.cpp
                                             247     247   100%
source/tests/utils/randomTests.cpp             9       9   100%
source/tests/utils/xorshiftrandomtests.cpp
                                              13      13   100%
------------------------------------------------------------------------------
TOTAL                                       7632    3109    40%
------------------------------------------------------------------------------
lines: 40.7% (3109 out of 7632)
functions: 63.4% (630 out of 994)
branches: 17.7% (1100 out of 6232)

📥 Download the detailed HTML report from artifacts.

ℹ️ This PR was tested with standard static analysis. Exhaustive analysis will run on release branches.

@github-actions
Copy link

github-actions bot commented Dec 3, 2025

📊 Coverage Report

Line Coverage: 40.7%

------------------------------------------------------------------------------
                           GCC Code Coverage Report
Directory: .
------------------------------------------------------------------------------
File                                       Lines    Exec  Cover   Missing
------------------------------------------------------------------------------
source/src/cip/appcontype.c                  186       0     0%   95,100-101,103,105,108,110,114-115,117-118,121,123,127-128,130,132,135,137,140,142-145,148-150,153-156,159,162,169,176,178,182-183,186,189,192-198,201-202,204-207,209-210,212-214,216-217,219,221,224-225,234,237,239-240,242-245,247,249-251,253,256-261,264,266,268,272-277,285-286,289,292,294-295,297-300,302,304-306,308,312,319-324,327,329,331,335-340,348-349,352,354,356-359,361-363,367-368,370-372,375,380,382,384-387,389,391,393-394,397,401,403,408,412-420,424-425,428,430-436,438,440-441,443-446,449,454-455,459,462,465
source/src/cip/cipassembly.c                  75       0     0%   49,51,63-64,69,74-75,78,84-85,88-89,91-96,98,101,103,106-108,111,115,119-121,125-126,128,137,142,145,148,154-156,161,165,168,172-174,176-178,180-183,185-188,192-193,196,205,207,210,212,215,218-220,222,224,227,230-232,234,236
source/src/cip/cipclass3connection.c          35       0     0%   19-20,22-23,26,29,31,33-35,38,40,42,46,48,51,53,60-62,64,70-71,74,76,79-83,89,92-95
source/src/cip/cipcommon.c                   817      44     5%   45,47-58,63-64,81-82,84,87,89,91,93,95,98-99,101,108,111,114,118,120-122,124-125,127-128,131-133,139,144-145,149,151,157,159-160,162,165,168-172,175,177,180,182-185,189,192-193,197-198,201,204,208,212,216-217,222-225,228-229,233,235,238,241,243,245,250,252,254,256,259,262,269-270,272,275,277,279-281,284,287,290,302,304,316-318,322-324,326,328-329,332,336,339,342-348,357,360,362,364-366,368,371,374-376,379,382,384,386,390,393,395-396,402-403,406-407,409-410,412-413,418,423,425,428-429,434,436,441,443,449,451,459,466,471,473,478,480-481,483,489,495,502,509,512-513,515,518-525,527,529,531-533,535,537-538,540,542,548-549,553,557,562-563,566-567,569-570,572-573,575-576,578,580,584,587-588,590-591,593-594,598-599,601,603,605,607-609,611,620,623-628,631,638-639,643-644,646,649,652-656,659,664-666,670-672,676-679,684,692,694-695,712,714-715,732,734-735,737-739,741,743-744,746,748-749,751,753-754,756,758-759,761,763,765,767-772,774,776,778-781,783-784,786,788,791,793,796-797,799-800,802,805-806,808-809,811,813-818,820,822-825,827-829,831-833,835-837,839-841,843,845-846,849,851,853-860,862,864-866,868,870-874,876,879-884,886,893-894,896-897,899,902,906-907,913-916,920-922,926,928,936-939,942,944,949,952,955-957,960,963-965,968,972-974,976-979,981-984,988-989,991,993-994,997,1000-1002,1005,1008-1010,1013,1016-1018,1021,1024-1026,1029,1032-1034,1037,1040-1042,1045,1048-1050,1053,1056-1058,1061,1064-1066,1069,1072-1074,1077,1080-1082,1085,1088-1090,1093,1096-1098,1118-1119,1148,1150-1152,1154-1155,1157,1162,1168-1169,1171-1172,1177,1179-1182,1184,1186-1187,1189-1192,1195,1198,1200,1203,1206,1212-1213,1215-1219,1221-1222,1224-1226,1228,1231,1236-1238,1240-1243,1245,1247,1249-1250,1252,1254,1256,1259,1263,1265,1267,1270,1273-1278,1280,1283,1285-1286,1290,1293,1295,1299,1301,1303,1307,1309,1311,1313,1316,1319,1325,1331-1332,1334-1338,1340-1341,1343-1345,1347,1350,1355-1357,1359-1362,1364,1366,1368-1369,1371,1373,1375,1378,1382,1384,1386,1389,1392-1397,1399,1402,1404,1409,1412,1416-1420,1423-1424,1428,1430,1432,1436,1438,1440,1442,1445,1448,1454-1457,1459-1462,1464-1467,1470-1474,1476-1479,1482-1486,1488-1491,1497,1499,1501,1504-1506,1508-1509,1512-1514,1516-1517,1522-1524,1526-1528,1530,1532-1535,1537,1539-1541,1543,1545-1548,1550,1552-1554,1556,1558-1561,1563,1565-1567,1569-1571,1579-1581,1583,1586,1593-1594,1596-1600,1602,1604,1607-1608,1612-1615,1618-1619,1623,1625,1628,1635-1636,1638-1642,1644,1646,1649-1650,1654-1655,1658-1661,1663,1665-1668,1675-1676,1680,1682,1685,1688,1690,1693,1700-1701,1703-1707,1709,1711,1714-1715,1719,1721-1722,1726,1729-1730,1733-1737,1739-1741
source/src/cip/cipconnectionmanager.c        708       0     0%   176-177,179-184,186,188,206,208-209,213,216-217,219,224,226,231,233,240,247,254,259,261,266,269,273,277,279-280,282,294,297,301,305-306,310,312,316,320,325,327-328,333,336,343-344,350,353-354,356,361-363,366,368-369,371,376,378-379,381-382,384-385,421,427-429,431-432,452,458-459,461-462,481,487-488,490-491,508,514-515,517,520-521,523,530,532-533,541-542,546-548,551,554-555,559-560,562,567,570,602,607-608,641,646-647,653,658,660-661,665,667,670,674-677,680-681,688-689,696,699,701-704,713,718-719,723,728-729,732,734,736,742,748-749,753,758-759,761,764-769,771,773,775,778-780,782-786,789-793,800,802,808,811,820,826-830,832,835,841-843,845-846,849-850,853,856-858,860-861,863,867,870,872,874-875,877-878,881,884,891-893,895-896,899-904,911,914-916,918-919,921-925,930,932,934,936-937,939-940,943,946,950,953,955,958,961,964,967,970,973,976,979,981,983,985,988,991,994,997,1000,1002,1004,1006,1009,1011,1013,1016-1017,1019,1021,1023-1026,1028,1031,1035,1038-1040,1042-1043,1047-1048,1050,1053,1058-1059,1063,1066,1070,1072,1074-1075,1077,1079,1082-1083,1086-1087,1089,1094,1096-1097,1101,1104,1109,1111,1125,1131,1133-1134,1137,1139-1141,1144-1145,1147-1148,1150,1152-1155,1160,1162,1170-1171,1175-1176,1178-1179,1182-1189,1192-1197,1200-1203,1211,1213,1215,1218,1220,1222,1226,1230,1232,1240,1243,1246-1248,1267,1275,1277-1278,1281,1283-1285,1287-1288,1291-1292,1294-1295,1297-1298,1300-1301,1303-1305,1309,1311,1314-1315,1317-1319,1321-1322,1324,1329,1331,1333-1335,1337,1339-1342,1344,1349,1351,1353-1357,1360,1366,1370,1373-1374,1376,1379-1380,1383-1388,1390,1395-1398,1400,1404,1406,1411-1416,1418,1424-1428,1431,1433,1439,1441,1444,1447-1450,1455,1457-1458,1460-1461,1464,1466-1468,1471-1472,1474-1475,1478,1481-1483,1486,1488-1494,1497-1500,1503-1505,1507,1509,1522-1525,1528-1529,1531,1535,1541-1542,1545-1548,1550-1553,1558,1560-1564,1566-1567,1570,1573,1577,1579,1581,1583,1586,1588,1591,1593-1595,1598,1600,1602,1604-1605,1607,1610-1611,1614,1616-1617,1619,1623-1624,1626,1629,1634,1637,1643,1647,1650-1653,1655-1656,1660-1662,1664,1670-1672,1675,1678-1680,1682-1685,1689-1690,1692,1694,1696,1702-1704,1706,1708,1710-1714,1717-1719,1721,1724,1726,1728,1732-1733,1735,1738-1746,1748-1751,1756-1763,1767-1769,1771-1772,1775,1778,1783,1785,1788-1790,1793,1800,1803-1804,1807,1810,1812-1813,1816,1818,1820,1822,1825-1827,1829-1831,1833,1835-1840,1843,1846-1847,1849,1851-1856,1860,1862,1865,1868,1872-1873,1875-1876,1878-1879,1883,1886,1888,1890-1893,1896,1899,1901,1903-1909,1912-1914,1918,1920,1923,1926-1931,1933,1937,1939-1940,1942,1944-1945,1948-1950
source/src/cip/cipconnectionobject.c         385     230    59%   61-62,67-71,77-81,86,88,107,109,111-112,167,180,248-249,271,274-275,294-296,398,400,403,406-407,409,411,414,417-418,425,427-428,430,432,435,437,467,478,480,482,484,502,505,508-510,512-514,516-518,520-522,524-526,528,530,532,534,537,540,542,544,546,549,552,554,556,558,561,564-565,579,581,583-584,586,588,590-591,593,611,621,631,633,635,641,651,653-654,656,672,684,696,714-715,738-739,744,773-774,818-819,851-852,872,875-876,878,880-885,887,889-891,893,895-896,898-899,903,907-908,912,916,918,923,925-926,928,930,933,938,940,942,945,950,953-954
source/src/cip/cipdlr.c                       30       0     0%   95,98,100-101,103,105,107-109,111,116-117,119,132,137,139,143,145,152,159,166,173,180,187,194,203,210,217,229,231
source/src/cip/cipelectronickey.c             47      47   100%
source/src/cip/cipepath.c                    297     270    90%   88-90,230-232,276-278,329-330,530,532-535,633,635,637-638,640-641,643,697,701,704-705
source/src/cip/cipethernetlink.c              58       0     0%   198-199,222-223,226,228-229,235-236,246,248,252,272-274,276,283,290,313,320,349,357,364,371,378,385,400-402,406,409,412,424,427,429,432,444,447,449,456,458,460-462,465,467-473,475,477-480,484
source/src/cip/cipidentity.c                 106       0     0%   61-64,67-69,72-74,77-79,82-85,88-90,93-94,98-99,102,106-107,110-112,116,118,120,131-134,144-147,157,159-162,170,174,176,178-179,181,183-184,186-189,193-195,203-205,208,211-212,214,219,221,226,228,235,242,249,254,256,261,264,268,274-275,277,279-282,284-285,299,303-304,306-307,314,321,328,335,342,349,357,359-361,363,366
source/src/cip/cipioconnection.c             432       0     0%   86-88,90-91,94-96,98-99,102,104-105,107-108,111,113,118-120,130-134,136,138,141-145,147-148,154,156-157,160-165,168-169,172,174-175,178,180-182,190,193-194,196-199,201,203,206-207,210-211,215,217,221,223,227-228,233,237-244,246,248-253,256-257,259,261-262,264,266-268,289,292,294-296,300,302,306,308,310-313,316,321-324,329,331,333,338,340,342,347,349-350,355-358,361-363,365,368,370,374,376-377,380,392,395,398,405,407,409-411,417-419,421-422,424-426,428-430,432,435,440,442-444,446-448,452-454,456-458,464-465,467,470,474-476,478,481,488-491,494,496,499,504-505,510-511,515-517,520,524,526-531,533,543,547,549-550,552-553,555-557,559,562,565-567,569,572,576-577,582,593-594,597-603,606-607,614-620,622-624,629-630,633,635,637-638,640,642,644,650-654,656-659,662-664,666-667,674,677,686-687,690,695,702-703,705-707,711-714,717-718,720-725,727,731-735,737-738,740,743,745,747,751,753,756-757,763,765,768-773,775-776,778,780-782,786,788,790,794,797,800-801,809-812,814-815,819-820,822,827,834,837-839,842,844-846,848,850,852-853,855,857-859,862,864,868-869,871-873,875-877,879-881,884-885,887-888,890,893,897-898,901-903,905-907,909,912,915-916,918-919,921-922,924,926-927,930-931,933-938,940,943-944,946-947,949,953,963-965,969,972-973,975-976,980,984,990,994,1001,1005,1010,1014,1023,1025-1027,1031-1033,1037-1038,1041-1042
source/src/cip/cipmessagerouter.c            122       0     0%   54-55,57,62,64,69,71,78,85,92,97,99,104,107,111,115,117-119,131,134,140,150-151,154,156-158,160,165-167,169-170,176,178,183-184,186-187,194-195,197-198,202,205,208-209,211,214,219-220,222-224,229-234,237-239,243-244,249-252,257-258,261-262,285,288,292-294,296-297,299,303,306-309,313-314,316-318,320-322,324-329,331,333,337-344,347-354,356,358-359
source/src/cip/cipqos.c                       55       0     0%   69,73,75,77-80,82-83,86,90,93,96-111,113-114,116,119-120,122-123,138,142,149,156,163,170,177,184,191,199,203,208,211-213,215-216,224-226
source/src/cip/cipstring.c                   124     109    87%   68-70,272,275-276,278,281-284,286,288-289,291
source/src/cip/cipstringi.c                  229       0     0%   16-40,42,44-47,49-67,69,76-85,92,94-134,136,138-151,153,155,158,160-161,163-164,166-176,178-183,185-186,188,190-195,197-205,207-213,215-218,220-224,227,229,232,234-236,238-245,248-257,259-261,265,267-269,271-278,281-290,292-294,298-299
source/src/cip/ciptcpipinterface.c            94       0     0%   328,330,332,334,336,338,340,342,344,346,349,351-352,354,357-358,360-361,363,366,368-369,371,374,376,378-379,381,383,389,391-393,395,399,402-404,407,515,523,525-526,528-529,531-533,536,539-540,542-543,558,562,569,576,583,609,616,627,634,641,648,655,662,669,677,682,685,690,693,695-697,700-702,704,712,714,718-721,723-725,727-732
source/src/cip/ciptypes.c                     26       0     0%   13-14,16,31,34,42-43,45,50-51,53-55,57,60-61,66-68,73-75,80-83
source/src/enet_encap/cpf.c                  281      38    13%   62,64,66,69-71,75-76,79,82-85,87,91-92,98-99,101,104,120,124-126,129,132,134,139-140,142,144,147,149-151,156-157,160-161,163-164,166,168,170,173,175,177,181,183-185,187,190,192-196,200-201,204,206-209,211,214-215,218,234,238-239,241,271-273,276-278,282-288,294-295,297-298,300-301,304-307,310-320,322,324,326,343-344,358-359,361-362,370,375-378,380,389,394-397,399-400,402,411,414,416,425,428,430,439,442,444,453,456-461,463,473,476-477,479,481,489,492-493,495,504,507-508,516,519-520,528,531-532,541,544,546,554,557,559-560,563,576,579-581,590,593-594,596,598,606,609-611,613-615,617,627,631-633,635,645,649-650,652,654,658,661-662,665,668,670-671,673-674,676,678-679,681,689-690,693-694,696,698,700,704,709-710,712-714,717,719,721,731-734,736,739,742-744,747,749,756,759-760
source/src/enet_encap/encap.c                360     110    30%   126-127,131,134-135,138-140,145-148,150,153,155,161-163,167-168,170-171,174-176,179-180,182,187-188,190,197-199,201,204-205,207,209-211,213,215-217,219,221-223,225,227-229,231,233-235,237,240,242,250,257-258,262-263,265-266,269-271,274-275,277,282-283,285-288,290,292-295,298,301,305-307,309,329,331-332,405,408-409,411,415-416,418-421,423-425,429-431,435,438,440,503,506-508,510,512,518-519,568-569,572-573,576-578,582-584,590,592-594,596-597,619,622-623,625-630,635,640,648,652-653,657,661-662,665,669,672-673,676,679-680,682,685,690,732-733,735,738,746,750,752,755,762-767,834,836-837,839-842,844-851,854-855,857-863,866-867,869-874,877,879-884,886,888,893,895,899,901,903-907,910-911,915-916,918-920,924,926-929,935,937-943,945,947,949
source/src/enet_encap/endianconv.c           131     114    87%   52-56,207-208,210-211,213-216,219,222,251-252
source/src/ports/generic_networkhandler.c
                                             475       0     0%   129-130,134,136,138,141-142,144,147-148,151-154,158-160,163,166,177,185-188,193-195,199-202,207-209,213-214,225,234-235,246,253,255-256,259,262-263,267-269,272,275-276,280-282,286,288-290,295-296,300,302-303,306-307,312-313,318-320,323,326-327,332-334,338,340-342,348-349,356,358-360,364-365,370-372,376-378,382-384,387-388,393-394,396,399-402,404-409,411-415,417,419,421-425,427,429,432,435-436,438-439,441-444,447-449,452,454,464,466,468-470,474,478-479,481-483,485,488-489,491-492,497-498,501-503,507-511,513-514,516,518-519,525-526,532-534,541,544,547-549,553,558-562,565,567-569,573,576-577,584-586,591-593,596,598-602,613-614,616-617,621,631,634,636,641,643-645,648,651-652,659-661,665-667,670,672-677,685-686,688-689,693,701,704,706,711,721-723,727-729,733-735,738,750-753,763,765-766,771,773,775-778,780-782,785,787-789,792,794-795,798,801,804,807-809,811,814-815,821-824,826-829,834-836,838-840,842-844,847-848,850,852-853,858-862,864-867,871-873,876,878,880,882,884-889,892-893,896-898,904-905,908,910,913,916,919,921,925-926,930,934,950,952,954-956,959-961,964,967-970,974,976-977,983-985,990-992,994,997-998,1001-1004,1008,1010,1012-1013,1021-1023,1025-1026,1029-1030,1038-1039,1041,1046-1047,1052-1054,1059-1060,1065-1066,1071-1073,1081-1083,1085,1088-1089,1092-1094,1096,1099-1100,1102,1105-1107,1110,1112,1114,1116-1119,1121,1127-1129,1136-1138,1140,1143-1146,1148,1151-1153,1155,1158,1164-1165,1167-1169,1171-1172,1174-1175,1179,1183,1190-1192,1194,1200-1202,1204-1207,1209,1211-1212,1216,1218-1221,1223,1226
source/src/ports/nvdata/conffile.c            32       0     0%   59-64,66-68,72-73,75,77-78,80-84,92,111-113,115-117,130-133,135-136
source/src/ports/nvdata/nvdata.c              22       0     0%   37,39-42,45,63,67,71,74,76,80-81,83,99,104,107,109,111,115-116,119
source/src/ports/nvdata/nvqos.c               37       0     0%   31-33,43-47,49-50,57,71,73,79-81,86-91,96,104-107,109,112-117,121-122,124
source/src/ports/nvdata/nvtcpip.c             17       0     0%   27,29,31,33-34,37,39,45,49,57,59,61-62,65,67,70-71
source/src/ports/POSIX/networkconfig.c       171       0     0%   27,29-31,33-35,37,39-41,43,45-46,49,52,54-58,60-62,66-70,72-73,76-77,79-80,83-84,86,88,91,93,95-97,99,102-105,107-108,110-114,121-122,124-125,127-131,133,136-137,139,152,154-157,159-170,172,175-177,184-188,190-191,193,200,203-206,211-215,217-219,230,232-233,236-239,241-245,247,250,252-253,255,257-259,261-263,266,269-270,272,277,280-281,283-286,288-290,294-295,297-299,301-302,304-305,308-309,311-312,314-315,318,321-322,324-327,329
source/src/ports/POSIX/networkhandler.c       27       0     0%   22-23,25-29,32-33,36,38,41-44,48-49,51,53-55,57-59,62,66-67
source/src/ports/POSIX/opener_error.c          9       0     0%   26-27,30-33,36-38
source/src/ports/POSIX/sample_application/sampleapplication.c
                                              51       0     0%   40,43,48,53,58,61,64,68,72,76,85,87,118,121,123,125,130-133,135-136,139,143,146,164,167,174,177-178,181,183-185,188,190-191,193-194,197-198,201-203,205-208,210,213-214
source/src/ports/socket_timer.c               25      24    96%   46
source/src/utils/doublylinkedlist.c           86      83    96%   48,127,130
source/src/utils/enipmessage.c                 4       4   100%
source/src/utils/random.c                      8       8   100%
source/src/utils/xorshiftrandom.c             13      12    92%   24
source/tests/callback_mock.cpp                31       8    25%   12-14,17-19,21,24-25,27-29,32-33,36-38,41-43,64-66
source/tests/cip/cipcommontests.cpp          107     107   100%
source/tests/cip/cipconnectionobjecttest.cpp
                                             382     382   100%
source/tests/cip/cipelectronickeyformattest.cpp
                                             125     125   100%
source/tests/cip/cipelectronickeytest.cpp
                                              24      24   100%
source/tests/cip/cipepathtest.cpp            633     633   100%
source/tests/cip/cipstringtests.cpp          207     207   100%
source/tests/enet_encap/encaptest.cpp         52      52   100%
source/tests/enet_encap/endianconvtest.cpp
                                             167     167   100%
source/tests/OpENerTests.cpp                  29      11    37%   64,71-73,76,78,84-85,87-88,90-94,96,100,108
source/tests/ports/socket_timer_tests.cpp
                                              31      31   100%
source/tests/utils/doublylinkedlistTests.cpp
                                             247     247   100%
source/tests/utils/randomTests.cpp             9       9   100%
source/tests/utils/xorshiftrandomtests.cpp
                                              13      13   100%
------------------------------------------------------------------------------
TOTAL                                       7632    3109    40%
------------------------------------------------------------------------------
lines: 40.7% (3109 out of 7632)
functions: 63.4% (630 out of 994)
branches: 17.7% (1100 out of 6232)

📥 Download the detailed HTML report from artifacts.

ℹ️ This PR was tested with standard static analysis. Exhaustive analysis will run on release branches.

@github-actions
Copy link

github-actions bot commented Dec 3, 2025

📊 Coverage Report

Line Coverage: 40.7%

------------------------------------------------------------------------------
                           GCC Code Coverage Report
Directory: .
------------------------------------------------------------------------------
File                                       Lines    Exec  Cover   Missing
------------------------------------------------------------------------------
source/src/cip/appcontype.c                  186       0     0%   95,100-101,103,105,108,110,114-115,117-118,121,123,127-128,130,132,135,137,140,142-145,148-150,153-156,159,162,169,176,178,182-183,186,189,192-198,201-202,204-207,209-210,212-214,216-217,219,221,224-225,234,237,239-240,242-245,247,249-251,253,256-261,264,266,268,272-277,285-286,289,292,294-295,297-300,302,304-306,308,312,319-324,327,329,331,335-340,348-349,352,354,356-359,361-363,367-368,370-372,375,380,382,384-387,389,391,393-394,397,401,403,408,412-420,424-425,428,430-436,438,440-441,443-446,449,454-455,459,462,465
source/src/cip/cipassembly.c                  75       0     0%   49,51,63-64,69,74-75,78,84-85,88-89,91-96,98,101,103,106-108,111,115,119-121,125-126,128,137,142,145,148,154-156,161,165,168,172-174,176-178,180-183,185-188,192-193,196,205,207,210,212,215,218-220,222,224,227,230-232,234,236
source/src/cip/cipclass3connection.c          35       0     0%   19-20,22-23,26,29,31,33-35,38,40,42,46,48,51,53,60-62,64,70-71,74,76,79-83,89,92-95
source/src/cip/cipcommon.c                   817      44     5%   45,47-58,63-64,81-82,84,87,89,91,93,95,98-99,101,108,111,114,118,120-122,124-125,127-128,131-133,139,144-145,149,151,157,159-160,162,165,168-172,175,177,180,182-185,189,192-193,197-198,201,204,208,212,216-217,222-225,228-229,233,235,238,241,243,245,250,252,254,256,259,262,269-270,272,275,277,279-281,284,287,290,302,304,316-318,322-324,326,328-329,332,336,339,342-348,357,360,362,364-366,368,371,374-376,379,382,384,386,390,393,395-396,402-403,406-407,409-410,412-413,418,423,425,428-429,434,436,441,443,449,451,459,466,471,473,478,480-481,483,489,495,502,509,512-513,515,518-525,527,529,531-533,535,537-538,540,542,548-549,553,557,562-563,566-567,569-570,572-573,575-576,578,580,584,587-588,590-591,593-594,598-599,601,603,605,607-609,611,620,623-628,631,638-639,643-644,646,649,652-656,659,664-666,670-672,676-679,684,692,694-695,712,714-715,732,734-735,737-739,741,743-744,746,748-749,751,753-754,756,758-759,761,763,765,767-772,774,776,778-781,783-784,786,788,791,793,796-797,799-800,802,805-806,808-809,811,813-818,820,822-825,827-829,831-833,835-837,839-841,843,845-846,849,851,853-860,862,864-866,868,870-874,876,879-884,886,893-894,896-897,899,902,906-907,913-916,920-922,926,928,936-939,942,944,949,952,955-957,960,963-965,968,972-974,976-979,981-984,988-989,991,993-994,997,1000-1002,1005,1008-1010,1013,1016-1018,1021,1024-1026,1029,1032-1034,1037,1040-1042,1045,1048-1050,1053,1056-1058,1061,1064-1066,1069,1072-1074,1077,1080-1082,1085,1088-1090,1093,1096-1098,1118-1119,1148,1150-1152,1154-1155,1157,1162,1168-1169,1171-1172,1177,1179-1182,1184,1186-1187,1189-1192,1195,1198,1200,1203,1206,1212-1213,1215-1219,1221-1222,1224-1226,1228,1231,1236-1238,1240-1243,1245,1247,1249-1250,1252,1254,1256,1259,1263,1265,1267,1270,1273-1278,1280,1283,1285-1286,1290,1293,1295,1299,1301,1303,1307,1309,1311,1313,1316,1319,1325,1331-1332,1334-1338,1340-1341,1343-1345,1347,1350,1355-1357,1359-1362,1364,1366,1368-1369,1371,1373,1375,1378,1382,1384,1386,1389,1392-1397,1399,1402,1404,1409,1412,1416-1420,1423-1424,1428,1430,1432,1436,1438,1440,1442,1445,1448,1454-1457,1459-1462,1464-1467,1470-1474,1476-1479,1482-1486,1488-1491,1497,1499,1501,1504-1506,1508-1509,1512-1514,1516-1517,1522-1524,1526-1528,1530,1532-1535,1537,1539-1541,1543,1545-1548,1550,1552-1554,1556,1558-1561,1563,1565-1567,1569-1571,1579-1581,1583,1586,1593-1594,1596-1600,1602,1604,1607-1608,1612-1615,1618-1619,1623,1625,1628,1635-1636,1638-1642,1644,1646,1649-1650,1654-1655,1658-1661,1663,1665-1668,1675-1676,1680,1682,1685,1688,1690,1693,1700-1701,1703-1707,1709,1711,1714-1715,1719,1721-1722,1726,1729-1730,1733-1737,1739-1741
source/src/cip/cipconnectionmanager.c        708       0     0%   176-177,179-184,186,188,206,208-209,213,216-217,219,224,226,231,233,240,247,254,259,261,266,269,273,277,279-280,282,294,297,301,305-306,310,312,316,320,325,327-328,333,336,343-344,350,353-354,356,361-363,366,368-369,371,376,378-379,381-382,384-385,421,427-429,431-432,452,458-459,461-462,481,487-488,490-491,508,514-515,517,520-521,523,530,532-533,541-542,546-548,551,554-555,559-560,562,567,570,602,607-608,641,646-647,653,658,660-661,665,667,670,674-677,680-681,688-689,696,699,701-704,713,718-719,723,728-729,732,734,736,742,748-749,753,758-759,761,764-769,771,773,775,778-780,782-786,789-793,800,802,808,811,820,826-830,832,835,841-843,845-846,849-850,853,856-858,860-861,863,867,870,872,874-875,877-878,881,884,891-893,895-896,899-904,911,914-916,918-919,921-925,930,932,934,936-937,939-940,943,946,950,953,955,958,961,964,967,970,973,976,979,981,983,985,988,991,994,997,1000,1002,1004,1006,1009,1011,1013,1016-1017,1019,1021,1023-1026,1028,1031,1035,1038-1040,1042-1043,1047-1048,1050,1053,1058-1059,1063,1066,1070,1072,1074-1075,1077,1079,1082-1083,1086-1087,1089,1094,1096-1097,1101,1104,1109,1111,1125,1131,1133-1134,1137,1139-1141,1144-1145,1147-1148,1150,1152-1155,1160,1162,1170-1171,1175-1176,1178-1179,1182-1189,1192-1197,1200-1203,1211,1213,1215,1218,1220,1222,1226,1230,1232,1240,1243,1246-1248,1267,1275,1277-1278,1281,1283-1285,1287-1288,1291-1292,1294-1295,1297-1298,1300-1301,1303-1305,1309,1311,1314-1315,1317-1319,1321-1322,1324,1329,1331,1333-1335,1337,1339-1342,1344,1349,1351,1353-1357,1360,1366,1370,1373-1374,1376,1379-1380,1383-1388,1390,1395-1398,1400,1404,1406,1411-1416,1418,1424-1428,1431,1433,1439,1441,1444,1447-1450,1455,1457-1458,1460-1461,1464,1466-1468,1471-1472,1474-1475,1478,1481-1483,1486,1488-1494,1497-1500,1503-1505,1507,1509,1522-1525,1528-1529,1531,1535,1541-1542,1545-1548,1550-1553,1558,1560-1564,1566-1567,1570,1573,1577,1579,1581,1583,1586,1588,1591,1593-1595,1598,1600,1602,1604-1605,1607,1610-1611,1614,1616-1617,1619,1623-1624,1626,1629,1634,1637,1643,1647,1650-1653,1655-1656,1660-1662,1664,1670-1672,1675,1678-1680,1682-1685,1689-1690,1692,1694,1696,1702-1704,1706,1708,1710-1714,1717-1719,1721,1724,1726,1728,1732-1733,1735,1738-1746,1748-1751,1756-1763,1767-1769,1771-1772,1775,1778,1783,1785,1788-1790,1793,1800,1803-1804,1807,1810,1812-1813,1816,1818,1820,1822,1825-1827,1829-1831,1833,1835-1840,1843,1846-1847,1849,1851-1856,1860,1862,1865,1868,1872-1873,1875-1876,1878-1879,1883,1886,1888,1890-1893,1896,1899,1901,1903-1909,1912-1914,1918,1920,1923,1926-1931,1933,1937,1939-1940,1942,1944-1945,1948-1950
source/src/cip/cipconnectionobject.c         385     230    59%   61-62,67-71,77-81,86,88,107,109,111-112,167,180,248-249,271,274-275,294-296,398,400,403,406-407,409,411,414,417-418,425,427-428,430,432,435,437,467,478,480,482,484,502,505,508-510,512-514,516-518,520-522,524-526,528,530,532,534,537,540,542,544,546,549,552,554,556,558,561,564-565,579,581,583-584,586,588,590-591,593,611,621,631,633,635,641,651,653-654,656,672,684,696,714-715,738-739,744,773-774,818-819,851-852,872,875-876,878,880-885,887,889-891,893,895-896,898-899,903,907-908,912,916,918,923,925-926,928,930,933,938,940,942,945,950,953-954
source/src/cip/cipdlr.c                       30       0     0%   95,98,100-101,103,105,107-109,111,116-117,119,132,137,139,143,145,152,159,166,173,180,187,194,203,210,217,229,231
source/src/cip/cipelectronickey.c             47      47   100%
source/src/cip/cipepath.c                    297     270    90%   88-90,230-232,276-278,329-330,530,532-535,633,635,637-638,640-641,643,697,701,704-705
source/src/cip/cipethernetlink.c              58       0     0%   198-199,222-223,226,228-229,235-236,246,248,252,272-274,276,283,290,313,320,349,357,364,371,378,385,400-402,406,409,412,424,427,429,432,444,447,449,456,458,460-462,465,467-473,475,477-480,484
source/src/cip/cipidentity.c                 106       0     0%   61-64,67-69,72-74,77-79,82-85,88-90,93-94,98-99,102,106-107,110-112,116,118,120,131-134,144-147,157,159-162,170,174,176,178-179,181,183-184,186-189,193-195,203-205,208,211-212,214,219,221,226,228,235,242,249,254,256,261,264,268,274-275,277,279-282,284-285,299,303-304,306-307,314,321,328,335,342,349,357,359-361,363,366
source/src/cip/cipioconnection.c             432       0     0%   86-88,90-91,94-96,98-99,102,104-105,107-108,111,113,118-120,130-134,136,138,141-145,147-148,154,156-157,160-165,168-169,172,174-175,178,180-182,190,193-194,196-199,201,203,206-207,210-211,215,217,221,223,227-228,233,237-244,246,248-253,256-257,259,261-262,264,266-268,289,292,294-296,300,302,306,308,310-313,316,321-324,329,331,333,338,340,342,347,349-350,355-358,361-363,365,368,370,374,376-377,380,392,395,398,405,407,409-411,417-419,421-422,424-426,428-430,432,435,440,442-444,446-448,452-454,456-458,464-465,467,470,474-476,478,481,488-491,494,496,499,504-505,510-511,515-517,520,524,526-531,533,543,547,549-550,552-553,555-557,559,562,565-567,569,572,576-577,582,593-594,597-603,606-607,614-620,622-624,629-630,633,635,637-638,640,642,644,650-654,656-659,662-664,666-667,674,677,686-687,690,695,702-703,705-707,711-714,717-718,720-725,727,731-735,737-738,740,743,745,747,751,753,756-757,763,765,768-773,775-776,778,780-782,786,788,790,794,797,800-801,809-812,814-815,819-820,822,827,834,837-839,842,844-846,848,850,852-853,855,857-859,862,864,868-869,871-873,875-877,879-881,884-885,887-888,890,893,897-898,901-903,905-907,909,912,915-916,918-919,921-922,924,926-927,930-931,933-938,940,943-944,946-947,949,953,963-965,969,972-973,975-976,980,984,990,994,1001,1005,1010,1014,1023,1025-1027,1031-1033,1037-1038,1041-1042
source/src/cip/cipmessagerouter.c            122       0     0%   54-55,57,62,64,69,71,78,85,92,97,99,104,107,111,115,117-119,131,134,140,150-151,154,156-158,160,165-167,169-170,176,178,183-184,186-187,194-195,197-198,202,205,208-209,211,214,219-220,222-224,229-234,237-239,243-244,249-252,257-258,261-262,285,288,292-294,296-297,299,303,306-309,313-314,316-318,320-322,324-329,331,333,337-344,347-354,356,358-359
source/src/cip/cipqos.c                       55       0     0%   69,73,75,77-80,82-83,86,90,93,96-111,113-114,116,119-120,122-123,138,142,149,156,163,170,177,184,191,199,203,208,211-213,215-216,224-226
source/src/cip/cipstring.c                   124     109    87%   68-70,272,275-276,278,281-284,286,288-289,291
source/src/cip/cipstringi.c                  229       0     0%   16-40,42,44-47,49-67,69,76-85,92,94-134,136,138-151,153,155,158,160-161,163-164,166-176,178-183,185-186,188,190-195,197-205,207-213,215-218,220-224,227,229,232,234-236,238-245,248-257,259-261,265,267-269,271-278,281-290,292-294,298-299
source/src/cip/ciptcpipinterface.c            94       0     0%   328,330,332,334,336,338,340,342,344,346,349,351-352,354,357-358,360-361,363,366,368-369,371,374,376,378-379,381,383,389,391-393,395,399,402-404,407,515,523,525-526,528-529,531-533,536,539-540,542-543,558,562,569,576,583,609,616,627,634,641,648,655,662,669,677,682,685,690,693,695-697,700-702,704,712,714,718-721,723-725,727-732
source/src/cip/ciptypes.c                     26       0     0%   13-14,16,31,34,42-43,45,50-51,53-55,57,60-61,66-68,73-75,80-83
source/src/enet_encap/cpf.c                  281      38    13%   62,64,66,69-71,75-76,79,82-85,87,91-92,98-99,101,104,120,124-126,129,132,134,139-140,142,144,147,149-151,156-157,160-161,163-164,166,168,170,173,175,177,181,183-185,187,190,192-196,200-201,204,206-209,211,214-215,218,234,238-239,241,271-273,276-278,282-288,294-295,297-298,300-301,304-307,310-320,322,324,326,343-344,358-359,361-362,370,375-378,380,389,394-397,399-400,402,411,414,416,425,428,430,439,442,444,453,456-461,463,473,476-477,479,481,489,492-493,495,504,507-508,516,519-520,528,531-532,541,544,546,554,557,559-560,563,576,579-581,590,593-594,596,598,606,609-611,613-615,617,627,631-633,635,645,649-650,652,654,658,661-662,665,668,670-671,673-674,676,678-679,681,689-690,693-694,696,698,700,704,709-710,712-714,717,719,721,731-734,736,739,742-744,747,749,756,759-760
source/src/enet_encap/encap.c                360     110    30%   126-127,131,134-135,138-140,145-148,150,153,155,161-163,167-168,170-171,174-176,179-180,182,187-188,190,197-199,201,204-205,207,209-211,213,215-217,219,221-223,225,227-229,231,233-235,237,240,242,250,257-258,262-263,265-266,269-271,274-275,277,282-283,285-288,290,292-295,298,301,305-307,309,329,331-332,405,408-409,411,415-416,418-421,423-425,429-431,435,438,440,503,506-508,510,512,518-519,568-569,572-573,576-578,582-584,590,592-594,596-597,619,622-623,625-630,635,640,648,652-653,657,661-662,665,669,672-673,676,679-680,682,685,690,732-733,735,738,746,750,752,755,762-767,834,836-837,839-842,844-851,854-855,857-863,866-867,869-874,877,879-884,886,888,893,895,899,901,903-907,910-911,915-916,918-920,924,926-929,935,937-943,945,947,949
source/src/enet_encap/endianconv.c           131     114    87%   52-56,207-208,210-211,213-216,219,222,251-252
source/src/ports/generic_networkhandler.c
                                             475       0     0%   129-130,134,136,138,141-142,144,147-148,151-154,158-160,163,166,177,185-188,193-195,199-202,207-209,213-214,225,234-235,246,253,255-256,259,262-263,267-269,272,275-276,280-282,286,288-290,295-296,300,302-303,306-307,312-313,318-320,323,326-327,332-334,338,340-342,348-349,356,358-360,364-365,370-372,376-378,382-384,387-388,393-394,396,399-402,404-409,411-415,417,419,421-425,427,429,432,435-436,438-439,441-444,447-449,452,454,464,466,468-470,474,478-479,481-483,485,488-489,491-492,497-498,501-503,507-511,513-514,516,518-519,525-526,532-534,541,544,547-549,553,558-562,565,567-569,573,576-577,584-586,591-593,596,598-602,613-614,616-617,621,631,634,636,641,643-645,648,651-652,659-661,665-667,670,672-677,685-686,688-689,693,701,704,706,711,721-723,727-729,733-735,738,750-753,763,765-766,771,773,775-778,780-782,785,787-789,792,794-795,798,801,804,807-809,811,814-815,821-824,826-829,834-836,838-840,842-844,847-848,850,852-853,858-862,864-867,871-873,876,878,880,882,884-889,892-893,896-898,904-905,908,910,913,916,919,921,925-926,930,934,950,952,954-956,959-961,964,967-970,974,976-977,983-985,990-992,994,997-998,1001-1004,1008,1010,1012-1013,1021-1023,1025-1026,1029-1030,1038-1039,1041,1046-1047,1052-1054,1059-1060,1065-1066,1071-1073,1081-1083,1085,1088-1089,1092-1094,1096,1099-1100,1102,1105-1107,1110,1112,1114,1116-1119,1121,1127-1129,1136-1138,1140,1143-1146,1148,1151-1153,1155,1158,1164-1165,1167-1169,1171-1172,1174-1175,1179,1183,1190-1192,1194,1200-1202,1204-1207,1209,1211-1212,1216,1218-1221,1223,1226
source/src/ports/nvdata/conffile.c            32       0     0%   59-64,66-68,72-73,75,77-78,80-84,92,111-113,115-117,130-133,135-136
source/src/ports/nvdata/nvdata.c              22       0     0%   37,39-42,45,63,67,71,74,76,80-81,83,99,104,107,109,111,115-116,119
source/src/ports/nvdata/nvqos.c               37       0     0%   31-33,43-47,49-50,57,71,73,79-81,86-91,96,104-107,109,112-117,121-122,124
source/src/ports/nvdata/nvtcpip.c             17       0     0%   27,29,31,33-34,37,39,45,49,57,59,61-62,65,67,70-71
source/src/ports/POSIX/networkconfig.c       171       0     0%   27,29-31,33-35,37,39-41,43,45-46,49,52,54-58,60-62,66-70,72-73,76-77,79-80,83-84,86,88,91,93,95-97,99,102-105,107-108,110-114,121-122,124-125,127-131,133,136-137,139,152,154-157,159-170,172,175-177,184-188,190-191,193,200,203-206,211-215,217-219,230,232-233,236-239,241-245,247,250,252-253,255,257-259,261-263,266,269-270,272,277,280-281,283-286,288-290,294-295,297-299,301-302,304-305,308-309,311-312,314-315,318,321-322,324-327,329
source/src/ports/POSIX/networkhandler.c       27       0     0%   22-23,25-29,32-33,36,38,41-44,48-49,51,53-55,57-59,62,66-67
source/src/ports/POSIX/opener_error.c          9       0     0%   26-27,30-33,36-38
source/src/ports/POSIX/sample_application/sampleapplication.c
                                              51       0     0%   40,43,48,53,58,61,64,68,72,76,85,87,118,121,123,125,130-133,135-136,139,143,146,164,167,174,177-178,181,183-185,188,190-191,193-194,197-198,201-203,205-208,210,213-214
source/src/ports/socket_timer.c               25      24    96%   46
source/src/utils/doublylinkedlist.c           86      83    96%   48,127,130
source/src/utils/enipmessage.c                 4       4   100%
source/src/utils/random.c                      8       8   100%
source/src/utils/xorshiftrandom.c             13      12    92%   24
source/tests/callback_mock.cpp                31       8    25%   12-14,17-19,21,24-25,27-29,32-33,36-38,41-43,64-66
source/tests/cip/cipcommontests.cpp          107     107   100%
source/tests/cip/cipconnectionobjecttest.cpp
                                             382     382   100%
source/tests/cip/cipelectronickeyformattest.cpp
                                             125     125   100%
source/tests/cip/cipelectronickeytest.cpp
                                              24      24   100%
source/tests/cip/cipepathtest.cpp            633     633   100%
source/tests/cip/cipstringtests.cpp          207     207   100%
source/tests/enet_encap/encaptest.cpp         52      52   100%
source/tests/enet_encap/endianconvtest.cpp
                                             167     167   100%
source/tests/OpENerTests.cpp                  29      11    37%   64,71-73,76,78,84-85,87-88,90-94,96,100,108
source/tests/ports/socket_timer_tests.cpp
                                              31      31   100%
source/tests/utils/doublylinkedlistTests.cpp
                                             247     247   100%
source/tests/utils/randomTests.cpp             9       9   100%
source/tests/utils/xorshiftrandomtests.cpp
                                              13      13   100%
------------------------------------------------------------------------------
TOTAL                                       7632    3109    40%
------------------------------------------------------------------------------
lines: 40.7% (3109 out of 7632)
functions: 63.4% (630 out of 994)
branches: 17.7% (1100 out of 6232)

📥 Download the detailed HTML report from artifacts.

ℹ️ This PR was tested with standard static analysis. Exhaustive analysis will run on release branches.

@github-actions
Copy link

github-actions bot commented Dec 4, 2025

📊 Coverage Report

Line Coverage: 40.7%

------------------------------------------------------------------------------
                           GCC Code Coverage Report
Directory: .
------------------------------------------------------------------------------
File                                       Lines    Exec  Cover   Missing
------------------------------------------------------------------------------
source/src/cip/appcontype.c                  186       0     0%   95,100-101,103,105,108,110,114-115,117-118,121,123,127-128,130,132,135,137,140,142-145,148-150,153-156,159,162,169,176,178,182-183,186,189,192-198,201-202,204-207,209-210,212-214,216-217,219,221,224-225,234,237,239-240,242-245,247,249-251,253,256-261,264,266,268,272-277,285-286,289,292,294-295,297-300,302,304-306,308,312,319-324,327,329,331,335-340,348-349,352,354,356-359,361-363,367-368,370-372,375,380,382,384-387,389,391,393-394,397,401,403,408,412-420,424-425,428,430-436,438,440-441,443-446,449,454-455,459,462,465
source/src/cip/cipassembly.c                  75       0     0%   49,51,63-64,69,74-75,78,84-85,88-89,91-96,98,101,103,106-108,111,115,119-121,125-126,128,137,142,145,148,154-156,161,165,168,172-174,176-178,180-183,185-188,192-193,196,205,207,210,212,215,218-220,222,224,227,230-232,234,236
source/src/cip/cipclass3connection.c          35       0     0%   19-20,22-23,26,29,31,33-35,38,40,42,46,48,51,53,60-62,64,70-71,74,76,79-83,89,92-95
source/src/cip/cipcommon.c                   817      44     5%   45,47-58,63-64,81-82,84,87,89,91,93,95,98-99,101,108,111,114,118,120-122,124-125,127-128,131-133,139,144-145,149,151,157,159-160,162,165,168-172,175,177,180,182-185,189,192-193,197-198,201,204,208,212,216-217,222-225,228-229,233,235,238,241,243,245,250,252,254,256,259,262,269-270,272,275,277,279-281,284,287,290,302,304,316-318,322-324,326,328-329,332,336,339,342-348,357,360,362,364-366,368,371,374-376,379,382,384,386,390,393,395-396,402-403,406-407,409-410,412-413,418,423,425,428-429,434,436,441,443,449,451,459,466,471,473,478,480-481,483,489,495,502,509,512-513,515,518-525,527,529,531-533,535,537-538,540,542,548-549,553,557,562-563,566-567,569-570,572-573,575-576,578,580,584,587-588,590-591,593-594,598-599,601,603,605,607-609,611,620,623-628,631,638-639,643-644,646,649,652-656,659,664-666,670-672,676-679,684,692,694-695,712,714-715,732,734-735,737-739,741,743-744,746,748-749,751,753-754,756,758-759,761,763,765,767-772,774,776,778-781,783-784,786,788,791,793,796-797,799-800,802,805-806,808-809,811,813-818,820,822-825,827-829,831-833,835-837,839-841,843,845-846,849,851,853-860,862,864-866,868,870-874,876,879-884,886,893-894,896-897,899,902,906-907,913-916,920-922,926,928,936-939,942,944,949,952,955-957,960,963-965,968,972-974,976-979,981-984,988-989,991,993-994,997,1000-1002,1005,1008-1010,1013,1016-1018,1021,1024-1026,1029,1032-1034,1037,1040-1042,1045,1048-1050,1053,1056-1058,1061,1064-1066,1069,1072-1074,1077,1080-1082,1085,1088-1090,1093,1096-1098,1118-1119,1148,1150-1152,1154-1155,1157,1162,1168-1169,1171-1172,1177,1179-1182,1184,1186-1187,1189-1192,1195,1198,1200,1203,1206,1212-1213,1215-1219,1221-1222,1224-1226,1228,1231,1236-1238,1240-1243,1245,1247,1249-1250,1252,1254,1256,1259,1263,1265,1267,1270,1273-1278,1280,1283,1285-1286,1290,1293,1295,1299,1301,1303,1307,1309,1311,1313,1316,1319,1325,1331-1332,1334-1338,1340-1341,1343-1345,1347,1350,1355-1357,1359-1362,1364,1366,1368-1369,1371,1373,1375,1378,1382,1384,1386,1389,1392-1397,1399,1402,1404,1409,1412,1416-1420,1423-1424,1428,1430,1432,1436,1438,1440,1442,1445,1448,1454-1457,1459-1462,1464-1467,1470-1474,1476-1479,1482-1486,1488-1491,1497,1499,1501,1504-1506,1508-1509,1512-1514,1516-1517,1522-1524,1526-1528,1530,1532-1535,1537,1539-1541,1543,1545-1548,1550,1552-1554,1556,1558-1561,1563,1565-1567,1569-1571,1579-1581,1583,1586,1593-1594,1596-1600,1602,1604,1607-1608,1612-1615,1618-1619,1623,1625,1628,1635-1636,1638-1642,1644,1646,1649-1650,1654-1655,1658-1661,1663,1665-1668,1675-1676,1680,1682,1685,1688,1690,1693,1700-1701,1703-1707,1709,1711,1714-1715,1719,1721-1722,1726,1729-1730,1733-1737,1739-1741
source/src/cip/cipconnectionmanager.c        708       0     0%   176-177,179-184,186,188,206,208-209,213,216-217,219,224,226,231,233,240,247,254,259,261,266,269,273,277,279-280,282,294,297,301,305-306,310,312,316,320,325,327-328,333,336,343-344,350,353-354,356,361-363,366,368-369,371,376,378-379,381-382,384-385,421,427-429,431-432,452,458-459,461-462,481,487-488,490-491,508,514-515,517,520-521,523,530,532-533,541-542,546-548,551,554-555,559-560,562,567,570,602,607-608,641,646-647,653,658,660-661,665,667,670,674-677,680-681,688-689,696,699,701-704,713,718-719,723,728-729,732,734,736,742,748-749,753,758-759,761,764-769,771,773,775,778-780,782-786,789-793,800,802,808,811,820,826-830,832,835,841-843,845-846,849-850,853,856-858,860-861,863,867,870,872,874-875,877-878,881,884,891-893,895-896,899-904,911,914-916,918-919,921-925,930,932,934,936-937,939-940,943,946,950,953,955,958,961,964,967,970,973,976,979,981,983,985,988,991,994,997,1000,1002,1004,1006,1009,1011,1013,1016-1017,1019,1021,1023-1026,1028,1031,1035,1038-1040,1042-1043,1047-1048,1050,1053,1058-1059,1063,1066,1070,1072,1074-1075,1077,1079,1082-1083,1086-1087,1089,1094,1096-1097,1101,1104,1109,1111,1125,1131,1133-1134,1137,1139-1141,1144-1145,1147-1148,1150,1152-1155,1160,1162,1170-1171,1175-1176,1178-1179,1182-1189,1192-1197,1200-1203,1211,1213,1215,1218,1220,1222,1226,1230,1232,1240,1243,1246-1248,1267,1275,1277-1278,1281,1283-1285,1287-1288,1291-1292,1294-1295,1297-1298,1300-1301,1303-1305,1309,1311,1314-1315,1317-1319,1321-1322,1324,1329,1331,1333-1335,1337,1339-1342,1344,1349,1351,1353-1357,1360,1366,1370,1373-1374,1376,1379-1380,1383-1388,1390,1395-1398,1400,1404,1406,1411-1416,1418,1424-1428,1431,1433,1439,1441,1444,1447-1450,1455,1457-1458,1460-1461,1464,1466-1468,1471-1472,1474-1475,1478,1481-1483,1486,1488-1494,1497-1500,1503-1505,1507,1509,1522-1525,1528-1529,1531,1535,1541-1542,1545-1548,1550-1553,1558,1560-1564,1566-1567,1570,1573,1577,1579,1581,1583,1586,1588,1591,1593-1595,1598,1600,1602,1604-1605,1607,1610-1611,1614,1616-1617,1619,1623-1624,1626,1629,1634,1637,1643,1647,1650-1653,1655-1656,1660-1662,1664,1670-1672,1675,1678-1680,1682-1685,1689-1690,1692,1694,1696,1702-1704,1706,1708,1710-1714,1717-1719,1721,1724,1726,1728,1732-1733,1735,1738-1746,1748-1751,1756-1763,1767-1769,1771-1772,1775,1778,1783,1785,1788-1790,1793,1800,1803-1804,1807,1810,1812-1813,1816,1818,1820,1822,1825-1827,1829-1831,1833,1835-1840,1843,1846-1847,1849,1851-1856,1860,1862,1865,1868,1872-1873,1875-1876,1878-1879,1883,1886,1888,1890-1893,1896,1899,1901,1903-1909,1912-1914,1918,1920,1923,1926-1931,1933,1937,1939-1940,1942,1944-1945,1948-1950
source/src/cip/cipconnectionobject.c         385     230    59%   61-62,67-71,77-81,86,88,107,109,111-112,167,180,248-249,271,274-275,294-296,398,400,403,406-407,409,411,414,417-418,425,427-428,430,432,435,437,467,478,480,482,484,502,505,508-510,512-514,516-518,520-522,524-526,528,530,532,534,537,540,542,544,546,549,552,554,556,558,561,564-565,579,581,583-584,586,588,590-591,593,611,621,631,633,635,641,651,653-654,656,672,684,696,714-715,738-739,744,773-774,818-819,851-852,872,875-876,878,880-885,887,889-891,893,895-896,898-899,903,907-908,912,916,918,923,925-926,928,930,933,938,940,942,945,950,953-954
source/src/cip/cipdlr.c                       30       0     0%   95,98,100-101,103,105,107-109,111,116-117,119,132,137,139,143,145,152,159,166,173,180,187,194,203,210,217,229,231
source/src/cip/cipelectronickey.c             47      47   100%
source/src/cip/cipepath.c                    297     270    90%   88-90,230-232,276-278,329-330,530,532-535,633,635,637-638,640-641,643,697,701,704-705
source/src/cip/cipethernetlink.c              58       0     0%   198-199,222-223,226,228-229,235-236,246,248,252,272-274,276,283,290,313,320,349,357,364,371,378,385,400-402,406,409,412,424,427,429,432,444,447,449,456,458,460-462,465,467-473,475,477-480,484
source/src/cip/cipidentity.c                 106       0     0%   61-64,67-69,72-74,77-79,82-85,88-90,93-94,98-99,102,106-107,110-112,116,118,120,131-134,144-147,157,159-162,170,174,176,178-179,181,183-184,186-189,193-195,203-205,208,211-212,214,219,221,226,228,235,242,249,254,256,261,264,268,274-275,277,279-282,284-285,299,303-304,306-307,314,321,328,335,342,349,357,359-361,363,366
source/src/cip/cipioconnection.c             432       0     0%   86-88,90-91,94-96,98-99,102,104-105,107-108,111,113,118-120,130-134,136,138,141-145,147-148,154,156-157,160-165,168-169,172,174-175,178,180-182,190,193-194,196-199,201,203,206-207,210-211,215,217,221,223,227-228,233,237-244,246,248-253,256-257,259,261-262,264,266-268,289,292,294-296,300,302,306,308,310-313,316,321-324,329,331,333,338,340,342,347,349-350,355-358,361-363,365,368,370,374,376-377,380,392,395,398,405,407,409-411,417-419,421-422,424-426,428-430,432,435,440,442-444,446-448,452-454,456-458,464-465,467,470,474-476,478,481,488-491,494,496,499,504-505,510-511,515-517,520,524,526-531,533,543,547,549-550,552-553,555-557,559,562,565-567,569,572,576-577,582,593-594,597-603,606-607,614-620,622-624,629-630,633,635,637-638,640,642,644,650-654,656-659,662-664,666-667,674,677,686-687,690,695,702-703,705-707,711-714,717-718,720-725,727,731-735,737-738,740,743,745,747,751,753,756-757,763,765,768-773,775-776,778,780-782,786,788,790,794,797,800-801,809-812,814-815,819-820,822,827,834,837-839,842,844-846,848,850,852-853,855,857-859,862,864,868-869,871-873,875-877,879-881,884-885,887-888,890,893,897-898,901-903,905-907,909,912,915-916,918-919,921-922,924,926-927,930-931,933-938,940,943-944,946-947,949,953,963-965,969,972-973,975-976,980,984,990,994,1001,1005,1010,1014,1023,1025-1027,1031-1033,1037-1038,1041-1042
source/src/cip/cipmessagerouter.c            122       0     0%   54-55,57,62,64,69,71,78,85,92,97,99,104,107,111,115,117-119,131,134,140,150-151,154,156-158,160,165-167,169-170,176,178,183-184,186-187,194-195,197-198,202,205,208-209,211,214,219-220,222-224,229-234,237-239,243-244,249-252,257-258,261-262,285,288,292-294,296-297,299,303,306-309,313-314,316-318,320-322,324-329,331,333,337-344,347-354,356,358-359
source/src/cip/cipqos.c                       55       0     0%   69,73,75,77-80,82-83,86,90,93,96-111,113-114,116,119-120,122-123,138,142,149,156,163,170,177,184,191,199,203,208,211-213,215-216,224-226
source/src/cip/cipstring.c                   124     109    87%   68-70,272,275-276,278,281-284,286,288-289,291
source/src/cip/cipstringi.c                  229       0     0%   16-40,42,44-47,49-67,69,76-85,92,94-134,136,138-151,153,155,158,160-161,163-164,166-176,178-183,185-186,188,190-195,197-205,207-213,215-218,220-224,227,229,232,234-236,238-245,248-257,259-261,265,267-269,271-278,281-290,292-294,298-299
source/src/cip/ciptcpipinterface.c            94       0     0%   328,330,332,334,336,338,340,342,344,346,349,351-352,354,357-358,360-361,363,366,368-369,371,374,376,378-379,381,383,389,391-393,395,399,402-404,407,515,523,525-526,528-529,531-533,536,539-540,542-543,558,562,569,576,583,609,616,627,634,641,648,655,662,669,677,682,685,690,693,695-697,700-702,704,712,714,718-721,723-725,727-732
source/src/cip/ciptypes.c                     26       0     0%   13-14,16,31,34,42-43,45,50-51,53-55,57,60-61,66-68,73-75,80-83
source/src/enet_encap/cpf.c                  281      38    13%   62,64,66,69-71,75-76,79,82-85,87,91-92,98-99,101,104,120,124-126,129,132,134,139-140,142,144,147,149-151,156-157,160-161,163-164,166,168,170,173,175,177,181,183-185,187,190,192-196,200-201,204,206-209,211,214-215,218,234,238-239,241,271-273,276-278,282-288,294-295,297-298,300-301,304-307,310-320,322,324,326,343-344,358-359,361-362,370,375-378,380,389,394-397,399-400,402,411,414,416,425,428,430,439,442,444,453,456-461,463,473,476-477,479,481,489,492-493,495,504,507-508,516,519-520,528,531-532,541,544,546,554,557,559-560,563,576,579-581,590,593-594,596,598,606,609-611,613-615,617,627,631-633,635,645,649-650,652,654,658,661-662,665,668,670-671,673-674,676,678-679,681,689-690,693-694,696,698,700,704,709-710,712-714,717,719,721,731-734,736,739,742-744,747,749,756,759-760
source/src/enet_encap/encap.c                360     110    30%   126-127,131,134-135,138-140,145-148,150,153,155,161-163,167-168,170-171,174-176,179-180,182,187-188,190,197-199,201,204-205,207,209-211,213,215-217,219,221-223,225,227-229,231,233-235,237,240,242,250,257-258,262-263,265-266,269-271,274-275,277,282-283,285-288,290,292-295,298,301,305-307,309,329,331-332,405,408-409,411,415-416,418-421,423-425,429-431,435,438,440,503,506-508,510,512,518-519,568-569,572-573,576-578,582-584,590,592-594,596-597,619,622-623,625-630,635,640,648,652-653,657,661-662,665,669,672-673,676,679-680,682,685,690,732-733,735,738,746,750,752,755,762-767,834,836-837,839-842,844-851,854-855,857-863,866-867,869-874,877,879-884,886,888,893,895,899,901,903-907,910-911,915-916,918-920,924,926-929,935,937-943,945,947,949
source/src/enet_encap/endianconv.c           131     114    87%   52-56,207-208,210-211,213-216,219,222,251-252
source/src/ports/generic_networkhandler.c
                                             475       0     0%   129-130,134,136,138,141-142,144,147-148,151-154,158-160,163,166,177,185-188,193-195,199-202,207-209,213-214,225,234-235,246,253,255-256,259,262-263,267-269,272,275-276,280-282,286,288-290,295-296,300,302-303,306-307,312-313,318-320,323,326-327,332-334,338,340-342,348-349,356,358-360,364-365,370-372,376-378,382-384,387-388,393-394,396,399-402,404-409,411-415,417,419,421-425,427,429,432,435-436,438-439,441-444,447-449,452,454,464,466,468-470,474,478-479,481-483,485,488-489,491-492,497-498,501-503,507-511,513-514,516,518-519,525-526,532-534,541,544,547-549,553,558-562,565,567-569,573,576-577,584-586,591-593,596,598-602,613-614,616-617,621,631,634,636,641,643-645,648,651-652,659-661,665-667,670,672-677,685-686,688-689,693,701,704,706,711,721-723,727-729,733-735,738,750-753,763,765-766,771,773,775-778,780-782,785,787-789,792,794-795,798,801,804,807-809,811,814-815,821-824,826-829,834-836,838-840,842-844,847-848,850,852-853,858-862,864-867,871-873,876,878,880,882,884-889,892-893,896-898,904-905,908,910,913,916,919,921,925-926,930,934,950,952,954-956,959-961,964,967-970,974,976-977,983-985,990-992,994,997-998,1001-1004,1008,1010,1012-1013,1021-1023,1025-1026,1029-1030,1038-1039,1041,1046-1047,1052-1054,1059-1060,1065-1066,1071-1073,1081-1083,1085,1088-1089,1092-1094,1096,1099-1100,1102,1105-1107,1110,1112,1114,1116-1119,1121,1127-1129,1136-1138,1140,1143-1146,1148,1151-1153,1155,1158,1164-1165,1167-1169,1171-1172,1174-1175,1179,1183,1190-1192,1194,1200-1202,1204-1207,1209,1211-1212,1216,1218-1221,1223,1226
source/src/ports/nvdata/conffile.c            32       0     0%   59-64,66-68,72-73,75,77-78,80-84,92,111-113,115-117,130-133,135-136
source/src/ports/nvdata/nvdata.c              22       0     0%   37,39-42,45,63,67,71,74,76,80-81,83,99,104,107,109,111,115-116,119
source/src/ports/nvdata/nvqos.c               37       0     0%   31-33,43-47,49-50,57,71,73,79-81,86-91,96,104-107,109,112-117,121-122,124
source/src/ports/nvdata/nvtcpip.c             17       0     0%   27,29,31,33-34,37,39,45,49,57,59,61-62,65,67,70-71
source/src/ports/POSIX/networkconfig.c       171       0     0%   27,29-31,33-35,37,39-41,43,45-46,49,52,54-58,60-62,66-70,72-73,76-77,79-80,83-84,86,88,91,93,95-97,99,102-105,107-108,110-114,121-122,124-125,127-131,133,136-137,139,152,154-157,159-170,172,175-177,184-188,190-191,193,200,203-206,211-215,217-219,230,232-233,236-239,241-245,247,250,252-253,255,257-259,261-263,266,269-270,272,277,280-281,283-286,288-290,294-295,297-299,301-302,304-305,308-309,311-312,314-315,318,321-322,324-327,329
source/src/ports/POSIX/networkhandler.c       27       0     0%   22-23,25-29,32-33,36,38,41-44,48-49,51,53-55,57-59,62,66-67
source/src/ports/POSIX/opener_error.c          9       0     0%   26-27,30-33,36-38
source/src/ports/POSIX/sample_application/sampleapplication.c
                                              51       0     0%   40,43,48,53,58,61,64,68,72,76,85,87,118,121,123,125,130-133,135-136,139,143,146,164,167,174,177-178,181,183-185,188,190-191,193-194,197-198,201-203,205-208,210,213-214
source/src/ports/socket_timer.c               25      24    96%   46
source/src/utils/doublylinkedlist.c           86      83    96%   48,127,130
source/src/utils/enipmessage.c                 4       4   100%
source/src/utils/random.c                      8       8   100%
source/src/utils/xorshiftrandom.c             13      12    92%   24
source/tests/callback_mock.cpp                31       8    25%   12-14,17-19,21,24-25,27-29,32-33,36-38,41-43,64-66
source/tests/cip/cipcommontests.cpp          107     107   100%
source/tests/cip/cipconnectionobjecttest.cpp
                                             382     382   100%
source/tests/cip/cipelectronickeyformattest.cpp
                                             125     125   100%
source/tests/cip/cipelectronickeytest.cpp
                                              24      24   100%
source/tests/cip/cipepathtest.cpp            633     633   100%
source/tests/cip/cipstringtests.cpp          207     207   100%
source/tests/enet_encap/encaptest.cpp         52      52   100%
source/tests/enet_encap/endianconvtest.cpp
                                             167     167   100%
source/tests/OpENerTests.cpp                  29      11    37%   64,71-73,76,78,84-85,87-88,90-94,96,100,108
source/tests/ports/socket_timer_tests.cpp
                                              31      31   100%
source/tests/utils/doublylinkedlistTests.cpp
                                             247     247   100%
source/tests/utils/randomTests.cpp             9       9   100%
source/tests/utils/xorshiftrandomtests.cpp
                                              13      13   100%
------------------------------------------------------------------------------
TOTAL                                       7632    3109    40%
------------------------------------------------------------------------------
lines: 40.7% (3109 out of 7632)
functions: 63.4% (630 out of 994)
branches: 17.7% (1100 out of 6232)

📥 Download the detailed HTML report from artifacts.

ℹ️ This PR was tested with standard static analysis. Exhaustive analysis will run on release branches.

@github-actions
Copy link

github-actions bot commented Dec 5, 2025

📊 Coverage Report

Line Coverage: 40.7%

------------------------------------------------------------------------------
                           GCC Code Coverage Report
Directory: .
------------------------------------------------------------------------------
File                                       Lines    Exec  Cover   Missing
------------------------------------------------------------------------------
source/src/cip/appcontype.c                  186       0     0%   95,100-101,103,105,108,110,114-115,117-118,121,123,127-128,130,132,135,137,140,142-145,148-150,153-156,159,162,169,176,178,182-183,186,189,192-198,201-202,204-207,209-210,212-214,216-217,219,221,224-225,234,237,239-240,242-245,247,249-251,253,256-261,264,266,268,272-277,285-286,289,292,294-295,297-300,302,304-306,308,312,319-324,327,329,331,335-340,348-349,352,354,356-359,361-363,367-368,370-372,375,380,382,384-387,389,391,393-394,397,401,403,408,412-420,424-425,428,430-436,438,440-441,443-446,449,454-455,459,462,465
source/src/cip/cipassembly.c                  75       0     0%   49,51,63-64,69,74-75,78,84-85,88-89,91-96,98,101,103,106-108,111,115,119-121,125-126,128,137,142,145,148,154-156,161,165,168,172-174,176-178,180-183,185-188,192-193,196,205,207,210,212,215,218-220,222,224,227,230-232,234,236
source/src/cip/cipclass3connection.c          35       0     0%   19-20,22-23,26,29,31,33-35,38,40,42,46,48,51,53,60-62,64,70-71,74,76,79-83,89,92-95
source/src/cip/cipcommon.c                   817      44     5%   45,47-58,63-64,81-82,84,87,89,91,93,95,98-99,101,108,111,114,118,120-122,124-125,127-128,131-133,139,144-145,149,151,157,159-160,162,165,168-172,175,177,180,182-185,189,192-193,197-198,201,204,208,212,216-217,222-225,228-229,233,235,238,241,243,245,250,252,254,256,259,262,269-270,272,275,277,279-281,284,287,290,302,304,316-318,322-324,326,328-329,332,336,339,342-348,357,360,362,364-366,368,371,374-376,379,382,384,386,390,393,395-396,402-403,406-407,409-410,412-413,418,423,425,428-429,434,436,441,443,449,451,459,466,471,473,478,480-481,483,489,495,502,509,512-513,515,518-525,527,529,531-533,535,537-538,540,542,548-549,553,557,562-563,566-567,569-570,572-573,575-576,578,580,584,587-588,590-591,593-594,598-599,601,603,605,607-609,611,620,623-628,631,638-639,643-644,646,649,652-656,659,664-666,670-672,676-679,684,692,694-695,712,714-715,732,734-735,737-739,741,743-744,746,748-749,751,753-754,756,758-759,761,763,765,767-772,774,776,778-781,783-784,786,788,791,793,796-797,799-800,802,805-806,808-809,811,813-818,820,822-825,827-829,831-833,835-837,839-841,843,845-846,849,851,853-860,862,864-866,868,870-874,876,879-884,886,893-894,896-897,899,902,906-907,913-916,920-922,926,928,936-939,942,944,949,952,955-957,960,963-965,968,972-974,976-979,981-984,988-989,991,993-994,997,1000-1002,1005,1008-1010,1013,1016-1018,1021,1024-1026,1029,1032-1034,1037,1040-1042,1045,1048-1050,1053,1056-1058,1061,1064-1066,1069,1072-1074,1077,1080-1082,1085,1088-1090,1093,1096-1098,1118-1119,1148,1150-1152,1154-1155,1157,1162,1168-1169,1171-1172,1177,1179-1182,1184,1186-1187,1189-1192,1195,1198,1200,1203,1206,1212-1213,1215-1219,1221-1222,1224-1226,1228,1231,1236-1238,1240-1243,1245,1247,1249-1250,1252,1254,1256,1259,1263,1265,1267,1270,1273-1278,1280,1283,1285-1286,1290,1293,1295,1299,1301,1303,1307,1309,1311,1313,1316,1319,1325,1331-1332,1334-1338,1340-1341,1343-1345,1347,1350,1355-1357,1359-1362,1364,1366,1368-1369,1371,1373,1375,1378,1382,1384,1386,1389,1392-1397,1399,1402,1404,1409,1412,1416-1420,1423-1424,1428,1430,1432,1436,1438,1440,1442,1445,1448,1454-1457,1459-1462,1464-1467,1470-1474,1476-1479,1482-1486,1488-1491,1497,1499,1501,1504-1506,1508-1509,1512-1514,1516-1517,1522-1524,1526-1528,1530,1532-1535,1537,1539-1541,1543,1545-1548,1550,1552-1554,1556,1558-1561,1563,1565-1567,1569-1571,1579-1581,1583,1586,1593-1594,1596-1600,1602,1604,1607-1608,1612-1615,1618-1619,1623,1625,1628,1635-1636,1638-1642,1644,1646,1649-1650,1654-1655,1658-1661,1663,1665-1668,1675-1676,1680,1682,1685,1688,1690,1693,1700-1701,1703-1707,1709,1711,1714-1715,1719,1721-1722,1726,1729-1730,1733-1737,1739-1741
source/src/cip/cipconnectionmanager.c        707       0     0%   176-177,179-184,186,188,206,208-209,213,216-217,219,224,226,231,233,240,247,254,259,261,266,269,273,277,279-280,282,294,297,301,305-306,310,312,316,320,325,327-328,333,336,343-344,350,353-354,356,361-363,366,368-369,371,376,378-379,381-382,384-385,421,427-429,431-432,452,458-459,461-462,481,487-488,490-491,508,514-515,517,520-521,523,530,532-533,541-542,546-548,551,554-555,559-560,562,567,570,602,607-608,641,646-647,653,658,660-661,665,667,670,674-677,680-681,688-689,696,699,701-704,713,718-719,723,728-729,732,734,736,742,748-749,753,758-759,761,764-769,771,773,775,778-780,782-786,789-793,800,802,808,811,820,826-830,832,835,841-843,845-846,849-850,853,856-858,860-861,863,867,870,872,874-875,877-878,881,884,891-893,895-896,899-904,911,914-916,918-919,921-925,930,932,934,936-937,939-940,943,946,950,953,955,958,961,964,967,970,973,976,979,981,983,985,988,991,994,997,1000,1002,1004,1006,1009,1011,1013,1016-1017,1019,1021,1023-1026,1028,1031,1035,1038-1040,1042-1043,1047-1048,1050,1053,1058-1059,1063,1066,1070,1072,1074-1075,1077,1079,1082-1083,1086-1087,1089,1094,1096-1097,1101,1104,1109,1111,1125,1131,1133-1134,1137,1139-1141,1144-1145,1147-1148,1150,1152-1155,1160,1162,1170-1171,1175-1176,1178-1179,1182-1189,1192-1197,1200-1203,1211,1213,1215,1218,1220,1222,1226,1230,1232,1240,1243,1246-1248,1267,1275,1277-1278,1281,1283-1285,1287-1288,1291-1292,1294-1295,1297-1298,1300-1301,1303-1305,1309,1311,1314-1315,1317-1319,1321-1322,1324,1329,1331,1333-1335,1337,1339,1341-1342,1344,1349,1351,1353-1357,1360,1366,1370,1373-1374,1376,1379-1380,1383-1388,1390,1395-1398,1400,1404,1406,1411-1416,1418,1424-1428,1431,1433,1439,1441,1444,1447-1450,1455,1457-1458,1460-1461,1464,1466-1468,1471-1472,1474-1475,1478,1481-1483,1486,1488-1494,1497-1500,1503-1505,1507,1509,1522-1525,1528-1529,1531,1535,1541-1542,1545-1548,1550-1553,1558,1560-1564,1566-1567,1570,1573,1577,1579,1581,1583,1586,1588,1591,1593-1595,1598,1600,1602,1604-1605,1607,1610-1611,1614,1616-1617,1619,1623-1624,1626,1629,1634,1637,1643,1647,1650-1653,1655-1656,1660-1662,1664,1670-1672,1675,1678-1680,1682-1685,1689-1690,1692,1694,1696,1702-1704,1706,1708,1710-1714,1717-1719,1721,1724,1726,1728,1732-1733,1735,1738-1746,1748-1751,1756-1763,1767-1769,1771-1772,1775,1778,1783,1785,1788-1790,1793,1800,1803-1804,1807,1810,1812-1813,1816,1818,1820,1822,1825-1827,1829-1831,1833,1835-1840,1843,1846-1847,1849,1851-1856,1860,1862,1865,1868,1872-1873,1875-1876,1878-1879,1883,1886,1888,1890-1893,1896,1899,1901,1903-1909,1912-1914,1918,1920,1923,1926-1931,1933,1937,1939-1940,1942,1944-1945,1948-1950
source/src/cip/cipconnectionobject.c         383     229    59%   61-62,67-71,77-81,86,88,107,109,111-112,167,180,248-249,271,274-275,294-296,398,400,403,406-407,409,411,414,417-418,425,427-428,430,432,435,467,478,480,482,484,502,505,508-510,512-514,516-518,520-522,524-526,528,530,532,534,537,540,542,544,546,549,552,554,556,558,561,564-565,579,581,583-584,586,588,590-591,593,611,621,631,633,635,641,652,654-655,657,673,685,697,715-716,739-740,745,774-775,819-820,852-853,873,876-877,879,881-886,888,890-892,894,896-897,899-900,904,908-909,913,917,919,923,925-926,928,930,933,938,940,942,945,950,953-954
source/src/cip/cipdlr.c                       30       0     0%   95,98,100-101,103,105,107-109,111,116-117,119,132,137,139,143,145,152,159,166,173,180,187,194,203,210,217,229,231
source/src/cip/cipelectronickey.c             47      47   100%
source/src/cip/cipepath.c                    297     270    90%   88-90,230-232,276-278,329-330,530,532-535,633,635,637-638,640-641,643,697,701,704-705
source/src/cip/cipethernetlink.c              58       0     0%   198-199,222-223,226,228-229,235-236,246,248,252,272-274,276,283,290,313,320,349,357,364,371,378,385,400-402,406,409,412,424,427,429,432,444,447,449,456,458,460-462,465,467-473,475,477-480,484
source/src/cip/cipidentity.c                 106       0     0%   61-64,67-69,72-74,77-79,82-85,88-90,93-94,98-99,102,106-107,110-112,116,118,120,131-134,144-147,157,159-162,170,174,176,178-179,181,183-184,186-189,193-195,203-205,208,211-212,214,219,221,226,228,235,242,249,254,256,261,264,268,274-275,277,279-282,284-285,299,303-304,306-307,314,321,328,335,342,349,357,359-361,363,366
source/src/cip/cipioconnection.c             432       0     0%   86-88,90-91,94-96,98-99,102,104-105,107-108,111,113,118-120,130-134,136,138,141-145,147-148,154,156-157,160-165,168-169,172,174-175,178,180-182,190,193-194,196-199,201,203,206-207,210-211,215,217,221,223,227-228,233,237-244,246,248-253,256-257,259,261-262,264,266-268,289,292,294-296,300,302,306,308,310-313,316,321-324,329,331,333,338,340,342,347,349-350,355-358,361-363,365,368,370,374,376-377,380,392,395,398,405,407,409-411,417-419,421-422,424-426,428-430,432,435,440,442-444,446-448,452-454,456-458,464-465,467,470,474-476,478,481,488-491,494,496,499,504-505,510-511,515-517,520,524,526-531,533,543,547,549-550,552-553,555-557,559,562,565-567,569,572,576-577,582,593-594,597-603,606-607,614-620,622-624,629-630,633,635,637-638,640,642,644,650-654,656-659,662-666,673,676,685-686,689,694,701-702,704-706,710-713,716-717,719-724,726,730-734,736-737,739,742,744,746,750,752,755-756,762,764,767-772,774-775,777,779-781,785,787,789,793,796,799-800,808-811,813-814,818-819,821,826,833,836-838,841,843-845,847,849,851-852,854,856-858,861,863,867-868,870-872,874-876,878-880,883-884,886-887,889,892,896-897,900-902,904-906,908,911,914-915,917-918,920-921,923,925-926,929-930,932-937,939,942-943,945-946,948,952,962-964,968,971-972,974-975,979,983,989,993,1000,1004,1009,1013,1022,1024-1026,1030-1032,1036-1037,1040-1041
source/src/cip/cipmessagerouter.c            122       0     0%   54-55,57,62,64,69,71,78,85,92,97,99,104,107,111,115,117-119,131,134,140,150-151,154,156-158,160,165-167,169-170,176,178,183-184,186-187,194-195,197-198,202,205,208-209,211,214,219-220,222-224,229-234,237-239,243-244,249-252,257-258,261-262,285,288,292-294,296-297,299,303,306-309,313-314,316-318,320-322,324-329,331,333,337-344,347-354,356,358-359
source/src/cip/cipqos.c                       55       0     0%   69,73,75,77-80,82-83,86,90,93,96-111,113-114,116,119-120,122-123,138,142,149,156,163,170,177,184,191,199,203,208,211-213,215-216,224-226
source/src/cip/cipstring.c                   124     109    87%   68-70,272,275-276,278,281-284,286,288-289,291
source/src/cip/cipstringi.c                  229       0     0%   16-40,42,44-47,49-67,69,76-85,92,94-134,136,138-151,153,155,158,160-161,163-164,166-176,178-183,185-186,188,190-195,197-205,207-213,215-218,220-224,227,229,232,234-236,238-245,248-257,259-261,265,267-269,271-278,281-290,292-294,298-299
source/src/cip/ciptcpipinterface.c            94       0     0%   328,330,332,334,336,338,340,342,344,346,349,351-352,354,357-358,360-361,363,366,368-369,371,374,376,378-379,381,383,389,391-393,395,399,402-404,407,515,521,523-524,526-527,529-531,534,537-538,540-541,556,560,567,574,581,607,614,625,632,639,646,653,660,667,675,680,683,688,691,693-695,698-700,702,710,712,716-719,721-723,725-730
source/src/cip/ciptypes.c                     26       0     0%   13-14,16,31,34,42-43,45,50-51,53-55,57,60-61,66-68,73-75,80-83
source/src/enet_encap/cpf.c                  281      38    13%   62,64,66,69-71,75-76,79,82-85,87,91-92,98-99,101,104,120,124-126,129,132,134,139-140,142,144,147,149-151,156-157,160-161,163-164,166,168,170,173,175,177,181,183-185,187,190,192-196,200-201,204,206-209,211,214-215,218,234,238-239,241,271-273,276-278,282-288,294-295,297-298,300-301,304-307,310-320,322,324,326,343-344,358-359,361-362,370,375-378,380,389,394-397,399-400,402,411,414,416,425,428,430,439,442,444,453,456-461,463,473,476-477,479,481,489,492-493,495,504,507-508,516,519-520,528,531-532,541,544,546,554,557,559-560,563,576,579-581,590,593-594,596,598,606,609-611,613-615,617,627,631-633,635,645,649-650,652,654,658,661-662,665,668,670-671,673-674,676,678-679,681,689-690,693-694,696,698,700,704,709-710,712-714,717,719,721,731-734,736,739,742-744,747,749,756,759-760
source/src/enet_encap/encap.c                360     110    30%   126-127,131,134-135,138-140,145-148,150,153,155,161-163,167-168,170-171,174-176,179-180,182,187-188,190,197-199,201,204-205,207,209-211,213,215-217,219,221-223,225,227-229,231,233-235,237,240,242,250,257-258,262-263,265-266,269-271,274-275,277,282-283,285-288,290,292-295,298,301,305-307,309,329,331-332,405,408-409,411,415-416,418-421,423-425,429-431,435,438,440,503,506-508,510,512,518-519,568-569,572-573,576-578,582-584,590,592-594,596-597,619,622-623,625-630,635,640,648,652-653,657,661-662,665,669,672-673,676,679-680,682,685,690,732-733,735,738,746,750,752,755,762-767,834,836-837,839-842,844-851,854-855,857-863,866-867,869-874,877,879-884,886,888,893,895,899,901,903-907,910-911,915-916,918-920,924,926-929,935,937-943,945,947,949
source/src/enet_encap/endianconv.c           131     114    87%   52-56,207-208,210-211,213-216,219,222,251-252
source/src/ports/generic_networkhandler.c
                                             475       0     0%   129-130,134,136,138,141-142,144,147-148,151-154,158-160,163,166,177,185-188,193-195,199-202,207-209,213-214,225,234-235,246,253,255-256,259,262-263,267-269,272,275-276,280-282,286,288-290,295-296,300,302-303,306-307,312-313,318-320,323,326-327,332-334,338,340-342,348-349,356,358-360,364-365,370-372,376-378,382-384,387-388,393-394,396,399-402,404-409,411-415,417,419,421-425,427,429,432,435-436,438-439,441-444,447-449,452,454,464,466,468-470,474,478-479,481-483,485,488-489,491-492,497-498,501-503,507-511,513-514,516,518-519,525-526,532-534,541,544,547-549,553,558-562,565,567-569,573,576-577,584-586,591-593,596,598-602,613-614,616-617,621,631,634,636,641,643-645,648,651-652,659-661,665-667,670,672-677,685-686,688-689,693,701,704,706,711,721-723,727-729,733-735,738,750-753,763,765-766,771,773,775-778,780-782,785,787-789,792,794-795,798,801,804,807-809,811,814-815,821-824,826-829,834-836,838-840,842-844,847-848,850,852-853,858-862,864-867,871-873,876,878,880,882,884-889,892-893,896-898,904-905,908,910,913,916,919,921,925-926,930,934,950,952,954-956,959-961,964,967-970,974,976-977,983-985,990-992,994,997-998,1001-1004,1008,1010,1012-1013,1021-1023,1025-1026,1029-1030,1038-1039,1041,1046-1047,1052-1054,1059-1060,1065-1066,1071-1073,1081-1083,1085,1088-1089,1092-1094,1096,1099-1100,1102,1105-1107,1110,1112,1114,1116-1119,1121,1127-1129,1136-1138,1140,1143-1146,1148,1151-1153,1155,1158,1164-1165,1167-1169,1171-1172,1174-1175,1179,1183,1190-1192,1194,1200-1202,1204-1207,1209,1211-1212,1216,1218-1221,1223,1226
source/src/ports/nvdata/conffile.c            32       0     0%   59-64,66-68,72-73,75,77-78,80-84,92,111-113,115-117,130-133,135-136
source/src/ports/nvdata/nvdata.c              22       0     0%   37,39-42,45,63,67,71,74,76,80-81,83,99,104,107,109,111,115-116,119
source/src/ports/nvdata/nvqos.c               37       0     0%   31-33,43-47,49-50,57,71,73,79-81,86-91,96,104-107,109,112-117,121-122,124
source/src/ports/nvdata/nvtcpip.c             17       0     0%   27,29,31,33-34,37,39,45,49,57,59,61-62,65,67,70-71
source/src/ports/POSIX/networkconfig.c       171       0     0%   27,29-31,33-35,37,39-41,43,45-46,49,52,54-58,60-62,66-70,72-73,76-77,79-80,83-84,86,88,91,93,95-97,99,102-105,107-108,110-114,121-122,124-125,127-131,133,136-137,139,152,154-157,159-170,172,175-177,184-188,190-191,193,200,203-206,211-215,217-219,230,232-233,236-239,241-245,247,250,252-253,255,257-259,261-263,266,269-270,272,277,280-281,283-286,288-290,294-295,297-299,301-302,304-305,308-309,311-312,314-315,318,321-322,324-327,329
source/src/ports/POSIX/networkhandler.c       27       0     0%   22-23,25-29,32-33,36,38,41-44,48-49,51,53-55,57-59,62,66-67
source/src/ports/POSIX/opener_error.c          9       0     0%   26-27,30-33,36-38
source/src/ports/POSIX/sample_application/sampleapplication.c
                                              51       0     0%   40,43,48,53,58,61,64,68,72,76,85,87,118,121,123,125,130-133,135-136,139,143,146,164,167,174,177-178,181,183-185,188,190-191,193-194,197-198,201-203,205-208,210,213-214
source/src/ports/socket_timer.c               25      24    96%   46
source/src/utils/doublylinkedlist.c           86      83    96%   48,127,130
source/src/utils/enipmessage.c                 4       4   100%
source/src/utils/random.c                      8       8   100%
source/src/utils/xorshiftrandom.c             13      12    92%   24
source/tests/callback_mock.cpp                31       8    25%   12-14,17-19,21,24-25,27-29,32-33,36-38,41-43,64-66
source/tests/cip/cipcommontests.cpp          107     107   100%
source/tests/cip/cipconnectionobjecttest.cpp
                                             382     382   100%
source/tests/cip/cipelectronickeyformattest.cpp
                                             125     125   100%
source/tests/cip/cipelectronickeytest.cpp
                                              24      24   100%
source/tests/cip/cipepathtest.cpp            633     633   100%
source/tests/cip/cipstringtests.cpp          207     207   100%
source/tests/enet_encap/encaptest.cpp         52      52   100%
source/tests/enet_encap/endianconvtest.cpp
                                             167     167   100%
source/tests/OpENerTests.cpp                  29      11    37%   64,71-73,76,78,84-85,87-88,90-94,96,100,108
source/tests/ports/socket_timer_tests.cpp
                                              31      31   100%
source/tests/utils/doublylinkedlistTests.cpp
                                             247     247   100%
source/tests/utils/randomTests.cpp             9       9   100%
source/tests/utils/xorshiftrandomtests.cpp
                                              13      13   100%
------------------------------------------------------------------------------
TOTAL                                       7629    3108    40%
------------------------------------------------------------------------------
lines: 40.7% (3108 out of 7629)
functions: 63.4% (630 out of 994)
branches: 17.7% (1100 out of 6232)

📥 Download the detailed HTML report from artifacts.

ℹ️ This PR was tested with standard static analysis. Exhaustive analysis will run on release branches.

@github-actions
Copy link

📊 Coverage Report

Line Coverage: 40.9%

------------------------------------------------------------------------------
                           GCC Code Coverage Report
Directory: .
------------------------------------------------------------------------------
File                                       Lines    Exec  Cover   Missing
------------------------------------------------------------------------------
source/src/cip/appcontype.c                  186       0     0%   96,101-102,104,106,109,111,115-116,118-119,122,124,128-129,131,133,136,138,141,143-146,149-151,154-157,160,163,170,177,179,183-184,187,190,193-199,202-203,205-208,210-211,213-215,217-218,220,222,225-226,235,238,240-241,243-246,248,250-252,254,257-262,265,267,269,273-278,286-287,290,293,295-296,298-301,303,305-307,309,313,320-325,328,330,332,336-341,349-350,353,355,357-360,362-364,368-369,371-373,376,381,383,385-388,390,392,394-395,397,401,403,408,412-420,424-425,428,430-436,438,440-441,443-446,449,454-455,459,462,465
source/src/cip/cipassembly.c                  75       0     0%   49,51,63-64,69,74-75,78,84-85,88-89,91-96,98,101,103,106-108,111,115,119-121,125-126,128,137,142,145,148,154-156,162,166,169,173-175,177-179,181-184,186-189,193-194,196,205,207,210,212,215,218-220,222,224,227,230-232,234,236
source/src/cip/cipclass3connection.c          35       0     0%   19-20,22-23,26,29,31,33-35,38,40,42,46,48,51,53,60-62,64,70-71,74,76,79-83,89,92-95
source/src/cip/cipcommon.c                   801      44     5%   46,48-59,64-65,82-83,85,88,90,92,94,96,99-100,102,109,114-115,118,120-125,127-129,135,140,142,144,146,152,154,156-158,161-165,168,170,173,175-178,182,185-186,190,192,195,199,201,205,209,211,215-218,221-222,226,228,232,234,236,238,244-245,249,251,255,257,264-265,267,270,272,274-276,279,281,284,296,300,309,311,314-316,318,320,322,324,326-327,330,332-333,335-336,345,349,351-352,354,356,358,360-361,366,368,370,373,376,378,380,383,386-387,390-391,393-394,396,398,402,408,410,412-413,418,420,425,427,433,435,442,449,454,456,461,463,465-466,472,478,485,494,496-497,501-509,511,513,515-517,519,521-523,525,531,533,536,541,545,548,550-556,558,561,564,567-568,570-571,573-574,578-579,581,584,586,588-590,592,599,602-607,610,617-618,621-622,624,627,630-634,637,641-643,647-649,653-656,661,669,671-672,689,691-692,709,711-712,714-716,718,720-721,723,725-726,728,730-731,733,735-736,738,740,742,744-749,751,753,755-758,760-761,763,765,768,770,773-774,776-777,779,782-783,785-786,788,790-795,797,799-802,804-806,808-810,812-814,816-818,820,822-823,826,828,830-837,839,841-843,845,847-851,853,856-861,863,870-871,873-874,876,879,883-884,890-893,897-899,903,906,911-914,917,919,923,926,929-931,934,937-939,942,946-948,950-953,955-958,962-964,966-967,970,973-975,978,981-983,986,989-991,994,997-999,1002,1005-1007,1010,1013-1015,1018,1021-1023,1026,1029-1031,1034,1037-1039,1042,1045-1047,1050,1053-1055,1058,1061-1063,1066,1069-1071,1090-1091,1119,1121,1123-1125,1127,1132,1138-1139,1141-1142,1146,1148-1151,1153,1155-1156,1158-1161,1164,1167,1169,1172,1175,1181-1182,1184-1188,1190-1191,1193-1195,1197,1200,1205-1207,1209,1211-1212,1214,1216,1218-1219,1221,1223,1225,1228,1232,1234,1236,1239,1242-1247,1249,1252,1254,1258,1261,1263,1267,1269,1271,1276-1277,1279,1282-1283,1286,1291,1297-1298,1300-1304,1306-1307,1309-1311,1313,1317,1319-1321,1323,1325-1326,1328,1330,1332,1334-1335,1337,1340,1342,1346,1348,1350,1353,1356-1358,1360,1362,1364,1366,1370,1373,1376-1380,1383-1384,1389,1392-1393,1398-1399,1401,1404-1405,1408,1414-1417,1419,1421-1423,1426,1428-1430,1433-1434,1436-1438,1441,1443-1445,1448-1449,1451-1453,1456,1458-1460,1466,1468,1470,1473-1475,1477-1478,1481-1483,1485-1486,1491-1493,1495-1497,1499,1501-1504,1506,1508-1510,1512,1514-1517,1519,1521-1523,1525,1527-1530,1532,1534-1536,1538-1540,1548,1550-1551,1554,1561-1562,1564-1568,1570,1572,1575-1576,1580,1582,1584,1587-1588,1592,1594,1597,1604-1605,1607-1611,1613,1615,1618-1619,1623-1624,1628,1630-1631,1634-1638,1645-1646,1650,1653,1656,1658,1660,1663,1670-1671,1673-1677,1679,1681,1684-1685,1689,1691-1692,1696,1699-1700,1703-1707,1709-1711
source/src/cip/cipconnectionmanager.c        700       0     0%   179-180,182-187,189,191,209,211-212,216,219-220,224,229,232,237,240,248,256,264,269,272,277,280,282,284,286-287,289,303,307,311,313-314,318,320,324,328,333,335-336,341,344,351-352,357,360-361,363,368-370,373,375-376,378,383,385-386,388-389,391-392,428,434-436,438-439,459,465-466,468-469,488,494-495,497-498,515,521-522,524,527-528,530,537,539-540,549-550,552-554,557,560-561,565-566,568,573,576,609,614-615,648,653-654,660,665,667-668,672,674,677,681-684,687-688,695-696,703,706,708-711,720,725-726,730,735-736,739-740,742,748,754-755,759,764-765,767,770-775,777,779,781,784-786,788-792,795-799,806,808,815,818,827,833-837,839,842,848-850,852-853,856-857,860,863-865,867-868,870,874,877,879,881-882,884-885,888,891,898-900,902-903,906-911,918,921-923,925-926,928-932,937,939,941,943-944,946-947,950,953,957,960,962,965,968,971,974,977,980,983,986,988,990,992,995,998,1001,1004,1007,1009,1011,1013,1016,1018,1020,1023-1024,1026,1028,1030-1033,1035,1039,1042-1044,1046-1047,1052-1053,1055,1057,1059-1060,1065-1066,1070,1072,1074-1075,1077,1079,1082-1083,1086-1087,1089,1093,1095-1096,1100,1103,1108,1110,1124,1130,1132-1133,1136,1138-1140,1143-1144,1146-1147,1149,1151-1153,1155,1159,1161,1169-1170,1174-1175,1177-1178,1181-1188,1191-1196,1199-1202,1210,1212,1214,1217,1219,1221,1225,1229,1231,1239,1242,1245-1247,1260,1268,1270-1271,1274,1276-1278,1280-1281,1284-1285,1287-1288,1290,1292-1293,1295-1297,1301-1302,1305-1306,1308-1310,1312-1313,1315,1320,1322,1324-1326,1328,1330,1332-1333,1335,1340,1342,1344-1348,1351,1357,1361,1364-1365,1367,1370-1371,1374-1379,1381,1386-1389,1391,1395,1397,1403-1408,1410,1416-1420,1423,1425,1431,1433,1436,1439-1442,1447,1449-1450,1452-1453,1456,1458-1460,1463-1464,1466-1467,1470,1473-1475,1478,1480-1486,1488-1491,1494-1496,1498,1500,1513-1515,1518-1519,1521,1525,1531-1532,1535-1538,1540-1543,1548,1550-1554,1556-1557,1560,1563,1567,1569,1571,1573,1576,1578,1581,1583-1585,1588,1590,1592,1594,1597,1599,1602-1603,1606,1608-1609,1611,1615-1616,1618,1621,1627,1630,1636,1641,1644-1647,1649-1650,1654-1656,1658,1664-1666,1669,1672-1674,1676-1679,1683,1685,1687,1689,1695-1697,1699,1701,1703-1707,1710-1712,1714,1717,1719,1721,1725-1726,1728,1731-1737,1739-1743,1748-1754,1756,1759-1761,1765,1767,1769,1774,1776,1779,1782-1783,1790,1793-1794,1797,1800,1802-1803,1806,1808,1810,1812,1815-1817,1819-1821,1823,1825-1830,1833,1836-1837,1839,1841-1846,1850,1852,1855,1857,1861-1862,1864-1865,1867-1868,1872,1875,1877,1879-1882,1885,1888,1890,1892-1897,1899,1902-1904,1908,1910,1913,1916-1921,1923,1927,1929-1930,1932,1934-1935,1938-1940
source/src/cip/cipconnectionobject.c         383     229    59%   61-62,67-71,77-81,86,88,107,109,111-112,167,180,248-249,271,274-275,294-296,398,400,403,406-407,409,411,414,417-418,425,427-428,430,432,435,467,478,480,482,484,502,505,508-510,512-514,516-518,520-522,524-526,528,530,532,534,537,540,542,544,546,549,552,554,556,558,561,564-565,579,581,583-584,586,588,590-591,593,611,621,631,633,635,641,652,654-655,657,673,685,697,715-716,739-740,745,774-775,819-820,852-853,873,876-877,879,881-886,888,890-892,894,896-897,899-900,904,908-909,913,917,919,923,925-926,928,930,933,938,940,942,945,950,953-954
source/src/cip/cipdlr.c                       30       0     0%   95,98,100-101,103,105,107-109,111,116-117,119,131,136,138,142,144,151,158,165,172,179,186,193,202,209,216,228,230
source/src/cip/cipelectronickey.c             47      47   100%
source/src/cip/cipepath.c                    297     270    90%   88-90,230-232,276-278,329-330,530,532-535,633,635,637-638,640-641,643,697,701,704-705
source/src/cip/cipethernetlink.c              58       0     0%   198-199,222-223,226,228-229,235-236,246,248,252,272-274,276,283,290,313,320,349,357,364,371,378,385,400-402,406,409,412,424,427,429,432,444,447,449,456,458,460-462,465,467-473,475,477-480,484
source/src/cip/cipidentity.c                 106       0     0%   59-62,65-67,70-72,75-77,80-83,86-88,91-92,96-97,100,104-105,108-110,114,116,118,129-132,142-145,155,157-160,168,172,174,176-177,179,181-182,184-187,191-193,201-203,206,209-210,212,217,219,224,226,233,240,247,252,254,259,262,266,270-271,273,275-278,280-281,295,299-300,302-303,310,317,324,331,338,345,353,355-357,359,362
source/src/cip/cipioconnection.c             432       0     0%   86-88,90-91,94-96,98-99,102,104-105,107-108,111,113,118-120,130-134,136,138,141-145,147-148,154,156-157,160-165,168-169,172,174-175,178,180-182,190,193-194,196-199,201,203,206-207,210-211,215,217,221,223,227-228,233,237-244,246,248-253,256-257,259,261-262,264,266-268,289,292,294-296,300,302,306,308,310-313,316,321-324,329,331,333,338,340,342,347,349-350,355-358,361-363,365,368,370,374,376-377,380,392,395,398,405,407,409-411,417-419,421-422,424-426,428-430,432,435,440,442-444,446-448,452-454,456-458,464-465,467,470,474-476,478,481,488-491,494,496,498,503-504,509-510,514-516,519,523,525-530,532,542,546,548-549,551-552,554-556,558,561,564-566,568,571,575-576,581,592-593,596-602,605-606,613-619,621-623,628-629,632,634,636-637,639,641,643,649-653,655-658,661-665,672,675,684-685,688,693,700-701,703-705,709-712,715-716,718-723,725,729-733,735-736,738,741,743,745,749,751,754-755,761,763,766-771,773-774,776,778-780,784,786,788,792,795,798-799,807-810,812-813,817-818,820,825,832,835-837,840,842-844,846,848,850-851,853,855-857,860,862,866-867,869-871,873-875,877-879,882-883,885-886,888,891,895-896,899-901,903-905,907,910,913-914,916-917,919-920,922,924-925,928-929,931-936,938,941-942,944-945,947,951,961-963,967,970-971,973-974,978,981,987,990,997,1000,1005,1008,1017,1019-1021,1025-1027,1031-1032,1035-1036
source/src/cip/cipmessagerouter.c            121       0     0%   54-55,57,62,64,69,71,78,85,92,97,99,104,107,111,113,115-116,128,131,137,147-148,151,153-155,157,162-164,166-167,173,175,180-181,183-184,190-191,193,195,198-200,203-204,206,209,214-215,217-219,224-229,232-234,238,241-245,250-251,254-255,278,281,285-287,289-290,292,296,299-302,306-307,309-311,313-315,317-321,324,326,330-337,340-347,349,351-352
source/src/cip/cipqos.c                       55       0     0%   70,74,76,78-81,83-84,87,91,94,97-112,114-115,117,120-121,123-124,140,142,149,156,163,170,177,184,191,199,201,204,207-209,211-212,221-223
source/src/cip/cipstring.c                   124     109    87%   68-70,272,275-276,278,281-284,286,288-289,291
source/src/cip/cipstringi.c                  229       0     0%   16-40,42,44-47,49-67,69,76-85,92,94-134,136,138-151,153,155,157,159-160,162-163,165-175,177-182,184-185,187-202,204-210,212-215,217-221,224,226,229,231-233,235-255,259,261-263,265-272,275-287,291-292
source/src/cip/ciptcpipinterface.c            94       0     0%   322,324,326,328,330,332,334,336,338,340,343,345-346,348,351-352,354-355,357,360,362-363,365,368,370,372-373,375,377,383,385-387,389,393,396-398,401,518,522,524-525,527-528,530-532,535,538-539,541-542,558,560,567,574,581,607,614,625,632,639,646,653,660,667,675,680,683,688,691,693-695,698-700,702,710,712,716-719,721-723,725-730
source/src/cip/ciptypes.c                     26       0     0%   14-15,17,32,35,43-44,46,51-52,54-56,58,61-62,67-69,74-76,81-84
source/src/enet_encap/cpf.c                  282      38    13%   62,65-67,70-72,76-77,80,83-86,88,92-93,99-100,102,105,121,125-127,130,134-135,139-140,142,144,147,149-151,155-156,159-160,162-163,165,167,169,172,174,176,179,181-183,185,188,190-194,198-199,202,204-207,209,212-213,216,232,236-237,239,269-271,274-276,280-286,292-293,296-299,302-305,308-318,320,322,324,341,343,355-356,358-359,367,372-375,377,386,391-394,396-397,399,408,411,413,422,425,427,436,439,441,450,453-458,460,470,473-474,476,478,486,489-490,492,501,504-505,513,516-517,525,528-529,538,541,543,551,554,556-557,560,573,576-578,587,590-591,593,595,603,606-608,610-612,614,624,628-630,632,642,646-647,649,651,655,658-659,662,665,667-668,670-671,673,675-676,678,686-687,690-691,694,696,698,702,707-708,710-712,715,717,719,729-732,734,737,740-742,745,747,754,757-758
source/src/enet_encap/encap.c                352     106    30%   124-125,129,132-133,136-138,143-146,148,151,153,159-161,165-166,168-169,172-174,177,179,183-184,186,193-195,197,200-201,203,205-207,209,211-213,215,217-219,221,223-225,227,229-231,233,236-238,246,253-254,258-259,261-262,265-267,270,272,275-276,278-281,283,285-288,291,294,298-300,302,322,324-325,398,401-402,404,408-409,411-414,416-418,422-424,428,431,433,496,499-501,503,505,510-511,560-561,564,567-570,574-576,582,584-586,588-589,612,615-616,618-623,628,633,641,648,650,655,658,661,664-665,669-670,672,677,680,718-719,721,726,732,736,738,741,748-753,820,822-823,825-828,830-837,840-841,843-849,852-853,855-860,863,865-870,872,874,879,881,885,887,889-893,896-897,901-902,904-906,910,912-915,921,923-929,931,933,935
source/src/enet_encap/endianconv.c           132     115    87%   52-56,207-208,210-211,213-216,219,222,251-252
source/src/ports/generic_networkhandler.c
                                             476       0     0%   129-130,134,136,138,141-142,144,147-148,151-154,158-160,163,166,177,185-188,193-195,199-202,207-209,213-214,225,234-235,246,253-254,256,259,262-263,267-269,272,275-276,280-282,286,288-290,295-296,300,302,304,307-308,313-314,319-321,324,327-328,333-335,339,341-343,349-350,357,359-361,365-366,371-373,377-379,383-385,388-389,394-395,397,400-403,405-410,412-416,418,420,422-426,428,430,433,436-437,439-440,442-445,448-450,453,455,465,467,469-471,475,479-480,482-484,486,489-490,492-493,498-499,502-504,508-512,514-515,518,520-521,527-528,534-536,543,546,549-551,555,560-564,567,569-571,575,578-579,586-588,593-595,598,600-605,615-616,618-619,623,634,637,639,644,646-648,651,654-655,662-664,668-670,673,675-680,688-689,691-692,696,704,707,709,714,724-726,730-732,736-738,741,753-756,766,768-769,774,776,778-781,783-785,788,790-792,796-798,801,805,808,811-813,816-818,824-827,829-832,837-839,841-843,845-847,850-851,853,855-856,861-865,867-870,874-876,879,881,883,885,887-892,895-896,899-901,907-908,911,913,916,919,922,924,928-929,933,937,953,955,957-959,962-964,967,970-973,977,979-980,986-988,993-995,997,1000-1001,1004-1007,1011,1013,1015-1016,1024-1026,1028-1029,1032-1033,1041-1042,1044,1049-1050,1055-1057,1062-1063,1068-1069,1074-1076,1084-1086,1088,1091-1092,1095-1097,1099,1102-1103,1105,1108-1109,1112-1114,1116,1118-1121,1123,1129-1131,1137-1139,1141,1144-1147,1149,1152-1154,1156,1159,1165-1166,1168-1170,1172-1173,1175-1176,1180,1184,1191-1193,1195,1201-1203,1205-1208,1210,1212-1213,1217,1219-1222,1224,1227
source/src/ports/nvdata/conffile.c            32       0     0%   59-64,66-68,72-73,75,77-78,80-84,92,111-113,115-117,130-133,135-136
source/src/ports/nvdata/nvdata.c              22       0     0%   37,39-42,45,63,67,71,74,76,80-81,83,99,104,107,109,111,115-116,119
source/src/ports/nvdata/nvqos.c               37       0     0%   31-33,43-47,49-50,57,71,73,79-81,86-91,96,104-107,109,112-117,121-122,124
source/src/ports/nvdata/nvtcpip.c             17       0     0%   27,29,31,33-34,37,39,45,49,57,59,61-62,65,67,70-71
source/src/ports/POSIX/networkconfig.c       171       0     0%   27,29-31,33-35,37,39-41,43,45-46,49,52,54-58,60-62,66-70,72-73,76-77,79-80,83-84,86,88,91,93,95-97,99,102-105,107-108,110-114,122-123,125-126,128-132,134,137-138,140,153,155-158,160-171,173,176-178,185-189,191-192,194,201,204-207,212-216,218-220,231,233-234,237-240,242-246,248,251,253-254,256,258-260,262-264,267,270-271,273,278,281-282,284-287,289-291,295-296,298-300,302-303,305-306,309-310,312-313,315-316,319,322-323,325-328,330
source/src/ports/POSIX/networkhandler.c       27       0     0%   22-23,25-29,32-33,36,38,41-44,48-49,51,53-55,57-59,62,66-67
source/src/ports/POSIX/opener_error.c          9       0     0%   26-27,30-33,36-38
source/src/ports/POSIX/sample_application/sampleapplication.c
                                              50       0     0%   40,43,48,53,58,61,64,68,72,76,85,87,117,120,122,124,129-132,134-135,138,142,145,163,166,173,176-177,180,182-184,187,189-190,192-193,196-197,200-202,204-207,209,212
source/src/ports/socket_timer.c               25      24    96%   46
source/src/utils/doublylinkedlist.c           86      83    96%   48,127,130
source/src/utils/enipmessage.c                 4       4   100%
source/src/utils/random.c                      9       9   100%
source/src/utils/xorshiftrandom.c             13      12    92%   24
source/tests/callback_mock.cpp                31       8    25%   12-14,17-19,21,24-25,27-29,32-33,36-38,41-43,64-66
source/tests/cip/cipcommontests.cpp          107     107   100%
source/tests/cip/cipconnectionobjecttest.cpp
                                             382     382   100%
source/tests/cip/cipelectronickeyformattest.cpp
                                             125     125   100%
source/tests/cip/cipelectronickeytest.cpp
                                              24      24   100%
source/tests/cip/cipepathtest.cpp            633     633   100%
source/tests/cip/cipstringtests.cpp          207     207   100%
source/tests/enet_encap/encaptest.cpp         52      52   100%
source/tests/enet_encap/endianconvtest.cpp
                                             167     167   100%
source/tests/OpENerTests.cpp                  29      11    37%   64,71-73,76,78,84-85,87-88,90-94,96,100,108
source/tests/ports/socket_timer_tests.cpp
                                              31      31   100%
source/tests/utils/doublylinkedlistTests.cpp
                                             247     247   100%
source/tests/utils/randomTests.cpp             9       9   100%
source/tests/utils/xorshiftrandomtests.cpp
                                              13      13   100%
------------------------------------------------------------------------------
TOTAL                                       7600    3106    40%
------------------------------------------------------------------------------
lines: 40.9% (3106 out of 7600)
functions: 63.4% (630 out of 994)
branches: 17.7% (1100 out of 6232)

📥 Download the detailed HTML report from artifacts.

ℹ️ This PR was tested with standard static analysis. Exhaustive analysis will run on release branches.

@github-actions
Copy link

📊 Coverage Report

Line Coverage: 40.8%

------------------------------------------------------------------------------
                           GCC Code Coverage Report
Directory: .
------------------------------------------------------------------------------
File                                       Lines    Exec  Cover   Missing
------------------------------------------------------------------------------
source/src/cip/appcontype.c                  186       0     0%   96,101-102,104,106,109,111,115-116,118-119,122,124,128-129,131,133,136,138,141,143-146,149-151,154-157,160,163,170,177,179,183-184,187,190,193-199,202-203,205-208,210-211,213-215,217-218,220,222,225-226,235,238,240-241,243-246,248,250-252,254,257-262,265,267,269,273-278,286-287,290,293,295-296,298-301,303,305-307,309,313,320-325,328,330,332,336-341,349-350,353,355,357-360,362-364,368-369,371-373,376,381,383,385-388,390,392,394-395,397,401,403,408,412-420,424-425,428,430-436,438,440-441,443-446,449,454-455,459,462,465
source/src/cip/cipassembly.c                  75       0     0%   49,51,63-64,69,74-75,78,84-85,88-89,91-96,98,101,103,106-108,111,115,119-121,125-126,128,137,142,145,148,154-156,162,166,169,173-175,177-179,181-184,186-189,193-194,196,205,207,210,212,215,218-220,222,224,227,230-232,234,236
source/src/cip/cipclass3connection.c          35       0     0%   19-20,22-23,26,29,31,33-35,38,40,42,46,48,51,53,60-62,64,70-71,74,76,79-83,89,92-95
source/src/cip/cipcommon.c                   801      44     5%   46,48-59,64-65,82-83,85,88,90,92,94,96,99-100,102,109,114-115,118,120-125,127-129,135,140,142,144,146,152,154,156-158,161-165,168,170,173,175-178,182,185-186,190,192,195,199,201,205,209,211,215-218,221-222,226,228,232,234,236,238,244-245,249,251,255,257,264-265,267,270,272,274-276,279,281,284,296,300,309,311,314-316,318,320,322,324,326-327,330,332-333,335-336,345,349,351-352,354,356,358,360-361,366,368,370,373,376,378,380,383,386-387,390-391,393-394,396,398,402,408,410,412-413,418,420,425,427,433,435,442,449,454,456,461,463,465-466,472,478,485,494,496-497,501-509,511,513,515-517,519,521-523,525,531,533,536,541,545,548,550-556,558,561,564,567-568,570-571,573-574,578-579,581,584,586,588-590,592,599,602-607,610,617-618,621-622,624,627,630-634,637,641-643,647-649,653-656,661,669,671-672,689,691-692,709,711-712,714-716,718,720-721,723,725-726,728,730-731,733,735-736,738,740,742,744-749,751,753,755-758,760-761,763,765,768,770,773-774,776-777,779,782-783,785-786,788,790-795,797,799-802,804-806,808-810,812-814,816-818,820,822-823,826,828,830-837,839,841-843,845,847-851,853,856-861,863,870-871,873-874,876,879,883-884,890-893,897-899,903,906,911-914,917,919,923,926,929-931,934,937-939,942,946-948,950-953,955-958,962-964,966-967,970,973-975,978,981-983,986,989-991,994,997-999,1002,1005-1007,1010,1013-1015,1018,1021-1023,1026,1029-1031,1034,1037-1039,1042,1045-1047,1050,1053-1055,1058,1061-1063,1066,1069-1071,1090-1091,1119,1121,1123-1125,1127,1132,1138-1139,1141-1142,1146,1148-1151,1153,1155-1156,1158-1161,1164,1167,1169,1172,1175,1181-1182,1184-1188,1190-1191,1193-1195,1197,1200,1205-1207,1209,1211-1212,1214,1216,1218-1219,1221,1223,1225,1228,1232,1234,1236,1239,1242-1247,1249,1252,1254,1258,1261,1263,1267,1269,1271,1276-1277,1279,1282-1283,1286,1291,1297-1298,1300-1304,1306-1307,1309-1311,1313,1317,1319-1321,1323,1325-1326,1328,1330,1332,1334-1335,1337,1340,1342,1346,1348,1350,1353,1356-1358,1360,1362,1364,1366,1370,1373,1376-1380,1383-1384,1389,1392-1393,1398-1399,1401,1404-1405,1408,1414-1417,1419,1421-1423,1426,1428-1430,1433-1434,1436-1438,1441,1443-1445,1448-1449,1451-1453,1456,1458-1460,1466,1468,1470,1473-1475,1477-1478,1481-1483,1485-1486,1491-1493,1495-1497,1499,1501-1504,1506,1508-1510,1512,1514-1517,1519,1521-1523,1525,1527-1530,1532,1534-1536,1538-1540,1548,1550-1551,1554,1561-1562,1564-1568,1570,1572,1575-1576,1580,1582,1584,1587-1588,1592,1594,1597,1604-1605,1607-1611,1613,1615,1618-1619,1623-1624,1628,1630-1631,1634-1638,1645-1646,1650,1653,1656,1658,1660,1663,1670-1671,1673-1677,1679,1681,1684-1685,1689,1691-1692,1696,1699-1700,1703-1707,1709-1711
source/src/cip/cipconnectionmanager.c        700       0     0%   179-180,182-187,189,191,209,211-212,216,219-220,224,229,232,237,240,248,256,264,269,272,277,280,282,284,286-287,289,303,307,311,313-314,318,320,324,328,333,335-336,341,344,351-352,357,360-361,363,368-370,373,375-376,378,383,385-386,388-389,391-392,428,434-436,438-439,459,465-466,468-469,488,494-495,497-498,515,521-522,524,527-528,530,537,539-540,549-550,552-554,557,560-561,565-566,568,573,576,609,614-615,648,653-654,660,665,667-668,672,674,677,681-684,687-688,695-696,703,706,708-711,720,725-726,730,735-736,739-740,742,748,754-755,759,764-765,767,770-775,777,779,781,784-786,788-792,795-799,806,808,815,818,827,833-837,839,842,848-850,852-853,856-857,860,863-865,867-868,870,874,877,879,881-882,884-885,888,891,898-900,902-903,906-911,918,921-923,925-926,928-932,937,939,941,943-944,946-947,950,953,957,960,962,965,968,971,974,977,980,983,986,988,990,992,995,998,1001,1004,1007,1009,1011,1013,1016,1018,1020,1023-1024,1026,1028,1030-1033,1035,1039,1042-1044,1046-1047,1052-1053,1055,1057,1059-1060,1065-1066,1070,1072,1074-1075,1077,1079,1082-1083,1086-1087,1089,1093,1095-1096,1100,1103,1108,1110,1124,1130,1132-1133,1136,1138-1140,1143-1144,1146-1147,1149,1151-1153,1155,1159,1161,1169-1170,1174-1175,1177-1178,1181-1188,1191-1196,1199-1202,1210,1212,1214,1217,1219,1221,1225,1229,1231,1239,1242,1245-1247,1260,1268,1270-1271,1274,1276-1278,1280-1281,1284-1285,1287-1288,1290,1292-1293,1295-1297,1301-1302,1305-1306,1308-1310,1312-1313,1315,1320,1322,1324-1326,1328,1330,1332-1333,1335,1340,1342,1344-1348,1351,1357,1361,1364-1365,1367,1370-1371,1374-1379,1381,1386-1389,1391,1395,1397,1403-1408,1410,1416-1420,1423,1425,1431,1433,1436,1439-1442,1447,1449-1450,1452-1453,1456,1458-1460,1463-1464,1466-1467,1470,1473-1475,1478,1480-1486,1488-1491,1494-1496,1498,1500,1513-1515,1518-1519,1521,1525,1531-1532,1535-1538,1540-1543,1548,1550-1554,1556-1557,1560,1563,1567,1569,1571,1573,1576,1578,1581,1583-1585,1588,1590,1592,1594,1597,1599,1602-1603,1606,1608-1609,1611,1615-1616,1618,1621,1627,1630,1636,1641,1644-1647,1649-1650,1654-1656,1658,1664-1666,1669,1672-1674,1676-1679,1683,1685,1687,1689,1695-1697,1699,1701,1703-1707,1710-1712,1714,1717,1719,1721,1725-1726,1728,1731-1737,1739-1743,1748-1754,1756,1759-1761,1765,1767,1769,1774,1776,1779,1782-1783,1790,1793-1794,1797,1800,1802-1803,1806,1808,1810,1812,1815-1817,1819-1821,1823,1825-1830,1833,1836-1837,1839,1841-1846,1850,1852,1855,1857,1861-1862,1864-1865,1867-1868,1872,1875,1877,1879-1882,1885,1888,1890,1892-1897,1899,1902-1904,1908,1910,1913,1916-1921,1923,1927,1929-1930,1932,1934-1935,1938-1940
source/src/cip/cipconnectionobject.c         383     229    59%   61-62,67-71,77-81,86,88,107,109,111-112,167,180,248-249,271,274-275,294-296,398,400,403,406-407,409,411,414,417-418,425,427-428,430,432,435,467,478,480,482,484,502,505,508-510,512-514,516-518,520-522,524-526,528,530,532,534,537,540,542,544,546,549,552,554,556,558,561,564-565,579,581,583-584,586,588,590-591,593,611,621,631,633,635,641,652,654-655,657,673,685,697,715-716,739-740,745,774-775,819-820,852-853,873,876-877,879,881-886,888,890-892,894,896-897,899-900,904,908-909,913,917,919,923,925-926,928,930,933,938,940,942,945,950,953-954
source/src/cip/cipdlr.c                       30       0     0%   95,98,100-101,103,105,107-109,111,116-117,119,131,136,138,142,144,151,158,165,172,179,186,193,202,209,216,228,230
source/src/cip/cipelectronickey.c             47      47   100%
source/src/cip/cipepath.c                    297     270    90%   88-90,230-232,276-278,329-330,530,532-535,633,635,637-638,640-641,643,697,701,704-705
source/src/cip/cipethernetlink.c              58       0     0%   198-199,222-223,226,228-229,235-236,246,248,252,272-274,276,283,290,313,320,349,357,364,371,378,385,400-402,406,409,412,424,427,429,432,444,447,449,456,458,460-462,465,467-473,475,477-480,484
source/src/cip/cipidentity.c                 106       0     0%   59-62,65-67,70-72,75-77,80-83,86-88,91-92,96-97,100,104-105,108-110,114,116,118,129-132,142-145,155,157-160,168,172,174,176-177,179,181-182,184-187,191-193,201-203,206,209-210,212,217,219,224,226,233,240,247,252,254,259,262,266,270-271,273,275-278,280-281,295,299-300,302-303,310,317,324,331,338,345,353,355-357,359,362
source/src/cip/cipioconnection.c             432       0     0%   86-88,90-91,94-96,98-99,102,104-105,107-108,111,113,118-120,130-134,136,138,141-145,147-148,154,156-157,160-165,168-169,172,174-175,178,180-182,190,193-194,196-199,201,203,206-207,210-211,215,217,221,223,227-228,233,237-244,246,248-253,256-257,259,261-262,264,266-268,289,292,294-296,300,302,306,308,310-313,316,321-324,329,331,333,338,340,342,347,349-350,355-358,361-363,365,368,370,374,376-377,380,392,395,398,405,407,409-411,417-419,421-422,424-426,428-430,432,435,440,442-444,446-448,452-454,456-458,464-465,467,470,474-476,478,481,488-491,494,496,498,503-504,509-510,514-516,519,523,525-530,532,542,546,548-549,551-552,554-556,558,561,564-566,568,571,575-576,581,592-593,596-602,605-606,613-619,621-623,628-629,632,634,636-637,639,641,643,649-653,655-658,661-665,672,675,684-685,688,693,700-701,703-705,709-712,715-716,718-723,725,729-733,735-736,738,741,743,745,749,751,754-755,761,763,766-771,773-774,776,778-780,784,786,788,792,795,798-799,807-810,812-813,817-818,820,825,832,835-837,840,842-844,846,848,850-851,853,855-857,860,862,866-867,869-871,873-875,877-879,882-883,885-886,888,891,895-896,899-901,903-905,907,910,913-914,916-917,919-920,922,924-925,928-929,931-936,938,941-942,944-945,947,951,961-963,967,970-971,973-974,978,981,987,990,997,1000,1005,1008,1017,1019-1021,1025-1027,1031-1032,1035-1036
source/src/cip/cipmessagerouter.c            121       0     0%   54-55,57,62,64,69,71,78,85,92,97,99,104,107,111,113,115-116,128,131,137,147-148,151,153-155,157,162-164,166-167,173,175,180-181,183-184,190-191,193,195,198-200,203-204,206,209,214-215,217-219,224-229,232-234,238,241-245,250-251,254-255,278,281,285-287,289-290,292,296,299-302,306-307,309-311,313-315,317-321,324,326,330-337,340-347,349,351-352
source/src/cip/cipqos.c                       55       0     0%   70,74,76,78-81,83-84,87,91,94,97-112,114-115,117,120-121,123-124,140,142,149,156,163,170,177,184,191,199,201,204,207-209,211-212,221-223
source/src/cip/cipstring.c                   124     109    87%   68-70,272,275-276,278,281-284,286,288-289,291
source/src/cip/cipstringi.c                  229       0     0%   16-40,42,44-47,49-67,69,76-85,92,94-134,136,138-151,153,155,157,159-160,162-163,165-175,177-182,184-185,187-202,204-210,212-215,217-221,224,226,229,231-233,235-255,259,261-263,265-272,275-287,291-292
source/src/cip/ciptcpipinterface.c            94       0     0%   322,324,326,328,330,332,334,336,338,340,343,345-346,348,351-352,354-355,357,360,362-363,365,368,370,372-373,375,377,383,385-387,389,393,396-398,401,518,522,524-525,527-528,530-532,535,538-539,541-542,558,560,567,574,581,607,614,625,632,639,646,653,660,667,675,680,683,688,691,693-695,698-700,702,710,712,716-719,721-723,725-730
source/src/cip/ciptypes.c                     26       0     0%   14-15,17,32,35,43-44,46,51-52,54-56,58,61-62,67-69,74-76,81-84
source/src/enet_encap/cpf.c                  282      38    13%   62,65-67,70-72,76-77,80,83-86,88,92-93,99-100,102,105,121,125-127,130,134-135,139-140,142,144,147,149-151,155-156,159-160,162-163,165,167,169,172,174,176,179,181-183,185,188,190-194,198-199,202,204-207,209,212-213,216,232,236-237,239,269-271,274-276,280-286,292-293,296-299,302-305,308-318,320,322,324,341,343,355-356,358-359,367,372-375,377,386,391-394,396-397,399,408,411,413,422,425,427,436,439,441,450,453-458,460,470,473-474,476,478,486,489-490,492,501,504-505,513,516-517,525,528-529,538,541,543,551,554,556-557,560,573,576-578,587,590-591,593,595,603,606-608,610-612,614,624,628-630,632,642,646-647,649,651,655,658-659,662,665,667-668,670-671,673,675-676,678,686-687,690-691,694,696,698,702,707-708,710-712,715,717,719,729-732,734,737,740-742,745,747,754,757-758
source/src/enet_encap/encap.c                352     106    30%   124-125,129,132-133,136-138,143-146,148,151,153,159-161,165-166,168-169,172-174,177,179,183-184,186,193-195,197,200-201,203,205-207,209,211-213,215,217-219,221,223-225,227,229-231,233,236-238,246,253-254,258-259,261-262,265-267,270,272,275-276,278-281,283,285-288,291,294,298-300,302,322,324-325,398,401-402,404,408-409,411-414,416-418,422-424,428,431,433,496,499-501,503,505,510-511,560-561,564,567-570,574-576,582,584-586,588-589,612,615-616,618-623,628,633,641,648,650,655,658,661,664-665,669-670,672,677,680,718-719,721,726,732,736,738,741,748-753,820,822-823,825-828,830-837,840-841,843-849,852-853,855-860,863,865-870,872,874,879,881,885,887,889-893,896-897,901-902,904-906,910,912-915,921,923-929,931,933,935
source/src/enet_encap/endianconv.c           132     115    87%   52-56,207-208,210-211,213-216,219,222,251-252
source/src/ports/generic_networkhandler.c
                                             476       0     0%   129-130,134,136,138,141-142,144,147-148,151-154,158-160,163,166,177,185-188,193-195,199-202,207-209,213-214,225,234-235,246,253-254,256,259,262-263,267-269,272,275-276,280-282,286,288-290,295-296,300,302,304,307-308,313-314,319-321,324,327-328,333-335,339,341-343,349-350,357,359-361,365-366,371-373,377-379,383-385,388-389,394-395,397,400-403,405-410,412-416,418,420,422-426,428,430,433,436-437,439-440,442-445,448-450,453,455,465,467,469-471,475,479-480,482-484,486,489-490,492-493,498-499,502-504,508-512,514-515,518,520-521,527-528,534-536,543,546,549-551,555,560-564,567,569-571,575,578-579,586-588,593-595,598,600-605,615-616,618-619,623,634,637,639,644,646-648,651,654-655,662-664,668-670,673,675-680,688-689,691-692,696,704,707,709,714,724-726,730-732,736-738,741,753-756,766,768-769,774,776,778-781,783-785,788,790-792,796-798,801,805,808,811-813,816-818,824-827,829-832,837-839,841-843,845-847,850-851,853,855-856,861-865,867-870,874-876,879,881,883,885,887-892,895-896,899-901,907-908,911,913,916,919,922,924,928-929,933,937,953,955,957-959,962-964,967,970-973,977,979-980,986-988,993-995,997,1000-1001,1004-1007,1011,1013,1015-1016,1024-1026,1028-1029,1032-1033,1041-1042,1044,1049-1050,1055-1057,1062-1063,1068-1069,1074-1076,1084-1086,1088,1091-1092,1095-1097,1099,1102-1103,1105,1108-1109,1112-1114,1116,1118-1121,1123,1129-1131,1137-1139,1141,1144-1147,1149,1152-1154,1156,1159,1165-1166,1168-1170,1172-1173,1175-1176,1180,1184,1191-1193,1195,1201-1203,1205-1208,1210,1212-1213,1217,1219-1222,1224,1227
source/src/ports/nvdata/conffile.c            32       0     0%   59-64,66-68,72-73,75,77-78,80-84,92,111-113,115-117,130-133,135-136
source/src/ports/nvdata/nvdata.c              22       0     0%   37,39-42,45,63,67,71,74,76,80-81,83,99,104,107,109,111,115-116,119
source/src/ports/nvdata/nvqos.c               37       0     0%   31-33,43-47,49-50,57,71,73,79-81,86-91,96,104-107,109,112-117,121-122,124
source/src/ports/nvdata/nvtcpip.c             17       0     0%   27,29,31,33-34,37,39,45,49,57,59,61-62,65,67,70-71
source/src/ports/POSIX/networkconfig.c       171       0     0%   27,29-31,33-35,37,39-41,43,45-46,49,52,54-58,60-62,66-70,72-73,76-77,79-80,83-84,86,88,91,93,95-97,99,102-105,107-108,110-114,122-123,125-126,128-132,134,137-138,140,153,155-158,160-171,173,176-178,185-189,191-192,194,201,204-207,212-216,218-220,231,233-234,237-240,242-246,248,251,253-254,256,258-260,262-264,267,270-271,273,278,281-282,284-287,289-291,295-296,298-300,302-303,305-306,309-310,312-313,315-316,319,322-323,325-328,330
source/src/ports/POSIX/networkhandler.c       27       0     0%   22-23,25-29,32-33,36,38,41-44,48-49,51,53-55,57-59,62,66-67
source/src/ports/POSIX/opener_error.c          9       0     0%   26-27,30-33,36-38
source/src/ports/POSIX/sample_application/sampleapplication.c
                                              50       0     0%   40,43,48,53,58,61,64,68,72,76,85,87,117,120,122,124,129-132,134-135,138,142,145,163,166,173,176-177,180,182-184,187,189-190,192-193,196-197,200-202,204-207,209,212
source/src/ports/socket_timer.c               25      24    96%   46
source/src/utils/doublylinkedlist.c           86      83    96%   48,127,130
source/src/utils/enipmessage.c                 4       4   100%
source/src/utils/random.c                      9       9   100%
source/src/utils/xorshiftrandom.c             13      12    92%   24
source/tests/callback_mock.cpp                31       8    25%   12-14,17-19,21,24-25,27-29,32-33,36-38,41-43,64-66
source/tests/cip/cipcommontests.cpp          107     107   100%
source/tests/cip/cipconnectionobjecttest.cpp
                                             382     382   100%
source/tests/cip/cipelectronickeyformattest.cpp
                                             125     125   100%
source/tests/cip/cipelectronickeytest.cpp
                                              24      24   100%
source/tests/cip/cipepathtest.cpp            633     633   100%
source/tests/cip/cipstringtests.cpp          207     207   100%
source/tests/enet_encap/encaptest.cpp         52      52   100%
source/tests/enet_encap/endianconvtest.cpp
                                             167     167   100%
source/tests/OpENerTests.cpp                  29      11    37%   64,71-73,76,78,84-85,87-88,90-94,96,100,108
source/tests/ports/socket_timer_tests.cpp
                                              31      31   100%
source/tests/utils/doublylinkedlistTests.cpp
                                             247     245    99%   43,47
source/tests/utils/randomTests.cpp             9       9   100%
source/tests/utils/xorshiftrandomtests.cpp
                                              13      13   100%
------------------------------------------------------------------------------
TOTAL                                       7600    3104    40%
------------------------------------------------------------------------------
lines: 40.8% (3104 out of 7600)
functions: 63.3% (629 out of 994)
branches: 17.6% (1100 out of 6234)

📥 Download the detailed HTML report from artifacts.

ℹ️ This PR was tested with standard static analysis. Exhaustive analysis will run on release branches.

@github-actions
Copy link

📊 Coverage Report

Line Coverage: 40.8%

------------------------------------------------------------------------------
                           GCC Code Coverage Report
Directory: .
------------------------------------------------------------------------------
File                                       Lines    Exec  Cover   Missing
------------------------------------------------------------------------------
source/src/cip/appcontype.c                  186       0     0%   96,101-102,104,106,109,111,115-116,118-119,122,124,128-129,131,133,136,138,141,143-146,149-151,154-157,160,163,170,177,179,183-184,187,190,193-199,202-203,205-208,210-211,213-215,217-218,220,222,225-226,235,238,240-241,243-246,248,250-252,254,257-262,265,267,269,273-278,286-287,290,293,295-296,298-301,303,305-307,309,313,320-325,328,330,332,336-341,349-350,353,355,357-360,362-364,368-369,371-373,376,381,383,385-388,390,392,394-395,397,401,403,408,412-420,424-425,428,430-436,438,440-441,443-446,449,454-455,459,462,465
source/src/cip/cipassembly.c                  75       0     0%   49,51,63-64,69,74-75,78,84-85,88-89,91-96,98,101,103,106-108,111,115,119-121,125-126,128,137,142,145,148,154-156,162,166,169,173-175,177-179,181-184,186-189,193-194,196,205,207,210,212,215,218-220,222,224,227,230-232,234,236
source/src/cip/cipclass3connection.c          35       0     0%   19-20,22-23,26,29,31,33-35,38,40,42,46,48,51,53,60-62,64,70-71,74,76,79-83,89,92-95
source/src/cip/cipcommon.c                   801      44     5%   46,48-59,64-65,82-83,85,88,90,92,94,96,99-100,102,109,114-115,118,120-125,127-129,135,140,142,144,146,152,154,156-158,161-165,168,170,173,175-178,182,185-186,190,192,195,199,201,205,209,211,215-218,221-222,226,228,232,234,236,238,244-245,249,251,255,257,264-265,267,270,272,274-276,279,281,284,296,300,309,311,314-316,318,320,322,324,326-327,330,332-333,335-336,345,349,351-352,354,356,358,360-361,366,368,370,373,376,378,380,383,386-387,390-391,393-394,396,398,402,408,410,412-413,418,420,425,427,433,435,442,449,454,456,461,463,465-466,472,478,485,494,496-497,501-509,511,513,515-517,519,521-523,525,531,533,536,541,545,548,550-556,558,561,564,567-568,570-571,573-574,578-579,581,584,586,588-590,592,599,602-607,610,617-618,621-622,624,627,630-634,637,641-643,647-649,653-656,661,669,671-672,689,691-692,709,711-712,714-716,718,720-721,723,725-726,728,730-731,733,735-736,738,740,742,744-749,751,753,755-758,760-761,763,765,768,770,773-774,776-777,779,782-783,785-786,788,790-795,797,799-802,804-806,808-810,812-814,816-818,820,822-823,826,828,830-837,839,841-843,845,847-851,853,856-861,863,870-871,873-874,876,879,883-884,890-893,897-899,903,906,911-914,917,919,923,926,929-931,934,937-939,942,946-948,950-953,955-958,962-964,966-967,970,973-975,978,981-983,986,989-991,994,997-999,1002,1005-1007,1010,1013-1015,1018,1021-1023,1026,1029-1031,1034,1037-1039,1042,1045-1047,1050,1053-1055,1058,1061-1063,1066,1069-1071,1090-1091,1119,1121,1123-1125,1127,1132,1138-1139,1141-1142,1146,1148-1151,1153,1155-1156,1158-1161,1164,1167,1169,1172,1175,1181-1182,1184-1188,1190-1191,1193-1195,1197,1200,1205-1207,1209,1211-1212,1214,1216,1218-1219,1221,1223,1225,1228,1232,1234,1236,1239,1242-1247,1249,1252,1254,1258,1261,1263,1267,1269,1271,1276-1277,1279,1282-1283,1286,1291,1297-1298,1300-1304,1306-1307,1309-1311,1313,1317,1319-1321,1323,1325-1326,1328,1330,1332,1334-1335,1337,1340,1342,1346,1348,1350,1353,1356-1358,1360,1362,1364,1366,1370,1373,1376-1380,1383-1384,1389,1392-1393,1398-1399,1401,1404-1405,1408,1414-1417,1419,1421-1423,1426,1428-1430,1433-1434,1436-1438,1441,1443-1445,1448-1449,1451-1453,1456,1458-1460,1466,1468,1470,1473-1475,1477-1478,1481-1483,1485-1486,1491-1493,1495-1497,1499,1501-1504,1506,1508-1510,1512,1514-1517,1519,1521-1523,1525,1527-1530,1532,1534-1536,1538-1540,1548,1550-1551,1554,1561-1562,1564-1568,1570,1572,1575-1576,1580,1582,1584,1587-1588,1592,1594,1597,1604-1605,1607-1611,1613,1615,1618-1619,1623-1624,1628,1630-1631,1634-1638,1645-1646,1650,1653,1656,1658,1660,1663,1670-1671,1673-1677,1679,1681,1684-1685,1689,1691-1692,1696,1699-1700,1703-1707,1709-1711
source/src/cip/cipconnectionmanager.c        700       0     0%   179-180,182-187,189,191,209,211-212,216,219-220,224,229,232,237,240,248,256,264,269,272,277,280,282,284,286-287,289,303,307,311,313-314,318,320,324,328,333,335-336,341,344,351-352,357,360-361,363,368-370,373,375-376,378,383,385-386,388-389,391-392,428,434-436,438-439,459,465-466,468-469,488,494-495,497-498,515,521-522,524,527-528,530,537,539-540,549-550,552-554,557,560-561,565-566,568,573,576,609,614-615,648,653-654,660,665,667-668,672,674,677,681-684,687-688,695-696,703,706,708-711,720,725-726,730,735-736,739-740,742,748,754-755,759,764-765,767,770-775,777,779,781,784-786,788-792,795-799,806,808,815,818,827,833-837,839,842,848-850,852-853,856-857,860,863-865,867-868,870,874,877,879,881-882,884-885,888,891,898-900,902-903,906-911,918,921-923,925-926,928-932,937,939,941,943-944,946-947,950,953,957,960,962,965,968,971,974,977,980,983,986,988,990,992,995,998,1001,1004,1007,1009,1011,1013,1016,1018,1020,1023-1024,1026,1028,1030-1033,1035,1039,1042-1044,1046-1047,1052-1053,1055,1057,1059-1060,1065-1066,1070,1072,1074-1075,1077,1079,1082-1083,1086-1087,1089,1093,1095-1096,1100,1103,1108,1110,1124,1130,1132-1133,1136,1138-1140,1143-1144,1146-1147,1149,1151-1153,1155,1159,1161,1169-1170,1174-1175,1177-1178,1181-1188,1191-1196,1199-1202,1210,1212,1214,1217,1219,1221,1225,1229,1231,1239,1242,1245-1247,1260,1268,1270-1271,1274,1276-1278,1280-1281,1284-1285,1287-1288,1290,1292-1293,1295-1297,1301-1302,1305-1306,1308-1310,1312-1313,1315,1320,1322,1324-1326,1328,1330,1332-1333,1335,1340,1342,1344-1348,1351,1357,1361,1364-1365,1367,1370-1371,1374-1379,1381,1386-1389,1391,1395,1397,1403-1408,1410,1416-1420,1423,1425,1431,1433,1436,1439-1442,1447,1449-1450,1452-1453,1456,1458-1460,1463-1464,1466-1467,1470,1473-1475,1478,1480-1486,1488-1491,1494-1496,1498,1500,1513-1515,1518-1519,1521,1525,1531-1532,1535-1538,1540-1543,1548,1550-1554,1556-1557,1560,1563,1567,1569,1571,1573,1576,1578,1581,1583-1585,1588,1590,1592,1594,1597,1599,1602-1603,1606,1608-1609,1611,1615-1616,1618,1621,1627,1630,1636,1641,1644-1647,1649-1650,1654-1656,1658,1664-1666,1669,1672-1674,1676-1679,1683,1685,1687,1689,1695-1697,1699,1701,1703-1707,1710-1712,1714,1717,1719,1721,1725-1726,1728,1731-1737,1739-1743,1748-1754,1756,1759-1761,1765,1767,1769,1774,1776,1779,1782-1783,1790,1793-1794,1797,1800,1802-1803,1806,1808,1810,1812,1815-1817,1819-1821,1823,1825-1830,1833,1836-1837,1839,1841-1846,1850,1852,1855,1857,1861-1862,1864-1865,1867-1868,1872,1875,1877,1879-1882,1885,1888,1890,1892-1897,1899,1902-1904,1908,1910,1913,1916-1921,1923,1927,1929-1930,1932,1934-1935,1938-1940
source/src/cip/cipconnectionobject.c         383     229    59%   61-62,67-71,77-81,86,88,107,109,111-112,167,180,248-249,271,274-275,294-296,398,400,403,406-407,409,411,414,417-418,425,427-428,430,432,435,467,478,480,482,484,502,505,508-510,512-514,516-518,520-522,524-526,528,530,532,534,537,540,542,544,546,549,552,554,556,558,561,564-565,579,581,583-584,586,588,590-591,593,611,621,631,633,635,641,652,654-655,657,673,685,697,715-716,739-740,745,774-775,819-820,852-853,873,876-877,879,881-886,888,890-892,894,896-897,899-900,904,908-909,913,917,919,923,925-926,928,930,933,938,940,942,945,950,953-954
source/src/cip/cipdlr.c                       30       0     0%   95,98,100-101,103,105,107-109,111,116-117,119,131,136,138,142,144,151,158,165,172,179,186,193,202,209,216,228,230
source/src/cip/cipelectronickey.c             47      47   100%
source/src/cip/cipepath.c                    297     270    90%   88-90,230-232,276-278,329-330,530,532-535,633,635,637-638,640-641,643,697,701,704-705
source/src/cip/cipethernetlink.c              58       0     0%   198-199,222-223,226,228-229,235-236,246,248,252,272-274,276,283,290,313,320,349,357,364,371,378,385,400-402,406,409,412,424,427,429,432,444,447,449,456,458,460-462,465,467-473,475,477-480,484
source/src/cip/cipidentity.c                 106       0     0%   59-62,65-67,70-72,75-77,80-83,86-88,91-92,96-97,100,104-105,108-110,114,116,118,129-132,142-145,155,157-160,168,172,174,176-177,179,181-182,184-187,191-193,201-203,206,209-210,212,217,219,224,226,233,240,247,252,254,259,262,266,270-271,273,275-278,280-281,295,299-300,302-303,310,317,324,331,338,345,353,355-357,359,362
source/src/cip/cipioconnection.c             432       0     0%   86-88,90-91,94-96,98-99,102,104-105,107-108,111,113,118-120,130-134,136,138,141-145,147-148,154,156-157,160-165,168-169,172,174-175,178,180-182,190,193-194,196-199,201,203,206-207,210-211,215,217,221,223,227-228,233,237-244,246,248-253,256-257,259,261-262,264,266-268,289,292,294-296,300,302,306,308,310-313,316,321-324,329,331,333,338,340,342,347,349-350,355-358,361-363,365,368,370,374,376-377,380,392,395,398,405,407,409-411,417-419,421-422,424-426,428-430,432,435,440,442-444,446-448,452-454,456-458,464-465,467,470,474-476,478,481,488-491,494,496,498,503-504,509-510,514-516,519,523,525-530,532,542,546,548-549,551-552,554-556,558,561,564-566,568,571,575-576,581,592-593,596-602,605-606,613-619,621-623,628-629,632,634,636-637,639,641,643,649-653,655-658,661-665,672,675,684-685,688,693,700-701,703-705,709-712,715-716,718-723,725,729-733,735-736,738,741,743,745,749,751,754-755,761,763,766-771,773-774,776,778-780,784,786,788,792,795,798-799,807-810,812-813,817-818,820,825,832,835-837,840,842-844,846,848,850-851,853,855-857,860,862,866-867,869-871,873-875,877-879,882-883,885-886,888,891,895-896,899-901,903-905,907,910,913-914,916-917,919-920,922,924-925,928-929,931-936,938,941-942,944-945,947,951,961-963,967,970-971,973-974,978,981,987,990,997,1000,1005,1008,1017,1019-1021,1025-1027,1031-1032,1035-1036
source/src/cip/cipmessagerouter.c            121       0     0%   54-55,57,62,64,69,71,78,85,92,97,99,104,107,111,113,115-116,128,131,137,147-148,151,153-155,157,162-164,166-167,173,175,180-181,183-184,190-191,193,195,198-200,203-204,206,209,214-215,217-219,224-229,232-234,238,241-245,250-251,254-255,278,281,285-287,289-290,292,296,299-302,306-307,309-311,313-315,317-321,324,326,330-337,340-347,349,351-352
source/src/cip/cipqos.c                       55       0     0%   70,74,76,78-81,83-84,87,91,94,97-112,114-115,117,120-121,123-124,140,142,149,156,163,170,177,184,191,199,201,204,207-209,211-212,221-223
source/src/cip/cipstring.c                   124     109    87%   68-70,272,275-276,278,281-284,286,288-289,291
source/src/cip/cipstringi.c                  229       0     0%   16-40,42,44-47,49-67,69,76-85,92,94-134,136,138-151,153,155,157,159-160,162-163,165-175,177-182,184-185,187-202,204-210,212-215,217-221,224,226,229,231-233,235-255,259,261-263,265-272,275-287,291-292
source/src/cip/ciptcpipinterface.c            94       0     0%   322,324,326,328,330,332,334,336,338,340,343,345-346,348,351-352,354-355,357,360,362-363,365,368,370,372-373,375,377,383,385-387,389,393,396-398,401,518,522,524-525,527-528,530-532,535,538-539,541-542,558,560,567,574,581,607,614,625,632,639,646,653,660,667,675,680,683,688,691,693-695,698-700,702,710,712,716-719,721-723,725-730
source/src/cip/ciptypes.c                     26       0     0%   14-15,17,32,35,43-44,46,51-52,54-56,58,61-62,67-69,74-76,81-84
source/src/enet_encap/cpf.c                  282      38    13%   62,65-67,70-72,76-77,80,83-86,88,92-93,99-100,102,105,121,125-127,130,134-135,139-140,142,144,147,149-151,155-156,159-160,162-163,165,167,169,172,174,176,179,181-183,185,188,190-194,198-199,202,204-207,209,212-213,216,232,236-237,239,269-271,274-276,280-286,292-293,296-299,302-305,308-318,320,322,324,341,343,355-356,358-359,367,372-375,377,386,391-394,396-397,399,408,411,413,422,425,427,436,439,441,450,453-458,460,470,473-474,476,478,486,489-490,492,501,504-505,513,516-517,525,528-529,538,541,543,551,554,556-557,560,573,576-578,587,590-591,593,595,603,606-608,610-612,614,624,628-630,632,642,646-647,649,651,655,658-659,662,665,667-668,670-671,673,675-676,678,686-687,690-691,694,696,698,702,707-708,710-712,715,717,719,729-732,734,737,740-742,745,747,754,757-758
source/src/enet_encap/encap.c                352     106    30%   124-125,129,132-133,136-138,143-146,148,151,153,159-161,165-166,168-169,172-174,177,179,183-184,186,193-195,197,200-201,203,205-207,209,211-213,215,217-219,221,223-225,227,229-231,233,236-238,246,253-254,258-259,261-262,265-267,270,272,275-276,278-281,283,285-288,291,294,298-300,302,322,324-325,398,401-402,404,408-409,411-414,416-418,422-424,428,431,433,496,499-501,503,505,510-511,560-561,564,567-570,574-576,582,584-586,588-589,612,615-616,618-623,628,633,641,648,650,655,658,661,664-665,669-670,672,677,680,718-719,721,726,732,736,738,741,748-753,820,822-823,825-828,830-837,840-841,843-849,852-853,855-860,863,865-870,872,874,879,881,885,887,889-893,896-897,901-902,904-906,910,912-915,921,923-929,931,933,935
source/src/enet_encap/endianconv.c           132     115    87%   52-56,207-208,210-211,213-216,219,222,251-252
source/src/ports/generic_networkhandler.c
                                             476       0     0%   129-130,134,136,138,141-142,144,147-148,151-154,158-160,163,166,177,185-188,193-195,199-202,207-209,213-214,225,234-235,246,253-254,256,259,262-263,267-269,272,275-276,280-282,286,288-290,295-296,300,302,304,307-308,313-314,319-321,324,327-328,333-335,339,341-343,349-350,357,359-361,365-366,371-373,377-379,383-385,388-389,394-395,397,400-403,405-410,412-416,418,420,422-426,428,430,433,436-437,439-440,442-445,448-450,453,455,465,467,469-471,475,479-480,482-484,486,489-490,492-493,498-499,502-504,508-512,514-515,518,520-521,527-528,534-536,543,546,549-551,555,560-564,567,569-571,575,578-579,586-588,593-595,598,600-605,615-616,618-619,623,634,637,639,644,646-648,651,654-655,662-664,668-670,673,675-680,688-689,691-692,696,704,707,709,714,724-726,730-732,736-738,741,753-756,766,768-769,774,776,778-781,783-785,788,790-792,796-798,801,805,808,811-813,816-818,824-827,829-832,837-839,841-843,845-847,850-851,853,855-856,861-865,867-870,874-876,879,881,883,885,887-892,895-896,899-901,907-908,911,913,916,919,922,924,928-929,933,937,953,955,957-959,962-964,967,970-973,977,979-980,986-988,993-995,997,1000-1001,1004-1007,1011,1013,1015-1016,1024-1026,1028-1029,1032-1033,1041-1042,1044,1049-1050,1055-1057,1062-1063,1068-1069,1074-1076,1084-1086,1088,1091-1092,1095-1097,1099,1102-1103,1105,1108-1109,1112-1114,1116,1118-1121,1123,1129-1131,1137-1139,1141,1144-1147,1149,1152-1154,1156,1159,1165-1166,1168-1170,1172-1173,1175-1176,1180,1184,1191-1193,1195,1201-1203,1205-1208,1210,1212-1213,1217,1219-1222,1224,1227
source/src/ports/nvdata/conffile.c            32       0     0%   59-64,66-68,72-73,75,77-78,80-84,92,111-113,115-117,130-133,135-136
source/src/ports/nvdata/nvdata.c              22       0     0%   37,39-42,45,63,67,71,74,76,80-81,83,99,104,107,109,111,115-116,119
source/src/ports/nvdata/nvqos.c               37       0     0%   31-33,43-47,49-50,57,71,73,79-81,86-91,96,104-107,109,112-117,121-122,124
source/src/ports/nvdata/nvtcpip.c             17       0     0%   27,29,31,33-34,37,39,45,49,57,59,61-62,65,67,70-71
source/src/ports/POSIX/networkconfig.c       171       0     0%   27,29-31,33-35,37,39-41,43,45-46,49,52,54-58,60-62,66-70,72-73,76-77,79-80,83-84,86,88,91,93,95-97,99,102-105,107-108,110-114,122-123,125-126,128-132,134,137-138,140,153,155-158,160-171,173,176-178,185-189,191-192,194,201,204-207,212-216,218-220,231,233-234,237-240,242-246,248,251,253-254,256,258-260,262-264,267,270-271,273,278,281-282,284-287,289-291,295-296,298-300,302-303,305-306,309-310,312-313,315-316,319,322-323,325-328,330
source/src/ports/POSIX/networkhandler.c       27       0     0%   22-23,25-29,32-33,36,38,41-44,48-49,51,53-55,57-59,62,66-67
source/src/ports/POSIX/opener_error.c          9       0     0%   26-27,30-33,36-38
source/src/ports/POSIX/sample_application/sampleapplication.c
                                              50       0     0%   40,43,48,53,58,61,64,68,72,76,85,87,117,120,122,124,129-132,134-135,138,142,145,163,166,173,176-177,180,182-184,187,189-190,192-193,196-197,200-202,204-207,209,212
source/src/ports/socket_timer.c               25      24    96%   46
source/src/utils/doublylinkedlist.c           86      83    96%   48,127,130
source/src/utils/enipmessage.c                 4       4   100%
source/src/utils/random.c                      9       9   100%
source/src/utils/xorshiftrandom.c             13      12    92%   24
source/tests/callback_mock.cpp                31       8    25%   12-14,17-19,21,24-25,27-29,32-33,36-38,41-43,64-66
source/tests/cip/cipcommontests.cpp          107     107   100%
source/tests/cip/cipconnectionobjecttest.cpp
                                             382     382   100%
source/tests/cip/cipelectronickeyformattest.cpp
                                             125     125   100%
source/tests/cip/cipelectronickeytest.cpp
                                              24      24   100%
source/tests/cip/cipepathtest.cpp            633     633   100%
source/tests/cip/cipstringtests.cpp          207     207   100%
source/tests/enet_encap/encaptest.cpp         52      52   100%
source/tests/enet_encap/endianconvtest.cpp
                                             167     167   100%
source/tests/OpENerTests.cpp                  29      11    37%   64,71-73,76,78,84-85,87-88,90-94,96,100,108
source/tests/ports/socket_timer_tests.cpp
                                              31      31   100%
source/tests/utils/doublylinkedlistTests.cpp
                                             247     245    99%   43,47
source/tests/utils/randomTests.cpp             9       9   100%
source/tests/utils/xorshiftrandomtests.cpp
                                              13      13   100%
------------------------------------------------------------------------------
TOTAL                                       7600    3104    40%
------------------------------------------------------------------------------
lines: 40.8% (3104 out of 7600)
functions: 63.3% (629 out of 994)
branches: 17.6% (1100 out of 6234)

📥 Download the detailed HTML report from artifacts.

ℹ️ This PR was tested with standard static analysis. Exhaustive analysis will run on release branches.

@github-actions
Copy link

📊 Coverage Report

Line Coverage: 43.1%

------------------------------------------------------------------------------
                           GCC Code Coverage Report
Directory: .
------------------------------------------------------------------------------
File                                       Lines    Exec  Cover   Missing
------------------------------------------------------------------------------
source/src/cip/appcontype.c                  186       0     0%   96,101-102,104,106,109,111,115-116,118-119,122,124,128-129,131,133,136,138,141,143-146,149-151,154-157,160,163,170,177,179,183-184,187,190,193-199,202-203,205-208,210-211,213-215,217-218,220,222,225-226,235,238,240-241,243-246,248,250-252,254,257-262,265,267,269,273-278,286-287,290,293,295-296,298-301,303,305-307,309,313,320-325,328,330,332,336-341,349-350,353,355,357-360,362-364,368-369,371-373,376,381,383,385-388,390,392,394-395,397,401,403,408,412-420,424-425,428,430-436,438,440-441,443-446,449,454-455,459,462,465
source/src/cip/cipassembly.c                  75       0     0%   49,51,63-64,69,74-75,78,84-85,88-89,91-96,98,101,103,106-108,111,115,119-121,125-126,128,137,142,145,148,154-156,162,166,169,173-175,177-179,181-184,186-189,193-194,196,205,207,210,212,215,218-220,222,224,227,230-232,234,236
source/src/cip/cipclass3connection.c          35       0     0%   19-20,22-23,26,29,31,33-35,38,40,42,46,48,51,53,60-62,64,70-71,74,76,79-83,89,92-95
source/src/cip/cipcommon.c                   801      44     5%   46,48-59,64-65,82-83,85,88,90,92,94,96,99-100,102,109,114-115,118,120-125,127-129,135,140,142,144,146,152,154,156-158,161-165,168,170,173,175-178,182,185-186,190,192,195,199,201,205,209,211,215-218,221-222,226,228,232,234,236,238,244-245,249,251,255,257,264-265,267,270,272,274-276,279,281,284,296,300,309,311,314-316,318,320,322,324,326-327,330,332-333,335-336,345,349,351-352,354,356,358,360-361,366,368,370,373,376,378,380,383,386-387,390-391,393-394,396,398,402,408,410,412-413,418,420,425,427,433,435,442,449,454,456,461,463,465-466,472,478,485,494,496-497,501-509,511,513,515-517,519,521-523,525,531,533,536,541,545,548,550-556,558,561,564,567-568,570-571,573-574,578-579,581,584,586,588-590,592,599,602-607,610,617-618,621-622,624,627,630-634,637,641-643,647-649,653-656,661,669,671-672,689,691-692,709,711-712,714-716,718,720-721,723,725-726,728,730-731,733,735-736,738,740,742,744-749,751,753,755-758,760-761,763,765,768,770,773-774,776-777,779,782-783,785-786,788,790-795,797,799-802,804-806,808-810,812-814,816-818,820,822-823,826,828,830-837,839,841-843,845,847-851,853,856-861,863,870-871,873-874,876,879,883-884,890-893,897-899,903,906,911-914,917,919,923,926,929-931,934,937-939,942,946-948,950-953,955-958,962-964,966-967,970,973-975,978,981-983,986,989-991,994,997-999,1002,1005-1007,1010,1013-1015,1018,1021-1023,1026,1029-1031,1034,1037-1039,1042,1045-1047,1050,1053-1055,1058,1061-1063,1066,1069-1071,1090-1091,1119,1121,1123-1125,1127,1132,1138-1139,1141-1142,1146,1148-1151,1153,1155-1156,1158-1161,1164,1167,1169,1172,1175,1181-1182,1184-1188,1190-1191,1193-1195,1197,1200,1205-1207,1209,1211-1212,1214,1216,1218-1219,1221,1223,1225,1228,1232,1234,1236,1239,1242-1247,1249,1252,1254,1258,1261,1263,1267,1269,1271,1276-1277,1279,1282-1283,1286,1291,1297-1298,1300-1304,1306-1307,1309-1311,1313,1317,1319-1321,1323,1325-1326,1328,1330,1332,1334-1335,1337,1340,1342,1346,1348,1350,1353,1356-1358,1360,1362,1364,1366,1370,1373,1376-1380,1383-1384,1389,1392-1393,1398-1399,1401,1404-1405,1408,1414-1417,1419,1421-1423,1426,1428-1430,1433-1434,1436-1438,1441,1443-1445,1448-1449,1451-1453,1456,1458-1460,1466,1468,1470,1473-1475,1477-1478,1481-1483,1485-1486,1491-1493,1495-1497,1499,1501-1504,1506,1508-1510,1512,1514-1517,1519,1521-1523,1525,1527-1530,1532,1534-1536,1538-1540,1548,1550-1551,1554,1561-1562,1564-1568,1570,1572,1575-1576,1580,1582,1584,1587-1588,1592,1594,1597,1604-1605,1607-1611,1613,1615,1618-1619,1623-1624,1628,1630-1631,1634-1638,1645-1646,1650,1653,1656,1658,1660,1663,1670-1671,1673-1677,1679,1681,1684-1685,1689,1691-1692,1696,1699-1700,1703-1707,1709-1711
source/src/cip/cipconnectionmanager.c        700       0     0%   179-180,182-187,189,191,209,211-212,216,219-220,224,229,232,237,240,248,256,264,269,272,277,280,282,284,286-287,289,303,307,311,313-314,318,320,324,328,333,335-336,341,344,351-352,357,360-361,363,368-370,373,375-376,378,383,385-386,388-389,391-392,428,434-436,438-439,459,465-466,468-469,488,494-495,497-498,515,521-522,524,527-528,530,537,539-540,549-550,552-554,557,560-561,565-566,568,573,576,609,614-615,648,653-654,660,665,667-668,672,674,677,681-684,687-688,695-696,703,706,708-711,720,725-726,730,735-736,739-740,742,748,754-755,759,764-765,767,770-775,777,779,781,784-786,788-792,795-799,806,808,815,818,827,833-837,839,842,848-850,852-853,856-857,860,863-865,867-868,870,874,877,879,881-882,884-885,888,891,898-900,902-903,906-911,918,921-923,925-926,928-932,937,939,941,943-944,946-947,950,953,957,960,962,965,968,971,974,977,980,983,986,988,990,992,995,998,1001,1004,1007,1009,1011,1013,1016,1018,1020,1023-1024,1026,1028,1030-1033,1035,1039,1042-1044,1046-1047,1052-1053,1055,1057,1059-1060,1065-1066,1070,1072,1074-1075,1077,1079,1082-1083,1086-1087,1089,1093,1095-1096,1100,1103,1108,1110,1124,1130,1132-1133,1136,1138-1140,1143-1144,1146-1147,1149,1151-1153,1155,1159,1161,1169-1170,1174-1175,1177-1178,1181-1188,1191-1196,1199-1202,1210,1212,1214,1217,1219,1221,1225,1229,1231,1239,1242,1245-1247,1260,1268,1270-1271,1274,1276-1278,1280-1281,1284-1285,1287-1288,1290,1292-1293,1295-1297,1301-1302,1305-1306,1308-1310,1312-1313,1315,1320,1322,1324-1326,1328,1330,1332-1333,1335,1340,1342,1344-1348,1351,1357,1361,1364-1365,1367,1370-1371,1374-1379,1381,1386-1389,1391,1395,1397,1403-1408,1410,1416-1420,1423,1425,1431,1433,1436,1439-1442,1447,1449-1450,1452-1453,1456,1458-1460,1463-1464,1466-1467,1470,1473-1475,1478,1480-1486,1488-1491,1494-1496,1498,1500,1513-1515,1518-1519,1521,1525,1531-1532,1535-1538,1540-1543,1548,1550-1554,1556-1557,1560,1563,1567,1569,1571,1573,1576,1578,1581,1583-1585,1588,1590,1592,1594,1597,1599,1602-1603,1606,1608-1609,1611,1615-1616,1618,1621,1627,1630,1636,1641,1644-1647,1649-1650,1654-1656,1658,1664-1666,1669,1672-1674,1676-1679,1683,1685,1687,1689,1695-1697,1699,1701,1703-1707,1710-1712,1714,1717,1719,1721,1725-1726,1728,1731-1737,1739-1743,1748-1754,1756,1759-1761,1765,1767,1769,1774,1776,1779,1782-1783,1790,1793-1794,1797,1800,1802-1803,1806,1808,1810,1812,1815-1817,1819-1821,1823,1825-1830,1833,1836-1837,1839,1841-1846,1850,1852,1855,1857,1861-1862,1864-1865,1867-1868,1872,1875,1877,1879-1882,1885,1888,1890,1892-1897,1899,1902-1904,1908,1910,1913,1916-1921,1923,1927,1929-1930,1932,1934-1935,1938-1940
source/src/cip/cipconnectionobject.c         383     229    59%   61-62,67-71,77-81,86,88,107,109,111-112,167,180,248-249,271,274-275,294-296,398,400,403,406-407,409,411,414,417-418,425,427-428,430,432,435,467,478,480,482,484,502,505,508-510,512-514,516-518,520-522,524-526,528,530,532,534,537,540,542,544,546,549,552,554,556,558,561,564-565,579,581,583-584,586,588,590-591,593,611,621,631,633,635,641,652,654-655,657,673,685,697,715-716,739-740,745,774-775,819-820,852-853,873,876-877,879,881-886,888,890-892,894,896-897,899-900,904,908-909,913,917,919,923,925-926,928,930,933,938,940,942,945,950,953-954
source/src/cip/cipdlr.c                       30       0     0%   95,98,100-101,103,105,107-109,111,116-117,119,131,136,138,142,144,151,158,165,172,179,186,193,202,209,216,228,230
source/src/cip/cipelectronickey.c             47      47   100%
source/src/cip/cipepath.c                    297     270    90%   88-90,230-232,276-278,329-330,530,532-535,633,635,637-638,640-641,643,697,701,704-705
source/src/cip/cipethernetlink.c              58       0     0%   198-199,222-223,226,228-229,235-236,246,248,252,272-274,276,283,290,313,320,349,357,364,371,378,385,400-402,406,409,412,424,427,429,432,444,447,449,456,458,460-462,465,467-473,475,477-480,484
source/src/cip/cipidentity.c                 106       0     0%   59-62,65-67,70-72,75-77,80-83,86-88,91-92,96-97,100,104-105,108-110,114,116,118,129-132,142-145,155,157-160,168,172,174,176-177,179,181-182,184-187,191-193,201-203,206,209-210,212,217,219,224,226,233,240,247,252,254,259,262,266,270-271,273,275-278,280-281,295,299-300,302-303,310,317,324,331,338,345,353,355-357,359,362
source/src/cip/cipioconnection.c             432       0     0%   86-88,90-91,94-96,98-99,102,104-105,107-108,111,113,118-120,130-134,136,138,141-145,147-148,154,156-157,160-165,168-169,172,174-175,178,180-182,190,193-194,196-199,201,203,206-207,210-211,215,217,221,223,227-228,233,237-244,246,248-253,256-257,259,261-262,264,266-268,289,292,294-296,300,302,306,308,310-313,316,321-324,329,331,333,338,340,342,347,349-350,355-358,361-363,365,368,370,374,376-377,380,392,395,398,405,407,409-411,417-419,421-422,424-426,428-430,432,435,440,442-444,446-448,452-454,456-458,464-465,467,470,474-476,478,481,488-491,494,496,498,503-504,509-510,514-516,519,523,525-530,532,542,546,548-549,551-552,554-556,558,561,564-566,568,571,575-576,581,592-593,596-602,605-606,613-619,621-623,628-629,632,634,636-637,639,641,643,649-653,655-658,661-665,672,675,684-685,688,693,700-701,703-705,709-712,715-716,718-723,725,729-733,735-736,738,741,743,745,749,751,754-755,761,763,766-771,773-774,776,778-780,784,786,788,792,795,798-799,807-810,812-813,817-818,820,825,832,835-837,840,842-844,846,848,850-851,853,855-857,860,862,866-867,869-871,873-875,877-879,882-883,885-886,888,891,895-896,899-901,903-905,907,910,913-914,916-917,919-920,922,924-925,928-929,931-936,938,941-942,944-945,947,951,961-963,967,970-971,973-974,978,981,987,990,997,1000,1005,1008,1017,1019-1021,1025-1027,1031-1032,1035-1036
source/src/cip/cipmessagerouter.c            121       0     0%   54-55,57,62,64,69,71,78,85,92,97,99,104,107,111,113,115-116,128,131,137,147-148,151,153-155,157,162-164,166-167,173,175,180-181,183-184,190-191,193,195,198-200,203-204,206,209,214-215,217-219,224-229,232-234,238,241-245,250-251,254-255,278,281,285-287,289-290,292,296,299-302,306-307,309-311,313-315,317-321,324,326,330-337,340-347,349,351-352
source/src/cip/cipqos.c                       55       0     0%   70,74,76,78-81,83-84,87,91,94,97-112,114-115,117,120-121,123-124,140,142,149,156,163,170,177,184,191,199,201,204,207-209,211-212,221-223
source/src/cip/cipstring.c                   124     109    87%   68-70,272,275-276,278,281-284,286,288-289,291
source/src/cip/cipstringi.c                  229       0     0%   16-40,42,44-47,49-67,69,76-85,92,94-134,136,138-151,153,155,157,159-160,162-163,165-175,177-182,184-185,187-202,204-210,212-215,217-221,224,226,229,231-233,235-255,259,261-263,265-272,275-287,291-292
source/src/cip/ciptcpipinterface.c            94       0     0%   322,324,326,328,330,332,334,336,338,340,343,345-346,348,351-352,354-355,357,360,362-363,365,368,370,372-373,375,377,383,385-387,389,393,396-398,401,518,522,524-525,527-528,530-532,535,538-539,541-542,558,560,567,574,581,607,614,625,632,639,646,653,660,667,675,680,683,688,691,693-695,698-700,702,710,712,716-719,721-723,725-730
source/src/cip/ciptypes.c                     26       0     0%   14-15,17,32,35,43-44,46,51-52,54-56,58,61-62,67-69,74-76,81-84
source/src/enet_encap/cpf.c                  282      38    13%   62,65-67,70-72,76-77,80,83-86,88,92-93,99-100,102,105,121,125-127,130,134-135,139-140,142,144,147,149-151,155-156,159-160,162-163,165,167,169,172,174,176,179,181-183,185,188,190-194,198-199,202,204-207,209,212-213,216,232,236-237,239,269-271,274-276,280-286,292-293,296-299,302-305,308-318,320,322,324,341,343,355-356,358-359,367,372-375,377,386,391-394,396-397,399,408,411,413,422,425,427,436,439,441,450,453-458,460,470,473-474,476,478,486,489-490,492,501,504-505,513,516-517,525,528-529,538,541,543,551,554,556-557,560,573,576-578,587,590-591,593,595,603,606-608,610-612,614,624,628-630,632,642,646-647,649,651,655,658-659,662,665,667-668,670-671,673,675-676,678,686-687,690-691,694,696,698,702,707-708,710-712,715,717,719,729-732,734,737,740-742,745,747,754,757-758
source/src/enet_encap/encap.c                352     119    33%   124-125,129,132-133,136-138,143-146,148,151,153,159-161,165-166,168-169,172-174,177,179,183-184,186,193-195,197,200-201,203,205-207,209,211-213,215,217-219,221,223-225,227,229-231,233,236-238,246,253-254,258-259,261-262,265-267,270,272,275-276,278-281,283,285-288,291,294,298-300,302,322,324-325,398,401-402,404,408-409,411-414,416-418,422-424,428,431,433,496,499-501,503,505,510-511,560-561,564,567-570,574-576,582,584-586,588-589,612,615-616,618-623,628,633,641,648,650,655,658,661,664-665,669-670,672,677,680,718-719,721,726,732,736,738,741,748-753,820,822-823,825-828,830-837,840-841,847-849,855-860,863,865-870,872,874,879,881,885,887,889-893,896-897,901-902,904-906,910,915,925-929,931,933
source/src/enet_encap/endianconv.c           132     115    87%   52-56,207-208,210-211,213-216,219,222,251-252
source/src/ports/generic_networkhandler.c
                                             478      34     7%   127-128,132,134,136,139-140,142,145-146,149-152,156-158,161,164,175,183-186,191-193,197-200,205-207,211-212,223,232-233,244,251-252,254,257,260-261,265-267,270,273-274,278-280,284,286-288,293-294,298,300,302,305-306,311-312,317-319,322,325-326,331-333,337,339-341,347-348,355,357-359,363-364,369-371,375-377,381-383,386-387,392-393,395,398-401,420-424,426,428,431,434-435,437-438,440-443,446-448,451,453,463,465,467-469,473,477-478,480-482,484,487-488,490-491,496-497,500-502,506-510,512-513,516,518-519,525-526,532-534,541,544,547-549,553,558-562,565,567-569,573,576-577,584-586,591-593,596,598-603,613-614,616-617,621,632,635,637,642,644-646,649,652-653,660-662,666-668,671,673-678,686-687,689-690,694,702,705,707,712,722-724,728-730,734-736,739,751-754,764,766-767,772,774,776-779,781-783,786,788-790,794-796,799,803,806,809-811,814-816,822-825,827-830,835-837,839-841,843-845,848-849,851,853-854,859-863,865-868,872-874,877,879,881,883,885-890,893-894,897-899,905-906,909,911,914,917,920,922,926-927,931,935,951,953,955-957,960-962,965,968-971,975,977-978,984-986,991-993,995,998-999,1002-1005,1009,1011,1013-1014,1022-1024,1026-1027,1030-1031,1039-1040,1042,1047-1048,1053-1055,1060-1061,1066-1067,1072-1074,1082-1084,1086,1089-1090,1093-1095,1097,1100-1101,1103,1106-1107,1110-1112,1114,1116-1119,1121,1127-1129,1135-1137,1139,1142-1145,1147,1150-1152,1154,1157,1173-1174,1176-1180,1206-1209,1211,1214
source/src/ports/nvdata/conffile.c            32       0     0%   59-64,66-68,72-73,75,77-78,80-84,92,111-113,115-117,130-133,135-136
source/src/ports/nvdata/nvdata.c              22       0     0%   37,39-42,45,63,67,71,74,76,80-81,83,99,104,107,109,111,115-116,119
source/src/ports/nvdata/nvqos.c               37       0     0%   31-33,43-47,49-50,57,71,73,79-81,86-91,96,104-107,109,112-117,121-122,124
source/src/ports/nvdata/nvtcpip.c             17       0     0%   27,29,31,33-34,37,39,45,49,57,59,61-62,65,67,70-71
source/src/ports/POSIX/networkconfig.c       171       0     0%   27,29-31,33-35,37,39-41,43,45-46,49,52,54-58,60-62,66-70,72-73,76-77,79-80,83-84,86,88,91,93,95-97,99,102-105,107-108,110-114,122-123,125-126,128-132,134,137-138,140,153,155-158,160-171,173,176-178,185-189,191-192,194,201,204-207,212-216,218-220,231,233-234,237-240,242-246,248,251,253-254,256,258-260,262-264,267,270-271,273,278,281-282,284-287,289-291,295-296,298-300,302-303,305-306,309-310,312-313,315-316,319,322-323,325-328,330
source/src/ports/POSIX/networkhandler.c       27      10    37%   22-23,25-29,32-33,36,38,57-59,62,66-67
source/src/ports/POSIX/opener_error.c          9       9   100%
source/src/ports/POSIX/sample_application/sampleapplication.c
                                              50       0     0%   40,43,48,53,58,61,64,68,72,76,85,87,117,120,122,124,129-132,134-135,138,142,145,163,166,173,176-177,180,182-184,187,189-190,192-193,196-197,200-202,204-207,209,212
source/src/ports/socket_timer.c               25      25   100%
source/src/utils/doublylinkedlist.c           86      83    96%   48,127,130
source/src/utils/enipmessage.c                 4       4   100%
source/src/utils/random.c                      9       9   100%
source/src/utils/xorshiftrandom.c             13      12    92%   24
source/tests/callback_mock.cpp                31       8    25%   12-14,17-19,21,24-25,27-29,32-33,36-38,41-43,64-66
source/tests/cip/cipcommontests.cpp          107     107   100%
source/tests/cip/cipconnectionobjecttest.cpp
                                             382     382   100%
source/tests/cip/cipelectronickeyformattest.cpp
                                             125     125   100%
source/tests/cip/cipelectronickeytest.cpp
                                              24      24   100%
source/tests/cip/cipepathtest.cpp            633     633   100%
source/tests/cip/cipstringtests.cpp          207     207   100%
source/tests/enet_encap/encaptest.cpp         52      52   100%
source/tests/enet_encap/endianconvtest.cpp
                                             167     167   100%
source/tests/OpENerTests.cpp                  29      11    37%   64,71-73,76,78,84-85,87-88,90-94,96,100,108
source/tests/ports/check_encapsulation_inactivity_tests.cpp
                                             186     186   100%
source/tests/ports/socket_timer_tests.cpp
                                              31      31   100%
source/tests/utils/doublylinkedlistTests.cpp
                                             247     245    99%   43,47
source/tests/utils/randomTests.cpp             9       9   100%
source/tests/utils/xorshiftrandomtests.cpp
                                              13      13   100%
------------------------------------------------------------------------------
TOTAL                                       7788    3357    43%
------------------------------------------------------------------------------
lines: 43.1% (3357 out of 7788)
functions: 65.5% (668 out of 1020)
branches: 19.5% (1265 out of 6502)

📥 Download the detailed HTML report from artifacts.

ℹ️ This PR was tested with standard static analysis. Exhaustive analysis will run on release branches.

@github-actions
Copy link

📊 Coverage Report

Line Coverage: 43.1%

------------------------------------------------------------------------------
                           GCC Code Coverage Report
Directory: .
------------------------------------------------------------------------------
File                                       Lines    Exec  Cover   Missing
------------------------------------------------------------------------------
source/src/cip/appcontype.c                  186       0     0%   96,101-102,104,106,109,111,115-116,118-119,122,124,128-129,131,133,136,138,141,143-146,149-151,154-157,160,163,170,177,179,183-184,187,190,193-199,202-203,205-208,210-211,213-215,217-218,220,222,225-226,235,238,240-241,243-246,248,250-252,254,257-262,265,267,269,273-278,286-287,290,293,295-296,298-301,303,305-307,309,313,320-325,328,330,332,336-341,349-350,353,355,357-360,362-364,368-369,371-373,376,381,383,385-388,390,392,394-395,397,401,403,408,412-420,424-425,428,430-436,438,440-441,443-446,449,454-455,459,462,465
source/src/cip/cipassembly.c                  75       0     0%   49,51,63-64,69,74-75,78,84-85,88-89,91-96,98,101,103,106-108,111,115,119-121,125-126,128,137,142,145,148,154-156,162,166,169,173-175,177-179,181-184,186-189,193-194,196,205,207,210,212,215,218-220,222,224,227,230-232,234,236
source/src/cip/cipclass3connection.c          35       0     0%   19-20,22-23,26,29,31,33-35,38,40,42,46,48,51,53,60-62,64,70-71,74,76,79-83,89,92-95
source/src/cip/cipcommon.c                   801      44     5%   46,48-59,64-65,82-83,85,88,90,92,94,96,99-100,102,109,114-115,118,120-125,127-129,135,140,142,144,146,152,154,156-158,161-165,168,170,173,175-178,182,185-186,190,192,195,199,201,205,209,211,215-218,221-222,226,228,232,234,236,238,244-245,249,251,255,257,264-265,267,270,272,274-276,279,281,284,296,300,309,311,314-316,318,320,322,324,326-327,330,332-333,335-336,345,349,351-352,354,356,358,360-361,366,368,370,373,376,378,380,383,386-387,390-391,393-394,396,398,402,408,410,412-413,418,420,425,427,433,435,442,449,454,456,461,463,465-466,472,478,485,494,496-497,501-509,511,513,515-517,519,521-523,525,531,533,536,541,545,548,550-556,558,561,564,567-568,570-571,573-574,578-579,581,584,586,588-590,592,599,602-607,610,617-618,621-622,624,627,630-634,637,641-643,647-649,653-656,661,669,671-672,689,691-692,709,711-712,714-716,718,720-721,723,725-726,728,730-731,733,735-736,738,740,742,744-749,751,753,755-758,760-761,763,765,768,770,773-774,776-777,779,782-783,785-786,788,790-795,797,799-802,804-806,808-810,812-814,816-818,820,822-823,826,828,830-837,839,841-843,845,847-851,853,856-861,863,870-871,873-874,876,879,883-884,890-893,897-899,903,906,911-914,917,919,923,926,929-931,934,937-939,942,946-948,950-953,955-958,962-964,966-967,970,973-975,978,981-983,986,989-991,994,997-999,1002,1005-1007,1010,1013-1015,1018,1021-1023,1026,1029-1031,1034,1037-1039,1042,1045-1047,1050,1053-1055,1058,1061-1063,1066,1069-1071,1090-1091,1119,1121,1123-1125,1127,1132,1138-1139,1141-1142,1146,1148-1151,1153,1155-1156,1158-1161,1164,1167,1169,1172,1175,1181-1182,1184-1188,1190-1191,1193-1195,1197,1200,1205-1207,1209,1211-1212,1214,1216,1218-1219,1221,1223,1225,1228,1232,1234,1236,1239,1242-1247,1249,1252,1254,1258,1261,1263,1267,1269,1271,1276-1277,1279,1282-1283,1286,1291,1297-1298,1300-1304,1306-1307,1309-1311,1313,1317,1319-1321,1323,1325-1326,1328,1330,1332,1334-1335,1337,1340,1342,1346,1348,1350,1353,1356-1358,1360,1362,1364,1366,1370,1373,1376-1380,1383-1384,1389,1392-1393,1398-1399,1401,1404-1405,1408,1414-1417,1419,1421-1423,1426,1428-1430,1433-1434,1436-1438,1441,1443-1445,1448-1449,1451-1453,1456,1458-1460,1466,1468,1470,1473-1475,1477-1478,1481-1483,1485-1486,1491-1493,1495-1497,1499,1501-1504,1506,1508-1510,1512,1514-1517,1519,1521-1523,1525,1527-1530,1532,1534-1536,1538-1540,1548,1550-1551,1554,1561-1562,1564-1568,1570,1572,1575-1576,1580,1582,1584,1587-1588,1592,1594,1597,1604-1605,1607-1611,1613,1615,1618-1619,1623-1624,1628,1630-1631,1634-1638,1645-1646,1650,1653,1656,1658,1660,1663,1670-1671,1673-1677,1679,1681,1684-1685,1689,1691-1692,1696,1699-1700,1703-1707,1709-1711
source/src/cip/cipconnectionmanager.c        700       0     0%   179-180,182-187,189,191,209,211-212,216,219-220,224,229,232,237,240,248,256,264,269,272,277,280,282,284,286-287,289,303,307,311,313-314,318,320,324,328,333,335-336,341,344,351-352,357,360-361,363,368-370,373,375-376,378,383,385-386,388-389,391-392,428,434-436,438-439,459,465-466,468-469,488,494-495,497-498,515,521-522,524,527-528,530,537,539-540,549-550,552-554,557,560-561,565-566,568,573,576,609,614-615,648,653-654,660,665,667-668,672,674,677,681-684,687-688,695-696,703,706,708-711,720,725-726,730,735-736,739-740,742,748,754-755,759,764-765,767,770-775,777,779,781,784-786,788-792,795-799,806,808,815,818,827,833-837,839,842,848-850,852-853,856-857,860,863-865,867-868,870,874,877,879,881-882,884-885,888,891,898-900,902-903,906-911,918,921-923,925-926,928-932,937,939,941,943-944,946-947,950,953,957,960,962,965,968,971,974,977,980,983,986,988,990,992,995,998,1001,1004,1007,1009,1011,1013,1016,1018,1020,1023-1024,1026,1028,1030-1033,1035,1039,1042-1044,1046-1047,1052-1053,1055,1057,1059-1060,1065-1066,1070,1072,1074-1075,1077,1079,1082-1083,1086-1087,1089,1093,1095-1096,1100,1103,1108,1110,1124,1130,1132-1133,1136,1138-1140,1143-1144,1146-1147,1149,1151-1153,1155,1159,1161,1169-1170,1174-1175,1177-1178,1181-1188,1191-1196,1199-1202,1210,1212,1214,1217,1219,1221,1225,1229,1231,1239,1242,1245-1247,1260,1268,1270-1271,1274,1276-1278,1280-1281,1284-1285,1287-1288,1290,1292-1293,1295-1297,1301-1302,1305-1306,1308-1310,1312-1313,1315,1320,1322,1324-1326,1328,1330,1332-1333,1335,1340,1342,1344-1348,1351,1357,1361,1364-1365,1367,1370-1371,1374-1379,1381,1386-1389,1391,1395,1397,1403-1408,1410,1416-1420,1423,1425,1431,1433,1436,1439-1442,1447,1449-1450,1452-1453,1456,1458-1460,1463-1464,1466-1467,1470,1473-1475,1478,1480-1486,1488-1491,1494-1496,1498,1500,1513-1515,1518-1519,1521,1525,1531-1532,1535-1538,1540-1543,1548,1550-1554,1556-1557,1560,1563,1567,1569,1571,1573,1576,1578,1581,1583-1585,1588,1590,1592,1594,1597,1599,1602-1603,1606,1608-1609,1611,1615-1616,1618,1621,1627,1630,1636,1641,1644-1647,1649-1650,1654-1656,1658,1664-1666,1669,1672-1674,1676-1679,1683,1685,1687,1689,1695-1697,1699,1701,1703-1707,1710-1712,1714,1717,1719,1721,1725-1726,1728,1731-1737,1739-1743,1748-1754,1756,1759-1761,1765,1767,1769,1774,1776,1779,1782-1783,1790,1793-1794,1797,1800,1802-1803,1806,1808,1810,1812,1815-1817,1819-1821,1823,1825-1830,1833,1836-1837,1839,1841-1846,1850,1852,1855,1857,1861-1862,1864-1865,1867-1868,1872,1875,1877,1879-1882,1885,1888,1890,1892-1897,1899,1902-1904,1908,1910,1913,1916-1921,1923,1927,1929-1930,1932,1934-1935,1938-1940
source/src/cip/cipconnectionobject.c         383     229    59%   61-62,67-71,77-81,86,88,107,109,111-112,167,180,248-249,271,274-275,294-296,398,400,403,406-407,409,411,414,417-418,425,427-428,430,432,435,467,478,480,482,484,502,505,508-510,512-514,516-518,520-522,524-526,528,530,532,534,537,540,542,544,546,549,552,554,556,558,561,564-565,579,581,583-584,586,588,590-591,593,611,621,631,633,635,641,652,654-655,657,673,685,697,715-716,739-740,745,774-775,819-820,852-853,873,876-877,879,881-886,888,890-892,894,896-897,899-900,904,908-909,913,917,919,923,925-926,928,930,933,938,940,942,945,950,953-954
source/src/cip/cipdlr.c                       30       0     0%   95,98,100-101,103,105,107-109,111,116-117,119,131,136,138,142,144,151,158,165,172,179,186,193,202,209,216,228,230
source/src/cip/cipelectronickey.c             47      47   100%
source/src/cip/cipepath.c                    297     270    90%   88-90,230-232,276-278,329-330,530,532-535,633,635,637-638,640-641,643,697,701,704-705
source/src/cip/cipethernetlink.c              58       0     0%   198-199,222-223,226,228-229,235-236,246,248,252,272-274,276,283,290,313,320,349,357,364,371,378,385,400-402,406,409,412,424,427,429,432,444,447,449,456,458,460-462,465,467-473,475,477-480,484
source/src/cip/cipidentity.c                 106       0     0%   59-62,65-67,70-72,75-77,80-83,86-88,91-92,96-97,100,104-105,108-110,114,116,118,129-132,142-145,155,157-160,168,172,174,176-177,179,181-182,184-187,191-193,201-203,206,209-210,212,217,219,224,226,233,240,247,252,254,259,262,266,270-271,273,275-278,280-281,295,299-300,302-303,310,317,324,331,338,345,353,355-357,359,362
source/src/cip/cipioconnection.c             432       0     0%   86-88,90-91,94-96,98-99,102,104-105,107-108,111,113,118-120,130-134,136,138,141-145,147-148,154,156-157,160-165,168-169,172,174-175,178,180-182,190,193-194,196-199,201,203,206-207,210-211,215,217,221,223,227-228,233,237-244,246,248-253,256-257,259,261-262,264,266-268,289,292,294-296,300,302,306,308,310-313,316,321-324,329,331,333,338,340,342,347,349-350,355-358,361-363,365,368,370,374,376-377,380,392,395,398,405,407,409-411,417-419,421-422,424-426,428-430,432,435,440,442-444,446-448,452-454,456-458,464-465,467,470,474-476,478,481,488-491,494,496,498,503-504,509-510,514-516,519,523,525-530,532,542,546,548-549,551-552,554-556,558,561,564-566,568,571,575-576,581,592-593,596-602,605-606,613-619,621-623,628-629,632,634,636-637,639,641,643,649-653,655-658,661-665,672,675,684-685,688,693,700-701,703-705,709-712,715-716,718-723,725,729-733,735-736,738,741,743,745,749,751,754-755,761,763,766-771,773-774,776,778-780,784,786,788,792,795,798-799,807-810,812-813,817-818,820,825,832,835-837,840,842-844,846,848,850-851,853,855-857,860,862,866-867,869-871,873-875,877-879,882-883,885-886,888,891,895-896,899-901,903-905,907,910,913-914,916-917,919-920,922,924-925,928-929,931-936,938,941-942,944-945,947,951,961-963,967,970-971,973-974,978,981,987,990,997,1000,1005,1008,1017,1019-1021,1025-1027,1031-1032,1035-1036
source/src/cip/cipmessagerouter.c            121       0     0%   54-55,57,62,64,69,71,78,85,92,97,99,104,107,111,113,115-116,128,131,137,147-148,151,153-155,157,162-164,166-167,173,175,180-181,183-184,190-191,193,195,198-200,203-204,206,209,214-215,217-219,224-229,232-234,238,241-245,250-251,254-255,278,281,285-287,289-290,292,296,299-302,306-307,309-311,313-315,317-321,324,326,330-337,340-347,349,351-352
source/src/cip/cipqos.c                       55       0     0%   70,74,76,78-81,83-84,87,91,94,97-112,114-115,117,120-121,123-124,140,142,149,156,163,170,177,184,191,199,201,204,207-209,211-212,221-223
source/src/cip/cipstring.c                   124     109    87%   68-70,272,275-276,278,281-284,286,288-289,291
source/src/cip/cipstringi.c                  229       0     0%   16-40,42,44-47,49-67,69,76-85,92,94-134,136,138-151,153,155,157,159-160,162-163,165-175,177-182,184-185,187-202,204-210,212-215,217-221,224,226,229,231-233,235-255,259,261-263,265-272,275-287,291-292
source/src/cip/ciptcpipinterface.c            94       0     0%   322,324,326,328,330,332,334,336,338,340,343,345-346,348,351-352,354-355,357,360,362-363,365,368,370,372-373,375,377,383,385-387,389,393,396-398,401,518,522,524-525,527-528,530-532,535,538-539,541-542,558,560,567,574,581,607,614,625,632,639,646,653,660,667,675,680,683,688,691,693-695,698-700,702,710,712,716-719,721-723,725-730
source/src/cip/ciptypes.c                     26       0     0%   14-15,17,32,35,43-44,46,51-52,54-56,58,61-62,67-69,74-76,81-84
source/src/enet_encap/cpf.c                  282      38    13%   62,65-67,70-72,76-77,80,83-86,88,92-93,99-100,102,105,121,125-127,130,134-135,139-140,142,144,147,149-151,155-156,159-160,162-163,165,167,169,172,174,176,179,181-183,185,188,190-194,198-199,202,204-207,209,212-213,216,232,236-237,239,269-271,274-276,280-286,292-293,296-299,302-305,308-318,320,322,324,341,343,355-356,358-359,367,372-375,377,386,391-394,396-397,399,408,411,413,422,425,427,436,439,441,450,453-458,460,470,473-474,476,478,486,489-490,492,501,504-505,513,516-517,525,528-529,538,541,543,551,554,556-557,560,573,576-578,587,590-591,593,595,603,606-608,610-612,614,624,628-630,632,642,646-647,649,651,655,658-659,662,665,667-668,670-671,673,675-676,678,686-687,690-691,694,696,698,702,707-708,710-712,715,717,719,729-732,734,737,740-742,745,747,754,757-758
source/src/enet_encap/encap.c                352     119    33%   124-125,129,132-133,136-138,143-146,148,151,153,159-161,165-166,168-169,172-174,177,179,183-184,186,193-195,197,200-201,203,205-207,209,211-213,215,217-219,221,223-225,227,229-231,233,236-238,246,253-254,258-259,261-262,265-267,270,272,275-276,278-281,283,285-288,291,294,298-300,302,322,324-325,398,401-402,404,408-409,411-414,416-418,422-424,428,431,433,496,499-501,503,505,510-511,560-561,564,567-570,574-576,582,584-586,588-589,612,615-616,618-623,628,633,641,648,650,655,658,661,664-665,669-670,672,677,680,718-719,721,726,732,736,738,741,748-753,820,822-823,825-828,830-837,840-841,847-849,855-860,863,865-870,872,874,879,881,885,887,889-893,896-897,901-902,904-906,910,915,925-929,931,933
source/src/enet_encap/endianconv.c           132     115    87%   52-56,207-208,210-211,213-216,219,222,251-252
source/src/ports/generic_networkhandler.c
                                             477      33     6%   127-128,132,134,136,139-140,142,145-146,149-152,156-158,161,164,175,183-186,191-193,197-200,205-207,211-212,223,232-233,244,251-252,254,257,260-261,265-267,270,273-274,278-280,284,286-288,293-294,298,300,302,305-306,311-312,317-319,322,325-326,331-333,337,339-341,347-348,355,357-359,363-364,369-371,375-377,381-383,386-387,392-393,395,398-401,420-424,426,428,431,434-435,437-438,440-443,446-448,451,453,463,465,467-469,473,477-478,480-482,484,487-488,490-491,496-497,500-502,506-510,512-513,516,518-519,525-526,532-534,541,544,547-549,553,558-562,565,567-569,573,576-577,584-586,591-593,596,598-603,613-614,616-617,621,632,635,637,642,644-646,649,652-653,660-662,666-668,671,673-678,686-687,689-690,694,702,705,707,712,722-724,728-730,734-736,739,751-754,764,766-767,772,774,776-779,781-783,786,788-790,794-796,799,803,806,809-811,814-816,822-825,827-830,835-837,839-841,843-845,848-849,851,853-854,859-863,865-868,872-874,877,879,881,883,885-890,893-894,897-899,905-906,909,911,914,917,920,922,926-927,931,935,951,953,955-957,960-962,965,968-971,975,977-978,984-986,991-993,995,998-999,1002-1005,1009,1011,1013-1014,1022-1024,1026-1027,1030-1031,1039-1040,1042,1047-1048,1053-1055,1060-1061,1066-1067,1072-1074,1082-1084,1086,1089-1090,1093-1095,1097,1100-1101,1103,1106-1107,1110-1112,1114,1116-1119,1121,1127-1129,1135-1137,1139,1142-1145,1147,1150-1152,1154,1157,1173-1174,1176-1180,1211-1214,1216,1219
source/src/ports/nvdata/conffile.c            32       0     0%   59-64,66-68,72-73,75,77-78,80-84,92,111-113,115-117,130-133,135-136
source/src/ports/nvdata/nvdata.c              22       0     0%   37,39-42,45,63,67,71,74,76,80-81,83,99,104,107,109,111,115-116,119
source/src/ports/nvdata/nvqos.c               37       0     0%   31-33,43-47,49-50,57,71,73,79-81,86-91,96,104-107,109,112-117,121-122,124
source/src/ports/nvdata/nvtcpip.c             17       0     0%   27,29,31,33-34,37,39,45,49,57,59,61-62,65,67,70-71
source/src/ports/POSIX/networkconfig.c       171       0     0%   27,29-31,33-35,37,39-41,43,45-46,49,52,54-58,60-62,66-70,72-73,76-77,79-80,83-84,86,88,91,93,95-97,99,102-105,107-108,110-114,122-123,125-126,128-132,134,137-138,140,153,155-158,160-171,173,176-178,185-189,191-192,194,201,204-207,212-216,218-220,231,233-234,237-240,242-246,248,251,253-254,256,258-260,262-264,267,270-271,273,278,281-282,284-287,289-291,295-296,298-300,302-303,305-306,309-310,312-313,315-316,319,322-323,325-328,330
source/src/ports/POSIX/networkhandler.c       27      10    37%   22-23,25-29,32-33,36,38,57-59,62,66-67
source/src/ports/POSIX/opener_error.c          9       9   100%
source/src/ports/POSIX/sample_application/sampleapplication.c
                                              50       0     0%   40,43,48,53,58,61,64,68,72,76,85,87,117,120,122,124,129-132,134-135,138,142,145,163,166,173,176-177,180,182-184,187,189-190,192-193,196-197,200-202,204-207,209,212
source/src/ports/socket_timer.c               25      25   100%
source/src/utils/doublylinkedlist.c           86      83    96%   48,127,130
source/src/utils/enipmessage.c                 4       4   100%
source/src/utils/random.c                      9       9   100%
source/src/utils/xorshiftrandom.c             13      12    92%   24
source/tests/callback_mock.cpp                31       8    25%   12-14,17-19,21,24-25,27-29,32-33,36-38,41-43,64-66
source/tests/cip/cipcommontests.cpp          107     107   100%
source/tests/cip/cipconnectionobjecttest.cpp
                                             382     382   100%
source/tests/cip/cipelectronickeyformattest.cpp
                                             125     125   100%
source/tests/cip/cipelectronickeytest.cpp
                                              24      24   100%
source/tests/cip/cipepathtest.cpp            633     633   100%
source/tests/cip/cipstringtests.cpp          207     207   100%
source/tests/enet_encap/encaptest.cpp         52      52   100%
source/tests/enet_encap/endianconvtest.cpp
                                             167     167   100%
source/tests/OpENerTests.cpp                  29      11    37%   64,71-73,76,78,84-85,87-88,90-94,96,100,108
source/tests/ports/check_encapsulation_inactivity_tests.cpp
                                             186     186   100%
source/tests/ports/socket_timer_tests.cpp
                                              31      31   100%
source/tests/utils/doublylinkedlistTests.cpp
                                             247     245    99%   43,47
source/tests/utils/randomTests.cpp             9       9   100%
source/tests/utils/xorshiftrandomtests.cpp
                                              13      13   100%
------------------------------------------------------------------------------
TOTAL                                       7787    3356    43%
------------------------------------------------------------------------------
lines: 43.1% (3356 out of 7787)
functions: 65.5% (668 out of 1020)
branches: 19.5% (1265 out of 6502)

📥 Download the detailed HTML report from artifacts.

ℹ️ This PR was tested with standard static analysis. Exhaustive analysis will run on release branches.

@github-actions
Copy link

📊 Coverage Report

Line Coverage: 44.4%

------------------------------------------------------------------------------
                           GCC Code Coverage Report
Directory: .
------------------------------------------------------------------------------
File                                       Lines    Exec  Cover   Missing
------------------------------------------------------------------------------
source/src/cip/appcontype.c                  186       0     0%   96,101-102,104,106,109,111,115-116,118-119,122,124,128-129,131,133,136,138,141,143-146,149-151,154-157,160,163,170,177,179,183-184,187,190,193-199,202-203,205-208,210-211,213-215,217-218,220,222,225-226,235,238,240-241,243-246,248,250-252,254,257-262,265,267,269,273-278,286-287,290,293,295-296,298-301,303,305-307,309,313,320-325,328,330,332,336-341,349-350,353,355,357-360,362-364,368-369,371-373,376,381,383,385-388,390,392,394-395,397,401,403,408,412-420,424-425,428,430-436,438,440-441,443-446,449,454-455,459,462,465
source/src/cip/cipassembly.c                  75       0     0%   49,51,63-64,69,74-75,78,84-85,88-89,91-96,98,101,103,106-108,111,115,119-121,125-126,128,137,142,145,148,154-156,162,166,169,173-175,177-179,181-184,186-189,193-194,196,205,207,210,212,215,218-220,222,224,227,230-232,234,236
source/src/cip/cipclass3connection.c          35       0     0%   19-20,22-23,26,29,31,33-35,38,40,42,46,48,51,53,60-62,64,70-71,74,76,79-83,89,92-95
source/src/cip/cipcommon.c                   801      44     5%   46,48-59,64-65,82-83,85,88,90,92,94,96,99-100,102,109,114-115,118,120-125,127-129,135,140,142,144,146,152,154,156-158,161-165,168,170,173,175-178,182,185-186,190,192,195,199,201,205,209,211,215-218,221-222,226,228,232,234,236,238,244-245,249,251,255,257,264-265,267,270,272,274-276,279,281,284,296,300,309,311,314-316,318,320,322,324,326-327,330,332-333,335-336,345,349,351-352,354,356,358,360-361,366,368,370,373,376,378,380,383,386-387,390-391,393-394,396,398,402,408,410,412-413,418,420,425,427,433,435,442,449,454,456,461,463,465-466,472,478,485,494,496-497,501-509,511,513,515-517,519,521-523,525,531,533,536,541,545,548,550-556,558,561,564,567-568,570-571,573-574,578-579,581,584,586,588-590,592,599,602-607,610,617-618,621-622,624,627,630-634,637,641-643,647-649,653-656,661,669,671-672,689,691-692,709,711-712,714-716,718,720-721,723,725-726,728,730-731,733,735-736,738,740,742,744-749,751,753,755-758,760-761,763,765,768,770,773-774,776-777,779,782-783,785-786,788,790-795,797,799-802,804-806,808-810,812-814,816-818,820,822-823,826,828,830-837,839,841-843,845,847-851,853,856-861,863,870-871,873-874,876,879,883-884,890-893,897-899,903,906,911-914,917,919,923,926,929-931,934,937-939,942,946-948,950-953,955-958,962-964,966-967,970,973-975,978,981-983,986,989-991,994,997-999,1002,1005-1007,1010,1013-1015,1018,1021-1023,1026,1029-1031,1034,1037-1039,1042,1045-1047,1050,1053-1055,1058,1061-1063,1066,1069-1071,1090-1091,1119,1121,1123-1125,1127,1132,1138-1139,1141-1142,1146,1148-1151,1153,1155-1156,1158-1161,1164,1167,1169,1172,1175,1181-1182,1184-1188,1190-1191,1193-1195,1197,1200,1205-1207,1209,1211-1212,1214,1216,1218-1219,1221,1223,1225,1228,1232,1234,1236,1239,1242-1247,1249,1252,1254,1258,1261,1263,1267,1269,1271,1276-1277,1279,1282-1283,1286,1291,1297-1298,1300-1304,1306-1307,1309-1311,1313,1317,1319-1321,1323,1325-1326,1328,1330,1332,1334-1335,1337,1340,1342,1346,1348,1350,1353,1356-1358,1360,1362,1364,1366,1370,1373,1376-1380,1383-1384,1389,1392-1393,1398-1399,1401,1404-1405,1408,1414-1417,1419,1421-1423,1426,1428-1430,1433-1434,1436-1438,1441,1443-1445,1448-1449,1451-1453,1456,1458-1460,1466,1468,1470,1473-1475,1477-1478,1481-1483,1485-1486,1491-1493,1495-1497,1499,1501-1504,1506,1508-1510,1512,1514-1517,1519,1521-1523,1525,1527-1530,1532,1534-1536,1538-1540,1548,1550-1551,1554,1561-1562,1564-1568,1570,1572,1575-1576,1580,1582,1584,1587-1588,1592,1594,1597,1604-1605,1607-1611,1613,1615,1618-1619,1623-1624,1628,1630-1631,1634-1638,1645-1646,1650,1653,1656,1658,1660,1663,1670-1671,1673-1677,1679,1681,1684-1685,1689,1691-1692,1696,1699-1700,1703-1707,1709-1711
source/src/cip/cipconnectionmanager.c        700       0     0%   179-180,182-187,189,191,209,211-212,216,219-220,224,229,232,237,240,248,256,264,269,272,277,280,282,284,286-287,289,303,307,311,313-314,318,320,324,328,333,335-336,341,344,351-352,357,360-361,363,368-370,373,375-376,378,383,385-386,388-389,391-392,428,434-436,438-439,459,465-466,468-469,488,494-495,497-498,515,521-522,524,527-528,530,537,539-540,549-550,552-554,557,560-561,565-566,568,573,576,609,614-615,648,653-654,660,665,667-668,672,674,677,681-684,687-688,695-696,703,706,708-711,720,725-726,730,735-736,739-740,742,748,754-755,759,764-765,767,770-775,777,779,781,784-786,788-792,795-799,806,808,815,818,827,833-837,839,842,848-850,852-853,856-857,860,863-865,867-868,870,874,877,879,881-882,884-885,888,891,898-900,902-903,906-911,918,921-923,925-926,928-932,937,939,941,943-944,946-947,950,953,957,960,962,965,968,971,974,977,980,983,986,988,990,992,995,998,1001,1004,1007,1009,1011,1013,1016,1018,1020,1023-1024,1026,1028,1030-1033,1035,1039,1042-1044,1046-1047,1052-1053,1055,1057,1059-1060,1065-1066,1070,1072,1074-1075,1077,1079,1082-1083,1086-1087,1089,1093,1095-1096,1100,1103,1108,1110,1124,1130,1132-1133,1136,1138-1140,1143-1144,1146-1147,1149,1151-1153,1155,1159,1161,1169-1170,1174-1175,1177-1178,1181-1188,1191-1196,1199-1202,1210,1212,1214,1217,1219,1221,1225,1229,1231,1239,1242,1245-1247,1260,1268,1270-1271,1274,1276-1278,1280-1281,1284-1285,1287-1288,1290,1292-1293,1295-1297,1301-1302,1305-1306,1308-1310,1312-1313,1315,1320,1322,1324-1326,1328,1330,1332-1333,1335,1340,1342,1344-1348,1351,1357,1361,1364-1365,1367,1370-1371,1374-1379,1381,1386-1389,1391,1395,1397,1403-1408,1410,1416-1420,1423,1425,1431,1433,1436,1439-1442,1447,1449-1450,1452-1453,1456,1458-1460,1463-1464,1466-1467,1470,1473-1475,1478,1480-1486,1488-1491,1494-1496,1498,1500,1513-1515,1518-1519,1521,1525,1531-1532,1535-1538,1540-1543,1548,1550-1554,1556-1557,1560,1563,1567,1569,1571,1573,1576,1578,1581,1583-1585,1588,1590,1592,1594,1597,1599,1602-1603,1606,1608-1609,1611,1615-1616,1618,1621,1627,1630,1636,1641,1644-1647,1649-1650,1654-1656,1658,1664-1666,1669,1672-1674,1676-1679,1683,1685,1687,1689,1695-1697,1699,1701,1703-1707,1710-1712,1714,1717,1719,1721,1725-1726,1728,1731-1737,1739-1743,1748-1754,1756,1759-1761,1765,1767,1769,1774,1776,1779,1782-1783,1790,1793-1794,1797,1800,1802-1803,1806,1808,1810,1812,1815-1817,1819-1821,1823,1825-1830,1833,1836-1837,1839,1841-1846,1850,1852,1855,1857,1861-1862,1864-1865,1867-1868,1872,1875,1877,1879-1882,1885,1888,1890,1892-1897,1899,1902-1904,1908,1910,1913,1916-1921,1923,1927,1929-1930,1932,1934-1935,1938-1940
source/src/cip/cipconnectionobject.c         383     229    59%   61-62,67-71,77-81,86,88,107,109,111-112,167,180,248-249,271,274-275,294-296,398,400,403,406-407,409,411,414,417-418,425,427-428,430,432,435,467,478,480,482,484,502,505,508-510,512-514,516-518,520-522,524-526,528,530,532,534,537,540,542,544,546,549,552,554,556,558,561,564-565,579,581,583-584,586,588,590-591,593,611,621,631,633,635,641,652,654-655,657,673,685,697,715-716,739-740,745,774-775,819-820,852-853,873,876-877,879,881-886,888,890-892,894,896-897,899-900,904,908-909,913,917,919,923,925-926,928,930,933,938,940,942,945,950,953-954
source/src/cip/cipdlr.c                       30       0     0%   95,98,100-101,103,105,107-109,111,116-117,119,131,136,138,142,144,151,158,165,172,179,186,193,202,209,216,228,230
source/src/cip/cipelectronickey.c             47      47   100%
source/src/cip/cipepath.c                    297     270    90%   88-90,230-232,276-278,329-330,530,532-535,633,635,637-638,640-641,643,697,701,704-705
source/src/cip/cipethernetlink.c              58       0     0%   198-199,222-223,226,228-229,235-236,246,248,252,272-274,276,283,290,313,320,349,357,364,371,378,385,400-402,406,409,412,424,427,429,432,444,447,449,456,458,460-462,465,467-473,475,477-480,484
source/src/cip/cipidentity.c                 106       0     0%   59-62,65-67,70-72,75-77,80-83,86-88,91-92,96-97,100,104-105,108-110,114,116,118,129-132,142-145,155,157-160,168,172,174,176-177,179,181-182,184-187,191-193,201-203,206,209-210,212,217,219,224,226,233,240,247,252,254,259,262,266,270-271,273,275-278,280-281,295,299-300,302-303,310,317,324,331,338,345,353,355-357,359,362
source/src/cip/cipioconnection.c             432       0     0%   86-88,90-91,94-96,98-99,102,104-105,107-108,111,113,118-120,130-134,136,138,141-145,147-148,154,156-157,160-165,168-169,172,174-175,178,180-182,190,193-194,196-199,201,203,206-207,210-211,215,217,221,223,227-228,233,237-244,246,248-253,256-257,259,261-262,264,266-268,289,292,294-296,300,302,306,308,310-313,316,321-324,329,331,333,338,340,342,347,349-350,355-358,361-363,365,368,370,374,376-377,380,392,395,398,405,407,409-411,417-419,421-422,424-426,428-430,432,435,440,442-444,446-448,452-454,456-458,464-465,467,470,474-476,478,481,488-491,494,496,498,503-504,509-510,514-516,519,523,525-530,532,542,546,548-549,551-552,554-556,558,561,564-566,568,571,575-576,581,592-593,596-602,605-606,613-619,621-623,628-629,632,634,636-637,639,641,643,649-653,655-658,661-665,672,675,684-685,688,693,700-701,703-705,709-712,715-716,718-723,725,729-733,735-736,738,741,743,745,749,751,754-755,761,763,766-771,773-774,776,778-780,784,786,788,792,795,798-799,807-810,812-813,817-818,820,825,832,835-837,840,842-844,846,848,850-851,853,855-857,860,862,866-867,869-871,873-875,877-879,882-883,885-886,888,891,895-896,899-901,903-905,907,910,913-914,916-917,919-920,922,924-925,928-929,931-936,938,941-942,944-945,947,951,961-963,967,970-971,973-974,978,981,987,990,997,1000,1005,1008,1017,1019-1021,1025-1027,1031-1032,1035-1036
source/src/cip/cipmessagerouter.c            121       0     0%   54-55,57,62,64,69,71,78,85,92,97,99,104,107,111,113,115-116,128,131,137,147-148,151,153-155,157,162-164,166-167,173,175,180-181,183-184,190-191,193,195,198-200,203-204,206,209,214-215,217-219,224-229,232-234,238,241-245,250-251,254-255,278,281,285-287,289-290,292,296,299-302,306-307,309-311,313-315,317-321,324,326,330-337,340-347,349,351-352
source/src/cip/cipqos.c                       55       0     0%   70,74,76,78-81,83-84,87,91,94,97-112,114-115,117,120-121,123-124,140,142,149,156,163,170,177,184,191,199,201,204,207-209,211-212,221-223
source/src/cip/cipstring.c                   124     109    87%   68-70,272,275-276,278,281-284,286,288-289,291
source/src/cip/cipstringi.c                  229       0     0%   16-40,42,44-47,49-67,69,76-85,92,94-134,136,138-151,153,155,157,159-160,162-163,165-175,177-182,184-185,187-202,204-210,212-215,217-221,224,226,229,231-233,235-255,259,261-263,265-272,275-287,291-292
source/src/cip/ciptcpipinterface.c            94       0     0%   322,324,326,328,330,332,334,336,338,340,343,345-346,348,351-352,354-355,357,360,362-363,365,368,370,372-373,375,377,383,385-387,389,393,396-398,401,518,522,524-525,527-528,530-532,535,538-539,541-542,558,560,567,574,581,607,614,625,632,639,646,653,660,667,675,680,683,688,691,693-695,698-700,702,710,712,716-719,721-723,725-730
source/src/cip/ciptypes.c                     26       0     0%   14-15,17,32,35,43-44,46,51-52,54-56,58,61-62,67-69,74-76,81-84
source/src/enet_encap/cpf.c                  282      38    13%   62,65-67,70-72,76-77,80,83-86,88,92-93,99-100,102,105,121,125-127,130,134-135,139-140,142,144,147,149-151,155-156,159-160,162-163,165,167,169,172,174,176,179,181-183,185,188,190-194,198-199,202,204-207,209,212-213,216,232,236-237,239,269-271,274-276,280-286,292-293,296-299,302-305,308-318,320,322,324,341,343,355-356,358-359,367,372-375,377,386,391-394,396-397,399,408,411,413,422,425,427,436,439,441,450,453-458,460,470,473-474,476,478,486,489-490,492,501,504-505,513,516-517,525,528-529,538,541,543,551,554,556-557,560,573,576-578,587,590-591,593,595,603,606-608,610-612,614,624,628-630,632,642,646-647,649,651,655,658-659,662,665,667-668,670-671,673,675-676,678,686-687,690-691,694,696,698,702,707-708,710-712,715,717,719,729-732,734,737,740-742,745,747,754,757-758
source/src/enet_encap/encap.c                352     119    33%   124-125,129,132-133,136-138,143-146,148,151,153,159-161,165-166,168-169,172-174,177,179,183-184,186,193-195,197,200-201,203,205-207,209,211-213,215,217-219,221,223-225,227,229-231,233,236-238,246,253-254,258-259,261-262,265-267,270,272,275-276,278-281,283,285-288,291,294,298-300,302,322,324-325,398,401-402,404,408-409,411-414,416-418,422-424,428,431,433,496,499-501,503,505,510-511,560-561,564,567-570,574-576,582,584-586,588-589,612,615-616,618-623,628,633,641,648,650,655,658,661,664-665,669-670,672,677,680,718-719,721,726,732,736,738,741,748-753,820,822-823,825-828,830-837,840-841,847-849,855-860,863,865-870,872,874,879,881,885,887,889-893,896-898,902,904-906,910,915,925-929,931,933
source/src/enet_encap/endianconv.c           132     115    87%   52-56,207-208,210-211,213-216,219,222,251-252
source/src/ports/generic_networkhandler.c
                                             478      52    10%   127-128,132,134,136,139-140,142,145-146,149-153,157-158,161,164,175,183-187,192-193,197-201,206-207,211-212,223,232-233,244,251-252,254,257,260-262,266-267,270,273-275,279-280,284,286-289,294,298,300,302,305-306,311-313,318-319,322,325-327,332-333,337,339-342,348,355,357-360,364,369-372,376-377,381-383,386-387,392-393,395,398-401,423-424,426,428,434-435,437-438,440-444,447-448,451,453,463,465,467-469,473,477-478,480-482,484,487-488,490-491,496-498,501-502,506-510,512-513,516,518-519,525-526,532-534,541,544,547-549,553,558-562,565,567-569,573,576-577,584-587,592-593,596,598-603,613-614,616-617,621,632,635,637,642,644-646,649,652-653,660-663,667-668,671,673-678,686-687,689-690,694,702,705,707,712,722-724,728-731,735-736,739,751-754,764,766-767,772,774,776-779,781-783,786-787,789-790,794-796,799,803,806,809-811,814-817,823-825,827-831,836-837,839-841,843-845,848-849,851,853-855,860-863,865-869,873-874,877,879,881,883,885-891,894,897-899,905-906,909,911,914,917,920,922,926-927,931,935,951,953,955-958,961-962,965,968-971,975,977-978,984-986,991-993,995,998-1000,1003-1005,1009,1011,1013-1014,1022-1024,1026-1028,1031-1032,1040-1041,1043,1048-1050,1055-1056,1061-1062,1067-1069,1074-1075,1098,1101-1102,1104,1107-1108,1111-1113,1115,1117-1120,1122,1128-1131,1137-1138,1140,1143-1146,1148-1149,1152-1153,1155,1158,1181,1212-1215,1217,1220
source/src/ports/nvdata/conffile.c            32       0     0%   59-64,66-69,73,75,77-78,80-84,92,111-113,115-117,130-133,135-136
source/src/ports/nvdata/nvdata.c              22       0     0%   37,39-42,45,63,67,71,74,76,80-81,83,99,104,107,109,111,115-116,119
source/src/ports/nvdata/nvqos.c               37       0     0%   31-33,43-47,49-50,57,71,73,79-81,86-91,96,104-107,109,112-117,121-122,124
source/src/ports/nvdata/nvtcpip.c             17       0     0%   27,29,31,33-34,37,39,45,49,57,59,61-62,65,67,70-71
source/src/ports/POSIX/networkconfig.c       171       0     0%   27,29-31,33-35,37,39-41,43,45-46,49,52,54-58,60-62,66-70,72-73,76-77,79-80,83-84,86,88,91,93,95-97,99,102-105,107-108,110-114,122-123,125-126,128-132,134,137-138,140,153,155-158,160-171,173,176-178,185-189,191-192,194,201,204-207,212-216,218-220,231,233-234,237-240,242-246,248,251,253-254,256,258-260,262-264,267,270-271,273,278,281-282,284-287,289-291,295-296,298-300,302-303,305-306,309-310,312-313,315-316,319,322-323,325-328,330
source/src/ports/POSIX/networkhandler.c       27      10    37%   22-23,25-29,32-33,36,38,57-59,62,66-67
source/src/ports/POSIX/opener_error.c          6       6   100%
source/src/ports/POSIX/sample_application/sampleapplication.c
                                              50       0     0%   40,43,48,53,58,61,64,68,72,76,85,87,117,120,122,124,129-132,134-135,138,142,145,163,166,173,176-177,180,182-184,187,189-190,192-193,196-197,200-202,204-207,209,212
source/src/ports/socket_timer.c               25      25   100%
source/src/utils/doublylinkedlist.c           86      83    96%   48,127,130
source/src/utils/enipmessage.c                 4       4   100%
source/src/utils/random.c                      9       9   100%
source/src/utils/xorshiftrandom.c             13      12    92%   24
source/tests/callback_mock.cpp                31       8    25%   12-14,17-19,21,24-25,27-29,32-33,36-38,41-43,64-66
source/tests/cip/cipcommontests.cpp          107     107   100%
source/tests/cip/cipconnectionobjecttest.cpp
                                             382     382   100%
source/tests/cip/cipelectronickeyformattest.cpp
                                             125     125   100%
source/tests/cip/cipelectronickeytest.cpp
                                              24      24   100%
source/tests/cip/cipepathtest.cpp            633     633   100%
source/tests/cip/cipstringtests.cpp          207     207   100%
source/tests/enet_encap/encaptest.cpp         52      52   100%
source/tests/enet_encap/endianconvtest.cpp
                                             167     167   100%
source/tests/OpENerTests.cpp                  29      11    37%   64,71-73,76,78,84-85,87-88,90-94,96,100,108
source/tests/ports/check_encapsulation_inactivity_tests.cpp
                                             186     186   100%
source/tests/ports/socket_timer_tests.cpp
                                              31      31   100%
source/tests/security_tests.cpp              148     147    99%   155
source/tests/utils/doublylinkedlistTests.cpp
                                             247     245    99%   43,47
source/tests/utils/randomTests.cpp             9       9   100%
source/tests/utils/xorshiftrandomtests.cpp
                                              13      13   100%
------------------------------------------------------------------------------
TOTAL                                       7933    3519    44%
------------------------------------------------------------------------------
lines: 44.4% (3519 out of 7933)
functions: 67.0% (710 out of 1059)
branches: 20.0% (1326 out of 6620)

📥 Download the detailed HTML report from artifacts.

ℹ️ This PR was tested with standard static analysis. Exhaustive analysis will run on release branches.

@github-actions
Copy link

📊 Coverage Report

Line Coverage: 44.4%

------------------------------------------------------------------------------
                           GCC Code Coverage Report
Directory: .
------------------------------------------------------------------------------
File                                       Lines    Exec  Cover   Missing
------------------------------------------------------------------------------
source/src/cip/appcontype.c                  186       0     0%   96,101-102,104,106,109,111,115-116,118-119,122,124,128-129,131,133,136,138,141,143-146,149-151,154-157,160,163,170,177,179,183-184,187,190,193-199,202-203,205-208,210-211,213-215,217-218,220,222,225-226,235,238,240-241,243-246,248,250-252,254,257-262,265,267,269,273-278,286-287,290,293,295-296,298-301,303,305-307,309,313,320-325,328,330,332,336-341,349-350,353,355,357-360,362-364,368-369,371-373,376,381,383,385-388,390,392,394-395,397,401,403,408,412-420,424-425,428,430-436,438,440-441,443-446,449,454-455,459,462,465
source/src/cip/cipassembly.c                  75       0     0%   49,51,63-64,69,74-75,78,84-85,88-89,91-96,98,101,103,106-108,111,115,119-121,125-126,128,137,142,145,148,154-156,162,166,169,173-175,177-179,181-184,186-189,193-194,196,205,207,210,212,215,218-220,222,224,227,230-232,234,236
source/src/cip/cipclass3connection.c          35       0     0%   19-20,22-23,26,29,31,33-35,38,40,42,46,48,51,53,60-62,64,70-71,74,76,79-83,89,92-95
source/src/cip/cipcommon.c                   801      44     5%   46,48-59,64-65,82-83,85,88,90,92,94,96,99-100,102,109,114-115,118,120-125,127-129,135,140,142,144,146,152,154,156-158,161-165,168,170,173,175-178,182,185-186,190,192,195,199,201,205,209,211,215-218,221-222,226,228,232,234,236,238,244-245,249,251,255,257,264-265,267,270,272,274-276,279,281,284,296,300,309,311,314-316,318,320,322,324,326-327,330,332-333,335-336,345,349,351-352,354,356,358,360-361,366,368,370,373,376,378,380,383,386-387,390-391,393-394,396,398,402,408,410,412-413,418,420,425,427,433,435,442,449,454,456,461,463,465-466,472,478,485,494,496-497,501-509,511,513,515-517,519,521-523,525,531,533,536,541,545,548,550-556,558,561,564,567-568,570-571,573-574,578-579,581,584,586,588-590,592,599,602-607,610,617-618,621-622,624,627,630-634,637,641-643,647-649,653-656,661,669,671-672,689,691-692,709,711-712,714-716,718,720-721,723,725-726,728,730-731,733,735-736,738,740,742,744-749,751,753,755-758,760-761,763,765,768,770,773-774,776-777,779,782-783,785-786,788,790-795,797,799-802,804-806,808-810,812-814,816-818,820,822-823,826,828,830-837,839,841-843,845,847-851,853,856-861,863,870-871,873-874,876,879,883-884,890-893,897-899,903,906,911-914,917,919,923,926,929-931,934,937-939,942,946-948,950-953,955-958,962-964,966-967,970,973-975,978,981-983,986,989-991,994,997-999,1002,1005-1007,1010,1013-1015,1018,1021-1023,1026,1029-1031,1034,1037-1039,1042,1045-1047,1050,1053-1055,1058,1061-1063,1066,1069-1071,1090-1091,1119,1121,1123-1125,1127,1132,1138-1139,1141-1142,1146,1148-1151,1153,1155-1156,1158-1161,1164,1167,1169,1172,1175,1181-1182,1184-1188,1190-1191,1193-1195,1197,1200,1205-1207,1209,1211-1212,1214,1216,1218-1219,1221,1223,1225,1228,1232,1234,1236,1239,1242-1247,1249,1252,1254,1258,1261,1263,1267,1269,1271,1276-1277,1279,1282-1283,1286,1291,1297-1298,1300-1304,1306-1307,1309-1311,1313,1317,1319-1321,1323,1325-1326,1328,1330,1332,1334-1335,1337,1340,1342,1346,1348,1350,1353,1356-1358,1360,1362,1364,1366,1370,1373,1376-1380,1383-1384,1389,1392-1393,1398-1399,1401,1404-1405,1408,1414-1417,1419,1421-1423,1426,1428-1430,1433-1434,1436-1438,1441,1443-1445,1448-1449,1451-1453,1456,1458-1460,1466,1468,1470,1473-1475,1477-1478,1481-1483,1485-1486,1491-1493,1495-1497,1499,1501-1504,1506,1508-1510,1512,1514-1517,1519,1521-1523,1525,1527-1530,1532,1534-1536,1538-1540,1548,1550-1551,1554,1561-1562,1564-1568,1570,1572,1575-1576,1580,1582,1584,1587-1588,1592,1594,1597,1604-1605,1607-1611,1613,1615,1618-1619,1623-1624,1628,1630-1631,1634-1638,1645-1646,1650,1653,1656,1658,1660,1663,1670-1671,1673-1677,1679,1681,1684-1685,1689,1691-1692,1696,1699-1700,1703-1707,1709-1711
source/src/cip/cipconnectionmanager.c        700       0     0%   179-180,182-187,189,191,209,211-212,216,219-220,224,229,232,237,240,248,256,264,269,272,277,280,282,284,286-287,289,303,307,311,313-314,318,320,324,328,333,335-336,341,344,351-352,357,360-361,363,368-370,373,375-376,378,383,385-386,388-389,391-392,428,434-436,438-439,459,465-466,468-469,488,494-495,497-498,515,521-522,524,527-528,530,537,539-540,549-550,552-554,557,560-561,565-566,568,573,576,609,614-615,648,653-654,660,665,667-668,672,674,677,681-684,687-688,695-696,703,706,708-711,720,725-726,730,735-736,739-740,742,748,754-755,759,764-765,767,770-775,777,779,781,784-786,788-792,795-799,806,808,815,818,827,833-837,839,842,848-850,852-853,856-857,860,863-865,867-868,870,874,877,879,881-882,884-885,888,891,898-900,902-903,906-911,918,921-923,925-926,928-932,937,939,941,943-944,946-947,950,953,957,960,962,965,968,971,974,977,980,983,986,988,990,992,995,998,1001,1004,1007,1009,1011,1013,1016,1018,1020,1023-1024,1026,1028,1030-1033,1035,1039,1042-1044,1046-1047,1052-1053,1055,1057,1059-1060,1065-1066,1070,1072,1074-1075,1077,1079,1082-1083,1086-1087,1089,1093,1095-1096,1100,1103,1108,1110,1124,1130,1132-1133,1136,1138-1140,1143-1144,1146-1147,1149,1151-1153,1155,1159,1161,1169-1170,1174-1175,1177-1178,1181-1188,1191-1196,1199-1202,1210,1212,1214,1217,1219,1221,1225,1229,1231,1239,1242,1245-1247,1260,1268,1270-1271,1274,1276-1278,1280-1281,1284-1285,1287-1288,1290,1292-1293,1295-1297,1301-1302,1305-1306,1308-1310,1312-1313,1315,1320,1322,1324-1326,1328,1330,1332-1333,1335,1340,1342,1344-1348,1351,1357,1361,1364-1365,1367,1370-1371,1374-1379,1381,1386-1389,1391,1395,1397,1403-1408,1410,1416-1420,1423,1425,1431,1433,1436,1439-1442,1447,1449-1450,1452-1453,1456,1458-1460,1463-1464,1466-1467,1470,1473-1475,1478,1480-1486,1488-1491,1494-1496,1498,1500,1513-1515,1518-1519,1521,1525,1531-1532,1535-1538,1540-1543,1548,1550-1554,1556-1557,1560,1563,1567,1569,1571,1573,1576,1578,1581,1583-1585,1588,1590,1592,1594,1597,1599,1602-1603,1606,1608-1609,1611,1615-1616,1618,1621,1627,1630,1636,1641,1644-1647,1649-1650,1654-1656,1658,1664-1666,1669,1672-1674,1676-1679,1683,1685,1687,1689,1695-1697,1699,1701,1703-1707,1710-1712,1714,1717,1719,1721,1725-1726,1728,1731-1737,1739-1743,1748-1754,1756,1759-1761,1765,1767,1769,1774,1776,1779,1782-1783,1790,1793-1794,1797,1800,1802-1803,1806,1808,1810,1812,1815-1817,1819-1821,1823,1825-1830,1833,1836-1837,1839,1841-1846,1850,1852,1855,1857,1861-1862,1864-1865,1867-1868,1872,1875,1877,1879-1882,1885,1888,1890,1892-1897,1899,1902-1904,1908,1910,1913,1916-1921,1923,1927,1929-1930,1932,1934-1935,1938-1940
source/src/cip/cipconnectionobject.c         383     229    59%   61-62,67-71,77-81,86,88,107,109,111-112,167,180,248-249,271,274-275,294-296,398,400,403,406-407,409,411,414,417-418,425,427-428,430,432,435,467,478,480,482,484,502,505,508-510,512-514,516-518,520-522,524-526,528,530,532,534,537,540,542,544,546,549,552,554,556,558,561,564-565,579,581,583-584,586,588,590-591,593,611,621,631,633,635,641,652,654-655,657,673,685,697,715-716,739-740,745,774-775,819-820,852-853,873,876-877,879,881-886,888,890-892,894,896-897,899-900,904,908-909,913,917,919,923,925-926,928,930,933,938,940,942,945,950,953-954
source/src/cip/cipdlr.c                       30       0     0%   95,98,100-101,103,105,107-109,111,116-117,119,131,136,138,142,144,151,158,165,172,179,186,193,202,209,216,228,230
source/src/cip/cipelectronickey.c             47      47   100%
source/src/cip/cipepath.c                    297     270    90%   88-90,230-232,276-278,329-330,530,532-535,633,635,637-638,640-641,643,697,701,704-705
source/src/cip/cipethernetlink.c              58       0     0%   198-199,222-223,226,228-229,235-236,246,248,252,272-274,276,283,290,313,320,349,357,364,371,378,385,400-402,406,409,412,424,427,429,432,444,447,449,456,458,460-462,465,467-473,475,477-480,484
source/src/cip/cipidentity.c                 106       0     0%   59-62,65-67,70-72,75-77,80-83,86-88,91-92,96-97,100,104-105,108-110,114,116,118,129-132,142-145,155,157-160,168,172,174,176-177,179,181-182,184-187,191-193,201-203,206,209-210,212,217,219,224,226,233,240,247,252,254,259,262,266,270-271,273,275-278,280-281,295,299-300,302-303,310,317,324,331,338,345,353,355-357,359,362
source/src/cip/cipioconnection.c             432       0     0%   86-88,90-91,94-96,98-99,102,104-105,107-108,111,113,118-120,130-134,136,138,141-145,147-148,154,156-157,160-165,168-169,172,174-175,178,180-182,190,193-194,196-199,201,203,206-207,210-211,215,217,221,223,227-228,233,237-244,246,248-253,256-257,259,261-262,264,266-268,289,292,294-296,300,302,306,308,310-313,316,321-324,329,331,333,338,340,342,347,349-350,355-358,361-363,365,368,370,374,376-377,380,392,395,398,405,407,409-411,417-419,421-422,424-426,428-430,432,435,440,442-444,446-448,452-454,456-458,464-465,467,470,474-476,478,481,488-491,494,496,498,503-504,509-510,514-516,519,523,525-530,532,542,546,548-549,551-552,554-556,558,561,564-566,568,571,575-576,581,592-593,596-602,605-606,613-619,621-623,628-629,632,634,636-637,639,641,643,649-653,655-658,661-665,672,675,684-685,688,693,700-701,703-705,709-712,715-716,718-723,725,729-733,735-736,738,741,743,745,749,751,754-755,761,763,766-771,773-774,776,778-780,784,786,788,792,795,798-799,807-810,812-813,817-818,820,825,832,835-837,840,842-844,846,848,850-851,853,855-857,860,862,866-867,869-871,873-875,877-879,882-883,885-886,888,891,895-896,899-901,903-905,907,910,913-914,916-917,919-920,922,924-925,928-929,931-936,938,941-942,944-945,947,951,961-963,967,970-971,973-974,978,981,987,990,997,1000,1005,1008,1017,1019-1021,1025-1027,1031-1032,1035-1036
source/src/cip/cipmessagerouter.c            121       0     0%   54-55,57,62,64,69,71,78,85,92,97,99,104,107,111,113,115-116,128,131,137,147-148,151,153-155,157,162-164,166-167,173,175,180-181,183-184,190-191,193,195,198-200,203-204,206,209,214-215,217-219,224-229,232-234,238,241-245,250-251,254-255,278,281,285-287,289-290,292,296,299-302,306-307,309-311,313-315,317-321,324,326,330-337,340-347,349,351-352
source/src/cip/cipqos.c                       55       0     0%   70,74,76,78-81,83-84,87,91,94,97-112,114-115,117,120-121,123-124,140,142,149,156,163,170,177,184,191,199,201,204,207-209,211-212,221-223
source/src/cip/cipstring.c                   124     109    87%   68-70,272,275-276,278,281-284,286,288-289,291
source/src/cip/cipstringi.c                  229       0     0%   16-40,42,44-47,49-67,69,76-85,92,94-134,136,138-151,153,155,157,159-160,162-163,165-175,177-182,184-185,187-202,204-210,212-215,217-221,224,226,229,231-233,235-255,259,261-263,265-272,275-287,291-292
source/src/cip/ciptcpipinterface.c            94       0     0%   322,324,326,328,330,332,334,336,338,340,343,345-346,348,351-352,354-355,357,360,362-363,365,368,370,372-373,375,377,383,385-387,389,393,396-398,401,518,522,524-525,527-528,530-532,535,538-539,541-542,558,560,567,574,581,607,614,625,632,639,646,653,660,667,675,680,683,688,691,693-695,698-700,702,710,712,716-719,721-723,725-730
source/src/cip/ciptypes.c                     26       0     0%   14-15,17,32,35,43-44,46,51-52,54-56,58,61-62,67-69,74-76,81-84
source/src/enet_encap/cpf.c                  282      38    13%   62,65-67,70-72,76-77,80,83-86,88,92-93,99-100,102,105,121,125-127,130,134-135,139-140,142,144,147,149-151,155-156,159-160,162-163,165,167,169,172,174,176,179,181-183,185,188,190-194,198-199,202,204-207,209,212-213,216,232,236-237,239,269-271,274-276,280-286,292-293,296-299,302-305,308-318,320,322,324,341,343,355-356,358-359,367,372-375,377,386,391-394,396-397,399,408,411,413,422,425,427,436,439,441,450,453-458,460,470,473-474,476,478,486,489-490,492,501,504-505,513,516-517,525,528-529,538,541,543,551,554,556-557,560,573,576-578,587,590-591,593,595,603,606-608,610-612,614,624,628-630,632,642,646-647,649,651,655,658-659,662,665,667-668,670-671,673,675-676,678,686-687,690-691,694,696,698,702,707-708,710-712,715,717,719,729-732,734,737,740-742,745,747,754,757-758
source/src/enet_encap/encap.c                352     119    33%   124-125,129,132-133,136-138,143-146,148,151,153,159-161,165-166,168-169,172-174,177,179,183-184,186,193-195,197,200-201,203,205-207,209,211-213,215,217-219,221,223-225,227,229-231,233,236-238,246,253-254,258-259,261-262,265-267,270,272,275-276,278-281,283,285-288,291,294,298-300,302,322,324-325,398,401-402,404,408-409,411-414,416-418,422-424,428,431,433,496,499-501,503,505,510-511,560-561,564,567-570,574-576,582,584-586,588-589,612,615-616,618-623,628,633,641,648,650,655,658,661,664-665,669-670,672,677,680,718-719,721,726,732,736,738,741,748-753,820,822-823,825-828,830-837,840-841,847-849,855-860,863,865-870,872,874,879,881,885,887,889-893,896-898,902,904-906,910,915,925-929,931,933
source/src/enet_encap/endianconv.c           132     115    87%   52-56,207-208,210-211,213-216,219,222,251-252
source/src/ports/generic_networkhandler.c
                                             478      52    10%   127-128,132,134,136,139-140,142,145-146,149-153,157-158,161,164,175,183-187,192-193,197-201,206-207,211-212,223,232-233,244,251-252,254,257,260-262,266-267,270,273-275,279-280,284,286-289,294,298,300,302,305-306,311-313,318-319,322,325-327,332-333,337,339-342,348,355,357-360,364,369-372,376-377,381-383,386-387,392-393,395,398-401,423-424,426,428,434-435,437-438,440-444,447-448,451,453,463,465,467-469,473,477-478,480-482,484,487-488,490-491,496-498,501-502,506-510,512-513,516,518-519,525-526,532-534,541,544,547-549,553,558-562,565,567-569,573,576-577,584-587,592-593,596,598-603,613-614,616-617,621,632,635,637,642,644-646,649,652-653,660-663,667-668,671,673-678,686-687,689-690,694,702,705,707,712,722-724,728-731,735-736,739,751-754,764,766-767,772,774,776-779,781-783,786-787,789-790,794-796,799,803,806,809-811,814-817,823-825,827-831,836-837,839-841,843-845,848-849,851,853-855,860-863,865-869,873-874,877,879,881,883,885-891,894,897-899,905-906,909,911,914,917,920,922,926-927,931,935,951,953,955-958,961-962,965,968-971,975,977-978,984-986,991-993,995,998-1000,1003-1005,1009,1011,1013-1014,1022-1024,1026-1028,1031-1032,1040-1041,1043,1048-1050,1055-1056,1061-1062,1067-1069,1074-1075,1098,1101-1102,1104,1107-1108,1111-1113,1115,1117-1120,1122,1128-1131,1137-1138,1140,1143-1146,1148-1149,1152-1153,1155,1158,1181,1212-1215,1217,1220
source/src/ports/nvdata/conffile.c            32       0     0%   59-64,66-69,73,75,77-78,80-84,92,111-113,115-117,130-133,135-136
source/src/ports/nvdata/nvdata.c              22       0     0%   37,39-42,45,63,67,71,74,76,80-81,83,99,104,107,109,111,115-116,119
source/src/ports/nvdata/nvqos.c               37       0     0%   31-33,43-47,49-50,57,71,73,79-81,86-91,96,104-107,109,112-117,121-122,124
source/src/ports/nvdata/nvtcpip.c             17       0     0%   27,29,31,33-34,37,39,45,49,57,59,61-62,65,67,70-71
source/src/ports/POSIX/networkconfig.c       171       0     0%   27,29-31,33-35,37,39-41,43,45-46,49,52,54-58,60-62,66-70,72-73,76-77,79-80,83-84,86,88,91,93,95-97,99,102-105,107-108,110-114,122-123,125-126,128-132,134,137-138,140,153,155-158,160-171,173,176-178,185-189,191-192,194,201,204-207,212-216,218-220,231,233-234,237-240,242-246,248,251,253-254,256,258-260,262-264,267,270-271,273,278,281-282,284-287,289-291,295-296,298-300,302-303,305-306,309-310,312-313,315-316,319,322-323,325-328,330
source/src/ports/POSIX/networkhandler.c       27      10    37%   22-23,25-29,32-33,36,38,57-59,62,66-67
source/src/ports/POSIX/opener_error.c          6       6   100%
source/src/ports/POSIX/sample_application/sampleapplication.c
                                              50       0     0%   40,43,48,53,58,61,64,68,72,76,85,87,117,120,122,124,129-132,134-135,138,142,145,163,166,173,176-177,180,182-184,187,189-190,192-193,196-197,200-202,204-207,209,212
source/src/ports/socket_timer.c               25      25   100%
source/src/utils/doublylinkedlist.c           86      83    96%   48,127,130
source/src/utils/enipmessage.c                 4       4   100%
source/src/utils/random.c                      9       9   100%
source/src/utils/xorshiftrandom.c             13      12    92%   21
source/tests/callback_mock.cpp                31       8    25%   12-14,17-19,21,24-25,27-29,32-33,36-38,41-43,64-66
source/tests/cip/cipcommontests.cpp          107     107   100%
source/tests/cip/cipconnectionobjecttest.cpp
                                             382     382   100%
source/tests/cip/cipelectronickeyformattest.cpp
                                             125     125   100%
source/tests/cip/cipelectronickeytest.cpp
                                              24      24   100%
source/tests/cip/cipepathtest.cpp            633     633   100%
source/tests/cip/cipstringtests.cpp          207     207   100%
source/tests/enet_encap/encaptest.cpp         52      52   100%
source/tests/enet_encap/endianconvtest.cpp
                                             167     167   100%
source/tests/OpENerTests.cpp                  29      11    37%   64,71-73,76,78,84-85,87-88,90-94,96,100,108
source/tests/ports/check_encapsulation_inactivity_tests.cpp
                                             186     186   100%
source/tests/ports/socket_timer_tests.cpp
                                              31      31   100%
source/tests/security_tests.cpp              148     147    99%   155
source/tests/utils/doublylinkedlistTests.cpp
                                             247     245    99%   43,47
source/tests/utils/randomTests.cpp             8       8   100%
source/tests/utils/xorshiftrandomtests.cpp
                                              15      15   100%
------------------------------------------------------------------------------
TOTAL                                       7934    3520    44%
------------------------------------------------------------------------------
lines: 44.4% (3520 out of 7934)
functions: 67.0% (710 out of 1059)
branches: 20.0% (1326 out of 6620)

📥 Download the detailed HTML report from artifacts.

ℹ️ This PR was tested with standard static analysis. Exhaustive analysis will run on release branches.

@github-actions
Copy link

📊 Coverage Report

Line Coverage: 44.4%

------------------------------------------------------------------------------
                           GCC Code Coverage Report
Directory: .
------------------------------------------------------------------------------
File                                       Lines    Exec  Cover   Missing
------------------------------------------------------------------------------
source/src/cip/appcontype.c                  186       0     0%   96,101-102,104,106,109,111,115-116,118-119,122,124,128-129,131,133,136,138,141,143-146,149-151,154-157,160,163,170,177,179,183-184,187,190,193-199,202-203,205-208,210-211,213-215,217-218,220,222,225-226,235,238,240-241,243-246,248,250-252,254,257-262,265,267,269,273-278,286-287,290,293,295-296,298-301,303,305-307,309,313,320-325,328,330,332,336-341,349-350,353,355,357-360,362-364,368-369,371-373,376,381,383,385-388,390,392,394-395,397,401,403,408,412-420,424-425,428,430-436,438,440-441,443-446,449,454-455,459,462,465
source/src/cip/cipassembly.c                  75       0     0%   49,51,63-64,69,74-75,78,84-85,88-89,91-96,98,101,103,106-108,111,115,119-121,125-126,128,137,142,145,148,154-156,162,166,169,173-175,177-179,181-184,186-189,193-194,196,205,207,210,212,215,218-220,222,224,227,230-232,234,236
source/src/cip/cipclass3connection.c          35       0     0%   19-20,22-23,26,29,31,33-35,38,40,42,46,48,51,53,60-62,64,70-71,74,76,79-83,89,92-95
source/src/cip/cipcommon.c                   801      44     5%   46,48-59,64-65,82-83,85,88,90,92,94,96,99-100,102,109,114-115,118,120-125,127-129,135,140,142,144,146,152,154,156-158,161-165,168,170,173,175-178,182,185-186,190,192,195,199,201,205,209,211,215-218,221-222,226,228,232,234,236,238,244-245,249,251,255,257,264-265,267,270,272,274-276,279,281,284,296,300,309,311,314-316,318,320,322,324,326-327,330,332-333,335-336,345,349,351-352,354,356,358,360-361,366,368,370,373,376,378,380,383,386-387,390-391,393-394,396,398,402,408,410,412-413,418,420,425,427,433,435,442,449,454,456,461,463,465-466,472,478,485,494,496-497,501-509,511,513,515-517,519,521-523,525,531,533,536,541,545,548,550-556,558,561,564,567-568,570-571,573-574,578-579,581,584,586,588-590,592,599,602-607,610,617-618,621-622,624,627,630-634,637,641-643,647-649,653-656,661,669,671-672,689,691-692,709,711-712,714-716,718,720-721,723,725-726,728,730-731,733,735-736,738,740,742,744-749,751,753,755-758,760-761,763,765,768,770,773-774,776-777,779,782-783,785-786,788,790-795,797,799-802,804-806,808-810,812-814,816-818,820,822-823,826,828,830-837,839,841-843,845,847-851,853,856-861,863,870-871,873-874,876,879,883-884,890-893,897-899,903,906,911-914,917,919,923,926,929-931,934,937-939,942,946-948,950-953,955-958,962-964,966-967,970,973-975,978,981-983,986,989-991,994,997-999,1002,1005-1007,1010,1013-1015,1018,1021-1023,1026,1029-1031,1034,1037-1039,1042,1045-1047,1050,1053-1055,1058,1061-1063,1066,1069-1071,1090-1091,1119,1121,1123-1125,1127,1132,1138-1139,1141-1142,1146,1148-1151,1153,1155-1156,1158-1161,1164,1167,1169,1172,1175,1181-1182,1184-1188,1190-1191,1193-1195,1197,1200,1205-1207,1209,1211-1212,1214,1216,1218-1219,1221,1223,1225,1228,1232,1234,1236,1239,1242-1247,1249,1252,1254,1258,1261,1263,1267,1269,1271,1276-1277,1279,1282-1283,1286,1291,1297-1298,1300-1304,1306-1307,1309-1311,1313,1317,1319-1321,1323,1325-1326,1328,1330,1332,1334-1335,1337,1340,1342,1346,1348,1350,1353,1356-1358,1360,1362,1364,1366,1370,1373,1376-1380,1383-1384,1389,1392-1393,1398-1399,1401,1404-1405,1408,1414-1417,1419,1421-1423,1426,1428-1430,1433-1434,1436-1438,1441,1443-1445,1448-1449,1451-1453,1456,1458-1460,1466,1468,1470,1473-1475,1477-1478,1481-1483,1485-1486,1491-1493,1495-1497,1499,1501-1504,1506,1508-1510,1512,1514-1517,1519,1521-1523,1525,1527-1530,1532,1534-1536,1538-1540,1548,1550-1551,1554,1561-1562,1564-1568,1570,1572,1575-1576,1580,1582,1584,1587-1588,1592,1594,1597,1604-1605,1607-1611,1613,1615,1618-1619,1623-1624,1628,1630-1631,1634-1638,1645-1646,1650,1653,1656,1658,1660,1663,1670-1671,1673-1677,1679,1681,1684-1685,1689,1691-1692,1696,1699-1700,1703-1707,1709-1711
source/src/cip/cipconnectionmanager.c        700       0     0%   179-180,182-187,189,191,209,211-212,216,219-220,224,229,232,237,240,248,256,264,269,272,277,280,282,284,286-287,289,303,307,311,313-314,318,320,324,328,333,335-336,341,344,351-352,357,360-361,363,368-370,373,375-376,378,383,385-386,388-389,391-392,428,434-436,438-439,459,465-466,468-469,488,494-495,497-498,515,521-522,524,527-528,530,537,539-540,549-550,552-554,557,560-561,565-566,568,573,576,609,614-615,648,653-654,660,665,667-668,672,674,677,681-684,687-688,695-696,703,706,708-711,720,725-726,730,735-736,739-740,742,748,754-755,759,764-765,767,770-775,777,779,781,784-786,788-792,795-799,806,808,815,818,827,833-837,839,842,848-850,852-853,856-857,860,863-865,867-868,870,874,877,879,881-882,884-885,888,891,898-900,902-903,906-911,918,921-923,925-926,928-932,937,939,941,943-944,946-947,950,953,957,960,962,965,968,971,974,977,980,983,986,988,990,992,995,998,1001,1004,1007,1009,1011,1013,1016,1018,1020,1023-1024,1026,1028,1030-1033,1035,1039,1042-1044,1046-1047,1052-1053,1055,1057,1059-1060,1065-1066,1070,1072,1074-1075,1077,1079,1082-1083,1086-1087,1089,1093,1095-1096,1100,1103,1108,1110,1124,1130,1132-1133,1136,1138-1140,1143-1144,1146-1147,1149,1151-1153,1155,1159,1161,1169-1170,1174-1175,1177-1178,1181-1188,1191-1196,1199-1202,1210,1212,1214,1217,1219,1221,1225,1229,1231,1239,1242,1245-1247,1260,1268,1270-1271,1274,1276-1278,1280-1281,1284-1285,1287-1288,1290,1292-1293,1295-1297,1301-1302,1305-1306,1308-1310,1312-1313,1315,1320,1322,1324-1326,1328,1330,1332-1333,1335,1340,1342,1344-1348,1351,1357,1361,1364-1365,1367,1370-1371,1374-1379,1381,1386-1389,1391,1395,1397,1403-1408,1410,1416-1420,1423,1425,1431,1433,1436,1439-1442,1447,1449-1450,1452-1453,1456,1458-1460,1463-1464,1466-1467,1470,1473-1475,1478,1480-1486,1488-1491,1494-1496,1498,1500,1513-1515,1518-1519,1521,1525,1531-1532,1535-1538,1540-1543,1548,1550-1554,1556-1557,1560,1563,1567,1569,1571,1573,1576,1578,1581,1583-1585,1588,1590,1592,1594,1597,1599,1602-1603,1606,1608-1609,1611,1615-1616,1618,1621,1627,1630,1636,1641,1644-1647,1649-1650,1654-1656,1658,1664-1666,1669,1672-1674,1676-1679,1683,1685,1687,1689,1695-1697,1699,1701,1703-1707,1710-1712,1714,1717,1719,1721,1725-1726,1728,1731-1737,1739-1743,1748-1754,1756,1759-1761,1765,1767,1769,1774,1776,1779,1782-1783,1790,1793-1794,1797,1800,1802-1803,1806,1808,1810,1812,1815-1817,1819-1821,1823,1825-1830,1833,1836-1837,1839,1841-1846,1850,1852,1855,1857,1861-1862,1864-1865,1867-1868,1872,1875,1877,1879-1882,1885,1888,1890,1892-1897,1899,1902-1904,1908,1910,1913,1916-1921,1923,1927,1929-1930,1932,1934-1935,1938-1940
source/src/cip/cipconnectionobject.c         383     229    59%   61-62,67-71,77-81,86,88,107,109,111-112,167,180,248-249,271,274-275,294-296,398,400,403,406-407,409,411,414,417-418,425,427-428,430,432,435,467,478,480,482,484,502,505,508-510,512-514,516-518,520-522,524-526,528,530,532,534,537,540,542,544,546,549,552,554,556,558,561,564-565,579,581,583-584,586,588,590-591,593,611,621,631,633,635,641,652,654-655,657,673,685,697,715-716,739-740,745,774-775,819-820,852-853,873,876-877,879,881-886,888,890-892,894,896-897,899-900,904,908-909,913,917,919,923,925-926,928,930,933,938,940,942,945,950,953-954
source/src/cip/cipdlr.c                       30       0     0%   95,98,100-101,103,105,107-109,111,116-117,119,131,136,138,142,144,151,158,165,172,179,186,193,202,209,216,228,230
source/src/cip/cipelectronickey.c             47      47   100%
source/src/cip/cipepath.c                    297     270    90%   88-90,230-232,276-278,329-330,530,532-535,633,635,637-638,640-641,643,697,701,704-705
source/src/cip/cipethernetlink.c              58       0     0%   198-199,222-223,226,228-229,235-236,246,248,252,272-274,276,283,290,313,320,349,357,364,371,378,385,400-402,406,409,412,424,427,429,432,444,447,449,456,458,460-462,465,467-473,475,477-480,484
source/src/cip/cipidentity.c                 106       0     0%   59-62,65-67,70-72,75-77,80-83,86-88,91-92,96-97,100,104-105,108-110,114,116,118,129-132,142-145,155,157-160,168,172,174,176-177,179,181-182,184-187,191-193,201-203,206,209-210,212,217,219,224,226,233,240,247,252,254,259,262,266,270-271,273,275-278,280-281,295,299-300,302-303,310,317,324,331,338,345,353,355-357,359,362
source/src/cip/cipioconnection.c             432       0     0%   86-88,90-91,94-96,98-99,102,104-105,107-108,111,113,118-120,130-134,136,138,141-145,147-148,154,156-157,160-165,168-169,172,174-175,178,180-182,190,193-194,196-199,201,203,206-207,210-211,215,217,221,223,227-228,233,237-244,246,248-253,256-257,259,261-262,264,266-268,289,292,294-296,300,302,306,308,310-313,316,321-324,329,331,333,338,340,342,347,349-350,355-358,361-363,365,368,370,374,376-377,380,392,395,398,405,407,409-411,417-419,421-422,424-426,428-430,432,435,440,442-444,446-448,452-454,456-458,464-465,467,470,474-476,478,481,488-491,494,496,498,503-504,509-510,514-516,519,523,525-530,532,542,546,548-549,551-552,554-556,558,561,564-566,568,571,575-576,581,592-593,596-602,605-606,613-619,621-623,628-629,632,634,636-637,639,641,643,649-653,655-658,661-665,672,675,684-685,688,693,700-701,703-705,709-712,715-716,718-723,725,729-733,735-736,738,741,743,745,749,751,754-755,761,763,766-771,773-774,776,778-780,784,786,788,792,795,798-799,807-810,812-813,817-818,820,825,832,835-837,840,842-844,846,848,850-851,853,855-857,860,862,866-867,869-871,873-875,877-879,882-883,885-886,888,891,895-896,899-901,903-905,907,910,913-914,916-917,919-920,922,924-925,928-929,931-936,938,941-942,944-945,947,951,961-963,967,970-971,973-974,978,981,987,990,997,1000,1005,1008,1017,1019-1021,1025-1027,1031-1032,1035-1036
source/src/cip/cipmessagerouter.c            121       0     0%   54-55,57,62,64,69,71,78,85,92,97,99,104,107,111,113,115-116,128,131,137,147-148,151,153-155,157,162-164,166-167,173,175,180-181,183-184,190-191,193,195,198-200,203-204,206,209,214-215,217-219,224-229,232-234,238,241-245,250-251,254-255,278,281,285-287,289-290,292,296,299-302,306-307,309-311,313-315,317-321,324,326,330-337,340-347,349,351-352
source/src/cip/cipqos.c                       55       0     0%   70,74,76,78-81,83-84,87,91,94,97-112,114-115,117,120-121,123-124,140,142,149,156,163,170,177,184,191,199,201,204,207-209,211-212,221-223
source/src/cip/cipstring.c                   124     109    87%   68-70,272,275-276,278,281-284,286,288-289,291
source/src/cip/cipstringi.c                  229       0     0%   16-40,42,44-47,49-67,69,76-85,92,94-134,136,138-151,153,155,157,159-160,162-163,165-175,177-182,184-185,187-202,204-210,212-215,217-221,224,226,229,231-233,235-255,259,261-263,265-272,275-287,291-292
source/src/cip/ciptcpipinterface.c            94       0     0%   322,324,326,328,330,332,334,336,338,340,343,345-346,348,351-352,354-355,357,360,362-363,365,368,370,372-373,375,377,383,385-387,389,393,396-398,401,518,522,524-525,527-528,530-532,535,538-539,541-542,558,560,567,574,581,607,614,625,632,639,646,653,660,667,675,680,683,688,691,693-695,698-700,702,710,712,716-719,721-723,725-730
source/src/cip/ciptypes.c                     26       0     0%   14-15,17,32,35,43-44,46,51-52,54-56,58,61-62,67-69,74-76,81-84
source/src/enet_encap/cpf.c                  282      38    13%   62,65-67,70-72,76-77,80,83-86,88,92-93,99-100,102,105,121,125-127,130,134-135,139-140,142,144,147,149-151,155-156,159-160,162-163,165,167,169,172,174,176,179,181-183,185,188,190-194,198-199,202,204-207,209,212-213,216,232,236-237,239,269-271,274-276,280-286,292-293,296-299,302-305,308-318,320,322,324,341,343,355-356,358-359,367,372-375,377,386,391-394,396-397,399,408,411,413,422,425,427,436,439,441,450,453-458,460,470,473-474,476,478,486,489-490,492,501,504-505,513,516-517,525,528-529,538,541,543,551,554,556-557,560,573,576-578,587,590-591,593,595,603,606-608,610-612,614,624,628-630,632,642,646-647,649,651,655,658-659,662,665,667-668,670-671,673,675-676,678,686-687,690-691,694,696,698,702,707-708,710-712,715,717,719,729-732,734,737,740-742,745,747,754,757-758
source/src/enet_encap/encap.c                352     119    33%   124-125,129,132-133,136-138,143-146,148,151,153,159-161,165-166,168-169,172-174,177,179,183-184,186,193-195,197,200-201,203,205-207,209,211-213,215,217-219,221,223-225,227,229-231,233,236-238,246,253-254,258-259,261-262,265-267,270,272,275-276,278-281,283,285-288,291,294,298-300,302,322,324-325,398,401-402,404,408-409,411-414,416-418,422-424,428,431,433,496,499-501,503,505,510-511,560-561,564,567-570,574-576,582,584-586,588-589,612,615-616,618-623,628,633,641,648,650,655,658,661,664-665,669-670,672,677,680,718-719,721,726,732,736,738,741,748-753,820,822-823,825-828,830-837,840-841,847-849,855-860,863,865-870,872,874,879,881,885,887,889-893,896-898,902,904-906,910,915,925-929,931,933
source/src/enet_encap/endianconv.c           132     115    87%   52-56,207-208,210-211,213-216,219,222,251-252
source/src/ports/generic_networkhandler.c
                                             478      52    10%   127-128,132,134,136,139-140,142,145-146,149-153,157-158,161,164,175,183-187,192-193,197-201,206-207,211-212,223,232-233,244,251-252,254,257,260-262,266-267,270,273-275,279-280,284,286-289,294,298,300,302,305-306,311-313,318-319,322,325-327,332-333,337,339-342,348,355,357-360,364,369-372,376-377,381-383,386-387,392-393,395,398-401,423-424,426,428,434-435,437-438,440-444,447-448,451,453,463,465,467-469,473,477-478,480-482,484,487-488,490-491,496-498,501-502,506-510,512-513,516,518-519,525-526,532-534,541,544,547-549,553,558-562,565,567-569,573,576-577,584-587,592-593,596,598-603,613-614,616-617,621,632,635,637,642,644-646,649,652-653,660-663,667-668,671,673-678,686-687,689-690,694,702,705,707,712,722-724,728-731,735-736,739,751-754,764,766-767,772,774,776-779,781-783,786-787,789-790,794-796,799,803,806,809-811,814-817,823-825,827-831,836-837,839-841,843-845,848-849,851,853-855,860-863,865-869,873-874,877,879,881,883,885-891,894,897-899,905-906,909,911,914,917,920,922,926-927,931,935,951,953,955-958,961-962,965,968-971,975,977-978,984-986,991-993,995,998-1000,1003-1005,1009,1011,1013-1014,1022-1024,1026-1028,1031-1032,1040-1041,1043,1048-1050,1055-1056,1061-1062,1067-1069,1074-1075,1098,1101-1102,1104,1107-1108,1111-1113,1115,1117-1120,1122,1128-1131,1137-1138,1140,1143-1146,1148-1149,1152-1153,1155,1158,1181,1212-1215,1217,1220
source/src/ports/nvdata/conffile.c            32       0     0%   59-64,66-69,73,75,77-78,80-84,92,111-113,115-117,130-133,135-136
source/src/ports/nvdata/nvdata.c              22       0     0%   37,39-42,45,63,67,71,74,76,80-81,83,99,104,107,109,111,115-116,119
source/src/ports/nvdata/nvqos.c               37       0     0%   31-33,43-47,49-50,57,71,73,79-81,86-91,96,104-107,109,112-117,121-122,124
source/src/ports/nvdata/nvtcpip.c             17       0     0%   27,29,31,33-34,37,39,45,49,57,59,61-62,65,67,70-71
source/src/ports/POSIX/networkconfig.c       171       0     0%   27,29-31,33-35,37,39-41,43,45-46,49,52,54-58,60-62,66-70,72-73,76-77,79-80,83-84,86,88,91,93,95-97,99,102-105,107-108,110-114,122-123,125-126,128-132,134,137-138,140,153,155-158,160-171,173,176-178,185-189,191-192,194,201,204-207,212-216,218-220,231,233-234,237-240,242-246,248,251,253-254,256,258-260,262-264,267,270-271,273,278,281-282,284-287,289-291,295-296,298-300,302-303,305-306,309-310,312-313,315-316,319,322-323,325-328,330
source/src/ports/POSIX/networkhandler.c       27      10    37%   22-23,25-29,32-33,36,38,57-59,62,66-67
source/src/ports/POSIX/opener_error.c          6       6   100%
source/src/ports/POSIX/sample_application/sampleapplication.c
                                              50       0     0%   40,43,48,53,58,61,64,68,72,76,85,87,117,120,122,124,129-132,134-135,138,142,145,163,166,173,176-177,180,182-184,187,189-190,192-193,196-197,200-202,204-207,209,212
source/src/ports/socket_timer.c               25      25   100%
source/src/utils/doublylinkedlist.c           86      83    96%   48,127,130
source/src/utils/enipmessage.c                 4       4   100%
source/src/utils/random.c                      9       9   100%
source/src/utils/xorshiftrandom.c             13      12    92%   21
source/tests/callback_mock.cpp                31       8    25%   12-14,17-19,21,24-25,27-29,32-33,36-38,41-43,64-66
source/tests/cip/cipcommontests.cpp          107     107   100%
source/tests/cip/cipconnectionobjecttest.cpp
                                             382     382   100%
source/tests/cip/cipelectronickeyformattest.cpp
                                             125     125   100%
source/tests/cip/cipelectronickeytest.cpp
                                              24      24   100%
source/tests/cip/cipepathtest.cpp            633     633   100%
source/tests/cip/cipstringtests.cpp          207     207   100%
source/tests/enet_encap/encaptest.cpp         52      52   100%
source/tests/enet_encap/endianconvtest.cpp
                                             167     167   100%
source/tests/OpENerTests.cpp                  29      11    37%   64,71-73,76,78,84-85,87-88,90-94,96,100,108
source/tests/ports/check_encapsulation_inactivity_tests.cpp
                                             186     186   100%
source/tests/ports/socket_timer_tests.cpp
                                              31      31   100%
source/tests/security_tests.cpp              148     147    99%   155
source/tests/utils/doublylinkedlistTests.cpp
                                             247     245    99%   43,47
source/tests/utils/randomTests.cpp             8       8   100%
source/tests/utils/xorshiftrandomtests.cpp
                                              15      15   100%
------------------------------------------------------------------------------
TOTAL                                       7934    3520    44%
------------------------------------------------------------------------------
lines: 44.4% (3520 out of 7934)
functions: 67.0% (710 out of 1059)
branches: 20.0% (1326 out of 6620)

📥 Download the detailed HTML report from artifacts.

ℹ️ This PR was tested with standard static analysis. Exhaustive analysis will run on release branches.

@github-actions
Copy link

github-actions bot commented Jan 3, 2026

📊 Coverage Report

Line Coverage: 44.4%

------------------------------------------------------------------------------
                           GCC Code Coverage Report
Directory: .
------------------------------------------------------------------------------
File                                       Lines    Exec  Cover   Missing
------------------------------------------------------------------------------
source/src/cip/appcontype.c                  186       0     0%   96,101-102,104,106,109,111,115-116,118-119,122,124,128-129,131,133,136,138,141,143-146,149-151,154-157,160,163,170,177,179,183-184,187,190,193-199,202-203,205-208,210-211,213-215,217-218,220,222,225-226,235,238,240-241,243-246,248,250-252,254,257-262,265,267,269,273-278,286-287,290,293,295-296,298-301,303,305-307,309,313,320-325,328,330,332,336-341,349-350,353,355,357-360,362-364,368-369,371-373,376,381,383,385-388,390,392,394-395,397,401,403,408,412-420,424-425,428,430-436,438,440-441,443-446,449,454-455,459,462,465
source/src/cip/cipassembly.c                  75       0     0%   49,51,63-64,69,74-75,78,84-85,88-89,91-96,98,101,103,106-108,111,115,119-121,125-126,128,137,142,145,148,154-156,162,166,169,173-175,177-179,181-184,186-189,193-194,196,205,207,210,212,215,218-220,222,224,227,230-232,234,236
source/src/cip/cipclass3connection.c          35       0     0%   19-20,22-23,26,29,31,33-35,38,40,42,46,48,51,53,60-62,64,70-71,74,76,79-83,89,92-95
source/src/cip/cipcommon.c                   801      44     5%   46,48-59,64-65,82-83,85,88,90,92,94,96,99-100,102,109,114-115,118,120-125,127-129,135,140,142,144,146,152,154,156-158,161-165,168,170,173,175-178,182,185-186,190,192,195,199,201,205,209,211,215-218,221-222,226,228,232,234,236,238,244-245,249,251,255,257,264-265,267,270,272,274-276,279,281,284,296,300,309,311,314-316,318,320,322,324,326-327,330,332-333,335-336,345,349,351-352,354,356,358,360-361,366,368,370,373,376,378,380,383,386-387,390-391,393-394,396,398,402,408,410,412-413,418,420,425,427,433,435,442,449,454,456,461,463,465-466,472,478,485,494,496-497,501-509,511,513,515-517,519,521-523,525,531,533,536,541,545,548,550-556,558,561,564,567-568,570-571,573-574,578-579,581,584,586,588-590,592,599,602-607,610,617-618,621-622,624,627,630-634,637,641-643,647-649,653-656,661,669,671-672,689,691-692,709,711-712,714-716,718,720-721,723,725-726,728,730-731,733,735-736,738,740,742,744-749,751,753,755-758,760-761,763,765,768,770,773-774,776-777,779,782-783,785-786,788,790-795,797,799-802,804-806,808-810,812-814,816-818,820,822-823,826,828,830-837,839,841-843,845,847-851,853,856-861,863,870-871,873-874,876,879,883-884,890-893,897-899,903,906,911-914,917,919,923,926,929-931,934,937-939,942,946-948,950-953,955-958,962-964,966-967,970,973-975,978,981-983,986,989-991,994,997-999,1002,1005-1007,1010,1013-1015,1018,1021-1023,1026,1029-1031,1034,1037-1039,1042,1045-1047,1050,1053-1055,1058,1061-1063,1066,1069-1071,1090-1091,1119,1121,1123-1125,1127,1132,1138-1139,1141-1142,1146,1148-1151,1153,1155-1156,1158-1161,1164,1167,1169,1172,1175,1181-1182,1184-1188,1190-1191,1193-1195,1197,1200,1205-1207,1209,1211-1212,1214,1216,1218-1219,1221,1223,1225,1228,1232,1234,1236,1239,1242-1247,1249,1252,1254,1258,1261,1263,1267,1269,1271,1276-1277,1279,1282-1283,1286,1291,1297-1298,1300-1304,1306-1307,1309-1311,1313,1317,1319-1321,1323,1325-1326,1328,1330,1332,1334-1335,1337,1340,1342,1346,1348,1350,1353,1356-1358,1360,1362,1364,1366,1370,1373,1376-1380,1383-1384,1389,1392-1393,1398-1399,1401,1404-1405,1408,1414-1417,1419,1421-1423,1426,1428-1430,1433-1434,1436-1438,1441,1443-1445,1448-1449,1451-1453,1456,1458-1460,1466,1468,1470,1473-1475,1477-1478,1481-1483,1485-1486,1491-1493,1495-1497,1499,1501-1504,1506,1508-1510,1512,1514-1517,1519,1521-1523,1525,1527-1530,1532,1534-1536,1538-1540,1548,1550-1551,1554,1561-1562,1564-1568,1570,1572,1575-1576,1580,1582,1584,1587-1588,1592,1594,1597,1604-1605,1607-1611,1613,1615,1618-1619,1623-1624,1628,1630-1631,1634-1638,1645-1646,1650,1653,1656,1658,1660,1663,1670-1671,1673-1677,1679,1681,1684-1685,1689,1691-1692,1696,1699-1700,1703-1707,1709-1711
source/src/cip/cipconnectionmanager.c        700       0     0%   179-180,182-187,189,191,209,211-212,216,219-220,224,229,232,237,240,248,256,264,269,272,277,280,282,284,286-287,289,303,307,311,313-314,318,320,324,328,333,335-336,341,344,351-352,357,360-361,363,368-370,373,375-376,378,383,385-386,388-389,391-392,428,434-436,438-439,459,465-466,468-469,488,494-495,497-498,515,521-522,524,527-528,530,537,539-540,549-550,552-554,557,560-561,565-566,568,573,576,609,614-615,648,653-654,660,665,667-668,672,674,677,681-684,687-688,695-696,703,706,708-711,720,725-726,730,735-736,739-740,742,748,754-755,759,764-765,767,770-775,777,779,781,784-786,788-792,795-799,806,808,815,818,827,833-837,839,842,848-850,852-853,856-857,860,863-865,867-868,870,874,877,879,881-882,884-885,888,891,898-900,902-903,906-911,918,921-923,925-926,928-932,937,939,941,943-944,946-947,950,953,957,960,962,965,968,971,974,977,980,983,986,988,990,992,995,998,1001,1004,1007,1009,1011,1013,1016,1018,1020,1023-1024,1026,1028,1030-1033,1035,1039,1042-1044,1046-1047,1052-1053,1055,1057,1059-1060,1065-1066,1070,1072,1074-1075,1077,1079,1082-1083,1086-1087,1089,1093,1095-1096,1100,1103,1108,1110,1124,1130,1132-1133,1136,1138-1140,1143-1144,1146-1147,1149,1151-1153,1155,1159,1161,1169-1170,1174-1175,1177-1178,1181-1188,1191-1196,1199-1202,1210,1212,1214,1217,1219,1221,1225,1229,1231,1239,1242,1245-1247,1260,1268,1270-1271,1274,1276-1278,1280-1281,1284-1285,1287-1288,1290,1292-1293,1295-1297,1301-1302,1305-1306,1308-1310,1312-1313,1315,1320,1322,1324-1326,1328,1330,1332-1333,1335,1340,1342,1344-1348,1351,1357,1361,1364-1365,1367,1370-1371,1374-1379,1381,1386-1389,1391,1395,1397,1403-1408,1410,1416-1420,1423,1425,1431,1433,1436,1439-1442,1447,1449-1450,1452-1453,1456,1458-1460,1463-1464,1466-1467,1470,1473-1475,1478,1480-1486,1488-1491,1494-1496,1498,1500,1513-1515,1518-1519,1521,1525,1531-1532,1535-1538,1540-1543,1548,1550-1554,1556-1557,1560,1563,1567,1569,1571,1573,1576,1578,1581,1583-1585,1588,1590,1592,1594,1597,1599,1602-1603,1606,1608-1609,1611,1615-1616,1618,1621,1627,1630,1636,1641,1644-1647,1649-1650,1654-1656,1658,1664-1666,1669,1672-1674,1676-1679,1683,1685,1687,1689,1695-1697,1699,1701,1703-1707,1710-1712,1714,1717,1719,1721,1725-1726,1728,1731-1737,1739-1743,1748-1754,1756,1759-1761,1765,1767,1769,1774,1776,1779,1782-1783,1790,1793-1794,1797,1800,1802-1803,1806,1808,1810,1812,1815-1817,1819-1821,1823,1825-1830,1833,1836-1837,1839,1841-1846,1850,1852,1855,1857,1861-1862,1864-1865,1867-1868,1872,1875,1877,1879-1882,1885,1888,1890,1892-1897,1899,1902-1904,1908,1910,1913,1916-1921,1923,1927,1929-1930,1932,1934-1935,1938-1940
source/src/cip/cipconnectionobject.c         383     229    59%   61-62,67-71,77-81,86,88,107,109,111-112,167,180,248-249,271,274-275,294-296,398,400,403,406-407,409,411,414,417-418,425,427-428,430,432,435,467,478,480,482,484,502,505,508-510,512-514,516-518,520-522,524-526,528,530,532,534,537,540,542,544,546,549,552,554,556,558,561,564-565,579,581,583-584,586,588,590-591,593,611,621,631,633,635,641,652,654-655,657,673,685,697,715-716,739-740,745,774-775,819-820,852-853,873,876-877,879,881-886,888,890-892,894,896-897,899-900,904,908-909,913,917,919,923,925-926,928,930,933,938,940,942,945,950,953-954
source/src/cip/cipdlr.c                       30       0     0%   95,98,100-101,103,105,107-109,111,116-117,119,131,136,138,142,144,151,158,165,172,179,186,193,202,209,216,228,230
source/src/cip/cipelectronickey.c             47      47   100%
source/src/cip/cipepath.c                    297     270    90%   88-90,230-232,276-278,329-330,530,532-535,633,635,637-638,640-641,643,697,701,704-705
source/src/cip/cipethernetlink.c              58       0     0%   198-199,222-223,226,228-229,235-236,246,248,252,272-274,276,283,290,313,320,349,357,364,371,378,385,400-402,406,409,412,424,427,429,432,444,447,449,456,458,460-462,465,467-473,475,477-480,484
source/src/cip/cipidentity.c                 106       0     0%   59-62,65-67,70-72,75-77,80-83,86-88,91-92,96-97,100,104-105,108-110,114,116,118,129-132,142-145,155,157-160,168,172,174,176-177,179,181-182,184-187,191-193,201-203,206,209-210,212,217,219,224,226,233,240,247,252,254,259,262,266,270-271,273,275-278,280-281,295,299-300,302-303,310,317,324,331,338,345,353,355-357,359,362
source/src/cip/cipioconnection.c             432       0     0%   86-88,90-91,94-96,98-99,102,104-105,107-108,111,113,118-120,130-134,136,138,141-145,147-148,154,156-157,160-165,168-169,172,174-175,178,180-182,190,193-194,196-199,201,203,206-207,210-211,215,217,221,223,227-228,233,237-244,246,248-253,256-257,259,261-262,264,266-268,289,292,294-296,300,302,306,308,310-313,316,321-324,329,331,333,338,340,342,347,349-350,355-358,361-363,365,368,370,374,376-377,380,392,395,398,405,407,409-411,417-419,421-422,424-426,428-430,432,435,440,442-444,446-448,452-454,456-458,464-465,467,470,474-476,478,481,488-491,494,496,498,503-504,509-510,514-516,519,523,525-530,532,542,546,548-549,551-552,554-556,558,561,564-566,568,571,575-576,581,592-593,596-602,605-606,613-619,621-623,628-629,632,634,636-637,639,641,643,649-653,655-658,661-665,672,675,684-685,688,693,700-701,703-705,709-712,715-716,718-723,725,729-733,735-736,738,741,743,745,749,751,754-755,761,763,766-771,773-774,776,778-780,784,786,788,792,795,798-799,807-810,812-813,817-818,820,825,832,835-837,840,842-844,846,848,850-851,853,855-857,860,862,866-867,869-871,873-875,877-879,882-883,885-886,888,891,895-896,899-901,903-905,907,910,913-914,916-917,919-920,922,924-925,928-929,931-936,938,941-942,944-945,947,951,961-963,967,970-971,973-974,978,981,987,990,997,1000,1005,1008,1017,1019-1021,1025-1027,1031-1032,1035-1036
source/src/cip/cipmessagerouter.c            121       0     0%   54-55,57,62,64,69,71,78,85,92,97,99,104,107,111,113,115-116,128,131,137,147-148,151,153-155,157,162-164,166-167,173,175,180-181,183-184,190-191,193,195,198-200,203-204,206,209,214-215,217-219,224-229,232-234,238,241-245,250-251,254-255,278,281,285-287,289-290,292,296,299-302,306-307,309-311,313-315,317-321,324,326,330-337,340-347,349,351-352
source/src/cip/cipqos.c                       55       0     0%   70,74,76,78-81,83-84,87,91,94,97-112,114-115,117,120-121,123-124,140,142,149,156,163,170,177,184,191,199,201,204,207-209,211-212,221-223
source/src/cip/cipstring.c                   124     109    87%   68-70,272,275-276,278,281-284,286,288-289,291
source/src/cip/cipstringi.c                  229       0     0%   16-40,42,44-47,49-67,69,76-85,92,94-134,136,138-151,153,155,157,159-160,162-163,165-175,177-182,184-185,187-202,204-210,212-215,217-221,224,226,229,231-233,235-255,259,261-263,265-272,275-287,291-292
source/src/cip/ciptcpipinterface.c            94       0     0%   322,324,326,328,330,332,334,336,338,340,343,345-346,348,351-352,354-355,357,360,362-363,365,368,370,372-373,375,377,383,385-387,389,393,396-398,401,518,522,524-525,527-528,530-532,535,538-539,541-542,558,560,567,574,581,607,614,625,632,639,646,653,660,667,675,680,683,688,691,693-695,698-700,702,710,712,716-719,721-723,725-730
source/src/cip/ciptypes.c                     26       0     0%   14-15,17,32,35,43-44,46,51-52,54-56,58,61-62,67-69,74-76,81-84
source/src/enet_encap/cpf.c                  282      38    13%   62,65-67,70-72,76-77,80,83-86,88,92-93,99-100,102,105,121,125-127,130,134-135,139-140,142,144,147,149-151,155-156,159-160,162-163,165,167,169,172,174,176,179,181-183,185,188,190-194,198-199,202,204-207,209,212-213,216,232,236-237,239,269-271,274-276,280-286,292-293,296-299,302-305,308-318,320,322,324,341,343,355-356,358-359,367,372-375,377,386,391-394,396-397,399,408,411,413,422,425,427,436,439,441,450,453-458,460,470,473-474,476,478,486,489-490,492,501,504-505,513,516-517,525,528-529,538,541,543,551,554,556-557,560,573,576-578,587,590-591,593,595,603,606-608,610-612,614,624,628-630,632,642,646-647,649,651,655,658-659,662,665,667-668,670-671,673,675-676,678,686-687,690-691,694,696,698,702,707-708,710-712,715,717,719,729-732,734,737,740-742,745,747,754,757-758
source/src/enet_encap/encap.c                354     119    33%   129-130,134-135,139-140,143-145,150-153,155,158,160,166-168,172-173,175-176,179-181,184,186,190-191,193,200-202,204,207-208,210,212-214,216,218-220,222,224-226,228,230-232,234,236-238,240,243-245,253,260-261,265-266,268-269,272-274,277,279,282-283,285-288,290,292-295,298,301,305-307,309,329,331-332,405,408-409,411,415-416,418-421,423-425,429-431,435,438,440,503,506-508,510,512,517-518,520,569-570,573,576-579,583-585,591,593-595,597-598,621,624-625,627-632,637,642,650,657,659,664,667,670,673-674,678-679,681,686,689,727-728,730,735,741,745,747,750,757-762,829,831-832,834-837,839-846,849-850,856-858,864-869,872,874-879,881,883,888,890,894,896,898-902,905-907,911,913-915,919,924,934-938,940,942
source/src/enet_encap/endianconv.c           132     115    87%   52-56,207-208,210-211,213-216,219,222,251-252
source/src/ports/generic_networkhandler.c
                                             478      52    10%   127-128,132,134,136,139-140,142,145-146,149-153,157-158,161,164,175,183-187,192-193,197-201,206-207,211-212,223,232-233,244,251-252,254,257,260-262,266-267,270,273-275,279-280,284,286-289,294,298,300,302,305-306,311-313,318-319,322,325-327,332-333,337,339-342,348,355,357-360,364,369-372,376-377,381-383,386-387,392-393,395,398-401,423-424,426,428,434-435,437-438,440-444,447-448,451,453,463,465,467-469,473,477-478,480-482,484,487-488,490-491,496-498,501-502,506-510,512-513,516,518-519,525-526,532-534,541,544,547-549,553,558-562,565,567-569,573,576-577,584-587,592-593,596,598-603,613-614,616-617,621,632,635,637,642,644-646,649,652-653,660-663,667-668,671,673-678,686-687,689-690,694,702,705,707,712,722-724,728-731,735-736,739,751-754,764,766-767,772,774,776-779,781-783,786-787,789-790,794-796,799,803,806,809-811,814-817,823-825,827-831,836-837,839-841,843-845,848-849,851,853-855,860-863,865-869,873-874,877,879,881,883,885-891,894,897-899,905-906,909,911,914,917,920,922,926-927,931,935,951,953,955-958,961-962,965,968-971,975,977-978,984-986,991-993,995,998-1000,1003-1005,1009,1011,1013-1014,1022-1024,1026-1028,1031-1032,1040-1041,1043,1048-1050,1055-1056,1061-1062,1067-1069,1074-1075,1098,1101-1102,1104,1107-1108,1111-1113,1115,1117-1120,1122,1128-1131,1137-1138,1140,1143-1146,1148-1149,1152-1153,1155,1158,1181,1212-1215,1217,1220
source/src/ports/nvdata/conffile.c            32       0     0%   59-64,66-69,73,75,77-78,80-84,92,111-113,115-117,130-133,135-136
source/src/ports/nvdata/nvdata.c              22       0     0%   37,39-42,45,63,67,71,74,76,80-81,83,99,104,107,109,111,115-116,119
source/src/ports/nvdata/nvqos.c               37       0     0%   31-33,43-47,49-50,57,71,73,79-81,86-91,96,104-107,109,112-117,121-122,124
source/src/ports/nvdata/nvtcpip.c             17       0     0%   27,29,31,33-34,37,39,45,49,57,59,61-62,65,67,70-71
source/src/ports/POSIX/networkconfig.c       171       0     0%   27,29-31,33-35,37,39-41,43,45-46,49,52,54-58,60-62,66-70,72-73,76-77,79-80,83-84,86,88,91,93,95-97,99,102-105,107-108,110-114,122-123,125-126,128-132,134,137-138,140,153,155-158,160-171,173,176-178,185-189,191-192,194,201,204-207,212-216,218-220,231,233-234,237-240,242-246,248,251,253-254,256,258-260,262-264,267,270-271,273,278,281-282,284-287,289-291,295-296,298-300,302-303,305-306,309-310,312-313,315-316,319,322-323,325-328,330
source/src/ports/POSIX/networkhandler.c       27      10    37%   22-23,25-29,32-33,36,38,57-59,62,66-67
source/src/ports/POSIX/opener_error.c          6       6   100%
source/src/ports/POSIX/sample_application/sampleapplication.c
                                              50       0     0%   40,43,48,53,58,61,64,68,72,76,85,87,117,120,122,124,129-132,134-135,138,142,145,163,166,173,176-177,180,182-184,187,189-190,192-193,196-197,200-202,204-207,209,212
source/src/ports/socket_timer.c               25      25   100%
source/src/utils/doublylinkedlist.c           86      83    96%   48,127,130
source/src/utils/enipmessage.c                 4       4   100%
source/src/utils/random.c                     13      12    92%   33
source/src/utils/xorshiftrandom.c             21      14    66%   18-19,21,33,41-42,44
source/tests/callback_mock.cpp                31       8    25%   12-14,17-19,21,24-25,27-29,32-33,36-38,41-43,64-66
source/tests/cip/cipcommontests.cpp          107     107   100%
source/tests/cip/cipconnectionobjecttest.cpp
                                             382     382   100%
source/tests/cip/cipelectronickeyformattest.cpp
                                             125     125   100%
source/tests/cip/cipelectronickeytest.cpp
                                              24      24   100%
source/tests/cip/cipepathtest.cpp            633     633   100%
source/tests/cip/cipstringtests.cpp          207     207   100%
source/tests/enet_encap/encaptest.cpp         52      52   100%
source/tests/enet_encap/endianconvtest.cpp
                                             167     167   100%
source/tests/OpENerTests.cpp                  29      11    37%   70,77-79,82,84,90-91,93-94,96-100,102,106,114
source/tests/ports/check_encapsulation_inactivity_tests.cpp
                                             186     186   100%
source/tests/ports/socket_timer_tests.cpp
                                              31      31   100%
source/tests/security_tests.cpp              148     147    99%   155
source/tests/utils/doublylinkedlistTests.cpp
                                             247     245    99%   43,47
source/tests/utils/randomTests.cpp            10      10   100%
source/tests/utils/xorshiftrandomtests.cpp
                                              15      15   100%
------------------------------------------------------------------------------
TOTAL                                       7950    3527    44%
------------------------------------------------------------------------------
lines: 44.4% (3527 out of 7950)
functions: 66.9% (711 out of 1063)
branches: 20.0% (1327 out of 6622)

📥 Download the detailed HTML report from artifacts.

ℹ️ This PR was tested with standard static analysis. Exhaustive analysis will run on release branches.

Signed-off-by: Martin Melik Merkumians <[email protected]>
Signed-off-by: Martin Melik Merkumians <[email protected]>
Signed-off-by: Martin Melik Merkumians <[email protected]>
Reveres conditions and adds early returns to return if/else
indention levels

Signed-off-by: Martin Melik Merkumians <[email protected]>
Signed-off-by: Martin Melik Merkumians <[email protected]>
Signed-off-by: Martin Melik Merkumians <[email protected]>
Signed-off-by: Martin Melik Merkumians <[email protected]>
Signed-off-by: Martin Melik Merkumians <[email protected]>
Signed-off-by: Martin Melik Merkumians <[email protected]>
Signed-off-by: Martin Melik Merkumians <[email protected]>
Signed-off-by: Martin Melik Merkumians <[email protected]>
Signed-off-by: Martin Melik Merkumians <[email protected]>
@github-actions
Copy link

github-actions bot commented Jan 5, 2026

📊 Coverage Report

Line Coverage: 44.4%

------------------------------------------------------------------------------
                           GCC Code Coverage Report
Directory: .
------------------------------------------------------------------------------
File                                       Lines    Exec  Cover   Missing
------------------------------------------------------------------------------
source/src/cip/appcontype.c                  186       0     0%   96,101-102,104,106,109,111,115-116,118-119,122,124,128-129,131,133,136,138,141,143-146,149-151,154-157,160,163,170,177,179,183-184,187,190,193-199,202-203,205-208,210-211,213-215,217-218,220,222,225-226,235,238,240-241,243-246,248,250-252,254,257-262,265,267,269,273-278,286-287,290,293,295-296,298-301,303,305-307,309,313,320-325,328,330,332,336-341,349-350,353,355,357-360,362-364,368-369,371-373,376,381,383,385-388,390,392,394-395,397,401,403,408,412-420,424-425,428,430-436,438,440-441,443-446,449,454-455,459,462,465
source/src/cip/cipassembly.c                  75       0     0%   49,51,63-64,69,74-75,78,84-85,88-89,91-96,98,101,103,106-108,111,115,119-121,125-126,128,137,142,145,148,154-156,162,166,169,173-175,177-179,181-184,186-189,193-194,196,205,207,210,212,215,218-220,222,224,227,230-232,234,236
source/src/cip/cipclass3connection.c          35       0     0%   19-20,22-23,26,29,31,33-35,38,40,42,46,48,51,53,60-62,64,70-71,74,76,79-83,89,92-95
source/src/cip/cipcommon.c                   801      44     5%   46,48-59,64-65,82-83,85,88,90,92,94,96,99-100,102,109,114-115,118,120-125,127-129,135,140,142,144,146,152,154,156-158,161-165,168,170,173,175-178,182,185-186,190,192,195,199,201,205,209,211,215-218,221-222,226,228,232,234,236,238,244-245,249,251,255,257,264-265,267,270,272,274-276,279,281,284,296,300,309,311,314-316,318,320,322,324,326-327,330,332-333,335-336,345,349,351-352,354,356,358,360-361,366,368,370,373,376,378,380,383,386-387,390-391,393-394,396,398,402,408,410,412-413,418,420,425,427,433,435,442,449,454,456,461,463,465-466,472,478,485,494,496-497,501-509,511,513,515-517,519,521-523,525,531,533,536,541,545,548,550-556,558,561,564,567-568,570-571,573-574,578-579,581,584,586,588-590,592,599,602-607,610,617-618,621-622,624,627,630-634,637,641-643,647-649,653-656,661,669,671-672,689,691-692,709,711-712,714-716,718,720-721,723,725-726,728,730-731,733,735-736,738,740,742,744-749,751,753,755-758,760-761,763,765,768,770,773-774,776-777,779,782-783,785-786,788,790-795,797,799-802,804-806,808-810,812-814,816-818,820,822-823,826,828,830-837,839,841-843,845,847-851,853,856-861,863,870-871,873-874,876,879,883-884,890-893,897-899,903,906,911-914,917,919,923,926,929-931,934,937-939,942,946-948,950-953,955-958,962-964,966-967,970,973-975,978,981-983,986,989-991,994,997-999,1002,1005-1007,1010,1013-1015,1018,1021-1023,1026,1029-1031,1034,1037-1039,1042,1045-1047,1050,1053-1055,1058,1061-1063,1066,1069-1071,1090-1091,1119,1121,1123-1125,1127,1132,1138-1139,1141-1142,1146,1148-1151,1153,1155-1156,1158-1161,1164,1167,1169,1172,1175,1181-1182,1184-1188,1190-1191,1193-1195,1197,1200,1205-1207,1209,1211-1212,1214,1216,1218-1219,1221,1223,1225,1228,1232,1234,1236,1239,1242-1247,1249,1252,1254,1258,1261,1263,1267,1269,1271,1276-1277,1279,1282-1283,1286,1291,1297-1298,1300-1304,1306-1307,1309-1311,1313,1317,1319-1321,1323,1325-1326,1328,1330,1332,1334-1335,1337,1340,1342,1346,1348,1350,1353,1356-1358,1360,1362,1364,1366,1370,1373,1376-1380,1383-1384,1389,1392-1393,1398-1399,1401,1404-1405,1408,1414-1417,1419,1421-1423,1426,1428-1430,1433-1434,1436-1438,1441,1443-1445,1448-1449,1451-1453,1456,1458-1460,1466,1468,1470,1473-1475,1477-1478,1481-1483,1485-1486,1491-1493,1495-1497,1499,1501-1504,1506,1508-1510,1512,1514-1517,1519,1521-1523,1525,1527-1530,1532,1534-1536,1538-1540,1548,1550-1551,1554,1561-1562,1564-1568,1570,1572,1575-1576,1580,1582,1584,1587-1588,1592,1594,1597,1604-1605,1607-1611,1613,1615,1618-1619,1623-1624,1628,1630-1631,1634-1638,1645-1646,1650,1653,1656,1658,1660,1663,1670-1671,1673-1677,1679,1681,1684-1685,1689,1691-1692,1696,1699-1700,1703-1707,1709-1711
source/src/cip/cipconnectionmanager.c        700       0     0%   179-180,182-187,189,191,209,211-212,216,219-220,224,229,232,237,240,248,256,264,269,272,277,280,282,284,286-287,289,303,307,311,313-314,318,320,324,328,333,335-336,341,344,351-352,357,360-361,363,368-370,373,375-376,378,383,385-386,388-389,391-392,428,434-436,438-439,459,465-466,468-469,488,494-495,497-498,515,521-522,524,527-528,530,537,539-540,549-550,552-554,557,560-561,565-566,568,573,576,609,614-615,648,653-654,660,665,667-668,672,674,677,681-684,687-688,695-696,703,706,708-711,720,725-726,730,735-736,739-740,742,748,754-755,759,764-765,767,770-775,777,779,781,784-786,788-792,795-799,806,808,815,818,827,833-837,839,842,848-850,852-853,856-857,860,863-865,867-868,870,874,877,879,881-882,884-885,888,891,898-900,902-903,906-911,918,921-923,925-926,928-932,937,939,941,943-944,946-947,950,953,957,960,962,965,968,971,974,977,980,983,986,988,990,992,995,998,1001,1004,1007,1009,1011,1013,1016,1018,1020,1023-1024,1026,1028,1030-1033,1035,1039,1042-1044,1046-1047,1052-1053,1055,1057,1059-1060,1065-1066,1070,1072,1074-1075,1077,1079,1082-1083,1086-1087,1089,1093,1095-1096,1100,1103,1108,1110,1124,1130,1132-1133,1136,1138-1140,1143-1144,1146-1147,1149,1151-1153,1155,1159,1161,1169-1170,1174-1175,1177-1178,1181-1188,1191-1196,1199-1202,1210,1212,1214,1217,1219,1221,1225,1229,1231,1239,1242,1245-1247,1260,1268,1270-1271,1274,1276-1278,1280-1281,1284-1285,1287-1288,1290,1292-1293,1295-1297,1301-1302,1305-1306,1308-1310,1312-1313,1315,1320,1322,1324-1326,1328,1330,1332-1333,1335,1340,1342,1344-1348,1351,1357,1361,1364-1365,1367,1370-1371,1374-1379,1381,1386-1389,1391,1395,1397,1403-1408,1410,1416-1420,1423,1425,1431,1433,1436,1439-1442,1447,1449-1450,1452-1453,1456,1458-1460,1463-1464,1466-1467,1470,1473-1475,1478,1480-1486,1488-1491,1494-1496,1498,1500,1513-1515,1518-1519,1521,1525,1531-1532,1535-1538,1540-1543,1548,1550-1554,1556-1557,1560,1563,1567,1569,1571,1573,1576,1578,1581,1583-1585,1588,1590,1592,1594,1597,1599,1602-1603,1606,1608-1609,1611,1615-1616,1618,1621,1627,1630,1636,1641,1644-1647,1649-1650,1654-1656,1658,1664-1666,1669,1672-1674,1676-1679,1683,1685,1687,1689,1695-1697,1699,1701,1703-1707,1710-1712,1714,1717,1719,1721,1725-1726,1728,1731-1737,1739-1743,1748-1754,1756,1759-1761,1765,1767,1769,1774,1776,1779,1782-1783,1790,1793-1794,1797,1800,1802-1803,1806,1808,1810,1812,1815-1817,1819-1821,1823,1825-1830,1833,1836-1837,1839,1841-1846,1850,1852,1855,1857,1861-1862,1864-1865,1867-1868,1872,1875,1877,1879-1882,1885,1888,1890,1892-1897,1899,1902-1904,1908,1910,1913,1916-1921,1923,1927,1929-1930,1932,1934-1935,1938-1940
source/src/cip/cipconnectionobject.c         383     229    59%   61-62,67-71,77-81,86,88,107,109,111-112,167,180,248-249,271,274-275,294-296,398,400,403,406-407,409,411,414,417-418,425,427-428,430,432,435,467,478,480,482,484,502,505,508-510,512-514,516-518,520-522,524-526,528,530,532,534,537,540,542,544,546,549,552,554,556,558,561,564-565,579,581,583-584,586,588,590-591,593,611,621,631,633,635,641,652,654-655,657,673,685,697,715-716,739-740,745,774-775,819-820,852-853,873,876-877,879,881-886,888,890-892,894,896-897,899-900,904,908-909,913,917,919,923,925-926,928,930,933,938,940,942,945,950,953-954
source/src/cip/cipdlr.c                       30       0     0%   95,98,100-101,103,105,107-109,111,116-117,119,131,136,138,142,144,151,158,165,172,179,186,193,202,209,216,228,230
source/src/cip/cipelectronickey.c             47      47   100%
source/src/cip/cipepath.c                    297     270    90%   88-90,230-232,276-278,329-330,530,532-535,633,635,637-638,640-641,643,697,701,704-705
source/src/cip/cipethernetlink.c              58       0     0%   198-199,222-223,226,228-229,235-236,246,248,252,272-274,276,283,290,313,320,349,357,364,371,378,385,400-402,406,409,412,424,427,429,432,444,447,449,456,458,460-462,465,467-473,475,477-480,484
source/src/cip/cipidentity.c                 106       0     0%   59-62,65-67,70-72,75-77,80-83,86-88,91-92,96-97,100,104-105,108-110,114,116,118,129-132,142-145,155,157-160,168,172,174,176-177,179,181-182,184-187,191-193,201-203,206,209-210,212,217,219,224,226,233,240,247,252,254,259,262,266,270-271,273,275-278,280-281,295,299-300,302-303,310,317,324,331,338,345,353,355-357,359,362
source/src/cip/cipioconnection.c             432       0     0%   86-88,90-91,94-96,98-99,102,104-105,107-108,111,113,118-120,130-134,136,138,141-145,147-148,154,156-157,160-165,168-169,172,174-175,178,180-182,190,193-194,196-199,201,203,206-207,210-211,215,217,221,223,227-228,233,237-244,246,248-253,256-257,259,261-262,264,266-268,289,292,294-296,300,302,306,308,310-313,316,321-324,329,331,333,338,340,342,347,349-350,355-358,361-363,365,368,370,374,376-377,380,392,395,398,405,407,409-411,417-419,421-422,424-426,428-430,432,435,440,442-444,446-448,452-454,456-458,464-465,467,470,474-476,478,481,488-491,494,496,498,503-504,509-510,514-516,519,523,525-530,532,542,546,548-549,551-552,554-556,558,561,564-566,568,571,575-576,581,592-593,596-602,605-606,613-619,621-623,628-629,632,634,636-637,639,641,643,649-653,655-658,661-665,672,675,684-685,688,693,700-701,703-705,709-712,715-716,718-723,725,729-733,735-736,738,741,743,745,749,751,754-755,761,763,766-771,773-774,776,778-780,784,786,788,792,795,798-799,807-810,812-813,817-818,820,825,832,835-837,840,842-844,846,848,850-851,853,855-857,860,862,866-867,869-871,873-875,877-879,882-883,885-886,888,891,895-896,899-901,903-905,907,910,913-914,916-917,919-920,922,924-925,928-929,931-936,938,941-942,944-945,947,951,961-963,967,970-971,973-974,978,981,987,990,997,1000,1005,1008,1017,1019-1021,1025-1027,1031-1032,1035-1036
source/src/cip/cipmessagerouter.c            121       0     0%   54-55,57,62,64,69,71,78,85,92,97,99,104,107,111,113,115-116,128,131,137,147-148,151,153-155,157,162-164,166-167,173,175,180-181,183-184,190-191,193,195,198-200,203-204,206,209,214-215,217-219,224-229,232-234,238,241-245,250-251,254-255,278,281,285-287,289-290,292,296,299-302,306-307,309-311,313-315,317-321,324,326,330-337,340-347,349,351-352
source/src/cip/cipqos.c                       55       0     0%   70,74,76,78-81,83-84,87,91,94,97-112,114-115,117,120-121,123-124,140,142,149,156,163,170,177,184,191,199,201,204,207-209,211-212,221-223
source/src/cip/cipstring.c                   124     109    87%   68-70,272,275-276,278,281-284,286,288-289,291
source/src/cip/cipstringi.c                  229       0     0%   16-40,42,44-47,49-67,69,76-85,92,94-134,136,138-151,153,155,157,159-160,162-163,165-175,177-182,184-185,187-202,204-210,212-215,217-221,224,226,229,231-233,235-255,259,261-263,265-272,275-287,291-292
source/src/cip/ciptcpipinterface.c            94       0     0%   322,324,326,328,330,332,334,336,338,340,343,345-346,348,351-352,354-355,357,360,362-363,365,368,370,372-373,375,377,383,385-387,389,393,396-398,401,518,522,524-525,527-528,530-532,535,538-539,541-542,558,560,567,574,581,607,614,625,632,639,646,653,660,667,675,680,683,688,691,693-695,698-700,702,710,712,716-719,721-723,725-730
source/src/cip/ciptypes.c                     26       0     0%   14-15,17,32,35,43-44,46,51-52,54-56,58,61-62,67-69,74-76,81-84
source/src/enet_encap/cpf.c                  282      38    13%   62,65-67,70-72,76-77,80,83-86,88,92-93,99-100,102,105,121,125-127,130,134-135,139-140,142,144,147,149-151,155-156,159-160,162-163,165,167,169,172,174,176,179,181-183,185,188,190-194,198-199,202,204-207,209,212-213,216,232,236-237,239,269-271,274-276,280-286,292-293,296-299,302-305,308-318,320,322,324,341,343,355-356,358-359,367,372-375,377,386,391-394,396-397,399,408,411,413,422,425,427,436,439,441,450,453-458,460,470,473-474,476,478,486,489-490,492,501,504-505,513,516-517,525,528-529,538,541,543,551,554,556-557,560,573,576-578,587,590-591,593,595,603,606-608,610-612,614,624,628-630,632,642,646-647,649,651,655,658-659,662,665,667-668,670-671,673,675-676,678,686-687,690-691,694,696,698,702,707-708,710-712,715,717,719,729-732,734,737,740-742,745,747,754,757-758
source/src/enet_encap/encap.c                354     119    33%   129-130,134-135,139-140,143-145,150-153,155,158,160,166-168,172-173,175-176,179-181,184,186,190-191,193,200-202,204,207-208,210,212-214,216,218-220,222,224-226,228,230-232,234,236-238,240,243-245,253,260-261,265-266,268-269,272-274,277,279,282-283,285-288,290,292-295,298,301,305-307,309,329,331-332,405,408-409,411,415-416,418-421,423-425,429-431,435,438,440,503,506-508,510,512,517-518,520,569-570,573,576-579,583-585,591,593-595,597-598,621,624-625,627-632,637,642,650,657,659,664,667,670,673-674,678-679,681,686,689,727-728,730,735,741,745,747,750,757-762,829,831-832,834-837,839-846,849-850,856-858,864-869,872,874-879,881,883,888,890,894,896,898-902,905-907,911,913-915,919,924,934-938,940,942
source/src/enet_encap/endianconv.c           132     115    87%   52-56,207-208,210-211,213-216,219,222,251-252
source/src/ports/generic_networkhandler.c
                                             478      52    10%   127-128,132,134,136,139-140,142,145-146,149-153,157-158,161,164,175,183-187,192-193,197-201,206-207,211-212,223,232-233,244,251-252,254,257,260-262,266-267,270,273-275,279-280,284,286-289,294,298,300,302,305-306,311-313,318-319,322,325-327,332-333,337,339-342,348,355,357-360,364,369-372,376-377,381-383,386-387,392-393,395,398-401,423-424,426,428,434-435,437-438,440-444,447-448,451,453,463,465,467-469,473,477-478,480-482,484,487-488,490-491,496-498,501-502,506-510,512-513,516,518-519,525-526,532-534,541,544,547-549,553,558-562,565,567-569,573,576-577,584-587,592-593,596,598-603,613-614,616-617,621,632,635,637,642,644-646,649,652-653,660-663,667-668,671,673-678,686-687,689-690,694,702,705,707,712,722-724,728-731,735-736,739,751-754,764,766-767,772,774,776-779,781-783,786-787,789-790,794-796,799,803,806,809-811,814-817,823-825,827-831,836-837,839-841,843-845,848-849,851,853-855,860-863,865-869,873-874,877,879,881,883,885-891,894,897-899,905-906,909,911,914,917,920,922,926-927,931,935,951,953,955-958,961-962,965,968-971,975,977-978,984-986,991-993,995,998-1000,1003-1005,1009,1011,1013-1014,1022-1024,1026-1028,1031-1032,1040-1041,1043,1048-1050,1055-1056,1061-1062,1067-1069,1074-1075,1098,1101-1102,1104,1107-1108,1111-1113,1115,1117-1120,1122,1128-1131,1137-1138,1140,1143-1146,1148-1149,1152-1153,1155,1158,1181,1212-1215,1217,1220
source/src/ports/nvdata/conffile.c            32       0     0%   59-64,66-69,73,75,77-78,80-84,92,111-113,115-117,130-133,135-136
source/src/ports/nvdata/nvdata.c              22       0     0%   37,39-42,45,63,67,71,74,76,80-81,83,99,104,107,109,111,115-116,119
source/src/ports/nvdata/nvqos.c               37       0     0%   31-33,43-47,49-50,57,71,73,79-81,86-91,96,104-107,109,112-117,121-122,124
source/src/ports/nvdata/nvtcpip.c             17       0     0%   27,29,31,33-34,37,39,45,49,57,59,61-62,65,67,70-71
source/src/ports/POSIX/networkconfig.c       171       0     0%   27,29-31,33-35,37,39-41,43,45-46,49,52,54-58,60-62,66-70,72-73,76-77,79-80,83-84,86,88,91,93,95-97,99,102-105,107-108,110-114,122-123,125-126,128-132,134,137-138,140,153,155-158,160-171,173,176-178,185-189,191-192,194,201,204-207,212-216,218-220,231,233-234,237-240,242-246,248,251,253-254,256,258-260,262-264,267,270-271,273,278,281-282,284-287,289-291,295-296,298-300,302-303,305-306,309-310,312-313,315-316,319,322-323,325-328,330
source/src/ports/POSIX/networkhandler.c       27      10    37%   22-23,25-29,32-33,36,38,57-59,62,66-67
source/src/ports/POSIX/opener_error.c          6       6   100%
source/src/ports/POSIX/sample_application/sampleapplication.c
                                              50       0     0%   40,43,48,53,58,61,64,68,72,76,85,87,117,120,122,124,129-132,134-135,138,142,145,163,166,173,176-177,180,182-184,187,189-190,192-193,196-197,200-202,204-207,209,212
source/src/ports/socket_timer.c               25      25   100%
source/src/utils/doublylinkedlist.c           86      83    96%   48,127,130
source/src/utils/enipmessage.c                 4       4   100%
source/src/utils/random.c                     13      12    92%   33
source/src/utils/xorshiftrandom.c             21      14    66%   18-19,21,33,41-42,44
source/tests/callback_mock.cpp                31       8    25%   12-14,17-19,21,24-25,27-29,32-33,36-38,41-43,64-66
source/tests/cip/cipcommontests.cpp          107     107   100%
source/tests/cip/cipconnectionobjecttest.cpp
                                             382     382   100%
source/tests/cip/cipelectronickeyformattest.cpp
                                             125     125   100%
source/tests/cip/cipelectronickeytest.cpp
                                              24      24   100%
source/tests/cip/cipepathtest.cpp            633     633   100%
source/tests/cip/cipstringtests.cpp          207     207   100%
source/tests/enet_encap/encaptest.cpp         52      52   100%
source/tests/enet_encap/endianconvtest.cpp
                                             167     167   100%
source/tests/OpENerTests.cpp                  29      11    37%   70,77-79,82,84,90-91,93-94,96-100,102,106,114
source/tests/ports/check_encapsulation_inactivity_tests.cpp
                                             186     186   100%
source/tests/ports/socket_timer_tests.cpp
                                              31      31   100%
source/tests/security_tests.cpp              148     147    99%   155
source/tests/utils/doublylinkedlistTests.cpp
                                             247     245    99%   43,47
source/tests/utils/randomTests.cpp            10      10   100%
source/tests/utils/xorshiftrandomtests.cpp
                                              15      15   100%
------------------------------------------------------------------------------
TOTAL                                       7950    3527    44%
------------------------------------------------------------------------------
lines: 44.4% (3527 out of 7950)
functions: 66.9% (711 out of 1063)
branches: 20.0% (1327 out of 6622)

📥 Download the detailed HTML report from artifacts.

ℹ️ This PR was tested with standard static analysis. Exhaustive analysis will run on release branches.

Signed-off-by: Martin Melik Merkumians <[email protected]>
Signed-off-by: Martin Melik Merkumians <[email protected]>
Signed-off-by: Martin Melik Merkumians <[email protected]>
@github-actions
Copy link

github-actions bot commented Jan 5, 2026

📊 Coverage Report

Line Coverage: 44.4%

------------------------------------------------------------------------------
                           GCC Code Coverage Report
Directory: .
------------------------------------------------------------------------------
File                                       Lines    Exec  Cover   Missing
------------------------------------------------------------------------------
source/src/cip/appcontype.c                  186       0     0%   96,101-102,104,106,109,111,115-116,118-119,122,124,128-129,131,133,136,138,141,143-146,149-151,154-157,160,163,170,177,179,183-184,187,190,193-199,202-203,205-208,210-211,213-215,217-218,220,222,225-226,235,238,240-241,243-246,248,250-252,254,257-262,265,267,269,273-278,286-287,290,293,295-296,298-301,303,305-307,309,313,320-325,328,330,332,336-341,349-350,353,355,357-360,362-364,368-369,371-373,376,381,383,385-388,390,392,394-395,397,401,403,408,412-420,424-425,428,430-436,438,440-441,443-446,449,454-455,459,462,465
source/src/cip/cipassembly.c                  75       0     0%   49,51,63-64,69,74-75,78,84-85,88-89,91-96,98,101,103,106-108,111,115,119-121,125-126,128,137,142,145,148,154-156,162,166,169,173-175,177-179,181-184,186-189,193-194,196,205,207,210,212,215,218-220,222,224,227,230-232,234,236
source/src/cip/cipclass3connection.c          35       0     0%   19-20,22-23,26,29,31,33-35,38,40,42,46,48,51,53,60-62,64,70-71,74,76,79-83,89,92-95
source/src/cip/cipcommon.c                   801      44     5%   46,48-59,64-65,82-83,85,88,90,92,94,96,99-100,102,109,114-115,118,120-125,127-129,135,140,142,144,146,152,154,156-158,161-165,168,170,173,175-178,182,185-186,190,192,195,199,201,205,209,211,215-218,221-222,226,228,232,234,236,238,244-245,249,251,255,257,264-265,267,270,272,274-276,279,281,284,296,300,309,311,314-316,318,320,322,324,326-327,330,332-333,335-336,345,349,351-352,354,356,358,360-361,366,368,370,373,376,378,380,383,386-387,390-391,393-394,396,398,402,408,410,412-413,418,420,425,427,433,435,442,449,454,456,461,463,465-466,472,478,485,494,496-497,501-509,511,513,515-517,519,521-523,525,531,533,536,541,545,548,550-556,558,561,564,567-568,570-571,573-574,578-579,581,584,586,588-590,592,599,602-607,610,617-618,621-622,624,627,630-634,637,641-643,647-649,653-656,661,669,671-672,689,691-692,709,711-712,714-716,718,720-721,723,725-726,728,730-731,733,735-736,738,740,742,744-749,751,753,755-758,760-761,763,765,768,770,773-774,776-777,779,782-783,785-786,788,790-795,797,799-802,804-806,808-810,812-814,816-818,820,822-823,826,828,830-837,839,841-843,845,847-851,853,856-861,863,870-871,873-874,876,879,883-884,890-893,897-899,903,906,911-914,917,919,923,926,929-931,934,937-939,942,946-948,950-953,955-958,962-964,966-967,970,973-975,978,981-983,986,989-991,994,997-999,1002,1005-1007,1010,1013-1015,1018,1021-1023,1026,1029-1031,1034,1037-1039,1042,1045-1047,1050,1053-1055,1058,1061-1063,1066,1069-1071,1090-1091,1119,1121,1123-1125,1127,1132,1138-1139,1141-1142,1146,1148-1151,1153,1155-1156,1158-1161,1164,1167,1169,1172,1175,1181-1182,1184-1188,1190-1191,1193-1195,1197,1200,1205-1207,1209,1211-1212,1214,1216,1218-1219,1221,1223,1225,1228,1232,1234,1236,1239,1242-1247,1249,1252,1254,1258,1261,1263,1267,1269,1271,1276-1277,1279,1282-1283,1286,1291,1297-1298,1300-1304,1306-1307,1309-1311,1313,1317,1319-1321,1323,1325-1326,1328,1330,1332,1334-1335,1337,1340,1342,1346,1348,1350,1353,1356-1358,1360,1362,1364,1366,1370,1373,1376-1380,1383-1384,1389,1392-1393,1398-1399,1401,1404-1405,1408,1414-1417,1419,1421-1423,1426,1428-1430,1433-1434,1436-1438,1441,1443-1445,1448-1449,1451-1453,1456,1458-1460,1466,1468,1470,1473-1475,1477-1478,1481-1483,1485-1486,1491-1493,1495-1497,1499,1501-1504,1506,1508-1510,1512,1514-1517,1519,1521-1523,1525,1527-1530,1532,1534-1536,1538-1540,1548,1550-1551,1554,1561-1562,1564-1568,1570,1572,1575-1576,1580,1582,1584,1587-1588,1592,1594,1597,1604-1605,1607-1611,1613,1615,1618-1619,1623-1624,1628,1630-1631,1634-1638,1645-1646,1650,1653,1656,1658,1660,1663,1670-1671,1673-1677,1679,1681,1684-1685,1689,1691-1692,1696,1699-1700,1703-1707,1709-1711
source/src/cip/cipconnectionmanager.c        700       0     0%   179-180,182-187,189,191,209,211-212,216,219-220,224,229,232,237,240,248,256,264,269,272,277,280,282,284,286-287,289,303,307,311,313-314,318,320,324,328,333,335-336,341,344,351-352,357,360-361,363,368-370,373,375-376,378,383,385-386,388-389,391-392,428,434-436,438-439,459,465-466,468-469,488,494-495,497-498,515,521-522,524,527-528,530,537,539-540,549-550,552-554,557,560-561,565-566,568,573,576,609,614-615,648,653-654,660,665,667-668,672,674,677,681-684,687-688,695-696,703,706,708-711,720,725-726,730,735-736,739-740,742,748,754-755,759,764-765,767,770-775,777,779,781,784-786,788-792,795-799,806,808,815,818,827,833-837,839,842,848-850,852-853,856-857,860,863-865,867-868,870,874,877,879,881-882,884-885,888,891,898-900,902-903,906-911,918,921-923,925-926,928-932,937,939,941,943-944,946-947,950,953,957,960,962,965,968,971,974,977,980,983,986,988,990,992,995,998,1001,1004,1007,1009,1011,1013,1016,1018,1020,1023-1024,1026,1028,1030-1033,1035,1039,1042-1044,1046-1047,1052-1053,1055,1057,1059-1060,1065-1066,1070,1072,1074-1075,1077,1079,1082-1083,1086-1087,1089,1093,1095-1096,1100,1103,1108,1110,1124,1130,1132-1133,1136,1138-1140,1143-1144,1146-1147,1149,1151-1153,1155,1159,1161,1169-1170,1174-1175,1177-1178,1181-1188,1191-1196,1199-1202,1210,1212,1214,1217,1219,1221,1225,1229,1231,1239,1242,1245-1247,1260,1268,1270-1271,1274,1276-1278,1280-1281,1284-1285,1287-1288,1290,1292-1293,1295-1297,1301-1302,1305-1306,1308-1310,1312-1313,1315,1320,1322,1324-1326,1328,1330,1332-1333,1335,1340,1342,1344-1348,1351,1357,1361,1364-1365,1367,1370-1371,1374-1379,1381,1386-1389,1391,1395,1397,1403-1408,1410,1416-1420,1423,1425,1431,1433,1436,1439-1442,1447,1449-1450,1452-1453,1456,1458-1460,1463-1464,1466-1467,1470,1473-1475,1478,1480-1486,1488-1491,1494-1496,1498,1500,1513-1515,1518-1519,1521,1525,1531-1532,1535-1538,1540-1543,1548,1550-1554,1556-1557,1560,1563,1567,1569,1571,1573,1576,1578,1581,1583-1585,1588,1590,1592,1594,1597,1599,1602-1603,1606,1608-1609,1611,1615-1616,1618,1621,1627,1630,1636,1641,1644-1647,1649-1650,1654-1656,1658,1664-1666,1669,1672-1674,1676-1679,1683,1685,1687,1689,1695-1697,1699,1701,1703-1707,1710-1712,1714,1717,1719,1721,1725-1726,1728,1731-1737,1739-1743,1748-1754,1756,1759-1761,1765,1767,1769,1774,1776,1779,1782-1783,1790,1793-1794,1797,1800,1802-1803,1806,1808,1810,1812,1815-1817,1819-1821,1823,1825-1830,1833,1836-1837,1839,1841-1846,1850,1852,1855,1857,1861-1862,1864-1865,1867-1868,1872,1875,1877,1879-1882,1885,1888,1890,1892-1897,1899,1902-1904,1908,1910,1913,1916-1921,1923,1927,1929-1930,1932,1934-1935,1938-1940
source/src/cip/cipconnectionobject.c         383     229    59%   61-62,67-71,77-81,86,88,107,109,111-112,167,180,248-249,271,274-275,294-296,398,400,403,406-407,409,411,414,417-418,425,427-428,430,432,435,467,478,480,482,484,502,505,508-510,512-514,516-518,520-522,524-526,528,530,532,534,537,540,542,544,546,549,552,554,556,558,561,564-565,579,581,583-584,586,588,590-591,593,611,621,631,633,635,641,652,654-655,657,673,685,697,715-716,739-740,745,774-775,819-820,852-853,873,876-877,879,881-886,888,890-892,894,896-897,899-900,904,908-909,913,917,919,923,925-926,928,930,933,938,940,942,945,950,953-954
source/src/cip/cipdlr.c                       30       0     0%   95,98,100-101,103,105,107-109,111,116-117,119,131,136,138,142,144,151,158,165,172,179,186,193,202,209,216,228,230
source/src/cip/cipelectronickey.c             47      47   100%
source/src/cip/cipepath.c                    297     270    90%   88-90,230-232,276-278,329-330,530,532-535,633,635,637-638,640-641,643,697,701,704-705
source/src/cip/cipethernetlink.c              58       0     0%   198-199,222-223,226,228-229,235-236,246,248,252,272-274,276,283,290,313,320,349,357,364,371,378,385,400-402,406,409,412,424,427,429,432,444,447,449,456,458,460-462,465,467-473,475,477-480,484
source/src/cip/cipidentity.c                 106       0     0%   59-62,65-67,70-72,75-77,80-83,86-88,91-92,96-97,100,104-105,108-110,114,116,118,129-132,142-145,155,157-160,168,172,174,176-177,179,181-182,184-187,191-193,201-203,206,209-210,212,217,219,224,226,233,240,247,252,254,259,262,266,270-271,273,275-278,280-281,295,299-300,302-303,310,317,324,331,338,345,353,355-357,359,362
source/src/cip/cipioconnection.c             432       0     0%   86-88,90-91,94-96,98-99,102,104-105,107-108,111,113,118-120,130-134,136,138,141-145,147-148,154,156-157,160-165,168-169,172,174-175,178,180-182,190,193-194,196-199,201,203,206-207,210-211,215,217,221,223,227-228,233,237-244,246,248-253,256-257,259,261-262,264,266-268,289,292,294-296,300,302,306,308,310-313,316,321-324,329,331,333,338,340,342,347,349-350,355-358,361-363,365,368,370,374,376-377,380,392,395,398,405,407,409-411,417-419,421-422,424-426,428-430,432,435,440,442-444,446-448,452-454,456-458,464-465,467,470,474-476,478,481,488-491,494,496,498,503-504,509-510,514-516,519,523,525-530,532,542,546,548-549,551-552,554-556,558,561,564-566,568,571,575-576,581,592-593,596-602,605-606,613-619,621-623,628-629,632,634,636-637,639,641,643,649-653,655-658,661-665,672,675,684-685,688,693,700-701,703-705,709-712,715-716,718-723,725,729-733,735-736,738,741,743,745,749,751,754-755,761,763,766-771,773-774,776,778-780,784,786,788,792,795,798-799,807-810,812-813,817-818,820,825,832,835-837,840,842-844,846,848,850-851,853,855-857,860,862,866-867,869-871,873-875,877-879,882-883,885-886,888,891,895-896,899-901,903-905,907,910,913-914,916-917,919-920,922,924-925,928-929,931-936,938,941-942,944-945,947,951,961-963,967,970-971,973-974,978,981,987,990,997,1000,1005,1008,1017,1019-1021,1025-1027,1031-1032,1035-1036
source/src/cip/cipmessagerouter.c            121       0     0%   54-55,57,62,64,69,71,78,85,92,97,99,104,107,111,113,115-116,128,131,137,147-148,151,153-155,157,162-164,166-167,173,175,180-181,183-184,190-191,193,195,198-200,203-204,206,209,214-215,217-219,224-229,232-234,238,241-245,250-251,254-255,278,281,285-287,289-290,292,296,299-302,306-307,309-311,313-315,317-321,324,326,330-337,340-347,349,351-352
source/src/cip/cipqos.c                       55       0     0%   70,74,76,78-81,83-84,87,91,94,97-112,114-115,117,120-121,123-124,140,142,149,156,163,170,177,184,191,199,201,204,207-209,211-212,221-223
source/src/cip/cipstring.c                   124     109    87%   68-70,272,275-276,278,281-284,286,288-289,291
source/src/cip/cipstringi.c                  229       0     0%   16-40,42,44-47,49-67,69,76-85,92,94-134,136,138-151,153,155,157,159-160,162-163,165-175,177-182,184-185,187-202,204-210,212-215,217-221,224,226,229,231-233,235-255,259,261-263,265-272,275-287,291-292
source/src/cip/ciptcpipinterface.c            94       0     0%   322,324,326,328,330,332,334,336,338,340,343,345-346,348,351-352,354-355,357,360,362-363,365,368,370,372-373,375,377,383,385-387,389,393,396-398,401,518,522,524-525,527-528,530-532,535,538-539,541-542,558,560,567,574,581,607,614,625,632,639,646,653,660,667,675,680,683,688,691,693-695,698-700,702,710,712,716-719,721-723,725-730
source/src/cip/ciptypes.c                     26       0     0%   14-15,17,32,35,43-44,46,51-52,54-56,58,61-62,67-69,74-76,81-84
source/src/enet_encap/cpf.c                  282      38    13%   62,65-67,70-72,76-77,80,83-86,88,92-93,99-100,102,105,121,125-127,130,134-135,139-140,142,144,147,149-151,155-156,159-160,162-163,165,167,169,172,174,176,179,181-183,185,188,190-194,198-199,202,204-207,209,212-213,216,232,236-237,239,269-271,274-276,280-286,292-293,296-299,302-305,308-318,320,322,324,341,343,355-356,358-359,367,372-375,377,386,391-394,396-397,399,408,411,413,422,425,427,436,439,441,450,453-458,460,470,473-474,476,478,486,489-490,492,501,504-505,513,516-517,525,528-529,538,541,543,551,554,556-557,560,573,576-578,587,590-591,593,595,603,606-608,610-612,614,624,628-630,632,642,646-647,649,651,655,658-659,662,665,667-668,670-671,673,675-676,678,686-687,690-691,694,696,698,702,707-708,710-712,715,717,719,729-732,734,737,740-742,745,747,754,757-758
source/src/enet_encap/encap.c                354     119    33%   129-130,134-135,139-140,143-145,150-153,155,158,160,166-168,172-173,175-176,179-181,184,186,190-191,193,200-202,204,207-208,210,212-214,216,218-220,222,224-226,228,230-232,234,236-238,240,243-245,253,260-261,265-266,268-269,272-274,277,279,282-283,285-288,290,292-295,298,301,305-307,309,329,331-332,405,408-409,411,415-416,418-421,423-425,429-431,435,438,440,503,506-508,510,512,517-518,520,569-570,573,576-579,583-585,591,593-595,597-598,621,624-625,627-632,637,642,650,657,659,664,667,670,673-674,678-679,681,686,689,727-728,730,735,741,745,747,750,757-762,829,831-832,834-837,839-846,849-850,856-858,864-869,872,874-879,881,883,888,890,894,896,898-902,905-907,911,913-915,919,924,934-938,940,942
source/src/enet_encap/endianconv.c           132     115    87%   52-56,207-208,210-211,213-216,219,222,251-252
source/src/ports/generic_networkhandler.c
                                             478      52    10%   127-128,132,134,136,139-140,142,145-146,149-153,157-158,161,164,175,183-187,192-193,197-201,206-207,211-212,223,232-233,244,251-252,254,257,260-262,266-267,270,273-275,279-280,284,286-289,294,298,300,302,305-306,311-313,318-319,322,325-327,332-333,337,339-342,348,355,357-360,364,369-372,376-377,381-383,386-387,392-393,395,398-401,423-424,426,428,434-435,437-438,440-444,447-448,451,453,463,465,467-469,473,477-478,480-482,484,487-488,490-491,496-498,501-502,506-510,512-513,516,518-519,525-526,532-534,541,544,547-549,553,558-562,565,567-569,573,576-577,584-587,592-593,596,598-603,613-614,616-617,621,632,635,637,642,644-646,649,652-653,660-663,667-668,671,673-678,686-687,689-690,694,702,705,707,712,722-724,728-731,735-736,739,751-754,764,766-767,772,774,776-779,781-783,786-787,789-790,794-796,799,803,806,809-811,814-817,823-825,827-831,836-837,839-841,843-845,848-849,851,853-855,860-863,865-869,873-874,877,879,881,883,885-891,894,897-899,905-906,909,911,914,917,920,922,926-927,931,935,951,953,955-958,961-962,965,968-971,975,977-978,984-986,991-993,995,998-1000,1003-1005,1009,1011,1013-1014,1022-1024,1026-1028,1031-1032,1040-1041,1043,1048-1050,1055-1056,1061-1062,1067-1069,1074-1075,1098,1101-1102,1104,1107-1108,1111-1113,1115,1117-1120,1122,1128-1131,1137-1138,1140,1143-1146,1148-1149,1152-1153,1155,1158,1181,1212-1215,1217,1220
source/src/ports/nvdata/conffile.c            32       0     0%   59-64,66-69,73,75,77-78,80-84,92,111-113,115-117,130-133,135-136
source/src/ports/nvdata/nvdata.c              22       0     0%   37,39-42,45,63,67,71,74,76,80-81,83,99,104,107,109,111,115-116,119
source/src/ports/nvdata/nvqos.c               37       0     0%   31-33,43-47,49-50,57,71,73,79-81,86-91,96,104-107,109,112-117,121-122,124
source/src/ports/nvdata/nvtcpip.c             17       0     0%   27,29,31,33-34,37,39,45,49,57,59,61-62,65,67,70-71
source/src/ports/POSIX/networkconfig.c       171       0     0%   27,29-31,33-35,37,39-41,43,45-46,49,52,54-58,60-62,66-70,72-73,76-77,79-80,83-84,86,88,91,93,95-97,99,102-105,107-108,110-114,122-123,125-126,128-132,134,137-138,140,153,155-158,160-171,173,176-178,185-189,191-192,194,201,204-207,212-216,218-220,231,233-234,237-240,242-246,248,251,253-254,256,258-260,262-264,267,270-271,273,278,281-282,284-287,289-291,295-296,298-300,302-303,305-306,309-310,312-313,315-316,319,322-323,325-328,330
source/src/ports/POSIX/networkhandler.c       27      10    37%   22-23,25-29,32-33,36,38,57-59,62,66-67
source/src/ports/POSIX/opener_error.c          6       6   100%
source/src/ports/POSIX/sample_application/sampleapplication.c
                                              50       0     0%   40,43,48,53,58,61,64,68,72,76,85,87,117,120,122,124,129-132,134-135,138,142,145,163,166,173,176-177,180,182-184,187,189-190,192-193,196-197,200-202,204-207,209,212
source/src/ports/socket_timer.c               25      25   100%
source/src/utils/doublylinkedlist.c           86      83    96%   48,127,130
source/src/utils/enipmessage.c                 4       4   100%
source/src/utils/random.c                     13      12    92%   33
source/src/utils/xorshiftrandom.c             21      14    66%   18-19,21,33,41-42,44
source/tests/callback_mock.cpp                31       8    25%   12-14,17-19,21,24-25,27-29,32-33,36-38,41-43,64-66
source/tests/cip/cipcommontests.cpp          107     107   100%
source/tests/cip/cipconnectionobjecttest.cpp
                                             382     382   100%
source/tests/cip/cipelectronickeyformattest.cpp
                                             125     125   100%
source/tests/cip/cipelectronickeytest.cpp
                                              24      24   100%
source/tests/cip/cipepathtest.cpp            633     633   100%
source/tests/cip/cipstringtests.cpp          207     207   100%
source/tests/enet_encap/encaptest.cpp         52      52   100%
source/tests/enet_encap/endianconvtest.cpp
                                             167     167   100%
source/tests/OpENerTests.cpp                  29      11    37%   70,77-79,82,84,90-91,93-94,96-100,102,106,112
source/tests/ports/check_encapsulation_inactivity_tests.cpp
                                             186     186   100%
source/tests/ports/socket_timer_tests.cpp
                                              31      31   100%
source/tests/security_tests.cpp              148     147    99%   155
source/tests/utils/doublylinkedlistTests.cpp
                                             247     245    99%   43,47
source/tests/utils/randomTests.cpp            10      10   100%
source/tests/utils/xorshiftrandomtests.cpp
                                              15      15   100%
------------------------------------------------------------------------------
TOTAL                                       7950    3527    44%
------------------------------------------------------------------------------
lines: 44.4% (3527 out of 7950)
functions: 66.9% (711 out of 1063)
branches: 20.0% (1327 out of 6622)

📥 Download the detailed HTML report from artifacts.

ℹ️ This PR was tested with standard static analysis. Exhaustive analysis will run on release branches.

@github-actions
Copy link

github-actions bot commented Jan 5, 2026

📊 Coverage Report

Line Coverage: 44.4%

------------------------------------------------------------------------------
                           GCC Code Coverage Report
Directory: .
------------------------------------------------------------------------------
File                                       Lines    Exec  Cover   Missing
------------------------------------------------------------------------------
source/src/cip/appcontype.c                  186       0     0%   96,101-102,104,106,109,111,115-116,118-119,122,124,128-129,131,133,136,138,141,143-146,149-151,154-157,160,163,170,177,179,183-184,187,190,193-199,202-203,205-208,210-211,213-215,217-218,220,222,225-226,235,238,240-241,243-246,248,250-252,254,257-262,265,267,269,273-278,286-287,290,293,295-296,298-301,303,305-307,309,313,320-325,328,330,332,336-341,349-350,353,355,357-360,362-364,368-369,371-373,376,381,383,385-388,390,392,394-395,397,401,403,408,412-420,424-425,428,430-436,438,440-441,443-446,449,454-455,459,462,465
source/src/cip/cipassembly.c                  75       0     0%   49,51,63-64,69,74-75,78,84-85,88-89,91-96,98,101,103,106-108,111,115,119-121,125-126,128,137,142,145,148,154-156,162,166,169,173-175,177-179,181-184,186-189,193-194,196,205,207,210,212,215,218-220,222,224,227,230-232,234,236
source/src/cip/cipclass3connection.c          35       0     0%   19-20,22-23,26,29,31,33-35,38,40,42,46,48,51,53,60-62,64,70-71,74,76,79-83,89,92-95
source/src/cip/cipcommon.c                   801      44     5%   46,48-59,64-65,82-83,85,88,90,92,94,96,99-100,102,109,114-115,118,120-125,127-129,135,140,142,144,146,152,154,156-158,161-165,168,170,173,175-178,182,185-186,190,192,195,199,201,205,209,211,215-218,221-222,226,228,232,234,236,238,244-245,249,251,255,257,264-265,267,270,272,274-276,279,281,284,296,300,309,311,314-316,318,320,322,324,326-327,330,332-333,335-336,345,349,351-352,354,356,358,360-361,366,368,370,373,376,378,380,383,386-387,390-391,393-394,396,398,402,408,410,412-413,418,420,425,427,433,435,442,449,454,456,461,463,465-466,472,478,485,494,496-497,501-509,511,513,515-517,519,521-523,525,531,533,536,541,545,548,550-556,558,561,564,567-568,570-571,573-574,578-579,581,584,586,588-590,592,599,602-607,610,617-618,621-622,624,627,630-634,637,641-643,647-649,653-656,661,669,671-672,689,691-692,709,711-712,714-716,718,720-721,723,725-726,728,730-731,733,735-736,738,740,742,744-749,751,753,755-758,760-761,763,765,768,770,773-774,776-777,779,782-783,785-786,788,790-795,797,799-802,804-806,808-810,812-814,816-818,820,822-823,826,828,830-837,839,841-843,845,847-851,853,856-861,863,870-871,873-874,876,879,883-884,890-893,897-899,903,906,911-914,917,919,923,926,929-931,934,937-939,942,946-948,950-953,955-958,962-964,966-967,970,973-975,978,981-983,986,989-991,994,997-999,1002,1005-1007,1010,1013-1015,1018,1021-1023,1026,1029-1031,1034,1037-1039,1042,1045-1047,1050,1053-1055,1058,1061-1063,1066,1069-1071,1090-1091,1119,1121,1123-1125,1127,1132,1138-1139,1141-1142,1146,1148-1151,1153,1155-1156,1158-1161,1164,1167,1169,1172,1175,1181-1182,1184-1188,1190-1191,1193-1195,1197,1200,1205-1207,1209,1211-1212,1214,1216,1218-1219,1221,1223,1225,1228,1232,1234,1236,1239,1242-1247,1249,1252,1254,1258,1261,1263,1267,1269,1271,1276-1277,1279,1282-1283,1286,1291,1297-1298,1300-1304,1306-1307,1309-1311,1313,1317,1319-1321,1323,1325-1326,1328,1330,1332,1334-1335,1337,1340,1342,1346,1348,1350,1353,1356-1358,1360,1362,1364,1366,1370,1373,1376-1380,1383-1384,1389,1392-1393,1398-1399,1401,1404-1405,1408,1414-1417,1419,1421-1423,1426,1428-1430,1433-1434,1436-1438,1441,1443-1445,1448-1449,1451-1453,1456,1458-1460,1466,1468,1470,1473-1475,1477-1478,1481-1483,1485-1486,1491-1493,1495-1497,1499,1501-1504,1506,1508-1510,1512,1514-1517,1519,1521-1523,1525,1527-1530,1532,1534-1536,1538-1540,1548,1550-1551,1554,1561-1562,1564-1568,1570,1572,1575-1576,1580,1582,1584,1587-1588,1592,1594,1597,1604-1605,1607-1611,1613,1615,1618-1619,1623-1624,1628,1630-1631,1634-1638,1645-1646,1650,1653,1656,1658,1660,1663,1670-1671,1673-1677,1679,1681,1684-1685,1689,1691-1692,1696,1699-1700,1703-1707,1709-1711
source/src/cip/cipconnectionmanager.c        700       0     0%   179-180,182-187,189,191,209,211-212,216,219-220,224,229,232,237,240,248,256,264,269,272,277,280,282,284,286-287,289,303,307,311,313-314,318,320,324,328,333,335-336,341,344,351-352,357,360-361,363,368-370,373,375-376,378,383,385-386,388-389,391-392,428,434-436,438-439,459,465-466,468-469,488,494-495,497-498,515,521-522,524,527-528,530,537,539-540,549-550,552-554,557,560-561,565-566,568,573,576,609,614-615,648,653-654,660,665,667-668,672,674,677,681-684,687-688,695-696,703,706,708-711,720,725-726,730,735-736,739-740,742,748,754-755,759,764-765,767,770-775,777,779,781,784-786,788-792,795-799,806,808,815,818,827,833-837,839,842,848-850,852-853,856-857,860,863-865,867-868,870,874,877,879,881-882,884-885,888,891,898-900,902-903,906-911,918,921-923,925-926,928-932,937,939,941,943-944,946-947,950,953,957,960,962,965,968,971,974,977,980,983,986,988,990,992,995,998,1001,1004,1007,1009,1011,1013,1016,1018,1020,1023-1024,1026,1028,1030-1033,1035,1039,1042-1044,1046-1047,1052-1053,1055,1057,1059-1060,1065-1066,1070,1072,1074-1075,1077,1079,1082-1083,1086-1087,1089,1093,1095-1096,1100,1103,1108,1110,1124,1130,1132-1133,1136,1138-1140,1143-1144,1146-1147,1149,1151-1153,1155,1159,1161,1169-1170,1174-1175,1177-1178,1181-1188,1191-1196,1199-1202,1210,1212,1214,1217,1219,1221,1225,1229,1231,1239,1242,1245-1247,1260,1268,1270-1271,1274,1276-1278,1280-1281,1284-1285,1287-1288,1290,1292-1293,1295-1297,1301-1302,1305-1306,1308-1310,1312-1313,1315,1320,1322,1324-1326,1328,1330,1332-1333,1335,1340,1342,1344-1348,1351,1357,1361,1364-1365,1367,1370-1371,1374-1379,1381,1386-1389,1391,1395,1397,1403-1408,1410,1416-1420,1423,1425,1431,1433,1436,1439-1442,1447,1449-1450,1452-1453,1456,1458-1460,1463-1464,1466-1467,1470,1473-1475,1478,1480-1486,1488-1491,1494-1496,1498,1500,1513-1515,1518-1519,1521,1525,1531-1532,1535-1538,1540-1543,1548,1550-1554,1556-1557,1560,1563,1567,1569,1571,1573,1576,1578,1581,1583-1585,1588,1590,1592,1594,1597,1599,1602-1603,1606,1608-1609,1611,1615-1616,1618,1621,1627,1630,1636,1641,1644-1647,1649-1650,1654-1656,1658,1664-1666,1669,1672-1674,1676-1679,1683,1685,1687,1689,1695-1697,1699,1701,1703-1707,1710-1712,1714,1717,1719,1721,1725-1726,1728,1731-1737,1739-1743,1748-1754,1756,1759-1761,1765,1767,1769,1774,1776,1779,1782-1783,1790,1793-1794,1797,1800,1802-1803,1806,1808,1810,1812,1815-1817,1819-1821,1823,1825-1830,1833,1836-1837,1839,1841-1846,1850,1852,1855,1857,1861-1862,1864-1865,1867-1868,1872,1875,1877,1879-1882,1885,1888,1890,1892-1897,1899,1902-1904,1908,1910,1913,1916-1921,1923,1927,1929-1930,1932,1934-1935,1938-1940
source/src/cip/cipconnectionobject.c         383     229    59%   61-62,67-71,77-81,86,88,107,109,111-112,167,180,248-249,271,274-275,294-296,398,400,403,406-407,409,411,414,417-418,425,427-428,430,432,435,467,478,480,482,484,502,505,508-510,512-514,516-518,520-522,524-526,528,530,532,534,537,540,542,544,546,549,552,554,556,558,561,564-565,579,581,583-584,586,588,590-591,593,611,621,631,633,635,641,652,654-655,657,673,685,697,715-716,739-740,745,774-775,819-820,852-853,873,876-877,879,881-886,888,890-892,894,896-897,899-900,904,908-909,913,917,919,923,925-926,928,930,933,938,940,942,945,950,953-954
source/src/cip/cipdlr.c                       30       0     0%   95,98,100-101,103,105,107-109,111,116-117,119,131,136,138,142,144,151,158,165,172,179,186,193,202,209,216,228,230
source/src/cip/cipelectronickey.c             47      47   100%
source/src/cip/cipepath.c                    297     270    90%   88-90,230-232,276-278,329-330,530,532-535,633,635,637-638,640-641,643,697,701,704-705
source/src/cip/cipethernetlink.c              58       0     0%   198-199,222-223,226,228-229,235-236,246,248,252,272-274,276,283,290,313,320,349,357,364,371,378,385,400-402,406,409,412,424,427,429,432,444,447,449,456,458,460-462,465,467-473,475,477-480,484
source/src/cip/cipidentity.c                 106       0     0%   59-62,65-67,70-72,75-77,80-83,86-88,91-92,96-97,100,104-105,108-110,114,116,118,129-132,142-145,155,157-160,168,172,174,176-177,179,181-182,184-187,191-193,201-203,206,209-210,212,217,219,224,226,233,240,247,252,254,259,262,266,270-271,273,275-278,280-281,295,299-300,302-303,310,317,324,331,338,345,353,355-357,359,362
source/src/cip/cipioconnection.c             432       0     0%   86-88,90-91,94-96,98-99,102,104-105,107-108,111,113,118-120,130-134,136,138,141-145,147-148,154,156-157,160-165,168-169,172,174-175,178,180-182,190,193-194,196-199,201,203,206-207,210-211,215,217,221,223,227-228,233,237-244,246,248-253,256-257,259,261-262,264,266-268,289,292,294-296,300,302,306,308,310-313,316,321-324,329,331,333,338,340,342,347,349-350,355-358,361-363,365,368,370,374,376-377,380,392,395,398,405,407,409-411,417-419,421-422,424-426,428-430,432,435,440,442-444,446-448,452-454,456-458,464-465,467,470,474-476,478,481,488-491,494,496,498,503-504,509-510,514-516,519,523,525-530,532,542,546,548-549,551-552,554-556,558,561,564-566,568,571,575-576,581,592-593,596-602,605-606,613-619,621-623,628-629,632,634,636-637,639,641,643,649-653,655-658,661-665,672,675,684-685,688,693,700-701,703-705,709-712,715-716,718-723,725,729-733,735-736,738,741,743,745,749,751,754-755,761,763,766-771,773-774,776,778-780,784,786,788,792,795,798-799,807-810,812-813,817-818,820,825,832,835-837,840,842-844,846,848,850-851,853,855-857,860,862,866-867,869-871,873-875,877-879,882-883,885-886,888,891,895-896,899-901,903-905,907,910,913-914,916-917,919-920,922,924-925,928-929,931-936,938,941-942,944-945,947,951,961-963,967,970-971,973-974,978,981,987,990,997,1000,1005,1008,1017,1019-1021,1025-1027,1031-1032,1035-1036
source/src/cip/cipmessagerouter.c            121       0     0%   54-55,57,62,64,69,71,78,85,92,97,99,104,107,111,113,115-116,128,131,137,147-148,151,153-155,157,162-164,166-167,173,175,180-181,183-184,190-191,193,195,198-200,203-204,206,209,214-215,217-219,224-229,232-234,238,241-245,250-251,254-255,278,281,285-287,289-290,292,296,299-302,306-307,309-311,313-315,317-321,324,326,330-337,340-347,349,351-352
source/src/cip/cipqos.c                       55       0     0%   70,74,76,78-81,83-84,87,91,94,97-112,114-115,117,120-121,123-124,140,142,149,156,163,170,177,184,191,199,201,204,207-209,211-212,221-223
source/src/cip/cipstring.c                   124     109    87%   68-70,272,275-276,278,281-284,286,288-289,291
source/src/cip/cipstringi.c                  229       0     0%   16-40,42,44-47,49-67,69,76-85,92,94-134,136,138-151,153,155,157,159-160,162-163,165-175,177-182,184-185,187-202,204-210,212-215,217-221,224,226,229,231-233,235-255,259,261-263,265-272,275-287,291-292
source/src/cip/ciptcpipinterface.c            94       0     0%   322,324,326,328,330,332,334,336,338,340,343,345-346,348,351-352,354-355,357,360,362-363,365,368,370,372-373,375,377,383,385-387,389,393,396-398,401,518,522,524-525,527-528,530-532,535,538-539,541-542,558,560,567,574,581,607,614,625,632,639,646,653,660,667,675,680,683,688,691,693-695,698-700,702,710,712,716-719,721-723,725-730
source/src/cip/ciptypes.c                     26       0     0%   14-15,17,32,35,43-44,46,51-52,54-56,58,61-62,67-69,74-76,81-84
source/src/enet_encap/cpf.c                  282      38    13%   62,65-67,70-72,76-77,80,83-86,88,92-93,99-100,102,105,121,125-127,130,134-135,139-140,142,144,147,149-151,155-156,159-160,162-163,165,167,169,172,174,176,179,181-183,185,188,190-194,198-199,202,204-207,209,212-213,216,232,236-237,239,269-271,274-276,280-286,292-293,296-299,302-305,308-318,320,322,324,341,343,355-356,358-359,367,372-375,377,386,391-394,396-397,399,408,411,413,422,425,427,436,439,441,450,453-458,460,470,473-474,476,478,486,489-490,492,501,504-505,513,516-517,525,528-529,538,541,543,551,554,556-557,560,573,576-578,587,590-591,593,595,603,606-608,610-612,614,624,628-630,632,642,646-647,649,651,655,658-659,662,665,667-668,670-671,673,675-676,678,686-687,690-691,694,696,698,702,707-708,710-712,715,717,719,729-732,734,737,740-742,745,747,754,757-758
source/src/enet_encap/encap.c                354     119    33%   129-130,134-135,139-140,143-145,150-153,155,158,160,166-168,172-173,175-176,179-181,184,186,190-191,193,200-202,204,207-208,210,212-214,216,218-220,222,224-226,228,230-232,234,236-238,240,243-245,253,260-261,265-266,268-269,272-274,277,279,282-283,285-288,290,292-295,298,301,305-307,309,329,331-332,405,408-409,411,415-416,418-421,423-425,429-431,435,438,440,503,506-508,510,512,517-518,520,569-570,573,576-579,583-585,591,593-595,597-598,621,624-625,627-632,637,642,650,657,659,664,667,670,673-674,678-679,681,686,689,727-728,730,735,741,745,747,750,757-762,829,831-832,834-837,839-846,849-850,856-858,864-869,872,874-879,881,883,888,890,894,896,898-902,905-907,911,913-915,919,924,934-938,940,942
source/src/enet_encap/endianconv.c           132     115    87%   52-56,207-208,210-211,213-216,219,222,251-252
source/src/ports/generic_networkhandler.c
                                             478      52    10%   127-128,132,134,136,139-140,142,145-146,149-153,157-158,161,164,175,183-187,192-193,197-201,206-207,211-212,223,232-233,244,251-252,254,257,260-262,266-267,270,273-275,279-280,284,286-289,294,298,300,302,305-306,311-313,318-319,322,325-327,332-333,337,339-342,348,355,357-360,364,369-372,376-377,381-383,386-387,392-393,395,398-401,423-424,426,428,434-435,437-438,440-444,447-448,451,453,463,465,467-469,473,477-478,480-482,484,487-488,490-491,496-498,501-502,506-510,512-513,516,518-519,525-526,532-534,541,544,547-549,553,558-562,565,567-569,573,576-577,584-587,592-593,596,598-603,613-614,616-617,621,632,635,637,642,644-646,649,652-653,660-663,667-668,671,673-678,686-687,689-690,694,702,705,707,712,722-724,728-731,735-736,739,751-754,764,766-767,772,774,776-779,781-783,786-787,789-790,794-796,799,803,806,809-811,814-817,823-825,827-831,836-837,839-841,843-845,848-849,851,853-855,860-863,865-869,873-874,877,879,881,883,885-891,894,897-899,905-906,909,911,914,917,920,922,926-927,931,935,951,953,955-958,961-962,965,968-971,975,977-978,984-986,991-993,995,998-1000,1003-1005,1009,1011,1013-1014,1022-1024,1026-1028,1031-1032,1040-1041,1043,1048-1050,1055-1056,1061-1062,1067-1069,1074-1075,1098,1101-1102,1104,1107-1108,1111-1113,1115,1117-1120,1122,1128-1131,1137-1138,1140,1143-1146,1148-1149,1152-1153,1155,1158,1181,1212-1215,1217,1220
source/src/ports/nvdata/conffile.c            32       0     0%   59-64,66-69,73,75,77-78,80-84,92,111-113,115-117,130-133,135-136
source/src/ports/nvdata/nvdata.c              22       0     0%   37,39-42,45,63,67,71,74,76,80-81,83,99,104,107,109,111,115-116,119
source/src/ports/nvdata/nvqos.c               37       0     0%   31-33,43-47,49-50,57,71,73,79-81,86-91,96,104-107,109,112-117,121-122,124
source/src/ports/nvdata/nvtcpip.c             17       0     0%   27,29,31,33-34,37,39,45,49,57,59,61-62,65,67,70-71
source/src/ports/POSIX/networkconfig.c       171       0     0%   27,29-31,33-35,37,39-41,43,45-46,49,52,54-58,60-62,66-70,72-73,76-77,79-80,83-84,86,88,91,93,95-97,99,102-105,107-108,110-114,122-123,125-126,128-132,134,137-138,140,153,155-158,160-171,173,176-178,185-189,191-192,194,201,204-207,212-216,218-220,231,233-234,237-240,242-246,248,251,253-254,256,258-260,262-264,267,270-271,273,278,281-282,284-287,289-291,295-296,298-300,302-303,305-306,309-310,312-313,315-316,319,322-323,325-328,330
source/src/ports/POSIX/networkhandler.c       27      10    37%   22-23,25-29,32-33,36,38,57-59,62,66-67
source/src/ports/POSIX/opener_error.c          6       6   100%
source/src/ports/POSIX/sample_application/sampleapplication.c
                                              50       0     0%   40,43,48,53,58,61,64,68,72,76,85,87,117,120,122,124,129-132,134-135,138,142,145,163,166,173,176-177,180,182-184,187,189-190,192-193,196-197,200-202,204-207,209,212
source/src/ports/socket_timer.c               25      25   100%
source/src/utils/doublylinkedlist.c           86      83    96%   48,127,130
source/src/utils/enipmessage.c                 4       4   100%
source/src/utils/random.c                     13      12    92%   33
source/src/utils/xorshiftrandom.c             21      14    66%   18-19,21,33,41-42,44
source/tests/callback_mock.cpp                31       8    25%   12-14,17-19,21,24-25,27-29,32-33,36-38,41-43,64-66
source/tests/cip/cipcommontests.cpp          107     107   100%
source/tests/cip/cipconnectionobjecttest.cpp
                                             382     382   100%
source/tests/cip/cipelectronickeyformattest.cpp
                                             125     125   100%
source/tests/cip/cipelectronickeytest.cpp
                                              24      24   100%
source/tests/cip/cipepathtest.cpp            633     633   100%
source/tests/cip/cipstringtests.cpp          207     207   100%
source/tests/enet_encap/encaptest.cpp         52      52   100%
source/tests/enet_encap/endianconvtest.cpp
                                             167     167   100%
source/tests/OpENerTests.cpp                  29      11    37%   70,77-79,82,84,90-91,93-94,96-100,102,106,112
source/tests/ports/check_encapsulation_inactivity_tests.cpp
                                             186     186   100%
source/tests/ports/socket_timer_tests.cpp
                                              31      31   100%
source/tests/security_tests.cpp              148     147    99%   155
source/tests/utils/doublylinkedlistTests.cpp
                                             247     245    99%   43,47
source/tests/utils/randomTests.cpp            10      10   100%
source/tests/utils/xorshiftrandomtests.cpp
                                              15      15   100%
------------------------------------------------------------------------------
TOTAL                                       7950    3527    44%
------------------------------------------------------------------------------
lines: 44.4% (3527 out of 7950)
functions: 66.9% (711 out of 1063)
branches: 20.0% (1327 out of 6622)

📥 Download the detailed HTML report from artifacts.

ℹ️ This PR was tested with standard static analysis. Exhaustive analysis will run on release branches.

Signed-off-by: Martin Melik Merkumians <[email protected]>
Signed-off-by: Martin Melik Merkumians <[email protected]>
Signed-off-by: Martin Melik Merkumians <[email protected]>
@github-actions
Copy link

github-actions bot commented Jan 5, 2026

📊 Coverage Report

Line Coverage: 44.4%

------------------------------------------------------------------------------
                           GCC Code Coverage Report
Directory: .
------------------------------------------------------------------------------
File                                       Lines    Exec  Cover   Missing
------------------------------------------------------------------------------
source/src/cip/appcontype.c                  186       0     0%   96,101-102,104,106,109,111,115-116,118-119,122,124,128-129,131,133,136,138,141,143-146,149-151,154-157,160,163,170,177,179,183-184,187,190,193-199,202-203,205-208,210-211,213-215,217-218,220,222,225-226,235,238,240-241,243-246,248,250-252,254,257-262,265,267,269,273-278,286-287,290,293,295-296,298-301,303,305-307,309,313,320-325,328,330,332,336-341,349-350,353,355,357-360,362-364,368-369,371-373,376,381,383,385-388,390,392,394-395,397,401,403,408,412-420,424-425,428,430-436,438,440-441,443-446,449,454-455,459,462,465
source/src/cip/cipassembly.c                  75       0     0%   49,51,63-64,69,74-75,78,84-85,88-89,91-96,98,101,103,106-108,111,115,119-121,125-126,128,137,142,145,148,154-156,162,166,169,173-175,177-179,181-184,186-189,193-194,196,205,207,210,212,215,218-220,222,224,227,230-232,234,236
source/src/cip/cipclass3connection.c          35       0     0%   19-20,22-23,26,29,31,33-35,38,40,42,46,48,51,53,60-62,64,70-71,74,76,79-83,89,92-95
source/src/cip/cipcommon.c                   801      44     5%   46,48-59,64-65,82-83,85,88,90,92,94,96,99-100,102,109,114-115,118,120-125,127-129,135,140,142,144,146,152,154,156-158,161-165,168,170,173,175-178,182,185-186,190,192,195,199,201,205,209,211,215-218,221-222,226,228,232,234,236,238,244-245,249,251,255,257,264-265,267,270,272,274-276,279,281,284,296,300,309,311,314-316,318,320,322,324,326-327,330,332-333,335-336,345,349,351-352,354,356,358,360-361,366,368,370,373,376,378,380,383,386-387,390-391,393-394,396,398,402,408,410,412-413,418,420,425,427,433,435,442,449,454,456,461,463,465-466,472,478,485,494,496-497,501-509,511,513,515-517,519,521-523,525,531,533,536,541,545,548,550-556,558,561,564,567-568,570-571,573-574,578-579,581,584,586,588-590,592,599,602-607,610,617-618,621-622,624,627,630-634,637,641-643,647-649,653-656,661,669,671-672,689,691-692,709,711-712,714-716,718,720-721,723,725-726,728,730-731,733,735-736,738,740,742,744-749,751,753,755-758,760-761,763,765,768,770,773-774,776-777,779,782-783,785-786,788,790-795,797,799-802,804-806,808-810,812-814,816-818,820,822-823,826,828,830-837,839,841-843,845,847-851,853,856-861,863,870-871,873-874,876,879,883-884,890-893,897-899,903,906,911-914,917,919,923,926,929-931,934,937-939,942,946-948,950-953,955-958,962-964,966-967,970,973-975,978,981-983,986,989-991,994,997-999,1002,1005-1007,1010,1013-1015,1018,1021-1023,1026,1029-1031,1034,1037-1039,1042,1045-1047,1050,1053-1055,1058,1061-1063,1066,1069-1071,1090-1091,1119,1121,1123-1125,1127,1132,1138-1139,1141-1142,1146,1148-1151,1153,1155-1156,1158-1161,1164,1167,1169,1172,1175,1181-1182,1184-1188,1190-1191,1193-1195,1197,1200,1205-1207,1209,1211-1212,1214,1216,1218-1219,1221,1223,1225,1228,1232,1234,1236,1239,1242-1247,1249,1252,1254,1258,1261,1263,1267,1269,1271,1276-1277,1279,1282-1283,1286,1291,1297-1298,1300-1304,1306-1307,1309-1311,1313,1317,1319-1321,1323,1325-1326,1328,1330,1332,1334-1335,1337,1340,1342,1346,1348,1350,1353,1356-1358,1360,1362,1364,1366,1370,1373,1376-1380,1383-1384,1389,1392-1393,1398-1399,1401,1404-1405,1408,1414-1417,1419,1421-1423,1426,1428-1430,1433-1434,1436-1438,1441,1443-1445,1448-1449,1451-1453,1456,1458-1460,1466,1468,1470,1473-1475,1477-1478,1481-1483,1485-1486,1491-1493,1495-1497,1499,1501-1504,1506,1508-1510,1512,1514-1517,1519,1521-1523,1525,1527-1530,1532,1534-1536,1538-1540,1548,1550-1551,1554,1561-1562,1564-1568,1570,1572,1575-1576,1580,1582,1584,1587-1588,1592,1594,1597,1604-1605,1607-1611,1613,1615,1618-1619,1623-1624,1628,1630-1631,1634-1638,1645-1646,1650,1653,1656,1658,1660,1663,1670-1671,1673-1677,1679,1681,1684-1685,1689,1691-1692,1696,1699-1700,1703-1707,1709-1711
source/src/cip/cipconnectionmanager.c        700       0     0%   179-180,182-187,189,191,209,211-212,216,219-220,224,229,232,237,240,248,256,264,269,272,277,280,282,284,286-287,289,303,307,311,313-314,318,320,324,328,333,335-336,341,344,351-352,357,360-361,363,368-370,373,375-376,378,383,385-386,388-389,391-392,428,434-436,438-439,459,465-466,468-469,488,494-495,497-498,515,521-522,524,527-528,530,537,539-540,549-550,552-554,557,560-561,565-566,568,573,576,609,614-615,648,653-654,660,665,667-668,672,674,677,681-684,687-688,695-696,703,706,708-711,720,725-726,730,735-736,739-740,742,748,754-755,759,764-765,767,770-775,777,779,781,784-786,788-792,795-799,806,808,815,818,827,833-837,839,842,848-850,852-853,856-857,860,863-865,867-868,870,874,877,879,881-882,884-885,888,891,898-900,902-903,906-911,918,921-923,925-926,928-932,937,939,941,943-944,946-947,950,953,957,960,962,965,968,971,974,977,980,983,986,988,990,992,995,998,1001,1004,1007,1009,1011,1013,1016,1018,1020,1023-1024,1026,1028,1030-1033,1035,1039,1042-1044,1046-1047,1052-1053,1055,1057,1059-1060,1065-1066,1070,1072,1074-1075,1077,1079,1082-1083,1086-1087,1089,1093,1095-1096,1100,1103,1108,1110,1124,1130,1132-1133,1136,1138-1140,1143-1144,1146-1147,1149,1151-1153,1155,1159,1161,1169-1170,1174-1175,1177-1178,1181-1188,1191-1196,1199-1202,1210,1212,1214,1217,1219,1221,1225,1229,1231,1239,1242,1245-1247,1260,1268,1270-1271,1274,1276-1278,1280-1281,1284-1285,1287-1288,1290,1292-1293,1295-1297,1301-1302,1305-1306,1308-1310,1312-1313,1315,1320,1322,1324-1326,1328,1330,1332-1333,1335,1340,1342,1344-1348,1351,1357,1361,1364-1365,1367,1370-1371,1374-1379,1381,1386-1389,1391,1395,1397,1403-1408,1410,1416-1420,1423,1425,1431,1433,1436,1439-1442,1447,1449-1450,1452-1453,1456,1458-1460,1463-1464,1466-1467,1470,1473-1475,1478,1480-1486,1488-1491,1494-1496,1498,1500,1513-1515,1518-1519,1521,1525,1531-1532,1535-1538,1540-1543,1548,1550-1554,1556-1557,1560,1563,1567,1569,1571,1573,1576,1578,1581,1583-1585,1588,1590,1592,1594,1597,1599,1602-1603,1606,1608-1609,1611,1615-1616,1618,1621,1627,1630,1636,1641,1644-1647,1649-1650,1654-1656,1658,1664-1666,1669,1672-1674,1676-1679,1683,1685,1687,1689,1695-1697,1699,1701,1703-1707,1710-1712,1714,1717,1719,1721,1725-1726,1728,1731-1737,1739-1743,1748-1754,1756,1759-1761,1765,1767,1769,1774,1776,1779,1782-1783,1790,1793-1794,1797,1800,1802-1803,1806,1808,1810,1812,1815-1817,1819-1821,1823,1825-1830,1833,1836-1837,1839,1841-1846,1850,1852,1855,1857,1861-1862,1864-1865,1867-1868,1872,1875,1877,1879-1882,1885,1888,1890,1892-1897,1899,1902-1904,1908,1910,1913,1916-1921,1923,1927,1929-1930,1932,1934-1935,1938-1940
source/src/cip/cipconnectionobject.c         383     229    59%   61-62,67-71,77-81,86,88,107,109,111-112,167,180,248-249,271,274-275,294-296,398,400,403,406-407,409,411,414,417-418,425,427-428,430,432,435,467,478,480,482,484,502,505,508-510,512-514,516-518,520-522,524-526,528,530,532,534,537,540,542,544,546,549,552,554,556,558,561,564-565,579,581,583-584,586,588,590-591,593,611,621,631,633,635,641,652,654-655,657,673,685,697,715-716,739-740,745,774-775,819-820,852-853,873,876-877,879,881-886,888,890-892,894,896-897,899-900,904,908-909,913,917,919,923,925-926,928,930,933,938,940,942,945,950,953-954
source/src/cip/cipdlr.c                       30       0     0%   95,98,100-101,103,105,107-109,111,116-117,119,131,136,138,142,144,151,158,165,172,179,186,193,202,209,216,228,230
source/src/cip/cipelectronickey.c             47      47   100%
source/src/cip/cipepath.c                    297     270    90%   88-90,230-232,276-278,329-330,530,532-535,633,635,637-638,640-641,643,697,701,704-705
source/src/cip/cipethernetlink.c              58       0     0%   198-199,222-223,226,228-229,235-236,246,248,252,272-274,276,283,290,313,320,349,357,364,371,378,385,400-402,406,409,412,424,427,429,432,444,447,449,456,458,460-462,465,467-473,475,477-480,484
source/src/cip/cipidentity.c                 106       0     0%   59-62,65-67,70-72,75-77,80-83,86-88,91-92,96-97,100,104-105,108-110,114,116,118,129-132,142-145,155,157-160,168,172,174,176-177,179,181-182,184-187,191-193,201-203,206,209-210,212,217,219,224,226,233,240,247,252,254,259,262,266,270-271,273,275-278,280-281,295,299-300,302-303,310,317,324,331,338,345,353,355-357,359,362
source/src/cip/cipioconnection.c             432       0     0%   86-88,90-91,94-96,98-99,102,104-105,107-108,111,113,118-120,130-134,136,138,141-145,147-148,154,156-157,160-165,168-169,172,174-175,178,180-182,190,193-194,196-199,201,203,206-207,210-211,215,217,221,223,227-228,233,237-244,246,248-253,256-257,259,261-262,264,266-268,289,292,294-296,300,302,306,308,310-313,316,321-324,329,331,333,338,340,342,347,349-350,355-358,361-363,365,368,370,374,376-377,380,392,395,398,405,407,409-411,417-419,421-422,424-426,428-430,432,435,440,442-444,446-448,452-454,456-458,464-465,467,470,474-476,478,481,488-491,494,496,498,503-504,509-510,514-516,519,523,525-530,532,542,546,548-549,551-552,554-556,558,561,564-566,568,571,575-576,581,592-593,596-602,605-606,613-619,621-623,628-629,632,634,636-637,639,641,643,649-653,655-658,661-665,672,675,684-685,688,693,700-701,703-705,709-712,715-716,718-723,725,729-733,735-736,738,741,743,745,749,751,754-755,761,763,766-771,773-774,776,778-780,784,786,788,792,795,798-799,807-810,812-813,817-818,820,825,832,835-837,840,842-844,846,848,850-851,853,855-857,860,862,866-867,869-871,873-875,877-879,882-883,885-886,888,891,895-896,899-901,903-905,907,910,913-914,916-917,919-920,922,924-925,928-929,931-936,938,941-942,944-945,947,951,961-963,967,970-971,973-974,978,981,987,990,997,1000,1005,1008,1017,1019-1021,1025-1027,1031-1032,1035-1036
source/src/cip/cipmessagerouter.c            121       0     0%   54-55,57,62,64,69,71,78,85,92,97,99,104,107,111,113,115-116,128,131,137,147-148,151,153-155,157,162-164,166-167,173,175,180-181,183-184,190-191,193,195,198-200,203-204,206,209,214-215,217-219,224-229,232-234,238,241-245,250-251,254-255,278,281,285-287,289-290,292,296,299-302,306-307,309-311,313-315,317-321,324,326,330-337,340-347,349,351-352
source/src/cip/cipqos.c                       55       0     0%   70,74,76,78-81,83-84,87,91,94,97-112,114-115,117,120-121,123-124,140,142,149,156,163,170,177,184,191,199,201,204,207-209,211-212,221-223
source/src/cip/cipstring.c                   124     109    87%   68-70,278,281-282,284,287-290,292,294-295,297
source/src/cip/cipstringi.c                  229       0     0%   16-40,42,44-47,49-67,69,76-85,95,97-137,139,142-155,157,159,161,163-164,166-167,169-179,181-186,188-189,191-206,208-214,216-219,221-225,228,230,233,235-237,239-259,263,265-267,269-276,279-291,295-296
source/src/cip/ciptcpipinterface.c            94       0     0%   322,324,326,328,330,332,334,336,338,340,343,345-346,348,351-352,354-355,357,360,362-363,365,368,370,372-373,375,377,383,385-387,389,393,396-398,401,518,522,524-525,527-528,530-532,535,538-539,541-542,558,560,567,574,581,607,614,625,632,639,646,653,660,667,675,680,683,688,691,693-695,698-700,702,710,712,716-719,721-723,725-730
source/src/cip/ciptypes.c                     26       0     0%   14-15,17,32,35,43-44,46,51-52,54-56,58,61-62,67-69,74-76,81-84
source/src/enet_encap/cpf.c                  282      38    13%   62,65-67,70-72,76-77,80,83-86,88,92-93,99-100,102,105,121,125-127,130,134-135,139-140,142,144,147,149-151,155-156,159-160,162-163,165,167,169,172,174,176,179,181-183,185,188,190-194,198-199,202,204-207,209,212-213,216,232,236-237,239,269-271,274-276,280-286,292-293,296-299,302-305,308-318,320,322,324,341,343,355-356,358-359,367,372-375,377,386,391-394,396-397,399,408,411,413,422,425,427,436,439,441,450,453-458,460,470,473-474,476,478,486,489-490,492,501,504-505,513,516-517,525,528-529,538,541,543,551,554,556-557,560,573,576-578,587,590-591,593,595,603,606-608,610-612,614,624,628-630,632,642,646-647,649,651,655,658-659,662,665,667-668,670-671,673,675-676,678,686-687,690-691,694,696,698,702,707-708,710-712,715,717,719,729-732,734,737,740-742,745,747,754,757-758
source/src/enet_encap/encap.c                354     119    33%   129-130,134-135,139-140,143-145,150-153,155,158,160,166-168,172-173,175-176,179-181,184,186,190-191,193,200-202,204,207-208,210,212-214,216,218-220,222,224-226,228,230-232,234,236-238,240,243-245,253,260-261,265-266,268-269,272-274,277,279,282-283,285-288,290,292-295,298,301,305-307,309,329,331-332,405,408-409,411,415-416,418-421,423-425,429-431,435,438,440,503,506-508,510,512,517-518,520,569-570,573,576-579,583-585,591,593-595,597-598,621,624-625,627-632,637,642,650,657,659,664,667,670,673-674,678-679,681,686,689,727-728,730,735,741,745,747,750,757-762,829,831-832,834-837,839-846,849-850,856-858,864-869,872,874-879,881,883,888,890,894,896,898-902,905-907,911,913-915,919,924,934-938,940,942
source/src/enet_encap/endianconv.c           132     115    87%   52-56,207-208,210-211,213-216,219,222,251-252
source/src/ports/generic_networkhandler.c
                                             478      52    10%   127-128,132,134,136,139-140,142,145-146,149-153,157-158,161,164,175,183-187,192-193,197-201,206-207,211-212,223,232-233,244,251-252,254,257,260-262,266-267,270,273-275,279-280,284,286-289,294,298,300,302,305-306,311-313,318-319,322,325-327,332-333,337,339-342,348,355,357-360,364,369-372,376-377,381-383,386-387,392-393,395,398-401,423-424,426,428,434-435,437-438,440-444,447-448,451,453,463,465,467-469,473,477-478,480-482,484,487-488,490-491,496-498,501-502,506-510,512-513,516,518-519,525-526,532-534,541,544,547-549,553,558-562,565,567-569,573,576-577,584-587,592-593,596,598-603,613-614,616-617,621,632,635,637,642,644-646,649,652-653,660-663,667-668,671,673-678,686-687,689-690,694,702,705,707,712,722-724,728-731,735-736,739,751-754,764,766-767,772,774,776-779,781-783,786-787,789-790,794-796,799,803,806,809-811,814-817,823-825,827-831,836-837,839-841,843-845,848-849,851,853-855,860-863,865-869,873-874,877,879,881,883,885-891,894,897-899,905-906,909,911,914,917,920,922,926-927,931,935,951,953,955-958,961-962,965,968-971,975,977-978,984-986,991-993,995,998-1000,1003-1005,1009,1011,1013-1014,1022-1024,1026-1028,1031-1032,1040-1041,1043,1048-1050,1055-1056,1061-1062,1067-1069,1074-1075,1098,1101-1102,1104,1107-1108,1111-1113,1115,1117-1120,1122,1128-1131,1137-1138,1140,1143-1146,1148-1149,1152-1153,1155,1158,1181,1212-1215,1217,1220
source/src/ports/nvdata/conffile.c            32       0     0%   59-64,66-69,73,75,77-78,80-84,92,111-113,115-117,130-133,135-136
source/src/ports/nvdata/nvdata.c              22       0     0%   37,39-42,45,63,67,71,74,76,80-81,83,99,104,107,109,111,115-116,119
source/src/ports/nvdata/nvqos.c               37       0     0%   31-33,43-47,49-50,57,71,73,79-81,86-91,96,104-107,109,112-117,121-122,124
source/src/ports/nvdata/nvtcpip.c             17       0     0%   27,29,31,33-34,37,39,45,49,57,59,61-62,65,67,70-71
source/src/ports/POSIX/networkconfig.c       171       0     0%   27,29-31,33-35,37,39-41,43,45-46,49,52,54-58,60-62,66-70,72-73,76-77,79-80,83-84,86,88,91,93,95-97,99,102-105,107-108,110-114,122-123,125-126,128-132,134,137-138,140,153,155-158,160-171,173,176-178,185-189,191-192,194,201,204-207,212-216,218-220,231,233-234,237-240,242-246,248,251,253-254,256,258-260,262-264,267,270-271,273,278,281-282,284-287,289-291,295-296,298-300,302-303,305-306,309-310,312-313,315-316,319,322-323,325-328,330
source/src/ports/POSIX/networkhandler.c       27      10    37%   22-23,25-29,32-33,36,38,57-59,62,66-67
source/src/ports/POSIX/opener_error.c          6       6   100%
source/src/ports/POSIX/sample_application/sampleapplication.c
                                              50       0     0%   40,43,48,53,58,61,64,68,72,76,85,87,117,120,122,124,129-132,134-135,138,142,145,163,166,173,176-177,180,182-184,187,189-190,192-193,196-197,200-202,204-207,209,212
source/src/ports/socket_timer.c               25      25   100%
source/src/utils/doublylinkedlist.c           86      83    96%   48,127,130
source/src/utils/enipmessage.c                 4       4   100%
source/src/utils/random.c                     13      12    92%   33
source/src/utils/xorshiftrandom.c             21      14    66%   18-19,21,33,41-42,44
source/tests/callback_mock.cpp                31       8    25%   12-14,17-19,21,24-25,27-29,32-33,36-38,41-43,64-66
source/tests/cip/cipcommontests.cpp          107     107   100%
source/tests/cip/cipconnectionobjecttest.cpp
                                             382     382   100%
source/tests/cip/cipelectronickeyformattest.cpp
                                             125     125   100%
source/tests/cip/cipelectronickeytest.cpp
                                              24      24   100%
source/tests/cip/cipepathtest.cpp            633     633   100%
source/tests/cip/cipstringtests.cpp          207     207   100%
source/tests/enet_encap/encaptest.cpp         52      52   100%
source/tests/enet_encap/endianconvtest.cpp
                                             167     167   100%
source/tests/OpENerTests.cpp                  29      11    37%   70,77-79,82,84,90-91,93-94,96-100,102,106,112
source/tests/ports/check_encapsulation_inactivity_tests.cpp
                                             186     186   100%
source/tests/ports/socket_timer_tests.cpp
                                              31      31   100%
source/tests/security_tests.cpp              148     147    99%   155
source/tests/utils/doublylinkedlistTests.cpp
                                             247     245    99%   43,47
source/tests/utils/randomTests.cpp            10      10   100%
source/tests/utils/xorshiftrandomtests.cpp
                                              15      15   100%
------------------------------------------------------------------------------
TOTAL                                       7950    3527    44%
------------------------------------------------------------------------------
lines: 44.4% (3527 out of 7950)
functions: 66.9% (711 out of 1063)
branches: 20.0% (1327 out of 6622)

📥 Download the detailed HTML report from artifacts.

ℹ️ This PR was tested with standard static analysis. Exhaustive analysis will run on release branches.

Signed-off-by: Martin Melik Merkumians <[email protected]>
@github-actions
Copy link

github-actions bot commented Jan 5, 2026

📊 Coverage Report

Line Coverage: 44.4%

------------------------------------------------------------------------------
                           GCC Code Coverage Report
Directory: .
------------------------------------------------------------------------------
File                                       Lines    Exec  Cover   Missing
------------------------------------------------------------------------------
source/src/cip/appcontype.c                  186       0     0%   96,101-102,104,106,109,111,115-116,118-119,122,124,128-129,131,133,136,138,141,143-146,149-151,154-157,160,163,170,177,179,183-184,187,190,193-199,202-203,205-208,210-211,213-215,217-218,220,222,225-226,235,238,240-241,243-246,248,250-252,254,257-262,265,267,269,273-278,286-287,290,293,295-296,298-301,303,305-307,309,313,320-325,328,330,332,336-341,349-350,353,355,357-360,362-364,368-369,371-373,376,381,383,385-388,390,392,394-395,397,401,403,408,412-420,424-425,428,430-436,438,440-441,443-446,449,454-455,459,462,465
source/src/cip/cipassembly.c                  75       0     0%   49,51,63-64,69,74-75,78,84-85,88-89,91-96,98,101,103,106-108,111,115,119-121,125-126,128,137,142,145,148,154-156,162,166,169,173-175,177-179,181-184,186-189,193-194,196,205,207,210,212,215,218-220,222,224,227,230-232,234,236
source/src/cip/cipclass3connection.c          35       0     0%   19-20,22-23,26,29,31,33-35,38,40,42,46,48,51,53,60-62,64,70-71,74,76,79-83,89,92-95
source/src/cip/cipcommon.c                   801      44     5%   46,48-59,64-65,82-83,85,88,90,92,94,96,99-100,102,109,114-115,118,120-125,127-129,135,140,142,144,146,152,154,156-158,161-165,168,170,173,175-178,182,185-186,190,192,195,199,201,205,209,211,215-218,221-222,226,228,232,234,236,238,244-245,249,251,255,257,264-265,267,270,272,274-276,279,281,284,296,300,309,311,314-316,318,320,322,324,326-327,330,332-333,335-336,345,349,351-352,354,356,358,360-361,366,368,370,373,376,378,380,383,386-387,390-391,393-394,396,398,402,408,410,412-413,418,420,425,427,433,435,442,449,454,456,461,463,465-466,472,478,485,494,496-497,501-509,511,513,515-517,519,521-523,525,531,533,536,541,545,548,550-556,558,561,564,567-568,570-571,573-574,578-579,581,584,586,588-590,592,599,602-607,610,617-618,621-622,624,627,630-634,637,641-643,647-649,653-656,661,669,671-672,689,691-692,709,711-712,714-716,718,720-721,723,725-726,728,730-731,733,735-736,738,740,742,744-749,751,753,755-758,760-761,763,765,768,770,773-774,776-777,779,782-783,785-786,788,790-795,797,799-802,804-806,808-810,812-814,816-818,820,822-823,826,828,830-837,839,841-843,845,847-851,853,856-861,863,870-871,873-874,876,879,883-884,890-893,897-899,903,906,911-914,917,919,923,926,929-931,934,937-939,942,946-948,950-953,955-958,962-964,966-967,970,973-975,978,981-983,986,989-991,994,997-999,1002,1005-1007,1010,1013-1015,1018,1021-1023,1026,1029-1031,1034,1037-1039,1042,1045-1047,1050,1053-1055,1058,1061-1063,1066,1069-1071,1090-1091,1119,1121,1123-1125,1127,1132,1138-1139,1141-1142,1146,1148-1151,1153,1155-1156,1158-1161,1164,1167,1169,1172,1175,1181-1182,1184-1188,1190-1191,1193-1195,1197,1200,1205-1207,1209,1211-1212,1214,1216,1218-1219,1221,1223,1225,1228,1232,1234,1236,1239,1242-1247,1249,1252,1254,1258,1261,1263,1267,1269,1271,1276-1277,1279,1282-1283,1286,1291,1297-1298,1300-1304,1306-1307,1309-1311,1313,1317,1319-1321,1323,1325-1326,1328,1330,1332,1334-1335,1337,1340,1342,1346,1348,1350,1353,1356-1358,1360,1362,1364,1366,1370,1373,1376-1380,1383-1384,1389,1392-1393,1398-1399,1401,1404-1405,1408,1414-1417,1419,1421-1423,1426,1428-1430,1433-1434,1436-1438,1441,1443-1445,1448-1449,1451-1453,1456,1458-1460,1466,1468,1470,1473-1475,1477-1478,1481-1483,1485-1486,1491-1493,1495-1497,1499,1501-1504,1506,1508-1510,1512,1514-1517,1519,1521-1523,1525,1527-1530,1532,1534-1536,1538-1540,1548,1550-1551,1554,1561-1562,1564-1568,1570,1572,1575-1576,1580,1582,1584,1587-1588,1592,1594,1597,1604-1605,1607-1611,1613,1615,1618-1619,1623-1624,1628,1630-1631,1634-1638,1645-1646,1650,1653,1656,1658,1660,1663,1670-1671,1673-1677,1679,1681,1684-1685,1689,1691-1692,1696,1699-1700,1703-1707,1709-1711
source/src/cip/cipconnectionmanager.c        700       0     0%   179-180,182-187,189,191,209,211-212,216,219-220,224,229,232,237,240,248,256,264,269,272,277,280,282,284,286-287,289,303,307,311,313-314,318,320,324,328,333,335-336,341,344,351-352,357,360-361,363,368-370,373,375-376,378,383,385-386,388-389,391-392,428,434-436,438-439,459,465-466,468-469,488,494-495,497-498,515,521-522,524,527-528,530,537,539-540,549-550,552-554,557,560-561,565-566,568,573,576,609,614-615,648,653-654,660,665,667-668,672,674,677,681-684,687-688,695-696,703,706,708-711,720,725-726,730,735-736,739-740,742,748,754-755,759,764-765,767,770-775,777,779,781,784-786,788-792,795-799,806,808,815,818,827,833-837,839,842,848-850,852-853,856-857,860,863-865,867-868,870,874,877,879,881-882,884-885,888,891,898-900,902-903,906-911,918,921-923,925-926,928-932,937,939,941,943-944,946-947,950,953,957,960,962,965,968,971,974,977,980,983,986,988,990,992,995,998,1001,1004,1007,1009,1011,1013,1016,1018,1020,1023-1024,1026,1028,1030-1033,1035,1039,1042-1044,1046-1047,1052-1053,1055,1057,1059-1060,1065-1066,1070,1072,1074-1075,1077,1079,1082-1083,1086-1087,1089,1093,1095-1096,1100,1103,1108,1110,1124,1130,1132-1133,1136,1138-1140,1143-1144,1146-1147,1149,1151-1153,1155,1159,1161,1169-1170,1174-1175,1177-1178,1181-1188,1191-1196,1199-1202,1210,1212,1214,1217,1219,1221,1225,1229,1231,1239,1242,1245-1247,1260,1268,1270-1271,1274,1276-1278,1280-1281,1284-1285,1287-1288,1290,1292-1293,1295-1297,1301-1302,1305-1306,1308-1310,1312-1313,1315,1320,1322,1324-1326,1328,1330,1332-1333,1335,1340,1342,1344-1348,1351,1357,1361,1364-1365,1367,1370-1371,1374-1379,1381,1386-1389,1391,1395,1397,1403-1408,1410,1416-1420,1423,1425,1431,1433,1436,1439-1442,1447,1449-1450,1452-1453,1456,1458-1460,1463-1464,1466-1467,1470,1473-1475,1478,1480-1486,1488-1491,1494-1496,1498,1500,1513-1515,1518-1519,1521,1525,1531-1532,1535-1538,1540-1543,1548,1550-1554,1556-1557,1560,1563,1567,1569,1571,1573,1576,1578,1581,1583-1585,1588,1590,1592,1594,1597,1599,1602-1603,1606,1608-1609,1611,1615-1616,1618,1621,1627,1630,1636,1641,1644-1647,1649-1650,1654-1656,1658,1664-1666,1669,1672-1674,1676-1679,1683,1685,1687,1689,1695-1697,1699,1701,1703-1707,1710-1712,1714,1717,1719,1721,1725-1726,1728,1731-1737,1739-1743,1748-1754,1756,1759-1761,1765,1767,1769,1774,1776,1779,1782-1783,1790,1793-1794,1797,1800,1802-1803,1806,1808,1810,1812,1815-1817,1819-1821,1823,1825-1830,1833,1836-1837,1839,1841-1846,1850,1852,1855,1857,1861-1862,1864-1865,1867-1868,1872,1875,1877,1879-1882,1885,1888,1890,1892-1897,1899,1902-1904,1908,1910,1913,1916-1921,1923,1927,1929-1930,1932,1934-1935,1938-1940
source/src/cip/cipconnectionobject.c         383     229    59%   61-62,67-71,77-81,86,88,107,109,111-112,167,180,248-249,271,274-275,294-296,398,400,403,406-407,409,411,414,417-418,425,427-428,430,432,435,467,478,480,482,484,502,505,508-510,512-514,516-518,520-522,524-526,528,530,532,534,537,540,542,544,546,549,552,554,556,558,561,564-565,579,581,583-584,586,588,590-591,593,611,621,631,633,635,641,652,654-655,657,673,685,697,715-716,739-740,745,774-775,819-820,852-853,873,876-877,879,881-886,888,890-892,894,896-897,899-900,904,908-909,913,917,919,923,925-926,928,930,933,938,940,942,945,950,953-954
source/src/cip/cipdlr.c                       30       0     0%   95,98,100-101,103,105,107-109,111,116-117,119,131,136,138,142,144,151,158,165,172,179,186,193,202,209,216,228,230
source/src/cip/cipelectronickey.c             47      47   100%
source/src/cip/cipepath.c                    297     270    90%   88-90,230-232,276-278,329-330,530,532-535,633,635,637-638,640-641,643,697,701,704-705
source/src/cip/cipethernetlink.c              58       0     0%   198-199,222-223,226,228-229,235-236,246,248,252,272-274,276,283,290,313,320,349,357,364,371,378,385,400-402,406,409,412,424,427,429,432,444,447,449,456,458,460-462,465,467-473,475,477-480,484
source/src/cip/cipidentity.c                 106       0     0%   59-62,65-67,70-72,75-77,80-83,86-88,91-92,96-97,100,104-105,108-110,114,116,118,129-132,142-145,155,157-160,168,172,174,176-177,179,181-182,184-187,191-193,201-203,206,209-210,212,217,219,224,226,233,240,247,252,254,259,262,266,270-271,273,275-278,280-281,295,299-300,302-303,310,317,324,331,338,345,353,355-357,359,362
source/src/cip/cipioconnection.c             432       0     0%   86-88,90-91,94-96,98-99,102,104-105,107-108,111,113,118-120,130-134,136,138,141-145,147-148,154,156-157,160-165,168-169,172,174-175,178,180-182,190,193-194,196-199,201,203,206-207,210-211,215,217,221,223,227-228,233,237-244,246,248-253,256-257,259,261-262,264,266-268,289,292,294-296,300,302,306,308,310-313,316,321-324,329,331,333,338,340,342,347,349-350,355-358,361-363,365,368,370,374,376-377,380,392,395,398,405,407,409-411,417-419,421-422,424-426,428-430,432,435,440,442-444,446-448,452-454,456-458,464-465,467,470,474-476,478,481,488-491,494,496,498,503-504,509-510,514-516,519,523,525-530,532,542,546,548-549,551-552,554-556,558,561,564-566,568,571,575-576,581,592-593,596-602,605-606,613-619,621-623,628-629,632,634,636-637,639,641,643,649-653,655-658,661-665,672,675,684-685,688,693,700-701,703-705,709-712,715-716,718-723,725,729-733,735-736,738,741,743,745,749,751,754-755,761,763,766-771,773-774,776,778-780,784,786,788,792,795,798-799,807-810,812-813,817-818,820,825,832,835-837,840,842-844,846,848,850-851,853,855-857,860,862,866-867,869-871,873-875,877-879,882-883,885-886,888,891,895-896,899-901,903-905,907,910,913-914,916-917,919-920,922,924-925,928-929,931-936,938,941-942,944-945,947,951,961-963,967,970-971,973-974,978,981,987,990,997,1000,1005,1008,1017,1019-1021,1025-1027,1031-1032,1035-1036
source/src/cip/cipmessagerouter.c            121       0     0%   54-55,57,62,64,69,71,78,85,92,97,99,104,107,111,113,115-116,128,131,137,147-148,151,153-155,157,162-164,166-167,173,175,180-181,183-184,190-191,193,195,198-200,203-204,206,209,214-215,217-219,224-229,232-234,238,241-245,250-251,254-255,278,281,285-287,289-290,292,296,299-302,306-307,309-311,313-315,317-321,324,326,330-337,340-347,349,351-352
source/src/cip/cipqos.c                       55       0     0%   70,74,76,78-81,83-84,87,91,94,97-112,114-115,117,120-121,123-124,140,142,149,156,163,170,177,184,191,199,201,204,207-209,211-212,221-223
source/src/cip/cipstring.c                   124     109    87%   68-70,278,281-282,284,287-290,292,294-295,297
source/src/cip/cipstringi.c                  229       0     0%   16-40,42,44-47,49-67,69,76-85,95,97-137,139,142-155,157,159,161,163-164,166-167,169-179,181-186,188-189,191-206,208-214,216-219,221-225,228,230,233,235-237,239-259,263,265-267,269-276,279-291,295-296
source/src/cip/ciptcpipinterface.c            94       0     0%   322,324,326,328,330,332,334,336,338,340,343,345-346,348,351-352,354-355,357,360,362-363,365,368,370,372-373,375,377,383,385-387,389,393,396-398,401,518,522,524-525,527-528,530-532,535,538-539,541-542,558,560,567,574,581,607,614,625,632,639,646,653,660,667,675,680,683,688,691,693-695,698-700,702,710,712,716-719,721-723,725-730
source/src/cip/ciptypes.c                     26       0     0%   14-15,17,32,35,43-44,46,51-52,54-56,58,61-62,67-69,74-76,81-84
source/src/enet_encap/cpf.c                  282      38    13%   62,65-67,70-72,76-77,80,83-86,88,92-93,99-100,102,105,121,125-127,130,134-135,139-140,142,144,147,149-151,155-156,159-160,162-163,165,167,169,172,174,176,179,181-183,185,188,190-194,198-199,202,204-207,209,212-213,216,232,236-237,239,269-271,274-276,280-286,292-293,296-299,302-305,308-318,320,322,324,341,343,355-356,358-359,367,372-375,377,386,391-394,396-397,399,408,411,413,422,425,427,436,439,441,450,453-458,460,470,473-474,476,478,486,489-490,492,501,504-505,513,516-517,525,528-529,538,541,543,551,554,556-557,560,573,576-578,587,590-591,593,595,603,606-608,610-612,614,624,628-630,632,642,646-647,649,651,655,658-659,662,665,667-668,670-671,673,675-676,678,686-687,690-691,694,696,698,702,707-708,710-712,715,717,719,729-732,734,737,740-742,745,747,754,757-758
source/src/enet_encap/encap.c                354     119    33%   129-130,134-135,139-140,143-145,150-153,155,158,160,166-168,172-173,175-176,179-181,184,186,190-191,193,200-202,204,207-208,210,212-214,216,218-220,222,224-226,228,230-232,234,236-238,240,243-245,253,260-261,265-266,268-269,272-274,277,279,282-283,285-288,290,292-295,298,301,305-307,309,329,331-332,405,408-409,411,415-416,418-421,423-425,429-431,435,438,440,503,506-508,510,512,517-518,520,569-570,573,576-579,583-585,591,593-595,597-598,621,624-625,627-632,637,642,650,657,659,664,667,670,673-674,678-679,681,686,689,727-728,730,735,741,745,747,750,757-762,829,831-832,834-837,839-846,849-850,856-858,864-869,872,874-879,881,883,888,890,894,896,898-902,905-907,911,913-915,919,924,934-938,940,942
source/src/enet_encap/endianconv.c           132     115    87%   52-56,207-208,210-211,213-216,219,222,251-252
source/src/ports/generic_networkhandler.c
                                             478      52    10%   127-128,132,134,136,139-140,142,145-146,149-153,157-158,161,164,175,183-187,192-193,197-201,206-207,211-212,223,232-233,244,251-252,254,257,260-262,266-267,270,273-275,279-280,284,286-289,294,298,300,302,305-306,311-313,318-319,322,325-327,332-333,337,339-342,348,355,357-360,364,369-372,376-377,381-383,386-387,392-393,395,398-401,423-424,426,428,434-435,437-438,440-444,447-448,451,453,463,465,467-469,473,477-478,480-482,484,487-488,490-491,496-498,501-502,506-510,512-513,516,518-519,525-526,532-534,541,544,547-549,553,558-562,565,567-569,573,576-577,584-587,592-593,596,598-603,613-614,616-617,621,632,635,637,642,644-646,649,652-653,660-663,667-668,671,673-678,686-687,689-690,694,702,705,707,712,722-724,728-731,735-736,739,751-754,764,766-767,772,774,776-779,781-783,786-787,789-790,794-796,799,803,806,809-811,814-817,823-825,827-831,836-837,839-841,843-845,848-849,851,853-855,860-863,865-869,873-874,877,879,881,883,885-891,894,897-899,905-906,909,911,914,917,920,922,926-927,931,935,951,953,955-958,961-962,965,968-971,975,977-978,984-986,991-993,995,998-1000,1003-1005,1009,1011,1013-1014,1022-1024,1026-1028,1031-1032,1040-1041,1043,1048-1050,1055-1056,1061-1062,1067-1069,1074-1075,1098,1101-1102,1104,1107-1108,1111-1113,1115,1117-1120,1122,1128-1131,1137-1138,1140,1143-1146,1148-1149,1152-1153,1155,1158,1181,1212-1215,1217,1220
source/src/ports/nvdata/conffile.c            32       0     0%   59-64,66-69,73,75,77-78,80-84,92,111-113,115-117,130-133,135-136
source/src/ports/nvdata/nvdata.c              22       0     0%   37,39-42,45,63,67,71,74,76,80-81,83,99,104,107,109,111,115-116,119
source/src/ports/nvdata/nvqos.c               37       0     0%   31-33,43-47,49-50,57,71,73,79-81,86-91,96,104-107,109,112-117,121-122,124
source/src/ports/nvdata/nvtcpip.c             17       0     0%   27,29,31,33-34,37,39,45,49,57,59,61-62,65,67,70-71
source/src/ports/POSIX/networkconfig.c       171       0     0%   27,29-31,33-35,37,39-41,43,45-46,49,52,54-58,60-62,66-70,72-73,76-77,79-80,83-84,86,88,91,93,95-97,99,102-105,107-108,110-114,122-123,125-126,128-132,134,137-138,140,153,155-158,160-171,173,176-178,185-189,191-192,194,201,204-207,212-216,218-220,231,233-234,237-240,242-246,248,251,253-254,256,258-260,262-264,267,270-271,273,278,281-282,284-287,289-291,295-296,298-300,302-303,305-306,309-310,312-313,315-316,319,322-323,325-328,330
source/src/ports/POSIX/networkhandler.c       27      10    37%   22-23,25-29,32-33,36,38,57-59,62,66-67
source/src/ports/POSIX/opener_error.c          6       6   100%
source/src/ports/POSIX/sample_application/sampleapplication.c
                                              50       0     0%   40,43,48,53,58,61,64,68,72,76,85,87,117,120,122,124,129-132,134-135,138,142,145,163,166,173,176-177,180,182-184,187,189-190,192-193,196-197,200-202,204-207,209,212
source/src/ports/socket_timer.c               25      25   100%
source/src/utils/doublylinkedlist.c           86      83    96%   48,127,130
source/src/utils/enipmessage.c                 4       4   100%
source/src/utils/random.c                     13      12    92%   33
source/src/utils/xorshiftrandom.c             21      14    66%   18-19,21,33,41-42,44
source/tests/callback_mock.cpp                31       8    25%   12-14,17-19,21,24-25,27-29,32-33,36-38,41-43,64-66
source/tests/cip/cipcommontests.cpp          107     107   100%
source/tests/cip/cipconnectionobjecttest.cpp
                                             382     382   100%
source/tests/cip/cipelectronickeyformattest.cpp
                                             125     125   100%
source/tests/cip/cipelectronickeytest.cpp
                                              24      24   100%
source/tests/cip/cipepathtest.cpp            633     633   100%
source/tests/cip/cipstringtests.cpp          207     207   100%
source/tests/enet_encap/encaptest.cpp         52      52   100%
source/tests/enet_encap/endianconvtest.cpp
                                             167     167   100%
source/tests/OpENerTests.cpp                  29      11    37%   70,77-79,82,84,90-91,93-94,96-100,102,106,112
source/tests/ports/check_encapsulation_inactivity_tests.cpp
                                             186     186   100%
source/tests/ports/socket_timer_tests.cpp
                                              31      31   100%
source/tests/security_tests.cpp              148     147    99%   155
source/tests/utils/doublylinkedlistTests.cpp
                                             247     245    99%   43,47
source/tests/utils/randomTests.cpp            10      10   100%
source/tests/utils/xorshiftrandomtests.cpp
                                              15      15   100%
------------------------------------------------------------------------------
TOTAL                                       7950    3527    44%
------------------------------------------------------------------------------
lines: 44.4% (3527 out of 7950)
functions: 66.9% (711 out of 1063)
branches: 20.0% (1327 out of 6622)

📥 Download the detailed HTML report from artifacts.

ℹ️ This PR was tested with standard static analysis. Exhaustive analysis will run on release branches.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants