diff --git a/Cargo.toml b/Cargo.toml index cabb8a06c..6e1afaa06 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -69,9 +69,11 @@ type_complexity = "allow" [profile.dev.package."*"] opt-level = 2 +debug = false [profile.dev] opt-level = 1 +debug = "line-tables-only" [profile.release] opt-level = 3 diff --git a/apps/cadcraft-cli/tests/cli.rs b/apps/cadcraft-cli/tests/it/cli.rs similarity index 100% rename from apps/cadcraft-cli/tests/cli.rs rename to apps/cadcraft-cli/tests/it/cli.rs diff --git a/apps/cadcraft-cli/tests/drafting_spacing.rs b/apps/cadcraft-cli/tests/it/drafting_spacing.rs similarity index 100% rename from apps/cadcraft-cli/tests/drafting_spacing.rs rename to apps/cadcraft-cli/tests/it/drafting_spacing.rs diff --git a/apps/cadcraft-cli/tests/help.rs b/apps/cadcraft-cli/tests/it/help.rs similarity index 100% rename from apps/cadcraft-cli/tests/help.rs rename to apps/cadcraft-cli/tests/it/help.rs diff --git a/apps/cadcraft-cli/tests/it/main.rs b/apps/cadcraft-cli/tests/it/main.rs new file mode 100644 index 000000000..efd49c7dd --- /dev/null +++ b/apps/cadcraft-cli/tests/it/main.rs @@ -0,0 +1,6 @@ +mod cli; +mod drafting_spacing; +mod help; +mod mcp_connect; +mod skipped_records; +mod undrawn_entities; diff --git a/apps/cadcraft-cli/tests/mcp_connect.rs b/apps/cadcraft-cli/tests/it/mcp_connect.rs similarity index 100% rename from apps/cadcraft-cli/tests/mcp_connect.rs rename to apps/cadcraft-cli/tests/it/mcp_connect.rs diff --git a/apps/cadcraft-cli/tests/skipped_records.rs b/apps/cadcraft-cli/tests/it/skipped_records.rs similarity index 100% rename from apps/cadcraft-cli/tests/skipped_records.rs rename to apps/cadcraft-cli/tests/it/skipped_records.rs diff --git a/apps/cadcraft-cli/tests/undrawn_entities.rs b/apps/cadcraft-cli/tests/it/undrawn_entities.rs similarity index 100% rename from apps/cadcraft-cli/tests/undrawn_entities.rs rename to apps/cadcraft-cli/tests/it/undrawn_entities.rs diff --git a/crates/doc/tests/lin_pat_parse.rs b/crates/doc/tests/it/lin_pat_parse.rs similarity index 100% rename from crates/doc/tests/lin_pat_parse.rs rename to crates/doc/tests/it/lin_pat_parse.rs diff --git a/crates/doc/tests/it/main.rs b/crates/doc/tests/it/main.rs new file mode 100644 index 000000000..dcad121df --- /dev/null +++ b/crates/doc/tests/it/main.rs @@ -0,0 +1,2 @@ +mod lin_pat_parse; +mod sub_segment_alias; diff --git a/crates/doc/tests/sub_segment_alias.rs b/crates/doc/tests/it/sub_segment_alias.rs similarity index 100% rename from crates/doc/tests/sub_segment_alias.rs rename to crates/doc/tests/it/sub_segment_alias.rs diff --git a/crates/engine/tests/angle_prompts.rs b/crates/engine/tests/it/angle_prompts.rs similarity index 100% rename from crates/engine/tests/angle_prompts.rs rename to crates/engine/tests/it/angle_prompts.rs diff --git a/crates/engine/tests/angle_settings.rs b/crates/engine/tests/it/angle_settings.rs similarity index 100% rename from crates/engine/tests/angle_settings.rs rename to crates/engine/tests/it/angle_settings.rs diff --git a/crates/engine/tests/annotate_options.rs b/crates/engine/tests/it/annotate_options.rs similarity index 100% rename from crates/engine/tests/annotate_options.rs rename to crates/engine/tests/it/annotate_options.rs diff --git a/crates/engine/tests/annotative.rs b/crates/engine/tests/it/annotative.rs similarity index 100% rename from crates/engine/tests/annotative.rs rename to crates/engine/tests/it/annotative.rs diff --git a/crates/engine/tests/arc_ctrl_direction.rs b/crates/engine/tests/it/arc_ctrl_direction.rs similarity index 100% rename from crates/engine/tests/arc_ctrl_direction.rs rename to crates/engine/tests/it/arc_ctrl_direction.rs diff --git a/crates/engine/tests/array_commands.rs b/crates/engine/tests/it/array_commands.rs similarity index 100% rename from crates/engine/tests/array_commands.rs rename to crates/engine/tests/it/array_commands.rs diff --git a/crates/engine/tests/assoc_array.rs b/crates/engine/tests/it/assoc_array.rs similarity index 100% rename from crates/engine/tests/assoc_array.rs rename to crates/engine/tests/it/assoc_array.rs diff --git a/crates/engine/tests/attdisp_attsync.rs b/crates/engine/tests/it/attdisp_attsync.rs similarity index 100% rename from crates/engine/tests/attdisp_attsync.rs rename to crates/engine/tests/it/attdisp_attsync.rs diff --git a/crates/engine/tests/attedit_prompts.rs b/crates/engine/tests/it/attedit_prompts.rs similarity index 100% rename from crates/engine/tests/attedit_prompts.rs rename to crates/engine/tests/it/attedit_prompts.rs diff --git a/crates/engine/tests/attrib_modes.rs b/crates/engine/tests/it/attrib_modes.rs similarity index 100% rename from crates/engine/tests/attrib_modes.rs rename to crates/engine/tests/it/attrib_modes.rs diff --git a/crates/engine/tests/attrib_props.rs b/crates/engine/tests/it/attrib_props.rs similarity index 100% rename from crates/engine/tests/attrib_props.rs rename to crates/engine/tests/it/attrib_props.rs diff --git a/crates/engine/tests/attribute_tools.rs b/crates/engine/tests/it/attribute_tools.rs similarity index 100% rename from crates/engine/tests/attribute_tools.rs rename to crates/engine/tests/it/attribute_tools.rs diff --git a/crates/engine/tests/block_keep.rs b/crates/engine/tests/it/block_keep.rs similarity index 100% rename from crates/engine/tests/block_keep.rs rename to crates/engine/tests/it/block_keep.rs diff --git a/crates/engine/tests/block_redefine.rs b/crates/engine/tests/it/block_redefine.rs similarity index 100% rename from crates/engine/tests/block_redefine.rs rename to crates/engine/tests/it/block_redefine.rs diff --git a/crates/engine/tests/break_closed_polyline.rs b/crates/engine/tests/it/break_closed_polyline.rs similarity index 100% rename from crates/engine/tests/break_closed_polyline.rs rename to crates/engine/tests/it/break_closed_polyline.rs diff --git a/crates/engine/tests/break_join_locked_layers.rs b/crates/engine/tests/it/break_join_locked_layers.rs similarity index 100% rename from crates/engine/tests/break_join_locked_layers.rs rename to crates/engine/tests/it/break_join_locked_layers.rs diff --git a/crates/engine/tests/break_keeps_z.rs b/crates/engine/tests/it/break_keeps_z.rs similarity index 100% rename from crates/engine/tests/break_keeps_z.rs rename to crates/engine/tests/it/break_keeps_z.rs diff --git a/crates/engine/tests/burst.rs b/crates/engine/tests/it/burst.rs similarity index 100% rename from crates/engine/tests/burst.rs rename to crates/engine/tests/it/burst.rs diff --git a/crates/engine/tests/constraint_geometry.rs b/crates/engine/tests/it/constraint_geometry.rs similarity index 100% rename from crates/engine/tests/constraint_geometry.rs rename to crates/engine/tests/it/constraint_geometry.rs diff --git a/crates/engine/tests/constraint_infer.rs b/crates/engine/tests/it/constraint_infer.rs similarity index 100% rename from crates/engine/tests/constraint_infer.rs rename to crates/engine/tests/it/constraint_infer.rs diff --git a/crates/engine/tests/count.rs b/crates/engine/tests/it/count.rs similarity index 100% rename from crates/engine/tests/count.rs rename to crates/engine/tests/it/count.rs diff --git a/crates/engine/tests/dash_block.rs b/crates/engine/tests/it/dash_block.rs similarity index 100% rename from crates/engine/tests/dash_block.rs rename to crates/engine/tests/it/dash_block.rs diff --git a/crates/engine/tests/data_extraction.rs b/crates/engine/tests/it/data_extraction.rs similarity index 100% rename from crates/engine/tests/data_extraction.rs rename to crates/engine/tests/it/data_extraction.rs diff --git a/crates/engine/tests/dim_baseline_spacing.rs b/crates/engine/tests/it/dim_baseline_spacing.rs similarity index 100% rename from crates/engine/tests/dim_baseline_spacing.rs rename to crates/engine/tests/it/dim_baseline_spacing.rs diff --git a/crates/engine/tests/dim_chain.rs b/crates/engine/tests/it/dim_chain.rs similarity index 100% rename from crates/engine/tests/dim_chain.rs rename to crates/engine/tests/it/dim_chain.rs diff --git a/crates/engine/tests/dim_commands.rs b/crates/engine/tests/it/dim_commands.rs similarity index 100% rename from crates/engine/tests/dim_commands.rs rename to crates/engine/tests/it/dim_commands.rs diff --git a/crates/engine/tests/dim_explode_text.rs b/crates/engine/tests/it/dim_explode_text.rs similarity index 100% rename from crates/engine/tests/dim_explode_text.rs rename to crates/engine/tests/it/dim_explode_text.rs diff --git a/crates/engine/tests/dim_properties.rs b/crates/engine/tests/it/dim_properties.rs similarity index 100% rename from crates/engine/tests/dim_properties.rs rename to crates/engine/tests/it/dim_properties.rs diff --git a/crates/engine/tests/dim_radial_inside.rs b/crates/engine/tests/it/dim_radial_inside.rs similarity index 100% rename from crates/engine/tests/dim_radial_inside.rs rename to crates/engine/tests/it/dim_radial_inside.rs diff --git a/crates/engine/tests/dim_radial_outside.rs b/crates/engine/tests/it/dim_radial_outside.rs similarity index 100% rename from crates/engine/tests/dim_radial_outside.rs rename to crates/engine/tests/it/dim_radial_outside.rs diff --git a/crates/engine/tests/dim_vars.rs b/crates/engine/tests/it/dim_vars.rs similarity index 100% rename from crates/engine/tests/dim_vars.rs rename to crates/engine/tests/it/dim_vars.rs diff --git a/crates/engine/tests/dimtedit_prompts.rs b/crates/engine/tests/it/dimtedit_prompts.rs similarity index 100% rename from crates/engine/tests/dimtedit_prompts.rs rename to crates/engine/tests/it/dimtedit_prompts.rs diff --git a/crates/engine/tests/drafting_spacing.rs b/crates/engine/tests/it/drafting_spacing.rs similarity index 100% rename from crates/engine/tests/drafting_spacing.rs rename to crates/engine/tests/it/drafting_spacing.rs diff --git a/crates/engine/tests/draw_prompts.rs b/crates/engine/tests/it/draw_prompts.rs similarity index 100% rename from crates/engine/tests/draw_prompts.rs rename to crates/engine/tests/it/draw_prompts.rs diff --git a/crates/engine/tests/draworder.rs b/crates/engine/tests/it/draworder.rs similarity index 100% rename from crates/engine/tests/draworder.rs rename to crates/engine/tests/it/draworder.rs diff --git a/crates/engine/tests/dyn_input.rs b/crates/engine/tests/it/dyn_input.rs similarity index 100% rename from crates/engine/tests/dyn_input.rs rename to crates/engine/tests/it/dyn_input.rs diff --git a/crates/engine/tests/dynamic_block_data.rs b/crates/engine/tests/it/dynamic_block_data.rs similarity index 100% rename from crates/engine/tests/dynamic_block_data.rs rename to crates/engine/tests/it/dynamic_block_data.rs diff --git a/crates/engine/tests/dynamic_grips.rs b/crates/engine/tests/it/dynamic_grips.rs similarity index 99% rename from crates/engine/tests/dynamic_grips.rs rename to crates/engine/tests/it/dynamic_grips.rs index 42cfaba0d..75ed1b787 100644 --- a/crates/engine/tests/dynamic_grips.rs +++ b/crates/engine/tests/it/dynamic_grips.rs @@ -29,7 +29,7 @@ fn session() -> (Session, Handle) { /// As [`session`], with the fixture's text changed by `edit` first. fn session_with(edit: impl Fn(String) -> String) -> (Session, Handle) { let grip = "0 BLOCKLINEARGRIP\n5 68\n330 61\n100 AcDbEvalExpr\n90 9\n98 33\n99 232\n100 AcDbBlockElement\n300 End Grip\n98 33\n99 232\n1071 0\n"; - let src = include_str!("../../io/tests/data/dynblock_door.txt") + let src = include_str!("../../../io/tests/data/dynblock_door.txt") .replace("\r\n", "\n") .replace("170 4\n91 0\n91 0\n", "170 4\n91 8\n91 9\n") .replace("1030 0\n93 0\n170 0\n171 0\n100 AcDbBlockVisibilityParameter", "1030 0\n93 10\n170 0\n171 0\n100 AcDbBlockVisibilityParameter") diff --git a/crates/engine/tests/fillet_chamfer.rs b/crates/engine/tests/it/fillet_chamfer.rs similarity index 100% rename from crates/engine/tests/fillet_chamfer.rs rename to crates/engine/tests/it/fillet_chamfer.rs diff --git a/crates/engine/tests/fix_holds_grips.rs b/crates/engine/tests/it/fix_holds_grips.rs similarity index 100% rename from crates/engine/tests/fix_holds_grips.rs rename to crates/engine/tests/it/fix_holds_grips.rs diff --git a/crates/engine/tests/followups_626.rs b/crates/engine/tests/it/followups_626.rs similarity index 100% rename from crates/engine/tests/followups_626.rs rename to crates/engine/tests/it/followups_626.rs diff --git a/crates/engine/tests/grip_dim_input.rs b/crates/engine/tests/it/grip_dim_input.rs similarity index 100% rename from crates/engine/tests/grip_dim_input.rs rename to crates/engine/tests/it/grip_dim_input.rs diff --git a/crates/engine/tests/grip_options.rs b/crates/engine/tests/it/grip_options.rs similarity index 100% rename from crates/engine/tests/grip_options.rs rename to crates/engine/tests/it/grip_options.rs diff --git a/crates/engine/tests/grip_selection.rs b/crates/engine/tests/it/grip_selection.rs similarity index 100% rename from crates/engine/tests/grip_selection.rs rename to crates/engine/tests/it/grip_selection.rs diff --git a/crates/engine/tests/group_selection.rs b/crates/engine/tests/it/group_selection.rs similarity index 100% rename from crates/engine/tests/group_selection.rs rename to crates/engine/tests/it/group_selection.rs diff --git a/crates/engine/tests/groups.rs b/crates/engine/tests/it/groups.rs similarity index 100% rename from crates/engine/tests/groups.rs rename to crates/engine/tests/it/groups.rs diff --git a/crates/engine/tests/hatch_assoc.rs b/crates/engine/tests/it/hatch_assoc.rs similarity index 100% rename from crates/engine/tests/hatch_assoc.rs rename to crates/engine/tests/it/hatch_assoc.rs diff --git a/crates/engine/tests/hatch_dialog_helpers.rs b/crates/engine/tests/it/hatch_dialog_helpers.rs similarity index 100% rename from crates/engine/tests/hatch_dialog_helpers.rs rename to crates/engine/tests/it/hatch_dialog_helpers.rs diff --git a/crates/engine/tests/hatch_numeric_validation.rs b/crates/engine/tests/it/hatch_numeric_validation.rs similarity index 100% rename from crates/engine/tests/hatch_numeric_validation.rs rename to crates/engine/tests/it/hatch_numeric_validation.rs diff --git a/crates/engine/tests/hatch_options.rs b/crates/engine/tests/it/hatch_options.rs similarity index 100% rename from crates/engine/tests/hatch_options.rs rename to crates/engine/tests/it/hatch_options.rs diff --git a/crates/engine/tests/helix.rs b/crates/engine/tests/it/helix.rs similarity index 100% rename from crates/engine/tests/helix.rs rename to crates/engine/tests/it/helix.rs diff --git a/crates/engine/tests/inquiry_keywords.rs b/crates/engine/tests/it/inquiry_keywords.rs similarity index 100% rename from crates/engine/tests/inquiry_keywords.rs rename to crates/engine/tests/it/inquiry_keywords.rs diff --git a/crates/engine/tests/inquiry_z.rs b/crates/engine/tests/it/inquiry_z.rs similarity index 100% rename from crates/engine/tests/inquiry_z.rs rename to crates/engine/tests/it/inquiry_z.rs diff --git a/crates/engine/tests/insert_prompts.rs b/crates/engine/tests/it/insert_prompts.rs similarity index 100% rename from crates/engine/tests/insert_prompts.rs rename to crates/engine/tests/it/insert_prompts.rs diff --git a/crates/engine/tests/isometric.rs b/crates/engine/tests/it/isometric.rs similarity index 100% rename from crates/engine/tests/isometric.rs rename to crates/engine/tests/it/isometric.rs diff --git a/crates/engine/tests/join_close.rs b/crates/engine/tests/it/join_close.rs similarity index 100% rename from crates/engine/tests/join_close.rs rename to crates/engine/tests/it/join_close.rs diff --git a/crates/engine/tests/json_param_validation.rs b/crates/engine/tests/it/json_param_validation.rs similarity index 100% rename from crates/engine/tests/json_param_validation.rs rename to crates/engine/tests/it/json_param_validation.rs diff --git a/crates/engine/tests/layer_cmdline.rs b/crates/engine/tests/it/layer_cmdline.rs similarity index 100% rename from crates/engine/tests/layer_cmdline.rs rename to crates/engine/tests/it/layer_cmdline.rs diff --git a/crates/engine/tests/layer_merge_delete.rs b/crates/engine/tests/it/layer_merge_delete.rs similarity index 100% rename from crates/engine/tests/layer_merge_delete.rs rename to crates/engine/tests/it/layer_merge_delete.rs diff --git a/crates/engine/tests/layoff_repeat.rs b/crates/engine/tests/it/layoff_repeat.rs similarity index 100% rename from crates/engine/tests/layoff_repeat.rs rename to crates/engine/tests/it/layoff_repeat.rs diff --git a/crates/engine/tests/layout_prompts.rs b/crates/engine/tests/it/layout_prompts.rs similarity index 100% rename from crates/engine/tests/layout_prompts.rs rename to crates/engine/tests/it/layout_prompts.rs diff --git a/crates/engine/tests/lisp_corpus.rs b/crates/engine/tests/it/lisp_corpus.rs similarity index 99% rename from crates/engine/tests/lisp_corpus.rs rename to crates/engine/tests/it/lisp_corpus.rs index 09f9ea04a..06838e3c3 100644 --- a/crates/engine/tests/lisp_corpus.rs +++ b/crates/engine/tests/it/lisp_corpus.rs @@ -2,7 +2,6 @@ //! leave exactly the expected entities, layers and printed text. The corpus lives in its own //! repository; point `CADCRAFT_LISP_CORPUS` at its `cases` directory (or the repository) to run //! it. Without it the test only says so. -#![allow(clippy::unwrap_used, clippy::expect_used, clippy::panic)] use std::path::{Path, PathBuf}; diff --git a/crates/engine/tests/it/main.rs b/crates/engine/tests/it/main.rs new file mode 100644 index 000000000..b6e088a13 --- /dev/null +++ b/crates/engine/tests/it/main.rs @@ -0,0 +1,143 @@ +mod angle_prompts; +mod angle_settings; +mod annotate_options; +mod annotative; +mod arc_ctrl_direction; +mod array_commands; +mod assoc_array; +mod attdisp_attsync; +mod attedit_prompts; +mod attrib_modes; +mod attrib_props; +mod attribute_tools; +mod block_keep; +mod block_redefine; +mod break_closed_polyline; +mod break_join_locked_layers; +mod break_keeps_z; +mod burst; +mod constraint_geometry; +mod constraint_infer; +mod count; +mod dash_block; +mod data_extraction; +mod dim_baseline_spacing; +mod dim_chain; +mod dim_commands; +mod dim_explode_text; +mod dim_properties; +mod dim_radial_inside; +mod dim_radial_outside; +mod dim_vars; +mod dimtedit_prompts; +mod drafting_spacing; +mod draw_prompts; +mod draworder; +mod dyn_input; +mod dynamic_block_data; +mod dynamic_grips; +mod fillet_chamfer; +mod fix_holds_grips; +mod followups_626; +mod grip_dim_input; +mod grip_options; +mod grip_selection; +mod group_selection; +mod groups; +mod hatch_assoc; +mod hatch_dialog_helpers; +mod hatch_numeric_validation; +mod hatch_options; +mod helix; +mod inquiry_keywords; +mod inquiry_z; +mod insert_prompts; +mod isometric; +mod join_close; +mod json_param_validation; +mod layer_cmdline; +mod layer_merge_delete; +mod layoff_repeat; +mod layout_prompts; +#[allow(clippy::unwrap_used, clippy::expect_used, clippy::panic)] +mod lisp_corpus; +mod malformed_handles; +mod matchprop; +mod measure_distance_snapping; +mod metric_linetypes; +mod mleader_content; +mod mleader_remember; +mod mline; +mod mocoro; +mod modify_curves; +mod mtext_columns; +mod mtext_options; +mod multiline_attributes; +mod named_views; +mod non_finite_edits; +mod offset_closed_spline; +mod offset_ellipse_side; +mod offset_move; +mod options_profile; +mod overkill; +mod parallel_display_list; +mod pedit_splinedit; +mod pick_text; +mod pickdrag; +mod pline_arc_xline_options; +mod plot_styles; +mod point_modifiers; +mod post_command_passes; +mod prompt_keywords; +mod props_bad_lineweight; +mod props_insert_scale_attribs; +mod purge_mlinestyles; +mod purge_prompts; +mod qdim; +mod qdim_modes; +mod query_entities; +mod quickcalc; +mod recent_commands; +mod rectang_ortho; +mod refedit; +mod region; +mod rename_cmdline; +mod rotate_reference; +mod select_keywords; +mod select_similar; +mod select_underscore_keywords; +mod selection_cycling; +mod selection_modes; +mod setvar_coverage; +mod shapes; +mod snap_annotations; +mod snap_blocks; +mod snap_curves; +mod snap_intersections_aperture; +mod snap_nearest; +mod snap_overrides; +mod snap_tracking; +mod snaps_more; +mod space_is_enter; +mod spline_degree; +mod spline_options; +mod stretch; +mod stretch_select; +mod table_formulas; +mod table_styles; +mod temp_tracking; +mod text_commands; +mod text_left_justify; +mod tolerance; +mod transparent; +mod trim_closed_polyline; +mod trim_extend_options; +mod undo_count; +mod undo_layout_tab; +mod viewport_clip; +mod vplayer_prompts; +mod vports; +mod xdata_follows_entity; +mod zoom_keywords; +mod zoom_viewport; +mod zoom_window_ortho; diff --git a/crates/engine/tests/malformed_handles.rs b/crates/engine/tests/it/malformed_handles.rs similarity index 100% rename from crates/engine/tests/malformed_handles.rs rename to crates/engine/tests/it/malformed_handles.rs diff --git a/crates/engine/tests/matchprop.rs b/crates/engine/tests/it/matchprop.rs similarity index 100% rename from crates/engine/tests/matchprop.rs rename to crates/engine/tests/it/matchprop.rs diff --git a/crates/engine/tests/measure_distance_snapping.rs b/crates/engine/tests/it/measure_distance_snapping.rs similarity index 100% rename from crates/engine/tests/measure_distance_snapping.rs rename to crates/engine/tests/it/measure_distance_snapping.rs diff --git a/crates/engine/tests/metric_linetypes.rs b/crates/engine/tests/it/metric_linetypes.rs similarity index 100% rename from crates/engine/tests/metric_linetypes.rs rename to crates/engine/tests/it/metric_linetypes.rs diff --git a/crates/engine/tests/mleader_content.rs b/crates/engine/tests/it/mleader_content.rs similarity index 100% rename from crates/engine/tests/mleader_content.rs rename to crates/engine/tests/it/mleader_content.rs diff --git a/crates/engine/tests/mleader_remember.rs b/crates/engine/tests/it/mleader_remember.rs similarity index 100% rename from crates/engine/tests/mleader_remember.rs rename to crates/engine/tests/it/mleader_remember.rs diff --git a/crates/engine/tests/mline.rs b/crates/engine/tests/it/mline.rs similarity index 100% rename from crates/engine/tests/mline.rs rename to crates/engine/tests/it/mline.rs diff --git a/crates/engine/tests/mocoro.rs b/crates/engine/tests/it/mocoro.rs similarity index 100% rename from crates/engine/tests/mocoro.rs rename to crates/engine/tests/it/mocoro.rs diff --git a/crates/engine/tests/modify_curves.rs b/crates/engine/tests/it/modify_curves.rs similarity index 100% rename from crates/engine/tests/modify_curves.rs rename to crates/engine/tests/it/modify_curves.rs diff --git a/crates/engine/tests/mtext_columns.rs b/crates/engine/tests/it/mtext_columns.rs similarity index 100% rename from crates/engine/tests/mtext_columns.rs rename to crates/engine/tests/it/mtext_columns.rs diff --git a/crates/engine/tests/mtext_options.rs b/crates/engine/tests/it/mtext_options.rs similarity index 100% rename from crates/engine/tests/mtext_options.rs rename to crates/engine/tests/it/mtext_options.rs diff --git a/crates/engine/tests/multiline_attributes.rs b/crates/engine/tests/it/multiline_attributes.rs similarity index 100% rename from crates/engine/tests/multiline_attributes.rs rename to crates/engine/tests/it/multiline_attributes.rs diff --git a/crates/engine/tests/named_views.rs b/crates/engine/tests/it/named_views.rs similarity index 100% rename from crates/engine/tests/named_views.rs rename to crates/engine/tests/it/named_views.rs diff --git a/crates/engine/tests/non_finite_edits.rs b/crates/engine/tests/it/non_finite_edits.rs similarity index 100% rename from crates/engine/tests/non_finite_edits.rs rename to crates/engine/tests/it/non_finite_edits.rs diff --git a/crates/engine/tests/offset_closed_spline.rs b/crates/engine/tests/it/offset_closed_spline.rs similarity index 100% rename from crates/engine/tests/offset_closed_spline.rs rename to crates/engine/tests/it/offset_closed_spline.rs diff --git a/crates/engine/tests/offset_ellipse_side.rs b/crates/engine/tests/it/offset_ellipse_side.rs similarity index 100% rename from crates/engine/tests/offset_ellipse_side.rs rename to crates/engine/tests/it/offset_ellipse_side.rs diff --git a/crates/engine/tests/offset_move.rs b/crates/engine/tests/it/offset_move.rs similarity index 100% rename from crates/engine/tests/offset_move.rs rename to crates/engine/tests/it/offset_move.rs diff --git a/crates/engine/tests/options_profile.rs b/crates/engine/tests/it/options_profile.rs similarity index 100% rename from crates/engine/tests/options_profile.rs rename to crates/engine/tests/it/options_profile.rs diff --git a/crates/engine/tests/overkill.rs b/crates/engine/tests/it/overkill.rs similarity index 100% rename from crates/engine/tests/overkill.rs rename to crates/engine/tests/it/overkill.rs diff --git a/crates/engine/tests/parallel_display_list.rs b/crates/engine/tests/it/parallel_display_list.rs similarity index 100% rename from crates/engine/tests/parallel_display_list.rs rename to crates/engine/tests/it/parallel_display_list.rs diff --git a/crates/engine/tests/pedit_splinedit.rs b/crates/engine/tests/it/pedit_splinedit.rs similarity index 100% rename from crates/engine/tests/pedit_splinedit.rs rename to crates/engine/tests/it/pedit_splinedit.rs diff --git a/crates/engine/tests/pick_text.rs b/crates/engine/tests/it/pick_text.rs similarity index 100% rename from crates/engine/tests/pick_text.rs rename to crates/engine/tests/it/pick_text.rs diff --git a/crates/engine/tests/pickdrag.rs b/crates/engine/tests/it/pickdrag.rs similarity index 100% rename from crates/engine/tests/pickdrag.rs rename to crates/engine/tests/it/pickdrag.rs diff --git a/crates/engine/tests/pline_arc_xline_options.rs b/crates/engine/tests/it/pline_arc_xline_options.rs similarity index 100% rename from crates/engine/tests/pline_arc_xline_options.rs rename to crates/engine/tests/it/pline_arc_xline_options.rs diff --git a/crates/engine/tests/plot_styles.rs b/crates/engine/tests/it/plot_styles.rs similarity index 100% rename from crates/engine/tests/plot_styles.rs rename to crates/engine/tests/it/plot_styles.rs diff --git a/crates/engine/tests/point_modifiers.rs b/crates/engine/tests/it/point_modifiers.rs similarity index 100% rename from crates/engine/tests/point_modifiers.rs rename to crates/engine/tests/it/point_modifiers.rs diff --git a/crates/engine/tests/post_command_passes.rs b/crates/engine/tests/it/post_command_passes.rs similarity index 100% rename from crates/engine/tests/post_command_passes.rs rename to crates/engine/tests/it/post_command_passes.rs diff --git a/crates/engine/tests/prompt_keywords.rs b/crates/engine/tests/it/prompt_keywords.rs similarity index 100% rename from crates/engine/tests/prompt_keywords.rs rename to crates/engine/tests/it/prompt_keywords.rs diff --git a/crates/engine/tests/props_bad_lineweight.rs b/crates/engine/tests/it/props_bad_lineweight.rs similarity index 100% rename from crates/engine/tests/props_bad_lineweight.rs rename to crates/engine/tests/it/props_bad_lineweight.rs diff --git a/crates/engine/tests/props_insert_scale_attribs.rs b/crates/engine/tests/it/props_insert_scale_attribs.rs similarity index 100% rename from crates/engine/tests/props_insert_scale_attribs.rs rename to crates/engine/tests/it/props_insert_scale_attribs.rs diff --git a/crates/engine/tests/purge_mlinestyles.rs b/crates/engine/tests/it/purge_mlinestyles.rs similarity index 100% rename from crates/engine/tests/purge_mlinestyles.rs rename to crates/engine/tests/it/purge_mlinestyles.rs diff --git a/crates/engine/tests/purge_prompts.rs b/crates/engine/tests/it/purge_prompts.rs similarity index 100% rename from crates/engine/tests/purge_prompts.rs rename to crates/engine/tests/it/purge_prompts.rs diff --git a/crates/engine/tests/qdim.rs b/crates/engine/tests/it/qdim.rs similarity index 100% rename from crates/engine/tests/qdim.rs rename to crates/engine/tests/it/qdim.rs diff --git a/crates/engine/tests/qdim_modes.rs b/crates/engine/tests/it/qdim_modes.rs similarity index 100% rename from crates/engine/tests/qdim_modes.rs rename to crates/engine/tests/it/qdim_modes.rs diff --git a/crates/engine/tests/query_entities.rs b/crates/engine/tests/it/query_entities.rs similarity index 100% rename from crates/engine/tests/query_entities.rs rename to crates/engine/tests/it/query_entities.rs diff --git a/crates/engine/tests/quickcalc.rs b/crates/engine/tests/it/quickcalc.rs similarity index 100% rename from crates/engine/tests/quickcalc.rs rename to crates/engine/tests/it/quickcalc.rs diff --git a/crates/engine/tests/recent_commands.rs b/crates/engine/tests/it/recent_commands.rs similarity index 100% rename from crates/engine/tests/recent_commands.rs rename to crates/engine/tests/it/recent_commands.rs diff --git a/crates/engine/tests/rectang_ortho.rs b/crates/engine/tests/it/rectang_ortho.rs similarity index 100% rename from crates/engine/tests/rectang_ortho.rs rename to crates/engine/tests/it/rectang_ortho.rs diff --git a/crates/engine/tests/refedit.rs b/crates/engine/tests/it/refedit.rs similarity index 100% rename from crates/engine/tests/refedit.rs rename to crates/engine/tests/it/refedit.rs diff --git a/crates/engine/tests/region.rs b/crates/engine/tests/it/region.rs similarity index 100% rename from crates/engine/tests/region.rs rename to crates/engine/tests/it/region.rs diff --git a/crates/engine/tests/rename_cmdline.rs b/crates/engine/tests/it/rename_cmdline.rs similarity index 100% rename from crates/engine/tests/rename_cmdline.rs rename to crates/engine/tests/it/rename_cmdline.rs diff --git a/crates/engine/tests/rotate_reference.rs b/crates/engine/tests/it/rotate_reference.rs similarity index 100% rename from crates/engine/tests/rotate_reference.rs rename to crates/engine/tests/it/rotate_reference.rs diff --git a/crates/engine/tests/select_keywords.rs b/crates/engine/tests/it/select_keywords.rs similarity index 100% rename from crates/engine/tests/select_keywords.rs rename to crates/engine/tests/it/select_keywords.rs diff --git a/crates/engine/tests/select_similar.rs b/crates/engine/tests/it/select_similar.rs similarity index 100% rename from crates/engine/tests/select_similar.rs rename to crates/engine/tests/it/select_similar.rs diff --git a/crates/engine/tests/select_underscore_keywords.rs b/crates/engine/tests/it/select_underscore_keywords.rs similarity index 100% rename from crates/engine/tests/select_underscore_keywords.rs rename to crates/engine/tests/it/select_underscore_keywords.rs diff --git a/crates/engine/tests/selection_cycling.rs b/crates/engine/tests/it/selection_cycling.rs similarity index 100% rename from crates/engine/tests/selection_cycling.rs rename to crates/engine/tests/it/selection_cycling.rs diff --git a/crates/engine/tests/selection_modes.rs b/crates/engine/tests/it/selection_modes.rs similarity index 100% rename from crates/engine/tests/selection_modes.rs rename to crates/engine/tests/it/selection_modes.rs diff --git a/crates/engine/tests/setvar_coverage.rs b/crates/engine/tests/it/setvar_coverage.rs similarity index 100% rename from crates/engine/tests/setvar_coverage.rs rename to crates/engine/tests/it/setvar_coverage.rs diff --git a/crates/engine/tests/shapes.rs b/crates/engine/tests/it/shapes.rs similarity index 100% rename from crates/engine/tests/shapes.rs rename to crates/engine/tests/it/shapes.rs diff --git a/crates/engine/tests/snap_annotations.rs b/crates/engine/tests/it/snap_annotations.rs similarity index 100% rename from crates/engine/tests/snap_annotations.rs rename to crates/engine/tests/it/snap_annotations.rs diff --git a/crates/engine/tests/snap_blocks.rs b/crates/engine/tests/it/snap_blocks.rs similarity index 100% rename from crates/engine/tests/snap_blocks.rs rename to crates/engine/tests/it/snap_blocks.rs diff --git a/crates/engine/tests/snap_curves.rs b/crates/engine/tests/it/snap_curves.rs similarity index 100% rename from crates/engine/tests/snap_curves.rs rename to crates/engine/tests/it/snap_curves.rs diff --git a/crates/engine/tests/snap_intersections_aperture.rs b/crates/engine/tests/it/snap_intersections_aperture.rs similarity index 100% rename from crates/engine/tests/snap_intersections_aperture.rs rename to crates/engine/tests/it/snap_intersections_aperture.rs diff --git a/crates/engine/tests/snap_nearest.rs b/crates/engine/tests/it/snap_nearest.rs similarity index 100% rename from crates/engine/tests/snap_nearest.rs rename to crates/engine/tests/it/snap_nearest.rs diff --git a/crates/engine/tests/snap_overrides.rs b/crates/engine/tests/it/snap_overrides.rs similarity index 100% rename from crates/engine/tests/snap_overrides.rs rename to crates/engine/tests/it/snap_overrides.rs diff --git a/crates/engine/tests/snap_tracking.rs b/crates/engine/tests/it/snap_tracking.rs similarity index 100% rename from crates/engine/tests/snap_tracking.rs rename to crates/engine/tests/it/snap_tracking.rs diff --git a/crates/engine/tests/snaps_more.rs b/crates/engine/tests/it/snaps_more.rs similarity index 100% rename from crates/engine/tests/snaps_more.rs rename to crates/engine/tests/it/snaps_more.rs diff --git a/crates/engine/tests/space_is_enter.rs b/crates/engine/tests/it/space_is_enter.rs similarity index 100% rename from crates/engine/tests/space_is_enter.rs rename to crates/engine/tests/it/space_is_enter.rs diff --git a/crates/engine/tests/spline_degree.rs b/crates/engine/tests/it/spline_degree.rs similarity index 100% rename from crates/engine/tests/spline_degree.rs rename to crates/engine/tests/it/spline_degree.rs diff --git a/crates/engine/tests/spline_options.rs b/crates/engine/tests/it/spline_options.rs similarity index 100% rename from crates/engine/tests/spline_options.rs rename to crates/engine/tests/it/spline_options.rs diff --git a/crates/engine/tests/stretch.rs b/crates/engine/tests/it/stretch.rs similarity index 100% rename from crates/engine/tests/stretch.rs rename to crates/engine/tests/it/stretch.rs diff --git a/crates/engine/tests/stretch_select.rs b/crates/engine/tests/it/stretch_select.rs similarity index 100% rename from crates/engine/tests/stretch_select.rs rename to crates/engine/tests/it/stretch_select.rs diff --git a/crates/engine/tests/table_formulas.rs b/crates/engine/tests/it/table_formulas.rs similarity index 100% rename from crates/engine/tests/table_formulas.rs rename to crates/engine/tests/it/table_formulas.rs diff --git a/crates/engine/tests/table_styles.rs b/crates/engine/tests/it/table_styles.rs similarity index 100% rename from crates/engine/tests/table_styles.rs rename to crates/engine/tests/it/table_styles.rs diff --git a/crates/engine/tests/temp_tracking.rs b/crates/engine/tests/it/temp_tracking.rs similarity index 100% rename from crates/engine/tests/temp_tracking.rs rename to crates/engine/tests/it/temp_tracking.rs diff --git a/crates/engine/tests/text_commands.rs b/crates/engine/tests/it/text_commands.rs similarity index 100% rename from crates/engine/tests/text_commands.rs rename to crates/engine/tests/it/text_commands.rs diff --git a/crates/engine/tests/text_left_justify.rs b/crates/engine/tests/it/text_left_justify.rs similarity index 100% rename from crates/engine/tests/text_left_justify.rs rename to crates/engine/tests/it/text_left_justify.rs diff --git a/crates/engine/tests/tolerance.rs b/crates/engine/tests/it/tolerance.rs similarity index 100% rename from crates/engine/tests/tolerance.rs rename to crates/engine/tests/it/tolerance.rs diff --git a/crates/engine/tests/transparent.rs b/crates/engine/tests/it/transparent.rs similarity index 100% rename from crates/engine/tests/transparent.rs rename to crates/engine/tests/it/transparent.rs diff --git a/crates/engine/tests/trim_closed_polyline.rs b/crates/engine/tests/it/trim_closed_polyline.rs similarity index 100% rename from crates/engine/tests/trim_closed_polyline.rs rename to crates/engine/tests/it/trim_closed_polyline.rs diff --git a/crates/engine/tests/trim_extend_options.rs b/crates/engine/tests/it/trim_extend_options.rs similarity index 100% rename from crates/engine/tests/trim_extend_options.rs rename to crates/engine/tests/it/trim_extend_options.rs diff --git a/crates/engine/tests/undo_count.rs b/crates/engine/tests/it/undo_count.rs similarity index 100% rename from crates/engine/tests/undo_count.rs rename to crates/engine/tests/it/undo_count.rs diff --git a/crates/engine/tests/undo_layout_tab.rs b/crates/engine/tests/it/undo_layout_tab.rs similarity index 100% rename from crates/engine/tests/undo_layout_tab.rs rename to crates/engine/tests/it/undo_layout_tab.rs diff --git a/crates/engine/tests/viewport_clip.rs b/crates/engine/tests/it/viewport_clip.rs similarity index 100% rename from crates/engine/tests/viewport_clip.rs rename to crates/engine/tests/it/viewport_clip.rs diff --git a/crates/engine/tests/vplayer_prompts.rs b/crates/engine/tests/it/vplayer_prompts.rs similarity index 100% rename from crates/engine/tests/vplayer_prompts.rs rename to crates/engine/tests/it/vplayer_prompts.rs diff --git a/crates/engine/tests/vports.rs b/crates/engine/tests/it/vports.rs similarity index 100% rename from crates/engine/tests/vports.rs rename to crates/engine/tests/it/vports.rs diff --git a/crates/engine/tests/xdata_follows_entity.rs b/crates/engine/tests/it/xdata_follows_entity.rs similarity index 100% rename from crates/engine/tests/xdata_follows_entity.rs rename to crates/engine/tests/it/xdata_follows_entity.rs diff --git a/crates/engine/tests/zoom_keywords.rs b/crates/engine/tests/it/zoom_keywords.rs similarity index 100% rename from crates/engine/tests/zoom_keywords.rs rename to crates/engine/tests/it/zoom_keywords.rs diff --git a/crates/engine/tests/zoom_viewport.rs b/crates/engine/tests/it/zoom_viewport.rs similarity index 100% rename from crates/engine/tests/zoom_viewport.rs rename to crates/engine/tests/it/zoom_viewport.rs diff --git a/crates/engine/tests/zoom_window_ortho.rs b/crates/engine/tests/it/zoom_window_ortho.rs similarity index 100% rename from crates/engine/tests/zoom_window_ortho.rs rename to crates/engine/tests/it/zoom_window_ortho.rs diff --git a/crates/io/tests/acad_interop.rs b/crates/io/tests/it/acad_interop.rs similarity index 100% rename from crates/io/tests/acad_interop.rs rename to crates/io/tests/it/acad_interop.rs diff --git a/crates/io/tests/acis_data_store.rs b/crates/io/tests/it/acis_data_store.rs similarity index 99% rename from crates/io/tests/acis_data_store.rs rename to crates/io/tests/it/acis_data_store.rs index 137b31f2a..74b9809ce 100644 --- a/crates/io/tests/acis_data_store.rs +++ b/crates/io/tests/it/acis_data_store.rs @@ -2,7 +2,6 @@ //! don't carry it themselves: it lives in the file's data store section (ACDSDATA), one record per //! entity bound by a 320 handle. CADCraft doesn't model solids, so it keeps the section as read and //! writes it back (and the DWG bridge reads it), without the records of deleted entities. -#![cfg(not(target_arch = "wasm32"))] use cadcraft_doc::EntityKind; diff --git a/crates/io/tests/angle_header.rs b/crates/io/tests/it/angle_header.rs similarity index 100% rename from crates/io/tests/angle_header.rs rename to crates/io/tests/it/angle_header.rs diff --git a/crates/io/tests/annotative_roundtrip.rs b/crates/io/tests/it/annotative_roundtrip.rs similarity index 100% rename from crates/io/tests/annotative_roundtrip.rs rename to crates/io/tests/it/annotative_roundtrip.rs diff --git a/crates/io/tests/assoc_array_roundtrip.rs b/crates/io/tests/it/assoc_array_roundtrip.rs similarity index 100% rename from crates/io/tests/assoc_array_roundtrip.rs rename to crates/io/tests/it/assoc_array_roundtrip.rs diff --git a/crates/io/tests/attrib_modes.rs b/crates/io/tests/it/attrib_modes.rs similarity index 100% rename from crates/io/tests/attrib_modes.rs rename to crates/io/tests/it/attrib_modes.rs diff --git a/crates/io/tests/attrib_props.rs b/crates/io/tests/it/attrib_props.rs similarity index 100% rename from crates/io/tests/attrib_props.rs rename to crates/io/tests/it/attrib_props.rs diff --git a/crates/io/tests/block_expansion.rs b/crates/io/tests/it/block_expansion.rs similarity index 100% rename from crates/io/tests/block_expansion.rs rename to crates/io/tests/it/block_expansion.rs diff --git a/crates/io/tests/closed_spline.rs b/crates/io/tests/it/closed_spline.rs similarity index 100% rename from crates/io/tests/closed_spline.rs rename to crates/io/tests/it/closed_spline.rs diff --git a/crates/io/tests/codepages.rs b/crates/io/tests/it/codepages.rs similarity index 100% rename from crates/io/tests/codepages.rs rename to crates/io/tests/it/codepages.rs diff --git a/crates/io/tests/dim_block_resave_roundtrip.rs b/crates/io/tests/it/dim_block_resave_roundtrip.rs similarity index 100% rename from crates/io/tests/dim_block_resave_roundtrip.rs rename to crates/io/tests/it/dim_block_resave_roundtrip.rs diff --git a/crates/io/tests/dim_block_text.rs b/crates/io/tests/it/dim_block_text.rs similarity index 100% rename from crates/io/tests/dim_block_text.rs rename to crates/io/tests/it/dim_block_text.rs diff --git a/crates/io/tests/dim_marks_roundtrip.rs b/crates/io/tests/it/dim_marks_roundtrip.rs similarity index 100% rename from crates/io/tests/dim_marks_roundtrip.rs rename to crates/io/tests/it/dim_marks_roundtrip.rs diff --git a/crates/io/tests/dimstyle_vars_roundtrip.rs b/crates/io/tests/it/dimstyle_vars_roundtrip.rs similarity index 100% rename from crates/io/tests/dimstyle_vars_roundtrip.rs rename to crates/io/tests/it/dimstyle_vars_roundtrip.rs diff --git a/crates/io/tests/drafting_spacing.rs b/crates/io/tests/it/drafting_spacing.rs similarity index 100% rename from crates/io/tests/drafting_spacing.rs rename to crates/io/tests/it/drafting_spacing.rs diff --git a/crates/io/tests/dwg_header_vars.rs b/crates/io/tests/it/dwg_header_vars.rs similarity index 98% rename from crates/io/tests/dwg_header_vars.rs rename to crates/io/tests/it/dwg_header_vars.rs index 178a5d274..d1850278f 100644 --- a/crates/io/tests/dwg_header_vars.rs +++ b/crates/io/tests/it/dwg_header_vars.rs @@ -1,7 +1,6 @@ //! Unit, angle and drafting settings in the drawing header survive saving as DXF or DWG and //! reopening. The DWG bridge converts with acadrust, whose DXF writer leaves some header //! variables out; the snap grid's origin and rotation live in the `*ACTIVE` VPORT record. -#![cfg(not(target_arch = "wasm32"))] use cadcraft_doc::{Drawing, HVal}; use cadcraft_geom::Vec3; diff --git a/crates/io/tests/dwg_layout_owner.rs b/crates/io/tests/it/dwg_layout_owner.rs similarity index 100% rename from crates/io/tests/dwg_layout_owner.rs rename to crates/io/tests/it/dwg_layout_owner.rs diff --git a/crates/io/tests/dwg_roundtrip_losses.rs b/crates/io/tests/it/dwg_roundtrip_losses.rs similarity index 99% rename from crates/io/tests/dwg_roundtrip_losses.rs rename to crates/io/tests/it/dwg_roundtrip_losses.rs index 813ae6593..c0852eff1 100644 --- a/crates/io/tests/dwg_roundtrip_losses.rs +++ b/crates/io/tests/it/dwg_roundtrip_losses.rs @@ -1,6 +1,5 @@ //! Data that used to be lost only when a drawing is saved as DWG and reopened (the DWG bridge //! converts our DXF with acadrust), and the paper-space viewport the DXF writer adds for it. -#![cfg(not(target_arch = "wasm32"))] use cadcraft_color::{Color, Rgb}; use cadcraft_doc::*; diff --git a/crates/io/tests/dwt_template.rs b/crates/io/tests/it/dwt_template.rs similarity index 100% rename from crates/io/tests/dwt_template.rs rename to crates/io/tests/it/dwt_template.rs diff --git a/crates/io/tests/dxf_versions.rs b/crates/io/tests/it/dxf_versions.rs similarity index 100% rename from crates/io/tests/dxf_versions.rs rename to crates/io/tests/it/dxf_versions.rs diff --git a/crates/io/tests/dynblock_read.rs b/crates/io/tests/it/dynblock_read.rs similarity index 99% rename from crates/io/tests/dynblock_read.rs rename to crates/io/tests/it/dynblock_read.rs index 3d7569d3d..d265f9e70 100644 --- a/crates/io/tests/dynblock_read.rs +++ b/crates/io/tests/it/dynblock_read.rs @@ -22,7 +22,7 @@ fn dxf(src: &str) -> String { /// The DOOR drawing as `code value` lines (shared with the engine's dynamic grip tests), with /// LF line ends whatever a checkout gave the file. fn fixture() -> String { - include_str!("data/dynblock_door.txt").replace("\r\n", "\n") + include_str!("../data/dynblock_door.txt").replace("\r\n", "\n") } fn h(hex: &str) -> Handle { diff --git a/crates/io/tests/entity_props_roundtrip.rs b/crates/io/tests/it/entity_props_roundtrip.rs similarity index 100% rename from crates/io/tests/entity_props_roundtrip.rs rename to crates/io/tests/it/entity_props_roundtrip.rs diff --git a/crates/io/tests/followups_626.rs b/crates/io/tests/it/followups_626.rs similarity index 100% rename from crates/io/tests/followups_626.rs rename to crates/io/tests/it/followups_626.rs diff --git a/crates/io/tests/groups_roundtrip.rs b/crates/io/tests/it/groups_roundtrip.rs similarity index 100% rename from crates/io/tests/groups_roundtrip.rs rename to crates/io/tests/it/groups_roundtrip.rs diff --git a/crates/io/tests/hatch_assoc_roundtrip.rs b/crates/io/tests/it/hatch_assoc_roundtrip.rs similarity index 100% rename from crates/io/tests/hatch_assoc_roundtrip.rs rename to crates/io/tests/it/hatch_assoc_roundtrip.rs diff --git a/crates/io/tests/hatch_pattern_def.rs b/crates/io/tests/it/hatch_pattern_def.rs similarity index 100% rename from crates/io/tests/hatch_pattern_def.rs rename to crates/io/tests/it/hatch_pattern_def.rs diff --git a/crates/io/tests/helix_roundtrip.rs b/crates/io/tests/it/helix_roundtrip.rs similarity index 100% rename from crates/io/tests/helix_roundtrip.rs rename to crates/io/tests/it/helix_roundtrip.rs diff --git a/crates/io/tests/layout_paper_units.rs b/crates/io/tests/it/layout_paper_units.rs similarity index 100% rename from crates/io/tests/layout_paper_units.rs rename to crates/io/tests/it/layout_paper_units.rs diff --git a/crates/io/tests/layout_plot_window.rs b/crates/io/tests/it/layout_plot_window.rs similarity index 100% rename from crates/io/tests/layout_plot_window.rs rename to crates/io/tests/it/layout_plot_window.rs diff --git a/crates/io/tests/low_handseed.rs b/crates/io/tests/it/low_handseed.rs similarity index 98% rename from crates/io/tests/low_handseed.rs rename to crates/io/tests/it/low_handseed.rs index 6b7a9e09c..fbc1a77b6 100644 --- a/crates/io/tests/low_handseed.rs +++ b/crates/io/tests/it/low_handseed.rs @@ -1,7 +1,6 @@ //! Another program's file can name a $HANDSEED below handles it uses. Entities CADCraft makes //! while reading (the faces a polyface mesh becomes) must not take handles that records further //! on still have: a DWG keeps one object per handle, so the duplicates were lost on save. -#![cfg(not(target_arch = "wasm32"))] use std::collections::HashSet; diff --git a/crates/io/tests/it/main.rs b/crates/io/tests/it/main.rs new file mode 100644 index 000000000..1b1462ae5 --- /dev/null +++ b/crates/io/tests/it/main.rs @@ -0,0 +1,67 @@ +mod acad_interop; +#[cfg(not(target_arch = "wasm32"))] +mod acis_data_store; +mod angle_header; +mod annotative_roundtrip; +mod assoc_array_roundtrip; +mod attrib_modes; +mod attrib_props; +mod block_expansion; +mod closed_spline; +mod codepages; +mod dim_block_resave_roundtrip; +mod dim_block_text; +mod dim_marks_roundtrip; +mod dimstyle_vars_roundtrip; +mod drafting_spacing; +#[cfg(not(target_arch = "wasm32"))] +mod dwg_header_vars; +mod dwg_layout_owner; +#[cfg(not(target_arch = "wasm32"))] +mod dwg_roundtrip_losses; +mod dwt_template; +mod dxf_versions; +mod dynblock_read; +mod entity_props_roundtrip; +mod followups_626; +mod groups_roundtrip; +mod hatch_assoc_roundtrip; +mod hatch_pattern_def; +mod helix_roundtrip; +mod layout_paper_units; +mod layout_plot_window; +#[cfg(not(target_arch = "wasm32"))] +mod low_handseed; +mod mleader_content; +mod mleader_roundtrip; +mod mline_roundtrip; +#[cfg(not(target_arch = "wasm32"))] +mod model_layout_plot_type; +mod mtext_columns_roundtrip; +mod mtext_embedded_object; +mod mtext_line_spacing; +mod multiline_attributes; +mod paperview_marker; +mod passthrough_image_roundtrip; +mod pdf_followups; +mod pdf_layers; +mod plot_layout_scale; +mod plot_model_png_scale; +mod plot_styles; +mod region_roundtrip; +mod roundtrip_audit; +mod skipped_records; +mod sortents; +mod spline_fit_data; +mod split_entities_section; +mod style_typeface; +mod svg_arc_budget; +mod svg_tiny_extents; +mod table_cellstyle_roundtrip; +mod tables_objects_roundtrip; +mod text_left_justify; +mod tolerance_roundtrip; +mod user_lin_pat_roundtrip; +mod view_tables_roundtrip; +mod viewport_clip_roundtrip; +mod xref_roundtrip; diff --git a/crates/io/tests/mleader_content.rs b/crates/io/tests/it/mleader_content.rs similarity index 100% rename from crates/io/tests/mleader_content.rs rename to crates/io/tests/it/mleader_content.rs diff --git a/crates/io/tests/mleader_roundtrip.rs b/crates/io/tests/it/mleader_roundtrip.rs similarity index 100% rename from crates/io/tests/mleader_roundtrip.rs rename to crates/io/tests/it/mleader_roundtrip.rs diff --git a/crates/io/tests/mline_roundtrip.rs b/crates/io/tests/it/mline_roundtrip.rs similarity index 100% rename from crates/io/tests/mline_roundtrip.rs rename to crates/io/tests/it/mline_roundtrip.rs diff --git a/crates/io/tests/model_layout_plot_type.rs b/crates/io/tests/it/model_layout_plot_type.rs similarity index 98% rename from crates/io/tests/model_layout_plot_type.rs rename to crates/io/tests/it/model_layout_plot_type.rs index 3de6380e5..55c6d62a8 100644 --- a/crates/io/tests/model_layout_plot_type.rs +++ b/crates/io/tests/it/model_layout_plot_type.rs @@ -2,7 +2,6 @@ //! fitted to the paper. Plot type 5 ("Layout information", DXF Reference, PLOTSETTINGS group 74) //! means nothing for model space; another program's Plot dialog then showed no plot area and no //! scale for Model. -#![cfg(not(target_arch = "wasm32"))] use cadcraft_doc::*; use cadcraft_geom::Vec3; diff --git a/crates/io/tests/mtext_columns_roundtrip.rs b/crates/io/tests/it/mtext_columns_roundtrip.rs similarity index 100% rename from crates/io/tests/mtext_columns_roundtrip.rs rename to crates/io/tests/it/mtext_columns_roundtrip.rs diff --git a/crates/io/tests/mtext_embedded_object.rs b/crates/io/tests/it/mtext_embedded_object.rs similarity index 100% rename from crates/io/tests/mtext_embedded_object.rs rename to crates/io/tests/it/mtext_embedded_object.rs diff --git a/crates/io/tests/mtext_line_spacing.rs b/crates/io/tests/it/mtext_line_spacing.rs similarity index 100% rename from crates/io/tests/mtext_line_spacing.rs rename to crates/io/tests/it/mtext_line_spacing.rs diff --git a/crates/io/tests/multiline_attributes.rs b/crates/io/tests/it/multiline_attributes.rs similarity index 100% rename from crates/io/tests/multiline_attributes.rs rename to crates/io/tests/it/multiline_attributes.rs diff --git a/crates/io/tests/paperview_marker.rs b/crates/io/tests/it/paperview_marker.rs similarity index 100% rename from crates/io/tests/paperview_marker.rs rename to crates/io/tests/it/paperview_marker.rs diff --git a/crates/io/tests/passthrough_image_roundtrip.rs b/crates/io/tests/it/passthrough_image_roundtrip.rs similarity index 100% rename from crates/io/tests/passthrough_image_roundtrip.rs rename to crates/io/tests/it/passthrough_image_roundtrip.rs diff --git a/crates/io/tests/pdf_followups.rs b/crates/io/tests/it/pdf_followups.rs similarity index 100% rename from crates/io/tests/pdf_followups.rs rename to crates/io/tests/it/pdf_followups.rs diff --git a/crates/io/tests/pdf_layers.rs b/crates/io/tests/it/pdf_layers.rs similarity index 100% rename from crates/io/tests/pdf_layers.rs rename to crates/io/tests/it/pdf_layers.rs diff --git a/crates/io/tests/plot_layout_scale.rs b/crates/io/tests/it/plot_layout_scale.rs similarity index 100% rename from crates/io/tests/plot_layout_scale.rs rename to crates/io/tests/it/plot_layout_scale.rs diff --git a/crates/io/tests/plot_model_png_scale.rs b/crates/io/tests/it/plot_model_png_scale.rs similarity index 100% rename from crates/io/tests/plot_model_png_scale.rs rename to crates/io/tests/it/plot_model_png_scale.rs diff --git a/crates/io/tests/plot_styles.rs b/crates/io/tests/it/plot_styles.rs similarity index 100% rename from crates/io/tests/plot_styles.rs rename to crates/io/tests/it/plot_styles.rs diff --git a/crates/io/tests/region_roundtrip.rs b/crates/io/tests/it/region_roundtrip.rs similarity index 100% rename from crates/io/tests/region_roundtrip.rs rename to crates/io/tests/it/region_roundtrip.rs diff --git a/crates/io/tests/roundtrip_audit.rs b/crates/io/tests/it/roundtrip_audit.rs similarity index 100% rename from crates/io/tests/roundtrip_audit.rs rename to crates/io/tests/it/roundtrip_audit.rs diff --git a/crates/io/tests/skipped_records.rs b/crates/io/tests/it/skipped_records.rs similarity index 100% rename from crates/io/tests/skipped_records.rs rename to crates/io/tests/it/skipped_records.rs diff --git a/crates/io/tests/sortents.rs b/crates/io/tests/it/sortents.rs similarity index 100% rename from crates/io/tests/sortents.rs rename to crates/io/tests/it/sortents.rs diff --git a/crates/io/tests/spline_fit_data.rs b/crates/io/tests/it/spline_fit_data.rs similarity index 100% rename from crates/io/tests/spline_fit_data.rs rename to crates/io/tests/it/spline_fit_data.rs diff --git a/crates/io/tests/split_entities_section.rs b/crates/io/tests/it/split_entities_section.rs similarity index 100% rename from crates/io/tests/split_entities_section.rs rename to crates/io/tests/it/split_entities_section.rs diff --git a/crates/io/tests/style_typeface.rs b/crates/io/tests/it/style_typeface.rs similarity index 100% rename from crates/io/tests/style_typeface.rs rename to crates/io/tests/it/style_typeface.rs diff --git a/crates/io/tests/svg_arc_budget.rs b/crates/io/tests/it/svg_arc_budget.rs similarity index 100% rename from crates/io/tests/svg_arc_budget.rs rename to crates/io/tests/it/svg_arc_budget.rs diff --git a/crates/io/tests/svg_tiny_extents.rs b/crates/io/tests/it/svg_tiny_extents.rs similarity index 100% rename from crates/io/tests/svg_tiny_extents.rs rename to crates/io/tests/it/svg_tiny_extents.rs diff --git a/crates/io/tests/table_cellstyle_roundtrip.rs b/crates/io/tests/it/table_cellstyle_roundtrip.rs similarity index 100% rename from crates/io/tests/table_cellstyle_roundtrip.rs rename to crates/io/tests/it/table_cellstyle_roundtrip.rs diff --git a/crates/io/tests/tables_objects_roundtrip.rs b/crates/io/tests/it/tables_objects_roundtrip.rs similarity index 100% rename from crates/io/tests/tables_objects_roundtrip.rs rename to crates/io/tests/it/tables_objects_roundtrip.rs diff --git a/crates/io/tests/text_left_justify.rs b/crates/io/tests/it/text_left_justify.rs similarity index 100% rename from crates/io/tests/text_left_justify.rs rename to crates/io/tests/it/text_left_justify.rs diff --git a/crates/io/tests/tolerance_roundtrip.rs b/crates/io/tests/it/tolerance_roundtrip.rs similarity index 100% rename from crates/io/tests/tolerance_roundtrip.rs rename to crates/io/tests/it/tolerance_roundtrip.rs diff --git a/crates/io/tests/user_lin_pat_roundtrip.rs b/crates/io/tests/it/user_lin_pat_roundtrip.rs similarity index 100% rename from crates/io/tests/user_lin_pat_roundtrip.rs rename to crates/io/tests/it/user_lin_pat_roundtrip.rs diff --git a/crates/io/tests/view_tables_roundtrip.rs b/crates/io/tests/it/view_tables_roundtrip.rs similarity index 100% rename from crates/io/tests/view_tables_roundtrip.rs rename to crates/io/tests/it/view_tables_roundtrip.rs diff --git a/crates/io/tests/viewport_clip_roundtrip.rs b/crates/io/tests/it/viewport_clip_roundtrip.rs similarity index 100% rename from crates/io/tests/viewport_clip_roundtrip.rs rename to crates/io/tests/it/viewport_clip_roundtrip.rs diff --git a/crates/io/tests/xref_roundtrip.rs b/crates/io/tests/it/xref_roundtrip.rs similarity index 100% rename from crates/io/tests/xref_roundtrip.rs rename to crates/io/tests/it/xref_roundtrip.rs diff --git a/crates/mcp/tests/cmdline_key.rs b/crates/mcp/tests/it/cmdline_key.rs similarity index 94% rename from crates/mcp/tests/cmdline_key.rs rename to crates/mcp/tests/it/cmdline_key.rs index 77486e665..0f074beb2 100644 --- a/crates/mcp/tests/cmdline_key.rs +++ b/crates/mcp/tests/it/cmdline_key.rs @@ -1,5 +1,5 @@ //! The headless backend answers `cmdline.key` like `cmdline.input` and like the app's control -//! channel (`crates/ui-egui/tests/control_cmdline_key.rs`): a refused Enter is echoed and reported +//! channel (`crates/ui-egui/tests/it/control_cmdline_key.rs`): a refused Enter is echoed and reported //! in `error`, and the call itself succeeds. use cadcraft_mcp::{Backend, Headless}; diff --git a/crates/mcp/tests/cmdline_parity.rs b/crates/mcp/tests/it/cmdline_parity.rs similarity index 97% rename from crates/mcp/tests/cmdline_parity.rs rename to crates/mcp/tests/it/cmdline_parity.rs index deaaa29fe..27209b570 100644 --- a/crates/mcp/tests/cmdline_parity.rs +++ b/crates/mcp/tests/it/cmdline_parity.rs @@ -1,5 +1,5 @@ //! The headless backend answers `cmdline.input` and `app.open` with the same reply shape as the -//! app's control channel (`cadcraft_ui_egui::control`, tested in `crates/ui-egui/tests/control_cmdline.rs`). +//! app's control channel (`cadcraft_ui_egui::control`, tested in `crates/ui-egui/tests/it/control_cmdline.rs`). use cadcraft_mcp::{Backend, Headless}; use serde_json::{Value, json}; diff --git a/crates/mcp/tests/control_methods.rs b/crates/mcp/tests/it/control_methods.rs similarity index 94% rename from crates/mcp/tests/control_methods.rs rename to crates/mcp/tests/it/control_methods.rs index da2727f13..f2f1ce037 100644 --- a/crates/mcp/tests/control_methods.rs +++ b/crates/mcp/tests/it/control_methods.rs @@ -1,5 +1,5 @@ //! The headless backend's `control.methods` lists the methods it answers, all of them documented -//! in `docs/control-protocol.md` (the app's list is tested in `crates/ui-egui/tests/control_methods.rs`). +//! in `docs/control-protocol.md` (the app's list is tested in `crates/ui-egui/tests/it/control_methods.rs`). use std::collections::BTreeSet; @@ -7,7 +7,7 @@ use cadcraft_mcp::{Backend, Headless}; use serde_json::json; fn documented() -> BTreeSet { - let doc = include_str!("../../../docs/control-protocol.md"); + let doc = include_str!("../../../../docs/control-protocol.md"); let table = doc.lines().skip_while(|l| !l.starts_with("| Method |")).skip(2).take_while(|l| l.starts_with('|')); table.filter_map(|l| l.split('|').nth(1)).flat_map(|cell| cell.split('`').skip(1).step_by(2).map(str::to_string).collect::>()).collect() } diff --git a/crates/mcp/tests/it/main.rs b/crates/mcp/tests/it/main.rs new file mode 100644 index 000000000..850725748 --- /dev/null +++ b/crates/mcp/tests/it/main.rs @@ -0,0 +1,3 @@ +mod cmdline_key; +mod cmdline_parity; +mod control_methods; diff --git a/crates/render/tests/aci7_display.rs b/crates/render/tests/it/aci7_display.rs similarity index 100% rename from crates/render/tests/aci7_display.rs rename to crates/render/tests/it/aci7_display.rs diff --git a/crates/render/tests/annotative_viewport.rs b/crates/render/tests/it/annotative_viewport.rs similarity index 100% rename from crates/render/tests/annotative_viewport.rs rename to crates/render/tests/it/annotative_viewport.rs diff --git a/crates/render/tests/dim_angular_centre.rs b/crates/render/tests/it/dim_angular_centre.rs similarity index 100% rename from crates/render/tests/dim_angular_centre.rs rename to crates/render/tests/it/dim_angular_centre.rs diff --git a/crates/render/tests/dim_post_tolerance.rs b/crates/render/tests/it/dim_post_tolerance.rs similarity index 100% rename from crates/render/tests/dim_post_tolerance.rs rename to crates/render/tests/it/dim_post_tolerance.rs diff --git a/crates/render/tests/dim_text_format.rs b/crates/render/tests/it/dim_text_format.rs similarity index 100% rename from crates/render/tests/dim_text_format.rs rename to crates/render/tests/it/dim_text_format.rs diff --git a/crates/render/tests/hatch_fill.rs b/crates/render/tests/it/hatch_fill.rs similarity index 100% rename from crates/render/tests/hatch_fill.rs rename to crates/render/tests/it/hatch_fill.rs diff --git a/crates/render/tests/linetype_text.rs b/crates/render/tests/it/linetype_text.rs similarity index 100% rename from crates/render/tests/linetype_text.rs rename to crates/render/tests/it/linetype_text.rs diff --git a/crates/render/tests/lwdefault.rs b/crates/render/tests/it/lwdefault.rs similarity index 100% rename from crates/render/tests/lwdefault.rs rename to crates/render/tests/it/lwdefault.rs diff --git a/crates/render/tests/it/main.rs b/crates/render/tests/it/main.rs new file mode 100644 index 000000000..7469173d0 --- /dev/null +++ b/crates/render/tests/it/main.rs @@ -0,0 +1,17 @@ +mod aci7_display; +mod annotative_viewport; +mod dim_angular_centre; +mod dim_post_tolerance; +mod dim_text_format; +mod hatch_fill; +mod linetype_text; +mod lwdefault; +mod plot_line_styles; +mod plot_styles; +mod point_style; +mod psltscale; +mod raster_points; +mod render_props; +mod viewport_frozen_layer; +mod wide_pline_linetype; +mod wipeout_mask; diff --git a/crates/render/tests/plot_line_styles.rs b/crates/render/tests/it/plot_line_styles.rs similarity index 100% rename from crates/render/tests/plot_line_styles.rs rename to crates/render/tests/it/plot_line_styles.rs diff --git a/crates/render/tests/plot_styles.rs b/crates/render/tests/it/plot_styles.rs similarity index 100% rename from crates/render/tests/plot_styles.rs rename to crates/render/tests/it/plot_styles.rs diff --git a/crates/render/tests/point_style.rs b/crates/render/tests/it/point_style.rs similarity index 100% rename from crates/render/tests/point_style.rs rename to crates/render/tests/it/point_style.rs diff --git a/crates/render/tests/psltscale.rs b/crates/render/tests/it/psltscale.rs similarity index 100% rename from crates/render/tests/psltscale.rs rename to crates/render/tests/it/psltscale.rs diff --git a/crates/render/tests/raster_points.rs b/crates/render/tests/it/raster_points.rs similarity index 100% rename from crates/render/tests/raster_points.rs rename to crates/render/tests/it/raster_points.rs diff --git a/crates/render/tests/render_props.rs b/crates/render/tests/it/render_props.rs similarity index 100% rename from crates/render/tests/render_props.rs rename to crates/render/tests/it/render_props.rs diff --git a/crates/render/tests/viewport_frozen_layer.rs b/crates/render/tests/it/viewport_frozen_layer.rs similarity index 100% rename from crates/render/tests/viewport_frozen_layer.rs rename to crates/render/tests/it/viewport_frozen_layer.rs diff --git a/crates/render/tests/wide_pline_linetype.rs b/crates/render/tests/it/wide_pline_linetype.rs similarity index 100% rename from crates/render/tests/wide_pline_linetype.rs rename to crates/render/tests/it/wide_pline_linetype.rs diff --git a/crates/render/tests/wipeout_mask.rs b/crates/render/tests/it/wipeout_mask.rs similarity index 100% rename from crates/render/tests/wipeout_mask.rs rename to crates/render/tests/it/wipeout_mask.rs diff --git a/crates/ui-egui/src/control.rs b/crates/ui-egui/src/control.rs index 03a35212f..bc6d23ef5 100644 --- a/crates/ui-egui/src/control.rs +++ b/crates/ui-egui/src/control.rs @@ -187,7 +187,7 @@ fn wrap(r: Result) -> Outcome { } /// What `control.methods` replies: method, params, description. Keep in step with `handle` and the -/// table in `docs/control-protocol.md` (`tests/control_methods.rs` checks the table). +/// table in `docs/control-protocol.md` (`tests/it/control_methods.rs` checks the table). const METHODS: &[(&str, &str, &str)] = &[ ("cmdline.input", "{text}", "Type a line at the command line exactly like a user (commands, prompts, keywords; empty = Enter)."), ("cmdline.script", "{text}", "Run a multi-line script, like a .scr file."), diff --git a/crates/ui-egui/tests/animation_effects.rs b/crates/ui-egui/tests/it/animation_effects.rs similarity index 100% rename from crates/ui-egui/tests/animation_effects.rs rename to crates/ui-egui/tests/it/animation_effects.rs diff --git a/crates/ui-egui/tests/chrome_geometry.rs b/crates/ui-egui/tests/it/chrome_geometry.rs similarity index 100% rename from crates/ui-egui/tests/chrome_geometry.rs rename to crates/ui-egui/tests/it/chrome_geometry.rs diff --git a/crates/ui-egui/tests/context_menu.rs b/crates/ui-egui/tests/it/context_menu.rs similarity index 100% rename from crates/ui-egui/tests/context_menu.rs rename to crates/ui-egui/tests/it/context_menu.rs diff --git a/crates/ui-egui/tests/context_menus.rs b/crates/ui-egui/tests/it/context_menus.rs similarity index 100% rename from crates/ui-egui/tests/context_menus.rs rename to crates/ui-egui/tests/it/context_menus.rs diff --git a/crates/ui-egui/tests/control_cmdline.rs b/crates/ui-egui/tests/it/control_cmdline.rs similarity index 98% rename from crates/ui-egui/tests/control_cmdline.rs rename to crates/ui-egui/tests/it/control_cmdline.rs index 0c723cf15..34a3f8cbe 100644 --- a/crates/ui-egui/tests/control_cmdline.rs +++ b/crates/ui-egui/tests/it/control_cmdline.rs @@ -1,5 +1,5 @@ //! The app's control channel answers `cmdline.input` and `app.open` with the same reply shape as -//! the headless MCP backend (`cadcraft_mcp::Headless`, tested in `crates/mcp/tests/cmdline_parity.rs`). +//! the headless MCP backend (`cadcraft_mcp::Headless`, tested in `crates/mcp/tests/it/cmdline_parity.rs`). use cadcraft_engine::Session; use cadcraft_ui_egui::control::{ControlRequest, Outcome, handle}; diff --git a/crates/ui-egui/tests/control_cmdline_key.rs b/crates/ui-egui/tests/it/control_cmdline_key.rs similarity index 95% rename from crates/ui-egui/tests/control_cmdline_key.rs rename to crates/ui-egui/tests/it/control_cmdline_key.rs index de02816d7..b3858ffa0 100644 --- a/crates/ui-egui/tests/control_cmdline_key.rs +++ b/crates/ui-egui/tests/it/control_cmdline_key.rs @@ -1,5 +1,5 @@ //! The app's control channel answers `cmdline.key` like `cmdline.input` and like the headless MCP -//! backend (`crates/mcp/tests/cmdline_key.rs`): a refused Enter is echoed and reported in `error`. +//! backend (`crates/mcp/tests/it/cmdline_key.rs`): a refused Enter is echoed and reported in `error`. use cadcraft_engine::Session; use cadcraft_ui_egui::control::{ControlRequest, Outcome, handle}; diff --git a/crates/ui-egui/tests/control_methods.rs b/crates/ui-egui/tests/it/control_methods.rs similarity index 97% rename from crates/ui-egui/tests/control_methods.rs rename to crates/ui-egui/tests/it/control_methods.rs index 36495657f..741d49b86 100644 --- a/crates/ui-egui/tests/control_methods.rs +++ b/crates/ui-egui/tests/it/control_methods.rs @@ -22,7 +22,7 @@ fn app() -> CadApp { /// The method names in the first column of the doc's method table. fn documented() -> BTreeSet { - let doc = include_str!("../../../docs/control-protocol.md"); + let doc = include_str!("../../../../docs/control-protocol.md"); let table = doc.lines().skip_while(|l| !l.starts_with("| Method |")).skip(2).take_while(|l| l.starts_with('|')); table.filter_map(|l| l.split('|').nth(1)).flat_map(|cell| cell.split('`').skip(1).step_by(2).map(str::to_string).collect::>()).collect() } diff --git a/crates/ui-egui/tests/dialog_dispatch.rs b/crates/ui-egui/tests/it/dialog_dispatch.rs similarity index 100% rename from crates/ui-egui/tests/dialog_dispatch.rs rename to crates/ui-egui/tests/it/dialog_dispatch.rs diff --git a/crates/ui-egui/tests/docking_workflows.rs b/crates/ui-egui/tests/it/docking_workflows.rs similarity index 100% rename from crates/ui-egui/tests/docking_workflows.rs rename to crates/ui-egui/tests/it/docking_workflows.rs diff --git a/crates/ui-egui/tests/drafting_polar_increment.rs b/crates/ui-egui/tests/it/drafting_polar_increment.rs similarity index 100% rename from crates/ui-egui/tests/drafting_polar_increment.rs rename to crates/ui-egui/tests/it/drafting_polar_increment.rs diff --git a/crates/ui-egui/tests/drafting_spacing.rs b/crates/ui-egui/tests/it/drafting_spacing.rs similarity index 100% rename from crates/ui-egui/tests/drafting_spacing.rs rename to crates/ui-egui/tests/it/drafting_spacing.rs diff --git a/crates/ui-egui/tests/file_tab_titles.rs b/crates/ui-egui/tests/it/file_tab_titles.rs similarity index 100% rename from crates/ui-egui/tests/file_tab_titles.rs rename to crates/ui-egui/tests/it/file_tab_titles.rs diff --git a/crates/ui-egui/tests/gpu_viewport_stencil.rs b/crates/ui-egui/tests/it/gpu_viewport_stencil.rs similarity index 100% rename from crates/ui-egui/tests/gpu_viewport_stencil.rs rename to crates/ui-egui/tests/it/gpu_viewport_stencil.rs diff --git a/crates/ui-egui/tests/hidden_command_line.rs b/crates/ui-egui/tests/it/hidden_command_line.rs similarity index 100% rename from crates/ui-egui/tests/hidden_command_line.rs rename to crates/ui-egui/tests/it/hidden_command_line.rs diff --git a/crates/ui-egui/tests/lisp_files.rs b/crates/ui-egui/tests/it/lisp_files.rs similarity index 100% rename from crates/ui-egui/tests/lisp_files.rs rename to crates/ui-egui/tests/it/lisp_files.rs diff --git a/crates/ui-egui/tests/it/main.rs b/crates/ui-egui/tests/it/main.rs new file mode 100644 index 000000000..2e2451579 --- /dev/null +++ b/crates/ui-egui/tests/it/main.rs @@ -0,0 +1,34 @@ +mod animation_effects; +mod chrome_geometry; +mod context_menu; +mod context_menus; +mod control_cmdline; +mod control_cmdline_key; +mod control_methods; +mod dialog_dispatch; +mod docking_workflows; +mod drafting_polar_increment; +mod drafting_spacing; +mod file_tab_titles; +mod gpu_viewport_stencil; +mod hidden_command_line; +mod lisp_files; +mod measure_distance_snapping; +mod menubar_hover; +mod mspace_viewport_view; +mod options_dialog; +mod parameters_rename; +mod pickdrag; +mod properties_units; +mod rapid_clicks; +mod selection_cycling; +mod shared_controls; +mod shortcut_menus; +mod status_bar_toggles; +mod style_dialogs; +mod system_cursor; +mod text_double_click; +mod toolsets_gear; +mod toolsets_parametric; +mod viewport_double_click_selection; +mod workspace_focus; diff --git a/crates/ui-egui/tests/measure_distance_snapping.rs b/crates/ui-egui/tests/it/measure_distance_snapping.rs similarity index 100% rename from crates/ui-egui/tests/measure_distance_snapping.rs rename to crates/ui-egui/tests/it/measure_distance_snapping.rs diff --git a/crates/ui-egui/tests/menubar_hover.rs b/crates/ui-egui/tests/it/menubar_hover.rs similarity index 100% rename from crates/ui-egui/tests/menubar_hover.rs rename to crates/ui-egui/tests/it/menubar_hover.rs diff --git a/crates/ui-egui/tests/mspace_viewport_view.rs b/crates/ui-egui/tests/it/mspace_viewport_view.rs similarity index 100% rename from crates/ui-egui/tests/mspace_viewport_view.rs rename to crates/ui-egui/tests/it/mspace_viewport_view.rs diff --git a/crates/ui-egui/tests/options_dialog.rs b/crates/ui-egui/tests/it/options_dialog.rs similarity index 100% rename from crates/ui-egui/tests/options_dialog.rs rename to crates/ui-egui/tests/it/options_dialog.rs diff --git a/crates/ui-egui/tests/parameters_rename.rs b/crates/ui-egui/tests/it/parameters_rename.rs similarity index 100% rename from crates/ui-egui/tests/parameters_rename.rs rename to crates/ui-egui/tests/it/parameters_rename.rs diff --git a/crates/ui-egui/tests/pickdrag.rs b/crates/ui-egui/tests/it/pickdrag.rs similarity index 100% rename from crates/ui-egui/tests/pickdrag.rs rename to crates/ui-egui/tests/it/pickdrag.rs diff --git a/crates/ui-egui/tests/properties_units.rs b/crates/ui-egui/tests/it/properties_units.rs similarity index 100% rename from crates/ui-egui/tests/properties_units.rs rename to crates/ui-egui/tests/it/properties_units.rs diff --git a/crates/ui-egui/tests/rapid_clicks.rs b/crates/ui-egui/tests/it/rapid_clicks.rs similarity index 100% rename from crates/ui-egui/tests/rapid_clicks.rs rename to crates/ui-egui/tests/it/rapid_clicks.rs diff --git a/crates/ui-egui/tests/selection_cycling.rs b/crates/ui-egui/tests/it/selection_cycling.rs similarity index 100% rename from crates/ui-egui/tests/selection_cycling.rs rename to crates/ui-egui/tests/it/selection_cycling.rs diff --git a/crates/ui-egui/tests/shared_controls.rs b/crates/ui-egui/tests/it/shared_controls.rs similarity index 100% rename from crates/ui-egui/tests/shared_controls.rs rename to crates/ui-egui/tests/it/shared_controls.rs diff --git a/crates/ui-egui/tests/shortcut_menus.rs b/crates/ui-egui/tests/it/shortcut_menus.rs similarity index 100% rename from crates/ui-egui/tests/shortcut_menus.rs rename to crates/ui-egui/tests/it/shortcut_menus.rs diff --git a/crates/ui-egui/tests/status_bar_toggles.rs b/crates/ui-egui/tests/it/status_bar_toggles.rs similarity index 100% rename from crates/ui-egui/tests/status_bar_toggles.rs rename to crates/ui-egui/tests/it/status_bar_toggles.rs diff --git a/crates/ui-egui/tests/style_dialogs.rs b/crates/ui-egui/tests/it/style_dialogs.rs similarity index 100% rename from crates/ui-egui/tests/style_dialogs.rs rename to crates/ui-egui/tests/it/style_dialogs.rs diff --git a/crates/ui-egui/tests/system_cursor.rs b/crates/ui-egui/tests/it/system_cursor.rs similarity index 100% rename from crates/ui-egui/tests/system_cursor.rs rename to crates/ui-egui/tests/it/system_cursor.rs diff --git a/crates/ui-egui/tests/text_double_click.rs b/crates/ui-egui/tests/it/text_double_click.rs similarity index 100% rename from crates/ui-egui/tests/text_double_click.rs rename to crates/ui-egui/tests/it/text_double_click.rs diff --git a/crates/ui-egui/tests/toolsets_gear.rs b/crates/ui-egui/tests/it/toolsets_gear.rs similarity index 100% rename from crates/ui-egui/tests/toolsets_gear.rs rename to crates/ui-egui/tests/it/toolsets_gear.rs diff --git a/crates/ui-egui/tests/toolsets_parametric.rs b/crates/ui-egui/tests/it/toolsets_parametric.rs similarity index 100% rename from crates/ui-egui/tests/toolsets_parametric.rs rename to crates/ui-egui/tests/it/toolsets_parametric.rs diff --git a/crates/ui-egui/tests/viewport_double_click_selection.rs b/crates/ui-egui/tests/it/viewport_double_click_selection.rs similarity index 100% rename from crates/ui-egui/tests/viewport_double_click_selection.rs rename to crates/ui-egui/tests/it/viewport_double_click_selection.rs diff --git a/crates/ui-egui/tests/workspace_focus.rs b/crates/ui-egui/tests/it/workspace_focus.rs similarity index 100% rename from crates/ui-egui/tests/workspace_focus.rs rename to crates/ui-egui/tests/it/workspace_focus.rs diff --git a/docs/autolisp.md b/docs/autolisp.md index e26702c2c..910fc2787 100644 --- a/docs/autolisp.md +++ b/docs/autolisp.md @@ -85,5 +85,5 @@ filters take radians too. ## Testing against the corpus The AutoLISP conformance corpus (#648) lives in its own repository. Point `CADCRAFT_LISP_CORPUS` -at it and run `cargo test -p cadcraft-engine --test lisp_corpus`; without the variable the test +at it and run `cargo test -p cadcraft-engine --test it lisp_corpus::`; without the variable the test says it was skipped. diff --git a/xtask/src/main.rs b/xtask/src/main.rs index c72bc0767..5387d1619 100644 --- a/xtask/src/main.rs +++ b/xtask/src/main.rs @@ -20,6 +20,7 @@ commands: assets check that every icon/image/font/asset is attributed in ATTRIBUTION.md layers enforce the crate dependency layering (plan/architecture.md ยง3) wasm cargo check --target wasm32-unknown-unknown for the wasm-safe crates + test cargo nextest run (cargo test without nextest) plus the doctests ci fmt --check, clippy -D warnings, test, assets, layers, wasm (stops at first failure) corpus [--download] show where test corpora live; --download fetches PngSuite into corpus/pngsuite @@ -36,6 +37,7 @@ fn main() -> ExitCode { Some("assets") => assets::run(&root()), Some("layers") => cmd_layers(), Some("wasm") => cmd_wasm(), + Some("test") => cmd_test(), Some("ci") => cmd_ci(), Some("corpus") => cmd_corpus(rest.contains(&"--download")), Some("stats") => stats::run(&root(), rest.contains(&"--exact")), @@ -133,19 +135,36 @@ fn wasm_set() -> Result, String> { fn cmd_wasm() -> Result<(), String> { let set = wasm_set()?; - let mut results = Vec::new(); + let mut c = cargo(); + c.args(["check", "--target", "wasm32-unknown-unknown", "--keep-going"]); for pkg in &set { - let mut c = cargo(); - c.args(["check", "--target", "wasm32-unknown-unknown", "-p", pkg]); - let ok = run(c, &format!("cargo check --target wasm32-unknown-unknown -p {pkg}")).is_ok(); - results.push((pkg.clone(), ok)); + c.args(["-p", pkg]); } - println!("\nwasm32-unknown-unknown check:"); - for (p, ok) in &results { - println!(" {:<6} {p}", if *ok { "ok" } else { "FAIL" }); + run(c, &format!("cargo check --target wasm32-unknown-unknown --keep-going ({} crates)", set.len())).map_err(|e| format!("wasm check failed: {e}")) +} + +/// Whether `cargo nextest` is installed. +fn has_nextest() -> bool { + let mut c = cargo(); + c.args(["nextest", "--version"]).stdout(std::process::Stdio::null()).stderr(std::process::Stdio::null()); + c.status().is_ok_and(|s| s.success()) +} + +/// Unit and integration tests (examples are not built) with nextest, or `cargo test` when +/// nextest is missing, then the doctests, which nextest does not run. +fn cmd_test() -> Result<(), String> { + let mut c = cargo(); + if has_nextest() { + c.args(["nextest", "run", "--workspace", "--lib", "--bins", "--tests"]); + run(c, "cargo nextest run --workspace --lib --bins --tests")?; + } else { + eprintln!("note: cargo-nextest is not installed (cargo install cargo-nextest --locked); running cargo test"); + c.args(["test", "--workspace", "--lib", "--bins", "--tests"]); + run(c, "cargo test --workspace --lib --bins --tests")?; } - let failed = results.iter().filter(|r| !r.1).count(); - if failed == 0 { Ok(()) } else { Err(format!("{failed} crate(s) failed the wasm check")) } + let mut c = cargo(); + c.args(["test", "--workspace", "--doc"]); + run(c, "cargo test --workspace --doc") } fn cmd_ci() -> Result<(), String> { @@ -163,18 +182,11 @@ fn cmd_ci() -> Result<(), String> { "clippy", Box::new(|| { let mut c = cargo(); - c.args(["clippy", "--workspace", "--all-targets", "--", "-D", "warnings"]); - run(c, "cargo clippy --workspace --all-targets -- -D warnings") - }), - ), - ( - "test", - Box::new(|| { - let mut c = cargo(); - c.args(["test", "--workspace"]); - run(c, "cargo test --workspace") + c.args(["clippy", "--workspace", "--all-targets", "--keep-going", "--", "-D", "warnings"]); + run(c, "cargo clippy --workspace --all-targets --keep-going -- -D warnings") }), ), + ("test", Box::new(cmd_test)), ("assets", Box::new(|| assets::run(&root()))), ("layers", Box::new(cmd_layers)), ("wasm", Box::new(cmd_wasm)),