Skip to content

Commit 027b7d8

Browse files
committed
Fixup test building in cmake and path injection
1 parent e598bdb commit 027b7d8

File tree

7 files changed

+39
-84
lines changed

7 files changed

+39
-84
lines changed

CMakeLists.txt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,21 @@ endif()
105105

106106

107107
if(COMPILE_TESTS)
108+
# Bring in googletest & C++
109+
enable_language(CXX)
110+
enable_testing()
111+
include(FetchContent)
112+
113+
114+
FetchContent_Declare(
115+
googletest
116+
GIT_REPOSITORY https://github.com/google/googletest.git
117+
GIT_TAG v1.17.0
118+
)
119+
FetchContent_MakeAvailable(googletest)
120+
add_library(GTest::GTest INTERFACE IMPORTED)
121+
target_link_libraries(GTest::GTest INTERFACE gtest_main)
122+
108123
add_subdirectory(tools/blisp/src/file_parsers/dfu/tests)
109124
add_subdirectory(tools/blisp/src/file_parsers/hex/tests)
110125
endif(COMPILE_TESTS)
Lines changed: 3 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,10 @@
1-
enable_language(CXX)
2-
3-
enable_testing()
4-
include(FetchContent)
5-
6-
7-
FetchContent_Declare(
8-
googletest
9-
GIT_REPOSITORY https://github.com/google/googletest.git
10-
GIT_TAG v1.17.0
11-
)
12-
FetchContent_MakeAvailable(googletest)
13-
add_library(GTest::GTest INTERFACE IMPORTED)
14-
target_link_libraries(GTest::GTest INTERFACE gtest_main)
15-
16-
171
add_executable(dfu_file_test test_dfu_file.cpp ../dfu_file.c ../dfu_crc.c ../../get_file_contents.c)
182

193
target_link_libraries(dfu_file_test
204
PRIVATE
215
GTest::GTest
226
)
7+
include(GoogleTest)
238
include_directories(dfu_file_test PRIVATE ../ ../../)
24-
add_test(dfu_file_test_gtests dfu_file_test)
25-
26-
configure_file(Config.h.in ${CMAKE_BINARY_DIR}/Config.h)
27-
include_directories(${CMAKE_BINARY_DIR})
28-
29-
set(TEST_APP_NAME dfu_file_tests)
9+
target_compile_definitions(dfu_file_test PUBLIC "SOURCE_DIR=\"${CMAKE_SOURCE_DIR}\"")
10+
gtest_discover_tests(dfu_file_test)

tools/blisp/src/file_parsers/dfu/tests/Config.h.in

Lines changed: 0 additions & 10 deletions
This file was deleted.

tools/blisp/src/file_parsers/dfu/tests/test_dfu_file.cpp

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,16 @@
22
// Created by ralim on 26/09/22.
33
//
44

5-
#include "Config.h"
6-
#include "dfu_file.h"
75
#include <gtest/gtest.h>
6+
#include "dfu_file.h"
87
TEST(DFU_FILE_PARSER, ParseTestFile) {
9-
uint8_t* payload = nullptr;
10-
size_t payload_size = 0;
11-
size_t payload_address = 0;
12-
int res = dfu_file_parse(SOURCE_DIR "/test.dfu", &payload, &payload_size,
13-
&payload_address);
14-
ASSERT_EQ(res, 1);
15-
ASSERT_EQ(payload_size, 1337);
16-
ASSERT_EQ(payload_address, 0x11223344);
17-
}
8+
uint8_t* payload = nullptr;
9+
size_t payload_size = 0;
10+
size_t payload_address = 0;
11+
int res = dfu_file_parse(SOURCE_DIR
12+
"/tools/blisp/src/file_parsers/dfu/tests/test.dfu",
13+
&payload, &payload_size, &payload_address);
14+
ASSERT_EQ(res, 1);
15+
ASSERT_EQ(payload_size, 1337);
16+
ASSERT_EQ(payload_address, 0x11223344);
17+
}
Lines changed: 4 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,10 @@
1-
enable_language(CXX)
2-
3-
enable_testing()
4-
include(FetchContent)
5-
6-
7-
FetchContent_Declare(
8-
googletest
9-
GIT_REPOSITORY https://github.com/google/googletest.git
10-
GIT_TAG v1.17.0
11-
)
12-
FetchContent_MakeAvailable(googletest)
13-
add_library(GTest::GTest INTERFACE IMPORTED)
14-
target_link_libraries(GTest::GTest INTERFACE gtest_main)
15-
16-
17-
add_executable(hex_file_test test_hex_file.cpp ../hex_file.c)
1+
add_executable(hex_file_test test_hex_file.cpp ../hex_file.c )
182

193
target_link_libraries(hex_file_test
204
PRIVATE
215
GTest::GTest
226
)
7+
include(GoogleTest)
238
include_directories(hex_file_test PRIVATE ../ ../../)
24-
add_test(hex_file_test_gtests hex_file_test)
25-
26-
configure_file(Config.h.in ${CMAKE_BINARY_DIR}/Config.h)
27-
include_directories(${CMAKE_BINARY_DIR})
28-
29-
set(TEST_APP_NAME hex_file_tests)
9+
target_compile_definitions(hex_file_test PUBLIC "SOURCE_DIR=\"${CMAKE_SOURCE_DIR}\"")
10+
gtest_discover_tests(hex_file_test)

tools/blisp/src/file_parsers/hex/tests/Config.h.in

Lines changed: 0 additions & 10 deletions
This file was deleted.

tools/blisp/src/file_parsers/hex/tests/test_hex_file.cpp

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,18 @@
1-
//
2-
// Created for Intel HEX file tests
3-
//
1+
// Intel hex file parser test
42

53
#include <gtest/gtest.h>
6-
#include "Config.h"
74
#include "hex_file.h"
85
#include "parse_file.h"
96

107
TEST(HEX_FILE_PARSER, ParseTestFile) {
118
uint8_t* payload = nullptr;
129
size_t payload_size = 0;
1310
size_t payload_address = 0;
14-
int res = hex_file_parse(SOURCE_DIR "/test.hex", &payload, &payload_size,
15-
&payload_address);
16-
17-
ASSERT_EQ(res, 1);
11+
int res = hex_file_parse(SOURCE_DIR
12+
"/tools/blisp/src/file_parsers/hex/tests/test.hex",
13+
&payload, &payload_size, &payload_address);
14+
// Shall return 0 on success
15+
ASSERT_EQ(res, 0);
1816
// The expected base address is 0x230F0000 + 0xFC00 = 0x230FFC00
1917
ASSERT_EQ(payload_address, 0x230FFC00);
2018
// There are 7 data records of 16 bytes each, so payload size should be 0x70

0 commit comments

Comments
 (0)