Skip to content

Commit c1ab24c

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 9cc0ef9 commit c1ab24c

File tree

22 files changed

+28900
-0
lines changed

22 files changed

+28900
-0
lines changed

extras/test/.gitignore

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

extras/test/CMakeLists.txt

+92
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
##########################################################################
2+
3+
set(CMAKE_VERBOSE_MAKEFILE ON)
4+
cmake_minimum_required(VERSION 2.8)
5+
6+
##########################################################################
7+
8+
project(testArduinoBLE)
9+
10+
##########################################################################
11+
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+
23+
set(CMAKE_CXX_STANDARD 11)
24+
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
25+
26+
##########################################################################
27+
28+
set(TEST_TARGET_UUID_SRCS
29+
src/Arduino.cpp
30+
src/util/itoa.c
31+
src/util/TestUtil.cpp
32+
src/test_main.cpp
33+
src/test_uuid/test_uuid.cpp
34+
../../src/utility/BLEUuid.cpp
35+
src/util/String.cpp
36+
src/util/Common.cpp
37+
)
38+
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
47+
../../src/utility/BLEUuid.cpp
48+
../../src/BLEDevice.cpp
49+
../../src/BLECharacteristic.cpp
50+
../../src/BLEDescriptor.cpp
51+
../../src/BLEService.cpp
52+
../../src/utility/ATT.cpp
53+
#../../src/utility/GAP.cpp
54+
../../src/utility/HCI.cpp
55+
../../src/utility/GATT.cpp
56+
../../src/utility/L2CAPSignaling.cpp
57+
../../src/local/BLELocalAttribute.cpp
58+
../../src/local/BLELocalCharacteristic.cpp
59+
../../src/local/BLELocalDescriptor.cpp
60+
../../src/local/BLELocalDevice.cpp
61+
../../src/local/BLELocalService.cpp
62+
../../src/remote/BLERemoteAttribute.cpp
63+
../../src/remote/BLERemoteCharacteristic.cpp
64+
../../src/remote/BLERemoteDescriptor.cpp
65+
../../src/remote/BLERemoteDevice.cpp
66+
../../src/remote/BLERemoteService.cpp
67+
../../src/BLEStringCharacteristic.cpp
68+
../../src/BLETypedCharacteristics.cpp
69+
# Fake classes
70+
src/util/HCIFakeTransport.cpp
71+
src/test_discovered_device/FakeGAP.cpp
72+
)
73+
74+
##########################################################################
75+
76+
set(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} "--coverage")
77+
set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "--coverage")
78+
79+
##########################################################################
80+
81+
add_executable(TEST_TARGET_UUID ${TEST_TARGET_UUID_SRCS})
82+
add_executable(TEST_TARGET_DISC_DEVICE ${TEST_TARGET_DISC_DEVICE_SRCS})
83+
84+
##########################################################################
85+
86+
# Build unit tests as a post build step
87+
add_custom_command(TARGET TEST_TARGET_UUID POST_BUILD
88+
COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/TEST_TARGET_UUID
89+
)
90+
add_custom_command(TARGET TEST_TARGET_DISC_DEVICE POST_BUILD
91+
COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/TEST_TARGET_DISC_DEVICE
92+
)

0 commit comments

Comments
 (0)