Skip to content

Commit 09af27c

Browse files
committed
WIP: Better abstraction for channel factory pipeline
Signed-off-by: Taylor Foxhall <[email protected]>
1 parent bcf7f80 commit 09af27c

40 files changed

+998
-621
lines changed

.github/workflows/build-ubuntu.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ jobs:
101101
libfl-dev \
102102
libbenchmark-dev \
103103
libgmock-dev \
104+
libgtest-dev \
104105
libz-dev
105106
- name: Install cached non packaged dependencies
106107
if: steps.build-cache-restore-step.outputs.cache-hit != 'true' # Variable type is string, thus using quotes

.github/workflows/build.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,7 @@ jobs:
279279
libfl-dev \
280280
libbenchmark-dev \
281281
libgmock-dev \
282+
libgtest-dev \
282283
libz-dev \
283284
autoconf \
284285
libtool

.github/workflows/dependencies.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ jobs:
5353
libfl-dev \
5454
libbenchmark-dev \
5555
libgmock-dev \
56+
libgtest-dev \
5657
libz-dev
5758
5859
- name: Fetch & build non packaged dependencies

bin/build-ubuntu.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ echo -e "Before running this script, install the following prerequisites, if not
66
"by executing the following commands:\n" \
77
"sudo apt update && sudo apt -y install ca-certificates\n" \
88
"sudo apt install -y --no-install-recommends" \
9-
"autoconf automake build-essential gdb cmake ninja-build pkg-config bison libfl-dev libbenchmark-dev libgmock-dev libtool libz-dev"
9+
"autoconf automake build-essential gdb cmake ninja-build pkg-config bison libfl-dev libbenchmark-dev libgmock-dev libgtest-dev libtool libz-dev"
1010

1111
# :: Parse and validate arguments :::::::::::::::::::::::::::::::::::::::::::::
1212
print_usage_and_exit_with_error() {

docker/Dockerfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ RUN apt-get update && \
1515
libfl-dev \
1616
libbenchmark-dev \
1717
libgmock-dev \
18+
libgtest-dev \
1819
libz-dev \
1920
&& apt clean \
2021
&& rm -rf /var/lib/apt/lists/*

etc/cmake/BMQTest.cmake

Lines changed: 1 addition & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -1,89 +1,10 @@
11
# This module provides functions to support generating test targets compatible
22
# with BlazingMQ CI.
33
#
4-
# add_bmq_test( TARGET )
4+
# bmq_add_application_test( TARGET )
55

66
include_guard()
77

8-
# :: bmq_add_test :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
9-
# This function searches for the test drivers of a UOR-style TARGET within the
10-
# `tests` directory of each package. For each component, it generates a target
11-
# named ${UOR_component}.t for each component found.
12-
function(bmq_add_test target)
13-
cmake_parse_arguments(PARSE_ARGV 1
14-
""
15-
"SKIP_TESTS;NO_GEN_BDE_METADATA;NO_EMIT_PKG_CONFIG_FILE;COMPAT"
16-
"SOURCE_DIR"
17-
"CUSTOM_PACKAGES")
18-
19-
find_package(BdeBuildSystem REQUIRED)
20-
21-
# Get the name of the unit from the target
22-
get_target_property(uor_name ${target} NAME)
23-
24-
# Use the current source directory if none is specified
25-
if(NOT _SOURCE_DIR)
26-
set(_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
27-
endif()
28-
29-
# Check that BDE metadata exists and load it
30-
if(NOT DEFINED ${uor_name}_PACKAGES)
31-
if(EXISTS ${_SOURCE_DIR}/group)
32-
bbs_read_metadata(GROUP ${uor_name}
33-
SOURCE_DIR ${_SOURCE_DIR}
34-
CUSTOM_PACKAGES "${_CUSTOM_PACKAGES}")
35-
else()
36-
if(EXISTS ${_SOURCE_DIR}/package)
37-
bbs_read_metadata(PACKAGE ${uor_name}
38-
SOURCE_DIR ${_SOURCE_DIR})
39-
endif()
40-
endif()
41-
endif()
42-
43-
# Each package in the groups
44-
if(${uor_name}_PACKAGES)
45-
foreach(pkg ${${uor_name}_PACKAGES})
46-
bbs_configure_target_tests(${pkg}
47-
SOURCES ${${pkg}_TEST_SOURCES}
48-
TEST_DEPS ${${pkg}_DEPENDS}
49-
${${pkg}_TEST_DEPENDS}
50-
${${uor_name}_PCDEPS}
51-
${${uor_name}_TEST_PCDEPS}
52-
LABELS "unit;all" ${target} ${pkg})
53-
endforeach()
54-
55-
set(import_test_deps ON)
56-
57-
foreach(pkg ${${uor_name}_PACKAGES})
58-
if(${pkg}_TEST_TARGETS)
59-
if(NOT TARGET ${target}.t)
60-
add_custom_target(${target}.t)
61-
endif()
62-
63-
add_dependencies(${target}.t ${${pkg}_TEST_TARGETS})
64-
65-
if(import_test_deps)
66-
# Import UOR test dependencies only once and only if we have at least
67-
# one generated test target
68-
bbs_import_target_dependencies(${target} ${${uor_name}_TEST_PCDEPS})
69-
set(import_test_deps OFF)
70-
endif()
71-
endif()
72-
endforeach()
73-
else()
74-
# Configure standalone library ( no packages ) and tests from BDE metadata
75-
bbs_configure_target_tests(${target}
76-
SOURCES ${${uor_name}_TEST_SOURCES}
77-
TEST_DEPS ${${uor_name}_PCDEPS}
78-
${${uor_name}_TEST_PCDEPS}
79-
LABELS "unit;all" ${target})
80-
81-
if(${target}_TEST_TARGETS)
82-
bbs_import_target_dependencies(${target} ${${uor_name}_TEST_PCDEPS})
83-
endif()
84-
endif()
85-
endfunction()
86-
878
# :: bmq_add_application_test :::::::::::::::::::::::::::::::::::::::::::::::::
889
# This function searches for the test drivers of an 'application' TARGET. It
8910
# expects existence of intermediate library '${uor_name}_lib' which is created

etc/cmake/BmqPackageProvider.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,6 @@ macro(setup_package_provider)
2222

2323
find_package(GTest CONFIG REQUIRED)
2424
add_library(gmock ALIAS GTest::gmock)
25+
add_library(gtest ALIAS GTest::gtest)
2526
endif()
2627
endmacro()

etc/cmake/TargetBMQStyleUor.cmake

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ function(target_bmq_style_uor TARGET)
5959
add_library(${TARGET}-flags INTERFACE IMPORTED)
6060

6161
bbs_setup_target_uor(${TARGET}
62-
SKIP_TESTS
6362
PRIVATE_PACKAGES "${_PRIVATE_PACKAGES}")
6463

6564
get_target_property(uor_name ${TARGET} NAME)
@@ -84,9 +83,6 @@ function(target_bmq_style_uor TARGET)
8483
target_link_libraries(${pkg}-iface PUBLIC ${TARGET}-flags)
8584
endforeach()
8685
endif()
87-
88-
include(BMQTest)
89-
bmq_add_test(${TARGET} COMPAT)
9086
endfunction()
9187

9288
# :: bmq_install_target_headers ::::::::::::::::::::::::::::::::::::::::::::::::

src/groups/bmq/bmqex/bmqex_bindutil_cpp03.cpp

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/groups/bmq/bmqex/bmqex_bindutil_cpp03.h

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)