From 9d1b7e314c50cdc49df5fe4c400b494f452c0815 Mon Sep 17 00:00:00 2001 From: Stanislav Pankevich Date: Thu, 28 Nov 2024 22:52:11 +0100 Subject: [PATCH] Code climate: tests/integration: reorganize the test folders around features/ --- .../01_basic_filter/input.sdoc | 18 -------------- .../01_basic_filter/test.itest | 8 ------ .../01_filter_non_nested_section/input.sdoc | 23 ------------------ .../01_filter_non_nested_section/test.itest | 9 ------- .../01_basic_filter/input.sdoc | 0 .../01_basic_filter/test.itest | 0 .../input.sdoc | 0 .../test.itest | 0 .../input.sdoc | 0 .../test.itest | 0 .../input.sdoc | 0 .../test.itest | 0 .../01_incorrect_query/input.sdoc | 0 .../01_incorrect_query/test.itest | 0 .../01_filter_non_nested_section/input.sdoc | 0 .../01_filter_non_nested_section/test.itest | 0 .../input.sdoc | 0 .../test.itest | 0 .../03_filter_nested_section/input.sdoc | 0 .../03_filter_nested_section/test.itest | 0 .../01_incorrect_query/input.sdoc | 0 .../01_incorrect_query/test.itest | 0 .../01_asset_export/_assets/sandbox1.svg | 0 .../html/assets/01_asset_export/input.sdoc | 0 .../html/assets/01_asset_export/test.itest | 0 .../_assets/sandbox1.svg | 0 .../input.sdoc | 0 .../test.itest | 0 .../_assets/sandbox1.svg | 0 .../input.sdoc | 0 .../test.itest | 0 .../test.itest | 0 .../test_document/_assets/sandbox1.svg | 0 .../test_document/input.sdoc | 0 .../_assets/sandbox1.svg | 0 .../included.sdoc | 0 .../input.sdoc | 0 .../test.itest | 0 .../compliance_matrix.sdoc | 0 .../01_basic_compliance_matrix/parent.sdoc | 0 .../01_basic_compliance_matrix/supplier.sdoc | 0 .../01_basic_compliance_matrix/test.itest | 0 .../sample.sdoc | 0 .../test.itest | 0 .../03_child_link_does_not_exist/sample.sdoc | 0 .../03_child_link_does_not_exist/test.itest | 0 .../01_escape_input_from_sdoc/input.sdoc | 0 .../01_escape_input_from_sdoc/strictdoc.toml | 0 .../01_escape_input_from_sdoc/test.itest | 0 .../02_escape_input_from_src_file/file.py | 0 .../02_escape_input_from_src_file/input.sdoc | 0 .../strictdoc.toml | 0 .../02_escape_input_from_src_file/test.itest | 0 .../html/grammar/01_custom_field/input.sdoc | 0 .../html/grammar/01_custom_field/test.itest | 0 .../input.sdoc | 0 .../test.itest | 0 .../01_minimal_document/input.sdoc | 0 .../01_minimal_document/test.itest | 0 .../input.sdoc | 0 .../test.itest | 0 .../child.sdoc | 0 .../grandchild.sdoc | 0 .../parent.sdoc | 0 .../test.itest | 0 .../child.sdoc | 0 .../grandchild.sdoc | 0 .../parent.sdoc | 0 .../test.itest | 0 .../child.sdoc | 0 .../parent.sdoc | 0 .../test.itest | 0 .../01_parent.sdoc | 0 .../02_child.sdoc | 0 .../03_grandchild.sdoc | 0 .../strictdoc.toml | 0 .../test.itest | 0 .../.gitignore | 0 .../input.sdoc | 0 .../test.itest | 0 .../input.sdoc | 0 .../section.sdoc | 0 .../test.itest | 0 .../input.sdoc | 0 .../test.itest | 0 .../input.sdoc | 0 .../input2.sdoc | 0 .../test.itest | 0 .../input.sdoc | 0 .../nodes.sdoc | 0 .../test.itest | 0 .../input.sdoc | 0 .../section.sdoc | 0 .../test.itest | 0 .../input1.sdoc | 0 .../input2.sdoc | 0 .../test.itest | 0 .../04_parallelization/input1.sdoc | 0 .../04_parallelization/input10.sdoc | 0 .../04_parallelization/input2.sdoc | 0 .../04_parallelization/input3.sdoc | 0 .../04_parallelization/input4.sdoc | 0 .../04_parallelization/input5.sdoc | 0 .../04_parallelization/input6.sdoc | 0 .../04_parallelization/input7.sdoc | 0 .../04_parallelization/input8.sdoc | 0 .../04_parallelization/input9.sdoc | 0 .../04_parallelization/test.itest | 0 .../input1.sdoc | 0 .../input10.sdoc | 0 .../input2.sdoc | 0 .../input3.sdoc | 0 .../input4.sdoc | 0 .../input5.sdoc | 0 .../input6.sdoc | 0 .../input7.sdoc | 0 .../input8.sdoc | 0 .../input9.sdoc | 0 .../test.itest | 0 .../input1.sdoc | 0 .../input2.sdoc | 0 .../input3.sdoc | 0 .../input4.sdoc | 0 .../test.itest | 0 .../03_input_dir_has_slash/input.sdoc | 0 .../03_input_dir_has_slash/test.itest | 0 .../07_input_is_single_file/input.sdoc | 0 .../07_input_is_single_file/test.itest | 0 .../intermediate/requirements/input.sdoc | 0 .../test.itest | 0 .../input/input.sdoc | 0 .../input2.sdoc_ | 0 .../test.itest | 1 + .../01_basic/input.sdoc | 0 .../01_basic/test.itest | 0 .../_assets/picture.svg | 0 .../10_wildcard_enhanced_image/input.sdoc | 0 .../10_wildcard_enhanced_image/test.itest | 0 .../nested/_assets/picture.svg | 0 .../nested/input.sdoc | 0 .../test.itest | 0 .../nested/_assets/picture.svg | 0 .../nested/input.sdoc | 0 .../test.itest | 0 .../20_csv_table/path1/_assets/img.jpg | Bin .../20_csv_table/path1/_assets/tab.csv | 0 .../20_csv_table/path1/test.sdoc | 0 .../20_csv_table/test.itest | 0 .../30_code_block/input.sdoc | 0 .../30_code_block/test.itest | 0 .../rst_markup_to_html/40_link/input.sdoc | 0 .../rst_markup_to_html/40_link/test.itest | 0 .../input.sdoc | 0 .../test.itest | 0 .../html/utf8/01_utf8_in_sdoc/input.sdoc | 0 .../html/utf8/01_utf8_in_sdoc/test.itest | 0 .../json/01_basic_json_export/input1.sdoc | 0 .../json/01_basic_json_export/input2.sdoc | 0 .../json/01_basic_json_export/strictdoc.toml | 0 .../json/01_basic_json_export/test.itest | 0 .../input.sdoc | 0 .../input_included.sdoc | 0 .../strictdoc.toml | 0 .../test.itest | 0 .../01_document_mid_must_be_unique/input.sdoc | 0 .../input2.sdoc | 0 .../01_document_mid_must_be_unique/test.itest | 0 .../02_section_mid_must_be_unique/input.sdoc | 0 .../02_section_mid_must_be_unique/input2.sdoc | 0 .../02_section_mid_must_be_unique/test.itest | 0 .../input.sdoc | 0 .../input2.sdoc | 0 .../test.itest | 0 .../01_basic_rst_export/expected/input.rst | 0 .../rst/01_basic_rst_export}/input.sdoc | 0 .../rst/01_basic_rst_export/test.itest | 0 .../expected/input.rst | 0 .../input_folder}/input.sdoc | 0 .../test.itest | 0 .../expected/input.rst | 0 .../input.sdoc | 0 .../test.itest | 0 .../expected/input.rst | 0 .../05_requirement_without_title/input.sdoc | 0 .../05_requirement_without_title/test.itest | 0 .../expected/input.rst | 0 .../rst/06_requirement_with_title/input.sdoc | 0 .../rst/06_requirement_with_title/test.itest | 0 .../expected/input.rst | 0 .../rst/07_requirement_comments/input.sdoc | 0 .../rst/07_requirement_comments/test.itest | 0 .../expected/input.rst | 0 .../input.sdoc | 0 .../test.itest | 0 .../expected/input.rst | 0 .../rst/09_requirement_rationale/input.sdoc | 0 .../rst/09_requirement_rationale/test.itest | 0 .../rst/10_empty_freetext/expected/input.rst | 0 .../rst/10_empty_freetext/input.sdoc | 0 .../rst/10_empty_freetext/test.itest | 0 .../rst/20_custom_field/expected/input.rst | 0 .../rst/20_custom_field/input.sdoc | 0 .../rst/20_custom_field/test.itest | 0 .../expected/input.rst | 0 .../rst/30_requirement_references/input.sdoc | 0 .../rst/30_requirement_references/test.itest | 0 .../expected/input.rst | 0 .../rst/40_link_to_another_section/input.sdoc | 0 .../rst/40_link_to_another_section/test.itest | 0 .../rst/41_link_to_node/expected/input.rst | 0 .../rst/41_link_to_node/input.sdoc | 0 .../rst/41_link_to_node/test.itest | 0 .../expected/input.rst | 0 .../42_link_with_custom_grammar/input.sdoc | 0 .../42_link_with_custom_grammar/test.itest | 0 .../rst/50_link_to_anchor/expected/input.rst | 0 .../rst/50_link_to_anchor/input.sdoc | 0 .../rst/50_link_to_anchor/test.itest | 0 .../expected/input.rst | 0 .../51_link_to_anchor_with_title/input.sdoc | 0 .../51_link_to_anchor_with_title/test.itest | 0 .../52_link_to_document/expected/input1.rst | 0 .../52_link_to_document/expected/input2.rst | 0 .../rst/52_link_to_document/input1.sdoc | 0 .../rst/52_link_to_document/input2.sdoc | 0 .../rst/52_link_to_document/test.itest | 0 .../60_field_human_titles/expected/input.rst | 0 .../rst/60_field_human_titles/input.sdoc | 0 .../rst/60_field_human_titles/test.itest | 0 .../input.sdoc | 0 .../input2.sdoc | 0 .../test.itest | 0 .../input.sdoc | 0 .../test.itest | 0 .../input.sdoc | 0 .../input2.sdoc | 0 .../test.itest | 0 .../input.sdoc | 0 .../test.itest | 0 .../input.sdoc | 0 .../test.itest | 0 .../06_inline_link_does_not_exist/input.sdoc | 0 .../06_inline_link_does_not_exist/test.itest | 0 .../input.sdoc | 0 .../input2.sdoc | 0 .../test.itest | 0 .../input.sdoc | 0 .../test.itest | 0 .../01_minimal_document_mid_enabled/file.py | 0 .../input1.sdoc | 0 .../input2.sdoc | 0 .../strictdoc.toml | 0 .../test.itest | 0 .../02_minimal_document_mid_disabled/file.py | 0 .../input1.sdoc | 0 .../input2.sdoc | 0 .../strictdoc.toml | 0 .../test.itest | 0 .../views/--view}/input.sdoc | 0 .../sdoc => features/views}/--view/test.itest | 0 .../--formats/01_incorrect_format/input.sdoc | 0 .../--formats/01_incorrect_format/test.itest | 0 .../--no-parallelization/input1.sdoc | 0 .../--no-parallelization/input2.sdoc | 0 .../--no-parallelization/test.itest | 0 .../01_output_dir_full_path}/input.sdoc | 0 .../01_output_dir_full_path/test.itest | 0 .../02_output_dir_relative_path}/input.sdoc | 0 .../02_output_dir_relative_path/test.itest | 0 .../input.sdoc | 0 .../01_project_title_not_specified/test.itest | 0 .../02_project_title_is_specified}/input.sdoc | 0 .../02_project_title_is_specified/test.itest | 0 .../01_view_option_is_provided}/input.sdoc | 0 .../01_view_option_is_provided/test.itest | 0 .../input.sdoc | 0 .../test.itest | 0 277 files changed, 1 insertion(+), 58 deletions(-) delete mode 100644 tests/integration/commands/export/sdoc/--filter-requirements/01_basic_filter/input.sdoc delete mode 100644 tests/integration/commands/export/sdoc/--filter-requirements/01_basic_filter/test.itest delete mode 100644 tests/integration/commands/export/sdoc/--filter-sections/01_filter_non_nested_section/input.sdoc delete mode 100644 tests/integration/commands/export/sdoc/--filter-sections/01_filter_non_nested_section/test.itest rename tests/integration/{commands/export => features}/html/--filter-requirements/01_basic_filter/input.sdoc (100%) rename tests/integration/{commands/export => features}/html/--filter-requirements/01_basic_filter/test.itest (100%) rename tests/integration/{commands/export => features}/html/--filter-requirements/02_section_is_filtered_when_its_requirements_are_filtered/input.sdoc (100%) rename tests/integration/{commands/export => features}/html/--filter-requirements/02_section_is_filtered_when_its_requirements_are_filtered/test.itest (100%) rename tests/integration/{commands/export => features}/html/--filter-requirements/03_all_parent_sections_are_filtered_when_its_requirements_are_filtered/input.sdoc (100%) rename tests/integration/{commands/export => features}/html/--filter-requirements/03_all_parent_sections_are_filtered_when_its_requirements_are_filtered/test.itest (100%) rename tests/integration/{commands/export => features}/html/--filter-requirements/04_all_parent_sections_MUST_NOT_be_filtered_when_not_all_its_requirements_are_filtered/input.sdoc (100%) rename tests/integration/{commands/export => features}/html/--filter-requirements/04_all_parent_sections_MUST_NOT_be_filtered_when_not_all_its_requirements_are_filtered/test.itest (100%) rename tests/integration/{commands/export => features}/html/--filter-requirements/_validations/01_incorrect_query/input.sdoc (100%) rename tests/integration/{commands/export => features}/html/--filter-requirements/_validations/01_incorrect_query/test.itest (100%) rename tests/integration/{commands/export => features}/html/--filter-sections/01_filter_non_nested_section/input.sdoc (100%) rename tests/integration/{commands/export => features}/html/--filter-sections/01_filter_non_nested_section/test.itest (100%) rename tests/integration/{commands/export => features}/html/--filter-sections/02_filter_nested_section_parent/input.sdoc (100%) rename tests/integration/{commands/export => features}/html/--filter-sections/02_filter_nested_section_parent/test.itest (100%) rename tests/integration/{commands/export => features}/html/--filter-sections/03_filter_nested_section/input.sdoc (100%) rename tests/integration/{commands/export => features}/html/--filter-sections/03_filter_nested_section/test.itest (100%) rename tests/integration/{commands/export => features}/html/--filter-sections/_validations/01_incorrect_query/input.sdoc (100%) rename tests/integration/{commands/export => features}/html/--filter-sections/_validations/01_incorrect_query/test.itest (100%) rename tests/integration/{commands/export => features}/html/assets/01_asset_export/_assets/sandbox1.svg (100%) rename tests/integration/{commands/export => features}/html/assets/01_asset_export/input.sdoc (100%) rename tests/integration/{commands/export => features}/html/assets/01_asset_export/test.itest (100%) rename tests/integration/{commands/export => features}/html/assets/02_asset_export_single_sdoc_rel_path/_assets/sandbox1.svg (100%) rename tests/integration/{commands/export => features}/html/assets/02_asset_export_single_sdoc_rel_path/input.sdoc (100%) rename tests/integration/{commands/export => features}/html/assets/02_asset_export_single_sdoc_rel_path/test.itest (100%) rename tests/integration/{commands/export => features}/html/assets/03_asset_export_single_sdoc_full_path/_assets/sandbox1.svg (100%) rename tests/integration/{commands/export => features}/html/assets/03_asset_export_single_sdoc_full_path/input.sdoc (100%) rename tests/integration/{commands/export => features}/html/assets/03_asset_export_single_sdoc_full_path/test.itest (100%) rename tests/integration/{commands/export => features}/html/assets/05_asset_export_does_only_when_newer/test.itest (100%) rename tests/integration/{commands/export => features}/html/assets/05_asset_export_does_only_when_newer/test_document/_assets/sandbox1.svg (100%) rename tests/integration/{commands/export => features}/html/assets/05_asset_export_does_only_when_newer/test_document/input.sdoc (100%) rename tests/integration/{commands/export => features}/html/assets/20_asset_export_single_sdoc_double_includes_rel_path/_assets/sandbox1.svg (100%) rename tests/integration/{commands/export => features}/html/assets/20_asset_export_single_sdoc_double_includes_rel_path/included.sdoc (100%) rename tests/integration/{commands/export => features}/html/assets/20_asset_export_single_sdoc_double_includes_rel_path/input.sdoc (100%) rename tests/integration/{commands/export => features}/html/assets/20_asset_export_single_sdoc_double_includes_rel_path/test.itest (100%) rename tests/integration/{commands/export => features}/html/child_links/01_basic_compliance_matrix/compliance_matrix.sdoc (100%) rename tests/integration/{commands/export => features}/html/child_links/01_basic_compliance_matrix/parent.sdoc (100%) rename tests/integration/{commands/export => features}/html/child_links/01_basic_compliance_matrix/supplier.sdoc (100%) rename tests/integration/{commands/export => features}/html/child_links/01_basic_compliance_matrix/test.itest (100%) rename tests/integration/{commands/export => features}/html/child_links/02_child_link_not_registered_relation/sample.sdoc (100%) rename tests/integration/{commands/export => features}/html/child_links/02_child_link_not_registered_relation/test.itest (100%) rename tests/integration/{commands/export => features}/html/child_links/03_child_link_does_not_exist/sample.sdoc (100%) rename tests/integration/{commands/export => features}/html/child_links/03_child_link_does_not_exist/test.itest (100%) rename tests/integration/{commands/export => features}/html/escaping/01_escape_input_from_sdoc/input.sdoc (100%) rename tests/integration/{commands/export => features}/html/escaping/01_escape_input_from_sdoc/strictdoc.toml (100%) rename tests/integration/{commands/export => features}/html/escaping/01_escape_input_from_sdoc/test.itest (100%) rename tests/integration/{commands/export => features}/html/escaping/02_escape_input_from_src_file/file.py (100%) rename tests/integration/{commands/export => features}/html/escaping/02_escape_input_from_src_file/input.sdoc (100%) rename tests/integration/{commands/export => features}/html/escaping/02_escape_input_from_src_file/strictdoc.toml (100%) rename tests/integration/{commands/export => features}/html/escaping/02_escape_input_from_src_file/test.itest (100%) rename tests/integration/{commands/export => features}/html/grammar/01_custom_field/input.sdoc (100%) rename tests/integration/{commands/export => features}/html/grammar/01_custom_field/test.itest (100%) rename tests/integration/{commands/export => features}/html/grammar/02_custom_field_rendered_to_rst/input.sdoc (100%) rename tests/integration/{commands/export => features}/html/grammar/02_custom_field_rendered_to_rst/test.itest (100%) rename tests/integration/{commands/export => features/html/hello_world}/01_minimal_document/input.sdoc (100%) rename tests/integration/{commands/export => features/html/hello_world}/01_minimal_document/test.itest (100%) rename tests/integration/{commands/export => features/html/hello_world}/02_minimal_document_with_freetext/input.sdoc (100%) rename tests/integration/{commands/export => features/html/hello_world}/02_minimal_document_with_freetext/test.itest (100%) rename tests/integration/{commands/export => features}/html/incremental_generation/01_when_parent_changes_generate_children/child.sdoc (100%) rename tests/integration/{commands/export => features}/html/incremental_generation/01_when_parent_changes_generate_children/grandchild.sdoc (100%) rename tests/integration/{commands/export => features}/html/incremental_generation/01_when_parent_changes_generate_children/parent.sdoc (100%) rename tests/integration/{commands/export => features}/html/incremental_generation/01_when_parent_changes_generate_children/test.itest (100%) rename tests/integration/{commands/export => features}/html/incremental_generation/02_when_child_changes_generate_parents/child.sdoc (100%) rename tests/integration/{commands/export => features}/html/incremental_generation/02_when_child_changes_generate_parents/grandchild.sdoc (100%) rename tests/integration/{commands/export => features}/html/incremental_generation/02_when_child_changes_generate_parents/parent.sdoc (100%) rename tests/integration/{commands/export => features}/html/incremental_generation/02_when_child_changes_generate_parents/test.itest (100%) rename tests/integration/{commands/export => features}/html/incremental_generation/03_when_new_child_generate_parents/child.sdoc (100%) rename tests/integration/{commands/export => features}/html/incremental_generation/03_when_new_child_generate_parents/parent.sdoc (100%) rename tests/integration/{commands/export => features}/html/incremental_generation/03_when_new_child_generate_parents/test.itest (100%) rename tests/integration/{commands/export => features}/html/incremental_generation/04_when_config_changes_generate_everything/01_parent.sdoc (100%) rename tests/integration/{commands/export => features}/html/incremental_generation/04_when_config_changes_generate_everything/02_child.sdoc (100%) rename tests/integration/{commands/export => features}/html/incremental_generation/04_when_config_changes_generate_everything/03_grandchild.sdoc (100%) rename tests/integration/{commands/export => features}/html/incremental_generation/04_when_config_changes_generate_everything/strictdoc.toml (100%) rename tests/integration/{commands/export => features}/html/incremental_generation/04_when_config_changes_generate_everything/test.itest (100%) rename tests/integration/{commands/export => features}/html/jinja/01_does_not_choke_on_ds_store_macos_files/.gitignore (100%) rename tests/integration/{commands/export => features}/html/jinja/01_does_not_choke_on_ds_store_macos_files/input.sdoc (100%) rename tests/integration/{commands/export => features}/html/jinja/01_does_not_choke_on_ds_store_macos_files/test.itest (100%) rename tests/integration/{commands/export => features}/html/markup/01_referencing_a_section_with_LINK/input.sdoc (100%) rename tests/integration/{commands/export => features}/html/markup/01_referencing_a_section_with_LINK/section.sdoc (100%) rename tests/integration/{commands/export => features}/html/markup/01_referencing_a_section_with_LINK/test.itest (100%) rename tests/integration/{commands/export => features}/html/markup/02_referencing_anchor_with_LINK_internal/input.sdoc (100%) rename tests/integration/{commands/export => features}/html/markup/02_referencing_anchor_with_LINK_internal/test.itest (100%) rename tests/integration/{commands/export => features}/html/markup/03_referencing_anchor_with_LINK_external/input.sdoc (100%) rename tests/integration/{commands/export => features}/html/markup/03_referencing_anchor_with_LINK_external/input2.sdoc (100%) rename tests/integration/{commands/export => features}/html/markup/03_referencing_anchor_with_LINK_external/test.itest (100%) rename tests/integration/{commands/export => features}/html/markup/04_referencing_a_section_with_LINK_node/input.sdoc (100%) rename tests/integration/{commands/export => features}/html/markup/04_referencing_a_section_with_LINK_node/nodes.sdoc (100%) rename tests/integration/{commands/export => features}/html/markup/04_referencing_a_section_with_LINK_node/test.itest (100%) rename tests/integration/{commands/export => features}/html/markup/10_node_LINK_references_a_section/input.sdoc (100%) rename tests/integration/{commands/export => features}/html/markup/10_node_LINK_references_a_section/section.sdoc (100%) rename tests/integration/{commands/export => features}/html/markup/10_node_LINK_references_a_section/test.itest (100%) rename tests/integration/{commands/export => features}/html/markup/11_node_LINK_references_a_document/input1.sdoc (100%) rename tests/integration/{commands/export => features}/html/markup/11_node_LINK_references_a_document/input2.sdoc (100%) rename tests/integration/{commands/export => features}/html/markup/11_node_LINK_references_a_document/test.itest (100%) rename tests/integration/{commands/export => features/html/parallelization}/04_parallelization/input1.sdoc (100%) rename tests/integration/{commands/export => features/html/parallelization}/04_parallelization/input10.sdoc (100%) rename tests/integration/{commands/export => features/html/parallelization}/04_parallelization/input2.sdoc (100%) rename tests/integration/{commands/export => features/html/parallelization}/04_parallelization/input3.sdoc (100%) rename tests/integration/{commands/export => features/html/parallelization}/04_parallelization/input4.sdoc (100%) rename tests/integration/{commands/export => features/html/parallelization}/04_parallelization/input5.sdoc (100%) rename tests/integration/{commands/export => features/html/parallelization}/04_parallelization/input6.sdoc (100%) rename tests/integration/{commands/export => features/html/parallelization}/04_parallelization/input7.sdoc (100%) rename tests/integration/{commands/export => features/html/parallelization}/04_parallelization/input8.sdoc (100%) rename tests/integration/{commands/export => features/html/parallelization}/04_parallelization/input9.sdoc (100%) rename tests/integration/{commands/export => features/html/parallelization}/04_parallelization/test.itest (100%) rename tests/integration/{commands/export => features/html/parallelization}/05_parallelization_no_macos_problem_regression/input1.sdoc (100%) rename tests/integration/{commands/export => features/html/parallelization}/05_parallelization_no_macos_problem_regression/input10.sdoc (100%) rename tests/integration/{commands/export => features/html/parallelization}/05_parallelization_no_macos_problem_regression/input2.sdoc (100%) rename tests/integration/{commands/export => features/html/parallelization}/05_parallelization_no_macos_problem_regression/input3.sdoc (100%) rename tests/integration/{commands/export => features/html/parallelization}/05_parallelization_no_macos_problem_regression/input4.sdoc (100%) rename tests/integration/{commands/export => features/html/parallelization}/05_parallelization_no_macos_problem_regression/input5.sdoc (100%) rename tests/integration/{commands/export => features/html/parallelization}/05_parallelization_no_macos_problem_regression/input6.sdoc (100%) rename tests/integration/{commands/export => features/html/parallelization}/05_parallelization_no_macos_problem_regression/input7.sdoc (100%) rename tests/integration/{commands/export => features/html/parallelization}/05_parallelization_no_macos_problem_regression/input8.sdoc (100%) rename tests/integration/{commands/export => features/html/parallelization}/05_parallelization_no_macos_problem_regression/input9.sdoc (100%) rename tests/integration/{commands/export => features/html/parallelization}/05_parallelization_no_macos_problem_regression/test.itest (100%) rename tests/integration/{commands/export => features/html/parallelization}/06_parallelization_sdoc_parsing_problem_in_child_process/input1.sdoc (100%) rename tests/integration/{commands/export => features/html/parallelization}/06_parallelization_sdoc_parsing_problem_in_child_process/input2.sdoc (100%) rename tests/integration/{commands/export => features/html/parallelization}/06_parallelization_sdoc_parsing_problem_in_child_process/input3.sdoc (100%) rename tests/integration/{commands/export => features/html/parallelization}/06_parallelization_sdoc_parsing_problem_in_child_process/input4.sdoc (100%) rename tests/integration/{commands/export => features/html/parallelization}/06_parallelization_sdoc_parsing_problem_in_child_process/test.itest (100%) rename tests/integration/{commands/export => features/html/path_resolution}/03_input_dir_has_slash/input.sdoc (100%) rename tests/integration/{commands/export => features/html/path_resolution}/03_input_dir_has_slash/test.itest (100%) rename tests/integration/{commands/export => features/html/path_resolution}/07_input_is_single_file/input.sdoc (100%) rename tests/integration/{commands/export => features/html/path_resolution}/07_input_is_single_file/test.itest (100%) rename tests/integration/{commands/export => features/html/path_resolution}/08_finds_document_through_empty_intermediate_folders/input/intermediate/requirements/input.sdoc (100%) rename tests/integration/{commands/export => features/html/path_resolution}/08_finds_document_through_empty_intermediate_folders/test.itest (100%) rename tests/integration/{commands/export => features/html/path_resolution}/09_does_not_find_documents_in_output_folder/input/input.sdoc (100%) rename tests/integration/{commands/export => features/html/path_resolution}/09_does_not_find_documents_in_output_folder/input2.sdoc_ (100%) rename tests/integration/{commands/export => features/html/path_resolution}/09_does_not_find_documents_in_output_folder/test.itest (97%) rename tests/integration/{commands/export => features}/html/precompiled_jinja_templates/01_basic/input.sdoc (100%) rename tests/integration/{commands/export => features}/html/precompiled_jinja_templates/01_basic/test.itest (100%) rename tests/integration/{commands/export => features}/html/rst_markup_to_html/10_wildcard_enhanced_image/_assets/picture.svg (100%) rename tests/integration/{commands/export => features}/html/rst_markup_to_html/10_wildcard_enhanced_image/input.sdoc (100%) rename tests/integration/{commands/export => features}/html/rst_markup_to_html/10_wildcard_enhanced_image/test.itest (100%) rename tests/integration/{commands/export => features}/html/rst_markup_to_html/11_wildcard_enhanced_image_nested/nested/_assets/picture.svg (100%) rename tests/integration/{commands/export => features}/html/rst_markup_to_html/11_wildcard_enhanced_image_nested/nested/input.sdoc (100%) rename tests/integration/{commands/export => features}/html/rst_markup_to_html/11_wildcard_enhanced_image_nested/test.itest (100%) rename tests/integration/{commands/export => features}/html/rst_markup_to_html/12_wildcard_enhanced_image_input_path_not_cwd/nested/_assets/picture.svg (100%) rename tests/integration/{commands/export => features}/html/rst_markup_to_html/12_wildcard_enhanced_image_input_path_not_cwd/nested/input.sdoc (100%) rename tests/integration/{commands/export => features}/html/rst_markup_to_html/12_wildcard_enhanced_image_input_path_not_cwd/test.itest (100%) rename tests/integration/{commands/export => features}/html/rst_markup_to_html/20_csv_table/path1/_assets/img.jpg (100%) rename tests/integration/{commands/export => features}/html/rst_markup_to_html/20_csv_table/path1/_assets/tab.csv (100%) rename tests/integration/{commands/export => features}/html/rst_markup_to_html/20_csv_table/path1/test.sdoc (100%) rename tests/integration/{commands/export => features}/html/rst_markup_to_html/20_csv_table/test.itest (100%) rename tests/integration/{commands/export => features}/html/rst_markup_to_html/30_code_block/input.sdoc (100%) rename tests/integration/{commands/export => features}/html/rst_markup_to_html/30_code_block/test.itest (100%) rename tests/integration/{commands/export => features}/html/rst_markup_to_html/40_link/input.sdoc (100%) rename tests/integration/{commands/export => features}/html/rst_markup_to_html/40_link/test.itest (100%) rename tests/integration/{error_handling => features/html/rst_markup_to_html/_validations}/03_rst_to_html_conversion_warnings/input.sdoc (100%) rename tests/integration/{error_handling => features/html/rst_markup_to_html/_validations}/03_rst_to_html_conversion_warnings/test.itest (100%) rename tests/integration/{commands/export => features}/html/utf8/01_utf8_in_sdoc/input.sdoc (100%) rename tests/integration/{commands/export => features}/html/utf8/01_utf8_in_sdoc/test.itest (100%) rename tests/integration/{commands/export => features}/json/01_basic_json_export/input1.sdoc (100%) rename tests/integration/{commands/export => features}/json/01_basic_json_export/input2.sdoc (100%) rename tests/integration/{commands/export => features}/json/01_basic_json_export/strictdoc.toml (100%) rename tests/integration/{commands/export => features}/json/01_basic_json_export/test.itest (100%) rename tests/integration/{commands/export => features}/json/02_export_without_and_with_included_documents/input.sdoc (100%) rename tests/integration/{commands/export => features}/json/02_export_without_and_with_included_documents/input_included.sdoc (100%) rename tests/integration/{commands/export => features}/json/02_export_without_and_with_included_documents/strictdoc.toml (100%) rename tests/integration/{commands/export => features}/json/02_export_without_and_with_included_documents/test.itest (100%) rename tests/integration/features/{machine_identifiers_MID => machine_identifiers}/_validations/01_document_mid_must_be_unique/input.sdoc (100%) rename tests/integration/features/{machine_identifiers_MID => machine_identifiers}/_validations/01_document_mid_must_be_unique/input2.sdoc (100%) rename tests/integration/features/{machine_identifiers_MID => machine_identifiers}/_validations/01_document_mid_must_be_unique/test.itest (100%) rename tests/integration/features/{machine_identifiers_MID => machine_identifiers}/_validations/02_section_mid_must_be_unique/input.sdoc (100%) rename tests/integration/features/{machine_identifiers_MID => machine_identifiers}/_validations/02_section_mid_must_be_unique/input2.sdoc (100%) rename tests/integration/features/{machine_identifiers_MID => machine_identifiers}/_validations/02_section_mid_must_be_unique/test.itest (100%) rename tests/integration/features/{machine_identifiers_MID => machine_identifiers}/_validations/03_requirement_mid_must_be_unique/input.sdoc (100%) rename tests/integration/features/{machine_identifiers_MID => machine_identifiers}/_validations/03_requirement_mid_must_be_unique/input2.sdoc (100%) rename tests/integration/features/{machine_identifiers_MID => machine_identifiers}/_validations/03_requirement_mid_must_be_unique/test.itest (100%) rename tests/integration/{commands/export => features}/rst/01_basic_rst_export/expected/input.rst (100%) rename tests/integration/{commands/export/options/--output-dir/01_output_dir_full_path => features/rst/01_basic_rst_export}/input.sdoc (100%) rename tests/integration/{commands/export => features}/rst/01_basic_rst_export/test.itest (100%) rename tests/integration/{commands/export => features}/rst/02_folder_structure_is_preserved_for_nested/expected/input.rst (100%) rename tests/integration/{commands/export/options/--output-dir/02_output_dir_relative_path => features/rst/02_folder_structure_is_preserved_for_nested/input_folder}/input.sdoc (100%) rename tests/integration/{commands/export => features}/rst/02_folder_structure_is_preserved_for_nested/test.itest (100%) rename tests/integration/{commands/export => features}/rst/04_one_requirement_without_title/expected/input.rst (100%) rename tests/integration/{commands/export => features}/rst/04_one_requirement_without_title/input.sdoc (100%) rename tests/integration/{commands/export => features}/rst/04_one_requirement_without_title/test.itest (100%) rename tests/integration/{commands/export => features}/rst/05_requirement_without_title/expected/input.rst (100%) rename tests/integration/{commands/export => features}/rst/05_requirement_without_title/input.sdoc (100%) rename tests/integration/{commands/export => features}/rst/05_requirement_without_title/test.itest (100%) rename tests/integration/{commands/export => features}/rst/06_requirement_with_title/expected/input.rst (100%) rename tests/integration/{commands/export => features}/rst/06_requirement_with_title/input.sdoc (100%) rename tests/integration/{commands/export => features}/rst/06_requirement_with_title/test.itest (100%) rename tests/integration/{commands/export => features}/rst/07_requirement_comments/expected/input.rst (100%) rename tests/integration/{commands/export => features}/rst/07_requirement_comments/input.sdoc (100%) rename tests/integration/{commands/export => features}/rst/07_requirement_comments/test.itest (100%) rename tests/integration/{commands/export => features}/rst/08_requirement_comments_then_section/expected/input.rst (100%) rename tests/integration/{commands/export => features}/rst/08_requirement_comments_then_section/input.sdoc (100%) rename tests/integration/{commands/export => features}/rst/08_requirement_comments_then_section/test.itest (100%) rename tests/integration/{commands/export => features}/rst/09_requirement_rationale/expected/input.rst (100%) rename tests/integration/{commands/export => features}/rst/09_requirement_rationale/input.sdoc (100%) rename tests/integration/{commands/export => features}/rst/09_requirement_rationale/test.itest (100%) rename tests/integration/{commands/export => features}/rst/10_empty_freetext/expected/input.rst (100%) rename tests/integration/{commands/export => features}/rst/10_empty_freetext/input.sdoc (100%) rename tests/integration/{commands/export => features}/rst/10_empty_freetext/test.itest (100%) rename tests/integration/{commands/export => features}/rst/20_custom_field/expected/input.rst (100%) rename tests/integration/{commands/export => features}/rst/20_custom_field/input.sdoc (100%) rename tests/integration/{commands/export => features}/rst/20_custom_field/test.itest (100%) rename tests/integration/{commands/export => features}/rst/30_requirement_references/expected/input.rst (100%) rename tests/integration/{commands/export => features}/rst/30_requirement_references/input.sdoc (100%) rename tests/integration/{commands/export => features}/rst/30_requirement_references/test.itest (100%) rename tests/integration/{commands/export => features}/rst/40_link_to_another_section/expected/input.rst (100%) rename tests/integration/{commands/export => features}/rst/40_link_to_another_section/input.sdoc (100%) rename tests/integration/{commands/export => features}/rst/40_link_to_another_section/test.itest (100%) rename tests/integration/{commands/export => features}/rst/41_link_to_node/expected/input.rst (100%) rename tests/integration/{commands/export => features}/rst/41_link_to_node/input.sdoc (100%) rename tests/integration/{commands/export => features}/rst/41_link_to_node/test.itest (100%) rename tests/integration/{commands/export => features}/rst/42_link_with_custom_grammar/expected/input.rst (100%) rename tests/integration/{commands/export => features}/rst/42_link_with_custom_grammar/input.sdoc (100%) rename tests/integration/{commands/export => features}/rst/42_link_with_custom_grammar/test.itest (100%) rename tests/integration/{commands/export => features}/rst/50_link_to_anchor/expected/input.rst (100%) rename tests/integration/{commands/export => features}/rst/50_link_to_anchor/input.sdoc (100%) rename tests/integration/{commands/export => features}/rst/50_link_to_anchor/test.itest (100%) rename tests/integration/{commands/export => features}/rst/51_link_to_anchor_with_title/expected/input.rst (100%) rename tests/integration/{commands/export => features}/rst/51_link_to_anchor_with_title/input.sdoc (100%) rename tests/integration/{commands/export => features}/rst/51_link_to_anchor_with_title/test.itest (100%) rename tests/integration/{commands/export => features}/rst/52_link_to_document/expected/input1.rst (100%) rename tests/integration/{commands/export => features}/rst/52_link_to_document/expected/input2.rst (100%) rename tests/integration/{commands/export => features}/rst/52_link_to_document/input1.sdoc (100%) rename tests/integration/{commands/export => features}/rst/52_link_to_document/input2.sdoc (100%) rename tests/integration/{commands/export => features}/rst/52_link_to_document/test.itest (100%) rename tests/integration/{commands/export => features}/rst/60_field_human_titles/expected/input.rst (100%) rename tests/integration/{commands/export => features}/rst/60_field_human_titles/input.sdoc (100%) rename tests/integration/{commands/export => features}/rst/60_field_human_titles/test.itest (100%) rename tests/integration/{error_handling => features/sdoc}/graph_consistency/01_requirement_exists_in_two_different_docs/input.sdoc (100%) rename tests/integration/{error_handling => features/sdoc}/graph_consistency/01_requirement_exists_in_two_different_docs/input2.sdoc (100%) rename tests/integration/{error_handling => features/sdoc}/graph_consistency/01_requirement_exists_in_two_different_docs/test.itest (100%) rename tests/integration/{error_handling => features/sdoc}/graph_consistency/02_requirement_exists_two_times_in_the_same_doc/input.sdoc (100%) rename tests/integration/{error_handling => features/sdoc}/graph_consistency/02_requirement_exists_two_times_in_the_same_doc/test.itest (100%) rename tests/integration/{error_handling => features/sdoc}/graph_consistency/03_section_uid_exists_in_two_different_docs/input.sdoc (100%) rename tests/integration/{error_handling => features/sdoc}/graph_consistency/03_section_uid_exists_in_two_different_docs/input2.sdoc (100%) rename tests/integration/{error_handling => features/sdoc}/graph_consistency/03_section_uid_exists_in_two_different_docs/test.itest (100%) rename tests/integration/{error_handling => features/sdoc}/graph_consistency/04_requirement_link_cycles_two_reqs/input.sdoc (100%) rename tests/integration/{error_handling => features/sdoc}/graph_consistency/04_requirement_link_cycles_two_reqs/test.itest (100%) rename tests/integration/{error_handling => features/sdoc}/graph_consistency/05_requirement_link_cycles_4_reqs/input.sdoc (100%) rename tests/integration/{error_handling => features/sdoc}/graph_consistency/05_requirement_link_cycles_4_reqs/test.itest (100%) rename tests/integration/{error_handling => features/sdoc}/graph_consistency/06_inline_link_does_not_exist/input.sdoc (100%) rename tests/integration/{error_handling => features/sdoc}/graph_consistency/06_inline_link_does_not_exist/test.itest (100%) rename tests/integration/{error_handling => features/sdoc}/graph_consistency/07_parent_requirement_does_not_exist/input.sdoc (100%) rename tests/integration/{error_handling => features/sdoc}/graph_consistency/07_parent_requirement_does_not_exist/input2.sdoc (100%) rename tests/integration/{error_handling => features/sdoc}/graph_consistency/07_parent_requirement_does_not_exist/test.itest (100%) rename tests/integration/{error_handling => features/sdoc}/graph_consistency/08_requirement_child_link_cycle/input.sdoc (100%) rename tests/integration/{error_handling => features/sdoc}/graph_consistency/08_requirement_child_link_cycle/test.itest (100%) rename tests/integration/{commands/export => features}/spdx/01_minimal_document_mid_enabled/file.py (100%) rename tests/integration/{commands/export => features}/spdx/01_minimal_document_mid_enabled/input1.sdoc (100%) rename tests/integration/{commands/export => features}/spdx/01_minimal_document_mid_enabled/input2.sdoc (100%) rename tests/integration/{commands/export => features}/spdx/01_minimal_document_mid_enabled/strictdoc.toml (100%) rename tests/integration/{commands/export => features}/spdx/01_minimal_document_mid_enabled/test.itest (100%) rename tests/integration/{commands/export => features}/spdx/02_minimal_document_mid_disabled/file.py (100%) rename tests/integration/{commands/export => features}/spdx/02_minimal_document_mid_disabled/input1.sdoc (100%) rename tests/integration/{commands/export => features}/spdx/02_minimal_document_mid_disabled/input2.sdoc (100%) rename tests/integration/{commands/export => features}/spdx/02_minimal_document_mid_disabled/strictdoc.toml (100%) rename tests/integration/{commands/export => features}/spdx/02_minimal_document_mid_disabled/test.itest (100%) rename tests/integration/{commands/export/options/--view/01_view_option_is_provided => features/views/--view}/input.sdoc (100%) rename tests/integration/{commands/export/sdoc => features/views}/--view/test.itest (100%) rename tests/integration/{commands/export/options => options/options_per_cli}/--formats/01_incorrect_format/input.sdoc (100%) rename tests/integration/{commands/export/options => options/options_per_cli}/--formats/01_incorrect_format/test.itest (100%) rename tests/integration/{commands/export/options => options/options_per_cli}/--no-parallelization/input1.sdoc (100%) rename tests/integration/{commands/export/options => options/options_per_cli}/--no-parallelization/input2.sdoc (100%) rename tests/integration/{commands/export/options => options/options_per_cli}/--no-parallelization/test.itest (100%) rename tests/integration/{commands/export/options/--project-title/01_project_title_not_specified => options/options_per_cli/--output-dir/01_output_dir_full_path}/input.sdoc (100%) rename tests/integration/{commands/export/options => options/options_per_cli}/--output-dir/01_output_dir_full_path/test.itest (100%) rename tests/integration/{commands/export/options/--project-title/02_project_title_is_specified => options/options_per_cli/--output-dir/02_output_dir_relative_path}/input.sdoc (100%) rename tests/integration/{commands/export/options => options/options_per_cli}/--output-dir/02_output_dir_relative_path/test.itest (100%) rename tests/integration/{commands/export/rst/01_basic_rst_export => options/options_per_cli/--project-title/01_project_title_not_specified}/input.sdoc (100%) rename tests/integration/{commands/export/options => options/options_per_cli}/--project-title/01_project_title_not_specified/test.itest (100%) rename tests/integration/{commands/export/rst/02_folder_structure_is_preserved_for_nested/input_folder => options/options_per_cli/--project-title/02_project_title_is_specified}/input.sdoc (100%) rename tests/integration/{commands/export/options => options/options_per_cli}/--project-title/02_project_title_is_specified/test.itest (100%) rename tests/integration/{commands/export/sdoc/--view => options/options_per_cli/--view/01_view_option_is_provided}/input.sdoc (100%) rename tests/integration/{commands/export/options => options/options_per_cli}/--view/01_view_option_is_provided/test.itest (100%) rename tests/integration/{commands/export/options => options/options_per_cli}/--view/02_if_view_option_is_not_provided_then_default_view/input.sdoc (100%) rename tests/integration/{commands/export/options => options/options_per_cli}/--view/02_if_view_option_is_not_provided_then_default_view/test.itest (100%) diff --git a/tests/integration/commands/export/sdoc/--filter-requirements/01_basic_filter/input.sdoc b/tests/integration/commands/export/sdoc/--filter-requirements/01_basic_filter/input.sdoc deleted file mode 100644 index dbf4d35c9..000000000 --- a/tests/integration/commands/export/sdoc/--filter-requirements/01_basic_filter/input.sdoc +++ /dev/null @@ -1,18 +0,0 @@ -[DOCUMENT] -TITLE: Hello world doc - -[REQUIREMENT] -TITLE: Title #1 -STATEMENT: Statement #1 - -[REQUIREMENT] -TITLE: Title #2 -STATEMENT: Statement #2 - -[REQUIREMENT] -TITLE: Title #3 -STATEMENT: Statement #3 - -[REQUIREMENT] -TITLE: Title #4 -STATEMENT: Statement #4 diff --git a/tests/integration/commands/export/sdoc/--filter-requirements/01_basic_filter/test.itest b/tests/integration/commands/export/sdoc/--filter-requirements/01_basic_filter/test.itest deleted file mode 100644 index 89facb7c6..000000000 --- a/tests/integration/commands/export/sdoc/--filter-requirements/01_basic_filter/test.itest +++ /dev/null @@ -1,8 +0,0 @@ -RUN: %strictdoc export %S --output-dir Output --filter-requirements='("2" in node["TITLE"] or "4" in node["TITLE"])' --formats sdoc | filecheck %s --dump-input=fail -CHECK: Export SDoc - -RUN: %cat %S/Output/sdoc/input.sdoc | filecheck %s --dump-input=fail --check-prefix CHECK-SDOC -CHECK-SDOC-NOT: Title #1 -CHECK-SDOC: Title #2 -CHECK-SDOC-NOT: Title #3 -CHECK-SDOC: Title #4 diff --git a/tests/integration/commands/export/sdoc/--filter-sections/01_filter_non_nested_section/input.sdoc b/tests/integration/commands/export/sdoc/--filter-sections/01_filter_non_nested_section/input.sdoc deleted file mode 100644 index 24fcabee3..000000000 --- a/tests/integration/commands/export/sdoc/--filter-sections/01_filter_non_nested_section/input.sdoc +++ /dev/null @@ -1,23 +0,0 @@ -[DOCUMENT] -TITLE: Hello world doc - -[SECTION] -TITLE: MUST_BE_FILTERED - -[REQUIREMENT] -TITLE: Title #1 -STATEMENT: Statement #1 - -[REQUIREMENT] -TITLE: Title #2 -STATEMENT: Statement #2 - -[REQUIREMENT] -TITLE: Title #3 -STATEMENT: Statement #3 - -[REQUIREMENT] -TITLE: Title #4 -STATEMENT: Statement #4 - -[/SECTION] diff --git a/tests/integration/commands/export/sdoc/--filter-sections/01_filter_non_nested_section/test.itest b/tests/integration/commands/export/sdoc/--filter-sections/01_filter_non_nested_section/test.itest deleted file mode 100644 index ce8fa8cf9..000000000 --- a/tests/integration/commands/export/sdoc/--filter-sections/01_filter_non_nested_section/test.itest +++ /dev/null @@ -1,9 +0,0 @@ -RUN: %strictdoc export %S --output-dir Output --filter-sections='"MUST_BE_FILTERED" not in node["TITLE"]' --formats sdoc | filecheck %s --dump-input=fail -CHECK: Export SDoc - -RUN: %cat %S/Output/sdoc/input.sdoc | filecheck %s --dump-input=fail --check-prefix CHECK-SDOC -CHECK-SDOC-NOT: MUST_BE_FILTERED -CHECK-SDOC-NOT: Title #1 -CHECK-SDOC-NOT: Title #2 -CHECK-SDOC-NOT: Title #3 -CHECK-SDOC-NOT: Title #4 diff --git a/tests/integration/commands/export/html/--filter-requirements/01_basic_filter/input.sdoc b/tests/integration/features/html/--filter-requirements/01_basic_filter/input.sdoc similarity index 100% rename from tests/integration/commands/export/html/--filter-requirements/01_basic_filter/input.sdoc rename to tests/integration/features/html/--filter-requirements/01_basic_filter/input.sdoc diff --git a/tests/integration/commands/export/html/--filter-requirements/01_basic_filter/test.itest b/tests/integration/features/html/--filter-requirements/01_basic_filter/test.itest similarity index 100% rename from tests/integration/commands/export/html/--filter-requirements/01_basic_filter/test.itest rename to tests/integration/features/html/--filter-requirements/01_basic_filter/test.itest diff --git a/tests/integration/commands/export/html/--filter-requirements/02_section_is_filtered_when_its_requirements_are_filtered/input.sdoc b/tests/integration/features/html/--filter-requirements/02_section_is_filtered_when_its_requirements_are_filtered/input.sdoc similarity index 100% rename from tests/integration/commands/export/html/--filter-requirements/02_section_is_filtered_when_its_requirements_are_filtered/input.sdoc rename to tests/integration/features/html/--filter-requirements/02_section_is_filtered_when_its_requirements_are_filtered/input.sdoc diff --git a/tests/integration/commands/export/html/--filter-requirements/02_section_is_filtered_when_its_requirements_are_filtered/test.itest b/tests/integration/features/html/--filter-requirements/02_section_is_filtered_when_its_requirements_are_filtered/test.itest similarity index 100% rename from tests/integration/commands/export/html/--filter-requirements/02_section_is_filtered_when_its_requirements_are_filtered/test.itest rename to tests/integration/features/html/--filter-requirements/02_section_is_filtered_when_its_requirements_are_filtered/test.itest diff --git a/tests/integration/commands/export/html/--filter-requirements/03_all_parent_sections_are_filtered_when_its_requirements_are_filtered/input.sdoc b/tests/integration/features/html/--filter-requirements/03_all_parent_sections_are_filtered_when_its_requirements_are_filtered/input.sdoc similarity index 100% rename from tests/integration/commands/export/html/--filter-requirements/03_all_parent_sections_are_filtered_when_its_requirements_are_filtered/input.sdoc rename to tests/integration/features/html/--filter-requirements/03_all_parent_sections_are_filtered_when_its_requirements_are_filtered/input.sdoc diff --git a/tests/integration/commands/export/html/--filter-requirements/03_all_parent_sections_are_filtered_when_its_requirements_are_filtered/test.itest b/tests/integration/features/html/--filter-requirements/03_all_parent_sections_are_filtered_when_its_requirements_are_filtered/test.itest similarity index 100% rename from tests/integration/commands/export/html/--filter-requirements/03_all_parent_sections_are_filtered_when_its_requirements_are_filtered/test.itest rename to tests/integration/features/html/--filter-requirements/03_all_parent_sections_are_filtered_when_its_requirements_are_filtered/test.itest diff --git a/tests/integration/commands/export/html/--filter-requirements/04_all_parent_sections_MUST_NOT_be_filtered_when_not_all_its_requirements_are_filtered/input.sdoc b/tests/integration/features/html/--filter-requirements/04_all_parent_sections_MUST_NOT_be_filtered_when_not_all_its_requirements_are_filtered/input.sdoc similarity index 100% rename from tests/integration/commands/export/html/--filter-requirements/04_all_parent_sections_MUST_NOT_be_filtered_when_not_all_its_requirements_are_filtered/input.sdoc rename to tests/integration/features/html/--filter-requirements/04_all_parent_sections_MUST_NOT_be_filtered_when_not_all_its_requirements_are_filtered/input.sdoc diff --git a/tests/integration/commands/export/html/--filter-requirements/04_all_parent_sections_MUST_NOT_be_filtered_when_not_all_its_requirements_are_filtered/test.itest b/tests/integration/features/html/--filter-requirements/04_all_parent_sections_MUST_NOT_be_filtered_when_not_all_its_requirements_are_filtered/test.itest similarity index 100% rename from tests/integration/commands/export/html/--filter-requirements/04_all_parent_sections_MUST_NOT_be_filtered_when_not_all_its_requirements_are_filtered/test.itest rename to tests/integration/features/html/--filter-requirements/04_all_parent_sections_MUST_NOT_be_filtered_when_not_all_its_requirements_are_filtered/test.itest diff --git a/tests/integration/commands/export/html/--filter-requirements/_validations/01_incorrect_query/input.sdoc b/tests/integration/features/html/--filter-requirements/_validations/01_incorrect_query/input.sdoc similarity index 100% rename from tests/integration/commands/export/html/--filter-requirements/_validations/01_incorrect_query/input.sdoc rename to tests/integration/features/html/--filter-requirements/_validations/01_incorrect_query/input.sdoc diff --git a/tests/integration/commands/export/html/--filter-requirements/_validations/01_incorrect_query/test.itest b/tests/integration/features/html/--filter-requirements/_validations/01_incorrect_query/test.itest similarity index 100% rename from tests/integration/commands/export/html/--filter-requirements/_validations/01_incorrect_query/test.itest rename to tests/integration/features/html/--filter-requirements/_validations/01_incorrect_query/test.itest diff --git a/tests/integration/commands/export/html/--filter-sections/01_filter_non_nested_section/input.sdoc b/tests/integration/features/html/--filter-sections/01_filter_non_nested_section/input.sdoc similarity index 100% rename from tests/integration/commands/export/html/--filter-sections/01_filter_non_nested_section/input.sdoc rename to tests/integration/features/html/--filter-sections/01_filter_non_nested_section/input.sdoc diff --git a/tests/integration/commands/export/html/--filter-sections/01_filter_non_nested_section/test.itest b/tests/integration/features/html/--filter-sections/01_filter_non_nested_section/test.itest similarity index 100% rename from tests/integration/commands/export/html/--filter-sections/01_filter_non_nested_section/test.itest rename to tests/integration/features/html/--filter-sections/01_filter_non_nested_section/test.itest diff --git a/tests/integration/commands/export/html/--filter-sections/02_filter_nested_section_parent/input.sdoc b/tests/integration/features/html/--filter-sections/02_filter_nested_section_parent/input.sdoc similarity index 100% rename from tests/integration/commands/export/html/--filter-sections/02_filter_nested_section_parent/input.sdoc rename to tests/integration/features/html/--filter-sections/02_filter_nested_section_parent/input.sdoc diff --git a/tests/integration/commands/export/html/--filter-sections/02_filter_nested_section_parent/test.itest b/tests/integration/features/html/--filter-sections/02_filter_nested_section_parent/test.itest similarity index 100% rename from tests/integration/commands/export/html/--filter-sections/02_filter_nested_section_parent/test.itest rename to tests/integration/features/html/--filter-sections/02_filter_nested_section_parent/test.itest diff --git a/tests/integration/commands/export/html/--filter-sections/03_filter_nested_section/input.sdoc b/tests/integration/features/html/--filter-sections/03_filter_nested_section/input.sdoc similarity index 100% rename from tests/integration/commands/export/html/--filter-sections/03_filter_nested_section/input.sdoc rename to tests/integration/features/html/--filter-sections/03_filter_nested_section/input.sdoc diff --git a/tests/integration/commands/export/html/--filter-sections/03_filter_nested_section/test.itest b/tests/integration/features/html/--filter-sections/03_filter_nested_section/test.itest similarity index 100% rename from tests/integration/commands/export/html/--filter-sections/03_filter_nested_section/test.itest rename to tests/integration/features/html/--filter-sections/03_filter_nested_section/test.itest diff --git a/tests/integration/commands/export/html/--filter-sections/_validations/01_incorrect_query/input.sdoc b/tests/integration/features/html/--filter-sections/_validations/01_incorrect_query/input.sdoc similarity index 100% rename from tests/integration/commands/export/html/--filter-sections/_validations/01_incorrect_query/input.sdoc rename to tests/integration/features/html/--filter-sections/_validations/01_incorrect_query/input.sdoc diff --git a/tests/integration/commands/export/html/--filter-sections/_validations/01_incorrect_query/test.itest b/tests/integration/features/html/--filter-sections/_validations/01_incorrect_query/test.itest similarity index 100% rename from tests/integration/commands/export/html/--filter-sections/_validations/01_incorrect_query/test.itest rename to tests/integration/features/html/--filter-sections/_validations/01_incorrect_query/test.itest diff --git a/tests/integration/commands/export/html/assets/01_asset_export/_assets/sandbox1.svg b/tests/integration/features/html/assets/01_asset_export/_assets/sandbox1.svg similarity index 100% rename from tests/integration/commands/export/html/assets/01_asset_export/_assets/sandbox1.svg rename to tests/integration/features/html/assets/01_asset_export/_assets/sandbox1.svg diff --git a/tests/integration/commands/export/html/assets/01_asset_export/input.sdoc b/tests/integration/features/html/assets/01_asset_export/input.sdoc similarity index 100% rename from tests/integration/commands/export/html/assets/01_asset_export/input.sdoc rename to tests/integration/features/html/assets/01_asset_export/input.sdoc diff --git a/tests/integration/commands/export/html/assets/01_asset_export/test.itest b/tests/integration/features/html/assets/01_asset_export/test.itest similarity index 100% rename from tests/integration/commands/export/html/assets/01_asset_export/test.itest rename to tests/integration/features/html/assets/01_asset_export/test.itest diff --git a/tests/integration/commands/export/html/assets/02_asset_export_single_sdoc_rel_path/_assets/sandbox1.svg b/tests/integration/features/html/assets/02_asset_export_single_sdoc_rel_path/_assets/sandbox1.svg similarity index 100% rename from tests/integration/commands/export/html/assets/02_asset_export_single_sdoc_rel_path/_assets/sandbox1.svg rename to tests/integration/features/html/assets/02_asset_export_single_sdoc_rel_path/_assets/sandbox1.svg diff --git a/tests/integration/commands/export/html/assets/02_asset_export_single_sdoc_rel_path/input.sdoc b/tests/integration/features/html/assets/02_asset_export_single_sdoc_rel_path/input.sdoc similarity index 100% rename from tests/integration/commands/export/html/assets/02_asset_export_single_sdoc_rel_path/input.sdoc rename to tests/integration/features/html/assets/02_asset_export_single_sdoc_rel_path/input.sdoc diff --git a/tests/integration/commands/export/html/assets/02_asset_export_single_sdoc_rel_path/test.itest b/tests/integration/features/html/assets/02_asset_export_single_sdoc_rel_path/test.itest similarity index 100% rename from tests/integration/commands/export/html/assets/02_asset_export_single_sdoc_rel_path/test.itest rename to tests/integration/features/html/assets/02_asset_export_single_sdoc_rel_path/test.itest diff --git a/tests/integration/commands/export/html/assets/03_asset_export_single_sdoc_full_path/_assets/sandbox1.svg b/tests/integration/features/html/assets/03_asset_export_single_sdoc_full_path/_assets/sandbox1.svg similarity index 100% rename from tests/integration/commands/export/html/assets/03_asset_export_single_sdoc_full_path/_assets/sandbox1.svg rename to tests/integration/features/html/assets/03_asset_export_single_sdoc_full_path/_assets/sandbox1.svg diff --git a/tests/integration/commands/export/html/assets/03_asset_export_single_sdoc_full_path/input.sdoc b/tests/integration/features/html/assets/03_asset_export_single_sdoc_full_path/input.sdoc similarity index 100% rename from tests/integration/commands/export/html/assets/03_asset_export_single_sdoc_full_path/input.sdoc rename to tests/integration/features/html/assets/03_asset_export_single_sdoc_full_path/input.sdoc diff --git a/tests/integration/commands/export/html/assets/03_asset_export_single_sdoc_full_path/test.itest b/tests/integration/features/html/assets/03_asset_export_single_sdoc_full_path/test.itest similarity index 100% rename from tests/integration/commands/export/html/assets/03_asset_export_single_sdoc_full_path/test.itest rename to tests/integration/features/html/assets/03_asset_export_single_sdoc_full_path/test.itest diff --git a/tests/integration/commands/export/html/assets/05_asset_export_does_only_when_newer/test.itest b/tests/integration/features/html/assets/05_asset_export_does_only_when_newer/test.itest similarity index 100% rename from tests/integration/commands/export/html/assets/05_asset_export_does_only_when_newer/test.itest rename to tests/integration/features/html/assets/05_asset_export_does_only_when_newer/test.itest diff --git a/tests/integration/commands/export/html/assets/05_asset_export_does_only_when_newer/test_document/_assets/sandbox1.svg b/tests/integration/features/html/assets/05_asset_export_does_only_when_newer/test_document/_assets/sandbox1.svg similarity index 100% rename from tests/integration/commands/export/html/assets/05_asset_export_does_only_when_newer/test_document/_assets/sandbox1.svg rename to tests/integration/features/html/assets/05_asset_export_does_only_when_newer/test_document/_assets/sandbox1.svg diff --git a/tests/integration/commands/export/html/assets/05_asset_export_does_only_when_newer/test_document/input.sdoc b/tests/integration/features/html/assets/05_asset_export_does_only_when_newer/test_document/input.sdoc similarity index 100% rename from tests/integration/commands/export/html/assets/05_asset_export_does_only_when_newer/test_document/input.sdoc rename to tests/integration/features/html/assets/05_asset_export_does_only_when_newer/test_document/input.sdoc diff --git a/tests/integration/commands/export/html/assets/20_asset_export_single_sdoc_double_includes_rel_path/_assets/sandbox1.svg b/tests/integration/features/html/assets/20_asset_export_single_sdoc_double_includes_rel_path/_assets/sandbox1.svg similarity index 100% rename from tests/integration/commands/export/html/assets/20_asset_export_single_sdoc_double_includes_rel_path/_assets/sandbox1.svg rename to tests/integration/features/html/assets/20_asset_export_single_sdoc_double_includes_rel_path/_assets/sandbox1.svg diff --git a/tests/integration/commands/export/html/assets/20_asset_export_single_sdoc_double_includes_rel_path/included.sdoc b/tests/integration/features/html/assets/20_asset_export_single_sdoc_double_includes_rel_path/included.sdoc similarity index 100% rename from tests/integration/commands/export/html/assets/20_asset_export_single_sdoc_double_includes_rel_path/included.sdoc rename to tests/integration/features/html/assets/20_asset_export_single_sdoc_double_includes_rel_path/included.sdoc diff --git a/tests/integration/commands/export/html/assets/20_asset_export_single_sdoc_double_includes_rel_path/input.sdoc b/tests/integration/features/html/assets/20_asset_export_single_sdoc_double_includes_rel_path/input.sdoc similarity index 100% rename from tests/integration/commands/export/html/assets/20_asset_export_single_sdoc_double_includes_rel_path/input.sdoc rename to tests/integration/features/html/assets/20_asset_export_single_sdoc_double_includes_rel_path/input.sdoc diff --git a/tests/integration/commands/export/html/assets/20_asset_export_single_sdoc_double_includes_rel_path/test.itest b/tests/integration/features/html/assets/20_asset_export_single_sdoc_double_includes_rel_path/test.itest similarity index 100% rename from tests/integration/commands/export/html/assets/20_asset_export_single_sdoc_double_includes_rel_path/test.itest rename to tests/integration/features/html/assets/20_asset_export_single_sdoc_double_includes_rel_path/test.itest diff --git a/tests/integration/commands/export/html/child_links/01_basic_compliance_matrix/compliance_matrix.sdoc b/tests/integration/features/html/child_links/01_basic_compliance_matrix/compliance_matrix.sdoc similarity index 100% rename from tests/integration/commands/export/html/child_links/01_basic_compliance_matrix/compliance_matrix.sdoc rename to tests/integration/features/html/child_links/01_basic_compliance_matrix/compliance_matrix.sdoc diff --git a/tests/integration/commands/export/html/child_links/01_basic_compliance_matrix/parent.sdoc b/tests/integration/features/html/child_links/01_basic_compliance_matrix/parent.sdoc similarity index 100% rename from tests/integration/commands/export/html/child_links/01_basic_compliance_matrix/parent.sdoc rename to tests/integration/features/html/child_links/01_basic_compliance_matrix/parent.sdoc diff --git a/tests/integration/commands/export/html/child_links/01_basic_compliance_matrix/supplier.sdoc b/tests/integration/features/html/child_links/01_basic_compliance_matrix/supplier.sdoc similarity index 100% rename from tests/integration/commands/export/html/child_links/01_basic_compliance_matrix/supplier.sdoc rename to tests/integration/features/html/child_links/01_basic_compliance_matrix/supplier.sdoc diff --git a/tests/integration/commands/export/html/child_links/01_basic_compliance_matrix/test.itest b/tests/integration/features/html/child_links/01_basic_compliance_matrix/test.itest similarity index 100% rename from tests/integration/commands/export/html/child_links/01_basic_compliance_matrix/test.itest rename to tests/integration/features/html/child_links/01_basic_compliance_matrix/test.itest diff --git a/tests/integration/commands/export/html/child_links/02_child_link_not_registered_relation/sample.sdoc b/tests/integration/features/html/child_links/02_child_link_not_registered_relation/sample.sdoc similarity index 100% rename from tests/integration/commands/export/html/child_links/02_child_link_not_registered_relation/sample.sdoc rename to tests/integration/features/html/child_links/02_child_link_not_registered_relation/sample.sdoc diff --git a/tests/integration/commands/export/html/child_links/02_child_link_not_registered_relation/test.itest b/tests/integration/features/html/child_links/02_child_link_not_registered_relation/test.itest similarity index 100% rename from tests/integration/commands/export/html/child_links/02_child_link_not_registered_relation/test.itest rename to tests/integration/features/html/child_links/02_child_link_not_registered_relation/test.itest diff --git a/tests/integration/commands/export/html/child_links/03_child_link_does_not_exist/sample.sdoc b/tests/integration/features/html/child_links/03_child_link_does_not_exist/sample.sdoc similarity index 100% rename from tests/integration/commands/export/html/child_links/03_child_link_does_not_exist/sample.sdoc rename to tests/integration/features/html/child_links/03_child_link_does_not_exist/sample.sdoc diff --git a/tests/integration/commands/export/html/child_links/03_child_link_does_not_exist/test.itest b/tests/integration/features/html/child_links/03_child_link_does_not_exist/test.itest similarity index 100% rename from tests/integration/commands/export/html/child_links/03_child_link_does_not_exist/test.itest rename to tests/integration/features/html/child_links/03_child_link_does_not_exist/test.itest diff --git a/tests/integration/commands/export/html/escaping/01_escape_input_from_sdoc/input.sdoc b/tests/integration/features/html/escaping/01_escape_input_from_sdoc/input.sdoc similarity index 100% rename from tests/integration/commands/export/html/escaping/01_escape_input_from_sdoc/input.sdoc rename to tests/integration/features/html/escaping/01_escape_input_from_sdoc/input.sdoc diff --git a/tests/integration/commands/export/html/escaping/01_escape_input_from_sdoc/strictdoc.toml b/tests/integration/features/html/escaping/01_escape_input_from_sdoc/strictdoc.toml similarity index 100% rename from tests/integration/commands/export/html/escaping/01_escape_input_from_sdoc/strictdoc.toml rename to tests/integration/features/html/escaping/01_escape_input_from_sdoc/strictdoc.toml diff --git a/tests/integration/commands/export/html/escaping/01_escape_input_from_sdoc/test.itest b/tests/integration/features/html/escaping/01_escape_input_from_sdoc/test.itest similarity index 100% rename from tests/integration/commands/export/html/escaping/01_escape_input_from_sdoc/test.itest rename to tests/integration/features/html/escaping/01_escape_input_from_sdoc/test.itest diff --git a/tests/integration/commands/export/html/escaping/02_escape_input_from_src_file/file.py b/tests/integration/features/html/escaping/02_escape_input_from_src_file/file.py similarity index 100% rename from tests/integration/commands/export/html/escaping/02_escape_input_from_src_file/file.py rename to tests/integration/features/html/escaping/02_escape_input_from_src_file/file.py diff --git a/tests/integration/commands/export/html/escaping/02_escape_input_from_src_file/input.sdoc b/tests/integration/features/html/escaping/02_escape_input_from_src_file/input.sdoc similarity index 100% rename from tests/integration/commands/export/html/escaping/02_escape_input_from_src_file/input.sdoc rename to tests/integration/features/html/escaping/02_escape_input_from_src_file/input.sdoc diff --git a/tests/integration/commands/export/html/escaping/02_escape_input_from_src_file/strictdoc.toml b/tests/integration/features/html/escaping/02_escape_input_from_src_file/strictdoc.toml similarity index 100% rename from tests/integration/commands/export/html/escaping/02_escape_input_from_src_file/strictdoc.toml rename to tests/integration/features/html/escaping/02_escape_input_from_src_file/strictdoc.toml diff --git a/tests/integration/commands/export/html/escaping/02_escape_input_from_src_file/test.itest b/tests/integration/features/html/escaping/02_escape_input_from_src_file/test.itest similarity index 100% rename from tests/integration/commands/export/html/escaping/02_escape_input_from_src_file/test.itest rename to tests/integration/features/html/escaping/02_escape_input_from_src_file/test.itest diff --git a/tests/integration/commands/export/html/grammar/01_custom_field/input.sdoc b/tests/integration/features/html/grammar/01_custom_field/input.sdoc similarity index 100% rename from tests/integration/commands/export/html/grammar/01_custom_field/input.sdoc rename to tests/integration/features/html/grammar/01_custom_field/input.sdoc diff --git a/tests/integration/commands/export/html/grammar/01_custom_field/test.itest b/tests/integration/features/html/grammar/01_custom_field/test.itest similarity index 100% rename from tests/integration/commands/export/html/grammar/01_custom_field/test.itest rename to tests/integration/features/html/grammar/01_custom_field/test.itest diff --git a/tests/integration/commands/export/html/grammar/02_custom_field_rendered_to_rst/input.sdoc b/tests/integration/features/html/grammar/02_custom_field_rendered_to_rst/input.sdoc similarity index 100% rename from tests/integration/commands/export/html/grammar/02_custom_field_rendered_to_rst/input.sdoc rename to tests/integration/features/html/grammar/02_custom_field_rendered_to_rst/input.sdoc diff --git a/tests/integration/commands/export/html/grammar/02_custom_field_rendered_to_rst/test.itest b/tests/integration/features/html/grammar/02_custom_field_rendered_to_rst/test.itest similarity index 100% rename from tests/integration/commands/export/html/grammar/02_custom_field_rendered_to_rst/test.itest rename to tests/integration/features/html/grammar/02_custom_field_rendered_to_rst/test.itest diff --git a/tests/integration/commands/export/01_minimal_document/input.sdoc b/tests/integration/features/html/hello_world/01_minimal_document/input.sdoc similarity index 100% rename from tests/integration/commands/export/01_minimal_document/input.sdoc rename to tests/integration/features/html/hello_world/01_minimal_document/input.sdoc diff --git a/tests/integration/commands/export/01_minimal_document/test.itest b/tests/integration/features/html/hello_world/01_minimal_document/test.itest similarity index 100% rename from tests/integration/commands/export/01_minimal_document/test.itest rename to tests/integration/features/html/hello_world/01_minimal_document/test.itest diff --git a/tests/integration/commands/export/02_minimal_document_with_freetext/input.sdoc b/tests/integration/features/html/hello_world/02_minimal_document_with_freetext/input.sdoc similarity index 100% rename from tests/integration/commands/export/02_minimal_document_with_freetext/input.sdoc rename to tests/integration/features/html/hello_world/02_minimal_document_with_freetext/input.sdoc diff --git a/tests/integration/commands/export/02_minimal_document_with_freetext/test.itest b/tests/integration/features/html/hello_world/02_minimal_document_with_freetext/test.itest similarity index 100% rename from tests/integration/commands/export/02_minimal_document_with_freetext/test.itest rename to tests/integration/features/html/hello_world/02_minimal_document_with_freetext/test.itest diff --git a/tests/integration/commands/export/html/incremental_generation/01_when_parent_changes_generate_children/child.sdoc b/tests/integration/features/html/incremental_generation/01_when_parent_changes_generate_children/child.sdoc similarity index 100% rename from tests/integration/commands/export/html/incremental_generation/01_when_parent_changes_generate_children/child.sdoc rename to tests/integration/features/html/incremental_generation/01_when_parent_changes_generate_children/child.sdoc diff --git a/tests/integration/commands/export/html/incremental_generation/01_when_parent_changes_generate_children/grandchild.sdoc b/tests/integration/features/html/incremental_generation/01_when_parent_changes_generate_children/grandchild.sdoc similarity index 100% rename from tests/integration/commands/export/html/incremental_generation/01_when_parent_changes_generate_children/grandchild.sdoc rename to tests/integration/features/html/incremental_generation/01_when_parent_changes_generate_children/grandchild.sdoc diff --git a/tests/integration/commands/export/html/incremental_generation/01_when_parent_changes_generate_children/parent.sdoc b/tests/integration/features/html/incremental_generation/01_when_parent_changes_generate_children/parent.sdoc similarity index 100% rename from tests/integration/commands/export/html/incremental_generation/01_when_parent_changes_generate_children/parent.sdoc rename to tests/integration/features/html/incremental_generation/01_when_parent_changes_generate_children/parent.sdoc diff --git a/tests/integration/commands/export/html/incremental_generation/01_when_parent_changes_generate_children/test.itest b/tests/integration/features/html/incremental_generation/01_when_parent_changes_generate_children/test.itest similarity index 100% rename from tests/integration/commands/export/html/incremental_generation/01_when_parent_changes_generate_children/test.itest rename to tests/integration/features/html/incremental_generation/01_when_parent_changes_generate_children/test.itest diff --git a/tests/integration/commands/export/html/incremental_generation/02_when_child_changes_generate_parents/child.sdoc b/tests/integration/features/html/incremental_generation/02_when_child_changes_generate_parents/child.sdoc similarity index 100% rename from tests/integration/commands/export/html/incremental_generation/02_when_child_changes_generate_parents/child.sdoc rename to tests/integration/features/html/incremental_generation/02_when_child_changes_generate_parents/child.sdoc diff --git a/tests/integration/commands/export/html/incremental_generation/02_when_child_changes_generate_parents/grandchild.sdoc b/tests/integration/features/html/incremental_generation/02_when_child_changes_generate_parents/grandchild.sdoc similarity index 100% rename from tests/integration/commands/export/html/incremental_generation/02_when_child_changes_generate_parents/grandchild.sdoc rename to tests/integration/features/html/incremental_generation/02_when_child_changes_generate_parents/grandchild.sdoc diff --git a/tests/integration/commands/export/html/incremental_generation/02_when_child_changes_generate_parents/parent.sdoc b/tests/integration/features/html/incremental_generation/02_when_child_changes_generate_parents/parent.sdoc similarity index 100% rename from tests/integration/commands/export/html/incremental_generation/02_when_child_changes_generate_parents/parent.sdoc rename to tests/integration/features/html/incremental_generation/02_when_child_changes_generate_parents/parent.sdoc diff --git a/tests/integration/commands/export/html/incremental_generation/02_when_child_changes_generate_parents/test.itest b/tests/integration/features/html/incremental_generation/02_when_child_changes_generate_parents/test.itest similarity index 100% rename from tests/integration/commands/export/html/incremental_generation/02_when_child_changes_generate_parents/test.itest rename to tests/integration/features/html/incremental_generation/02_when_child_changes_generate_parents/test.itest diff --git a/tests/integration/commands/export/html/incremental_generation/03_when_new_child_generate_parents/child.sdoc b/tests/integration/features/html/incremental_generation/03_when_new_child_generate_parents/child.sdoc similarity index 100% rename from tests/integration/commands/export/html/incremental_generation/03_when_new_child_generate_parents/child.sdoc rename to tests/integration/features/html/incremental_generation/03_when_new_child_generate_parents/child.sdoc diff --git a/tests/integration/commands/export/html/incremental_generation/03_when_new_child_generate_parents/parent.sdoc b/tests/integration/features/html/incremental_generation/03_when_new_child_generate_parents/parent.sdoc similarity index 100% rename from tests/integration/commands/export/html/incremental_generation/03_when_new_child_generate_parents/parent.sdoc rename to tests/integration/features/html/incremental_generation/03_when_new_child_generate_parents/parent.sdoc diff --git a/tests/integration/commands/export/html/incremental_generation/03_when_new_child_generate_parents/test.itest b/tests/integration/features/html/incremental_generation/03_when_new_child_generate_parents/test.itest similarity index 100% rename from tests/integration/commands/export/html/incremental_generation/03_when_new_child_generate_parents/test.itest rename to tests/integration/features/html/incremental_generation/03_when_new_child_generate_parents/test.itest diff --git a/tests/integration/commands/export/html/incremental_generation/04_when_config_changes_generate_everything/01_parent.sdoc b/tests/integration/features/html/incremental_generation/04_when_config_changes_generate_everything/01_parent.sdoc similarity index 100% rename from tests/integration/commands/export/html/incremental_generation/04_when_config_changes_generate_everything/01_parent.sdoc rename to tests/integration/features/html/incremental_generation/04_when_config_changes_generate_everything/01_parent.sdoc diff --git a/tests/integration/commands/export/html/incremental_generation/04_when_config_changes_generate_everything/02_child.sdoc b/tests/integration/features/html/incremental_generation/04_when_config_changes_generate_everything/02_child.sdoc similarity index 100% rename from tests/integration/commands/export/html/incremental_generation/04_when_config_changes_generate_everything/02_child.sdoc rename to tests/integration/features/html/incremental_generation/04_when_config_changes_generate_everything/02_child.sdoc diff --git a/tests/integration/commands/export/html/incremental_generation/04_when_config_changes_generate_everything/03_grandchild.sdoc b/tests/integration/features/html/incremental_generation/04_when_config_changes_generate_everything/03_grandchild.sdoc similarity index 100% rename from tests/integration/commands/export/html/incremental_generation/04_when_config_changes_generate_everything/03_grandchild.sdoc rename to tests/integration/features/html/incremental_generation/04_when_config_changes_generate_everything/03_grandchild.sdoc diff --git a/tests/integration/commands/export/html/incremental_generation/04_when_config_changes_generate_everything/strictdoc.toml b/tests/integration/features/html/incremental_generation/04_when_config_changes_generate_everything/strictdoc.toml similarity index 100% rename from tests/integration/commands/export/html/incremental_generation/04_when_config_changes_generate_everything/strictdoc.toml rename to tests/integration/features/html/incremental_generation/04_when_config_changes_generate_everything/strictdoc.toml diff --git a/tests/integration/commands/export/html/incremental_generation/04_when_config_changes_generate_everything/test.itest b/tests/integration/features/html/incremental_generation/04_when_config_changes_generate_everything/test.itest similarity index 100% rename from tests/integration/commands/export/html/incremental_generation/04_when_config_changes_generate_everything/test.itest rename to tests/integration/features/html/incremental_generation/04_when_config_changes_generate_everything/test.itest diff --git a/tests/integration/commands/export/html/jinja/01_does_not_choke_on_ds_store_macos_files/.gitignore b/tests/integration/features/html/jinja/01_does_not_choke_on_ds_store_macos_files/.gitignore similarity index 100% rename from tests/integration/commands/export/html/jinja/01_does_not_choke_on_ds_store_macos_files/.gitignore rename to tests/integration/features/html/jinja/01_does_not_choke_on_ds_store_macos_files/.gitignore diff --git a/tests/integration/commands/export/html/jinja/01_does_not_choke_on_ds_store_macos_files/input.sdoc b/tests/integration/features/html/jinja/01_does_not_choke_on_ds_store_macos_files/input.sdoc similarity index 100% rename from tests/integration/commands/export/html/jinja/01_does_not_choke_on_ds_store_macos_files/input.sdoc rename to tests/integration/features/html/jinja/01_does_not_choke_on_ds_store_macos_files/input.sdoc diff --git a/tests/integration/commands/export/html/jinja/01_does_not_choke_on_ds_store_macos_files/test.itest b/tests/integration/features/html/jinja/01_does_not_choke_on_ds_store_macos_files/test.itest similarity index 100% rename from tests/integration/commands/export/html/jinja/01_does_not_choke_on_ds_store_macos_files/test.itest rename to tests/integration/features/html/jinja/01_does_not_choke_on_ds_store_macos_files/test.itest diff --git a/tests/integration/commands/export/html/markup/01_referencing_a_section_with_LINK/input.sdoc b/tests/integration/features/html/markup/01_referencing_a_section_with_LINK/input.sdoc similarity index 100% rename from tests/integration/commands/export/html/markup/01_referencing_a_section_with_LINK/input.sdoc rename to tests/integration/features/html/markup/01_referencing_a_section_with_LINK/input.sdoc diff --git a/tests/integration/commands/export/html/markup/01_referencing_a_section_with_LINK/section.sdoc b/tests/integration/features/html/markup/01_referencing_a_section_with_LINK/section.sdoc similarity index 100% rename from tests/integration/commands/export/html/markup/01_referencing_a_section_with_LINK/section.sdoc rename to tests/integration/features/html/markup/01_referencing_a_section_with_LINK/section.sdoc diff --git a/tests/integration/commands/export/html/markup/01_referencing_a_section_with_LINK/test.itest b/tests/integration/features/html/markup/01_referencing_a_section_with_LINK/test.itest similarity index 100% rename from tests/integration/commands/export/html/markup/01_referencing_a_section_with_LINK/test.itest rename to tests/integration/features/html/markup/01_referencing_a_section_with_LINK/test.itest diff --git a/tests/integration/commands/export/html/markup/02_referencing_anchor_with_LINK_internal/input.sdoc b/tests/integration/features/html/markup/02_referencing_anchor_with_LINK_internal/input.sdoc similarity index 100% rename from tests/integration/commands/export/html/markup/02_referencing_anchor_with_LINK_internal/input.sdoc rename to tests/integration/features/html/markup/02_referencing_anchor_with_LINK_internal/input.sdoc diff --git a/tests/integration/commands/export/html/markup/02_referencing_anchor_with_LINK_internal/test.itest b/tests/integration/features/html/markup/02_referencing_anchor_with_LINK_internal/test.itest similarity index 100% rename from tests/integration/commands/export/html/markup/02_referencing_anchor_with_LINK_internal/test.itest rename to tests/integration/features/html/markup/02_referencing_anchor_with_LINK_internal/test.itest diff --git a/tests/integration/commands/export/html/markup/03_referencing_anchor_with_LINK_external/input.sdoc b/tests/integration/features/html/markup/03_referencing_anchor_with_LINK_external/input.sdoc similarity index 100% rename from tests/integration/commands/export/html/markup/03_referencing_anchor_with_LINK_external/input.sdoc rename to tests/integration/features/html/markup/03_referencing_anchor_with_LINK_external/input.sdoc diff --git a/tests/integration/commands/export/html/markup/03_referencing_anchor_with_LINK_external/input2.sdoc b/tests/integration/features/html/markup/03_referencing_anchor_with_LINK_external/input2.sdoc similarity index 100% rename from tests/integration/commands/export/html/markup/03_referencing_anchor_with_LINK_external/input2.sdoc rename to tests/integration/features/html/markup/03_referencing_anchor_with_LINK_external/input2.sdoc diff --git a/tests/integration/commands/export/html/markup/03_referencing_anchor_with_LINK_external/test.itest b/tests/integration/features/html/markup/03_referencing_anchor_with_LINK_external/test.itest similarity index 100% rename from tests/integration/commands/export/html/markup/03_referencing_anchor_with_LINK_external/test.itest rename to tests/integration/features/html/markup/03_referencing_anchor_with_LINK_external/test.itest diff --git a/tests/integration/commands/export/html/markup/04_referencing_a_section_with_LINK_node/input.sdoc b/tests/integration/features/html/markup/04_referencing_a_section_with_LINK_node/input.sdoc similarity index 100% rename from tests/integration/commands/export/html/markup/04_referencing_a_section_with_LINK_node/input.sdoc rename to tests/integration/features/html/markup/04_referencing_a_section_with_LINK_node/input.sdoc diff --git a/tests/integration/commands/export/html/markup/04_referencing_a_section_with_LINK_node/nodes.sdoc b/tests/integration/features/html/markup/04_referencing_a_section_with_LINK_node/nodes.sdoc similarity index 100% rename from tests/integration/commands/export/html/markup/04_referencing_a_section_with_LINK_node/nodes.sdoc rename to tests/integration/features/html/markup/04_referencing_a_section_with_LINK_node/nodes.sdoc diff --git a/tests/integration/commands/export/html/markup/04_referencing_a_section_with_LINK_node/test.itest b/tests/integration/features/html/markup/04_referencing_a_section_with_LINK_node/test.itest similarity index 100% rename from tests/integration/commands/export/html/markup/04_referencing_a_section_with_LINK_node/test.itest rename to tests/integration/features/html/markup/04_referencing_a_section_with_LINK_node/test.itest diff --git a/tests/integration/commands/export/html/markup/10_node_LINK_references_a_section/input.sdoc b/tests/integration/features/html/markup/10_node_LINK_references_a_section/input.sdoc similarity index 100% rename from tests/integration/commands/export/html/markup/10_node_LINK_references_a_section/input.sdoc rename to tests/integration/features/html/markup/10_node_LINK_references_a_section/input.sdoc diff --git a/tests/integration/commands/export/html/markup/10_node_LINK_references_a_section/section.sdoc b/tests/integration/features/html/markup/10_node_LINK_references_a_section/section.sdoc similarity index 100% rename from tests/integration/commands/export/html/markup/10_node_LINK_references_a_section/section.sdoc rename to tests/integration/features/html/markup/10_node_LINK_references_a_section/section.sdoc diff --git a/tests/integration/commands/export/html/markup/10_node_LINK_references_a_section/test.itest b/tests/integration/features/html/markup/10_node_LINK_references_a_section/test.itest similarity index 100% rename from tests/integration/commands/export/html/markup/10_node_LINK_references_a_section/test.itest rename to tests/integration/features/html/markup/10_node_LINK_references_a_section/test.itest diff --git a/tests/integration/commands/export/html/markup/11_node_LINK_references_a_document/input1.sdoc b/tests/integration/features/html/markup/11_node_LINK_references_a_document/input1.sdoc similarity index 100% rename from tests/integration/commands/export/html/markup/11_node_LINK_references_a_document/input1.sdoc rename to tests/integration/features/html/markup/11_node_LINK_references_a_document/input1.sdoc diff --git a/tests/integration/commands/export/html/markup/11_node_LINK_references_a_document/input2.sdoc b/tests/integration/features/html/markup/11_node_LINK_references_a_document/input2.sdoc similarity index 100% rename from tests/integration/commands/export/html/markup/11_node_LINK_references_a_document/input2.sdoc rename to tests/integration/features/html/markup/11_node_LINK_references_a_document/input2.sdoc diff --git a/tests/integration/commands/export/html/markup/11_node_LINK_references_a_document/test.itest b/tests/integration/features/html/markup/11_node_LINK_references_a_document/test.itest similarity index 100% rename from tests/integration/commands/export/html/markup/11_node_LINK_references_a_document/test.itest rename to tests/integration/features/html/markup/11_node_LINK_references_a_document/test.itest diff --git a/tests/integration/commands/export/04_parallelization/input1.sdoc b/tests/integration/features/html/parallelization/04_parallelization/input1.sdoc similarity index 100% rename from tests/integration/commands/export/04_parallelization/input1.sdoc rename to tests/integration/features/html/parallelization/04_parallelization/input1.sdoc diff --git a/tests/integration/commands/export/04_parallelization/input10.sdoc b/tests/integration/features/html/parallelization/04_parallelization/input10.sdoc similarity index 100% rename from tests/integration/commands/export/04_parallelization/input10.sdoc rename to tests/integration/features/html/parallelization/04_parallelization/input10.sdoc diff --git a/tests/integration/commands/export/04_parallelization/input2.sdoc b/tests/integration/features/html/parallelization/04_parallelization/input2.sdoc similarity index 100% rename from tests/integration/commands/export/04_parallelization/input2.sdoc rename to tests/integration/features/html/parallelization/04_parallelization/input2.sdoc diff --git a/tests/integration/commands/export/04_parallelization/input3.sdoc b/tests/integration/features/html/parallelization/04_parallelization/input3.sdoc similarity index 100% rename from tests/integration/commands/export/04_parallelization/input3.sdoc rename to tests/integration/features/html/parallelization/04_parallelization/input3.sdoc diff --git a/tests/integration/commands/export/04_parallelization/input4.sdoc b/tests/integration/features/html/parallelization/04_parallelization/input4.sdoc similarity index 100% rename from tests/integration/commands/export/04_parallelization/input4.sdoc rename to tests/integration/features/html/parallelization/04_parallelization/input4.sdoc diff --git a/tests/integration/commands/export/04_parallelization/input5.sdoc b/tests/integration/features/html/parallelization/04_parallelization/input5.sdoc similarity index 100% rename from tests/integration/commands/export/04_parallelization/input5.sdoc rename to tests/integration/features/html/parallelization/04_parallelization/input5.sdoc diff --git a/tests/integration/commands/export/04_parallelization/input6.sdoc b/tests/integration/features/html/parallelization/04_parallelization/input6.sdoc similarity index 100% rename from tests/integration/commands/export/04_parallelization/input6.sdoc rename to tests/integration/features/html/parallelization/04_parallelization/input6.sdoc diff --git a/tests/integration/commands/export/04_parallelization/input7.sdoc b/tests/integration/features/html/parallelization/04_parallelization/input7.sdoc similarity index 100% rename from tests/integration/commands/export/04_parallelization/input7.sdoc rename to tests/integration/features/html/parallelization/04_parallelization/input7.sdoc diff --git a/tests/integration/commands/export/04_parallelization/input8.sdoc b/tests/integration/features/html/parallelization/04_parallelization/input8.sdoc similarity index 100% rename from tests/integration/commands/export/04_parallelization/input8.sdoc rename to tests/integration/features/html/parallelization/04_parallelization/input8.sdoc diff --git a/tests/integration/commands/export/04_parallelization/input9.sdoc b/tests/integration/features/html/parallelization/04_parallelization/input9.sdoc similarity index 100% rename from tests/integration/commands/export/04_parallelization/input9.sdoc rename to tests/integration/features/html/parallelization/04_parallelization/input9.sdoc diff --git a/tests/integration/commands/export/04_parallelization/test.itest b/tests/integration/features/html/parallelization/04_parallelization/test.itest similarity index 100% rename from tests/integration/commands/export/04_parallelization/test.itest rename to tests/integration/features/html/parallelization/04_parallelization/test.itest diff --git a/tests/integration/commands/export/05_parallelization_no_macos_problem_regression/input1.sdoc b/tests/integration/features/html/parallelization/05_parallelization_no_macos_problem_regression/input1.sdoc similarity index 100% rename from tests/integration/commands/export/05_parallelization_no_macos_problem_regression/input1.sdoc rename to tests/integration/features/html/parallelization/05_parallelization_no_macos_problem_regression/input1.sdoc diff --git a/tests/integration/commands/export/05_parallelization_no_macos_problem_regression/input10.sdoc b/tests/integration/features/html/parallelization/05_parallelization_no_macos_problem_regression/input10.sdoc similarity index 100% rename from tests/integration/commands/export/05_parallelization_no_macos_problem_regression/input10.sdoc rename to tests/integration/features/html/parallelization/05_parallelization_no_macos_problem_regression/input10.sdoc diff --git a/tests/integration/commands/export/05_parallelization_no_macos_problem_regression/input2.sdoc b/tests/integration/features/html/parallelization/05_parallelization_no_macos_problem_regression/input2.sdoc similarity index 100% rename from tests/integration/commands/export/05_parallelization_no_macos_problem_regression/input2.sdoc rename to tests/integration/features/html/parallelization/05_parallelization_no_macos_problem_regression/input2.sdoc diff --git a/tests/integration/commands/export/05_parallelization_no_macos_problem_regression/input3.sdoc b/tests/integration/features/html/parallelization/05_parallelization_no_macos_problem_regression/input3.sdoc similarity index 100% rename from tests/integration/commands/export/05_parallelization_no_macos_problem_regression/input3.sdoc rename to tests/integration/features/html/parallelization/05_parallelization_no_macos_problem_regression/input3.sdoc diff --git a/tests/integration/commands/export/05_parallelization_no_macos_problem_regression/input4.sdoc b/tests/integration/features/html/parallelization/05_parallelization_no_macos_problem_regression/input4.sdoc similarity index 100% rename from tests/integration/commands/export/05_parallelization_no_macos_problem_regression/input4.sdoc rename to tests/integration/features/html/parallelization/05_parallelization_no_macos_problem_regression/input4.sdoc diff --git a/tests/integration/commands/export/05_parallelization_no_macos_problem_regression/input5.sdoc b/tests/integration/features/html/parallelization/05_parallelization_no_macos_problem_regression/input5.sdoc similarity index 100% rename from tests/integration/commands/export/05_parallelization_no_macos_problem_regression/input5.sdoc rename to tests/integration/features/html/parallelization/05_parallelization_no_macos_problem_regression/input5.sdoc diff --git a/tests/integration/commands/export/05_parallelization_no_macos_problem_regression/input6.sdoc b/tests/integration/features/html/parallelization/05_parallelization_no_macos_problem_regression/input6.sdoc similarity index 100% rename from tests/integration/commands/export/05_parallelization_no_macos_problem_regression/input6.sdoc rename to tests/integration/features/html/parallelization/05_parallelization_no_macos_problem_regression/input6.sdoc diff --git a/tests/integration/commands/export/05_parallelization_no_macos_problem_regression/input7.sdoc b/tests/integration/features/html/parallelization/05_parallelization_no_macos_problem_regression/input7.sdoc similarity index 100% rename from tests/integration/commands/export/05_parallelization_no_macos_problem_regression/input7.sdoc rename to tests/integration/features/html/parallelization/05_parallelization_no_macos_problem_regression/input7.sdoc diff --git a/tests/integration/commands/export/05_parallelization_no_macos_problem_regression/input8.sdoc b/tests/integration/features/html/parallelization/05_parallelization_no_macos_problem_regression/input8.sdoc similarity index 100% rename from tests/integration/commands/export/05_parallelization_no_macos_problem_regression/input8.sdoc rename to tests/integration/features/html/parallelization/05_parallelization_no_macos_problem_regression/input8.sdoc diff --git a/tests/integration/commands/export/05_parallelization_no_macos_problem_regression/input9.sdoc b/tests/integration/features/html/parallelization/05_parallelization_no_macos_problem_regression/input9.sdoc similarity index 100% rename from tests/integration/commands/export/05_parallelization_no_macos_problem_regression/input9.sdoc rename to tests/integration/features/html/parallelization/05_parallelization_no_macos_problem_regression/input9.sdoc diff --git a/tests/integration/commands/export/05_parallelization_no_macos_problem_regression/test.itest b/tests/integration/features/html/parallelization/05_parallelization_no_macos_problem_regression/test.itest similarity index 100% rename from tests/integration/commands/export/05_parallelization_no_macos_problem_regression/test.itest rename to tests/integration/features/html/parallelization/05_parallelization_no_macos_problem_regression/test.itest diff --git a/tests/integration/commands/export/06_parallelization_sdoc_parsing_problem_in_child_process/input1.sdoc b/tests/integration/features/html/parallelization/06_parallelization_sdoc_parsing_problem_in_child_process/input1.sdoc similarity index 100% rename from tests/integration/commands/export/06_parallelization_sdoc_parsing_problem_in_child_process/input1.sdoc rename to tests/integration/features/html/parallelization/06_parallelization_sdoc_parsing_problem_in_child_process/input1.sdoc diff --git a/tests/integration/commands/export/06_parallelization_sdoc_parsing_problem_in_child_process/input2.sdoc b/tests/integration/features/html/parallelization/06_parallelization_sdoc_parsing_problem_in_child_process/input2.sdoc similarity index 100% rename from tests/integration/commands/export/06_parallelization_sdoc_parsing_problem_in_child_process/input2.sdoc rename to tests/integration/features/html/parallelization/06_parallelization_sdoc_parsing_problem_in_child_process/input2.sdoc diff --git a/tests/integration/commands/export/06_parallelization_sdoc_parsing_problem_in_child_process/input3.sdoc b/tests/integration/features/html/parallelization/06_parallelization_sdoc_parsing_problem_in_child_process/input3.sdoc similarity index 100% rename from tests/integration/commands/export/06_parallelization_sdoc_parsing_problem_in_child_process/input3.sdoc rename to tests/integration/features/html/parallelization/06_parallelization_sdoc_parsing_problem_in_child_process/input3.sdoc diff --git a/tests/integration/commands/export/06_parallelization_sdoc_parsing_problem_in_child_process/input4.sdoc b/tests/integration/features/html/parallelization/06_parallelization_sdoc_parsing_problem_in_child_process/input4.sdoc similarity index 100% rename from tests/integration/commands/export/06_parallelization_sdoc_parsing_problem_in_child_process/input4.sdoc rename to tests/integration/features/html/parallelization/06_parallelization_sdoc_parsing_problem_in_child_process/input4.sdoc diff --git a/tests/integration/commands/export/06_parallelization_sdoc_parsing_problem_in_child_process/test.itest b/tests/integration/features/html/parallelization/06_parallelization_sdoc_parsing_problem_in_child_process/test.itest similarity index 100% rename from tests/integration/commands/export/06_parallelization_sdoc_parsing_problem_in_child_process/test.itest rename to tests/integration/features/html/parallelization/06_parallelization_sdoc_parsing_problem_in_child_process/test.itest diff --git a/tests/integration/commands/export/03_input_dir_has_slash/input.sdoc b/tests/integration/features/html/path_resolution/03_input_dir_has_slash/input.sdoc similarity index 100% rename from tests/integration/commands/export/03_input_dir_has_slash/input.sdoc rename to tests/integration/features/html/path_resolution/03_input_dir_has_slash/input.sdoc diff --git a/tests/integration/commands/export/03_input_dir_has_slash/test.itest b/tests/integration/features/html/path_resolution/03_input_dir_has_slash/test.itest similarity index 100% rename from tests/integration/commands/export/03_input_dir_has_slash/test.itest rename to tests/integration/features/html/path_resolution/03_input_dir_has_slash/test.itest diff --git a/tests/integration/commands/export/07_input_is_single_file/input.sdoc b/tests/integration/features/html/path_resolution/07_input_is_single_file/input.sdoc similarity index 100% rename from tests/integration/commands/export/07_input_is_single_file/input.sdoc rename to tests/integration/features/html/path_resolution/07_input_is_single_file/input.sdoc diff --git a/tests/integration/commands/export/07_input_is_single_file/test.itest b/tests/integration/features/html/path_resolution/07_input_is_single_file/test.itest similarity index 100% rename from tests/integration/commands/export/07_input_is_single_file/test.itest rename to tests/integration/features/html/path_resolution/07_input_is_single_file/test.itest diff --git a/tests/integration/commands/export/08_finds_document_through_empty_intermediate_folders/input/intermediate/requirements/input.sdoc b/tests/integration/features/html/path_resolution/08_finds_document_through_empty_intermediate_folders/input/intermediate/requirements/input.sdoc similarity index 100% rename from tests/integration/commands/export/08_finds_document_through_empty_intermediate_folders/input/intermediate/requirements/input.sdoc rename to tests/integration/features/html/path_resolution/08_finds_document_through_empty_intermediate_folders/input/intermediate/requirements/input.sdoc diff --git a/tests/integration/commands/export/08_finds_document_through_empty_intermediate_folders/test.itest b/tests/integration/features/html/path_resolution/08_finds_document_through_empty_intermediate_folders/test.itest similarity index 100% rename from tests/integration/commands/export/08_finds_document_through_empty_intermediate_folders/test.itest rename to tests/integration/features/html/path_resolution/08_finds_document_through_empty_intermediate_folders/test.itest diff --git a/tests/integration/commands/export/09_does_not_find_documents_in_output_folder/input/input.sdoc b/tests/integration/features/html/path_resolution/09_does_not_find_documents_in_output_folder/input/input.sdoc similarity index 100% rename from tests/integration/commands/export/09_does_not_find_documents_in_output_folder/input/input.sdoc rename to tests/integration/features/html/path_resolution/09_does_not_find_documents_in_output_folder/input/input.sdoc diff --git a/tests/integration/commands/export/09_does_not_find_documents_in_output_folder/input2.sdoc_ b/tests/integration/features/html/path_resolution/09_does_not_find_documents_in_output_folder/input2.sdoc_ similarity index 100% rename from tests/integration/commands/export/09_does_not_find_documents_in_output_folder/input2.sdoc_ rename to tests/integration/features/html/path_resolution/09_does_not_find_documents_in_output_folder/input2.sdoc_ diff --git a/tests/integration/commands/export/09_does_not_find_documents_in_output_folder/test.itest b/tests/integration/features/html/path_resolution/09_does_not_find_documents_in_output_folder/test.itest similarity index 97% rename from tests/integration/commands/export/09_does_not_find_documents_in_output_folder/test.itest rename to tests/integration/features/html/path_resolution/09_does_not_find_documents_in_output_folder/test.itest index 6db006cad..06d6c6e6d 100644 --- a/tests/integration/commands/export/09_does_not_find_documents_in_output_folder/test.itest +++ b/tests/integration/features/html/path_resolution/09_does_not_find_documents_in_output_folder/test.itest @@ -4,6 +4,7 @@ RUN: %strictdoc export %S --no-parallelization --output-dir Output | filecheck % CHECK-NOT: Published: Hello world doc 2 CHECK: Published: Hello world doc 1 +FIXME: RUNs UN: %check_exists --file "%S/Output/html/index.html" UN: %check_exists --file "%S/Output/html/input/intermediate/requirements/input.html" diff --git a/tests/integration/commands/export/html/precompiled_jinja_templates/01_basic/input.sdoc b/tests/integration/features/html/precompiled_jinja_templates/01_basic/input.sdoc similarity index 100% rename from tests/integration/commands/export/html/precompiled_jinja_templates/01_basic/input.sdoc rename to tests/integration/features/html/precompiled_jinja_templates/01_basic/input.sdoc diff --git a/tests/integration/commands/export/html/precompiled_jinja_templates/01_basic/test.itest b/tests/integration/features/html/precompiled_jinja_templates/01_basic/test.itest similarity index 100% rename from tests/integration/commands/export/html/precompiled_jinja_templates/01_basic/test.itest rename to tests/integration/features/html/precompiled_jinja_templates/01_basic/test.itest diff --git a/tests/integration/commands/export/html/rst_markup_to_html/10_wildcard_enhanced_image/_assets/picture.svg b/tests/integration/features/html/rst_markup_to_html/10_wildcard_enhanced_image/_assets/picture.svg similarity index 100% rename from tests/integration/commands/export/html/rst_markup_to_html/10_wildcard_enhanced_image/_assets/picture.svg rename to tests/integration/features/html/rst_markup_to_html/10_wildcard_enhanced_image/_assets/picture.svg diff --git a/tests/integration/commands/export/html/rst_markup_to_html/10_wildcard_enhanced_image/input.sdoc b/tests/integration/features/html/rst_markup_to_html/10_wildcard_enhanced_image/input.sdoc similarity index 100% rename from tests/integration/commands/export/html/rst_markup_to_html/10_wildcard_enhanced_image/input.sdoc rename to tests/integration/features/html/rst_markup_to_html/10_wildcard_enhanced_image/input.sdoc diff --git a/tests/integration/commands/export/html/rst_markup_to_html/10_wildcard_enhanced_image/test.itest b/tests/integration/features/html/rst_markup_to_html/10_wildcard_enhanced_image/test.itest similarity index 100% rename from tests/integration/commands/export/html/rst_markup_to_html/10_wildcard_enhanced_image/test.itest rename to tests/integration/features/html/rst_markup_to_html/10_wildcard_enhanced_image/test.itest diff --git a/tests/integration/commands/export/html/rst_markup_to_html/11_wildcard_enhanced_image_nested/nested/_assets/picture.svg b/tests/integration/features/html/rst_markup_to_html/11_wildcard_enhanced_image_nested/nested/_assets/picture.svg similarity index 100% rename from tests/integration/commands/export/html/rst_markup_to_html/11_wildcard_enhanced_image_nested/nested/_assets/picture.svg rename to tests/integration/features/html/rst_markup_to_html/11_wildcard_enhanced_image_nested/nested/_assets/picture.svg diff --git a/tests/integration/commands/export/html/rst_markup_to_html/11_wildcard_enhanced_image_nested/nested/input.sdoc b/tests/integration/features/html/rst_markup_to_html/11_wildcard_enhanced_image_nested/nested/input.sdoc similarity index 100% rename from tests/integration/commands/export/html/rst_markup_to_html/11_wildcard_enhanced_image_nested/nested/input.sdoc rename to tests/integration/features/html/rst_markup_to_html/11_wildcard_enhanced_image_nested/nested/input.sdoc diff --git a/tests/integration/commands/export/html/rst_markup_to_html/11_wildcard_enhanced_image_nested/test.itest b/tests/integration/features/html/rst_markup_to_html/11_wildcard_enhanced_image_nested/test.itest similarity index 100% rename from tests/integration/commands/export/html/rst_markup_to_html/11_wildcard_enhanced_image_nested/test.itest rename to tests/integration/features/html/rst_markup_to_html/11_wildcard_enhanced_image_nested/test.itest diff --git a/tests/integration/commands/export/html/rst_markup_to_html/12_wildcard_enhanced_image_input_path_not_cwd/nested/_assets/picture.svg b/tests/integration/features/html/rst_markup_to_html/12_wildcard_enhanced_image_input_path_not_cwd/nested/_assets/picture.svg similarity index 100% rename from tests/integration/commands/export/html/rst_markup_to_html/12_wildcard_enhanced_image_input_path_not_cwd/nested/_assets/picture.svg rename to tests/integration/features/html/rst_markup_to_html/12_wildcard_enhanced_image_input_path_not_cwd/nested/_assets/picture.svg diff --git a/tests/integration/commands/export/html/rst_markup_to_html/12_wildcard_enhanced_image_input_path_not_cwd/nested/input.sdoc b/tests/integration/features/html/rst_markup_to_html/12_wildcard_enhanced_image_input_path_not_cwd/nested/input.sdoc similarity index 100% rename from tests/integration/commands/export/html/rst_markup_to_html/12_wildcard_enhanced_image_input_path_not_cwd/nested/input.sdoc rename to tests/integration/features/html/rst_markup_to_html/12_wildcard_enhanced_image_input_path_not_cwd/nested/input.sdoc diff --git a/tests/integration/commands/export/html/rst_markup_to_html/12_wildcard_enhanced_image_input_path_not_cwd/test.itest b/tests/integration/features/html/rst_markup_to_html/12_wildcard_enhanced_image_input_path_not_cwd/test.itest similarity index 100% rename from tests/integration/commands/export/html/rst_markup_to_html/12_wildcard_enhanced_image_input_path_not_cwd/test.itest rename to tests/integration/features/html/rst_markup_to_html/12_wildcard_enhanced_image_input_path_not_cwd/test.itest diff --git a/tests/integration/commands/export/html/rst_markup_to_html/20_csv_table/path1/_assets/img.jpg b/tests/integration/features/html/rst_markup_to_html/20_csv_table/path1/_assets/img.jpg similarity index 100% rename from tests/integration/commands/export/html/rst_markup_to_html/20_csv_table/path1/_assets/img.jpg rename to tests/integration/features/html/rst_markup_to_html/20_csv_table/path1/_assets/img.jpg diff --git a/tests/integration/commands/export/html/rst_markup_to_html/20_csv_table/path1/_assets/tab.csv b/tests/integration/features/html/rst_markup_to_html/20_csv_table/path1/_assets/tab.csv similarity index 100% rename from tests/integration/commands/export/html/rst_markup_to_html/20_csv_table/path1/_assets/tab.csv rename to tests/integration/features/html/rst_markup_to_html/20_csv_table/path1/_assets/tab.csv diff --git a/tests/integration/commands/export/html/rst_markup_to_html/20_csv_table/path1/test.sdoc b/tests/integration/features/html/rst_markup_to_html/20_csv_table/path1/test.sdoc similarity index 100% rename from tests/integration/commands/export/html/rst_markup_to_html/20_csv_table/path1/test.sdoc rename to tests/integration/features/html/rst_markup_to_html/20_csv_table/path1/test.sdoc diff --git a/tests/integration/commands/export/html/rst_markup_to_html/20_csv_table/test.itest b/tests/integration/features/html/rst_markup_to_html/20_csv_table/test.itest similarity index 100% rename from tests/integration/commands/export/html/rst_markup_to_html/20_csv_table/test.itest rename to tests/integration/features/html/rst_markup_to_html/20_csv_table/test.itest diff --git a/tests/integration/commands/export/html/rst_markup_to_html/30_code_block/input.sdoc b/tests/integration/features/html/rst_markup_to_html/30_code_block/input.sdoc similarity index 100% rename from tests/integration/commands/export/html/rst_markup_to_html/30_code_block/input.sdoc rename to tests/integration/features/html/rst_markup_to_html/30_code_block/input.sdoc diff --git a/tests/integration/commands/export/html/rst_markup_to_html/30_code_block/test.itest b/tests/integration/features/html/rst_markup_to_html/30_code_block/test.itest similarity index 100% rename from tests/integration/commands/export/html/rst_markup_to_html/30_code_block/test.itest rename to tests/integration/features/html/rst_markup_to_html/30_code_block/test.itest diff --git a/tests/integration/commands/export/html/rst_markup_to_html/40_link/input.sdoc b/tests/integration/features/html/rst_markup_to_html/40_link/input.sdoc similarity index 100% rename from tests/integration/commands/export/html/rst_markup_to_html/40_link/input.sdoc rename to tests/integration/features/html/rst_markup_to_html/40_link/input.sdoc diff --git a/tests/integration/commands/export/html/rst_markup_to_html/40_link/test.itest b/tests/integration/features/html/rst_markup_to_html/40_link/test.itest similarity index 100% rename from tests/integration/commands/export/html/rst_markup_to_html/40_link/test.itest rename to tests/integration/features/html/rst_markup_to_html/40_link/test.itest diff --git a/tests/integration/error_handling/03_rst_to_html_conversion_warnings/input.sdoc b/tests/integration/features/html/rst_markup_to_html/_validations/03_rst_to_html_conversion_warnings/input.sdoc similarity index 100% rename from tests/integration/error_handling/03_rst_to_html_conversion_warnings/input.sdoc rename to tests/integration/features/html/rst_markup_to_html/_validations/03_rst_to_html_conversion_warnings/input.sdoc diff --git a/tests/integration/error_handling/03_rst_to_html_conversion_warnings/test.itest b/tests/integration/features/html/rst_markup_to_html/_validations/03_rst_to_html_conversion_warnings/test.itest similarity index 100% rename from tests/integration/error_handling/03_rst_to_html_conversion_warnings/test.itest rename to tests/integration/features/html/rst_markup_to_html/_validations/03_rst_to_html_conversion_warnings/test.itest diff --git a/tests/integration/commands/export/html/utf8/01_utf8_in_sdoc/input.sdoc b/tests/integration/features/html/utf8/01_utf8_in_sdoc/input.sdoc similarity index 100% rename from tests/integration/commands/export/html/utf8/01_utf8_in_sdoc/input.sdoc rename to tests/integration/features/html/utf8/01_utf8_in_sdoc/input.sdoc diff --git a/tests/integration/commands/export/html/utf8/01_utf8_in_sdoc/test.itest b/tests/integration/features/html/utf8/01_utf8_in_sdoc/test.itest similarity index 100% rename from tests/integration/commands/export/html/utf8/01_utf8_in_sdoc/test.itest rename to tests/integration/features/html/utf8/01_utf8_in_sdoc/test.itest diff --git a/tests/integration/commands/export/json/01_basic_json_export/input1.sdoc b/tests/integration/features/json/01_basic_json_export/input1.sdoc similarity index 100% rename from tests/integration/commands/export/json/01_basic_json_export/input1.sdoc rename to tests/integration/features/json/01_basic_json_export/input1.sdoc diff --git a/tests/integration/commands/export/json/01_basic_json_export/input2.sdoc b/tests/integration/features/json/01_basic_json_export/input2.sdoc similarity index 100% rename from tests/integration/commands/export/json/01_basic_json_export/input2.sdoc rename to tests/integration/features/json/01_basic_json_export/input2.sdoc diff --git a/tests/integration/commands/export/json/01_basic_json_export/strictdoc.toml b/tests/integration/features/json/01_basic_json_export/strictdoc.toml similarity index 100% rename from tests/integration/commands/export/json/01_basic_json_export/strictdoc.toml rename to tests/integration/features/json/01_basic_json_export/strictdoc.toml diff --git a/tests/integration/commands/export/json/01_basic_json_export/test.itest b/tests/integration/features/json/01_basic_json_export/test.itest similarity index 100% rename from tests/integration/commands/export/json/01_basic_json_export/test.itest rename to tests/integration/features/json/01_basic_json_export/test.itest diff --git a/tests/integration/commands/export/json/02_export_without_and_with_included_documents/input.sdoc b/tests/integration/features/json/02_export_without_and_with_included_documents/input.sdoc similarity index 100% rename from tests/integration/commands/export/json/02_export_without_and_with_included_documents/input.sdoc rename to tests/integration/features/json/02_export_without_and_with_included_documents/input.sdoc diff --git a/tests/integration/commands/export/json/02_export_without_and_with_included_documents/input_included.sdoc b/tests/integration/features/json/02_export_without_and_with_included_documents/input_included.sdoc similarity index 100% rename from tests/integration/commands/export/json/02_export_without_and_with_included_documents/input_included.sdoc rename to tests/integration/features/json/02_export_without_and_with_included_documents/input_included.sdoc diff --git a/tests/integration/commands/export/json/02_export_without_and_with_included_documents/strictdoc.toml b/tests/integration/features/json/02_export_without_and_with_included_documents/strictdoc.toml similarity index 100% rename from tests/integration/commands/export/json/02_export_without_and_with_included_documents/strictdoc.toml rename to tests/integration/features/json/02_export_without_and_with_included_documents/strictdoc.toml diff --git a/tests/integration/commands/export/json/02_export_without_and_with_included_documents/test.itest b/tests/integration/features/json/02_export_without_and_with_included_documents/test.itest similarity index 100% rename from tests/integration/commands/export/json/02_export_without_and_with_included_documents/test.itest rename to tests/integration/features/json/02_export_without_and_with_included_documents/test.itest diff --git a/tests/integration/features/machine_identifiers_MID/_validations/01_document_mid_must_be_unique/input.sdoc b/tests/integration/features/machine_identifiers/_validations/01_document_mid_must_be_unique/input.sdoc similarity index 100% rename from tests/integration/features/machine_identifiers_MID/_validations/01_document_mid_must_be_unique/input.sdoc rename to tests/integration/features/machine_identifiers/_validations/01_document_mid_must_be_unique/input.sdoc diff --git a/tests/integration/features/machine_identifiers_MID/_validations/01_document_mid_must_be_unique/input2.sdoc b/tests/integration/features/machine_identifiers/_validations/01_document_mid_must_be_unique/input2.sdoc similarity index 100% rename from tests/integration/features/machine_identifiers_MID/_validations/01_document_mid_must_be_unique/input2.sdoc rename to tests/integration/features/machine_identifiers/_validations/01_document_mid_must_be_unique/input2.sdoc diff --git a/tests/integration/features/machine_identifiers_MID/_validations/01_document_mid_must_be_unique/test.itest b/tests/integration/features/machine_identifiers/_validations/01_document_mid_must_be_unique/test.itest similarity index 100% rename from tests/integration/features/machine_identifiers_MID/_validations/01_document_mid_must_be_unique/test.itest rename to tests/integration/features/machine_identifiers/_validations/01_document_mid_must_be_unique/test.itest diff --git a/tests/integration/features/machine_identifiers_MID/_validations/02_section_mid_must_be_unique/input.sdoc b/tests/integration/features/machine_identifiers/_validations/02_section_mid_must_be_unique/input.sdoc similarity index 100% rename from tests/integration/features/machine_identifiers_MID/_validations/02_section_mid_must_be_unique/input.sdoc rename to tests/integration/features/machine_identifiers/_validations/02_section_mid_must_be_unique/input.sdoc diff --git a/tests/integration/features/machine_identifiers_MID/_validations/02_section_mid_must_be_unique/input2.sdoc b/tests/integration/features/machine_identifiers/_validations/02_section_mid_must_be_unique/input2.sdoc similarity index 100% rename from tests/integration/features/machine_identifiers_MID/_validations/02_section_mid_must_be_unique/input2.sdoc rename to tests/integration/features/machine_identifiers/_validations/02_section_mid_must_be_unique/input2.sdoc diff --git a/tests/integration/features/machine_identifiers_MID/_validations/02_section_mid_must_be_unique/test.itest b/tests/integration/features/machine_identifiers/_validations/02_section_mid_must_be_unique/test.itest similarity index 100% rename from tests/integration/features/machine_identifiers_MID/_validations/02_section_mid_must_be_unique/test.itest rename to tests/integration/features/machine_identifiers/_validations/02_section_mid_must_be_unique/test.itest diff --git a/tests/integration/features/machine_identifiers_MID/_validations/03_requirement_mid_must_be_unique/input.sdoc b/tests/integration/features/machine_identifiers/_validations/03_requirement_mid_must_be_unique/input.sdoc similarity index 100% rename from tests/integration/features/machine_identifiers_MID/_validations/03_requirement_mid_must_be_unique/input.sdoc rename to tests/integration/features/machine_identifiers/_validations/03_requirement_mid_must_be_unique/input.sdoc diff --git a/tests/integration/features/machine_identifiers_MID/_validations/03_requirement_mid_must_be_unique/input2.sdoc b/tests/integration/features/machine_identifiers/_validations/03_requirement_mid_must_be_unique/input2.sdoc similarity index 100% rename from tests/integration/features/machine_identifiers_MID/_validations/03_requirement_mid_must_be_unique/input2.sdoc rename to tests/integration/features/machine_identifiers/_validations/03_requirement_mid_must_be_unique/input2.sdoc diff --git a/tests/integration/features/machine_identifiers_MID/_validations/03_requirement_mid_must_be_unique/test.itest b/tests/integration/features/machine_identifiers/_validations/03_requirement_mid_must_be_unique/test.itest similarity index 100% rename from tests/integration/features/machine_identifiers_MID/_validations/03_requirement_mid_must_be_unique/test.itest rename to tests/integration/features/machine_identifiers/_validations/03_requirement_mid_must_be_unique/test.itest diff --git a/tests/integration/commands/export/rst/01_basic_rst_export/expected/input.rst b/tests/integration/features/rst/01_basic_rst_export/expected/input.rst similarity index 100% rename from tests/integration/commands/export/rst/01_basic_rst_export/expected/input.rst rename to tests/integration/features/rst/01_basic_rst_export/expected/input.rst diff --git a/tests/integration/commands/export/options/--output-dir/01_output_dir_full_path/input.sdoc b/tests/integration/features/rst/01_basic_rst_export/input.sdoc similarity index 100% rename from tests/integration/commands/export/options/--output-dir/01_output_dir_full_path/input.sdoc rename to tests/integration/features/rst/01_basic_rst_export/input.sdoc diff --git a/tests/integration/commands/export/rst/01_basic_rst_export/test.itest b/tests/integration/features/rst/01_basic_rst_export/test.itest similarity index 100% rename from tests/integration/commands/export/rst/01_basic_rst_export/test.itest rename to tests/integration/features/rst/01_basic_rst_export/test.itest diff --git a/tests/integration/commands/export/rst/02_folder_structure_is_preserved_for_nested/expected/input.rst b/tests/integration/features/rst/02_folder_structure_is_preserved_for_nested/expected/input.rst similarity index 100% rename from tests/integration/commands/export/rst/02_folder_structure_is_preserved_for_nested/expected/input.rst rename to tests/integration/features/rst/02_folder_structure_is_preserved_for_nested/expected/input.rst diff --git a/tests/integration/commands/export/options/--output-dir/02_output_dir_relative_path/input.sdoc b/tests/integration/features/rst/02_folder_structure_is_preserved_for_nested/input_folder/input.sdoc similarity index 100% rename from tests/integration/commands/export/options/--output-dir/02_output_dir_relative_path/input.sdoc rename to tests/integration/features/rst/02_folder_structure_is_preserved_for_nested/input_folder/input.sdoc diff --git a/tests/integration/commands/export/rst/02_folder_structure_is_preserved_for_nested/test.itest b/tests/integration/features/rst/02_folder_structure_is_preserved_for_nested/test.itest similarity index 100% rename from tests/integration/commands/export/rst/02_folder_structure_is_preserved_for_nested/test.itest rename to tests/integration/features/rst/02_folder_structure_is_preserved_for_nested/test.itest diff --git a/tests/integration/commands/export/rst/04_one_requirement_without_title/expected/input.rst b/tests/integration/features/rst/04_one_requirement_without_title/expected/input.rst similarity index 100% rename from tests/integration/commands/export/rst/04_one_requirement_without_title/expected/input.rst rename to tests/integration/features/rst/04_one_requirement_without_title/expected/input.rst diff --git a/tests/integration/commands/export/rst/04_one_requirement_without_title/input.sdoc b/tests/integration/features/rst/04_one_requirement_without_title/input.sdoc similarity index 100% rename from tests/integration/commands/export/rst/04_one_requirement_without_title/input.sdoc rename to tests/integration/features/rst/04_one_requirement_without_title/input.sdoc diff --git a/tests/integration/commands/export/rst/04_one_requirement_without_title/test.itest b/tests/integration/features/rst/04_one_requirement_without_title/test.itest similarity index 100% rename from tests/integration/commands/export/rst/04_one_requirement_without_title/test.itest rename to tests/integration/features/rst/04_one_requirement_without_title/test.itest diff --git a/tests/integration/commands/export/rst/05_requirement_without_title/expected/input.rst b/tests/integration/features/rst/05_requirement_without_title/expected/input.rst similarity index 100% rename from tests/integration/commands/export/rst/05_requirement_without_title/expected/input.rst rename to tests/integration/features/rst/05_requirement_without_title/expected/input.rst diff --git a/tests/integration/commands/export/rst/05_requirement_without_title/input.sdoc b/tests/integration/features/rst/05_requirement_without_title/input.sdoc similarity index 100% rename from tests/integration/commands/export/rst/05_requirement_without_title/input.sdoc rename to tests/integration/features/rst/05_requirement_without_title/input.sdoc diff --git a/tests/integration/commands/export/rst/05_requirement_without_title/test.itest b/tests/integration/features/rst/05_requirement_without_title/test.itest similarity index 100% rename from tests/integration/commands/export/rst/05_requirement_without_title/test.itest rename to tests/integration/features/rst/05_requirement_without_title/test.itest diff --git a/tests/integration/commands/export/rst/06_requirement_with_title/expected/input.rst b/tests/integration/features/rst/06_requirement_with_title/expected/input.rst similarity index 100% rename from tests/integration/commands/export/rst/06_requirement_with_title/expected/input.rst rename to tests/integration/features/rst/06_requirement_with_title/expected/input.rst diff --git a/tests/integration/commands/export/rst/06_requirement_with_title/input.sdoc b/tests/integration/features/rst/06_requirement_with_title/input.sdoc similarity index 100% rename from tests/integration/commands/export/rst/06_requirement_with_title/input.sdoc rename to tests/integration/features/rst/06_requirement_with_title/input.sdoc diff --git a/tests/integration/commands/export/rst/06_requirement_with_title/test.itest b/tests/integration/features/rst/06_requirement_with_title/test.itest similarity index 100% rename from tests/integration/commands/export/rst/06_requirement_with_title/test.itest rename to tests/integration/features/rst/06_requirement_with_title/test.itest diff --git a/tests/integration/commands/export/rst/07_requirement_comments/expected/input.rst b/tests/integration/features/rst/07_requirement_comments/expected/input.rst similarity index 100% rename from tests/integration/commands/export/rst/07_requirement_comments/expected/input.rst rename to tests/integration/features/rst/07_requirement_comments/expected/input.rst diff --git a/tests/integration/commands/export/rst/07_requirement_comments/input.sdoc b/tests/integration/features/rst/07_requirement_comments/input.sdoc similarity index 100% rename from tests/integration/commands/export/rst/07_requirement_comments/input.sdoc rename to tests/integration/features/rst/07_requirement_comments/input.sdoc diff --git a/tests/integration/commands/export/rst/07_requirement_comments/test.itest b/tests/integration/features/rst/07_requirement_comments/test.itest similarity index 100% rename from tests/integration/commands/export/rst/07_requirement_comments/test.itest rename to tests/integration/features/rst/07_requirement_comments/test.itest diff --git a/tests/integration/commands/export/rst/08_requirement_comments_then_section/expected/input.rst b/tests/integration/features/rst/08_requirement_comments_then_section/expected/input.rst similarity index 100% rename from tests/integration/commands/export/rst/08_requirement_comments_then_section/expected/input.rst rename to tests/integration/features/rst/08_requirement_comments_then_section/expected/input.rst diff --git a/tests/integration/commands/export/rst/08_requirement_comments_then_section/input.sdoc b/tests/integration/features/rst/08_requirement_comments_then_section/input.sdoc similarity index 100% rename from tests/integration/commands/export/rst/08_requirement_comments_then_section/input.sdoc rename to tests/integration/features/rst/08_requirement_comments_then_section/input.sdoc diff --git a/tests/integration/commands/export/rst/08_requirement_comments_then_section/test.itest b/tests/integration/features/rst/08_requirement_comments_then_section/test.itest similarity index 100% rename from tests/integration/commands/export/rst/08_requirement_comments_then_section/test.itest rename to tests/integration/features/rst/08_requirement_comments_then_section/test.itest diff --git a/tests/integration/commands/export/rst/09_requirement_rationale/expected/input.rst b/tests/integration/features/rst/09_requirement_rationale/expected/input.rst similarity index 100% rename from tests/integration/commands/export/rst/09_requirement_rationale/expected/input.rst rename to tests/integration/features/rst/09_requirement_rationale/expected/input.rst diff --git a/tests/integration/commands/export/rst/09_requirement_rationale/input.sdoc b/tests/integration/features/rst/09_requirement_rationale/input.sdoc similarity index 100% rename from tests/integration/commands/export/rst/09_requirement_rationale/input.sdoc rename to tests/integration/features/rst/09_requirement_rationale/input.sdoc diff --git a/tests/integration/commands/export/rst/09_requirement_rationale/test.itest b/tests/integration/features/rst/09_requirement_rationale/test.itest similarity index 100% rename from tests/integration/commands/export/rst/09_requirement_rationale/test.itest rename to tests/integration/features/rst/09_requirement_rationale/test.itest diff --git a/tests/integration/commands/export/rst/10_empty_freetext/expected/input.rst b/tests/integration/features/rst/10_empty_freetext/expected/input.rst similarity index 100% rename from tests/integration/commands/export/rst/10_empty_freetext/expected/input.rst rename to tests/integration/features/rst/10_empty_freetext/expected/input.rst diff --git a/tests/integration/commands/export/rst/10_empty_freetext/input.sdoc b/tests/integration/features/rst/10_empty_freetext/input.sdoc similarity index 100% rename from tests/integration/commands/export/rst/10_empty_freetext/input.sdoc rename to tests/integration/features/rst/10_empty_freetext/input.sdoc diff --git a/tests/integration/commands/export/rst/10_empty_freetext/test.itest b/tests/integration/features/rst/10_empty_freetext/test.itest similarity index 100% rename from tests/integration/commands/export/rst/10_empty_freetext/test.itest rename to tests/integration/features/rst/10_empty_freetext/test.itest diff --git a/tests/integration/commands/export/rst/20_custom_field/expected/input.rst b/tests/integration/features/rst/20_custom_field/expected/input.rst similarity index 100% rename from tests/integration/commands/export/rst/20_custom_field/expected/input.rst rename to tests/integration/features/rst/20_custom_field/expected/input.rst diff --git a/tests/integration/commands/export/rst/20_custom_field/input.sdoc b/tests/integration/features/rst/20_custom_field/input.sdoc similarity index 100% rename from tests/integration/commands/export/rst/20_custom_field/input.sdoc rename to tests/integration/features/rst/20_custom_field/input.sdoc diff --git a/tests/integration/commands/export/rst/20_custom_field/test.itest b/tests/integration/features/rst/20_custom_field/test.itest similarity index 100% rename from tests/integration/commands/export/rst/20_custom_field/test.itest rename to tests/integration/features/rst/20_custom_field/test.itest diff --git a/tests/integration/commands/export/rst/30_requirement_references/expected/input.rst b/tests/integration/features/rst/30_requirement_references/expected/input.rst similarity index 100% rename from tests/integration/commands/export/rst/30_requirement_references/expected/input.rst rename to tests/integration/features/rst/30_requirement_references/expected/input.rst diff --git a/tests/integration/commands/export/rst/30_requirement_references/input.sdoc b/tests/integration/features/rst/30_requirement_references/input.sdoc similarity index 100% rename from tests/integration/commands/export/rst/30_requirement_references/input.sdoc rename to tests/integration/features/rst/30_requirement_references/input.sdoc diff --git a/tests/integration/commands/export/rst/30_requirement_references/test.itest b/tests/integration/features/rst/30_requirement_references/test.itest similarity index 100% rename from tests/integration/commands/export/rst/30_requirement_references/test.itest rename to tests/integration/features/rst/30_requirement_references/test.itest diff --git a/tests/integration/commands/export/rst/40_link_to_another_section/expected/input.rst b/tests/integration/features/rst/40_link_to_another_section/expected/input.rst similarity index 100% rename from tests/integration/commands/export/rst/40_link_to_another_section/expected/input.rst rename to tests/integration/features/rst/40_link_to_another_section/expected/input.rst diff --git a/tests/integration/commands/export/rst/40_link_to_another_section/input.sdoc b/tests/integration/features/rst/40_link_to_another_section/input.sdoc similarity index 100% rename from tests/integration/commands/export/rst/40_link_to_another_section/input.sdoc rename to tests/integration/features/rst/40_link_to_another_section/input.sdoc diff --git a/tests/integration/commands/export/rst/40_link_to_another_section/test.itest b/tests/integration/features/rst/40_link_to_another_section/test.itest similarity index 100% rename from tests/integration/commands/export/rst/40_link_to_another_section/test.itest rename to tests/integration/features/rst/40_link_to_another_section/test.itest diff --git a/tests/integration/commands/export/rst/41_link_to_node/expected/input.rst b/tests/integration/features/rst/41_link_to_node/expected/input.rst similarity index 100% rename from tests/integration/commands/export/rst/41_link_to_node/expected/input.rst rename to tests/integration/features/rst/41_link_to_node/expected/input.rst diff --git a/tests/integration/commands/export/rst/41_link_to_node/input.sdoc b/tests/integration/features/rst/41_link_to_node/input.sdoc similarity index 100% rename from tests/integration/commands/export/rst/41_link_to_node/input.sdoc rename to tests/integration/features/rst/41_link_to_node/input.sdoc diff --git a/tests/integration/commands/export/rst/41_link_to_node/test.itest b/tests/integration/features/rst/41_link_to_node/test.itest similarity index 100% rename from tests/integration/commands/export/rst/41_link_to_node/test.itest rename to tests/integration/features/rst/41_link_to_node/test.itest diff --git a/tests/integration/commands/export/rst/42_link_with_custom_grammar/expected/input.rst b/tests/integration/features/rst/42_link_with_custom_grammar/expected/input.rst similarity index 100% rename from tests/integration/commands/export/rst/42_link_with_custom_grammar/expected/input.rst rename to tests/integration/features/rst/42_link_with_custom_grammar/expected/input.rst diff --git a/tests/integration/commands/export/rst/42_link_with_custom_grammar/input.sdoc b/tests/integration/features/rst/42_link_with_custom_grammar/input.sdoc similarity index 100% rename from tests/integration/commands/export/rst/42_link_with_custom_grammar/input.sdoc rename to tests/integration/features/rst/42_link_with_custom_grammar/input.sdoc diff --git a/tests/integration/commands/export/rst/42_link_with_custom_grammar/test.itest b/tests/integration/features/rst/42_link_with_custom_grammar/test.itest similarity index 100% rename from tests/integration/commands/export/rst/42_link_with_custom_grammar/test.itest rename to tests/integration/features/rst/42_link_with_custom_grammar/test.itest diff --git a/tests/integration/commands/export/rst/50_link_to_anchor/expected/input.rst b/tests/integration/features/rst/50_link_to_anchor/expected/input.rst similarity index 100% rename from tests/integration/commands/export/rst/50_link_to_anchor/expected/input.rst rename to tests/integration/features/rst/50_link_to_anchor/expected/input.rst diff --git a/tests/integration/commands/export/rst/50_link_to_anchor/input.sdoc b/tests/integration/features/rst/50_link_to_anchor/input.sdoc similarity index 100% rename from tests/integration/commands/export/rst/50_link_to_anchor/input.sdoc rename to tests/integration/features/rst/50_link_to_anchor/input.sdoc diff --git a/tests/integration/commands/export/rst/50_link_to_anchor/test.itest b/tests/integration/features/rst/50_link_to_anchor/test.itest similarity index 100% rename from tests/integration/commands/export/rst/50_link_to_anchor/test.itest rename to tests/integration/features/rst/50_link_to_anchor/test.itest diff --git a/tests/integration/commands/export/rst/51_link_to_anchor_with_title/expected/input.rst b/tests/integration/features/rst/51_link_to_anchor_with_title/expected/input.rst similarity index 100% rename from tests/integration/commands/export/rst/51_link_to_anchor_with_title/expected/input.rst rename to tests/integration/features/rst/51_link_to_anchor_with_title/expected/input.rst diff --git a/tests/integration/commands/export/rst/51_link_to_anchor_with_title/input.sdoc b/tests/integration/features/rst/51_link_to_anchor_with_title/input.sdoc similarity index 100% rename from tests/integration/commands/export/rst/51_link_to_anchor_with_title/input.sdoc rename to tests/integration/features/rst/51_link_to_anchor_with_title/input.sdoc diff --git a/tests/integration/commands/export/rst/51_link_to_anchor_with_title/test.itest b/tests/integration/features/rst/51_link_to_anchor_with_title/test.itest similarity index 100% rename from tests/integration/commands/export/rst/51_link_to_anchor_with_title/test.itest rename to tests/integration/features/rst/51_link_to_anchor_with_title/test.itest diff --git a/tests/integration/commands/export/rst/52_link_to_document/expected/input1.rst b/tests/integration/features/rst/52_link_to_document/expected/input1.rst similarity index 100% rename from tests/integration/commands/export/rst/52_link_to_document/expected/input1.rst rename to tests/integration/features/rst/52_link_to_document/expected/input1.rst diff --git a/tests/integration/commands/export/rst/52_link_to_document/expected/input2.rst b/tests/integration/features/rst/52_link_to_document/expected/input2.rst similarity index 100% rename from tests/integration/commands/export/rst/52_link_to_document/expected/input2.rst rename to tests/integration/features/rst/52_link_to_document/expected/input2.rst diff --git a/tests/integration/commands/export/rst/52_link_to_document/input1.sdoc b/tests/integration/features/rst/52_link_to_document/input1.sdoc similarity index 100% rename from tests/integration/commands/export/rst/52_link_to_document/input1.sdoc rename to tests/integration/features/rst/52_link_to_document/input1.sdoc diff --git a/tests/integration/commands/export/rst/52_link_to_document/input2.sdoc b/tests/integration/features/rst/52_link_to_document/input2.sdoc similarity index 100% rename from tests/integration/commands/export/rst/52_link_to_document/input2.sdoc rename to tests/integration/features/rst/52_link_to_document/input2.sdoc diff --git a/tests/integration/commands/export/rst/52_link_to_document/test.itest b/tests/integration/features/rst/52_link_to_document/test.itest similarity index 100% rename from tests/integration/commands/export/rst/52_link_to_document/test.itest rename to tests/integration/features/rst/52_link_to_document/test.itest diff --git a/tests/integration/commands/export/rst/60_field_human_titles/expected/input.rst b/tests/integration/features/rst/60_field_human_titles/expected/input.rst similarity index 100% rename from tests/integration/commands/export/rst/60_field_human_titles/expected/input.rst rename to tests/integration/features/rst/60_field_human_titles/expected/input.rst diff --git a/tests/integration/commands/export/rst/60_field_human_titles/input.sdoc b/tests/integration/features/rst/60_field_human_titles/input.sdoc similarity index 100% rename from tests/integration/commands/export/rst/60_field_human_titles/input.sdoc rename to tests/integration/features/rst/60_field_human_titles/input.sdoc diff --git a/tests/integration/commands/export/rst/60_field_human_titles/test.itest b/tests/integration/features/rst/60_field_human_titles/test.itest similarity index 100% rename from tests/integration/commands/export/rst/60_field_human_titles/test.itest rename to tests/integration/features/rst/60_field_human_titles/test.itest diff --git a/tests/integration/error_handling/graph_consistency/01_requirement_exists_in_two_different_docs/input.sdoc b/tests/integration/features/sdoc/graph_consistency/01_requirement_exists_in_two_different_docs/input.sdoc similarity index 100% rename from tests/integration/error_handling/graph_consistency/01_requirement_exists_in_two_different_docs/input.sdoc rename to tests/integration/features/sdoc/graph_consistency/01_requirement_exists_in_two_different_docs/input.sdoc diff --git a/tests/integration/error_handling/graph_consistency/01_requirement_exists_in_two_different_docs/input2.sdoc b/tests/integration/features/sdoc/graph_consistency/01_requirement_exists_in_two_different_docs/input2.sdoc similarity index 100% rename from tests/integration/error_handling/graph_consistency/01_requirement_exists_in_two_different_docs/input2.sdoc rename to tests/integration/features/sdoc/graph_consistency/01_requirement_exists_in_two_different_docs/input2.sdoc diff --git a/tests/integration/error_handling/graph_consistency/01_requirement_exists_in_two_different_docs/test.itest b/tests/integration/features/sdoc/graph_consistency/01_requirement_exists_in_two_different_docs/test.itest similarity index 100% rename from tests/integration/error_handling/graph_consistency/01_requirement_exists_in_two_different_docs/test.itest rename to tests/integration/features/sdoc/graph_consistency/01_requirement_exists_in_two_different_docs/test.itest diff --git a/tests/integration/error_handling/graph_consistency/02_requirement_exists_two_times_in_the_same_doc/input.sdoc b/tests/integration/features/sdoc/graph_consistency/02_requirement_exists_two_times_in_the_same_doc/input.sdoc similarity index 100% rename from tests/integration/error_handling/graph_consistency/02_requirement_exists_two_times_in_the_same_doc/input.sdoc rename to tests/integration/features/sdoc/graph_consistency/02_requirement_exists_two_times_in_the_same_doc/input.sdoc diff --git a/tests/integration/error_handling/graph_consistency/02_requirement_exists_two_times_in_the_same_doc/test.itest b/tests/integration/features/sdoc/graph_consistency/02_requirement_exists_two_times_in_the_same_doc/test.itest similarity index 100% rename from tests/integration/error_handling/graph_consistency/02_requirement_exists_two_times_in_the_same_doc/test.itest rename to tests/integration/features/sdoc/graph_consistency/02_requirement_exists_two_times_in_the_same_doc/test.itest diff --git a/tests/integration/error_handling/graph_consistency/03_section_uid_exists_in_two_different_docs/input.sdoc b/tests/integration/features/sdoc/graph_consistency/03_section_uid_exists_in_two_different_docs/input.sdoc similarity index 100% rename from tests/integration/error_handling/graph_consistency/03_section_uid_exists_in_two_different_docs/input.sdoc rename to tests/integration/features/sdoc/graph_consistency/03_section_uid_exists_in_two_different_docs/input.sdoc diff --git a/tests/integration/error_handling/graph_consistency/03_section_uid_exists_in_two_different_docs/input2.sdoc b/tests/integration/features/sdoc/graph_consistency/03_section_uid_exists_in_two_different_docs/input2.sdoc similarity index 100% rename from tests/integration/error_handling/graph_consistency/03_section_uid_exists_in_two_different_docs/input2.sdoc rename to tests/integration/features/sdoc/graph_consistency/03_section_uid_exists_in_two_different_docs/input2.sdoc diff --git a/tests/integration/error_handling/graph_consistency/03_section_uid_exists_in_two_different_docs/test.itest b/tests/integration/features/sdoc/graph_consistency/03_section_uid_exists_in_two_different_docs/test.itest similarity index 100% rename from tests/integration/error_handling/graph_consistency/03_section_uid_exists_in_two_different_docs/test.itest rename to tests/integration/features/sdoc/graph_consistency/03_section_uid_exists_in_two_different_docs/test.itest diff --git a/tests/integration/error_handling/graph_consistency/04_requirement_link_cycles_two_reqs/input.sdoc b/tests/integration/features/sdoc/graph_consistency/04_requirement_link_cycles_two_reqs/input.sdoc similarity index 100% rename from tests/integration/error_handling/graph_consistency/04_requirement_link_cycles_two_reqs/input.sdoc rename to tests/integration/features/sdoc/graph_consistency/04_requirement_link_cycles_two_reqs/input.sdoc diff --git a/tests/integration/error_handling/graph_consistency/04_requirement_link_cycles_two_reqs/test.itest b/tests/integration/features/sdoc/graph_consistency/04_requirement_link_cycles_two_reqs/test.itest similarity index 100% rename from tests/integration/error_handling/graph_consistency/04_requirement_link_cycles_two_reqs/test.itest rename to tests/integration/features/sdoc/graph_consistency/04_requirement_link_cycles_two_reqs/test.itest diff --git a/tests/integration/error_handling/graph_consistency/05_requirement_link_cycles_4_reqs/input.sdoc b/tests/integration/features/sdoc/graph_consistency/05_requirement_link_cycles_4_reqs/input.sdoc similarity index 100% rename from tests/integration/error_handling/graph_consistency/05_requirement_link_cycles_4_reqs/input.sdoc rename to tests/integration/features/sdoc/graph_consistency/05_requirement_link_cycles_4_reqs/input.sdoc diff --git a/tests/integration/error_handling/graph_consistency/05_requirement_link_cycles_4_reqs/test.itest b/tests/integration/features/sdoc/graph_consistency/05_requirement_link_cycles_4_reqs/test.itest similarity index 100% rename from tests/integration/error_handling/graph_consistency/05_requirement_link_cycles_4_reqs/test.itest rename to tests/integration/features/sdoc/graph_consistency/05_requirement_link_cycles_4_reqs/test.itest diff --git a/tests/integration/error_handling/graph_consistency/06_inline_link_does_not_exist/input.sdoc b/tests/integration/features/sdoc/graph_consistency/06_inline_link_does_not_exist/input.sdoc similarity index 100% rename from tests/integration/error_handling/graph_consistency/06_inline_link_does_not_exist/input.sdoc rename to tests/integration/features/sdoc/graph_consistency/06_inline_link_does_not_exist/input.sdoc diff --git a/tests/integration/error_handling/graph_consistency/06_inline_link_does_not_exist/test.itest b/tests/integration/features/sdoc/graph_consistency/06_inline_link_does_not_exist/test.itest similarity index 100% rename from tests/integration/error_handling/graph_consistency/06_inline_link_does_not_exist/test.itest rename to tests/integration/features/sdoc/graph_consistency/06_inline_link_does_not_exist/test.itest diff --git a/tests/integration/error_handling/graph_consistency/07_parent_requirement_does_not_exist/input.sdoc b/tests/integration/features/sdoc/graph_consistency/07_parent_requirement_does_not_exist/input.sdoc similarity index 100% rename from tests/integration/error_handling/graph_consistency/07_parent_requirement_does_not_exist/input.sdoc rename to tests/integration/features/sdoc/graph_consistency/07_parent_requirement_does_not_exist/input.sdoc diff --git a/tests/integration/error_handling/graph_consistency/07_parent_requirement_does_not_exist/input2.sdoc b/tests/integration/features/sdoc/graph_consistency/07_parent_requirement_does_not_exist/input2.sdoc similarity index 100% rename from tests/integration/error_handling/graph_consistency/07_parent_requirement_does_not_exist/input2.sdoc rename to tests/integration/features/sdoc/graph_consistency/07_parent_requirement_does_not_exist/input2.sdoc diff --git a/tests/integration/error_handling/graph_consistency/07_parent_requirement_does_not_exist/test.itest b/tests/integration/features/sdoc/graph_consistency/07_parent_requirement_does_not_exist/test.itest similarity index 100% rename from tests/integration/error_handling/graph_consistency/07_parent_requirement_does_not_exist/test.itest rename to tests/integration/features/sdoc/graph_consistency/07_parent_requirement_does_not_exist/test.itest diff --git a/tests/integration/error_handling/graph_consistency/08_requirement_child_link_cycle/input.sdoc b/tests/integration/features/sdoc/graph_consistency/08_requirement_child_link_cycle/input.sdoc similarity index 100% rename from tests/integration/error_handling/graph_consistency/08_requirement_child_link_cycle/input.sdoc rename to tests/integration/features/sdoc/graph_consistency/08_requirement_child_link_cycle/input.sdoc diff --git a/tests/integration/error_handling/graph_consistency/08_requirement_child_link_cycle/test.itest b/tests/integration/features/sdoc/graph_consistency/08_requirement_child_link_cycle/test.itest similarity index 100% rename from tests/integration/error_handling/graph_consistency/08_requirement_child_link_cycle/test.itest rename to tests/integration/features/sdoc/graph_consistency/08_requirement_child_link_cycle/test.itest diff --git a/tests/integration/commands/export/spdx/01_minimal_document_mid_enabled/file.py b/tests/integration/features/spdx/01_minimal_document_mid_enabled/file.py similarity index 100% rename from tests/integration/commands/export/spdx/01_minimal_document_mid_enabled/file.py rename to tests/integration/features/spdx/01_minimal_document_mid_enabled/file.py diff --git a/tests/integration/commands/export/spdx/01_minimal_document_mid_enabled/input1.sdoc b/tests/integration/features/spdx/01_minimal_document_mid_enabled/input1.sdoc similarity index 100% rename from tests/integration/commands/export/spdx/01_minimal_document_mid_enabled/input1.sdoc rename to tests/integration/features/spdx/01_minimal_document_mid_enabled/input1.sdoc diff --git a/tests/integration/commands/export/spdx/01_minimal_document_mid_enabled/input2.sdoc b/tests/integration/features/spdx/01_minimal_document_mid_enabled/input2.sdoc similarity index 100% rename from tests/integration/commands/export/spdx/01_minimal_document_mid_enabled/input2.sdoc rename to tests/integration/features/spdx/01_minimal_document_mid_enabled/input2.sdoc diff --git a/tests/integration/commands/export/spdx/01_minimal_document_mid_enabled/strictdoc.toml b/tests/integration/features/spdx/01_minimal_document_mid_enabled/strictdoc.toml similarity index 100% rename from tests/integration/commands/export/spdx/01_minimal_document_mid_enabled/strictdoc.toml rename to tests/integration/features/spdx/01_minimal_document_mid_enabled/strictdoc.toml diff --git a/tests/integration/commands/export/spdx/01_minimal_document_mid_enabled/test.itest b/tests/integration/features/spdx/01_minimal_document_mid_enabled/test.itest similarity index 100% rename from tests/integration/commands/export/spdx/01_minimal_document_mid_enabled/test.itest rename to tests/integration/features/spdx/01_minimal_document_mid_enabled/test.itest diff --git a/tests/integration/commands/export/spdx/02_minimal_document_mid_disabled/file.py b/tests/integration/features/spdx/02_minimal_document_mid_disabled/file.py similarity index 100% rename from tests/integration/commands/export/spdx/02_minimal_document_mid_disabled/file.py rename to tests/integration/features/spdx/02_minimal_document_mid_disabled/file.py diff --git a/tests/integration/commands/export/spdx/02_minimal_document_mid_disabled/input1.sdoc b/tests/integration/features/spdx/02_minimal_document_mid_disabled/input1.sdoc similarity index 100% rename from tests/integration/commands/export/spdx/02_minimal_document_mid_disabled/input1.sdoc rename to tests/integration/features/spdx/02_minimal_document_mid_disabled/input1.sdoc diff --git a/tests/integration/commands/export/spdx/02_minimal_document_mid_disabled/input2.sdoc b/tests/integration/features/spdx/02_minimal_document_mid_disabled/input2.sdoc similarity index 100% rename from tests/integration/commands/export/spdx/02_minimal_document_mid_disabled/input2.sdoc rename to tests/integration/features/spdx/02_minimal_document_mid_disabled/input2.sdoc diff --git a/tests/integration/commands/export/spdx/02_minimal_document_mid_disabled/strictdoc.toml b/tests/integration/features/spdx/02_minimal_document_mid_disabled/strictdoc.toml similarity index 100% rename from tests/integration/commands/export/spdx/02_minimal_document_mid_disabled/strictdoc.toml rename to tests/integration/features/spdx/02_minimal_document_mid_disabled/strictdoc.toml diff --git a/tests/integration/commands/export/spdx/02_minimal_document_mid_disabled/test.itest b/tests/integration/features/spdx/02_minimal_document_mid_disabled/test.itest similarity index 100% rename from tests/integration/commands/export/spdx/02_minimal_document_mid_disabled/test.itest rename to tests/integration/features/spdx/02_minimal_document_mid_disabled/test.itest diff --git a/tests/integration/commands/export/options/--view/01_view_option_is_provided/input.sdoc b/tests/integration/features/views/--view/input.sdoc similarity index 100% rename from tests/integration/commands/export/options/--view/01_view_option_is_provided/input.sdoc rename to tests/integration/features/views/--view/input.sdoc diff --git a/tests/integration/commands/export/sdoc/--view/test.itest b/tests/integration/features/views/--view/test.itest similarity index 100% rename from tests/integration/commands/export/sdoc/--view/test.itest rename to tests/integration/features/views/--view/test.itest diff --git a/tests/integration/commands/export/options/--formats/01_incorrect_format/input.sdoc b/tests/integration/options/options_per_cli/--formats/01_incorrect_format/input.sdoc similarity index 100% rename from tests/integration/commands/export/options/--formats/01_incorrect_format/input.sdoc rename to tests/integration/options/options_per_cli/--formats/01_incorrect_format/input.sdoc diff --git a/tests/integration/commands/export/options/--formats/01_incorrect_format/test.itest b/tests/integration/options/options_per_cli/--formats/01_incorrect_format/test.itest similarity index 100% rename from tests/integration/commands/export/options/--formats/01_incorrect_format/test.itest rename to tests/integration/options/options_per_cli/--formats/01_incorrect_format/test.itest diff --git a/tests/integration/commands/export/options/--no-parallelization/input1.sdoc b/tests/integration/options/options_per_cli/--no-parallelization/input1.sdoc similarity index 100% rename from tests/integration/commands/export/options/--no-parallelization/input1.sdoc rename to tests/integration/options/options_per_cli/--no-parallelization/input1.sdoc diff --git a/tests/integration/commands/export/options/--no-parallelization/input2.sdoc b/tests/integration/options/options_per_cli/--no-parallelization/input2.sdoc similarity index 100% rename from tests/integration/commands/export/options/--no-parallelization/input2.sdoc rename to tests/integration/options/options_per_cli/--no-parallelization/input2.sdoc diff --git a/tests/integration/commands/export/options/--no-parallelization/test.itest b/tests/integration/options/options_per_cli/--no-parallelization/test.itest similarity index 100% rename from tests/integration/commands/export/options/--no-parallelization/test.itest rename to tests/integration/options/options_per_cli/--no-parallelization/test.itest diff --git a/tests/integration/commands/export/options/--project-title/01_project_title_not_specified/input.sdoc b/tests/integration/options/options_per_cli/--output-dir/01_output_dir_full_path/input.sdoc similarity index 100% rename from tests/integration/commands/export/options/--project-title/01_project_title_not_specified/input.sdoc rename to tests/integration/options/options_per_cli/--output-dir/01_output_dir_full_path/input.sdoc diff --git a/tests/integration/commands/export/options/--output-dir/01_output_dir_full_path/test.itest b/tests/integration/options/options_per_cli/--output-dir/01_output_dir_full_path/test.itest similarity index 100% rename from tests/integration/commands/export/options/--output-dir/01_output_dir_full_path/test.itest rename to tests/integration/options/options_per_cli/--output-dir/01_output_dir_full_path/test.itest diff --git a/tests/integration/commands/export/options/--project-title/02_project_title_is_specified/input.sdoc b/tests/integration/options/options_per_cli/--output-dir/02_output_dir_relative_path/input.sdoc similarity index 100% rename from tests/integration/commands/export/options/--project-title/02_project_title_is_specified/input.sdoc rename to tests/integration/options/options_per_cli/--output-dir/02_output_dir_relative_path/input.sdoc diff --git a/tests/integration/commands/export/options/--output-dir/02_output_dir_relative_path/test.itest b/tests/integration/options/options_per_cli/--output-dir/02_output_dir_relative_path/test.itest similarity index 100% rename from tests/integration/commands/export/options/--output-dir/02_output_dir_relative_path/test.itest rename to tests/integration/options/options_per_cli/--output-dir/02_output_dir_relative_path/test.itest diff --git a/tests/integration/commands/export/rst/01_basic_rst_export/input.sdoc b/tests/integration/options/options_per_cli/--project-title/01_project_title_not_specified/input.sdoc similarity index 100% rename from tests/integration/commands/export/rst/01_basic_rst_export/input.sdoc rename to tests/integration/options/options_per_cli/--project-title/01_project_title_not_specified/input.sdoc diff --git a/tests/integration/commands/export/options/--project-title/01_project_title_not_specified/test.itest b/tests/integration/options/options_per_cli/--project-title/01_project_title_not_specified/test.itest similarity index 100% rename from tests/integration/commands/export/options/--project-title/01_project_title_not_specified/test.itest rename to tests/integration/options/options_per_cli/--project-title/01_project_title_not_specified/test.itest diff --git a/tests/integration/commands/export/rst/02_folder_structure_is_preserved_for_nested/input_folder/input.sdoc b/tests/integration/options/options_per_cli/--project-title/02_project_title_is_specified/input.sdoc similarity index 100% rename from tests/integration/commands/export/rst/02_folder_structure_is_preserved_for_nested/input_folder/input.sdoc rename to tests/integration/options/options_per_cli/--project-title/02_project_title_is_specified/input.sdoc diff --git a/tests/integration/commands/export/options/--project-title/02_project_title_is_specified/test.itest b/tests/integration/options/options_per_cli/--project-title/02_project_title_is_specified/test.itest similarity index 100% rename from tests/integration/commands/export/options/--project-title/02_project_title_is_specified/test.itest rename to tests/integration/options/options_per_cli/--project-title/02_project_title_is_specified/test.itest diff --git a/tests/integration/commands/export/sdoc/--view/input.sdoc b/tests/integration/options/options_per_cli/--view/01_view_option_is_provided/input.sdoc similarity index 100% rename from tests/integration/commands/export/sdoc/--view/input.sdoc rename to tests/integration/options/options_per_cli/--view/01_view_option_is_provided/input.sdoc diff --git a/tests/integration/commands/export/options/--view/01_view_option_is_provided/test.itest b/tests/integration/options/options_per_cli/--view/01_view_option_is_provided/test.itest similarity index 100% rename from tests/integration/commands/export/options/--view/01_view_option_is_provided/test.itest rename to tests/integration/options/options_per_cli/--view/01_view_option_is_provided/test.itest diff --git a/tests/integration/commands/export/options/--view/02_if_view_option_is_not_provided_then_default_view/input.sdoc b/tests/integration/options/options_per_cli/--view/02_if_view_option_is_not_provided_then_default_view/input.sdoc similarity index 100% rename from tests/integration/commands/export/options/--view/02_if_view_option_is_not_provided_then_default_view/input.sdoc rename to tests/integration/options/options_per_cli/--view/02_if_view_option_is_not_provided_then_default_view/input.sdoc diff --git a/tests/integration/commands/export/options/--view/02_if_view_option_is_not_provided_then_default_view/test.itest b/tests/integration/options/options_per_cli/--view/02_if_view_option_is_not_provided_then_default_view/test.itest similarity index 100% rename from tests/integration/commands/export/options/--view/02_if_view_option_is_not_provided_then_default_view/test.itest rename to tests/integration/options/options_per_cli/--view/02_if_view_option_is_not_provided_then_default_view/test.itest