mirror of
https://github.com/openstreetmap/mod_tile.git
synced 2025-07-21 23:38:56 +00:00
Configurable ImageIO output format (#318)
* Added the possibility to provide ImageIO's output format in the TYPE string. For instance: TYPE=png image/png TYPE=png image/png png256 TYPE=png image/png png24 TYPE=png image/png png * Removed useless comments. Added documentation for output format. * Added tests for 'webp' output format * Also added tests for 'png32' output format * Fix 'webp' sums vary based on version * Add JPG & use multiple layers on example-map --------- Co-authored-by: Tim <autintim@gmail.com>
This commit is contained in:
@ -39,9 +39,24 @@ execute_process(COMMAND ${ID_EXECUTABLE} -gn nobody
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
set(MAP_NAME "default")
|
||||
set(TILE_SHA256SUM "dbf26531286e844a3a9735cdd193598dca78d22f77cafe5824bcaf17f88cbb08")
|
||||
set(TILE_URL "http://localhost:8081/tiles/renderd-example/9/297/191.png")
|
||||
set(TILE_CMD "${CURL_EXECUTABLE} --fail --silent ${TILE_URL}")
|
||||
|
||||
set(TILE_DEFAULT_URL "http://localhost:8081/tiles/renderd-example/9/297/191.png")
|
||||
set(TILE_JPG_URL "http://localhost:8081/tiles/renderd-example-jpg/9/297/191.jpg")
|
||||
set(TILE_PNG256_URL "http://localhost:8081/tiles/renderd-example-png256/9/297/191.png")
|
||||
set(TILE_PNG32_URL "http://localhost:8081/tiles/renderd-example-png32/9/297/191.png")
|
||||
set(TILE_WEBP_URL "http://localhost:8081/tiles/renderd-example-webp/9/297/191.webp")
|
||||
|
||||
set(TILE_DEFAULT_CMD "${CURL_EXECUTABLE} --fail --silent ${TILE_DEFAULT_URL}")
|
||||
set(TILE_DEFAULT_SHA256SUM "dbf26531286e844a3a9735cdd193598dca78d22f77cafe5824bcaf17f88cbb08")
|
||||
set(TILE_JPG_CMD "${CURL_EXECUTABLE} --fail --silent ${TILE_JPG_URL}")
|
||||
set(TILE_JPG_SHA256SUM "e09c3406c02f03583dadf0c8404c2d3efdc06a40d399e381ed2f47f49fde42d7")
|
||||
set(TILE_PNG256_CMD "${CURL_EXECUTABLE} --fail --silent ${TILE_PNG256_URL}")
|
||||
set(TILE_PNG256_SHA256SUM "${TILE_DEFAULT_SHA256SUM}")
|
||||
set(TILE_PNG32_CMD "${CURL_EXECUTABLE} --fail --silent ${TILE_PNG32_URL}")
|
||||
set(TILE_PNG32_SHA256SUM "1006d92152f1e18896e0016fb43201b14bbcf7655955b74495ad3610541d325b")
|
||||
set(TILE_WEBP_CMD "${CURL_EXECUTABLE} --fail --silent ${TILE_WEBP_URL}")
|
||||
set(TILE_WEBP_SHA256SUM_6 "96fc0455b2269a7bcd4a5b3c9844529c3c77e3bb15f56e72f78a5af3bc15b6b5") # libwebp6
|
||||
set(TILE_WEBP_SHA256SUM_7 "a82ef9ba5dc333de88af7b645084c30ab2b01c664e17162cbf6659c287cc4df4") # libwebp7
|
||||
|
||||
configure_file(
|
||||
renderd.conf.in
|
||||
@ -128,27 +143,47 @@ add_test(
|
||||
"
|
||||
)
|
||||
add_test(
|
||||
NAME download_tile
|
||||
NAME download_tiles
|
||||
COMMAND ${BASH} -c "
|
||||
until $(${TILE_CMD} --output tile.png); do
|
||||
until $(${TILE_DEFAULT_CMD} --output tile.png); do
|
||||
echo 'Sleeping 1s';
|
||||
sleep 1;
|
||||
done
|
||||
until $(${TILE_JPG_CMD} --output tile.jpg); do
|
||||
echo 'Sleeping 1s';
|
||||
sleep 1;
|
||||
done
|
||||
until $(${TILE_PNG256_CMD} --output tile.png256); do
|
||||
echo 'Sleeping 1s';
|
||||
sleep 1;
|
||||
done
|
||||
until $(${TILE_PNG32_CMD} --output tile.png32); do
|
||||
echo 'Sleeping 1s';
|
||||
sleep 1;
|
||||
done
|
||||
until $(${TILE_WEBP_CMD} --output tile.webp); do
|
||||
echo 'Sleeping 1s';
|
||||
sleep 1;
|
||||
done
|
||||
"
|
||||
)
|
||||
add_test(
|
||||
NAME check_tile
|
||||
NAME check_tiles
|
||||
COMMAND ${BASH} -c "
|
||||
echo '${TILE_SHA256SUM} tile.png' | ${SHA256SUM_EXECUTABLE} -c
|
||||
(echo '${TILE_DEFAULT_SHA256SUM} tile.png' | ${SHA256SUM_EXECUTABLE} -c) && \
|
||||
(echo '${TILE_JPG_SHA256SUM} tile.jpg' | ${SHA256SUM_EXECUTABLE} -c) && \
|
||||
(echo '${TILE_PNG256_SHA256SUM} tile.png256' | ${SHA256SUM_EXECUTABLE} -c) && \
|
||||
(echo '${TILE_PNG32_SHA256SUM} tile.png32' | ${SHA256SUM_EXECUTABLE} -c) && \
|
||||
((echo '${TILE_WEBP_SHA256SUM_6} tile.webp' | ${SHA256SUM_EXECUTABLE} -c) || (echo '${TILE_WEBP_SHA256SUM_7} tile.webp' | ${SHA256SUM_EXECUTABLE} -c))
|
||||
"
|
||||
)
|
||||
add_test(
|
||||
NAME dirty_tile
|
||||
COMMAND ${BASH} -c "
|
||||
TILE_STATUS_CMD=\"${TILE_CMD}/status | cut -d. -f2\"
|
||||
TILE_STATUS_CMD=\"${TILE_DEFAULT_CMD}/status | cut -d. -f2\"
|
||||
TILE_STATUS_OUTPUT_OLD=$(\${TILE_STATUS_CMD})
|
||||
sleep 5;
|
||||
TILE_DIRTY_OUTPUT=$(${TILE_CMD}/dirty)
|
||||
TILE_DIRTY_OUTPUT=$(${TILE_DEFAULT_CMD}/dirty)
|
||||
if [ \"\${TILE_DIRTY_OUTPUT}\" != \"Tile submitted for rendering\" ]; then
|
||||
exit 1;
|
||||
fi
|
||||
@ -159,8 +194,8 @@ add_test(
|
||||
"
|
||||
)
|
||||
add_test(
|
||||
NAME remove_tile
|
||||
COMMAND ${RM} -v tile.png
|
||||
NAME remove_tiles
|
||||
COMMAND ${RM} -v tile.png tile.jpg tile.png256 tile.png32 tile.webp
|
||||
)
|
||||
add_test(
|
||||
NAME stop_renderd
|
||||
@ -227,24 +262,24 @@ set_tests_properties(render_old PROPERTIES
|
||||
FIXTURES_REQUIRED httpd_started
|
||||
TIMEOUT 20
|
||||
)
|
||||
set_tests_properties(download_tile PROPERTIES
|
||||
set_tests_properties(download_tiles PROPERTIES
|
||||
FIXTURES_REQUIRED httpd_started
|
||||
FIXTURES_SETUP tile_downloaded
|
||||
TIMEOUT 10
|
||||
)
|
||||
set_tests_properties(check_tile PROPERTIES
|
||||
DEPENDS download_tile
|
||||
FIXTURES_REQUIRED "httpd_started;tile_downloaded"
|
||||
REQUIRED_FILES tile.png
|
||||
)
|
||||
set_tests_properties(dirty_tile PROPERTIES
|
||||
DEPENDS download_tile
|
||||
FIXTURES_REQUIRED "httpd_started;tile_downloaded"
|
||||
REQUIRED_FILES tile.png
|
||||
FIXTURES_SETUP tiles_downloaded
|
||||
TIMEOUT 20
|
||||
)
|
||||
set_tests_properties(remove_tile PROPERTIES
|
||||
DEPENDS download_tile
|
||||
FIXTURES_CLEANUP tile_downloaded
|
||||
REQUIRED_FILES tile.png
|
||||
set_tests_properties(check_tiles PROPERTIES
|
||||
DEPENDS download_tiles
|
||||
FIXTURES_REQUIRED "httpd_started;tiles_downloaded"
|
||||
REQUIRED_FILES "tile.png;tile.jpg;tile.png256;tile.png32;tile.webp"
|
||||
)
|
||||
set_tests_properties(dirty_tile PROPERTIES
|
||||
DEPENDS download_tiles
|
||||
FIXTURES_REQUIRED "httpd_started;tiles_downloaded"
|
||||
REQUIRED_FILES "tile.png;tile.jpg;tile.png256;tile.png32;tile.webp"
|
||||
TIMEOUT 20
|
||||
)
|
||||
set_tests_properties(remove_tiles PROPERTIES
|
||||
DEPENDS download_tiles
|
||||
FIXTURES_CLEANUP tiles_downloaded
|
||||
REQUIRED_FILES "tile.png;tile.jpg;tile.png256;tile.png32;tile.webp"
|
||||
)
|
||||
|
@ -8,6 +8,30 @@ TILEDIR=@PROJECT_BINARY_DIR@/tests/tiles
|
||||
URI=/tiles/renderd-example
|
||||
XML=@PROJECT_SOURCE_DIR@/utils/example-map/mapnik.xml
|
||||
|
||||
[@MAP_NAME@_jpg]
|
||||
TILEDIR=@PROJECT_BINARY_DIR@/tests/tiles
|
||||
TYPE=jpg image/jpeg jpeg
|
||||
URI=/tiles/renderd-example-jpg
|
||||
XML=@PROJECT_BINARY_DIR@/tests/www/mapnik.xml
|
||||
|
||||
[@MAP_NAME@_png256]
|
||||
TILEDIR=@PROJECT_BINARY_DIR@/tests/tiles
|
||||
TYPE=png image/png png256
|
||||
URI=/tiles/renderd-example-png256
|
||||
XML=@PROJECT_BINARY_DIR@/tests/www/mapnik.xml
|
||||
|
||||
[@MAP_NAME@_png32]
|
||||
TILEDIR=@PROJECT_BINARY_DIR@/tests/tiles
|
||||
TYPE=png image/png png32
|
||||
URI=/tiles/renderd-example-png32
|
||||
XML=@PROJECT_BINARY_DIR@/tests/www/mapnik.xml
|
||||
|
||||
[@MAP_NAME@_webp]
|
||||
TILEDIR=@PROJECT_BINARY_DIR@/tests/tiles
|
||||
TYPE=webp image/webp webp
|
||||
URI=/tiles/renderd-example-webp
|
||||
XML=@PROJECT_BINARY_DIR@/tests/www/mapnik.xml
|
||||
|
||||
[renderd1]
|
||||
iphostname=127.0.0.1
|
||||
ipport=8881
|
||||
|
Reference in New Issue
Block a user