test(print): integration test suite for native raw printing and end-to-end workflow #32

Merged
gronod merged 4 commits from feature/milestone-6-integration-tests into development 2026-08-23 14:47:28 +01:00
Owner

Summary

Relates to #25 (Milestone 6: Native Raw OS Printing Engine)

This PR adds an integration test suite for the unified raw printing engine and validates end-to-end command argument construction across the full profiling pipeline.

Key Changes

  • Integration Test Suite (src-tauri/src/print/tests.rs):
    • test_printer_model_json_serialization: Validates that Printer serializes and deserializes with exact field names (name, status, is_default) required by the frontend.
    • test_lpstat_e_multiline_and_whitespace_handling: Validates resilient handling of irregular formatting, blank lines, and whitespace in printer lists.
    • test_lpstat_p_various_printer_states: Tests state categorization (Idle, Printing, Stopped, Unknown) across different CUPS printer status outputs.
    • test_lpstat_d_with_trailing_spaces_and_tabs: Tests edge cases in default destination parsing.
    • test_multi_page_batch_spool_arguments: Tests argument generation for both standard raw spooling and PPD uncorrected fallback modes across multiple target pages.
    • test_print_target_nonexistent_file_handling: Validates that non-existent target files produce clear, informative errors prior to spooling.

Testing

  • cargo check and cargo test pass (21/21 tests passing).
## Summary Relates to #25 (Milestone 6: Native Raw OS Printing Engine) This PR adds an integration test suite for the unified raw printing engine and validates end-to-end command argument construction across the full profiling pipeline. ### Key Changes - **Integration Test Suite (`src-tauri/src/print/tests.rs`)**: - `test_printer_model_json_serialization`: Validates that `Printer` serializes and deserializes with exact field names (`name`, `status`, `is_default`) required by the frontend. - `test_lpstat_e_multiline_and_whitespace_handling`: Validates resilient handling of irregular formatting, blank lines, and whitespace in printer lists. - `test_lpstat_p_various_printer_states`: Tests state categorization (`Idle`, `Printing`, `Stopped`, `Unknown`) across different CUPS printer status outputs. - `test_lpstat_d_with_trailing_spaces_and_tabs`: Tests edge cases in default destination parsing. - `test_multi_page_batch_spool_arguments`: Tests argument generation for both standard raw spooling and PPD uncorrected fallback modes across multiple target pages. - `test_print_target_nonexistent_file_handling`: Validates that non-existent target files produce clear, informative errors prior to spooling. ### Testing - `cargo check` and `cargo test` pass (21/21 tests passing).
gronod added 4 commits 2026-08-23 12:02:26 +01:00
feat(print): implement Windows native raw print spooler and printer enumeration (#26)
Build Linux Packages / Build Linux (pull_request) Failing after 10m21s
Build Windows Packages / Build Windows (pull_request) Has been cancelled
Build macOS Packages / Build macOS (Apple Silicon) (pull_request) Has been cancelled
Build macOS Packages / Build macOS (Intel) (pull_request) Has been cancelled
5c238e9db9
feat(print): implement macOS/Linux CUPS raw print spooler and printer enumeration (#27)
Build Linux Packages / Build Linux (pull_request) Failing after 11m3s
Build Windows Packages / Build Windows (pull_request) Has been cancelled
Build macOS Packages / Build macOS (Apple Silicon) (pull_request) Has been cancelled
Build macOS Packages / Build macOS (Intel) (pull_request) Has been cancelled
419cc18366
feat(print): integrate native raw printing engine into Stage 2 UI (#28)
Build Linux Packages / Build Linux (pull_request) Failing after 9m39s
Build Windows Packages / Build Windows (pull_request) Has been cancelled
Build macOS Packages / Build macOS (Apple Silicon) (pull_request) Has been cancelled
Build macOS Packages / Build macOS (Intel) (pull_request) Has been cancelled
f40aba7806
test(print): add comprehensive integration test suite for native raw printing and end-to-end workflow
Build Linux Packages / Build Linux (pull_request) Failing after 10m43s
Build Windows Packages / Build Windows (pull_request) Has been cancelled
Build macOS Packages / Build macOS (Apple Silicon) (pull_request) Has been cancelled
Build macOS Packages / Build macOS (Intel) (pull_request) Has been cancelled
16dc5bac16
gronod added 4 commits 2026-08-23 13:28:35 +01:00
ci: add libfuse2 and squashfs-tools for AppImage bundling in Linux CI
Build Linux Packages / Build Linux (pull_request) Failing after 17m21s
Build Windows Packages / Build Windows (pull_request) Has been cancelled
Build macOS Packages / Build macOS (Apple Silicon) (pull_request) Has been cancelled
Build macOS Packages / Build macOS (Intel) (pull_request) Has been cancelled
231c938eec
ci: merge CI fix from feature/issue-26-windows-raw-print
Build Linux Packages / Build Linux (pull_request) Failing after 17m14s
Build Windows Packages / Build Windows (pull_request) Has been cancelled
Build macOS Packages / Build macOS (Apple Silicon) (pull_request) Has been cancelled
Build macOS Packages / Build macOS (Intel) (pull_request) Has been cancelled
e3b8dd69e7
ci: merge CI fix from feature/issue-27-cups-raw-print
Build Linux Packages / Build Linux (pull_request) Failing after 17m20s
Build Windows Packages / Build Windows (pull_request) Has been cancelled
Build macOS Packages / Build macOS (Apple Silicon) (pull_request) Has been cancelled
Build macOS Packages / Build macOS (Intel) (pull_request) Has been cancelled
e43c80abd7
ci: merge CI fix from feature/issue-28-raw-print-ui
Build macOS Packages / Build macOS (Apple Silicon) (pull_request) Has been cancelled
Build macOS Packages / Build macOS (Intel) (pull_request) Has been cancelled
Build Windows Packages / Build Windows (pull_request) Has been cancelled
Build Linux Packages / Build Linux (pull_request) Failing after 16m47s
dcb04dd720
gronod added 4 commits 2026-08-23 14:00:10 +01:00
ci: enable verbose output and zsync in Linux build workflow
Build Linux Packages / Build Linux (pull_request) Failing after 17m12s
f52b24784a
ci: merge verbose CI workflow
Build Linux Packages / Build Linux (pull_request) Failing after 17m4s
746b86d696
ci: merge verbose CI workflow
Build Linux Packages / Build Linux (pull_request) Failing after 16m54s
78a5502e4d
ci: merge verbose CI workflow
Build Linux Packages / Build Linux (pull_request) Failing after 17m2s
cdc581c6c7
gronod added 4 commits 2026-08-23 14:18:09 +01:00
ci: add X11 libraries required by ArgyllCMS binaries for linuxdeploy bundling
Build Linux Packages / Build Linux (pull_request) Successful in 21m5s
d663311fc6
ci: merge X11 library dependencies fix
Build Linux Packages / Build Linux (pull_request) Successful in 21m24s
154565027e
ci: merge X11 library dependencies fix
Build Linux Packages / Build Linux (pull_request) Successful in 21m26s
b65322b3f3
ci: merge X11 library dependencies fix
Build Linux Packages / Build Linux (pull_request) Successful in 21m26s
5c0a326464
gronod merged commit c72313b59c into development 2026-08-23 14:47:28 +01:00
Sign in to join this conversation.