Add stroke script CLI edge coverage

This commit is contained in:
2026-06-02 11:34:17 +02:00
parent 2b50c2157f
commit a6a4e7b249
5 changed files with 56 additions and 4 deletions

View File

@@ -346,6 +346,16 @@ if(TARGET pano_cli)
set_tests_properties(pano_cli_apply_stroke_script_roundtrip_smoke PROPERTIES
LABELS "assets;document;paint;integration;desktop-fast")
add_test(NAME pano_cli_apply_stroke_script_rejects_tiny_canvas
COMMAND "${CMAKE_COMMAND}"
-DPANO_CLI=$<TARGET_FILE:pano_cli>
-DSTROKE_SCRIPT=${CMAKE_CURRENT_SOURCE_DIR}/data/strokes/two-strokes.ppstroke
-DOUTPUT_PATH=${CMAKE_CURRENT_BINARY_DIR}/data/generated/rejected-applied-stroke-script.ppi
"-DEXPECTED_OUTPUT=width and height must be between 8 and 4096"
-P "${CMAKE_CURRENT_SOURCE_DIR}/cmake/expect_pano_cli_apply_stroke_script_failure.cmake")
set_tests_properties(pano_cli_apply_stroke_script_rejects_tiny_canvas PROPERTIES
LABELS "document;paint;integration;desktop-fast")
add_test(NAME pano_cli_parse_layout_smoke
COMMAND pano_cli parse-layout --path "${CMAKE_CURRENT_SOURCE_DIR}/data/layouts/simple-layout.xml")
set_tests_properties(pano_cli_parse_layout_smoke PROPERTIES

View File

@@ -0,0 +1,36 @@
if(NOT DEFINED PANO_CLI)
message(FATAL_ERROR "PANO_CLI must be set")
endif()
if(NOT DEFINED STROKE_SCRIPT)
message(FATAL_ERROR "STROKE_SCRIPT must be set")
endif()
if(NOT DEFINED OUTPUT_PATH)
message(FATAL_ERROR "OUTPUT_PATH must be set")
endif()
if(NOT DEFINED EXPECTED_OUTPUT)
message(FATAL_ERROR "EXPECTED_OUTPUT must be set")
endif()
execute_process(
COMMAND "${PANO_CLI}" apply-stroke-script
--path "${STROKE_SCRIPT}"
--output "${OUTPUT_PATH}"
--width 7
--height 32
RESULT_VARIABLE result
OUTPUT_VARIABLE output
ERROR_VARIABLE error)
if(result EQUAL 0)
message(FATAL_ERROR "Expected pano_cli apply-stroke-script to fail, but it exited 0")
endif()
set(combined_output "${output}${error}")
string(FIND "${combined_output}" "${EXPECTED_OUTPUT}" expected_index)
if(expected_index LESS 0)
message(FATAL_ERROR
"Expected output to contain '${EXPECTED_OUTPUT}', got: ${combined_output}")
endif()