mirror of
https://github.com/storytold/designcraft.git
synced 2026-10-24 02:06:54 -06:00
CI: one integration-test binary per crate
This commit is contained in:
@@ -40,12 +40,12 @@ Generated-in-code art is original and has no file to list: the UI icon set (`cra
|
|||||||
| `docs/images/page-4.png` | DesignCraft contributors | screenshot/render of DesignCraft itself (sample document generated in code) | MIT OR Apache-2.0 | Original; no Adobe UI |
|
| `docs/images/page-4.png` | DesignCraft contributors | screenshot/render of DesignCraft itself (sample document generated in code) | MIT OR Apache-2.0 | Original; no Adobe UI |
|
||||||
| `docs/images/page-cover.png` | DesignCraft contributors | screenshot/render of DesignCraft itself (sample document generated in code) | MIT OR Apache-2.0 | Original; no Adobe UI |
|
| `docs/images/page-cover.png` | DesignCraft contributors | screenshot/render of DesignCraft itself (sample document generated in code) | MIT OR Apache-2.0 | Original; no Adobe UI |
|
||||||
| `docs/images/ui-spread.png` | DesignCraft contributors | screenshot/render of DesignCraft itself (sample document generated in code) | MIT OR Apache-2.0 | Original; no Adobe UI |
|
| `docs/images/ui-spread.png` | DesignCraft contributors | screenshot/render of DesignCraft itself (sample document generated in code) | MIT OR Apache-2.0 | Original; no Adobe UI |
|
||||||
| `crates/render/tests/golden/drop-shadow-spread.png` | DesignCraft contributors (generated) | rendered by DesignCraft's own renderer (`crates/render/tests/effects.rs`, synthetic shapes and bundled fonts) | MIT OR Apache-2.0 | Golden test image for soft effects |
|
| `crates/render/tests/golden/drop-shadow-spread.png` | DesignCraft contributors (generated) | rendered by DesignCraft's own renderer (`crates/render/tests/it/effects.rs`, synthetic shapes and bundled fonts) | MIT OR Apache-2.0 | Golden test image for soft effects |
|
||||||
| `crates/render/tests/golden/drop-shadow-text.png` | DesignCraft contributors (generated) | rendered by DesignCraft's own renderer (`crates/render/tests/effects.rs`, synthetic shapes and bundled fonts) | MIT OR Apache-2.0 | Golden test image for soft effects |
|
| `crates/render/tests/golden/drop-shadow-text.png` | DesignCraft contributors (generated) | rendered by DesignCraft's own renderer (`crates/render/tests/it/effects.rs`, synthetic shapes and bundled fonts) | MIT OR Apache-2.0 | Golden test image for soft effects |
|
||||||
| `crates/render/tests/golden/drop-shadow.png` | DesignCraft contributors (generated) | rendered by DesignCraft's own renderer (`crates/render/tests/effects.rs`, synthetic shapes and bundled fonts) | MIT OR Apache-2.0 | Golden test image for soft effects |
|
| `crates/render/tests/golden/drop-shadow.png` | DesignCraft contributors (generated) | rendered by DesignCraft's own renderer (`crates/render/tests/it/effects.rs`, synthetic shapes and bundled fonts) | MIT OR Apache-2.0 | Golden test image for soft effects |
|
||||||
| `crates/render/tests/golden/feather.png` | DesignCraft contributors (generated) | rendered by DesignCraft's own renderer (`crates/render/tests/effects.rs`, synthetic shapes and bundled fonts) | MIT OR Apache-2.0 | Golden test image for soft effects |
|
| `crates/render/tests/golden/feather.png` | DesignCraft contributors (generated) | rendered by DesignCraft's own renderer (`crates/render/tests/it/effects.rs`, synthetic shapes and bundled fonts) | MIT OR Apache-2.0 | Golden test image for soft effects |
|
||||||
| `crates/render/tests/golden/inner-shadow.png` | DesignCraft contributors (generated) | rendered by DesignCraft's own renderer (`crates/render/tests/effects.rs`, synthetic shapes and bundled fonts) | MIT OR Apache-2.0 | Golden test image for soft effects |
|
| `crates/render/tests/golden/inner-shadow.png` | DesignCraft contributors (generated) | rendered by DesignCraft's own renderer (`crates/render/tests/it/effects.rs`, synthetic shapes and bundled fonts) | MIT OR Apache-2.0 | Golden test image for soft effects |
|
||||||
| `crates/render/tests/golden/outer-glow.png` | DesignCraft contributors (generated) | rendered by DesignCraft's own renderer (`crates/render/tests/effects.rs`, synthetic shapes and bundled fonts) | MIT OR Apache-2.0 | Golden test image for soft effects |
|
| `crates/render/tests/golden/outer-glow.png` | DesignCraft contributors (generated) | rendered by DesignCraft's own renderer (`crates/render/tests/it/effects.rs`, synthetic shapes and bundled fonts) | MIT OR Apache-2.0 | Golden test image for soft effects |
|
||||||
| `assets/app-icon/LICENSE.txt` | (licence text) | this project | — | Licence for the app icon |
|
| `assets/app-icon/LICENSE.txt` | (licence text) | this project | — | Licence for the app icon |
|
||||||
| `assets/app-icon/designcraft-1024.png` | DesignCraft project owner (drawn in ArtCraft) | rendered from `assets/app-icon/designcraft.svg` by `packaging/icons.sh` | MIT OR Apache-2.0 (`assets/app-icon/LICENSE.txt`) | App icon: calico cat in a polka-dot scarf (see `assets/app-icon/README.md`) |
|
| `assets/app-icon/designcraft-1024.png` | DesignCraft project owner (drawn in ArtCraft) | rendered from `assets/app-icon/designcraft.svg` by `packaging/icons.sh` | MIT OR Apache-2.0 (`assets/app-icon/LICENSE.txt`) | App icon: calico cat in a polka-dot scarf (see `assets/app-icon/README.md`) |
|
||||||
| `assets/app-icon/designcraft-macos-512.png` | DesignCraft project owner (drawn in ArtCraft) | rendered from `assets/app-icon/designcraft.svg` by `packaging/icons.sh` | MIT OR Apache-2.0 (`assets/app-icon/LICENSE.txt`) | App icon: calico cat in a polka-dot scarf (see `assets/app-icon/README.md`) |
|
| `assets/app-icon/designcraft-macos-512.png` | DesignCraft project owner (drawn in ArtCraft) | rendered from `assets/app-icon/designcraft.svg` by `packaging/icons.sh` | MIT OR Apache-2.0 (`assets/app-icon/LICENSE.txt`) | App icon: calico cat in a polka-dot scarf (see `assets/app-icon/README.md`) |
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
mod cli;
|
||||||
@@ -1,5 +1,3 @@
|
|||||||
#![cfg(not(target_arch = "wasm32"))]
|
|
||||||
|
|
||||||
use designcraft_engine::Session;
|
use designcraft_engine::Session;
|
||||||
use serde_json::json;
|
use serde_json::json;
|
||||||
use std::path::Path;
|
use std::path::Path;
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
//! Browser Print must reject native spooler operations without trapping the editor.
|
//! Browser Print must reject native spooler operations without trapping the editor.
|
||||||
#![cfg(target_arch = "wasm32")]
|
|
||||||
|
|
||||||
use designcraft_engine::Session;
|
use designcraft_engine::Session;
|
||||||
use serde_json::json;
|
use serde_json::json;
|
||||||
-2
@@ -1,5 +1,3 @@
|
|||||||
#![cfg(not(target_arch = "wasm32"))]
|
|
||||||
|
|
||||||
use designcraft_engine::Session;
|
use designcraft_engine::Session;
|
||||||
use serde_json::json;
|
use serde_json::json;
|
||||||
|
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
#[cfg(not(target_arch = "wasm32"))]
|
||||||
|
mod book_safety;
|
||||||
|
#[cfg(target_arch = "wasm32")]
|
||||||
|
mod browser_print;
|
||||||
|
mod character_style_from_selection;
|
||||||
|
mod close_retention;
|
||||||
|
#[cfg(not(target_arch = "wasm32"))]
|
||||||
|
mod collection_state_atomicity;
|
||||||
|
mod combined_close_glyph;
|
||||||
|
mod distribute_locks;
|
||||||
|
mod export_page_input;
|
||||||
|
mod insert_pages_bounds;
|
||||||
|
mod param_keys;
|
||||||
|
mod pdf_backend;
|
||||||
|
mod preflight_resolution;
|
||||||
|
mod primary_frame_columns;
|
||||||
|
#[cfg(not(target_arch = "wasm32"))]
|
||||||
|
mod save_state_atomicity;
|
||||||
|
mod stroke_tint_range;
|
||||||
|
mod text_decorations;
|
||||||
|
mod text_insert_memory;
|
||||||
|
mod text_thread_regressions;
|
||||||
|
mod thread_color_safety;
|
||||||
-2
@@ -1,5 +1,3 @@
|
|||||||
#![cfg(not(target_arch = "wasm32"))]
|
|
||||||
|
|
||||||
use std::path::Path;
|
use std::path::Path;
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
mod export_tag_styles;
|
||||||
|
mod grouped_reading_order;
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
// Integration tests: unwrapping and panicking on failure is fine here, unlike in shipped code.
|
||||||
|
#![allow(clippy::unwrap_used, clippy::expect_used, clippy::panic)]
|
||||||
|
|
||||||
|
mod system_fonts;
|
||||||
@@ -1,7 +1,5 @@
|
|||||||
//! A new session finds the installed system fonts by family name (#22). One test in its own
|
//! A new session finds the installed system fonts by family name (#22). One test in its own
|
||||||
//! process, so the process-wide database starts fresh, as it does when the app starts.
|
//! process, so the process-wide database starts fresh, as it does when the app starts.
|
||||||
// Integration tests: unwrapping and panicking on failure is fine here, unlike in shipped code.
|
|
||||||
#![allow(clippy::unwrap_used, clippy::expect_used, clippy::panic)]
|
|
||||||
|
|
||||||
use designcraft_fonts::{FontDb, system_font_dirs};
|
use designcraft_fonts::{FontDb, system_font_dirs};
|
||||||
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
mod rgba_conversion_contract;
|
||||||
@@ -3,8 +3,6 @@
|
|||||||
//! goes inside the write root. Paths that leave a root (`..`, another folder, a sibling with the
|
//! goes inside the write root. Paths that leave a root (`..`, another folder, a sibling with the
|
||||||
//! same prefix, a link) are refused, nothing from a refused file reaches the document, and nothing
|
//! same prefix, a link) are refused, nothing from a refused file reaches the document, and nothing
|
||||||
//! is written outside.
|
//! is written outside.
|
||||||
// Integration tests: unwrapping and panicking on failure is fine here, unlike in shipped code (AGENTS.md).
|
|
||||||
#![allow(clippy::unwrap_used, clippy::expect_used, clippy::panic)]
|
|
||||||
|
|
||||||
use std::path::{Path, PathBuf};
|
use std::path::{Path, PathBuf};
|
||||||
|
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
// Integration tests: unwrapping and panicking on failure is fine here, unlike in shipped code (AGENTS.md).
|
||||||
|
#![allow(clippy::unwrap_used, clippy::expect_used, clippy::panic)]
|
||||||
|
|
||||||
|
mod automation_roots;
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
//! Run public contracts with the production content-cache hasher.
|
|
||||||
#[path = "support/image_content_cache_contract.rs"]
|
|
||||||
mod contracts;
|
|
||||||
#[path = "support/image_fixtures.rs"]
|
|
||||||
mod image_fixtures;
|
|
||||||
+1
-1
@@ -42,7 +42,7 @@ fn mixed_gradient_export_survives_in_subprocess() {
|
|||||||
const CHILD: &str = "DESIGNCRAFT_TEST_MIXED_GRADIENT_CHILD";
|
const CHILD: &str = "DESIGNCRAFT_TEST_MIXED_GRADIENT_CHILD";
|
||||||
if std::env::var_os(CHILD).is_none() {
|
if std::env::var_os(CHILD).is_none() {
|
||||||
let out = std::process::Command::new(std::env::current_exe().unwrap())
|
let out = std::process::Command::new(std::env::current_exe().unwrap())
|
||||||
.args(["--exact", "mixed_gradient_export_survives_in_subprocess", "--nocapture"])
|
.args(["--exact", "gradient_color_spaces::mixed_gradient_export_survives_in_subprocess", "--nocapture"])
|
||||||
.env(CHILD, "1")
|
.env(CHILD, "1")
|
||||||
.output()
|
.output()
|
||||||
.unwrap();
|
.unwrap();
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
//! Run public contracts with the production content-cache hasher.
|
||||||
|
#[path = "../support/image_content_cache_contract.rs"]
|
||||||
|
mod contracts;
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
#[path = "../support/image_fixtures.rs"]
|
||||||
|
mod image_fixtures;
|
||||||
|
|
||||||
|
mod gradient_color_spaces;
|
||||||
|
mod image_content_cache;
|
||||||
|
mod page_entry_search_contract;
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
//!
|
//!
|
||||||
//! Goldens live in `tests/golden/*.png` and are compared with a tolerance (antialiasing and blur
|
//! Goldens live in `tests/golden/*.png` and are compared with a tolerance (antialiasing and blur
|
||||||
//! rounding may differ by a few levels between SIMD levels). Regenerate them after an intended
|
//! rounding may differ by a few levels between SIMD levels). Regenerate them after an intended
|
||||||
//! change with `DESIGNCRAFT_BLESS=1 cargo test -p designcraft-render --test effects`.
|
//! change with `DESIGNCRAFT_BLESS=1 cargo test -p designcraft-render --test it effects::`.
|
||||||
|
|
||||||
use designcraft_compose::Cache;
|
use designcraft_compose::Cache;
|
||||||
use designcraft_doc::build::NewDocument;
|
use designcraft_doc::build::NewDocument;
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
mod blend_over_paper;
|
||||||
|
mod colorize;
|
||||||
|
mod effects;
|
||||||
|
mod glyph_retention;
|
||||||
|
mod gradient_inks;
|
||||||
|
mod gradients;
|
||||||
|
mod pdf_geometry;
|
||||||
|
mod perf;
|
||||||
|
mod placed_pdf;
|
||||||
|
mod stroke_alignment;
|
||||||
|
mod text_frame_bottom;
|
||||||
|
mod text_stroke_behind;
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
//! Renderer caching/culling behaviour, and a render-time regression test (`#[ignore]`: wall-clock
|
//! Renderer caching/culling behaviour, and a render-time regression test (`#[ignore]`: wall-clock
|
||||||
//! timings are only meaningful on an idle machine — run with
|
//! timings are only meaningful on an idle machine — run with
|
||||||
//! `cargo test --release -p designcraft-render --test perf -- --ignored`).
|
//! `cargo test --release -p designcraft-render --test it perf:: -- --ignored`).
|
||||||
|
|
||||||
use std::time::Instant;
|
use std::time::Instant;
|
||||||
|
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
#[cfg(not(target_arch = "wasm32"))]
|
||||||
|
mod native_job_lifetime_control;
|
||||||
-1
@@ -1,5 +1,4 @@
|
|||||||
//! Own a real native Job across last close. This does not run the asynchronous worker.
|
//! Own a real native Job across last close. This does not run the asynchronous worker.
|
||||||
#![cfg(not(target_arch = "wasm32"))]
|
|
||||||
|
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
|
||||||
Reference in New Issue
Block a user