Extract PPBR package path validation

This commit is contained in:
2026-06-04 14:56:29 +02:00
parent 6ab64ccc82
commit 394979e4fc
11 changed files with 444 additions and 32 deletions

View File

@@ -76,6 +76,16 @@ add_test(NAME pp_assets_image_format_tests COMMAND pp_assets_image_format_tests)
set_tests_properties(pp_assets_image_format_tests PROPERTIES
LABELS "assets;desktop-fast")
add_executable(pp_assets_brush_package_tests
assets/brush_package_tests.cpp)
target_link_libraries(pp_assets_brush_package_tests PRIVATE
pp_assets
pp_test_harness)
add_test(NAME pp_assets_brush_package_tests COMMAND pp_assets_brush_package_tests)
set_tests_properties(pp_assets_brush_package_tests PROPERTIES
LABELS "assets;paint;desktop-fast;fuzz")
add_executable(pp_assets_image_metadata_tests
assets/image_metadata_tests.cpp)
target_link_libraries(pp_assets_image_metadata_tests PRIVATE
@@ -942,7 +952,7 @@ if(TARGET pano_cli)
--header-image)
set_tests_properties(pano_cli_plan_brush_package_export_smoke PROPERTIES
LABELS "app;paint;assets;integration;desktop-fast"
PASS_REGULAR_EXPRESSION "\"command\":\"plan-brush-package-export\".*\"path\":\"D:/Paint/clouds.ppbr\".*\"author\":\"Artist\".*\"destPath\":\"D:/Paint/BrushPreviews\".*\"exportData\":true.*\"hasHeaderImage\":true.*\"dispatches\":1")
PASS_REGULAR_EXPRESSION "\"command\":\"plan-brush-package-export\".*\"path\":\"D:/Paint/clouds.ppbr\".*\"author\":\"Artist\".*\"destPath\":\"D:/Paint/BrushPreviews\".*\"exportData\":true.*\"hasHeaderImage\":true.*\"paths\":\\{\"package\":\"D:/Paint/clouds.ppbr\".*\"dataDirectory\":\"D:/Paint/BrushPreviews/clouds_data\".*\"dataDirectoryEnabled\":true.*\"dispatches\":1")
add_test(NAME pano_cli_plan_brush_package_export_rejects_empty_path
COMMAND "${CMAKE_COMMAND}"
@@ -952,6 +962,15 @@ if(TARGET pano_cli)
set_tests_properties(pano_cli_plan_brush_package_export_rejects_empty_path PROPERTIES
LABELS "app;paint;assets;integration;desktop-fast;fuzz")
add_test(NAME pano_cli_plan_brush_package_export_rejects_path_without_directory
COMMAND "${CMAKE_COMMAND}"
-DPANO_CLI=$<TARGET_FILE:pano_cli>
-DEXPECT_NO_DIRECTORY=ON
"-DEXPECTED_OUTPUT=PPBR export path must include a directory and file name"
-P "${CMAKE_CURRENT_SOURCE_DIR}/cmake/expect_pano_cli_plan_brush_package_export_failure.cmake")
set_tests_properties(pano_cli_plan_brush_package_export_rejects_path_without_directory PROPERTIES
LABELS "app;paint;assets;integration;desktop-fast;fuzz")
add_test(NAME pano_cli_plan_brush_package_export_dest_without_data_smoke
COMMAND pano_cli plan-brush-package-export
--path D:/Paint/clouds.ppbr
@@ -959,7 +978,7 @@ if(TARGET pano_cli)
--no-export-data)
set_tests_properties(pano_cli_plan_brush_package_export_dest_without_data_smoke PROPERTIES
LABELS "app;paint;assets;integration;desktop-fast;fuzz"
PASS_REGULAR_EXPRESSION "\"command\":\"plan-brush-package-export\".*\"destPath\":\"D:/Paint/BrushPreviews\".*\"exportData\":false.*\"dispatches\":1")
PASS_REGULAR_EXPRESSION "\"command\":\"plan-brush-package-export\".*\"destPath\":\"D:/Paint/BrushPreviews\".*\"exportData\":false.*\"dataDirectory\":\"D:/Paint/BrushPreviews/clouds_data\".*\"dataDirectoryEnabled\":false.*\"dispatches\":1")
add_test(NAME pano_cli_plan_tools_menu_shortcuts_smoke
COMMAND pano_cli plan-tools-menu --command shortcuts)