Skip to content

Conversation

@MartinMelikMerkumians
Copy link
Member

No description provided.

@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 mega-linter-runner@9.2.0 --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.28s
✅ C clang-format 112 1 0 0 0.88s
✅ C cppcheck 112 0 0 9.75s
❌ C cpplint 112 38 0 9.86s
❌ COPYPASTE jscpd yes 31 no 4.17s
✅ CPP clang-format 72 0 0 0 0.65s
✅ CPP cppcheck 72 0 0 2.16s
❌ CPP cpplint 72 86 0 5.06s
✅ MARKDOWN markdownlint 2 0 0 0 0.99s
✅ MARKDOWN markdown-table-formatter 2 1 0 0 0.38s
✅ REPOSITORY checkov yes no no 18.45s
✅ REPOSITORY gitleaks yes no no 2.22s
✅ REPOSITORY git_diff yes no no 0.06s
❌ REPOSITORY grype yes 1 1 27.76s
✅ REPOSITORY secretlint yes no no 1.11s
✅ REPOSITORY syft yes no no 1.25s
✅ REPOSITORY trivy yes no no 7.3s
✅ REPOSITORY trivy-sbom yes no no 0.12s
✅ REPOSITORY trufflehog yes no no 3.08s
❌ SPELL lychee 16 1 0 0.34s
✅ YAML prettier 5 2 0 0 0.72s
✅ YAML v8r 5 0 0 7.14s
✅ YAML yamllint 5 0 0 0.47s

Detailed Issues

❌ C / cpplint - 38 errors
source/src/cip/cipcommon.c:21:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipconnectionmanager.c:28:  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/cipconnectionobject.h:15:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipethernetlink.c:59:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipidentity.c:39:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipidentity.c:42:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipqos.c:16:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/ciptcpipinterface.c:20:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/ciptypes.h:10:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/core/trace.h:16:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/core/typedefs.h:13:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/enet_encap/encap.c:21:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/enet_encap/encap.c:510:  Consider using rand_r(...) instead of rand(...) for improved thread safety.  [runtime/threadsafe_fn] [2]
source/src/ports/MINGW/networkconfig.c:9:  source/src/ports/MINGW/networkconfig.c should include its header file source/src/ports/MINGW/networkconfig.h  [build/include] [5]
source/src/ports/MINGW/networkhandler.c:7:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/ports/MINGW/networkhandler.c:15:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/ports/POSIX/networkconfig.c:6:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/ports/POSIX/networkhandler.c:6:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/ports/POSIX/networkhandler.c:19:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/ports/POSIX/sample_application/sampleapplication.c:16:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/ports/STM32/networkconfig.c:18:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/ports/STM32/networkhandler.c:11:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/ports/STM32/opener.c:49:  Consider using rand_r(...) instead of rand(...) for improved thread safety.  [runtime/threadsafe_fn] [2]
source/src/ports/STM32/sample_application/opener_user_conf.h:36:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/ports/STM32/sample_application/opener_user_conf.h:63:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/ports/WIN32/sample_application/opener_user_conf.h:33:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/ports/WIN32/sample_application/sampleapplication.c:14:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/ports/generic_networkhandler.c:28:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/utils/doublylinkedlist.c:12:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/utils/enipmessage.h:9:  Include the directory when naming header files  [build/include_subdir] [4]
source/tests/OpENerTests.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
source/tests/OpENerTests.h:0:  No #ifndef header guard found, suggested CPP variable is: SOURCE_TESTS_OPENERTESTS_H_  [build/header_guard] [5]
source/tests/check_assert.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
source/tests/check_assert.h:0:  No #ifndef header guard found, suggested CPP variable is: SOURCE_TESTS_CHECK_ASSERT_H_  [build/header_guard] [5]
source/tests/test_assert.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
source/tests/test_assert.h:15:  #ifndef header guard has wrong style, please use: SOURCE_TESTS_TEST_ASSERT_H_  [build/header_guard] [5]
source/tests/test_assert.h:32:  #endif line should be "#endif  // SOURCE_TESTS_TEST_ASSERT_H_"  [build/header_guard] [5]
Done processing source/src/api/opener_api.h
Done processing source/src/cip/appcontype.c
Done processing source/src/cip/appcontype.h
Done processing source/src/cip/cipassembly.c
Done processing source/src/cip/cipassembly.h
Done processing source/src/cip/cipclass3connection.c
Done processing source/src/cip/cipclass3connection.h
Done processing source/src/cip/cipcommon.c
Done processing source/src/cip/cipcommon.h
Done processing source/src/cip/cipconnectionmanager.c
Done processing source/src/cip/cipconnectionmanager.h
Done processing source/src/cip/cipconnectionobject.c
Done processing source/src/cip/cipconnectionobject.h
Done processing source/src/cip/cipdlr.c
Done processing source/src/cip/cipdlr.h
Done processing source/src/cip/cipelectronickey.c
Done processing source/src/cip/cipelectronickey.h
Done processing source/src/cip/cipepath.c
Done processing source/src/cip/cipepath.h
Done processing source/src/cip/ciperror.h
Done processing source/src/cip/cipethernetlink.c
Done processing source/src/cip/cipethernetlink.h
Done processing source/src/cip/cipidentity.c
Done processing source/src/cip/cipidentity.h
Done processing source/src/cip/cipioconnection.c
Done processing source/src/cip/cipioconnection.h
Done processing source/src/cip/cipmessagerouter.c
Done processing source/src/cip/cipmessagerouter.h
Done processing source/src/cip/cipqos.c
Done processing source/src/cip/cipqos.h
Done processing source/src/cip/cipstring.c
Done processing source/src/cip/cipstring.h
Done processing source/src/cip/cipstringi.c
Done processing source/src/cip/cipstringi.h
Done processing source/src/cip/ciptcpipinterface.c
Done processing source/src/cip/ciptcpipinterface.h
Done processing source/src/cip/ciptypes.c
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.c
Done processing source/src/enet_encap/cpf.h
Done processing source/src/enet_encap/encap.c
Done processing source/src/enet_encap/encap.h
Done processing source/src/enet_encap/endianconv.c
Done processing source/src/enet_encap/endianconv.h
Done processing source/src/ports/MINGW/main.c
Done processing source/src/ports/MINGW/networkconfig.c
Done processing source/src/ports/MINGW/networkconfig.h
Done processing source/src/ports/MINGW/networkhandler.c
Done processing source/src/ports/MINGW/opener_error.c
Done processing source/src/ports/MINGW/platform_network_includes.h
Done processing source/src/ports/MINGW/sample_application/ethlinkcbs.c
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/MINGW/sample_application/sampleapplication.c
Done processing source/src/ports/POSIX/main.c
Done processing source/src/ports/POSIX/networkconfig.c
Done processing source/src/ports/POSIX/networkconfig.h
Done processing source/src/ports/POSIX/networkhandler.c
Done processing source/src/ports/POSIX/opener_error.c
Done processing source/src/ports/POSIX/platform_network_includes.h
Done processing source/src/ports/POSIX/sample_application/ethlinkcbs.c
Done processing source/src/ports/POSIX/sample_application/ethlinkcbs.h
Done proc

(Truncated to 8000 characters out of 10696)
❌ CPP / cpplint - 86 errors
source/src/cip/cipconnectionmanager.h:13:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/cipconnectionobject.h:15:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/cip/ciptypes.h:10:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/core/trace.h:16:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/core/typedefs.h:13:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/ports/STM32/sample_application/opener_user_conf.h:36:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/ports/STM32/sample_application/opener_user_conf.h:63:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/ports/WIN32/sample_application/opener_user_conf.h:33:  Include the directory when naming header files  [build/include_subdir] [4]
source/src/utils/enipmessage.h:9:  Include the directory when naming header files  [build/include_subdir] [4]
source/tests/OpENerTests.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
source/tests/OpENerTests.cpp:12:  Include the directory when naming header files  [build/include_subdir] [4]
source/tests/OpENerTests.cpp:76:  If you can, use sizeof(&dummy) instead of 1 as the 2nd arg to snprintf.  [runtime/printf] [3]
source/tests/OpENerTests.cpp:107:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
source/tests/OpENerTests.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
source/tests/OpENerTests.h:0:  No #ifndef header guard found, suggested CPP variable is: SOURCE_TESTS_OPENERTESTS_H_  [build/header_guard] [5]
source/tests/callback_mock.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
source/tests/check_assert.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
source/tests/check_assert.h:0:  No #ifndef header guard found, suggested CPP variable is: SOURCE_TESTS_CHECK_ASSERT_H_  [build/header_guard] [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 

(Truncated to 8000 characters out of 14509)
❌ REPOSITORY / grype - 1 error
error: A high vulnerability in go-module package: stdlib, version go1.25.4 was found at: /actionlint

warning: A medium vulnerability in go-module package: stdlib, version go1.25.4 was found at: /actionlint

warning: 1 warnings emitted
error: 1 errors emitted
❌ COPYPASTE / jscpd - 31 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 [85:12 - 121: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 [156:8 - 189: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 - 167:61] (102 lines, 536 tokens)
   source/src/ports/WIN32/sample_application/sampleapplication.c [62:2 - 154:60]

Clone found (c):
 - source/src/ports/POSIX/sample_application/sampleapplication.c [192:3 - 206:8] (14 lines, 91 tokens)
   source/src/ports/STM32/sample_application/sampleapplication.c [179:3 - 193:7]

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 - 199:2] (198 lines, 922 tokens)
   source/src/ports/WIN32/sample_application/sampleapplication.c [1:1 - 199: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, 114 tokens)
   source/src/ports/STM32/opener_error.c [1:1 - 38:2]

Clone found (c):
 - source/src/ports/POSIX/networkhandler.c [33:8 - 65:56] (32 lines, 199 tokens)
   source/src/ports/STM32/networkhandler.c [15:2 - 45:61]

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, 1182 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 - 172:77] (171 lines, 796 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, 80 tokens)
   source/tests/utils/doublylinkedlistTests.cpp [110:3 - 117:19]

Clone found (cpp):
 - source/tests/utils/doublylinkedlistTests.cpp [147:29 - 155:19] (8 lines, 94 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, 76 tokens)
   source/tests/cip/cipstringtests.cpp [33:27 - 39:11]

Clone found (cpp):
 - source/tests/cip/cipepathtest.cpp [373:38 - 380:10] (7 lines, 81 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 [259:14 - 273:73] (14 lines, 98 tokens)
   source/src/enet_encap/encap.c [166:7 - 180:74]

Clone found (c):
 - source/src/enet_encap/encap.c [691:45 - 715:25] (24 lines, 174 tokens)
   source/src/enet_encap/encap.c [641:34 - 665:34]

Clone found (c):
 - source/src/cip/cipstringi.c [106:10 - 113:12] (7 lines, 77 tokens)
   source/src/cip/cipstringi.c [97:15 - 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             │ 12486       │ 73283        │ 23           │ 1894 (15.17%)    │ 10957 (14.95%)    │
├──────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ c-header │ 56             │ 5939        │ 16954        │ 0            │ 0 (0%)           │ 0 (0%)            │
├──────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ markdown │ 20             │ 1053        │ 4658         │ 1            │ 14 (1.33%)       │ 111 (2.38%)       │
├──────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ latex    │ 1              │ 308         │ 3478         │ 0            │ 0 (0%)           │ 0 (0%)            │
├──────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ cpp      │ 15             │ 2660        │ 21280        │ 7            │ 49 (1.84%)       │ 597 (2.81%)       │
├──────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ diff     │ 1              │ 171         │ 954          │ 0            │ 0 (0%)           │ 0 (0%)            │
├──────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ python   │ 1              │ 37          │ 324          │ 0            │ 0 (0%)           │ 0 (0%)            │
├──────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ Total:   │ 145            │ 22654       │ 120931       │ 31           │ 1957 (8.64%)     │ 11665 (9.65%)     │
└──────────┴────────────────┴─────────────┴──────────────┴──────────────┴──────────────────┴───────────────────┘
Found 31 clones.
HTML report saved to megalinter-reports/copy-paste/html/
ERROR: jscpd found too many duplicates (8.64%) over threshold (0%)
Error: ERROR: jscpd found too many duplicates (8.64%) 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
thread 'tokio-runtime-worker' panicked at lychee-bin/src/commands/check.rs:244:18:
cannot send response to queue: SendError { .. }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: Cannot read input content from file `license.txt`

Caused by:
    stream did not contain valid UTF-8

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.

Signed-off-by: Martin Melik Merkumians <martin.melik@gmail.com>
@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.

Signed-off-by: Martin Melik Merkumians <martin.melik@gmail.com>
@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.

Signed-off-by: Martin Melik Merkumians <martin.melik@gmail.com>
…ject.c

Signed-off-by: Martin Melik Merkumians <martin.melik@gmail.com>
@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.

Signed-off-by: Martin Melik Merkumians <martin.melik@gmail.com>
Signed-off-by: Martin Melik Merkumians <martin.melik@gmail.com>
Signed-off-by: Martin Melik Merkumians <martin.melik@gmail.com>
Signed-off-by: Martin Melik Merkumians <martin.melik@gmail.com>
Signed-off-by: Martin Melik Merkumians <martin.melik@gmail.com>
Signed-off-by: Martin Melik Merkumians <martin.melik@gmail.com>
Signed-off-by: Martin Melik Merkumians <martin.melik@gmail.com>
Signed-off-by: Martin Melik Merkumians <martin.melik@gmail.com>
Signed-off-by: Martin Melik Merkumians <martin.melik@gmail.com>
Signed-off-by: Martin Melik Merkumians <martin.melik@gmail.com>
Signed-off-by: Martin Melik Merkumians <martin.melik@gmail.com>
Signed-off-by: Martin Melik Merkumians <martin.melik@gmail.com>
@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.

Signed-off-by: Martin Melik Merkumians <martin.melik@gmail.com>
Signed-off-by: Martin Melik Merkumians <martin.melik@gmail.com>
@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.

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