diff --git a/apps/photocraft-cli/tests/cli.rs b/apps/photocraft-cli/tests/it/cli.rs similarity index 100% rename from apps/photocraft-cli/tests/cli.rs rename to apps/photocraft-cli/tests/it/cli.rs diff --git a/apps/photocraft-cli/tests/it/main.rs b/apps/photocraft-cli/tests/it/main.rs new file mode 100644 index 0000000000..581c983b3c --- /dev/null +++ b/apps/photocraft-cli/tests/it/main.rs @@ -0,0 +1,4 @@ +//! The crate's integration tests, linked into one test binary. + +mod cli; +mod orientation; diff --git a/apps/photocraft-cli/tests/orientation.rs b/apps/photocraft-cli/tests/it/orientation.rs similarity index 100% rename from apps/photocraft-cli/tests/orientation.rs rename to apps/photocraft-cli/tests/it/orientation.rs diff --git a/apps/photocraft/tests/command_line_usage.rs b/apps/photocraft/tests/it/command_line_usage.rs similarity index 100% rename from apps/photocraft/tests/command_line_usage.rs rename to apps/photocraft/tests/it/command_line_usage.rs diff --git a/apps/photocraft/tests/control_exit_code.rs b/apps/photocraft/tests/it/control_exit_code.rs similarity index 100% rename from apps/photocraft/tests/control_exit_code.rs rename to apps/photocraft/tests/it/control_exit_code.rs diff --git a/apps/photocraft/tests/it/main.rs b/apps/photocraft/tests/it/main.rs new file mode 100644 index 0000000000..b5ece12621 --- /dev/null +++ b/apps/photocraft/tests/it/main.rs @@ -0,0 +1,5 @@ +//! The crate's integration tests, linked into one test binary. + +mod command_line_usage; +mod control_exit_code; +mod startup_without_display; diff --git a/apps/photocraft/tests/startup_without_display.rs b/apps/photocraft/tests/it/startup_without_display.rs similarity index 100% rename from apps/photocraft/tests/startup_without_display.rs rename to apps/photocraft/tests/it/startup_without_display.rs diff --git a/crates/affinity/tests/compound_limits.rs b/crates/affinity/tests/it/compound_limits.rs similarity index 100% rename from crates/affinity/tests/compound_limits.rs rename to crates/affinity/tests/it/compound_limits.rs diff --git a/crates/affinity/tests/it/main.rs b/crates/affinity/tests/it/main.rs new file mode 100644 index 0000000000..5d0a5740b8 --- /dev/null +++ b/crates/affinity/tests/it/main.rs @@ -0,0 +1,4 @@ +//! The crate's integration tests, linked into one test binary. + +mod compound_limits; +mod real_files; diff --git a/crates/affinity/tests/real_files.rs b/crates/affinity/tests/it/real_files.rs similarity index 100% rename from crates/affinity/tests/real_files.rs rename to crates/affinity/tests/it/real_files.rs diff --git a/crates/algo/tests/liquify_source_footprint.rs b/crates/algo/tests/it/liquify_source_footprint.rs similarity index 100% rename from crates/algo/tests/liquify_source_footprint.rs rename to crates/algo/tests/it/liquify_source_footprint.rs diff --git a/crates/algo/tests/it/main.rs b/crates/algo/tests/it/main.rs new file mode 100644 index 0000000000..107626cfc2 --- /dev/null +++ b/crates/algo/tests/it/main.rs @@ -0,0 +1,5 @@ +//! The crate's integration tests, linked into one test binary. + +mod liquify_source_footprint; +mod retouch_blur_exact; +mod warp_clipped; diff --git a/crates/algo/tests/retouch_blur_exact.rs b/crates/algo/tests/it/retouch_blur_exact.rs similarity index 100% rename from crates/algo/tests/retouch_blur_exact.rs rename to crates/algo/tests/it/retouch_blur_exact.rs diff --git a/crates/algo/tests/warp_clipped.rs b/crates/algo/tests/it/warp_clipped.rs similarity index 100% rename from crates/algo/tests/warp_clipped.rs rename to crates/algo/tests/it/warp_clipped.rs diff --git a/crates/automation/tests/agent_tasks.rs b/crates/automation/tests/it/agent_tasks.rs similarity index 100% rename from crates/automation/tests/agent_tasks.rs rename to crates/automation/tests/it/agent_tasks.rs diff --git a/crates/automation/tests/agent_tasks_extended.rs b/crates/automation/tests/it/agent_tasks_extended.rs similarity index 100% rename from crates/automation/tests/agent_tasks_extended.rs rename to crates/automation/tests/it/agent_tasks_extended.rs diff --git a/crates/automation/tests/agent_tasks_more.rs b/crates/automation/tests/it/agent_tasks_more.rs similarity index 100% rename from crates/automation/tests/agent_tasks_more.rs rename to crates/automation/tests/it/agent_tasks_more.rs diff --git a/crates/automation/tests/bridge.rs b/crates/automation/tests/it/bridge.rs similarity index 100% rename from crates/automation/tests/bridge.rs rename to crates/automation/tests/it/bridge.rs diff --git a/crates/automation/tests/inactive_save.rs b/crates/automation/tests/it/inactive_save.rs similarity index 100% rename from crates/automation/tests/inactive_save.rs rename to crates/automation/tests/it/inactive_save.rs diff --git a/crates/automation/tests/krita.rs b/crates/automation/tests/it/krita.rs similarity index 100% rename from crates/automation/tests/krita.rs rename to crates/automation/tests/it/krita.rs diff --git a/crates/automation/tests/layered_save_dirty.rs b/crates/automation/tests/it/layered_save_dirty.rs similarity index 100% rename from crates/automation/tests/layered_save_dirty.rs rename to crates/automation/tests/it/layered_save_dirty.rs diff --git a/crates/automation/tests/it/main.rs b/crates/automation/tests/it/main.rs new file mode 100644 index 0000000000..f701bd705b --- /dev/null +++ b/crates/automation/tests/it/main.rs @@ -0,0 +1,16 @@ +//! The crate's integration tests, linked into one test binary. + +mod agent_tasks; +mod agent_tasks_extended; +mod agent_tasks_more; +mod bridge; +mod inactive_save; +mod krita; +mod layered_save_dirty; +mod mcp; +mod mcp_wire; +mod missing_font_warnings; +mod native_save_name; +mod openraster; +mod raw_defaults; +mod smart_filter_authorization; diff --git a/crates/automation/tests/mcp.rs b/crates/automation/tests/it/mcp.rs similarity index 100% rename from crates/automation/tests/mcp.rs rename to crates/automation/tests/it/mcp.rs diff --git a/crates/automation/tests/mcp_wire.rs b/crates/automation/tests/it/mcp_wire.rs similarity index 100% rename from crates/automation/tests/mcp_wire.rs rename to crates/automation/tests/it/mcp_wire.rs diff --git a/crates/automation/tests/missing_font_warnings.rs b/crates/automation/tests/it/missing_font_warnings.rs similarity index 100% rename from crates/automation/tests/missing_font_warnings.rs rename to crates/automation/tests/it/missing_font_warnings.rs diff --git a/crates/automation/tests/native_save_name.rs b/crates/automation/tests/it/native_save_name.rs similarity index 100% rename from crates/automation/tests/native_save_name.rs rename to crates/automation/tests/it/native_save_name.rs diff --git a/crates/automation/tests/openraster.rs b/crates/automation/tests/it/openraster.rs similarity index 100% rename from crates/automation/tests/openraster.rs rename to crates/automation/tests/it/openraster.rs diff --git a/crates/automation/tests/raw_defaults.rs b/crates/automation/tests/it/raw_defaults.rs similarity index 100% rename from crates/automation/tests/raw_defaults.rs rename to crates/automation/tests/it/raw_defaults.rs diff --git a/crates/automation/tests/smart_filter_authorization.rs b/crates/automation/tests/it/smart_filter_authorization.rs similarity index 100% rename from crates/automation/tests/smart_filter_authorization.rs rename to crates/automation/tests/it/smart_filter_authorization.rs diff --git a/crates/cms/tests/bench.rs b/crates/cms/tests/it/bench.rs similarity index 100% rename from crates/cms/tests/bench.rs rename to crates/cms/tests/it/bench.rs diff --git a/crates/cms/tests/cms.rs b/crates/cms/tests/it/cms.rs similarity index 100% rename from crates/cms/tests/cms.rs rename to crates/cms/tests/it/cms.rs diff --git a/crates/cms/tests/gpu_matrix_shaper.rs b/crates/cms/tests/it/gpu_matrix_shaper.rs similarity index 100% rename from crates/cms/tests/gpu_matrix_shaper.rs rename to crates/cms/tests/it/gpu_matrix_shaper.rs diff --git a/crates/cms/tests/it/main.rs b/crates/cms/tests/it/main.rs new file mode 100644 index 0000000000..127f08435b --- /dev/null +++ b/crates/cms/tests/it/main.rs @@ -0,0 +1,6 @@ +//! The crate's integration tests, linked into one test binary. + +mod bench; +mod cms; +mod gpu_matrix_shaper; +mod regen; diff --git a/crates/cms/tests/regen.rs b/crates/cms/tests/it/regen.rs similarity index 100% rename from crates/cms/tests/regen.rs rename to crates/cms/tests/it/regen.rs diff --git a/crates/codecs/tests/camera_raw.rs b/crates/codecs/tests/it/camera_raw.rs similarity index 100% rename from crates/codecs/tests/camera_raw.rs rename to crates/codecs/tests/it/camera_raw.rs diff --git a/crates/codecs/tests/common/mod.rs b/crates/codecs/tests/it/common/mod.rs similarity index 100% rename from crates/codecs/tests/common/mod.rs rename to crates/codecs/tests/it/common/mod.rs diff --git a/crates/codecs/tests/common/tiffgen.rs b/crates/codecs/tests/it/common/tiffgen.rs similarity index 100% rename from crates/codecs/tests/common/tiffgen.rs rename to crates/codecs/tests/it/common/tiffgen.rs diff --git a/crates/codecs/tests/dds.rs b/crates/codecs/tests/it/dds.rs similarity index 100% rename from crates/codecs/tests/dds.rs rename to crates/codecs/tests/it/dds.rs diff --git a/crates/codecs/tests/dds_write.rs b/crates/codecs/tests/it/dds_write.rs similarity index 100% rename from crates/codecs/tests/dds_write.rs rename to crates/codecs/tests/it/dds_write.rs diff --git a/crates/codecs/tests/decode_warnings.rs b/crates/codecs/tests/it/decode_warnings.rs similarity index 99% rename from crates/codecs/tests/decode_warnings.rs rename to crates/codecs/tests/it/decode_warnings.rs index 5fc310104a..82bf75b57d 100644 --- a/crates/codecs/tests/decode_warnings.rs +++ b/crates/codecs/tests/it/decode_warnings.rs @@ -1,7 +1,7 @@ //! Decode warnings: a file that holds more than was decoded (#523: animations, multi-page //! TIFF) or less than it should (#518: truncated JPEG) says so; complete single images don't. -mod common; +use crate::common; use common::*; use photocraft_codecs::*; diff --git a/crates/codecs/tests/deep_exr.rs b/crates/codecs/tests/it/deep_exr.rs similarity index 100% rename from crates/codecs/tests/deep_exr.rs rename to crates/codecs/tests/it/deep_exr.rs diff --git a/crates/codecs/tests/detect_caps.rs b/crates/codecs/tests/it/detect_caps.rs similarity index 99% rename from crates/codecs/tests/detect_caps.rs rename to crates/codecs/tests/it/detect_caps.rs index 2f55d3cf58..8db608de12 100644 --- a/crates/codecs/tests/detect_caps.rs +++ b/crates/codecs/tests/it/detect_caps.rs @@ -1,7 +1,7 @@ //! Magic-number detection, extensions, and the capability table //! (including the symmetric read/write guarantee). -mod common; +use crate::common; use common::*; use photocraft_codecs::*; diff --git a/crates/codecs/tests/dpx.rs b/crates/codecs/tests/it/dpx.rs similarity index 100% rename from crates/codecs/tests/dpx.rs rename to crates/codecs/tests/it/dpx.rs diff --git a/crates/codecs/tests/exr_cryptomatte.rs b/crates/codecs/tests/it/exr_cryptomatte.rs similarity index 100% rename from crates/codecs/tests/exr_cryptomatte.rs rename to crates/codecs/tests/it/exr_cryptomatte.rs diff --git a/crates/codecs/tests/exr_multipart.rs b/crates/codecs/tests/it/exr_multipart.rs similarity index 100% rename from crates/codecs/tests/exr_multipart.rs rename to crates/codecs/tests/it/exr_multipart.rs diff --git a/crates/codecs/tests/fidelity.rs b/crates/codecs/tests/it/fidelity.rs similarity index 99% rename from crates/codecs/tests/fidelity.rs rename to crates/codecs/tests/it/fidelity.rs index 93b0236fdf..2c584a559a 100644 --- a/crates/codecs/tests/fidelity.rs +++ b/crates/codecs/tests/it/fidelity.rs @@ -1,6 +1,6 @@ //! `fidelity_warnings` cases, and consistency with what `encode` does. -mod common; +use crate::common; use FidelityWarning as W; use common::*; use photocraft_codecs::*; diff --git a/crates/codecs/tests/gif_frames.rs b/crates/codecs/tests/it/gif_frames.rs similarity index 100% rename from crates/codecs/tests/gif_frames.rs rename to crates/codecs/tests/it/gif_frames.rs diff --git a/crates/codecs/tests/heif.rs b/crates/codecs/tests/it/heif.rs similarity index 99% rename from crates/codecs/tests/heif.rs rename to crates/codecs/tests/it/heif.rs index 6471a5ece6..bc1a185ae1 100644 --- a/crates/codecs/tests/heif.rs +++ b/crates/codecs/tests/it/heif.rs @@ -8,7 +8,7 @@ #![cfg(all(feature = "corpus", feature = "heif"))] -mod common; +use crate::common; use common::*; use photocraft_codecs::*; use std::sync::LazyLock; diff --git a/crates/codecs/tests/limits.rs b/crates/codecs/tests/it/limits.rs similarity index 99% rename from crates/codecs/tests/limits.rs rename to crates/codecs/tests/it/limits.rs index 6969fea922..c1873771f6 100644 --- a/crates/codecs/tests/limits.rs +++ b/crates/codecs/tests/it/limits.rs @@ -1,6 +1,6 @@ //! Decompression-bomb guards. -mod common; +use crate::common; use common::*; use photocraft_codecs::*; diff --git a/crates/codecs/tests/it/main.rs b/crates/codecs/tests/it/main.rs new file mode 100644 index 0000000000..3e77f071f0 --- /dev/null +++ b/crates/codecs/tests/it/main.rs @@ -0,0 +1,35 @@ +//! The crate's integration tests, linked into one test binary. + +mod camera_raw; +mod common; +mod dds; +mod dds_write; +mod decode_warnings; +mod deep_exr; +mod detect_caps; +mod dpx; +mod exr_cryptomatte; +mod exr_multipart; +mod fidelity; +mod gif_frames; +mod heif; +mod limits; +mod malformed; +mod metadata; +mod orientation; +mod pcx; +mod png_jpeg; +mod pnm_headers; +mod resolution; +mod roundtrip; +mod source_settings; +mod tga; +mod tiff_bench; +mod tiff_exif; +mod tiff_lab; +mod tiff_pages; +mod tiff_photoshop; +mod tiff_regressions; +mod webp_frames; +mod webp_lossy; +mod xpm; diff --git a/crates/codecs/tests/malformed.rs b/crates/codecs/tests/it/malformed.rs similarity index 99% rename from crates/codecs/tests/malformed.rs rename to crates/codecs/tests/it/malformed.rs index b6da84b072..4bb9ee7cb1 100644 --- a/crates/codecs/tests/malformed.rs +++ b/crates/codecs/tests/it/malformed.rs @@ -1,6 +1,6 @@ //! Malformed input must produce errors, never panics or huge allocations. -mod common; +use crate::common; use common::*; use photocraft_codecs::*; use proptest::prelude::*; diff --git a/crates/codecs/tests/metadata.rs b/crates/codecs/tests/it/metadata.rs similarity index 99% rename from crates/codecs/tests/metadata.rs rename to crates/codecs/tests/it/metadata.rs index d8f4d80a9a..d50bce6122 100644 --- a/crates/codecs/tests/metadata.rs +++ b/crates/codecs/tests/it/metadata.rs @@ -1,6 +1,6 @@ //! ICC / EXIF / XMP / DPI / text preservation, per format, per caps. -mod common; +use crate::common; use common::*; use photocraft_codecs::*; diff --git a/crates/codecs/tests/orientation.rs b/crates/codecs/tests/it/orientation.rs similarity index 99% rename from crates/codecs/tests/orientation.rs rename to crates/codecs/tests/it/orientation.rs index c1f176b87c..1a0b30e19b 100644 --- a/crates/codecs/tests/orientation.rs +++ b/crates/codecs/tests/it/orientation.rs @@ -1,7 +1,7 @@ //! EXIF / TIFF orientation (#285): files are opened upright, and every export //! writes Orientation = 1 so the upright pixels are never rotated twice. -mod common; +use crate::common; use common::*; use photocraft_codecs::*; use proptest::prelude::{any, prop_assert, prop_assert_eq, proptest}; diff --git a/crates/codecs/tests/pcx.rs b/crates/codecs/tests/it/pcx.rs similarity index 100% rename from crates/codecs/tests/pcx.rs rename to crates/codecs/tests/it/pcx.rs diff --git a/crates/codecs/tests/png_jpeg.rs b/crates/codecs/tests/it/png_jpeg.rs similarity index 99% rename from crates/codecs/tests/png_jpeg.rs rename to crates/codecs/tests/it/png_jpeg.rs index bd704e9a1a..0b8b42a7b7 100644 --- a/crates/codecs/tests/png_jpeg.rs +++ b/crates/codecs/tests/it/png_jpeg.rs @@ -1,7 +1,7 @@ //! Format-specific behaviour: Adam7 PNG, JPEG colour models, oracle //! cross-checks against the `image` crate, and the optional PngSuite corpus. -mod common; +use crate::common; use common::*; use photocraft_codecs::*; diff --git a/crates/codecs/tests/pnm_headers.rs b/crates/codecs/tests/it/pnm_headers.rs similarity index 100% rename from crates/codecs/tests/pnm_headers.rs rename to crates/codecs/tests/it/pnm_headers.rs diff --git a/crates/codecs/tests/resolution.rs b/crates/codecs/tests/it/resolution.rs similarity index 100% rename from crates/codecs/tests/resolution.rs rename to crates/codecs/tests/it/resolution.rs diff --git a/crates/codecs/tests/roundtrip.rs b/crates/codecs/tests/it/roundtrip.rs similarity index 99% rename from crates/codecs/tests/roundtrip.rs rename to crates/codecs/tests/it/roundtrip.rs index 9ba9423509..acbd16c5db 100644 --- a/crates/codecs/tests/roundtrip.rs +++ b/crates/codecs/tests/it/roundtrip.rs @@ -2,7 +2,7 @@ //! Lossless formats must reproduce the (planned) conversion of the input //! exactly; lossy formats must stay above a PSNR threshold. -mod common; +use crate::common; use common::*; use photocraft_codecs::*; diff --git a/crates/codecs/tests/source_settings.rs b/crates/codecs/tests/it/source_settings.rs similarity index 99% rename from crates/codecs/tests/source_settings.rs rename to crates/codecs/tests/it/source_settings.rs index 9da82dbe79..0389e2fa8e 100644 --- a/crates/codecs/tests/source_settings.rs +++ b/crates/codecs/tests/it/source_settings.rs @@ -1,7 +1,7 @@ //! Reading back the settings a lossy file was saved with: a JPEG's quality from its //! quantisation tables, a WebP's lossy or lossless encoding (and its quality). -mod common; +use crate::common; use common::*; use photocraft_codecs::*; diff --git a/crates/codecs/tests/tga.rs b/crates/codecs/tests/it/tga.rs similarity index 100% rename from crates/codecs/tests/tga.rs rename to crates/codecs/tests/it/tga.rs diff --git a/crates/codecs/tests/tiff_bench.rs b/crates/codecs/tests/it/tiff_bench.rs similarity index 99% rename from crates/codecs/tests/tiff_bench.rs rename to crates/codecs/tests/it/tiff_bench.rs index 357c10486e..e4519167f0 100644 --- a/crates/codecs/tests/tiff_bench.rs +++ b/crates/codecs/tests/it/tiff_bench.rs @@ -5,7 +5,7 @@ //! cargo test --release -p photocraft-codecs --test tiff_bench -- --ignored --nocapture //! ``` -mod common; +use crate::common; use common::tiffgen::*; use photocraft_codecs::*; use std::time::Instant; diff --git a/crates/codecs/tests/tiff_exif.rs b/crates/codecs/tests/it/tiff_exif.rs similarity index 100% rename from crates/codecs/tests/tiff_exif.rs rename to crates/codecs/tests/it/tiff_exif.rs diff --git a/crates/codecs/tests/tiff_lab.rs b/crates/codecs/tests/it/tiff_lab.rs similarity index 100% rename from crates/codecs/tests/tiff_lab.rs rename to crates/codecs/tests/it/tiff_lab.rs diff --git a/crates/codecs/tests/tiff_pages.rs b/crates/codecs/tests/it/tiff_pages.rs similarity index 99% rename from crates/codecs/tests/tiff_pages.rs rename to crates/codecs/tests/it/tiff_pages.rs index 60885e527d..db432abe51 100644 --- a/crates/codecs/tests/tiff_pages.rs +++ b/crates/codecs/tests/it/tiff_pages.rs @@ -4,7 +4,7 @@ //! offsets past the end, absurd sizes) that must give `Ok` or a clean `Err`, never a panic. //! Every file here is hand-built by `common::tiffgen`. -mod common; +use crate::common; use common::Rng; use common::tiffgen::*; use photocraft_codecs::*; diff --git a/crates/codecs/tests/tiff_photoshop.rs b/crates/codecs/tests/it/tiff_photoshop.rs similarity index 99% rename from crates/codecs/tests/tiff_photoshop.rs rename to crates/codecs/tests/it/tiff_photoshop.rs index 400b72eb0c..238710b68c 100644 --- a/crates/codecs/tests/tiff_photoshop.rs +++ b/crates/codecs/tests/it/tiff_photoshop.rs @@ -2,7 +2,7 @@ //! `Metadata` as opaque bytes: written when present, read from either byte order and from //! BigTIFF, and never a panic or an allocation on malformed input. -mod common; +use crate::common; use common::*; use photocraft_codecs::*; diff --git a/crates/codecs/tests/tiff_regressions.rs b/crates/codecs/tests/it/tiff_regressions.rs similarity index 99% rename from crates/codecs/tests/tiff_regressions.rs rename to crates/codecs/tests/it/tiff_regressions.rs index d823f33f4a..8fcb1e570c 100644 --- a/crates/codecs/tests/tiff_regressions.rs +++ b/crates/codecs/tests/it/tiff_regressions.rs @@ -1,4 +1,4 @@ -mod common; +use crate::common; use common::tiffgen::*; use photocraft_codecs::{Image, decode, exif_orientation, upright_exif}; diff --git a/crates/codecs/tests/webp_frames.rs b/crates/codecs/tests/it/webp_frames.rs similarity index 100% rename from crates/codecs/tests/webp_frames.rs rename to crates/codecs/tests/it/webp_frames.rs diff --git a/crates/codecs/tests/webp_lossy.rs b/crates/codecs/tests/it/webp_lossy.rs similarity index 99% rename from crates/codecs/tests/webp_lossy.rs rename to crates/codecs/tests/it/webp_lossy.rs index f0ff2cbbb4..079b9134fd 100644 --- a/crates/codecs/tests/webp_lossy.rs +++ b/crates/codecs/tests/it/webp_lossy.rs @@ -3,7 +3,7 @@ //! smaller than lossless on photographic content; alpha and metadata travel in the container; //! odd sizes and the limits behave. -mod common; +use crate::common; use common::*; use photocraft_codecs::*; diff --git a/crates/codecs/tests/xpm.rs b/crates/codecs/tests/it/xpm.rs similarity index 100% rename from crates/codecs/tests/xpm.rs rename to crates/codecs/tests/it/xpm.rs diff --git a/crates/engine/tests/affinity.rs b/crates/engine/tests/it/affinity.rs similarity index 100% rename from crates/engine/tests/affinity.rs rename to crates/engine/tests/it/affinity.rs diff --git a/crates/engine/tests/artboard_export_names.rs b/crates/engine/tests/it/artboard_export_names.rs similarity index 100% rename from crates/engine/tests/artboard_export_names.rs rename to crates/engine/tests/it/artboard_export_names.rs diff --git a/crates/engine/tests/atn_crystallize_cell_size.rs b/crates/engine/tests/it/atn_crystallize_cell_size.rs similarity index 100% rename from crates/engine/tests/atn_crystallize_cell_size.rs rename to crates/engine/tests/it/atn_crystallize_cell_size.rs diff --git a/crates/engine/tests/atn_ripple_amount.rs b/crates/engine/tests/it/atn_ripple_amount.rs similarity index 100% rename from crates/engine/tests/atn_ripple_amount.rs rename to crates/engine/tests/it/atn_ripple_amount.rs diff --git a/crates/engine/tests/atn_stroke_width.rs b/crates/engine/tests/it/atn_stroke_width.rs similarity index 100% rename from crates/engine/tests/atn_stroke_width.rs rename to crates/engine/tests/it/atn_stroke_width.rs diff --git a/crates/engine/tests/background_and_mask_depth.rs b/crates/engine/tests/it/background_and_mask_depth.rs similarity index 100% rename from crates/engine/tests/background_and_mask_depth.rs rename to crates/engine/tests/it/background_and_mask_depth.rs diff --git a/crates/engine/tests/background_layer_consistency.rs b/crates/engine/tests/it/background_layer_consistency.rs similarity index 100% rename from crates/engine/tests/background_layer_consistency.rs rename to crates/engine/tests/it/background_layer_consistency.rs diff --git a/crates/engine/tests/brush_smoothing.rs b/crates/engine/tests/it/brush_smoothing.rs similarity index 100% rename from crates/engine/tests/brush_smoothing.rs rename to crates/engine/tests/it/brush_smoothing.rs diff --git a/crates/engine/tests/camera_raw_exposure_clamp.rs b/crates/engine/tests/it/camera_raw_exposure_clamp.rs similarity index 100% rename from crates/engine/tests/camera_raw_exposure_clamp.rs rename to crates/engine/tests/it/camera_raw_exposure_clamp.rs diff --git a/crates/engine/tests/camera_raw_noise_clamp.rs b/crates/engine/tests/it/camera_raw_noise_clamp.rs similarity index 100% rename from crates/engine/tests/camera_raw_noise_clamp.rs rename to crates/engine/tests/it/camera_raw_noise_clamp.rs diff --git a/crates/engine/tests/clipping_semantics.rs b/crates/engine/tests/it/clipping_semantics.rs similarity index 100% rename from crates/engine/tests/clipping_semantics.rs rename to crates/engine/tests/it/clipping_semantics.rs diff --git a/crates/engine/tests/close_document.rs b/crates/engine/tests/it/close_document.rs similarity index 100% rename from crates/engine/tests/close_document.rs rename to crates/engine/tests/it/close_document.rs diff --git a/crates/engine/tests/command_lookup.rs b/crates/engine/tests/it/command_lookup.rs similarity index 100% rename from crates/engine/tests/command_lookup.rs rename to crates/engine/tests/it/command_lookup.rs diff --git a/crates/engine/tests/convert_keeps_references.rs b/crates/engine/tests/it/convert_keeps_references.rs similarity index 100% rename from crates/engine/tests/convert_keeps_references.rs rename to crates/engine/tests/it/convert_keeps_references.rs diff --git a/crates/engine/tests/corpus_atn.rs b/crates/engine/tests/it/corpus_atn.rs similarity index 100% rename from crates/engine/tests/corpus_atn.rs rename to crates/engine/tests/it/corpus_atn.rs diff --git a/crates/engine/tests/crop_content_aware.rs b/crates/engine/tests/it/crop_content_aware.rs similarity index 100% rename from crates/engine/tests/crop_content_aware.rs rename to crates/engine/tests/it/crop_content_aware.rs diff --git a/crates/engine/tests/current_affinity_artboards.rs b/crates/engine/tests/it/current_affinity_artboards.rs similarity index 97% rename from crates/engine/tests/current_affinity_artboards.rs rename to crates/engine/tests/it/current_affinity_artboards.rs index e3b27e856b..8348b4065f 100644 --- a/crates/engine/tests/current_affinity_artboards.rs +++ b/crates/engine/tests/it/current_affinity_artboards.rs @@ -1,7 +1,7 @@ //! Artboards recognized from current .af properties move with their children and undo together. #![allow(clippy::unwrap_used, clippy::expect_used, clippy::panic)] -#[path = "../../io/tests/support/current_affinity.rs"] +#[path = "../../../io/tests/support/current_affinity.rs"] mod fixture; use fixture::{Marker, document}; diff --git a/crates/engine/tests/duplicate_layer_comps.rs b/crates/engine/tests/it/duplicate_layer_comps.rs similarity index 100% rename from crates/engine/tests/duplicate_layer_comps.rs rename to crates/engine/tests/it/duplicate_layer_comps.rs diff --git a/crates/engine/tests/duplicate_slices.rs b/crates/engine/tests/it/duplicate_slices.rs similarity index 100% rename from crates/engine/tests/duplicate_slices.rs rename to crates/engine/tests/it/duplicate_slices.rs diff --git a/crates/engine/tests/duplicate_variables.rs b/crates/engine/tests/it/duplicate_variables.rs similarity index 100% rename from crates/engine/tests/duplicate_variables.rs rename to crates/engine/tests/it/duplicate_variables.rs diff --git a/crates/engine/tests/empty_selection_combine.rs b/crates/engine/tests/it/empty_selection_combine.rs similarity index 100% rename from crates/engine/tests/empty_selection_combine.rs rename to crates/engine/tests/it/empty_selection_combine.rs diff --git a/crates/engine/tests/eraser_locked.rs b/crates/engine/tests/it/eraser_locked.rs similarity index 100% rename from crates/engine/tests/eraser_locked.rs rename to crates/engine/tests/it/eraser_locked.rs diff --git a/crates/engine/tests/explicit_layer_target.rs b/crates/engine/tests/it/explicit_layer_target.rs similarity index 100% rename from crates/engine/tests/explicit_layer_target.rs rename to crates/engine/tests/it/explicit_layer_target.rs diff --git a/crates/engine/tests/export_shape_strokes.rs b/crates/engine/tests/it/export_shape_strokes.rs similarity index 100% rename from crates/engine/tests/export_shape_strokes.rs rename to crates/engine/tests/it/export_shape_strokes.rs diff --git a/crates/engine/tests/fill_lock_transparency.rs b/crates/engine/tests/it/fill_lock_transparency.rs similarity index 100% rename from crates/engine/tests/fill_lock_transparency.rs rename to crates/engine/tests/it/fill_lock_transparency.rs diff --git a/crates/engine/tests/filter_locked.rs b/crates/engine/tests/it/filter_locked.rs similarity index 100% rename from crates/engine/tests/filter_locked.rs rename to crates/engine/tests/it/filter_locked.rs diff --git a/crates/engine/tests/finite_command_params.rs b/crates/engine/tests/it/finite_command_params.rs similarity index 100% rename from crates/engine/tests/finite_command_params.rs rename to crates/engine/tests/it/finite_command_params.rs diff --git a/crates/engine/tests/flatten_background.rs b/crates/engine/tests/it/flatten_background.rs similarity index 100% rename from crates/engine/tests/flatten_background.rs rename to crates/engine/tests/it/flatten_background.rs diff --git a/crates/engine/tests/gallery_colours.rs b/crates/engine/tests/it/gallery_colours.rs similarity index 100% rename from crates/engine/tests/gallery_colours.rs rename to crates/engine/tests/it/gallery_colours.rs diff --git a/crates/engine/tests/gauss_small_sigma.rs b/crates/engine/tests/it/gauss_small_sigma.rs similarity index 100% rename from crates/engine/tests/gauss_small_sigma.rs rename to crates/engine/tests/it/gauss_small_sigma.rs diff --git a/crates/engine/tests/gradient_overlay_strokes.rs b/crates/engine/tests/it/gradient_overlay_strokes.rs similarity index 100% rename from crates/engine/tests/gradient_overlay_strokes.rs rename to crates/engine/tests/it/gradient_overlay_strokes.rs diff --git a/crates/engine/tests/guide_layout_limit.rs b/crates/engine/tests/it/guide_layout_limit.rs similarity index 100% rename from crates/engine/tests/guide_layout_limit.rs rename to crates/engine/tests/it/guide_layout_limit.rs diff --git a/crates/engine/tests/guide_layout_preview.rs b/crates/engine/tests/it/guide_layout_preview.rs similarity index 100% rename from crates/engine/tests/guide_layout_preview.rs rename to crates/engine/tests/it/guide_layout_preview.rs diff --git a/crates/engine/tests/hdr_gamma_direction.rs b/crates/engine/tests/it/hdr_gamma_direction.rs similarity index 100% rename from crates/engine/tests/hdr_gamma_direction.rs rename to crates/engine/tests/it/hdr_gamma_direction.rs diff --git a/crates/engine/tests/huge_doc_flatten.rs b/crates/engine/tests/it/huge_doc_flatten.rs similarity index 100% rename from crates/engine/tests/huge_doc_flatten.rs rename to crates/engine/tests/it/huge_doc_flatten.rs diff --git a/crates/engine/tests/jpeg_exif_resolution.rs b/crates/engine/tests/it/jpeg_exif_resolution.rs similarity index 100% rename from crates/engine/tests/jpeg_exif_resolution.rs rename to crates/engine/tests/it/jpeg_exif_resolution.rs diff --git a/crates/engine/tests/keyboard_shortcut_bulk.rs b/crates/engine/tests/it/keyboard_shortcut_bulk.rs similarity index 100% rename from crates/engine/tests/keyboard_shortcut_bulk.rs rename to crates/engine/tests/it/keyboard_shortcut_bulk.rs diff --git a/crates/engine/tests/kra.rs b/crates/engine/tests/it/kra.rs similarity index 100% rename from crates/engine/tests/kra.rs rename to crates/engine/tests/it/kra.rs diff --git a/crates/engine/tests/kys_import.rs b/crates/engine/tests/it/kys_import.rs similarity index 100% rename from crates/engine/tests/kys_import.rs rename to crates/engine/tests/it/kys_import.rs diff --git a/crates/engine/tests/layer_delete_last.rs b/crates/engine/tests/it/layer_delete_last.rs similarity index 100% rename from crates/engine/tests/layer_delete_last.rs rename to crates/engine/tests/it/layer_delete_last.rs diff --git a/crates/engine/tests/layer_mask_depth.rs b/crates/engine/tests/it/layer_mask_depth.rs similarity index 100% rename from crates/engine/tests/layer_mask_depth.rs rename to crates/engine/tests/it/layer_mask_depth.rs diff --git a/crates/engine/tests/layer_props_several.rs b/crates/engine/tests/it/layer_props_several.rs similarity index 100% rename from crates/engine/tests/layer_props_several.rs rename to crates/engine/tests/it/layer_props_several.rs diff --git a/crates/engine/tests/layer_range_panel_order.rs b/crates/engine/tests/it/layer_range_panel_order.rs similarity index 100% rename from crates/engine/tests/layer_range_panel_order.rs rename to crates/engine/tests/it/layer_range_panel_order.rs diff --git a/crates/engine/tests/live_line_transform.rs b/crates/engine/tests/it/live_line_transform.rs similarity index 100% rename from crates/engine/tests/live_line_transform.rs rename to crates/engine/tests/it/live_line_transform.rs diff --git a/crates/engine/tests/it/main.rs b/crates/engine/tests/it/main.rs new file mode 100644 index 0000000000..cd44a7a946 --- /dev/null +++ b/crates/engine/tests/it/main.rs @@ -0,0 +1,80 @@ +//! The crate's integration tests, linked into one test binary. + +mod affinity; +mod artboard_export_names; +mod atn_crystallize_cell_size; +mod atn_ripple_amount; +mod atn_stroke_width; +mod background_and_mask_depth; +mod background_layer_consistency; +mod brush_smoothing; +mod camera_raw_exposure_clamp; +mod camera_raw_noise_clamp; +mod clipping_semantics; +mod close_document; +mod command_lookup; +mod convert_keeps_references; +mod corpus_atn; +mod crop_content_aware; +mod current_affinity_artboards; +mod duplicate_layer_comps; +mod duplicate_slices; +mod duplicate_variables; +mod empty_selection_combine; +mod eraser_locked; +mod explicit_layer_target; +mod export_shape_strokes; +mod fill_lock_transparency; +mod filter_locked; +mod finite_command_params; +mod flatten_background; +mod gallery_colours; +mod gauss_small_sigma; +mod gradient_overlay_strokes; +mod guide_layout_limit; +mod guide_layout_preview; +mod hdr_gamma_direction; +mod huge_doc_flatten; +mod jpeg_exif_resolution; +mod keyboard_shortcut_bulk; +mod kra; +mod kys_import; +mod layer_delete_last; +mod layer_mask_depth; +mod layer_props_several; +mod layer_range_panel_order; +mod live_line_transform; +mod merge_transparent_bounds; +mod missing_layer_error; +mod nonfinite_style; +mod open_identity; +mod path_blur_speed_clamp; +mod path_transform_target; +mod pdn; +mod photoshop_oracles; +mod pixel_lock_edits; +mod precheck; +mod prefs_usage; +mod rasterize_psd_reopen; +mod rasterize_selected_layers; +mod rendering_preferences; +mod save_keeps_encoding; +mod selection_layer_commands; +mod shortcut_sets; +mod shortcuts_headless; +mod smart_clipboard_sources; +mod smart_duplicates; +mod smart_filter_canvas_geometry; +mod smart_object_tones; +mod smart_psd; +mod style_and_align; +mod svg_smart_object; +mod transform_budget_unclamped; +mod type_format_targets; +mod type_postscript_font; +mod undo_keeps_active_layer; +mod unicode_colors; +mod unsupported_smart_filters; +mod wand_transparent_copy; +mod working_rgb_profile; +mod xmp_charref; diff --git a/crates/engine/tests/merge_transparent_bounds.rs b/crates/engine/tests/it/merge_transparent_bounds.rs similarity index 100% rename from crates/engine/tests/merge_transparent_bounds.rs rename to crates/engine/tests/it/merge_transparent_bounds.rs diff --git a/crates/engine/tests/missing_layer_error.rs b/crates/engine/tests/it/missing_layer_error.rs similarity index 100% rename from crates/engine/tests/missing_layer_error.rs rename to crates/engine/tests/it/missing_layer_error.rs diff --git a/crates/engine/tests/nonfinite_style.rs b/crates/engine/tests/it/nonfinite_style.rs similarity index 100% rename from crates/engine/tests/nonfinite_style.rs rename to crates/engine/tests/it/nonfinite_style.rs diff --git a/crates/engine/tests/open_identity.rs b/crates/engine/tests/it/open_identity.rs similarity index 100% rename from crates/engine/tests/open_identity.rs rename to crates/engine/tests/it/open_identity.rs diff --git a/crates/engine/tests/path_blur_speed_clamp.rs b/crates/engine/tests/it/path_blur_speed_clamp.rs similarity index 100% rename from crates/engine/tests/path_blur_speed_clamp.rs rename to crates/engine/tests/it/path_blur_speed_clamp.rs diff --git a/crates/engine/tests/path_transform_target.rs b/crates/engine/tests/it/path_transform_target.rs similarity index 100% rename from crates/engine/tests/path_transform_target.rs rename to crates/engine/tests/it/path_transform_target.rs diff --git a/crates/engine/tests/pdn.rs b/crates/engine/tests/it/pdn.rs similarity index 100% rename from crates/engine/tests/pdn.rs rename to crates/engine/tests/it/pdn.rs diff --git a/crates/engine/tests/photoshop_oracles.rs b/crates/engine/tests/it/photoshop_oracles.rs similarity index 100% rename from crates/engine/tests/photoshop_oracles.rs rename to crates/engine/tests/it/photoshop_oracles.rs diff --git a/crates/engine/tests/pixel_lock_edits.rs b/crates/engine/tests/it/pixel_lock_edits.rs similarity index 100% rename from crates/engine/tests/pixel_lock_edits.rs rename to crates/engine/tests/it/pixel_lock_edits.rs diff --git a/crates/engine/tests/precheck.rs b/crates/engine/tests/it/precheck.rs similarity index 100% rename from crates/engine/tests/precheck.rs rename to crates/engine/tests/it/precheck.rs diff --git a/crates/engine/tests/prefs_usage.rs b/crates/engine/tests/it/prefs_usage.rs similarity index 100% rename from crates/engine/tests/prefs_usage.rs rename to crates/engine/tests/it/prefs_usage.rs diff --git a/crates/engine/tests/rasterize_psd_reopen.rs b/crates/engine/tests/it/rasterize_psd_reopen.rs similarity index 100% rename from crates/engine/tests/rasterize_psd_reopen.rs rename to crates/engine/tests/it/rasterize_psd_reopen.rs diff --git a/crates/engine/tests/rasterize_selected_layers.rs b/crates/engine/tests/it/rasterize_selected_layers.rs similarity index 100% rename from crates/engine/tests/rasterize_selected_layers.rs rename to crates/engine/tests/it/rasterize_selected_layers.rs diff --git a/crates/engine/tests/rendering_preferences.rs b/crates/engine/tests/it/rendering_preferences.rs similarity index 100% rename from crates/engine/tests/rendering_preferences.rs rename to crates/engine/tests/it/rendering_preferences.rs diff --git a/crates/engine/tests/save_keeps_encoding.rs b/crates/engine/tests/it/save_keeps_encoding.rs similarity index 100% rename from crates/engine/tests/save_keeps_encoding.rs rename to crates/engine/tests/it/save_keeps_encoding.rs diff --git a/crates/engine/tests/selection_layer_commands.rs b/crates/engine/tests/it/selection_layer_commands.rs similarity index 100% rename from crates/engine/tests/selection_layer_commands.rs rename to crates/engine/tests/it/selection_layer_commands.rs diff --git a/crates/engine/tests/shortcut_sets.rs b/crates/engine/tests/it/shortcut_sets.rs similarity index 100% rename from crates/engine/tests/shortcut_sets.rs rename to crates/engine/tests/it/shortcut_sets.rs diff --git a/crates/engine/tests/shortcuts_headless.rs b/crates/engine/tests/it/shortcuts_headless.rs similarity index 100% rename from crates/engine/tests/shortcuts_headless.rs rename to crates/engine/tests/it/shortcuts_headless.rs diff --git a/crates/engine/tests/smart_clipboard_sources.rs b/crates/engine/tests/it/smart_clipboard_sources.rs similarity index 100% rename from crates/engine/tests/smart_clipboard_sources.rs rename to crates/engine/tests/it/smart_clipboard_sources.rs diff --git a/crates/engine/tests/smart_duplicates.rs b/crates/engine/tests/it/smart_duplicates.rs similarity index 100% rename from crates/engine/tests/smart_duplicates.rs rename to crates/engine/tests/it/smart_duplicates.rs diff --git a/crates/engine/tests/smart_filter_canvas_geometry.rs b/crates/engine/tests/it/smart_filter_canvas_geometry.rs similarity index 100% rename from crates/engine/tests/smart_filter_canvas_geometry.rs rename to crates/engine/tests/it/smart_filter_canvas_geometry.rs diff --git a/crates/engine/tests/smart_object_tones.rs b/crates/engine/tests/it/smart_object_tones.rs similarity index 100% rename from crates/engine/tests/smart_object_tones.rs rename to crates/engine/tests/it/smart_object_tones.rs diff --git a/crates/engine/tests/smart_psd.rs b/crates/engine/tests/it/smart_psd.rs similarity index 100% rename from crates/engine/tests/smart_psd.rs rename to crates/engine/tests/it/smart_psd.rs diff --git a/crates/engine/tests/style_and_align.rs b/crates/engine/tests/it/style_and_align.rs similarity index 100% rename from crates/engine/tests/style_and_align.rs rename to crates/engine/tests/it/style_and_align.rs diff --git a/crates/engine/tests/svg_smart_object.rs b/crates/engine/tests/it/svg_smart_object.rs similarity index 100% rename from crates/engine/tests/svg_smart_object.rs rename to crates/engine/tests/it/svg_smart_object.rs diff --git a/crates/engine/tests/transform_budget_unclamped.rs b/crates/engine/tests/it/transform_budget_unclamped.rs similarity index 100% rename from crates/engine/tests/transform_budget_unclamped.rs rename to crates/engine/tests/it/transform_budget_unclamped.rs diff --git a/crates/engine/tests/type_format_targets.rs b/crates/engine/tests/it/type_format_targets.rs similarity index 100% rename from crates/engine/tests/type_format_targets.rs rename to crates/engine/tests/it/type_format_targets.rs diff --git a/crates/engine/tests/type_postscript_font.rs b/crates/engine/tests/it/type_postscript_font.rs similarity index 100% rename from crates/engine/tests/type_postscript_font.rs rename to crates/engine/tests/it/type_postscript_font.rs diff --git a/crates/engine/tests/undo_keeps_active_layer.rs b/crates/engine/tests/it/undo_keeps_active_layer.rs similarity index 100% rename from crates/engine/tests/undo_keeps_active_layer.rs rename to crates/engine/tests/it/undo_keeps_active_layer.rs diff --git a/crates/engine/tests/unicode_colors.rs b/crates/engine/tests/it/unicode_colors.rs similarity index 100% rename from crates/engine/tests/unicode_colors.rs rename to crates/engine/tests/it/unicode_colors.rs diff --git a/crates/engine/tests/unsupported_smart_filters.rs b/crates/engine/tests/it/unsupported_smart_filters.rs similarity index 100% rename from crates/engine/tests/unsupported_smart_filters.rs rename to crates/engine/tests/it/unsupported_smart_filters.rs diff --git a/crates/engine/tests/wand_transparent_copy.rs b/crates/engine/tests/it/wand_transparent_copy.rs similarity index 100% rename from crates/engine/tests/wand_transparent_copy.rs rename to crates/engine/tests/it/wand_transparent_copy.rs diff --git a/crates/engine/tests/working_rgb_profile.rs b/crates/engine/tests/it/working_rgb_profile.rs similarity index 100% rename from crates/engine/tests/working_rgb_profile.rs rename to crates/engine/tests/it/working_rgb_profile.rs diff --git a/crates/engine/tests/xmp_charref.rs b/crates/engine/tests/it/xmp_charref.rs similarity index 100% rename from crates/engine/tests/xmp_charref.rs rename to crates/engine/tests/it/xmp_charref.rs diff --git a/crates/format/tests/analysis.rs b/crates/format/tests/it/analysis.rs similarity index 100% rename from crates/format/tests/analysis.rs rename to crates/format/tests/it/analysis.rs diff --git a/crates/format/tests/autosave.rs b/crates/format/tests/it/autosave.rs similarity index 99% rename from crates/format/tests/autosave.rs rename to crates/format/tests/it/autosave.rs index a1954682a1..24d61d50d3 100644 --- a/crates/format/tests/autosave.rs +++ b/crates/format/tests/it/autosave.rs @@ -1,6 +1,6 @@ //! Background autosave and crash recovery. -mod common; +use crate::common; use std::sync::Arc; use common::*; diff --git a/crates/format/tests/common/mod.rs b/crates/format/tests/it/common/mod.rs similarity index 100% rename from crates/format/tests/common/mod.rs rename to crates/format/tests/it/common/mod.rs diff --git a/crates/format/tests/corruption.rs b/crates/format/tests/it/corruption.rs similarity index 99% rename from crates/format/tests/corruption.rs rename to crates/format/tests/it/corruption.rs index 727b37cb70..fd2d0602f6 100644 --- a/crates/format/tests/corruption.rs +++ b/crates/format/tests/it/corruption.rs @@ -1,6 +1,6 @@ //! Damaged or hostile bundles must fail cleanly, never panic. -mod common; +use crate::common; use common::*; use photocraft_color::{ColorMode, SampleType}; use photocraft_format::*; diff --git a/crates/format/tests/directory_symlinks.rs b/crates/format/tests/it/directory_symlinks.rs similarity index 99% rename from crates/format/tests/directory_symlinks.rs rename to crates/format/tests/it/directory_symlinks.rs index edeebbdc3d..0a8d7d2462 100644 --- a/crates/format/tests/directory_symlinks.rs +++ b/crates/format/tests/it/directory_symlinks.rs @@ -1,6 +1,6 @@ //! Directory cleanup only owns content-addressed objects; unrelated files survive. -mod common; +use crate::common; use common::temp_dir; use photocraft_color::{ColorMode, SampleType}; diff --git a/crates/format/tests/float_roundtrip.rs b/crates/format/tests/it/float_roundtrip.rs similarity index 100% rename from crates/format/tests/float_roundtrip.rs rename to crates/format/tests/it/float_roundtrip.rs diff --git a/crates/format/tests/layer_labels.rs b/crates/format/tests/it/layer_labels.rs similarity index 100% rename from crates/format/tests/layer_labels.rs rename to crates/format/tests/it/layer_labels.rs diff --git a/crates/format/tests/it/main.rs b/crates/format/tests/it/main.rs new file mode 100644 index 0000000000..6c822f4282 --- /dev/null +++ b/crates/format/tests/it/main.rs @@ -0,0 +1,11 @@ +//! The crate's integration tests, linked into one test binary. + +mod analysis; +mod autosave; +mod common; +mod corruption; +mod directory_symlinks; +mod float_roundtrip; +mod layer_labels; +mod roundtrip; +mod smart_contents; diff --git a/crates/format/tests/roundtrip.rs b/crates/format/tests/it/roundtrip.rs similarity index 99% rename from crates/format/tests/roundtrip.rs rename to crates/format/tests/it/roundtrip.rs index b123214a58..72de346c32 100644 --- a/crates/format/tests/roundtrip.rs +++ b/crates/format/tests/it/roundtrip.rs @@ -1,6 +1,6 @@ //! doc → .pcraft → doc equality, incremental saves, ids, previews. -mod common; +use crate::common; use common::*; use photocraft_color::{ColorMode, SampleType}; use photocraft_doc::text::{CharStyle, ParagraphStyle, TextRun}; diff --git a/crates/format/tests/smart_contents.rs b/crates/format/tests/it/smart_contents.rs similarity index 100% rename from crates/format/tests/smart_contents.rs rename to crates/format/tests/it/smart_contents.rs diff --git a/crates/gpu/tests/device_loss.rs b/crates/gpu/tests/it/device_loss.rs similarity index 100% rename from crates/gpu/tests/device_loss.rs rename to crates/gpu/tests/it/device_loss.rs diff --git a/crates/gpu/tests/it/main.rs b/crates/gpu/tests/it/main.rs new file mode 100644 index 0000000000..6c23d6e35a --- /dev/null +++ b/crates/gpu/tests/it/main.rs @@ -0,0 +1,7 @@ +//! The crate's integration tests, linked into one test binary. + +mod device_loss; +mod parity; +mod timing; +mod uniform_limits; +mod vector_mask; diff --git a/crates/gpu/tests/parity.rs b/crates/gpu/tests/it/parity.rs similarity index 100% rename from crates/gpu/tests/parity.rs rename to crates/gpu/tests/it/parity.rs diff --git a/crates/gpu/tests/timing.rs b/crates/gpu/tests/it/timing.rs similarity index 100% rename from crates/gpu/tests/timing.rs rename to crates/gpu/tests/it/timing.rs diff --git a/crates/gpu/tests/uniform_limits.rs b/crates/gpu/tests/it/uniform_limits.rs similarity index 100% rename from crates/gpu/tests/uniform_limits.rs rename to crates/gpu/tests/it/uniform_limits.rs diff --git a/crates/gpu/tests/vector_mask.rs b/crates/gpu/tests/it/vector_mask.rs similarity index 100% rename from crates/gpu/tests/vector_mask.rs rename to crates/gpu/tests/it/vector_mask.rs diff --git a/crates/io/tests/adjust_blend_roundtrip.rs b/crates/io/tests/it/adjust_blend_roundtrip.rs similarity index 99% rename from crates/io/tests/adjust_blend_roundtrip.rs rename to crates/io/tests/it/adjust_blend_roundtrip.rs index 4e8b727af2..67085abee3 100644 --- a/crates/io/tests/adjust_blend_roundtrip.rs +++ b/crates/io/tests/it/adjust_blend_roundtrip.rs @@ -4,7 +4,7 @@ //! document flattens to the same composite (within 1/255) in every case, so nothing a user made //! in PhotoCraft silently disappears or changes when Photoshop opens the file. -mod common; +use crate::common; use std::sync::Arc; diff --git a/crates/io/tests/adjust_warnings.rs b/crates/io/tests/it/adjust_warnings.rs similarity index 100% rename from crates/io/tests/adjust_warnings.rs rename to crates/io/tests/it/adjust_warnings.rs diff --git a/crates/io/tests/affinity.rs b/crates/io/tests/it/affinity.rs similarity index 100% rename from crates/io/tests/affinity.rs rename to crates/io/tests/it/affinity.rs diff --git a/crates/io/tests/affinity_artboards.rs b/crates/io/tests/it/affinity_artboards.rs similarity index 98% rename from crates/io/tests/affinity_artboards.rs rename to crates/io/tests/it/affinity_artboards.rs index 67e3739043..26a9a3c7e5 100644 --- a/crates/io/tests/affinity_artboards.rs +++ b/crates/io/tests/it/affinity_artboards.rs @@ -1,7 +1,7 @@ //! Current .af artboards stay separate, editable and clipped through native/PSD saves. #![allow(clippy::unwrap_used, clippy::expect_used, clippy::panic)] -#[path = "support/current_affinity.rs"] +#[path = "../support/current_affinity.rs"] mod fixture; use fixture::{Marker, document}; diff --git a/crates/io/tests/affinity_corpus.rs b/crates/io/tests/it/affinity_corpus.rs similarity index 100% rename from crates/io/tests/affinity_corpus.rs rename to crates/io/tests/it/affinity_corpus.rs diff --git a/crates/io/tests/annotations.rs b/crates/io/tests/it/annotations.rs similarity index 100% rename from crates/io/tests/annotations.rs rename to crates/io/tests/it/annotations.rs diff --git a/crates/io/tests/artboard_guide_order.rs b/crates/io/tests/it/artboard_guide_order.rs similarity index 100% rename from crates/io/tests/artboard_guide_order.rs rename to crates/io/tests/it/artboard_guide_order.rs diff --git a/crates/io/tests/banded.rs b/crates/io/tests/it/banded.rs similarity index 100% rename from crates/io/tests/banded.rs rename to crates/io/tests/it/banded.rs diff --git a/crates/io/tests/cancel.rs b/crates/io/tests/it/cancel.rs similarity index 100% rename from crates/io/tests/cancel.rs rename to crates/io/tests/it/cancel.rs diff --git a/crates/io/tests/channels.rs b/crates/io/tests/it/channels.rs similarity index 100% rename from crates/io/tests/channels.rs rename to crates/io/tests/it/channels.rs diff --git a/crates/io/tests/cmyk_composite_export.rs b/crates/io/tests/it/cmyk_composite_export.rs similarity index 100% rename from crates/io/tests/cmyk_composite_export.rs rename to crates/io/tests/it/cmyk_composite_export.rs diff --git a/crates/io/tests/color.rs b/crates/io/tests/it/color.rs similarity index 99% rename from crates/io/tests/color.rs rename to crates/io/tests/it/color.rs index c5d4479904..b553097ae4 100644 --- a/crates/io/tests/color.rs +++ b/crates/io/tests/it/color.rs @@ -1,7 +1,7 @@ //! ICC profiles through import/export: byte-exact PSD round trips with real profiles, PNG/JPEG //! embedding and extraction, colour-managed CMYK → RGB for formats without CMYK. -mod common; +use crate::common; use std::sync::Arc; diff --git a/crates/io/tests/common/mod.rs b/crates/io/tests/it/common/mod.rs similarity index 100% rename from crates/io/tests/common/mod.rs rename to crates/io/tests/it/common/mod.rs diff --git a/crates/io/tests/composite.rs b/crates/io/tests/it/composite.rs similarity index 99% rename from crates/io/tests/composite.rs rename to crates/io/tests/it/composite.rs index fbb9e5ab3d..cef80e6a08 100644 --- a/crates/io/tests/composite.rs +++ b/crates/io/tests/it/composite.rs @@ -1,7 +1,7 @@ //! Composite oracle: the merged image stored in a PSD must match our //! compositor's rendering of the imported document. -mod common; +use crate::common; use common::*; use photocraft_color::{BlendMode, ColorMode, SampleType}; diff --git a/crates/io/tests/comps_artboards.rs b/crates/io/tests/it/comps_artboards.rs similarity index 100% rename from crates/io/tests/comps_artboards.rs rename to crates/io/tests/it/comps_artboards.rs diff --git a/crates/io/tests/corpus.rs b/crates/io/tests/it/corpus.rs similarity index 99% rename from crates/io/tests/corpus.rs rename to crates/io/tests/it/corpus.rs index 831529d115..b7695d451a 100644 --- a/crates/io/tests/corpus.rs +++ b/crates/io/tests/it/corpus.rs @@ -44,7 +44,7 @@ //! asserts import + flatten return (Ok or Err) without panicking. #![cfg(feature = "corpus")] -mod common; +use crate::common; use std::panic::{AssertUnwindSafe, catch_unwind}; use std::path::{Path, PathBuf}; diff --git a/crates/io/tests/corpus_regressions.rs b/crates/io/tests/it/corpus_regressions.rs similarity index 100% rename from crates/io/tests/corpus_regressions.rs rename to crates/io/tests/it/corpus_regressions.rs diff --git a/crates/io/tests/effects_multi.rs b/crates/io/tests/it/effects_multi.rs similarity index 100% rename from crates/io/tests/effects_multi.rs rename to crates/io/tests/it/effects_multi.rs diff --git a/crates/io/tests/exif_resolution.rs b/crates/io/tests/it/exif_resolution.rs similarity index 100% rename from crates/io/tests/exif_resolution.rs rename to crates/io/tests/it/exif_resolution.rs diff --git a/crates/io/tests/export_progress.rs b/crates/io/tests/it/export_progress.rs similarity index 100% rename from crates/io/tests/export_progress.rs rename to crates/io/tests/it/export_progress.rs diff --git a/crates/io/tests/exr_part_profile.rs b/crates/io/tests/it/exr_part_profile.rs similarity index 100% rename from crates/io/tests/exr_part_profile.rs rename to crates/io/tests/it/exr_part_profile.rs diff --git a/crates/io/tests/flat.rs b/crates/io/tests/it/flat.rs similarity index 99% rename from crates/io/tests/flat.rs rename to crates/io/tests/it/flat.rs index 98833d45d5..353e2bbb7a 100644 --- a/crates/io/tests/flat.rs +++ b/crates/io/tests/it/flat.rs @@ -1,6 +1,6 @@ //! Flat formats through photocraft-codecs, and export warnings. -mod common; +use crate::common; use common::*; use photocraft_color::{ColorMode, SampleType}; diff --git a/crates/io/tests/gif_frames.rs b/crates/io/tests/it/gif_frames.rs similarity index 100% rename from crates/io/tests/gif_frames.rs rename to crates/io/tests/it/gif_frames.rs diff --git a/crates/io/tests/guides_v2.rs b/crates/io/tests/it/guides_v2.rs similarity index 100% rename from crates/io/tests/guides_v2.rs rename to crates/io/tests/it/guides_v2.rs diff --git a/crates/io/tests/heif.rs b/crates/io/tests/it/heif.rs similarity index 100% rename from crates/io/tests/heif.rs rename to crates/io/tests/it/heif.rs diff --git a/crates/io/tests/heif_unsupported.rs b/crates/io/tests/it/heif_unsupported.rs similarity index 100% rename from crates/io/tests/heif_unsupported.rs rename to crates/io/tests/it/heif_unsupported.rs diff --git a/crates/io/tests/krita_corpus.rs b/crates/io/tests/it/krita_corpus.rs similarity index 100% rename from crates/io/tests/krita_corpus.rs rename to crates/io/tests/it/krita_corpus.rs diff --git a/crates/io/tests/lab16.rs b/crates/io/tests/it/lab16.rs similarity index 100% rename from crates/io/tests/lab16.rs rename to crates/io/tests/it/lab16.rs diff --git a/crates/io/tests/large_files.rs b/crates/io/tests/it/large_files.rs similarity index 100% rename from crates/io/tests/large_files.rs rename to crates/io/tests/it/large_files.rs diff --git a/crates/io/tests/large_psb.rs b/crates/io/tests/it/large_psb.rs similarity index 100% rename from crates/io/tests/large_psb.rs rename to crates/io/tests/it/large_psb.rs diff --git a/crates/io/tests/layer_labels.rs b/crates/io/tests/it/layer_labels.rs similarity index 100% rename from crates/io/tests/layer_labels.rs rename to crates/io/tests/it/layer_labels.rs diff --git a/crates/io/tests/layer_xmp.rs b/crates/io/tests/it/layer_xmp.rs similarity index 100% rename from crates/io/tests/layer_xmp.rs rename to crates/io/tests/it/layer_xmp.rs diff --git a/crates/io/tests/it/main.rs b/crates/io/tests/it/main.rs new file mode 100644 index 0000000000..662d37c307 --- /dev/null +++ b/crates/io/tests/it/main.rs @@ -0,0 +1,76 @@ +//! The crate's integration tests, linked into one test binary. + +mod adjust_blend_roundtrip; +mod adjust_warnings; +mod affinity; +mod affinity_artboards; +mod affinity_corpus; +mod annotations; +mod artboard_guide_order; +mod banded; +mod cancel; +mod channels; +mod cmyk_composite_export; +mod color; +mod common; +mod composite; +mod comps_artboards; +mod corpus; +mod corpus_regressions; +mod effects_multi; +mod exif_resolution; +mod export_progress; +mod exr_part_profile; +mod flat; +mod gif_frames; +mod guides_v2; +mod heif; +mod heif_unsupported; +mod krita_corpus; +mod lab16; +mod large_files; +mod large_psb; +mod layer_labels; +mod layer_xmp; +mod modes; +mod multichannel; +mod orientation; +mod pattern_fill_psd; +mod pcraft_manifest_name; +mod pdn_corpus; +mod png_text_metadata; +mod psd16_merged_transparency; +mod psd32_export; +mod psd_background; +mod psd_block_alignment; +mod psd_block_layout; +mod psd_damaged_merged; +mod psd_empty_channels; +mod psd_font_identity; +mod psd_kerning; +mod psd_layer_block_length; +mod psd_maximize_compatibility; +mod psd_noise_fill_roundtrip; +mod psd_roundtrip_bytes; +mod psd_structure; +mod psd_style_sheets; +mod psd_thumbnail; +mod psd_type_bounds; +mod psd_type_photoshop_bytes; +mod psd_unknown_adjustment; +mod psd_vertical_type; +mod raw; +mod resolution_axes; +mod roundtrip; +mod smart_contents_identity; +mod smart_corpus; +mod svg; +mod text_corpus; +mod text_styles; +mod tiff_corpus; +mod tiff_layers; +mod tiff_pages; +mod tiff_type_geometry; +mod vector; +mod xcf; +mod xmp_export; diff --git a/crates/io/tests/modes.rs b/crates/io/tests/it/modes.rs similarity index 100% rename from crates/io/tests/modes.rs rename to crates/io/tests/it/modes.rs diff --git a/crates/io/tests/multichannel.rs b/crates/io/tests/it/multichannel.rs similarity index 100% rename from crates/io/tests/multichannel.rs rename to crates/io/tests/it/multichannel.rs diff --git a/crates/io/tests/orientation.rs b/crates/io/tests/it/orientation.rs similarity index 100% rename from crates/io/tests/orientation.rs rename to crates/io/tests/it/orientation.rs diff --git a/crates/io/tests/pattern_fill_psd.rs b/crates/io/tests/it/pattern_fill_psd.rs similarity index 100% rename from crates/io/tests/pattern_fill_psd.rs rename to crates/io/tests/it/pattern_fill_psd.rs diff --git a/crates/io/tests/pcraft_manifest_name.rs b/crates/io/tests/it/pcraft_manifest_name.rs similarity index 98% rename from crates/io/tests/pcraft_manifest_name.rs rename to crates/io/tests/it/pcraft_manifest_name.rs index 285fa02203..fffb88fa8b 100644 --- a/crates/io/tests/pcraft_manifest_name.rs +++ b/crates/io/tests/it/pcraft_manifest_name.rs @@ -1,7 +1,7 @@ //! A `.pcraft` bundle's manifest reports the file it is in (#3312): writing a document to a new //! name must not leave the previous one inside, on every path that produces `.pcraft` bytes. -mod common; +use crate::common; use common::*; use photocraft_color::{ColorMode, SampleType}; diff --git a/crates/io/tests/pdn_corpus.rs b/crates/io/tests/it/pdn_corpus.rs similarity index 100% rename from crates/io/tests/pdn_corpus.rs rename to crates/io/tests/it/pdn_corpus.rs diff --git a/crates/io/tests/png_text_metadata.rs b/crates/io/tests/it/png_text_metadata.rs similarity index 100% rename from crates/io/tests/png_text_metadata.rs rename to crates/io/tests/it/png_text_metadata.rs diff --git a/crates/io/tests/psd16_merged_transparency.rs b/crates/io/tests/it/psd16_merged_transparency.rs similarity index 99% rename from crates/io/tests/psd16_merged_transparency.rs rename to crates/io/tests/it/psd16_merged_transparency.rs index 02d6c0e6b3..82b054e873 100644 --- a/crates/io/tests/psd16_merged_transparency.rs +++ b/crates/io/tests/it/psd16_merged_transparency.rs @@ -5,7 +5,7 @@ //! Photoshop's 16-bit PSB in the report has four channels, a positive layer count in `Lr16`, no //! `Mt16` block, and one alpha channel name, "Transparency". Re-saving it wrote five channels. -mod common; +use crate::common; use common::raster; use photocraft_color::{ColorMode, SampleType}; diff --git a/crates/io/tests/psd32_export.rs b/crates/io/tests/it/psd32_export.rs similarity index 99% rename from crates/io/tests/psd32_export.rs rename to crates/io/tests/it/psd32_export.rs index b4707fadb0..f9a297a7f6 100644 --- a/crates/io/tests/psd32_export.rs +++ b/crates/io/tests/it/psd32_export.rs @@ -6,7 +6,7 @@ //! resources, layer info in an `Lr32` global block with an empty classic layer info, channel //! compression codes valid for 32-bit data, and a raw big-endian float merged image. -mod common; +use crate::common; use common::Features; use photocraft_color::{ColorMode, SampleType}; diff --git a/crates/io/tests/psd_background.rs b/crates/io/tests/it/psd_background.rs similarity index 100% rename from crates/io/tests/psd_background.rs rename to crates/io/tests/it/psd_background.rs diff --git a/crates/io/tests/psd_block_alignment.rs b/crates/io/tests/it/psd_block_alignment.rs similarity index 100% rename from crates/io/tests/psd_block_alignment.rs rename to crates/io/tests/it/psd_block_alignment.rs diff --git a/crates/io/tests/psd_block_layout.rs b/crates/io/tests/it/psd_block_layout.rs similarity index 99% rename from crates/io/tests/psd_block_layout.rs rename to crates/io/tests/it/psd_block_layout.rs index bb858633b5..d081bfbc43 100644 --- a/crates/io/tests/psd_block_layout.rs +++ b/crates/io/tests/it/psd_block_layout.rs @@ -3,7 +3,7 @@ //! to even, a layer info body not padded to 4 and, in PSB, `cinf`/`lnkE` read and written //! with 4-byte lengths; psd-tools rejected or misaligned all of them. -mod common; +use crate::common; use photocraft_io::*; use photocraft_psd::descriptor::{Descriptor, VersionedDescriptor}; diff --git a/crates/io/tests/psd_damaged_merged.rs b/crates/io/tests/it/psd_damaged_merged.rs similarity index 100% rename from crates/io/tests/psd_damaged_merged.rs rename to crates/io/tests/it/psd_damaged_merged.rs diff --git a/crates/io/tests/psd_empty_channels.rs b/crates/io/tests/it/psd_empty_channels.rs similarity index 99% rename from crates/io/tests/psd_empty_channels.rs rename to crates/io/tests/it/psd_empty_channels.rs index 285f03cfcd..610bb145cc 100644 --- a/crates/io/tests/psd_empty_channels.rs +++ b/crates/io/tests/it/psd_empty_channels.rs @@ -1,4 +1,4 @@ -mod common; +use crate::common; use common::Features; use photocraft_color::{ColorMode, SampleType}; use photocraft_io::{ExportOptions, export}; diff --git a/crates/io/tests/psd_font_identity.rs b/crates/io/tests/it/psd_font_identity.rs similarity index 100% rename from crates/io/tests/psd_font_identity.rs rename to crates/io/tests/it/psd_font_identity.rs diff --git a/crates/io/tests/psd_kerning.rs b/crates/io/tests/it/psd_kerning.rs similarity index 100% rename from crates/io/tests/psd_kerning.rs rename to crates/io/tests/it/psd_kerning.rs diff --git a/crates/io/tests/psd_layer_block_length.rs b/crates/io/tests/it/psd_layer_block_length.rs similarity index 99% rename from crates/io/tests/psd_layer_block_length.rs rename to crates/io/tests/it/psd_layer_block_length.rs index acb4a6b15c..71f8e2552d 100644 --- a/crates/io/tests/psd_layer_block_length.rs +++ b/crates/io/tests/it/psd_layer_block_length.rs @@ -4,7 +4,7 @@ //! Photoshop writes these blocks this way. Readers that check the block length exactly (Unity's //! PSD Importer, "Incorrect length for InfoLayers") reject a block whose length counts the padding. -mod common; +use crate::common; use common::Features; use photocraft_color::{ColorMode, SampleType}; diff --git a/crates/io/tests/psd_maximize_compatibility.rs b/crates/io/tests/it/psd_maximize_compatibility.rs similarity index 100% rename from crates/io/tests/psd_maximize_compatibility.rs rename to crates/io/tests/it/psd_maximize_compatibility.rs diff --git a/crates/io/tests/psd_noise_fill_roundtrip.rs b/crates/io/tests/it/psd_noise_fill_roundtrip.rs similarity index 100% rename from crates/io/tests/psd_noise_fill_roundtrip.rs rename to crates/io/tests/it/psd_noise_fill_roundtrip.rs diff --git a/crates/io/tests/psd_roundtrip_bytes.rs b/crates/io/tests/it/psd_roundtrip_bytes.rs similarity index 100% rename from crates/io/tests/psd_roundtrip_bytes.rs rename to crates/io/tests/it/psd_roundtrip_bytes.rs diff --git a/crates/io/tests/psd_structure.rs b/crates/io/tests/it/psd_structure.rs similarity index 100% rename from crates/io/tests/psd_structure.rs rename to crates/io/tests/it/psd_structure.rs diff --git a/crates/io/tests/psd_style_sheets.rs b/crates/io/tests/it/psd_style_sheets.rs similarity index 100% rename from crates/io/tests/psd_style_sheets.rs rename to crates/io/tests/it/psd_style_sheets.rs diff --git a/crates/io/tests/psd_thumbnail.rs b/crates/io/tests/it/psd_thumbnail.rs similarity index 100% rename from crates/io/tests/psd_thumbnail.rs rename to crates/io/tests/it/psd_thumbnail.rs diff --git a/crates/io/tests/psd_type_bounds.rs b/crates/io/tests/it/psd_type_bounds.rs similarity index 99% rename from crates/io/tests/psd_type_bounds.rs rename to crates/io/tests/it/psd_type_bounds.rs index a80bc9b7ab..b87d4f4a3a 100644 --- a/crates/io/tests/psd_type_bounds.rs +++ b/crates/io/tests/it/psd_type_bounds.rs @@ -10,7 +10,7 @@ //! //! Fonts: the bundled Inter (deterministic), so our render is the "Photoshop" render here. -mod common; +use crate::common; use photocraft_color::{ColorMode, SampleType}; use photocraft_doc::text::TextShape; diff --git a/crates/io/tests/psd_type_photoshop_bytes.rs b/crates/io/tests/it/psd_type_photoshop_bytes.rs similarity index 100% rename from crates/io/tests/psd_type_photoshop_bytes.rs rename to crates/io/tests/it/psd_type_photoshop_bytes.rs diff --git a/crates/io/tests/psd_unknown_adjustment.rs b/crates/io/tests/it/psd_unknown_adjustment.rs similarity index 100% rename from crates/io/tests/psd_unknown_adjustment.rs rename to crates/io/tests/it/psd_unknown_adjustment.rs diff --git a/crates/io/tests/psd_vertical_type.rs b/crates/io/tests/it/psd_vertical_type.rs similarity index 100% rename from crates/io/tests/psd_vertical_type.rs rename to crates/io/tests/it/psd_vertical_type.rs diff --git a/crates/io/tests/raw.rs b/crates/io/tests/it/raw.rs similarity index 100% rename from crates/io/tests/raw.rs rename to crates/io/tests/it/raw.rs diff --git a/crates/io/tests/resolution_axes.rs b/crates/io/tests/it/resolution_axes.rs similarity index 99% rename from crates/io/tests/resolution_axes.rs rename to crates/io/tests/it/resolution_axes.rs index f7f8cbf006..fb2bd209e2 100644 --- a/crates/io/tests/resolution_axes.rs +++ b/crates/io/tests/it/resolution_axes.rs @@ -1,7 +1,7 @@ //! A file whose horizontal and vertical resolutions differ opens at the horizontal one, and the //! import says the vertical one is not kept (#1018). Equal axes, the common case, open silently. -mod common; +use crate::common; use common::*; use photocraft_codecs::{ChannelLayout, EncodeOptions, Format, Image, Metadata, SampleType as CSample}; diff --git a/crates/io/tests/roundtrip.rs b/crates/io/tests/it/roundtrip.rs similarity index 99% rename from crates/io/tests/roundtrip.rs rename to crates/io/tests/it/roundtrip.rs index dcb7bce62a..1031b5504a 100644 --- a/crates/io/tests/roundtrip.rs +++ b/crates/io/tests/it/roundtrip.rs @@ -1,6 +1,6 @@ //! Document → PSD → Document round trips. -mod common; +use crate::common; use common::*; use photocraft_color::{ColorMode, SampleType}; diff --git a/crates/io/tests/smart_contents_identity.rs b/crates/io/tests/it/smart_contents_identity.rs similarity index 100% rename from crates/io/tests/smart_contents_identity.rs rename to crates/io/tests/it/smart_contents_identity.rs diff --git a/crates/io/tests/smart_corpus.rs b/crates/io/tests/it/smart_corpus.rs similarity index 99% rename from crates/io/tests/smart_corpus.rs rename to crates/io/tests/it/smart_corpus.rs index 494a43071c..f258c01103 100644 --- a/crates/io/tests/smart_corpus.rs +++ b/crates/io/tests/it/smart_corpus.rs @@ -10,7 +10,7 @@ //! ones dropped). #![cfg(feature = "corpus")] -mod common; +use crate::common; use std::path::{Path, PathBuf}; use std::sync::Arc; diff --git a/crates/io/tests/svg.rs b/crates/io/tests/it/svg.rs similarity index 100% rename from crates/io/tests/svg.rs rename to crates/io/tests/it/svg.rs diff --git a/crates/io/tests/text_corpus.rs b/crates/io/tests/it/text_corpus.rs similarity index 100% rename from crates/io/tests/text_corpus.rs rename to crates/io/tests/it/text_corpus.rs diff --git a/crates/io/tests/text_styles.rs b/crates/io/tests/it/text_styles.rs similarity index 100% rename from crates/io/tests/text_styles.rs rename to crates/io/tests/it/text_styles.rs diff --git a/crates/io/tests/tiff_corpus.rs b/crates/io/tests/it/tiff_corpus.rs similarity index 100% rename from crates/io/tests/tiff_corpus.rs rename to crates/io/tests/it/tiff_corpus.rs diff --git a/crates/io/tests/tiff_layers.rs b/crates/io/tests/it/tiff_layers.rs similarity index 99% rename from crates/io/tests/tiff_layers.rs rename to crates/io/tests/it/tiff_layers.rs index 56e51bf9f9..382f45bc44 100644 --- a/crates/io/tests/tiff_layers.rs +++ b/crates/io/tests/it/tiff_layers.rs @@ -2,7 +2,7 @@ //! trips in every mode and depth, equivalence with the PSD path, the flat fall-backs, files //! written by an independent implementation (psdtags, both byte orders), and malformed input. -mod common; +use crate::common; use common::*; use photocraft_color::{ColorMode, SampleType}; diff --git a/crates/io/tests/tiff_pages.rs b/crates/io/tests/it/tiff_pages.rs similarity index 100% rename from crates/io/tests/tiff_pages.rs rename to crates/io/tests/it/tiff_pages.rs diff --git a/crates/io/tests/tiff_type_geometry.rs b/crates/io/tests/it/tiff_type_geometry.rs similarity index 100% rename from crates/io/tests/tiff_type_geometry.rs rename to crates/io/tests/it/tiff_type_geometry.rs diff --git a/crates/io/tests/vector.rs b/crates/io/tests/it/vector.rs similarity index 100% rename from crates/io/tests/vector.rs rename to crates/io/tests/it/vector.rs diff --git a/crates/io/tests/xcf.rs b/crates/io/tests/it/xcf.rs similarity index 100% rename from crates/io/tests/xcf.rs rename to crates/io/tests/it/xcf.rs diff --git a/crates/io/tests/xmp_export.rs b/crates/io/tests/it/xmp_export.rs similarity index 100% rename from crates/io/tests/xmp_export.rs rename to crates/io/tests/it/xmp_export.rs diff --git a/crates/psd/tests/builder.rs b/crates/psd/tests/it/builder.rs similarity index 100% rename from crates/psd/tests/builder.rs rename to crates/psd/tests/it/builder.rs diff --git a/crates/psd/tests/corpus.rs b/crates/psd/tests/it/corpus.rs similarity index 100% rename from crates/psd/tests/corpus.rs rename to crates/psd/tests/it/corpus.rs diff --git a/crates/psd/tests/corpus_atn.rs b/crates/psd/tests/it/corpus_atn.rs similarity index 100% rename from crates/psd/tests/corpus_atn.rs rename to crates/psd/tests/it/corpus_atn.rs diff --git a/crates/psd/tests/layer_block_order.rs b/crates/psd/tests/it/layer_block_order.rs similarity index 100% rename from crates/psd/tests/layer_block_order.rs rename to crates/psd/tests/it/layer_block_order.rs diff --git a/crates/psd/tests/it/main.rs b/crates/psd/tests/it/main.rs new file mode 100644 index 0000000000..ee6879aa66 --- /dev/null +++ b/crates/psd/tests/it/main.rs @@ -0,0 +1,12 @@ +//! The crate's integration tests, linked into one test binary. + +mod builder; +mod corpus; +mod corpus_atn; +mod layer_block_order; +mod malformed; +mod merged_recovery; +mod proptests; +mod roundtrip; +mod swatch_malformed; +mod tree; diff --git a/crates/psd/tests/malformed.rs b/crates/psd/tests/it/malformed.rs similarity index 100% rename from crates/psd/tests/malformed.rs rename to crates/psd/tests/it/malformed.rs diff --git a/crates/psd/tests/merged_recovery.rs b/crates/psd/tests/it/merged_recovery.rs similarity index 100% rename from crates/psd/tests/merged_recovery.rs rename to crates/psd/tests/it/merged_recovery.rs diff --git a/crates/psd/tests/proptests.rs b/crates/psd/tests/it/proptests.rs similarity index 100% rename from crates/psd/tests/proptests.rs rename to crates/psd/tests/it/proptests.rs diff --git a/crates/psd/tests/roundtrip.rs b/crates/psd/tests/it/roundtrip.rs similarity index 100% rename from crates/psd/tests/roundtrip.rs rename to crates/psd/tests/it/roundtrip.rs diff --git a/crates/psd/tests/swatch_malformed.rs b/crates/psd/tests/it/swatch_malformed.rs similarity index 100% rename from crates/psd/tests/swatch_malformed.rs rename to crates/psd/tests/it/swatch_malformed.rs diff --git a/crates/psd/tests/tree.rs b/crates/psd/tests/it/tree.rs similarity index 100% rename from crates/psd/tests/tree.rs rename to crates/psd/tests/it/tree.rs diff --git a/crates/raw/tests/cr3.rs b/crates/raw/tests/it/cr3.rs similarity index 100% rename from crates/raw/tests/cr3.rs rename to crates/raw/tests/it/cr3.rs diff --git a/crates/raw/tests/development_limits.rs b/crates/raw/tests/it/development_limits.rs similarity index 100% rename from crates/raw/tests/development_limits.rs rename to crates/raw/tests/it/development_limits.rs diff --git a/crates/raw/tests/dng.rs b/crates/raw/tests/it/dng.rs similarity index 100% rename from crates/raw/tests/dng.rs rename to crates/raw/tests/it/dng.rs diff --git a/crates/raw/tests/hostile.rs b/crates/raw/tests/it/hostile.rs similarity index 100% rename from crates/raw/tests/hostile.rs rename to crates/raw/tests/it/hostile.rs diff --git a/crates/raw/tests/it/main.rs b/crates/raw/tests/it/main.rs new file mode 100644 index 0000000000..27a1af788b --- /dev/null +++ b/crates/raw/tests/it/main.rs @@ -0,0 +1,12 @@ +//! The crate's integration tests, linked into one test binary. + +mod cr3; +mod development_limits; +mod dng; +mod hostile; +mod nef_packed; +mod nikon_d4_depth; +mod raf; +mod raw_corpus; +mod vendor_codecs; +mod vendors; diff --git a/crates/raw/tests/nef_packed.rs b/crates/raw/tests/it/nef_packed.rs similarity index 100% rename from crates/raw/tests/nef_packed.rs rename to crates/raw/tests/it/nef_packed.rs diff --git a/crates/raw/tests/nikon_d4_depth.rs b/crates/raw/tests/it/nikon_d4_depth.rs similarity index 100% rename from crates/raw/tests/nikon_d4_depth.rs rename to crates/raw/tests/it/nikon_d4_depth.rs diff --git a/crates/raw/tests/raf.rs b/crates/raw/tests/it/raf.rs similarity index 100% rename from crates/raw/tests/raf.rs rename to crates/raw/tests/it/raf.rs diff --git a/crates/raw/tests/raw_corpus.rs b/crates/raw/tests/it/raw_corpus.rs similarity index 100% rename from crates/raw/tests/raw_corpus.rs rename to crates/raw/tests/it/raw_corpus.rs diff --git a/crates/raw/tests/vendor_codecs.rs b/crates/raw/tests/it/vendor_codecs.rs similarity index 100% rename from crates/raw/tests/vendor_codecs.rs rename to crates/raw/tests/it/vendor_codecs.rs diff --git a/crates/raw/tests/vendors.rs b/crates/raw/tests/it/vendors.rs similarity index 100% rename from crates/raw/tests/vendors.rs rename to crates/raw/tests/it/vendors.rs diff --git a/crates/ui-egui/tests/adjust_preview_gpu.rs b/crates/ui-egui/tests/it/adjust_preview_gpu.rs similarity index 100% rename from crates/ui-egui/tests/adjust_preview_gpu.rs rename to crates/ui-egui/tests/it/adjust_preview_gpu.rs diff --git a/crates/ui-egui/tests/arbitrary_rotation_preview.rs b/crates/ui-egui/tests/it/arbitrary_rotation_preview.rs similarity index 100% rename from crates/ui-egui/tests/arbitrary_rotation_preview.rs rename to crates/ui-egui/tests/it/arbitrary_rotation_preview.rs diff --git a/crates/ui-egui/tests/batch_export_options.rs b/crates/ui-egui/tests/it/batch_export_options.rs similarity index 100% rename from crates/ui-egui/tests/batch_export_options.rs rename to crates/ui-egui/tests/it/batch_export_options.rs diff --git a/crates/ui-egui/tests/camera_raw_histogram.rs b/crates/ui-egui/tests/it/camera_raw_histogram.rs similarity index 100% rename from crates/ui-egui/tests/camera_raw_histogram.rs rename to crates/ui-egui/tests/it/camera_raw_histogram.rs diff --git a/crates/ui-egui/tests/camera_raw_localization.rs b/crates/ui-egui/tests/it/camera_raw_localization.rs similarity index 100% rename from crates/ui-egui/tests/camera_raw_localization.rs rename to crates/ui-egui/tests/it/camera_raw_localization.rs diff --git a/crates/ui-egui/tests/camera_raw_scope.rs b/crates/ui-egui/tests/it/camera_raw_scope.rs similarity index 100% rename from crates/ui-egui/tests/camera_raw_scope.rs rename to crates/ui-egui/tests/it/camera_raw_scope.rs diff --git a/crates/ui-egui/tests/camera_raw_zoom.rs b/crates/ui-egui/tests/it/camera_raw_zoom.rs similarity index 100% rename from crates/ui-egui/tests/camera_raw_zoom.rs rename to crates/ui-egui/tests/it/camera_raw_zoom.rs diff --git a/crates/ui-egui/tests/canvas_16f.rs b/crates/ui-egui/tests/it/canvas_16f.rs similarity index 100% rename from crates/ui-egui/tests/canvas_16f.rs rename to crates/ui-egui/tests/it/canvas_16f.rs diff --git a/crates/ui-egui/tests/checker_canvas.rs b/crates/ui-egui/tests/it/checker_canvas.rs similarity index 100% rename from crates/ui-egui/tests/checker_canvas.rs rename to crates/ui-egui/tests/it/checker_canvas.rs diff --git a/crates/ui-egui/tests/color_managed_canvas.rs b/crates/ui-egui/tests/it/color_managed_canvas.rs similarity index 100% rename from crates/ui-egui/tests/color_managed_canvas.rs rename to crates/ui-egui/tests/it/color_managed_canvas.rs diff --git a/crates/ui-egui/tests/crop_beyond_canvas.rs b/crates/ui-egui/tests/it/crop_beyond_canvas.rs similarity index 100% rename from crates/ui-egui/tests/crop_beyond_canvas.rs rename to crates/ui-egui/tests/it/crop_beyond_canvas.rs diff --git a/crates/ui-egui/tests/crop_default_mode.rs b/crates/ui-egui/tests/it/crop_default_mode.rs similarity index 100% rename from crates/ui-egui/tests/crop_default_mode.rs rename to crates/ui-egui/tests/it/crop_default_mode.rs diff --git a/crates/ui-egui/tests/crop_popup_keys.rs b/crates/ui-egui/tests/it/crop_popup_keys.rs similarity index 100% rename from crates/ui-egui/tests/crop_popup_keys.rs rename to crates/ui-egui/tests/it/crop_popup_keys.rs diff --git a/crates/ui-egui/tests/custom_print_paper.rs b/crates/ui-egui/tests/it/custom_print_paper.rs similarity index 100% rename from crates/ui-egui/tests/custom_print_paper.rs rename to crates/ui-egui/tests/it/custom_print_paper.rs diff --git a/crates/ui-egui/tests/display_shadows.rs b/crates/ui-egui/tests/it/display_shadows.rs similarity index 100% rename from crates/ui-egui/tests/display_shadows.rs rename to crates/ui-egui/tests/it/display_shadows.rs diff --git a/crates/ui-egui/tests/drag_preview_canvas.rs b/crates/ui-egui/tests/it/drag_preview_canvas.rs similarity index 100% rename from crates/ui-egui/tests/drag_preview_canvas.rs rename to crates/ui-egui/tests/it/drag_preview_canvas.rs diff --git a/crates/ui-egui/tests/export_as_scaling.rs b/crates/ui-egui/tests/it/export_as_scaling.rs similarity index 100% rename from crates/ui-egui/tests/export_as_scaling.rs rename to crates/ui-egui/tests/it/export_as_scaling.rs diff --git a/crates/ui-egui/tests/full_res_preview.rs b/crates/ui-egui/tests/it/full_res_preview.rs similarity index 100% rename from crates/ui-egui/tests/full_res_preview.rs rename to crates/ui-egui/tests/it/full_res_preview.rs diff --git a/crates/ui-egui/tests/gpu_device_loss.rs b/crates/ui-egui/tests/it/gpu_device_loss.rs similarity index 100% rename from crates/ui-egui/tests/gpu_device_loss.rs rename to crates/ui-egui/tests/it/gpu_device_loss.rs diff --git a/crates/ui-egui/tests/layout_perf.rs b/crates/ui-egui/tests/it/layout_perf.rs similarity index 99% rename from crates/ui-egui/tests/layout_perf.rs rename to crates/ui-egui/tests/it/layout_perf.rs index 1afb0f36cf..2b5cf73bf1 100644 --- a/crates/ui-egui/tests/layout_perf.rs +++ b/crates/ui-egui/tests/it/layout_perf.rs @@ -4,7 +4,7 @@ //! nothing and hiding one recomposites only its area; and the GPU compositor (which composites //! small layers over their bounds only) matches the CPU reference on the whole document. -#[path = "support/layout_doc.rs"] +#[path = "../support/layout_doc.rs"] mod layout_doc; use egui::{Event, Modifiers, PointerButton, Pos2}; diff --git a/crates/ui-egui/tests/live_stroke_canvas.rs b/crates/ui-egui/tests/it/live_stroke_canvas.rs similarity index 100% rename from crates/ui-egui/tests/live_stroke_canvas.rs rename to crates/ui-egui/tests/it/live_stroke_canvas.rs diff --git a/crates/ui-egui/tests/it/main.rs b/crates/ui-egui/tests/it/main.rs new file mode 100644 index 0000000000..a65e094315 --- /dev/null +++ b/crates/ui-egui/tests/it/main.rs @@ -0,0 +1,33 @@ +//! The crate's integration tests, linked into one test binary. + +mod adjust_preview_gpu; +mod arbitrary_rotation_preview; +mod batch_export_options; +mod camera_raw_histogram; +mod camera_raw_localization; +mod camera_raw_scope; +mod camera_raw_zoom; +mod canvas_16f; +mod checker_canvas; +mod color_managed_canvas; +mod crop_beyond_canvas; +mod crop_default_mode; +mod crop_popup_keys; +mod custom_print_paper; +mod display_shadows; +mod drag_preview_canvas; +mod export_as_scaling; +mod full_res_preview; +mod gpu_device_loss; +mod layout_perf; +mod live_stroke_canvas; +mod marching_ants_pixels; +mod marquee_autoscroll; +mod paint_bucket_all_layers; +mod pattern_preview_canvas; +mod radial_blur_center; +mod remove_channel_target; +mod system_locale; +mod ui_scale_canvas; +mod variables_data_sets; +mod workspace_presets; diff --git a/crates/ui-egui/tests/marching_ants_pixels.rs b/crates/ui-egui/tests/it/marching_ants_pixels.rs similarity index 100% rename from crates/ui-egui/tests/marching_ants_pixels.rs rename to crates/ui-egui/tests/it/marching_ants_pixels.rs diff --git a/crates/ui-egui/tests/marquee_autoscroll.rs b/crates/ui-egui/tests/it/marquee_autoscroll.rs similarity index 100% rename from crates/ui-egui/tests/marquee_autoscroll.rs rename to crates/ui-egui/tests/it/marquee_autoscroll.rs diff --git a/crates/ui-egui/tests/paint_bucket_all_layers.rs b/crates/ui-egui/tests/it/paint_bucket_all_layers.rs similarity index 100% rename from crates/ui-egui/tests/paint_bucket_all_layers.rs rename to crates/ui-egui/tests/it/paint_bucket_all_layers.rs diff --git a/crates/ui-egui/tests/pattern_preview_canvas.rs b/crates/ui-egui/tests/it/pattern_preview_canvas.rs similarity index 100% rename from crates/ui-egui/tests/pattern_preview_canvas.rs rename to crates/ui-egui/tests/it/pattern_preview_canvas.rs diff --git a/crates/ui-egui/tests/radial_blur_center.rs b/crates/ui-egui/tests/it/radial_blur_center.rs similarity index 100% rename from crates/ui-egui/tests/radial_blur_center.rs rename to crates/ui-egui/tests/it/radial_blur_center.rs diff --git a/crates/ui-egui/tests/remove_channel_target.rs b/crates/ui-egui/tests/it/remove_channel_target.rs similarity index 100% rename from crates/ui-egui/tests/remove_channel_target.rs rename to crates/ui-egui/tests/it/remove_channel_target.rs diff --git a/crates/ui-egui/tests/system_locale.rs b/crates/ui-egui/tests/it/system_locale.rs similarity index 100% rename from crates/ui-egui/tests/system_locale.rs rename to crates/ui-egui/tests/it/system_locale.rs diff --git a/crates/ui-egui/tests/ui_scale_canvas.rs b/crates/ui-egui/tests/it/ui_scale_canvas.rs similarity index 100% rename from crates/ui-egui/tests/ui_scale_canvas.rs rename to crates/ui-egui/tests/it/ui_scale_canvas.rs diff --git a/crates/ui-egui/tests/variables_data_sets.rs b/crates/ui-egui/tests/it/variables_data_sets.rs similarity index 100% rename from crates/ui-egui/tests/variables_data_sets.rs rename to crates/ui-egui/tests/it/variables_data_sets.rs diff --git a/crates/ui-egui/tests/workspace_presets.rs b/crates/ui-egui/tests/it/workspace_presets.rs similarity index 100% rename from crates/ui-egui/tests/workspace_presets.rs rename to crates/ui-egui/tests/it/workspace_presets.rs