Skip to content

Commit b586d0d

Browse files
committed
CI - Integrate CI unit testing
Each class under test will have a dedicated test file. Each test file is placed in a dedicated folder in extras/test/src . Such dedicated folder will also contain the mock (Fake) objects needed by the test. Finally, an executable file will be generated for each test.
1 parent 3cc745f commit b586d0d

File tree

21 files changed

+19425
-27
lines changed

21 files changed

+19425
-27
lines changed

extras/test/.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
build

extras/test/CMakeLists.txt

+39-26
Original file line numberDiff line numberDiff line change
@@ -9,49 +9,29 @@ project(testArduinoBLE)
99

1010
##########################################################################
1111

12-
include_directories(include)
13-
include_directories(include/util)
14-
include_directories(../../src)
15-
include_directories(../../src/local)
16-
include_directories(../../src/remote)
17-
include_directories(../../src/utility)
18-
include_directories(external/catch/v2.12.1/include)
19-
include_directories(external/fakeit/v2.0.5/include)
20-
21-
##########################################################################
22-
2312
set(CMAKE_CXX_STANDARD 11)
2413
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
2514

2615
##########################################################################
2716

28-
set(TEST_TARGET_UUID_SRCS
17+
set(COMMON_TEST_SRCS
18+
src/test_main.cpp
2919
src/Arduino.cpp
3020
src/util/itoa.c
3121
src/util/TestUtil.cpp
32-
src/test_main.cpp
33-
src/test_uuid/test_uuid.cpp
34-
../../src/utility/BLEUuid.cpp
3522
src/util/String.cpp
3623
src/util/Common.cpp
3724
)
3825

39-
set(TEST_TARGET_DISC_DEVICE_SRCS
40-
src/Arduino.cpp
41-
src/util/itoa.c
42-
src/util/TestUtil.cpp
43-
src/util/String.cpp
44-
src/util/Common.cpp
45-
src/test_main.cpp
46-
src/test_discovered_device/test_discovered_device.cpp
26+
set(DUT_SRCS
4727
../../src/utility/BLEUuid.cpp
4828
../../src/BLEDevice.cpp
4929
../../src/BLECharacteristic.cpp
5030
../../src/BLEDescriptor.cpp
5131
../../src/BLEService.cpp
5232
../../src/BLEAdvertisingData.cpp
5333
../../src/utility/ATT.cpp
54-
#../../src/utility/GAP.cpp
34+
../../src/utility/GAP.cpp
5535
../../src/utility/HCI.cpp
5636
../../src/utility/GATT.cpp
5737
../../src/utility/L2CAPSignaling.cpp
@@ -61,14 +41,30 @@ set(TEST_TARGET_DISC_DEVICE_SRCS
6141
../../src/local/BLELocalDevice.cpp
6242
../../src/local/BLELocalService.cpp
6343
../../src/remote/BLERemoteAttribute.cpp
64-
../../src/remote/BLERemoteAdvertisingData.cpp
6544
../../src/remote/BLERemoteCharacteristic.cpp
6645
../../src/remote/BLERemoteDescriptor.cpp
6746
../../src/remote/BLERemoteDevice.cpp
6847
../../src/remote/BLERemoteService.cpp
6948
../../src/BLEStringCharacteristic.cpp
7049
../../src/BLETypedCharacteristics.cpp
71-
# Fake classes
50+
)
51+
52+
set(TEST_TARGET_UUID_SRCS
53+
# Test files
54+
${COMMON_TEST_SRCS}
55+
src/test_uuid/test_uuid.cpp
56+
# DUT files
57+
#${DUT_SRCS}
58+
../../src/utility/BLEUuid.cpp
59+
)
60+
61+
set(TEST_TARGET_DISC_DEVICE_SRCS
62+
# Test files
63+
${COMMON_TEST_SRCS}
64+
src/test_discovered_device/test_discovered_device.cpp
65+
# DUT files
66+
${DUT_SRCS}
67+
# Fake classes files
7268
src/util/HCIFakeTransport.cpp
7369
src/test_discovered_device/FakeGAP.cpp
7470
)
@@ -85,6 +81,23 @@ add_executable(TEST_TARGET_DISC_DEVICE ${TEST_TARGET_DISC_DEVICE_SRCS})
8581

8682
##########################################################################
8783

84+
include_directories(include)
85+
include_directories(include/util)
86+
include_directories(../../src)
87+
include_directories(../../src/local)
88+
include_directories(../../src/remote)
89+
include_directories(../../src/utility)
90+
include_directories(external/catch/v2.12.1/include)
91+
include_directories(external/fakeit/v2.0.5/include)
92+
93+
target_include_directories(TEST_TARGET_DISC_DEVICE PUBLIC include/test_discovered_device)
94+
95+
##########################################################################
96+
97+
target_compile_definitions(TEST_TARGET_DISC_DEVICE PUBLIC FAKE_GAP)
98+
99+
##########################################################################
100+
88101
# Build unit tests as a post build step
89102
add_custom_command(TARGET TEST_TARGET_UUID POST_BUILD
90103
COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/TEST_TARGET_UUID

0 commit comments

Comments
 (0)