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 [email protected] --custom-flavor-setup --custom-flavor-linters ACTION_ACTIONLINT,C_CPPCHECK,C_CPPLINT,C_CLANG_FORMAT,COPYPASTE_JSCPD,CPP_CPPCHECK,CPP_CPPLINT,CPP_CLANG_FORMAT,MARKDOWN_MARKDOWNLINT,MARKDOWN_MARKDOWN_TABLE_FORMATTER,REPOSITORY_CHECKOV,REPOSITORY_GIT_DIFF,REPOSITORY_GITLEAKS,REPOSITORY_GRYPE,REPOSITORY_SECRETLINT,REPOSITORY_SYFT,REPOSITORY_TRIVY,REPOSITORY_TRIVY_SBOM,REPOSITORY_TRUFFLEHOG,SPELL_LYCHEE,XML_XMLLINT,YAML_PRETTIER,YAML_YAMLLINT,YAML_V8R

MegaLinter is graciously provided by OX Security

@github-actions
Copy link

github-actions bot commented Dec 1, 2025

📊 Coverage Report

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

Download the detailed HTML report from the artifacts.

@github-actions
Copy link

github-actions bot commented Dec 1, 2025

📊 Coverage Report

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

Download the detailed HTML report from the artifacts.

@github-actions
Copy link

github-actions bot commented Dec 3, 2025

MegaLinter analysis: Error

Descriptor Linter Files Fixed Errors Warnings Elapsed time
✅ ACTION actionlint 2 0 0 0.32s
✅ BASH bash-exec 2 0 0 0.01s
❌ BASH shellcheck 2 1 2 0.34s
✅ BASH shfmt 2 2 0 0 0.11s
✅ C clang-format 113 1 0 0 0.87s
✅ C cppcheck 113 0 0 9.12s
❌ C cpplint 113 8 0 9.83s
❌ COPYPASTE jscpd yes 31 no 4.71s
✅ CPP clang-format 75 0 0 0 0.43s
✅ CPP cppcheck 75 0 0 2.41s
❌ CPP cpplint 75 99 0 4.99s
⚠️ MARKDOWN markdownlint 5 1 3 0 1.08s
✅ MARKDOWN markdown-table-formatter 5 3 0 0 0.4s
✅ REPOSITORY checkov yes no no 17.59s
✅ REPOSITORY gitleaks yes no no 2.52s
✅ REPOSITORY git_diff yes no no 0.06s
❌ REPOSITORY grype yes 1 1 26.84s
✅ REPOSITORY secretlint yes no no 1.14s
✅ REPOSITORY syft yes no no 1.3s
✅ REPOSITORY trivy yes no no 4.95s
✅ REPOSITORY trivy-sbom yes no no 0.12s
✅ REPOSITORY trufflehog yes no no 2.71s
❌ SPELL lychee 20 7 0 2.76s
✅ YAML prettier 5 2 0 0 0.59s
✅ YAML v8r 5 0 0 7.79s
✅ YAML yamllint 5 0 0 0.42s

Detailed Issues

❌ C / cpplint - 8 errors
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/STM32/opener.c:49:  Consider using rand_r(...) instead of rand(...) for improved thread safety.  [runtime/threadsafe_fn] [2]
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 processing source/src/ports/POSIX/sample_application/opener_user_conf.h
Done processing source/src/ports/POSIX/sample_application/sampleapplication.c
Done processing source/src/ports/STM32/networkconfig.c
Done processing source/src/ports/STM32/networkconfig.h
Done processing source/src/ports/STM32/networkhandler.c
Done processing source/src/ports/STM32/opener.c
Done processing source/src/ports/STM32/opener.h
Done processing source/src/ports/STM32/opener_error.c
Done processing source/src/ports/STM32/platform_network_includes.h
Done processing source/src/ports/STM32/sample_application/ethlinkcbs.c
Done processing source/src/ports/STM32/sample_application/ethlinkcbs.h
Done processing source/src/ports/STM32/sample_application/opener_user_conf.h
Done processing source/src/ports/STM32/sample_application/sampleapplication.c
Done processing source/src/ports/WIN32/main.c
Done processing source/src/ports/WIN32/networkconfig.c
Done processing source/src/ports/WIN32/networkconfig.h
Done processing source/src/ports/WIN32/networkhandler.c
Done processing source/src/ports/WIN32/opener_error.c
Done processing source/src/ports/WIN32/platform_network_includes.h
Done processing source/src/ports/WIN32/sample_application/ethlinkcbs.c
Done processing source/src/ports/WIN32/sample_application/ethlinkcbs.h
Done processing source/src/ports/WIN32/sample_application

(Truncated to 5714 characters out of 7110)
❌ CPP / cpplint - 99 errors
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 #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]

(Truncated to 5714 characters out of 16147)
❌ 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/networkhandler.c [33:8 - 65:56] (32 lines, 203 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/networkconfig.c [27:1 - 260:17] (233 lines, 1158 tokens)
   source/src/ports/WIN32/networkconfig.c [27: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/ports/check_encapsulation_inactivity_tests.cpp [144:3 - 163:4] (19 lines, 111 tokens)
   source/tests/ports/check_encapsulation_inactivity_tests.cpp [101:3 - 119:4]

Clone found (cpp):
 - source/tests/ports/check_encapsulation_inactivity_tests.cpp [259:3 - 277:4] (18 lines, 111 tokens)
   source/tests/ports/check_encapsulation_inactivity_tests.cpp [101:3 - 119:4]

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             │ 12498       │ 73303        │ 21           │ 18

(Truncated to 5714 characters out of 8209)
❌ SPELL / lychee - 7 errors
[ERROR] file://source/tests/ports/source/src/ports/generic_networkhandler.c | Cannot find file
[ERROR] file://source/tests/ports/source/tests/ports/CMakeLists.txt | Cannot find file
[ERROR] file://source/tests/ports/source/tests/ports/check_encapsulation_inactivity_tests.cpp | Cannot find file
[ERROR] file://source/tests/ports/source/tests/OpENerTests.h | Cannot find file
[ERROR] file://source/tests/ports/source/src/ports/generic_networkhandler.h | Cannot find file
[404] https://github.com/$ | Network error: Not Found
[404] https://github.com/$ | Network error: Not Found
📝 Summary
---------------------
🔍 Total...........25
✅ Successful......17
⏳ Timeouts.........0
🔀 Redirected.......0
👻 Excluded.........1
❓ Unknown..........0
🚫 Errors...........7

Errors in source/tests/ports/CHECKENCAPSULATIONINACTIVITY_TESTS.md
[ERROR] file://source/tests/ports/source/src/ports/generic_networkhandler.h | Cannot find file
[ERROR] file://source/tests/ports/source/tests/ports/CMakeLists.txt | Cannot find file
[ERROR] file://source/tests/ports/source/tests/ports/check_encapsulation_inactivity_tests.cpp | Cannot find file
[ERROR] file://source/tests/ports/source/src/ports/generic_networkhandler.c | Cannot find file
[ERROR] file://source/tests/ports/source/tests/OpENerTests.h | Cannot find file

Errors in .github/workflows/ci.yml
[404] https://github.com/$ | Network error: Not Found

Errors in .github/workflows/exhaustive-analysis.yml
[404] https://github.com/$ | Network error: Not Found
❌ BASH / shellcheck - 1 error
note: Double quote to prevent globbing and word splitting.
   ┌─ run_sanitizer_tests.sh:70:20
   │
70 │ "$TEST_EXECUTABLE" $TEST_ARGS
   │                    ^^^^^^^^^^
   │
   ┌─ run_sanitizer_tests.sh:70:20
   │
70 │ "$TEST_EXECUTABLE" $TEST_ARGS
   │                    -
   │
   ┌─ run_sanitizer_tests.sh:70:30
   │
70 │ "$TEST_EXECUTABLE" $TEST_ARGS
   │                              -
   │
   = SC2086
   = For more information: https://www.shellcheck.net/wiki/SC2086

note: Double quote to prevent globbing and word splitting.
   ┌─ build_with_sanitizers.sh:62:7
   │
62 │ cmake $CMAKE_ARGS "$PROJECT_ROOT/source"
   │       ^^^^^^^^^^^
   │
   ┌─ build_with_sanitizers.sh:62:7
   │
62 │ cmake $CMAKE_ARGS "$PROJECT_ROOT/source"
   │       -
   │
   ┌─ build_with_sanitizers.sh:62:18
   │
62 │ cmake $CMAKE_ARGS "$PROJECT_ROOT/source"
   │                  -
   │
   = SC2086
   = For more information: https://www.shellcheck.net/wiki/SC2086
⚠️ MARKDOWN / markdownlint - 3 errors
SANITIZER_GUIDE.md:87 MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
SANITIZER_GUIDE.md:243 MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
source/tests/ports/CHECKENCAPSULATIONINACTIVITY_TESTS.md:212 MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]

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 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 <[email protected]>
Signed-off-by: Martin Melik Merkumians <[email protected]>
Signed-off-by: Martin Melik Merkumians <[email protected]>
Signed-off-by: Martin Melik Merkumians <[email protected]>
Signed-off-by: Martin Melik Merkumians <[email protected]>
Signed-off-by: Martin Melik Merkumians <[email protected]>
Signed-off-by: Martin Melik Merkumians <[email protected]>
Signed-off-by: Martin Melik Merkumians <[email protected]>
Signed-off-by: Martin Melik Merkumians <[email protected]>
Signed-off-by: Martin Melik Merkumians <[email protected]>
Signed-off-by: Martin Melik Merkumians <[email protected]>
Signed-off-by: Martin Melik Merkumians <[email protected]>
@github-actions
Copy link

📊 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 <[email protected]>
Signed-off-by: Martin Melik Merkumians <[email protected]>
@github-actions
Copy link

📊 Coverage Report

Line Coverage: 40.8%

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

📥 Download the detailed HTML report from artifacts.

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

@github-actions
Copy link

📊 Coverage Report

Line Coverage: 40.8%

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

📥 Download the detailed HTML report from artifacts.

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

@github-actions
Copy link

📊 Coverage Report

Line Coverage: 43.1%

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

📥 Download the detailed HTML report from artifacts.

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

Reveres conditions and adds early returns to return if/else
indention levels

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

📊 Coverage Report

Line Coverage: 43.1%

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

📥 Download the detailed HTML report from artifacts.

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

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

📊 Coverage Report

Line Coverage: 44.4%

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

📥 Download the detailed HTML report from artifacts.

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

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