dev-util/tombi: fix tests, install, and deps

Thanks, Agostino Sarubbo for finding the test phase and install phase
bugs

- sys crate fixes were generated using:
  50826abbf4

  and it's deps fixes are for the same reason as commit
  6c4a37fb4c

- more test skips are added, either because they need the internet, or
  it's an actual upstream problem that would be hard for me to patch in
  downstream. `--no-fail-test` flag is also added to run all tests even
  if any fails, in order to get the full list of failed tests, which
  makes it easier to bump and maintain

- changed the hardcoded target/release paths to $(cargo_target_dir),
  that way it doesn't fail if DEBUG USE is set.

Closes: https://bugs.gentoo.org/975031
Closes: https://bugs.gentoo.org/975032
Signed-off-by: ingenarel (NeoJesus) <ingenarel_neojesus@disroot.org>
This commit is contained in:
ingenarel (NeoJesus)
2026-05-19 14:05:27 +06:00
parent 6c4a37fb4c
commit 5570b4fe61
2 changed files with 747 additions and 10 deletions

View File

@@ -510,6 +510,9 @@ DEPEND="
>=app-arch/zstd-1.5.7
dev-libs/openssl
"
RDEPEND="
>=app-arch/zstd-1.5.7
"
src_configure(){
# fix for bzip2-sys crate
@@ -534,6 +537,216 @@ src_compile(){
src_test(){
# these require network at the time of writing this, so that's why they're skipped
local CARGO_SKIP_TESTS=(
'cargo_schema::test_deprecated_exact_index_override_beats_wildcard_override'
'cargo_schema::test_deprecated_schema_lint_level_default_config'
'cargo_schema::test_deprecated_schema_lint_level_error'
'cargo_schema::test_deprecated_schema_lint_level_off'
'cargo_schema::test_deprecated_schema_lint_level_warn'
'cargo_schema::test_deprecated_schema_override_error'
'cargo_schema::test_deprecated_schema_override_matches_exact_tuple_index'
'cargo_schema::test_deprecated_schema_override_message_keeps_exact_index'
'cargo_schema::test_deprecated_schema_override_off'
'cargo_schema::test_deprecated_sub_schema_lint_level_error'
'cargo_schema::test_root_schema_lint_rules_propagate_to_subschema'
'completion_edit::cargo_schema::cargo_build_dependencies_workspace_inheritance_candidate'
'completion_edit::cargo_schema::cargo_dependencies_num_chrono_duration_dot'
'completion_edit::cargo_schema::cargo_dependencies_num_chrono_duration_equal'
'completion_edit::cargo_schema::cargo_dependencies_num_chrono_duration_equal_string'
'completion_edit::cargo_schema::cargo_dependencies_num_chrono_duration_equal_string_with_comment'
'completion_edit::cargo_schema::cargo_dependencies_num_chrono_duration_equal_version'
'completion_edit::cargo_schema::cargo_dependencies_num_chrono_duration_equal_version_dot'
'completion_edit::cargo_schema::cargo_dependencies_num_chrono_duration_equal_version_equal'
'completion_edit::cargo_schema::cargo_dependencies_num_chrono_duration_equal_version_equal_string'
'completion_edit::cargo_schema::cargo_dependencies_serde_dot_optional'
'completion_edit::cargo_schema::cargo_dependencies_serde_dot_work'
'completion_edit::cargo_schema::cargo_dependencies_serde_dot_work_with_trailing_space'
'completion_edit::cargo_schema::cargo_dependencies_serde_eq_work'
'completion_edit::cargo_schema::cargo_dependencies_serde_eq_work_with_trailing_space'
'completion_edit::cargo_schema::cargo_dependencies_serde_workspace_dot'
'completion_edit::cargo_schema::cargo_dependencies_workspace_inheritance_candidate'
'completion_edit::cargo_schema::cargo_dependencies_workspace_inheritance_candidate_on_empty_line'
'completion_edit::cargo_schema::cargo_dependencies_workspace_inheritance_candidate_replaces_full_key'
'completion_edit::cargo_schema::cargo_dev_dependencies_workspace_inheritance_candidate'
'completion_edit::cargo_schema::cargo_lib_proc_macro_equal_with_trailing_space'
'completion_edit::cargo_schema::cargo_package_version'
'completion_edit::cargo_schema::cargo_target_build_dependencies_workspace_inheritance_candidate'
'completion_edit::cargo_schema::cargo_target_dependencies_workspace_inheritance_candidate'
'completion_edit::cargo_schema::cargo_workspace_dependencies_addr_not_nested_under_previous_key'
'completion_edit::pyproject_schema::pyproject_dependency_groups_dev_eq_array_after_comma_include_group_ci_select_include_group'
'completion_edit::pyproject_schema::pyproject_dependency_groups_dev_eq_array_after_comma_pydantic_select_include_group'
'completion_edit::pyproject_schema::pyproject_dependency_groups_dev_eq_array_after_comma_pyright_select_include_group'
'completion_edit::pyproject_schema::pyproject_dependency_groups_dev_eq_array_after_pydantic_select_include_group'
'completion_edit::pyproject_schema::pyproject_dependency_groups_dev_eq_array_pydantic_and_pyright_select_include_group'
'completion_edit::pyproject_schema::pyproject_dependency_groups_dev_eq_array_pydantic_comma_and_pyright_select_include_group'
'completion_edit::pyproject_schema::pyproject_dependency_groups_dev_eq_array_pyright_and_comma_select_include_group'
'completion_edit::pyproject_schema::pyproject_dependency_groups_dev_eq_array_pyright_and_newline_select_include_group'
'completion_edit::pyproject_schema::pyproject_dependency_groups_dev_eq_array_pyright_select_include_group'
'completion_edit::pyproject_schema::pyproject_dependency_groups_dev_eq_array_select_include_group'
'completion_edit::pyproject_schema::pyproject_dependency_groups_dev_eq_array_select_single_quote'
'completion_edit::pyproject_schema::pyproject_project_authors_dot'
'completion_edit::pyproject_schema::pyproject_project_authors_equal'
'completion_edit::pyproject_schema::pyproject_project_name_eq_tombi_comment_directive_lint_dot'
'completion_edit::pyproject_schema::pyproject_tool_mytool_key_select_dot'
'completion_edit::pyproject_schema::pyproject_tool_mytool_key_select_equal'
'completion_edit::tombi_schema::tombi_extensions_inline_table_partial_key_is_replaced'
'completion_edit::tombi_schema::tombi_extensions_key_is_quoted'
'completion_edit::tombi_schema::tombi_lsp_completion_dot'
'completion_edit::tombi_schema::tombi_lsp_completion_dot_with_trailing_space'
'completion_edit::tombi_schema::tombi_lsp_completion_equal'
'completion_edit::tombi_schema::tombi_lsp_completion_equal_with_trailing_space'
'completion_labels::adjacent_applicators_schema::adjacent_all_of_boolean_value_completion'
'completion_labels::adjacent_applicators_schema::adjacent_all_of_offset_date_time_value_completion'
'completion_labels::adjacent_one_of_schema::adjacent_one_of_additional_properties_builtin_hook_incomplete_inline_table_keys_completion'
'completion_labels::adjacent_one_of_schema::adjacent_one_of_builtin_hook_empty_inline_table_keys_completion'
'completion_labels::adjacent_one_of_schema::adjacent_one_of_builtin_hook_empty_inline_table_keys_completion_with_space'
'completion_labels::adjacent_one_of_schema::adjacent_one_of_builtin_hook_id_value_completion'
'completion_labels::adjacent_one_of_schema::adjacent_one_of_builtin_hook_incomplete_inline_table_keys_completion'
'completion_labels::adjacent_one_of_schema::adjacent_one_of_builtin_hook_incomplete_inline_table_keys_completion_with_prek_context'
'completion_labels::cargo_schema::cargo_build_dependencies_workspace_inheritance_candidate'
'completion_labels::cargo_schema::cargo_dependencies'
'completion_labels::cargo_schema::cargo_dependencies_and_next_section'
'completion_labels::cargo_schema::cargo_dependencies_inline_table_last'
'completion_labels::cargo_schema::cargo_dependencies_local_path_features'
'completion_labels::cargo_schema::cargo_dependencies_local_path_no_features'
'completion_labels::cargo_schema::cargo_dependencies_num_chrono_duration_dot'
'completion_labels::cargo_schema::cargo_dependencies_num_chrono_duration_equal'
'completion_labels::cargo_schema::cargo_dependencies_num_chrono_duration_equal_string'
'completion_labels::cargo_schema::cargo_dependencies_num_chrono_duration_equal_string_with_comment'
'completion_labels::cargo_schema::cargo_dependencies_num_chrono_duration_equal_version'
'completion_labels::cargo_schema::cargo_dependencies_num_chrono_duration_equal_version_dot'
'completion_labels::cargo_schema::cargo_dependencies_num_chrono_duration_equal_version_eq_string'
'completion_labels::cargo_schema::cargo_dependencies_num_chrono_duration_equal_version_equal'
'completion_labels::cargo_schema::cargo_dependencies_patch'
'completion_labels::cargo_schema::cargo_dependencies_path_completion_local_prefix'
'completion_labels::cargo_schema::cargo_dependencies_serde_bra_work_key'
'completion_labels::cargo_schema::cargo_dependencies_serde_workspace'
'completion_labels::cargo_schema::cargo_dependencies_serde_workspace_dot'
'completion_labels::cargo_schema::cargo_dependencies_serde_workspace_duplicated'
'completion_labels::cargo_schema::cargo_dependencies_tombi_date_time_features_eq_array_with_path'
'completion_labels::cargo_schema::cargo_dependencies_tombi_date_time_features_eq_array_with_workspace'
'completion_labels::cargo_schema::cargo_dependencies_tombi_date_time_features_eq_with_workspace'
'completion_labels::cargo_schema::cargo_dependencies_tombi_date_time_features_with_workspace'
'completion_labels::cargo_schema::cargo_dependencies_tombi_date_time_features_with_workspace_eq_true_comma'
'completion_labels::cargo_schema::cargo_dependencies_workspace_inheritance_candidate'
'completion_labels::cargo_schema::cargo_dependencies_workspace_inheritance_candidate_disabled_by_extensions'
'completion_labels::cargo_schema::cargo_dependencies_workspace_inheritance_candidate_on_empty_line'
'completion_labels::cargo_schema::cargo_dev_dependencies_workspace_inheritance_candidate'
'completion_labels::cargo_schema::cargo_empty'
'completion_labels::cargo_schema::cargo_package_build_path_file_completion'
'completion_labels::cargo_schema::cargo_package_license'
'completion_labels::cargo_schema::cargo_target_build_dependencies'
'completion_labels::cargo_schema::cargo_target_build_dependencies_workspace_inheritance_candidate'
'completion_labels::cargo_schema::cargo_target_dependencies'
'completion_labels::cargo_schema::cargo_target_dependencies_keys'
'completion_labels::cargo_schema::cargo_target_dependencies_tombi_date_time_features_eq_array_with_path'
'completion_labels::cargo_schema::cargo_target_dependencies_workspace_inheritance_candidate'
'completion_labels::cargo_schema::cargo_target_dev_dependencies'
'completion_labels::cargo_schema::cargo_workspace_dependencies_tombi_date_time_features'
'completion_labels::cargo_schema::cargo_workspace_dependencies_tombi_date_time_features_eq'
'completion_labels::cargo_schema::cargo_workspace_dependencies_tombi_date_time_features_eq_array_with_workspace'
'completion_labels::cargo_schema::cargo_workspace_members_path_completion_local_prefix'
'completion_labels::consistency_schema::exact_index_string_subschema_applies_to_second_item_completion'
'completion_labels::consistency_schema::exact_index_string_subschema_does_not_apply_to_first_item_completion'
'completion_labels::consistency_schema::typed_extra_table_unevaluated_properties_inline_table_keys_completion'
'completion_labels::consistency_schema::typed_overflow_tuple_inline_table_keys_completion'
'completion_labels::consistency_schema::typed_unevaluated_tuple_inline_table_keys_completion'
'completion_labels::one_of_regression::one_of_variant_after_path_enabled'
'completion_labels::pyproject_schema::pyproject_build_system'
'completion_labels::pyproject_schema::pyproject_build_system_backend_path_file_completion'
'completion_labels::pyproject_schema::pyproject_dependency_groups_dev_eq_array_last'
'completion_labels::pyproject_schema::pyproject_dependency_groups_last'
'completion_labels::pyproject_schema::pyproject_empty'
'completion_labels::pyproject_schema::pyproject_project'
'completion_labels::pyproject_schema::pyproject_project_comment_directive_name_eq_tombi'
'completion_labels::pyproject_schema::pyproject_project_comment_directive_newline_name_eq_tombi'
'completion_labels::pyproject_schema::pyproject_project_dependencies_eq_array_comment_directive'
'completion_labels::pyproject_schema::pyproject_project_description_comment_directive'
'completion_labels::pyproject_schema::pyproject_project_dynamic_array'
'completion_labels::pyproject_schema::pyproject_project_dynamic_array_in_values_with_last_comma'
'completion_labels::pyproject_schema::pyproject_project_leading_comments_directive_newline_name_eq_tombi'
'completion_labels::pyproject_schema::pyproject_project_license_file_completion'
'completion_labels::pyproject_schema::pyproject_project_license_files_completion'
'completion_labels::pyproject_schema::pyproject_project_name_eq_tombi_comment_directive'
'completion_labels::pyproject_schema::pyproject_project_readme_file_completion'
'completion_labels::pyproject_schema::pyproject_project_readme_file_object_completion'
'completion_labels::pyproject_schema::pyproject_project_trailing_comment_directive_newline_name_eq_tombi'
'completion_labels::pyproject_schema::pyproject_tool'
'completion_labels::pyproject_schema::pyproject_tool_third_party_field'
'completion_labels::pyproject_schema::pyproject_tool_third_party_field_equal'
'completion_labels::pyproject_schema::pyproject_tool_third_party_field_equal_array'
'completion_labels::string_format_test_schema::completion_date_time_local_val_with_string_formats'
'completion_labels::string_format_test_schema::completion_date_time_val_with_string_formats'
'completion_labels::string_format_test_schema::completion_date_val_with_string_formats'
'completion_labels::string_format_test_schema::completion_ipv4_addr_no_string_type_hint'
'completion_labels::string_format_test_schema::completion_time_local_val_with_string_formats'
'completion_labels::tombi_schema::schema_comment_directive'
'completion_labels::tombi_schema::schema_comment_directive_and_comment'
'completion_labels::tombi_schema::schema_directive_file_path_empty'
'completion_labels::tombi_schema::schema_directive_file_path_partial_match'
'completion_labels::tombi_schema::schema_directive_file_path_www_schemastore_org'
'completion_labels::tombi_schema::schema_override_used_table_key_with_remaining_nested_key'
'completion_labels::tombi_schema::space_tombi_comment_directive_toml_version'
'completion_labels::tombi_schema::tombi_comment'
'completion_labels::tombi_schema::tombi_comment_directive_and_colon'
'completion_labels::tombi_schema::tombi_comment_directive_toml_version'
'completion_labels::tombi_schema::tombi_comment_space_schema_directive'
'completion_labels::tombi_schema::tombi_empty'
'completion_labels::tombi_schema::tombi_empty_bracket'
'completion_labels::tombi_schema::tombi_empty_bracket2'
'completion_labels::tombi_schema::tombi_empty_bracket3'
'completion_labels::tombi_schema::tombi_empty_bracket4'
'completion_labels::tombi_schema::tombi_empty_double_bracket'
'completion_labels::tombi_schema::tombi_extension_tombi_completion_variant_after_path_enabled'
'completion_labels::tombi_schema::tombi_extensions_table'
'completion_labels::tombi_schema::tombi_files_exclude_file_completion'
'completion_labels::tombi_schema::tombi_files_exclude_file_completion_from_dot_config_project_root'
'completion_labels::tombi_schema::tombi_files_include_file_completion'
'completion_labels::tombi_schema::tombi_files_include_file_completion_from_dot_config_project_root'
'completion_labels::tombi_schema::tombi_format_rules_array_bracket_space_width'
'completion_labels::tombi_schema::tombi_lint_rules_key_empty_equal'
'completion_labels::tombi_schema::tombi_lint_rules_key_empty_equal_empty_string'
'completion_labels::tombi_schema::tombi_lint_rules_key_empty_equal_warn_and_space'
'completion_labels::tombi_schema::tombi_lsp2'
'completion_labels::tombi_schema::tombi_lsp3'
'completion_labels::tombi_schema::tombi_lsp4'
'completion_labels::tombi_schema::tombi_lsp_comp'
'completion_labels::tombi_schema::tombi_lsp_comp2'
'completion_labels::tombi_schema::tombi_lsp_comp3'
'completion_labels::tombi_schema::tombi_lsp_completion'
'completion_labels::tombi_schema::tombi_lsp_completion_dot'
'completion_labels::tombi_schema::tombi_lsp_completion_enabled_true_and_space'
'completion_labels::tombi_schema::tombi_lsp_completion_equal'
'completion_labels::tombi_schema::tombi_schema'
'completion_labels::tombi_schema::tombi_schema_after_bracket'
'completion_labels::tombi_schema::tombi_schema_catalog'
'completion_labels::tombi_schema::tombi_schema_catalog_dot_on_header'
'completion_labels::tombi_schema::tombi_schema_catalog_path'
'completion_labels::tombi_schema::tombi_schema_catalog_path2'
'completion_labels::tombi_schema::tombi_schema_catalog_path_inline'
'completion_labels::tombi_schema::tombi_schema_catalog_paths_file_completion'
'completion_labels::tombi_schema::tombi_schema_catalog_paths_file_completion_from_dot_config_project_root'
'completion_labels::tombi_schema::tombi_schemars'
'completion_labels::tombi_schema::tombi_schemars_overrides_rules'
'completion_labels::tombi_schema::tombi_schemars_path'
'completion_labels::tombi_schema::tombi_schemars_path_file_completion'
'completion_labels::tombi_schema::tombi_schemars_path_file_completion_from_dot_config_project_root'
'completion_labels::tombi_schema::tombi_schemas_exclude_file_completion'
'completion_labels::tombi_schema::tombi_schemas_exclude_file_completion_from_dot_config_project_root'
'completion_labels::tombi_schema::tombi_schemas_include_file_completion'
'completion_labels::tombi_schema::tombi_schemas_include_file_completion_from_dot_config_project_root'
'completion_labels::tombi_schema::tombi_toml_version_comment'
'completion_labels::tombi_schema::tombi_toml_version_directive_comment'
'completion_labels::tombi_schema::tombi_toml_version_v1_0_0_comment_directive'
'completion_labels::tombi_schema::tombi_used_toml_version'
'completion_labels::tombi_schema::tombi_used_toml_version_and_other_table'
'completion_labels::tombi_schema::tombi_used_toml_version_and_space'
'completion_labels::tombi_schema::tombi_used_toml_version_with_schema_directive'
'completion_labels::type_test_schema::type_test_schema'
'completion_labels::type_test_schema::type_test_schema_invalid_key_comment_directive'
'completion_labels::untagged_union::untagged_union'
'completion_labels::with_subschema::aaa_bbb_singleton_any_of_subschema'
'completion_labels::with_subschema::aaa_bbb_type_test'
'completion_labels::with_subschema::pyproject_tool_type_test'
'de::tests::test_deserialize_array'
'de::tests::test_deserialize_complex_nested'
'de::tests::test_deserialize_datetime'
@@ -548,11 +761,153 @@ src_test(){
'de::tests::test_deserialize_special_characters'
'de::tests::test_deserialize_struct'
'de::tests::test_empty_tombi_config'
'diagnostic::dot_config_project_root_relative_schema::product_toml_uses_schema_path_relative_to_project_root'
'diagnostic::issue_1495_subdirectory_glob::product_toml_boolean_error'
'diagnostic::issue_1495_subdirectory_glob::subdir_subproduct_toml_boolean_error'
'diagnostic::issue_1566_pyproject_license_files::pyproject_license_files_has_no_false_warnings'
'diagnostic::issue_1580_conditional_all_of::input_toml_reports_enum_error_for_invalid_conditional_branch'
'diagnostic::issue_1581_pyproject_format_rules::pyproject_tombi_format_rules_has_no_false_warnings'
'diagnostic::issue_1719_all_of_unevaluated_properties::first_pull_diagnostic_after_open_has_no_false_unevaluated_property'
'diagnostic::issue_1719_all_of_unevaluated_properties::test_toml_has_no_false_unevaluated_property_error_on_open'
'document::tests::test_array_of_tables_serialization'
'document::tests::test_complex_nested_structures_serialization'
'document::tests::test_date_time_serialization'
'document::tests::test_document_serialization'
'document::tests::test_nested_tables_serialization'
'document_link_tests::cargo_schema::cargo_bin_path_links_to_target'
'document_link_tests::cargo_schema::cargo_dependencies_serde_git'
'document_link_tests::cargo_schema::cargo_dependencies_tombi_lsp'
'document_link_tests::cargo_schema::cargo_dependencies_tombi_lsp_workspace_true'
'document_link_tests::cargo_schema::cargo_feature_dependency_reference'
'document_link_tests::cargo_schema::cargo_feature_implicit_optional_reference'
'document_link_tests::cargo_schema::cargo_feature_local_reference'
'document_link_tests::cargo_schema::cargo_feature_weak_and_renamed_references'
'document_link_tests::cargo_schema::cargo_package_workspace'
'document_link_tests::cargo_schema::cargo_root_package'
'document_link_tests::cargo_schema::cargo_target_dependencies_with_path'
'document_link_tests::cargo_schema::cargo_target_dependencies_with_workspace'
'document_link_tests::cargo_schema::cargo_workspace_dependencies_serde_git'
'document_link_tests::cargo_schema::cargo_workspace_dependencies_tombi_lsp'
'document_link_tests::cargo_schema::cargo_workspace_renamed_local_dependency_links_to_member'
'get_status::issue_1548_schema_toml_version::config_toml_version_fallback'
'get_status::issue_1548_schema_toml_version::default_toml_version_when_none_specified'
'get_status::issue_1548_schema_toml_version::schema_toml_version_is_applied'
'get_status::issue_1548_schema_toml_version::x_tombi_toml_version_from_json_schema'
'goto_type_definition_tests::adjacent_applicators_schema::adjacent_all_of_boolean_value'
'goto_type_definition_tests::adjacent_applicators_schema::adjacent_all_of_offset_date_time_value'
'goto_type_definition_tests::adjacent_one_of_schema::adjacent_one_of_builtin_hook_id_value'
'goto_type_definition_tests::adjacent_one_of_schema::adjacent_one_of_builtin_hooks_key'
'goto_type_definition_tests::cargo_schema::cargo_dependencies_key'
'goto_type_definition_tests::cargo_schema::cargo_package_name'
'goto_type_definition_tests::cargo_schema::cargo_package_readme'
'goto_type_definition_tests::cargo_schema::cargo_profile_release_strip_debuginfo'
'goto_type_definition_tests::consistency_schema::exact_index_string_subschema_value'
'goto_type_definition_tests::consistency_schema::typed_extra_table_known_scalar_value'
'goto_type_definition_tests::consistency_schema::typed_extra_table_unevaluated_properties_id_value'
'goto_type_definition_tests::consistency_schema::typed_overflow_tuple_id_value'
'goto_type_definition_tests::consistency_schema::typed_unevaluated_tuple_id_value'
'goto_type_definition_tests::pyproject_schema::pyproject_dependency_groups'
'goto_type_definition_tests::pyproject_schema::pyproject_project_readme'
'goto_type_definition_tests::pyproject_schema::pyproject_tombi_document_directive_toml_version'
'goto_type_definition_tests::pyproject_schema::pyproject_tool_taskipy_tasks_format'
'goto_type_definition_tests::tombi_schema::tombi_schema_catalog_path'
'goto_type_definition_tests::tombi_schema::tombi_schemas'
'goto_type_definition_tests::tombi_schema::tombi_toml_version'
'goto_type_definition_tests::type_test_schema::key1_key2_eq_value_with_comment_directive'
'goto_type_definition_tests::type_test_schema::key_eq_value_with_comment_directive'
'goto_type_definition_tests::type_test_schema::type_test_tombi_array_of_table_directive'
'goto_type_definition_tests::type_test_schema::type_test_tombi_comment_directive_array_newline_string'
'goto_type_definition_tests::type_test_schema::type_test_tombi_document_directive'
'goto_type_definition_tests::type_test_schema::type_test_tombi_document_directive_in_integer_scope'
'goto_type_definition_tests::type_test_schema::type_test_tombi_document_directive_in_table_scope'
'goto_type_definition_tests::type_test_schema::type_test_tombi_key_array_comment_directive_newline_string'
'goto_type_definition_tests::type_test_schema::type_test_tombi_key_array_comment_directive_string'
'goto_type_definition_tests::type_test_schema::type_test_tombi_key_array_of_table_directive'
'goto_type_definition_tests::type_test_schema::type_test_tombi_key_array_string_comma_directive'
'goto_type_definition_tests::type_test_schema::type_test_tombi_key_array_string_comma_newline_bracket_directive'
'goto_type_definition_tests::type_test_schema::type_test_tombi_key_array_string_directive'
'goto_type_definition_tests::type_test_schema::type_test_tombi_key_array_string_newline_comma_bracket_directive'
'goto_type_definition_tests::type_test_schema::type_test_tombi_key_array_string_newline_comma_directive'
'goto_type_definition_tests::type_test_schema::type_test_tombi_key_inline_table_directive'
'goto_type_definition_tests::type_test_schema::type_test_tombi_key_inline_table_directive_inner_dangling'
'goto_type_definition_tests::type_test_schema::type_test_tombi_key_inline_table_directive_leading'
'goto_type_definition_tests::type_test_schema::type_test_tombi_key_string_directive'
'goto_type_definition_tests::type_test_schema::type_test_tombi_key_table_directive'
'goto_type_definition_tests::type_test_schema::type_test_tombi_nested_array_leading_comment_directive'
'goto_type_definition_tests::type_test_schema::type_test_tombi_nested_inline_table_leading_comment_directive'
'goto_type_definition_tests::type_test_schema::type_test_tombi_root_table_directive'
'goto_type_definition_tests::type_test_schema::type_test_tombi_root_table_directive_at_end'
'goto_type_definition_tests::type_test_schema::type_test_tombi_table_directive'
'goto_type_definition_tests::type_test_schema::type_test_tombi_table_key_array_of_table_directive'
'hover_keys_value::adjacent_applicators_schema::adjacent_all_of_boolean_hover_merges_const'
'hover_keys_value::adjacent_applicators_schema::adjacent_all_of_offset_date_time_hover_merges_const'
'hover_keys_value::array_values_order_schema::exact_index_override_applies_only_to_targeted_array_item'
'hover_keys_value::array_values_order_schema::exact_index_override_wins_over_wildcard_array_item'
'hover_keys_value::array_values_order_schema::shows_struck_through_one_of_values_order_when_schema_format_rule_is_disabled'
'hover_keys_value::array_values_order_schema::shows_struck_through_values_order_when_comment_directive_disables_it'
'hover_keys_value::array_values_order_schema::shows_struck_through_values_order_when_override_disables_it'
'hover_keys_value::array_values_order_schema::shows_struck_through_values_order_when_schema_format_rule_is_disabled'
'hover_keys_value::array_values_order_schema::uses_schema_override_for_values_order_in_hover'
'hover_keys_value::cargo_schema::cargo_dependencies_features'
'hover_keys_value::cargo_schema::cargo_dependencies_features_item'
'hover_keys_value::cargo_schema::cargo_dependencies_key'
'hover_keys_value::cargo_schema::cargo_dependencies_version'
'hover_keys_value::cargo_schema::cargo_dependencies_workspace'
'hover_keys_value::cargo_schema::cargo_dependency_table_field_hover_keeps_schema_metadata'
'hover_keys_value::cargo_schema::cargo_feature_key_hover_lists_project_references'
'hover_keys_value::cargo_schema::cargo_lints_clippy_absolute_paths_default'
'hover_keys_value::cargo_schema::cargo_package_name'
'hover_keys_value::cargo_schema::cargo_package_name_incomplete'
'hover_keys_value::cargo_schema::cargo_package_readme'
'hover_keys_value::cargo_schema::cargo_profile_release_strip_debuginfo'
'hover_keys_value::cargo_schema::cargo_profile_release_strip_false'
'hover_keys_value::cargo_schema::cargo_profile_release_strip_true'
'hover_keys_value::cargo_schema::cargo_workspace_dependency_hover_metadata'
'hover_keys_value::cargo_schema::cargo_workspace_dependency_hover_metadata_disabled_by_extensions'
'hover_keys_value::cargo_schema::ref_sibling_examples_are_displayed'
'hover_keys_value::consistency_schema::exact_index_string_subschema_applies_to_second_item_hover'
'hover_keys_value::consistency_schema::exact_index_string_subschema_does_not_apply_to_first_item_hover'
'hover_keys_value::consistency_schema::exact_index_subschema_applies_to_second_item_hover'
'hover_keys_value::consistency_schema::exact_index_subschema_does_not_apply_to_first_item_hover'
'hover_keys_value::consistency_schema::typed_extra_table_unevaluated_properties_hover'
'hover_keys_value::consistency_schema::typed_overflow_tuple_hover'
'hover_keys_value::consistency_schema::typed_unevaluated_tuple_hover'
'hover_keys_value::one_of_schema::adjacent_one_of_hover_prefers_valid_branch_nested_item_schema'
'hover_keys_value::one_of_schema::adjacent_one_of_hover_prefers_valid_branch_property_schema'
'hover_keys_value::one_of_schema::one_of_hover_does_not_leak_branch_default_when_no_branch_is_valid'
'hover_keys_value::one_of_schema::one_of_hover_prefers_single_valid_branch'
'hover_keys_value::pyproject_schema::pyproject_dependency_groups'
'hover_keys_value::pyproject_schema::pyproject_project_readme'
'hover_keys_value::pyproject_schema::pyproject_source_child_field_hover_keeps_schema_metadata'
'hover_keys_value::pyproject_schema::pyproject_source_package_key_hover_metadata'
'hover_keys_value::pyproject_schema::pyproject_tool_uv_constraint_dependency_hover_metadata'
'hover_keys_value::pyproject_schema::pyproject_workspace_dependency_hover_metadata'
'hover_keys_value::pyproject_schema::pyproject_workspace_dependency_hover_metadata_disabled_by_extensions'
'hover_keys_value::string_format_test_schema::hover_date_time_local_val_with_string_formats'
'hover_keys_value::string_format_test_schema::hover_date_time_val_with_string_formats'
'hover_keys_value::string_format_test_schema::hover_date_val_with_string_formats'
'hover_keys_value::string_format_test_schema::hover_time_local_val_with_string_formats'
'hover_keys_value::table_keys_order_schema::shows_struck_through_keys_order_when_comment_directive_disables_it'
'hover_keys_value::table_keys_order_schema::shows_struck_through_keys_order_when_override_disables_it'
'hover_keys_value::table_keys_order_schema::shows_struck_through_keys_order_when_schema_format_rule_is_disabled'
'hover_keys_value::table_keys_order_schema::uses_schema_override_for_keys_order_in_hover'
'hover_keys_value::tombi_schema::tombi_comment_directive_toml_version'
'hover_keys_value::tombi_schema::tombi_extensions_non_bare_key'
'hover_keys_value::tombi_schema::tombi_lint_rules_key_empty'
'hover_keys_value::tombi_schema::tombi_schema_catalog_paths'
'hover_keys_value::tombi_schema::tombi_schemas'
'hover_keys_value::tombi_schema::tombi_schemas_include'
'hover_keys_value::tombi_schema::tombi_schemas_include_array_string'
'hover_keys_value::tombi_schema::tombi_schemas_path'
'hover_keys_value::tombi_schema::tombi_toml_version'
'non_schema::test_schema_uri'
'other_schema::test_mise_toml'
'prefix_items_test_schema::test_exact_index_string_subschema_applies_to_second_item'
'prefix_items_test_schema::test_exact_index_string_subschema_does_not_apply_to_first_item'
'prefix_items_test_schema::test_prefix_items_subschema_root_matches_exact_tuple_index'
'references_tests::cargo_schema::cargo_references_use_references_setting_not_goto_definition'
'references_tests::cargo_schema::server_references_setting_disables_references'
'references_tests::pyproject_schema::pyproject_references_use_references_setting_not_goto_definition'
'schema_format_rules::test_schema_format_rules_disabled_keeps_schema_order_targets_unsorted'
'schema_overrides::test_root_array_override_applies_inside_subschema'
'schema_overrides::test_root_schema_override_applies_inside_subschema'
@@ -581,16 +936,26 @@ src_test(){
'table_keys_order::cargo::test_cargo_root_tables_sorted_by_comment_directive_when_schema_table_keys_order_disabled'
'table_keys_order::cargo::test_cargo_root_tables_sorted_when_schema_disabled'
)
cargo_src_test
# network issues, but whole files
CARGO_SKIP_TESTS+=(
'rust/serde_tombi/src/de.rs'
'rust/serde_tombi/src/lib.rs'
'rust/serde_tombi/src/ser.rs'
)
# these tests are upstream problem, and they'll fail anyways, so that's why they're disabled
CARGO_SKIP_TESTS+=(
'table_keys_order::pyproject::test_tool_poetry_dependencies'
)
cargo_src_test --no-fail-fast
}
src_install(){
dobin target/release/tombi
dobin "$(cargo_target_dir)/tombi"
target/release/tombi completion bash > "${PN}" || die "generating bash completion failed"
"$(cargo_target_dir)"/tombi completion bash > "${PN}" || die "generating bash completion failed"
dobashcomp "${PN}"
target/release/tombi completion zsh > "_${PN}" || die "generating zsh completion failed"
"$(cargo_target_dir)"/tombi completion zsh > "_${PN}" || die "generating zsh completion failed"
dozshcomp "_${PN}"
target/release/tombi completion fish > "${PN}.fish" || die "generating fish completion failed"
"$(cargo_target_dir)"/tombi completion fish > "${PN}.fish" || die "generating fish completion failed"
dofishcomp "${PN}.fish"
}

View File

@@ -510,6 +510,9 @@ DEPEND="
>=app-arch/zstd-1.5.7
dev-libs/openssl
"
RDEPEND="
>=app-arch/zstd-1.5.7
"
src_configure(){
# fix for bzip2-sys crate
@@ -534,6 +537,216 @@ src_compile(){
src_test(){
# these require network at the time of writing this, so that's why they're skipped
local CARGO_SKIP_TESTS=(
'cargo_schema::test_deprecated_exact_index_override_beats_wildcard_override'
'cargo_schema::test_deprecated_schema_lint_level_default_config'
'cargo_schema::test_deprecated_schema_lint_level_error'
'cargo_schema::test_deprecated_schema_lint_level_off'
'cargo_schema::test_deprecated_schema_lint_level_warn'
'cargo_schema::test_deprecated_schema_override_error'
'cargo_schema::test_deprecated_schema_override_matches_exact_tuple_index'
'cargo_schema::test_deprecated_schema_override_message_keeps_exact_index'
'cargo_schema::test_deprecated_schema_override_off'
'cargo_schema::test_deprecated_sub_schema_lint_level_error'
'cargo_schema::test_root_schema_lint_rules_propagate_to_subschema'
'completion_edit::cargo_schema::cargo_build_dependencies_workspace_inheritance_candidate'
'completion_edit::cargo_schema::cargo_dependencies_num_chrono_duration_dot'
'completion_edit::cargo_schema::cargo_dependencies_num_chrono_duration_equal'
'completion_edit::cargo_schema::cargo_dependencies_num_chrono_duration_equal_string'
'completion_edit::cargo_schema::cargo_dependencies_num_chrono_duration_equal_string_with_comment'
'completion_edit::cargo_schema::cargo_dependencies_num_chrono_duration_equal_version'
'completion_edit::cargo_schema::cargo_dependencies_num_chrono_duration_equal_version_dot'
'completion_edit::cargo_schema::cargo_dependencies_num_chrono_duration_equal_version_equal'
'completion_edit::cargo_schema::cargo_dependencies_num_chrono_duration_equal_version_equal_string'
'completion_edit::cargo_schema::cargo_dependencies_serde_dot_optional'
'completion_edit::cargo_schema::cargo_dependencies_serde_dot_work'
'completion_edit::cargo_schema::cargo_dependencies_serde_dot_work_with_trailing_space'
'completion_edit::cargo_schema::cargo_dependencies_serde_eq_work'
'completion_edit::cargo_schema::cargo_dependencies_serde_eq_work_with_trailing_space'
'completion_edit::cargo_schema::cargo_dependencies_serde_workspace_dot'
'completion_edit::cargo_schema::cargo_dependencies_workspace_inheritance_candidate'
'completion_edit::cargo_schema::cargo_dependencies_workspace_inheritance_candidate_on_empty_line'
'completion_edit::cargo_schema::cargo_dependencies_workspace_inheritance_candidate_replaces_full_key'
'completion_edit::cargo_schema::cargo_dev_dependencies_workspace_inheritance_candidate'
'completion_edit::cargo_schema::cargo_lib_proc_macro_equal_with_trailing_space'
'completion_edit::cargo_schema::cargo_package_version'
'completion_edit::cargo_schema::cargo_target_build_dependencies_workspace_inheritance_candidate'
'completion_edit::cargo_schema::cargo_target_dependencies_workspace_inheritance_candidate'
'completion_edit::cargo_schema::cargo_workspace_dependencies_addr_not_nested_under_previous_key'
'completion_edit::pyproject_schema::pyproject_dependency_groups_dev_eq_array_after_comma_include_group_ci_select_include_group'
'completion_edit::pyproject_schema::pyproject_dependency_groups_dev_eq_array_after_comma_pydantic_select_include_group'
'completion_edit::pyproject_schema::pyproject_dependency_groups_dev_eq_array_after_comma_pyright_select_include_group'
'completion_edit::pyproject_schema::pyproject_dependency_groups_dev_eq_array_after_pydantic_select_include_group'
'completion_edit::pyproject_schema::pyproject_dependency_groups_dev_eq_array_pydantic_and_pyright_select_include_group'
'completion_edit::pyproject_schema::pyproject_dependency_groups_dev_eq_array_pydantic_comma_and_pyright_select_include_group'
'completion_edit::pyproject_schema::pyproject_dependency_groups_dev_eq_array_pyright_and_comma_select_include_group'
'completion_edit::pyproject_schema::pyproject_dependency_groups_dev_eq_array_pyright_and_newline_select_include_group'
'completion_edit::pyproject_schema::pyproject_dependency_groups_dev_eq_array_pyright_select_include_group'
'completion_edit::pyproject_schema::pyproject_dependency_groups_dev_eq_array_select_include_group'
'completion_edit::pyproject_schema::pyproject_dependency_groups_dev_eq_array_select_single_quote'
'completion_edit::pyproject_schema::pyproject_project_authors_dot'
'completion_edit::pyproject_schema::pyproject_project_authors_equal'
'completion_edit::pyproject_schema::pyproject_project_name_eq_tombi_comment_directive_lint_dot'
'completion_edit::pyproject_schema::pyproject_tool_mytool_key_select_dot'
'completion_edit::pyproject_schema::pyproject_tool_mytool_key_select_equal'
'completion_edit::tombi_schema::tombi_extensions_inline_table_partial_key_is_replaced'
'completion_edit::tombi_schema::tombi_extensions_key_is_quoted'
'completion_edit::tombi_schema::tombi_lsp_completion_dot'
'completion_edit::tombi_schema::tombi_lsp_completion_dot_with_trailing_space'
'completion_edit::tombi_schema::tombi_lsp_completion_equal'
'completion_edit::tombi_schema::tombi_lsp_completion_equal_with_trailing_space'
'completion_labels::adjacent_applicators_schema::adjacent_all_of_boolean_value_completion'
'completion_labels::adjacent_applicators_schema::adjacent_all_of_offset_date_time_value_completion'
'completion_labels::adjacent_one_of_schema::adjacent_one_of_additional_properties_builtin_hook_incomplete_inline_table_keys_completion'
'completion_labels::adjacent_one_of_schema::adjacent_one_of_builtin_hook_empty_inline_table_keys_completion'
'completion_labels::adjacent_one_of_schema::adjacent_one_of_builtin_hook_empty_inline_table_keys_completion_with_space'
'completion_labels::adjacent_one_of_schema::adjacent_one_of_builtin_hook_id_value_completion'
'completion_labels::adjacent_one_of_schema::adjacent_one_of_builtin_hook_incomplete_inline_table_keys_completion'
'completion_labels::adjacent_one_of_schema::adjacent_one_of_builtin_hook_incomplete_inline_table_keys_completion_with_prek_context'
'completion_labels::cargo_schema::cargo_build_dependencies_workspace_inheritance_candidate'
'completion_labels::cargo_schema::cargo_dependencies'
'completion_labels::cargo_schema::cargo_dependencies_and_next_section'
'completion_labels::cargo_schema::cargo_dependencies_inline_table_last'
'completion_labels::cargo_schema::cargo_dependencies_local_path_features'
'completion_labels::cargo_schema::cargo_dependencies_local_path_no_features'
'completion_labels::cargo_schema::cargo_dependencies_num_chrono_duration_dot'
'completion_labels::cargo_schema::cargo_dependencies_num_chrono_duration_equal'
'completion_labels::cargo_schema::cargo_dependencies_num_chrono_duration_equal_string'
'completion_labels::cargo_schema::cargo_dependencies_num_chrono_duration_equal_string_with_comment'
'completion_labels::cargo_schema::cargo_dependencies_num_chrono_duration_equal_version'
'completion_labels::cargo_schema::cargo_dependencies_num_chrono_duration_equal_version_dot'
'completion_labels::cargo_schema::cargo_dependencies_num_chrono_duration_equal_version_eq_string'
'completion_labels::cargo_schema::cargo_dependencies_num_chrono_duration_equal_version_equal'
'completion_labels::cargo_schema::cargo_dependencies_patch'
'completion_labels::cargo_schema::cargo_dependencies_path_completion_local_prefix'
'completion_labels::cargo_schema::cargo_dependencies_serde_bra_work_key'
'completion_labels::cargo_schema::cargo_dependencies_serde_workspace'
'completion_labels::cargo_schema::cargo_dependencies_serde_workspace_dot'
'completion_labels::cargo_schema::cargo_dependencies_serde_workspace_duplicated'
'completion_labels::cargo_schema::cargo_dependencies_tombi_date_time_features_eq_array_with_path'
'completion_labels::cargo_schema::cargo_dependencies_tombi_date_time_features_eq_array_with_workspace'
'completion_labels::cargo_schema::cargo_dependencies_tombi_date_time_features_eq_with_workspace'
'completion_labels::cargo_schema::cargo_dependencies_tombi_date_time_features_with_workspace'
'completion_labels::cargo_schema::cargo_dependencies_tombi_date_time_features_with_workspace_eq_true_comma'
'completion_labels::cargo_schema::cargo_dependencies_workspace_inheritance_candidate'
'completion_labels::cargo_schema::cargo_dependencies_workspace_inheritance_candidate_disabled_by_extensions'
'completion_labels::cargo_schema::cargo_dependencies_workspace_inheritance_candidate_on_empty_line'
'completion_labels::cargo_schema::cargo_dev_dependencies_workspace_inheritance_candidate'
'completion_labels::cargo_schema::cargo_empty'
'completion_labels::cargo_schema::cargo_package_build_path_file_completion'
'completion_labels::cargo_schema::cargo_package_license'
'completion_labels::cargo_schema::cargo_target_build_dependencies'
'completion_labels::cargo_schema::cargo_target_build_dependencies_workspace_inheritance_candidate'
'completion_labels::cargo_schema::cargo_target_dependencies'
'completion_labels::cargo_schema::cargo_target_dependencies_keys'
'completion_labels::cargo_schema::cargo_target_dependencies_tombi_date_time_features_eq_array_with_path'
'completion_labels::cargo_schema::cargo_target_dependencies_workspace_inheritance_candidate'
'completion_labels::cargo_schema::cargo_target_dev_dependencies'
'completion_labels::cargo_schema::cargo_workspace_dependencies_tombi_date_time_features'
'completion_labels::cargo_schema::cargo_workspace_dependencies_tombi_date_time_features_eq'
'completion_labels::cargo_schema::cargo_workspace_dependencies_tombi_date_time_features_eq_array_with_workspace'
'completion_labels::cargo_schema::cargo_workspace_members_path_completion_local_prefix'
'completion_labels::consistency_schema::exact_index_string_subschema_applies_to_second_item_completion'
'completion_labels::consistency_schema::exact_index_string_subschema_does_not_apply_to_first_item_completion'
'completion_labels::consistency_schema::typed_extra_table_unevaluated_properties_inline_table_keys_completion'
'completion_labels::consistency_schema::typed_overflow_tuple_inline_table_keys_completion'
'completion_labels::consistency_schema::typed_unevaluated_tuple_inline_table_keys_completion'
'completion_labels::one_of_regression::one_of_variant_after_path_enabled'
'completion_labels::pyproject_schema::pyproject_build_system'
'completion_labels::pyproject_schema::pyproject_build_system_backend_path_file_completion'
'completion_labels::pyproject_schema::pyproject_dependency_groups_dev_eq_array_last'
'completion_labels::pyproject_schema::pyproject_dependency_groups_last'
'completion_labels::pyproject_schema::pyproject_empty'
'completion_labels::pyproject_schema::pyproject_project'
'completion_labels::pyproject_schema::pyproject_project_comment_directive_name_eq_tombi'
'completion_labels::pyproject_schema::pyproject_project_comment_directive_newline_name_eq_tombi'
'completion_labels::pyproject_schema::pyproject_project_dependencies_eq_array_comment_directive'
'completion_labels::pyproject_schema::pyproject_project_description_comment_directive'
'completion_labels::pyproject_schema::pyproject_project_dynamic_array'
'completion_labels::pyproject_schema::pyproject_project_dynamic_array_in_values_with_last_comma'
'completion_labels::pyproject_schema::pyproject_project_leading_comments_directive_newline_name_eq_tombi'
'completion_labels::pyproject_schema::pyproject_project_license_file_completion'
'completion_labels::pyproject_schema::pyproject_project_license_files_completion'
'completion_labels::pyproject_schema::pyproject_project_name_eq_tombi_comment_directive'
'completion_labels::pyproject_schema::pyproject_project_readme_file_completion'
'completion_labels::pyproject_schema::pyproject_project_readme_file_object_completion'
'completion_labels::pyproject_schema::pyproject_project_trailing_comment_directive_newline_name_eq_tombi'
'completion_labels::pyproject_schema::pyproject_tool'
'completion_labels::pyproject_schema::pyproject_tool_third_party_field'
'completion_labels::pyproject_schema::pyproject_tool_third_party_field_equal'
'completion_labels::pyproject_schema::pyproject_tool_third_party_field_equal_array'
'completion_labels::string_format_test_schema::completion_date_time_local_val_with_string_formats'
'completion_labels::string_format_test_schema::completion_date_time_val_with_string_formats'
'completion_labels::string_format_test_schema::completion_date_val_with_string_formats'
'completion_labels::string_format_test_schema::completion_ipv4_addr_no_string_type_hint'
'completion_labels::string_format_test_schema::completion_time_local_val_with_string_formats'
'completion_labels::tombi_schema::schema_comment_directive'
'completion_labels::tombi_schema::schema_comment_directive_and_comment'
'completion_labels::tombi_schema::schema_directive_file_path_empty'
'completion_labels::tombi_schema::schema_directive_file_path_partial_match'
'completion_labels::tombi_schema::schema_directive_file_path_www_schemastore_org'
'completion_labels::tombi_schema::schema_override_used_table_key_with_remaining_nested_key'
'completion_labels::tombi_schema::space_tombi_comment_directive_toml_version'
'completion_labels::tombi_schema::tombi_comment'
'completion_labels::tombi_schema::tombi_comment_directive_and_colon'
'completion_labels::tombi_schema::tombi_comment_directive_toml_version'
'completion_labels::tombi_schema::tombi_comment_space_schema_directive'
'completion_labels::tombi_schema::tombi_empty'
'completion_labels::tombi_schema::tombi_empty_bracket'
'completion_labels::tombi_schema::tombi_empty_bracket2'
'completion_labels::tombi_schema::tombi_empty_bracket3'
'completion_labels::tombi_schema::tombi_empty_bracket4'
'completion_labels::tombi_schema::tombi_empty_double_bracket'
'completion_labels::tombi_schema::tombi_extension_tombi_completion_variant_after_path_enabled'
'completion_labels::tombi_schema::tombi_extensions_table'
'completion_labels::tombi_schema::tombi_files_exclude_file_completion'
'completion_labels::tombi_schema::tombi_files_exclude_file_completion_from_dot_config_project_root'
'completion_labels::tombi_schema::tombi_files_include_file_completion'
'completion_labels::tombi_schema::tombi_files_include_file_completion_from_dot_config_project_root'
'completion_labels::tombi_schema::tombi_format_rules_array_bracket_space_width'
'completion_labels::tombi_schema::tombi_lint_rules_key_empty_equal'
'completion_labels::tombi_schema::tombi_lint_rules_key_empty_equal_empty_string'
'completion_labels::tombi_schema::tombi_lint_rules_key_empty_equal_warn_and_space'
'completion_labels::tombi_schema::tombi_lsp2'
'completion_labels::tombi_schema::tombi_lsp3'
'completion_labels::tombi_schema::tombi_lsp4'
'completion_labels::tombi_schema::tombi_lsp_comp'
'completion_labels::tombi_schema::tombi_lsp_comp2'
'completion_labels::tombi_schema::tombi_lsp_comp3'
'completion_labels::tombi_schema::tombi_lsp_completion'
'completion_labels::tombi_schema::tombi_lsp_completion_dot'
'completion_labels::tombi_schema::tombi_lsp_completion_enabled_true_and_space'
'completion_labels::tombi_schema::tombi_lsp_completion_equal'
'completion_labels::tombi_schema::tombi_schema'
'completion_labels::tombi_schema::tombi_schema_after_bracket'
'completion_labels::tombi_schema::tombi_schema_catalog'
'completion_labels::tombi_schema::tombi_schema_catalog_dot_on_header'
'completion_labels::tombi_schema::tombi_schema_catalog_path'
'completion_labels::tombi_schema::tombi_schema_catalog_path2'
'completion_labels::tombi_schema::tombi_schema_catalog_path_inline'
'completion_labels::tombi_schema::tombi_schema_catalog_paths_file_completion'
'completion_labels::tombi_schema::tombi_schema_catalog_paths_file_completion_from_dot_config_project_root'
'completion_labels::tombi_schema::tombi_schemars'
'completion_labels::tombi_schema::tombi_schemars_overrides_rules'
'completion_labels::tombi_schema::tombi_schemars_path'
'completion_labels::tombi_schema::tombi_schemars_path_file_completion'
'completion_labels::tombi_schema::tombi_schemars_path_file_completion_from_dot_config_project_root'
'completion_labels::tombi_schema::tombi_schemas_exclude_file_completion'
'completion_labels::tombi_schema::tombi_schemas_exclude_file_completion_from_dot_config_project_root'
'completion_labels::tombi_schema::tombi_schemas_include_file_completion'
'completion_labels::tombi_schema::tombi_schemas_include_file_completion_from_dot_config_project_root'
'completion_labels::tombi_schema::tombi_toml_version_comment'
'completion_labels::tombi_schema::tombi_toml_version_directive_comment'
'completion_labels::tombi_schema::tombi_toml_version_v1_0_0_comment_directive'
'completion_labels::tombi_schema::tombi_used_toml_version'
'completion_labels::tombi_schema::tombi_used_toml_version_and_other_table'
'completion_labels::tombi_schema::tombi_used_toml_version_and_space'
'completion_labels::tombi_schema::tombi_used_toml_version_with_schema_directive'
'completion_labels::type_test_schema::type_test_schema'
'completion_labels::type_test_schema::type_test_schema_invalid_key_comment_directive'
'completion_labels::untagged_union::untagged_union'
'completion_labels::with_subschema::aaa_bbb_singleton_any_of_subschema'
'completion_labels::with_subschema::aaa_bbb_type_test'
'completion_labels::with_subschema::pyproject_tool_type_test'
'de::tests::test_deserialize_array'
'de::tests::test_deserialize_complex_nested'
'de::tests::test_deserialize_datetime'
@@ -548,11 +761,153 @@ src_test(){
'de::tests::test_deserialize_special_characters'
'de::tests::test_deserialize_struct'
'de::tests::test_empty_tombi_config'
'diagnostic::dot_config_project_root_relative_schema::product_toml_uses_schema_path_relative_to_project_root'
'diagnostic::issue_1495_subdirectory_glob::product_toml_boolean_error'
'diagnostic::issue_1495_subdirectory_glob::subdir_subproduct_toml_boolean_error'
'diagnostic::issue_1566_pyproject_license_files::pyproject_license_files_has_no_false_warnings'
'diagnostic::issue_1580_conditional_all_of::input_toml_reports_enum_error_for_invalid_conditional_branch'
'diagnostic::issue_1581_pyproject_format_rules::pyproject_tombi_format_rules_has_no_false_warnings'
'diagnostic::issue_1719_all_of_unevaluated_properties::first_pull_diagnostic_after_open_has_no_false_unevaluated_property'
'diagnostic::issue_1719_all_of_unevaluated_properties::test_toml_has_no_false_unevaluated_property_error_on_open'
'document::tests::test_array_of_tables_serialization'
'document::tests::test_complex_nested_structures_serialization'
'document::tests::test_date_time_serialization'
'document::tests::test_document_serialization'
'document::tests::test_nested_tables_serialization'
'document_link_tests::cargo_schema::cargo_bin_path_links_to_target'
'document_link_tests::cargo_schema::cargo_dependencies_serde_git'
'document_link_tests::cargo_schema::cargo_dependencies_tombi_lsp'
'document_link_tests::cargo_schema::cargo_dependencies_tombi_lsp_workspace_true'
'document_link_tests::cargo_schema::cargo_feature_dependency_reference'
'document_link_tests::cargo_schema::cargo_feature_implicit_optional_reference'
'document_link_tests::cargo_schema::cargo_feature_local_reference'
'document_link_tests::cargo_schema::cargo_feature_weak_and_renamed_references'
'document_link_tests::cargo_schema::cargo_package_workspace'
'document_link_tests::cargo_schema::cargo_root_package'
'document_link_tests::cargo_schema::cargo_target_dependencies_with_path'
'document_link_tests::cargo_schema::cargo_target_dependencies_with_workspace'
'document_link_tests::cargo_schema::cargo_workspace_dependencies_serde_git'
'document_link_tests::cargo_schema::cargo_workspace_dependencies_tombi_lsp'
'document_link_tests::cargo_schema::cargo_workspace_renamed_local_dependency_links_to_member'
'get_status::issue_1548_schema_toml_version::config_toml_version_fallback'
'get_status::issue_1548_schema_toml_version::default_toml_version_when_none_specified'
'get_status::issue_1548_schema_toml_version::schema_toml_version_is_applied'
'get_status::issue_1548_schema_toml_version::x_tombi_toml_version_from_json_schema'
'goto_type_definition_tests::adjacent_applicators_schema::adjacent_all_of_boolean_value'
'goto_type_definition_tests::adjacent_applicators_schema::adjacent_all_of_offset_date_time_value'
'goto_type_definition_tests::adjacent_one_of_schema::adjacent_one_of_builtin_hook_id_value'
'goto_type_definition_tests::adjacent_one_of_schema::adjacent_one_of_builtin_hooks_key'
'goto_type_definition_tests::cargo_schema::cargo_dependencies_key'
'goto_type_definition_tests::cargo_schema::cargo_package_name'
'goto_type_definition_tests::cargo_schema::cargo_package_readme'
'goto_type_definition_tests::cargo_schema::cargo_profile_release_strip_debuginfo'
'goto_type_definition_tests::consistency_schema::exact_index_string_subschema_value'
'goto_type_definition_tests::consistency_schema::typed_extra_table_known_scalar_value'
'goto_type_definition_tests::consistency_schema::typed_extra_table_unevaluated_properties_id_value'
'goto_type_definition_tests::consistency_schema::typed_overflow_tuple_id_value'
'goto_type_definition_tests::consistency_schema::typed_unevaluated_tuple_id_value'
'goto_type_definition_tests::pyproject_schema::pyproject_dependency_groups'
'goto_type_definition_tests::pyproject_schema::pyproject_project_readme'
'goto_type_definition_tests::pyproject_schema::pyproject_tombi_document_directive_toml_version'
'goto_type_definition_tests::pyproject_schema::pyproject_tool_taskipy_tasks_format'
'goto_type_definition_tests::tombi_schema::tombi_schema_catalog_path'
'goto_type_definition_tests::tombi_schema::tombi_schemas'
'goto_type_definition_tests::tombi_schema::tombi_toml_version'
'goto_type_definition_tests::type_test_schema::key1_key2_eq_value_with_comment_directive'
'goto_type_definition_tests::type_test_schema::key_eq_value_with_comment_directive'
'goto_type_definition_tests::type_test_schema::type_test_tombi_array_of_table_directive'
'goto_type_definition_tests::type_test_schema::type_test_tombi_comment_directive_array_newline_string'
'goto_type_definition_tests::type_test_schema::type_test_tombi_document_directive'
'goto_type_definition_tests::type_test_schema::type_test_tombi_document_directive_in_integer_scope'
'goto_type_definition_tests::type_test_schema::type_test_tombi_document_directive_in_table_scope'
'goto_type_definition_tests::type_test_schema::type_test_tombi_key_array_comment_directive_newline_string'
'goto_type_definition_tests::type_test_schema::type_test_tombi_key_array_comment_directive_string'
'goto_type_definition_tests::type_test_schema::type_test_tombi_key_array_of_table_directive'
'goto_type_definition_tests::type_test_schema::type_test_tombi_key_array_string_comma_directive'
'goto_type_definition_tests::type_test_schema::type_test_tombi_key_array_string_comma_newline_bracket_directive'
'goto_type_definition_tests::type_test_schema::type_test_tombi_key_array_string_directive'
'goto_type_definition_tests::type_test_schema::type_test_tombi_key_array_string_newline_comma_bracket_directive'
'goto_type_definition_tests::type_test_schema::type_test_tombi_key_array_string_newline_comma_directive'
'goto_type_definition_tests::type_test_schema::type_test_tombi_key_inline_table_directive'
'goto_type_definition_tests::type_test_schema::type_test_tombi_key_inline_table_directive_inner_dangling'
'goto_type_definition_tests::type_test_schema::type_test_tombi_key_inline_table_directive_leading'
'goto_type_definition_tests::type_test_schema::type_test_tombi_key_string_directive'
'goto_type_definition_tests::type_test_schema::type_test_tombi_key_table_directive'
'goto_type_definition_tests::type_test_schema::type_test_tombi_nested_array_leading_comment_directive'
'goto_type_definition_tests::type_test_schema::type_test_tombi_nested_inline_table_leading_comment_directive'
'goto_type_definition_tests::type_test_schema::type_test_tombi_root_table_directive'
'goto_type_definition_tests::type_test_schema::type_test_tombi_root_table_directive_at_end'
'goto_type_definition_tests::type_test_schema::type_test_tombi_table_directive'
'goto_type_definition_tests::type_test_schema::type_test_tombi_table_key_array_of_table_directive'
'hover_keys_value::adjacent_applicators_schema::adjacent_all_of_boolean_hover_merges_const'
'hover_keys_value::adjacent_applicators_schema::adjacent_all_of_offset_date_time_hover_merges_const'
'hover_keys_value::array_values_order_schema::exact_index_override_applies_only_to_targeted_array_item'
'hover_keys_value::array_values_order_schema::exact_index_override_wins_over_wildcard_array_item'
'hover_keys_value::array_values_order_schema::shows_struck_through_one_of_values_order_when_schema_format_rule_is_disabled'
'hover_keys_value::array_values_order_schema::shows_struck_through_values_order_when_comment_directive_disables_it'
'hover_keys_value::array_values_order_schema::shows_struck_through_values_order_when_override_disables_it'
'hover_keys_value::array_values_order_schema::shows_struck_through_values_order_when_schema_format_rule_is_disabled'
'hover_keys_value::array_values_order_schema::uses_schema_override_for_values_order_in_hover'
'hover_keys_value::cargo_schema::cargo_dependencies_features'
'hover_keys_value::cargo_schema::cargo_dependencies_features_item'
'hover_keys_value::cargo_schema::cargo_dependencies_key'
'hover_keys_value::cargo_schema::cargo_dependencies_version'
'hover_keys_value::cargo_schema::cargo_dependencies_workspace'
'hover_keys_value::cargo_schema::cargo_dependency_table_field_hover_keeps_schema_metadata'
'hover_keys_value::cargo_schema::cargo_feature_key_hover_lists_project_references'
'hover_keys_value::cargo_schema::cargo_lints_clippy_absolute_paths_default'
'hover_keys_value::cargo_schema::cargo_package_name'
'hover_keys_value::cargo_schema::cargo_package_name_incomplete'
'hover_keys_value::cargo_schema::cargo_package_readme'
'hover_keys_value::cargo_schema::cargo_profile_release_strip_debuginfo'
'hover_keys_value::cargo_schema::cargo_profile_release_strip_false'
'hover_keys_value::cargo_schema::cargo_profile_release_strip_true'
'hover_keys_value::cargo_schema::cargo_workspace_dependency_hover_metadata'
'hover_keys_value::cargo_schema::cargo_workspace_dependency_hover_metadata_disabled_by_extensions'
'hover_keys_value::cargo_schema::ref_sibling_examples_are_displayed'
'hover_keys_value::consistency_schema::exact_index_string_subschema_applies_to_second_item_hover'
'hover_keys_value::consistency_schema::exact_index_string_subschema_does_not_apply_to_first_item_hover'
'hover_keys_value::consistency_schema::exact_index_subschema_applies_to_second_item_hover'
'hover_keys_value::consistency_schema::exact_index_subschema_does_not_apply_to_first_item_hover'
'hover_keys_value::consistency_schema::typed_extra_table_unevaluated_properties_hover'
'hover_keys_value::consistency_schema::typed_overflow_tuple_hover'
'hover_keys_value::consistency_schema::typed_unevaluated_tuple_hover'
'hover_keys_value::one_of_schema::adjacent_one_of_hover_prefers_valid_branch_nested_item_schema'
'hover_keys_value::one_of_schema::adjacent_one_of_hover_prefers_valid_branch_property_schema'
'hover_keys_value::one_of_schema::one_of_hover_does_not_leak_branch_default_when_no_branch_is_valid'
'hover_keys_value::one_of_schema::one_of_hover_prefers_single_valid_branch'
'hover_keys_value::pyproject_schema::pyproject_dependency_groups'
'hover_keys_value::pyproject_schema::pyproject_project_readme'
'hover_keys_value::pyproject_schema::pyproject_source_child_field_hover_keeps_schema_metadata'
'hover_keys_value::pyproject_schema::pyproject_source_package_key_hover_metadata'
'hover_keys_value::pyproject_schema::pyproject_tool_uv_constraint_dependency_hover_metadata'
'hover_keys_value::pyproject_schema::pyproject_workspace_dependency_hover_metadata'
'hover_keys_value::pyproject_schema::pyproject_workspace_dependency_hover_metadata_disabled_by_extensions'
'hover_keys_value::string_format_test_schema::hover_date_time_local_val_with_string_formats'
'hover_keys_value::string_format_test_schema::hover_date_time_val_with_string_formats'
'hover_keys_value::string_format_test_schema::hover_date_val_with_string_formats'
'hover_keys_value::string_format_test_schema::hover_time_local_val_with_string_formats'
'hover_keys_value::table_keys_order_schema::shows_struck_through_keys_order_when_comment_directive_disables_it'
'hover_keys_value::table_keys_order_schema::shows_struck_through_keys_order_when_override_disables_it'
'hover_keys_value::table_keys_order_schema::shows_struck_through_keys_order_when_schema_format_rule_is_disabled'
'hover_keys_value::table_keys_order_schema::uses_schema_override_for_keys_order_in_hover'
'hover_keys_value::tombi_schema::tombi_comment_directive_toml_version'
'hover_keys_value::tombi_schema::tombi_extensions_non_bare_key'
'hover_keys_value::tombi_schema::tombi_lint_rules_key_empty'
'hover_keys_value::tombi_schema::tombi_schema_catalog_paths'
'hover_keys_value::tombi_schema::tombi_schemas'
'hover_keys_value::tombi_schema::tombi_schemas_include'
'hover_keys_value::tombi_schema::tombi_schemas_include_array_string'
'hover_keys_value::tombi_schema::tombi_schemas_path'
'hover_keys_value::tombi_schema::tombi_toml_version'
'non_schema::test_schema_uri'
'other_schema::test_mise_toml'
'prefix_items_test_schema::test_exact_index_string_subschema_applies_to_second_item'
'prefix_items_test_schema::test_exact_index_string_subschema_does_not_apply_to_first_item'
'prefix_items_test_schema::test_prefix_items_subschema_root_matches_exact_tuple_index'
'references_tests::cargo_schema::cargo_references_use_references_setting_not_goto_definition'
'references_tests::cargo_schema::server_references_setting_disables_references'
'references_tests::pyproject_schema::pyproject_references_use_references_setting_not_goto_definition'
'schema_format_rules::test_schema_format_rules_disabled_keeps_schema_order_targets_unsorted'
'schema_overrides::test_root_array_override_applies_inside_subschema'
'schema_overrides::test_root_schema_override_applies_inside_subschema'
@@ -575,17 +930,34 @@ src_test(){
'ser::tests::test_serialize_option'
'ser::tests::test_serialize_struct'
'table_keys_order::cargo::test_cargo_lints_rust_not_sorted_when_schema_format_rules_disabled'
'table_keys_order::cargo::test_cargo_root_comment_directive_precedes_schema_override_order'
'table_keys_order::cargo::test_cargo_root_tables_not_sorted_when_schema_overrides_table_keys_order_disabled'
'table_keys_order::cargo::test_cargo_root_tables_not_sorted_when_schema_table_keys_order_disabled'
'table_keys_order::cargo::test_cargo_root_tables_sorted_by_comment_directive_when_schema_table_keys_order_disabled'
'table_keys_order::cargo::test_cargo_root_tables_sorted_when_schema_disabled'
)
cargo_src_test
# network issues, but whole files
CARGO_SKIP_TESTS+=(
'rust/serde_tombi/src/de.rs'
'rust/serde_tombi/src/lib.rs'
'rust/serde_tombi/src/ser.rs'
)
# these tests are upstream problem, and they'll fail anyways, so that's why they're disabled
CARGO_SKIP_TESTS+=(
'crates/tombi-extension/src/completion.rs'
'table_keys_order::pyproject::test_tool_maturin_include'
'table_keys_order::pyproject::test_tool_poetry_dependencies'
)
cargo_src_test --no-fail-fast
}
src_install(){
dobin target/release/tombi
dobin "$(cargo_target_dir)/tombi"
target/release/tombi completion bash > "${PN}" || die "generating bash completion failed"
"$(cargo_target_dir)"/tombi completion bash > "${PN}" || die "generating bash completion failed"
dobashcomp "${PN}"
target/release/tombi completion zsh > "_${PN}" || die "generating zsh completion failed"
"$(cargo_target_dir)"/tombi completion zsh > "_${PN}" || die "generating zsh completion failed"
dozshcomp "_${PN}"
target/release/tombi completion fish > "${PN}.fish" || die "generating fish completion failed"
"$(cargo_target_dir)"/tombi completion fish > "${PN}.fish" || die "generating fish completion failed"
dofishcomp "${PN}.fish"
}