Skip to content

Commit f98c835

Browse files
authored
Use apr_palloc/apr_pmemdup rather than malloc/memcpy in mod_tile.c (#491)
Also: - Add `HEAD` request test - Add `renderd_config_test helper` - Improve `renderd_config` testing - Consolidate redundant code in `mod_tile.c` - Stop unnecessarily reading `renderd.conf` 3 times - Don't try to build `CentOS Stream 9/10` until `gdal` RPM issue is resolved - https://issues.redhat.com/browse/RHEL-134116
1 parent dda19b6 commit f98c835

File tree

10 files changed

+348
-131
lines changed

10 files changed

+348
-131
lines changed

.github/workflows/build-and-test.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,14 @@ jobs:
3333
build_system: CMake
3434
compiler: GNU
3535
experimental: true
36-
- image: "quay.io/centos/centos:stream9"
37-
build_system: CMake
38-
compiler: GNU
39-
experimental: true
40-
- image: "quay.io/centos/centos:stream10"
41-
build_system: CMake
42-
compiler: GNU
43-
experimental: true
36+
# - image: "quay.io/centos/centos:stream9"
37+
# build_system: CMake
38+
# compiler: GNU
39+
# experimental: true
40+
# - image: "quay.io/centos/centos:stream10"
41+
# build_system: CMake
42+
# compiler: GNU
43+
# experimental: true
4444
- image: "fedora:rawhide"
4545
build_system: CMake
4646
compiler: GNU

.github/workflows/docker-image-build.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,10 @@ jobs:
4141
- ubuntu-22.04
4242
- ubuntu-24.04
4343
include:
44-
- service-name: centos-stream-9
45-
experimental: true
46-
- service-name: centos-stream-10
47-
experimental: true
44+
# - service-name: centos-stream-9
45+
# experimental: true
46+
# - service-name: centos-stream-10
47+
# experimental: true
4848
- service-name: debian-unstable
4949
experimental: true
5050
- service-name: debian-unstable-autotools

Makefile.am

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ bin_PROGRAMS = \
2626
render_speedtest
2727
noinst_PROGRAMS = \
2828
gen_tile_test \
29+
renderd_config_test_helper \
2930
renderd_config_test \
3031
renderd_test \
3132
render_expired_test \
@@ -109,6 +110,12 @@ gen_tile_test_CFLAGS = -DMAIN_ALREADY_DEFINED
109110
gen_tile_test_CXXFLAGS = $(renderd_CXXFLAGS)
110111
gen_tile_test_LDADD = $(renderd_LDADD) catch_test_common.o
111112

113+
renderd_config_test_helper_SOURCES = \
114+
tests/renderd_config_test_helper.cpp \
115+
src/g_logger.c \
116+
src/renderd_config.c
117+
renderd_config_test_helper_LDADD = $(GLIB_LIBS) $(INIPARSER_LDFLAGS) catch_main.o
118+
112119
renderd_config_test_SOURCES = \
113120
tests/renderd_config_test.cpp
114121
renderd_config_test_LDADD = $(GLIB_LIBS) catch_main.o catch_test_common.o
@@ -137,7 +144,7 @@ CLEANFILES=*.slo mod_tile.la stderr.out src/*.slo src/*.lo src/.libs/* src/*.la
137144

138145
COMMA=,
139146

140-
test: gen_tile_test renderd_config_test renderd_test render_expired_test render_list_test render_old_test render_speedtest_test
147+
test: gen_tile_test renderd_config_test_helper renderd_config_test renderd_test render_expired_test render_list_test render_old_test render_speedtest_test
141148
./gen_tile_test
142149
./renderd_config_test
143150
./renderd_test

includes/renderd_config.h

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,12 @@
2121
#include "render_config.h"
2222
#include "renderd.h"
2323

24+
#ifdef HAVE_INIPARSER_INIPARSER_H
25+
#include <iniparser/iniparser.h>
26+
#else
27+
#include <iniparser.h>
28+
#endif
29+
2430
#ifdef __cplusplus
2531
extern "C" {
2632
#endif
@@ -37,9 +43,9 @@ void free_map_sections(xmlconfigitem *map_sections);
3743
void free_renderd_section(renderd_config renderd_section);
3844
void free_renderd_sections(renderd_config *renderd_sections);
3945
void process_config_file(const char *config_file_name, int active_renderd_section_num, int log_level);
40-
void process_map_sections(const char *config_file_name, xmlconfigitem *maps_dest, const char *default_tile_dir, int num_threads);
41-
void process_mapnik_section(const char *config_file_name, renderd_config *config_dest);
42-
void process_renderd_sections(const char *config_file_name, renderd_config *configs_dest);
46+
void process_map_sections(dictionary *ini, const char *config_file_name, xmlconfigitem *maps_dest, const char *default_tile_dir, int num_threads);
47+
void process_mapnik_section(dictionary *ini, const char *config_file_name, renderd_config *config_dest);
48+
void process_renderd_sections(dictionary *ini, const char *config_file_name, renderd_config *configs_dest);
4349

4450
#ifdef __cplusplus
4551
}

src/CMakeLists.txt

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,4 +219,23 @@ target_include_directories(gen_tile_test PRIVATE ${PROJECT_SOURCE_DIR}/tests)
219219
target_link_libraries(gen_tile_test ${gen_tile_test_LIBS})
220220
set_target_properties(gen_tile_test PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/tests)
221221

222+
#-----------------------------------------------------------------------------
223+
#
224+
# renderd_config_test_helper
225+
#
226+
#-----------------------------------------------------------------------------
227+
228+
set(renderd_config_test_helper_SRCS
229+
${PROJECT_SOURCE_DIR}/tests/renderd_config_test_helper.cpp
230+
g_logger.c
231+
renderd_config.c
232+
)
233+
set(renderd_config_test_helper_LIBS
234+
${GLIB_LIBRARIES}
235+
${INIPARSER_LIBRARIES}
236+
)
237+
add_executable(renderd_config_test_helper ${renderd_config_test_helper_SRCS})
238+
target_link_libraries(renderd_config_test_helper ${renderd_config_test_helper_LIBS})
239+
set_target_properties(renderd_config_test_helper PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/tests)
240+
222241
endif()

0 commit comments

Comments
 (0)