#[test]
fn proc_macro_compile_tests() {
    let tests = trybuild::TestCases::new();
    tests.pass("tests/derive/pass_entity.rs");
    tests.pass("tests/derive/pass_field_id.rs");
    tests.pass("tests/derive/pass_no_collection.rs");
    tests.compile_fail("tests/derive/fail_conflicting_id_metadata.rs");
    tests.compile_fail("tests/derive/fail_duplicate_field_id.rs");
    tests.compile_fail("tests/derive/fail_field_id_value.rs");
    tests.compile_fail("tests/derive/fail_missing_entity.rs");
    tests.compile_fail("tests/derive/fail_missing_id.rs");
    tests.compile_fail("tests/derive/fail_unknown_field_option.rs");
    tests.compile_fail("tests/derive/fail_unknown_option.rs");
    tests.pass("tests/policy/pass_entity_policy.rs");
    tests.pass("tests/policy/pass_key_policy.rs");
    tests.pass("tests/policy/pass_preset_refresh_policy.rs");
    tests.pass("tests/policy/pass_segment_policy.rs");
    tests.pass("tests/policy/pass_required_dimensions.rs");
    tests.pass("tests/policy/pass_sql_lint_warn.rs");
    tests.pass("tests/policy/pass_sql_lint_deny.rs");
    tests.pass("tests/policy/pass_profile_policy.rs");
    tests.pass("tests/policy/pass_prepared_policy.rs");
    tests.compile_fail("tests/policy/fail_conflicting_key_sources.rs");
    tests.compile_fail("tests/policy/fail_empty_key_segments.rs");
    tests.compile_fail("tests/policy/fail_empty_tag_segment_group.rs");
    tests.compile_fail("tests/policy/fail_entity_missing_id.rs");
    tests.compile_fail("tests/policy/fail_flat_tag_segments.rs");
    tests.compile_fail("tests/policy/fail_missing_key_source.rs");
    tests.compile_fail("tests/policy/fail_required_dimensions_missing_label.rs");
    tests.compile_fail("tests/policy/fail_required_dimensions_without_key_segments.rs");
    tests.compile_fail("tests/policy/fail_preset_with_ttl.rs");
    tests.compile_fail("tests/policy/fail_unknown_preset.rs");
    tests.compile_fail("tests/policy/fail_unknown_lint_mode.rs");
    tests.compile_fail("tests/policy/fail_duplicate_sql.rs");
    tests.compile_fail("tests/policy/fail_unknown_builtin_profile.rs");
    tests.compile_fail("tests/policy/fail_prepared_conflicting_key_sources.rs");
    tests.compile_fail("tests/policy/fail_prepared_duplicate_option.rs");
    tests.compile_fail("tests/policy/fail_prepared_empty_key_segments.rs");
    tests.compile_fail("tests/policy/fail_prepared_empty_tag_segment_group.rs");
    tests.compile_fail("tests/policy/fail_prepared_empty_tag_segments.rs");
    tests.compile_fail("tests/policy/fail_prepared_flat_tag_segments.rs");
    tests.compile_fail("tests/policy/fail_prepared_missing_key_source.rs");
    tests.compile_fail("tests/policy/fail_prepared_unknown_option.rs");
}
