Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Apply clang format and clang tidy to common #646

Open
wants to merge 27 commits into
base: main
Choose a base branch
from

Conversation

TomasTurina
Copy link
Member

@TomasTurina TomasTurina commented Mar 5, 2025

Description

This PR introduces several improvements in common libraries.

Proposed Changes

  • Apply clang-format checks to all used common libraries.
    • Remaining libraries will probably be deleted in the future.
  • Apply clang-tidy checks to most of used common libraries.
    • data_provider and dbsync will be worked separately.
    • Remaining libraries will probably be deleted in the future.
  • Reorganize utils libraries.
  • Reorganize some common functions.
  • Fix comments style.
  • Some includes and definitions improvements.

Results and Evidence

Linux tests:

# make test
Running tests...
Test project /home/tomas/wazuh/wazuh-agent/src/build
      Start  1: byteArrayHelperTests
 1/53 Test  #1: byteArrayHelperTests .....................   Passed    0.00 sec
      Start  2: cmdHelperTests
 2/53 Test  #2: cmdHelperTests ...........................   Passed    0.01 sec
      Start  3: sysInfoPackagesLinuxHelper_unit_test
 3/53 Test  #3: sysInfoPackagesLinuxHelper_unit_test .....   Passed    0.00 sec
      Start  4: sysInfoPackagesBerkeleyDB_unit_test
 4/53 Test  #4: sysInfoPackagesBerkeleyDB_unit_test ......   Passed    0.01 sec
      Start  5: sysInfoNetworkLinux_unit_test
 5/53 Test  #5: sysInfoNetworkLinux_unit_test ............   Passed    0.00 sec
      Start  6: Rpm_unit_test
 6/53 Test  #6: Rpm_unit_test ............................   Passed    0.00 sec
      Start  7: sysInfoPackageLinuxParserRPM_unit_test
 7/53 Test  #7: sysInfoPackageLinuxParserRPM_unit_test ...   Passed    0.01 sec
      Start  8: sysInfoPackages_unit_test
 8/53 Test  #8: sysInfoPackages_unit_test ................   Passed    0.00 sec
      Start  9: sysinfo_unit_test
 9/53 Test  #9: sysinfo_unit_test ........................   Passed    0.01 sec
      Start 10: sysInfoPort_unit_test
10/53 Test #10: sysInfoPort_unit_test ....................   Passed    0.00 sec
      Start 11: sqlite_unit_test
11/53 Test #11: sqlite_unit_test .........................   Passed    0.13 sec
      Start 12: dbsync_unit_test
12/53 Test #12: dbsync_unit_test .........................   Passed    0.08 sec
      Start 13: dbsyncPipelineFactory_unit_test
13/53 Test #13: dbsyncPipelineFactory_unit_test ..........   Passed    0.01 sec
      Start 14: dbengine_unit_test
14/53 Test #14: dbengine_unit_test .......................   Passed    0.01 sec
      Start 15: fim_integration_test
15/53 Test #15: fim_integration_test .....................   Passed    0.18 sec
      Start 16: Filesystem
16/53 Test #16: Filesystem ...............................   Passed    0.00 sec
      Start 17: FileIO
17/53 Test #17: FileIO ...................................   Passed    0.01 sec
      Start 18: globHelperTests
18/53 Test #18: globHelperTests ..........................   Passed    0.01 sec
      Start 19: hashHelperTests
19/53 Test #19: hashHelperTests ..........................   Passed    0.03 sec
      Start 20: linuxHelperTests
20/53 Test #20: linuxHelperTests .........................   Passed    0.02 sec
      Start 21: LoggerTest
21/53 Test #21: LoggerTest ...............................   Passed    0.01 sec
      Start 22: mapWrapperTests
22/53 Test #22: mapWrapperTests ..........................   Passed    0.01 sec
      Start 23: pipelineHelperTests
23/53 Test #23: pipelineHelperTests ......................   Passed    0.01 sec
      Start 24: stringHelperTests
24/53 Test #24: stringHelperTests ........................   Passed    0.01 sec
      Start 25: threadDispatcherTests
25/53 Test #25: threadDispatcherTests ....................   Passed    0.01 sec
      Start 26: timeHelperTests
26/53 Test #26: timeHelperTests ..........................   Passed    0.01 sec
      Start 27: InventoryTest
27/53 Test #27: InventoryTest ............................   Passed    0.01 sec
      Start 28: InventoryImpTest
28/53 Test #28: InventoryImpTest .........................   Passed   28.13 sec
      Start 29: InvNormalizerTest
29/53 Test #29: InvNormalizerTest ........................   Passed    0.03 sec
      Start 30: StatelessEventUnitTest
30/53 Test #30: StatelessEventUnitTest ...................   Passed    0.01 sec
      Start 31: LogcollectorUnitTests
31/53 Test #31: LogcollectorUnitTests ....................   Passed    0.06 sec
      Start 32: ModuleManagerTest
32/53 Test #32: ModuleManagerTest ........................   Passed    0.03 sec
      Start 33: AgentInfoTest
33/53 Test #33: AgentInfoTest ............................   Passed    0.00 sec
      Start 34: AgentInfoPersistenceTest
34/53 Test #34: AgentInfoPersistenceTest .................   Passed    0.01 sec
      Start 35: CentralizedConfiguration
35/53 Test #35: CentralizedConfiguration .................   Passed    0.00 sec
      Start 36: CommandHandlerTest
36/53 Test #36: CommandHandlerTest .......................   Passed    2.01 sec
      Start 37: CommandStoreTest
37/53 Test #37: CommandStoreTest .........................   Passed    0.01 sec
      Start 38: CommunicatorTest
38/53 Test #38: CommunicatorTest .........................   Passed    8.04 sec
      Start 39: ConfigParserTest
39/53 Test #39: ConfigParserTest .........................   Passed    0.03 sec
      Start 40: ConfigParserUtilsTest
40/53 Test #40: ConfigParserUtilsTest ....................   Passed    0.02 sec
      Start 41: HttpClientTest
41/53 Test #41: HttpClientTest ...........................   Passed    0.01 sec
      Start 42: HttpSocketTest
42/53 Test #42: HttpSocketTest ...........................   Passed    0.01 sec
      Start 43: HttpsSocketTest
43/53 Test #43: HttpsSocketTest ..........................   Passed    0.02 sec
      Start 44: MultiTypeQueueTest
44/53 Test #44: MultiTypeQueueTest .......................   Passed    0.01 sec
      Start 45: StorageTest
45/53 Test #45: StorageTest ..............................   Passed    0.00 sec
      Start 46: SQLiteManager_test
46/53 Test #46: SQLiteManager_test .......................   Passed    0.09 sec
      Start 47: TaskManagerTest
47/53 Test #47: TaskManagerTest ..........................   Passed    0.01 sec
      Start 48: RestartHandler
48/53 Test #48: RestartHandler ...........................   Passed   11.04 sec
      Start 49: AgentTest
49/53 Test #49: AgentTest ................................   Passed    0.05 sec
      Start 50: AgentEnrollmentTest
50/53 Test #50: AgentEnrollmentTest ......................   Passed    0.01 sec
      Start 51: SignalHandlerTest
51/53 Test #51: SignalHandlerTest ........................   Passed    0.00 sec
      Start 52: MessageQueueUtilsTest
52/53 Test #52: MessageQueueUtilsTest ....................   Passed    0.00 sec
      Start 53: InstanceHandlerTest
53/53 Test #53: InstanceHandlerTest ......................   Passed    0.00 sec

100% tests passed, 0 tests failed out of 53

macOS tests:

% make test
Running tests...
Test project /Users/tomasturina/Desktop/wazuh-agent/src/build
      Start  1: byteArrayHelperTests
 1/53 Test  #1: byteArrayHelperTests ..............   Passed    0.01 sec
      Start  2: cmdHelperTests
 2/53 Test  #2: cmdHelperTests ....................   Passed    0.01 sec
      Start  3: sysInfoHardwareMac_unit_test
 3/53 Test  #3: sysInfoHardwareMac_unit_test ......   Passed    0.01 sec
      Start  4: sysInfoHardwareARMMac_unit_test
 4/53 Test  #4: sysInfoHardwareARMMac_unit_test ...   Passed    0.01 sec
      Start  5: sysInfoNetworkBSD_unit_test
 5/53 Test  #5: sysInfoNetworkBSD_unit_test .......   Passed    0.01 sec
      Start  6: sysInfoMacPackage_unit_test
 6/53 Test  #6: sysInfoMacPackage_unit_test .......   Passed    0.01 sec
      Start  7: sysInfoPackages_unit_test
 7/53 Test  #7: sysInfoPackages_unit_test .........   Passed    0.01 sec
      Start  8: sysinfo_unit_test
 8/53 Test  #8: sysinfo_unit_test .................   Passed    0.01 sec
      Start  9: sysInfoPort_unit_test
 9/53 Test  #9: sysInfoPort_unit_test .............   Passed    0.01 sec
      Start 10: sqlite_unit_test
10/53 Test #10: sqlite_unit_test ..................   Passed    0.01 sec
      Start 11: dbsync_unit_test
11/53 Test #11: dbsync_unit_test ..................   Passed    0.08 sec
      Start 12: dbsyncPipelineFactory_unit_test
12/53 Test #12: dbsyncPipelineFactory_unit_test ...   Passed    0.02 sec
      Start 13: dbengine_unit_test
13/53 Test #13: dbengine_unit_test ................   Passed    0.02 sec
      Start 14: fim_integration_test
14/53 Test #14: fim_integration_test ..............   Passed    0.24 sec
      Start 15: Filesystem
15/53 Test #15: Filesystem ........................   Passed    0.01 sec
      Start 16: FileIO
16/53 Test #16: FileIO ............................   Passed    0.01 sec
      Start 17: globHelperTests
17/53 Test #17: globHelperTests ...................   Passed    0.01 sec
      Start 18: hashHelperTests
18/53 Test #18: hashHelperTests ...................   Passed    0.02 sec
      Start 19: LoggerTest
19/53 Test #19: LoggerTest ........................   Passed    0.01 sec
      Start 20: mapWrapperTests
20/53 Test #20: mapWrapperTests ...................   Passed    0.00 sec
      Start 21: pipelineHelperTests
21/53 Test #21: pipelineHelperTests ...............   Passed    0.01 sec
      Start 22: stringHelperTests
22/53 Test #22: stringHelperTests .................   Passed    0.01 sec
      Start 23: threadDispatcherTests
23/53 Test #23: threadDispatcherTests .............   Passed    0.01 sec
      Start 24: timeHelperTests
24/53 Test #24: timeHelperTests ...................   Passed    0.01 sec
      Start 25: InventoryTest
25/53 Test #25: InventoryTest .....................   Passed    0.01 sec
      Start 26: InventoryImpTest
26/53 Test #26: InventoryImpTest ..................   Passed   28.14 sec
      Start 27: InvNormalizerTest
27/53 Test #27: InvNormalizerTest .................   Passed    0.03 sec
      Start 28: StatelessEventUnitTest
28/53 Test #28: StatelessEventUnitTest ............   Passed    0.01 sec
      Start 29: OSLogStoreWrapperTest
29/53 Test #29: OSLogStoreWrapperTest .............   Passed    0.23 sec
      Start 30: OSLogStoreDependenciesTest
30/53 Test #30: OSLogStoreDependenciesTest ........   Passed    0.01 sec
      Start 31: ModuleManagerTest
31/53 Test #31: ModuleManagerTest .................   Passed    0.03 sec
      Start 32: AgentInfoTest
32/53 Test #32: AgentInfoTest .....................   Passed    0.01 sec
      Start 33: AgentInfoPersistenceTest
33/53 Test #33: AgentInfoPersistenceTest ..........   Passed    0.01 sec
      Start 34: CentralizedConfiguration
34/53 Test #34: CentralizedConfiguration ..........   Passed    0.01 sec
      Start 35: CommandHandlerTest
35/53 Test #35: CommandHandlerTest ................   Passed    2.02 sec
      Start 36: CommandStoreTest
36/53 Test #36: CommandStoreTest ..................   Passed    0.02 sec
      Start 37: CommunicatorTest
37/53 Test #37: CommunicatorTest ..................   Passed    8.04 sec
      Start 38: ConfigParserTest
38/53 Test #38: ConfigParserTest ..................   Passed    0.02 sec
      Start 39: ConfigParserUtilsTest
39/53 Test #39: ConfigParserUtilsTest .............   Passed    0.01 sec
      Start 40: HttpClientTest
40/53 Test #40: HttpClientTest ....................   Passed    0.02 sec
      Start 41: HttpSocketTest
41/53 Test #41: HttpSocketTest ....................   Passed    0.01 sec
      Start 42: HttpsSocketTest
42/53 Test #42: HttpsSocketTest ...................   Passed    0.06 sec
      Start 43: HttpsVerifierTest
43/53 Test #43: HttpsVerifierTest .................   Passed    0.01 sec
      Start 44: MultiTypeQueueTest
44/53 Test #44: MultiTypeQueueTest ................   Passed    0.01 sec
      Start 45: StorageTest
45/53 Test #45: StorageTest .......................   Passed    0.01 sec
      Start 46: SQLiteManager_test
46/53 Test #46: SQLiteManager_test ................   Passed    0.02 sec
      Start 47: TaskManagerTest
47/53 Test #47: TaskManagerTest ...................   Passed    0.01 sec
      Start 48: RestartHandler
48/53 Test #48: RestartHandler ....................   Passed    8.08 sec
      Start 49: AgentTest
49/53 Test #49: AgentTest .........................   Passed    0.04 sec
      Start 50: AgentEnrollmentTest
50/53 Test #50: AgentEnrollmentTest ...............   Passed    0.01 sec
      Start 51: SignalHandlerTest
51/53 Test #51: SignalHandlerTest .................   Passed    0.01 sec
      Start 52: MessageQueueUtilsTest
52/53 Test #52: MessageQueueUtilsTest .............   Passed    0.01 sec
      Start 53: InstanceHandlerTest
53/53 Test #53: InstanceHandlerTest ...............   Passed    0.01 sec

100% tests passed, 0 tests failed out of 53

Windows tests:

> ctest -C RelWithDebInfo --test-dir build --output-log build
Internal ctest changing into directory: C:/Users/USUARIO/Desktop/wazuh-agent/build
Test project C:/Users/USUARIO/Desktop/wazuh-agent/build
      Start  1: byteArrayHelperTests
 1/52 Test  #1: byteArrayHelperTests ..............   Passed    0.09 sec
      Start  2: cmdHelperTests
 2/52 Test  #2: cmdHelperTests ....................   Passed    0.11 sec
      Start  3: sysInfoWindows_unit_test
 3/52 Test  #3: sysInfoWindows_unit_test ..........   Passed    0.22 sec
      Start  4: sysInfoNetworkWindows_unit_test
 4/52 Test  #4: sysInfoNetworkWindows_unit_test ...   Passed    0.07 sec
      Start  5: sysInfoPackages_unit_test
 5/52 Test  #5: sysInfoPackages_unit_test .........   Passed    0.06 sec
      Start  6: sysinfo_unit_test
 6/52 Test  #6: sysinfo_unit_test .................   Passed    0.09 sec
      Start  7: sysInfoPort_unit_test
 7/52 Test  #7: sysInfoPort_unit_test .............   Passed    0.05 sec
      Start  8: sqlite_unit_test
 8/52 Test  #8: sqlite_unit_test ..................   Passed    0.20 sec
      Start  9: dbsync_unit_test
 9/52 Test  #9: dbsync_unit_test ..................   Passed    0.53 sec
      Start 10: dbsyncPipelineFactory_unit_test
10/52 Test #10: dbsyncPipelineFactory_unit_test ...   Passed    0.19 sec
      Start 11: dbengine_unit_test
11/52 Test #11: dbengine_unit_test ................   Passed    0.06 sec
      Start 12: fim_integration_test
12/52 Test #12: fim_integration_test ..............   Passed    0.74 sec
      Start 13: encodingHelperTests
13/52 Test #13: encodingHelperTests ...............   Passed    0.09 sec
      Start 14: Filesystem
14/52 Test #14: Filesystem ........................   Passed    0.09 sec
      Start 15: FileIO
15/52 Test #15: FileIO ............................   Passed    0.09 sec
      Start 16: globHelperTests
16/52 Test #16: globHelperTests ...................   Passed    0.08 sec
      Start 17: hashHelperTests
17/52 Test #17: hashHelperTests ...................   Passed    0.20 sec
      Start 18: LoggerTest
18/52 Test #18: LoggerTest ........................   Passed    0.23 sec
      Start 19: mapWrapperTests
19/52 Test #19: mapWrapperTests ...................   Passed    0.07 sec
      Start 20: networkHelperTests
20/52 Test #20: networkHelperTests ................   Passed    0.09 sec
      Start 21: PalTimeTest
21/52 Test #21: PalTimeTest .......................   Passed    0.08 sec
      Start 22: pipelineHelperTests
22/52 Test #22: pipelineHelperTests ...............   Passed    0.09 sec
      Start 23: registryHelperTests
23/52 Test #23: registryHelperTests ...............   Passed    0.10 sec
      Start 24: stringHelperTests
24/52 Test #24: stringHelperTests .................   Passed    0.09 sec
      Start 25: threadDispatcherTests
25/52 Test #25: threadDispatcherTests .............   Passed    0.20 sec
      Start 26: timeHelperTests
26/52 Test #26: timeHelperTests ...................   Passed    0.08 sec
      Start 27: windowsHelperTests
27/52 Test #27: windowsHelperTests ................   Passed    0.09 sec
      Start 28: InventoryImpTest
28/52 Test #28: InventoryImpTest ..................   Passed   28.60 sec
      Start 29: InvNormalizerTest
29/52 Test #29: InvNormalizerTest .................   Passed    0.21 sec
      Start 30: StatelessEventUnitTest
30/52 Test #30: StatelessEventUnitTest ............   Passed    0.09 sec
      Start 31: LogcollectorUnitTests
31/52 Test #31: LogcollectorUnitTests .............   Passed    0.16 sec
      Start 32: ModuleManagerTest
32/52 Test #32: ModuleManagerTest .................   Passed    0.28 sec
      Start 33: AgentInfoTest
33/52 Test #33: AgentInfoTest .....................   Passed    0.15 sec
      Start 34: AgentInfoPersistenceTest
34/52 Test #34: AgentInfoPersistenceTest ..........   Passed    0.08 sec
      Start 35: CentralizedConfiguration
35/52 Test #35: CentralizedConfiguration ..........   Passed    0.14 sec
      Start 36: CommandHandlerTest
36/52 Test #36: CommandHandlerTest ................   Passed    2.20 sec
      Start 37: CommandStoreTest
37/52 Test #37: CommandStoreTest ..................   Passed    0.06 sec
      Start 38: CommunicatorTest
38/52 Test #38: CommunicatorTest ..................   Passed    8.23 sec
      Start 39: ConfigParserTest
39/52 Test #39: ConfigParserTest ..................   Passed    0.15 sec
      Start 40: ConfigParserUtilsTest
40/52 Test #40: ConfigParserUtilsTest .............   Passed    0.04 sec
      Start 41: HttpClientTest
41/52 Test #41: HttpClientTest ....................   Passed    0.20 sec
      Start 42: HttpSocketTest
42/52 Test #42: HttpSocketTest ....................   Passed    0.06 sec
      Start 43: HttpsSocketTest
43/52 Test #43: HttpsSocketTest ...................   Passed    0.07 sec
      Start 44: HttpsVerifierTest
44/52 Test #44: HttpsVerifierTest .................   Passed    0.06 sec
      Start 45: MultiTypeQueueTest
45/52 Test #45: MultiTypeQueueTest ................   Passed    0.22 sec
      Start 46: StorageTest
46/52 Test #46: StorageTest .......................   Passed    0.06 sec
      Start 47: SQLiteManager_test
47/52 Test #47: SQLiteManager_test ................   Passed    0.13 sec
      Start 48: TaskManagerTest
48/52 Test #48: TaskManagerTest ...................   Passed    0.15 sec
      Start 49: AgentEnrollmentTest
49/52 Test #49: AgentEnrollmentTest ...............   Passed    0.15 sec
      Start 50: SignalHandlerTest
50/52 Test #50: SignalHandlerTest .................   Passed    0.08 sec
      Start 51: MessageQueueUtilsTest
51/52 Test #51: MessageQueueUtilsTest .............   Passed    0.06 sec
      Start 52: WindowsServiceTest
52/52 Test #52: WindowsServiceTest ................   Passed    0.20 sec

100% tests passed, 0 tests failed out of 52

Artifacts Affected

  • RPM
  • DEB
  • PKG
  • MSI

Configuration Changes

N/A

Documentation Updates

N/A

Tests Introduced

N/A

Review Checklist

  • Code changes reviewed
  • Relevant evidence provided
  • Tests cover the new functionality
  • Configuration changes documented
  • Developer documentation reflects the changes
  • Meets requirements and/or definition of done
  • No unresolved dependencies with other issues

@TomasTurina TomasTurina changed the title Fix/598 apply clang format to common Apply clang format and clang tidy to common Mar 5, 2025
@TomasTurina TomasTurina self-assigned this Mar 5, 2025
@TomasTurina TomasTurina marked this pull request as draft March 5, 2025 21:04
@TomasTurina TomasTurina force-pushed the fix/598-apply-clang-format-to-common branch from e6e80c5 to e23fd5f Compare March 5, 2025 21:05
@TomasTurina TomasTurina linked an issue Mar 5, 2025 that may be closed by this pull request
@TomasTurina TomasTurina force-pushed the fix/598-apply-clang-format-to-common branch 25 times, most recently from c2c56bd to 887b568 Compare March 12, 2025 15:09
@TomasTurina TomasTurina force-pushed the fix/598-apply-clang-format-to-common branch from ad46d35 to 01a6993 Compare March 12, 2025 18:32
@TomasTurina TomasTurina force-pushed the fix/598-apply-clang-format-to-common branch from 6d1aa62 to 2d60efd Compare March 12, 2025 21:01
@TomasTurina TomasTurina force-pushed the fix/598-apply-clang-format-to-common branch 3 times, most recently from b62b833 to 1c84d0d Compare March 13, 2025 13:35
@TomasTurina TomasTurina force-pushed the fix/598-apply-clang-format-to-common branch from 1c84d0d to 2d2c049 Compare March 13, 2025 13:52
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.

Add Clang format and Clang tidy to common directory
3 participants