Skip to content

Commit 34699da

Browse files
authored
Add some basic tests to ament_cmake_libraries (#512)
Signed-off-by: Scott K Logan <[email protected]>
1 parent cf8d4d3 commit 34699da

File tree

4 files changed

+45
-0
lines changed

4 files changed

+45
-0
lines changed

ament_cmake_libraries/CMakeLists.txt

+5
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@ ament_package(
88
CONFIG_EXTRAS "ament_cmake_libraries-extras.cmake"
99
)
1010

11+
include(CTest)
12+
if(BUILD_TESTING)
13+
add_subdirectory(test)
14+
endif()
15+
1116
install(
1217
DIRECTORY cmake
1318
DESTINATION share/${PROJECT_NAME}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
add_test(deduplicate "${CMAKE_COMMAND}" -P ${CMAKE_CURRENT_LIST_DIR}/test_deduplicate.cmake)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
include("${CMAKE_CURRENT_LIST_DIR}/utilities.cmake")
2+
3+
# Empty
4+
set(TEST_IN "")
5+
ament_libraries_deduplicate(ACTUAL ${TEST_IN})
6+
assert_equal("" "${ACTUAL}")
7+
8+
# Noop
9+
set(TEST_IN "foo;bar;baz")
10+
ament_libraries_deduplicate(ACTUAL ${TEST_IN})
11+
assert_equal("foo;bar;baz" "${ACTUAL}")
12+
13+
# Simple
14+
set(TEST_IN "foo;bar;baz;bar")
15+
ament_libraries_deduplicate(ACTUAL ${TEST_IN})
16+
assert_equal("foo;baz;bar" "${ACTUAL}")
17+
18+
# With matching build configs
19+
set(TEST_IN "debug;foo;debug;bar;debug;baz;debug;bar")
20+
ament_libraries_deduplicate(ACTUAL ${TEST_IN})
21+
assert_equal("debug;foo;debug;baz;debug;bar" "${ACTUAL}")
22+
23+
# With missing build configs
24+
set(TEST_IN "debug;foo;debug;bar;debug;baz;bar")
25+
ament_libraries_deduplicate(ACTUAL ${TEST_IN})
26+
assert_equal("debug;foo;debug;bar;debug;baz;bar" "${ACTUAL}")
27+
28+
# With mismatched build configs
29+
set(TEST_IN "debug;foo;debug;bar;debug;baz;release;bar")
30+
ament_libraries_deduplicate(ACTUAL ${TEST_IN})
31+
assert_equal("debug;foo;debug;bar;debug;baz;release;bar" "${ACTUAL}")
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
set(ament_cmake_libraries_DIR "${CMAKE_CURRENT_LIST_DIR}/../cmake")
2+
include("${CMAKE_CURRENT_LIST_DIR}/../ament_cmake_libraries-extras.cmake")
3+
4+
macro(assert_equal EXPECTED ACTUAL)
5+
if(NOT "${EXPECTED}" STREQUAL "${ACTUAL}")
6+
message(SEND_ERROR "Assert failed: Expected '${EXPECTED}', got '${ACTUAL}'")
7+
endif()
8+
endmacro()

0 commit comments

Comments
 (0)