Skip to content

Conversation

@bkhouri
Copy link

@bkhouri bkhouri commented Nov 26, 2025

Enhance Swift Testing's JSON event ABI by exposing test metadata that is currently unavailable to external tools. By including test tags, bug associations, and time limits in the JSON output, this allows third-party tools to provide richer insights and more sophisticated test management capabilities.

Motivation:

Swift Testing's JSON event stream provides data for external tooling, enabling developers to build test analysis and reporting tools. However, the current implementation lacks access to some test metadata that developers may want to use to organize and manage their test suites.

Currently missing from the JSON output are:

  • Test tags: Used for categorization
  • Bug associations: Tracks bugs associated with tests
  • Time limits: Useful for performance monitoring and timeout management

This missing metadata limits the capabilities of external tools. For example:

  • IDE extensions cannot provide tag-based test filtering
  • CI/CD systems cannot generate reports grouped by test categories
  • Performance monitoring tools cannot track tests with specific time constraints
  • Bug tracking integrations cannot correlate test failures with known issues

Modifications:

Modify the event JSON to include the tags, bugs and timeLimit traits if version 6.4 and above.

Checklist:

  • Code and documentation should follow the style of the Style Guide.
  • If public symbols are renamed or modified, DocC references should be updated.

@grynspan grynspan added enhancement New feature or request tools integration 🛠️ Integration of swift-testing into tools/IDEs public-api Affects public API traits Issues and PRs related to the trait subsystem or built-in traits labels Nov 26, 2025
@bkhouri bkhouri force-pushed the t/main/augment_event_stream_json branch 3 times, most recently from eb44837 to 46c32f1 Compare November 27, 2025 14:33
@bkhouri bkhouri force-pushed the t/main/augment_event_stream_json branch 3 times, most recently from 95d2763 to b3bda79 Compare December 11, 2025 05:13
@bkhouri bkhouri force-pushed the t/main/augment_event_stream_json branch from b3bda79 to 15034be Compare December 18, 2025 04:02
@bkhouri bkhouri force-pushed the t/main/augment_event_stream_json branch from 15034be to e7328c5 Compare January 22, 2026 14:56
@bkhouri bkhouri marked this pull request as ready for review January 22, 2026 17:47
@bkhouri bkhouri requested a review from stmontgomery as a code owner January 22, 2026 17:47
@bkhouri bkhouri marked this pull request as draft January 22, 2026 17:49
@bkhouri bkhouri force-pushed the t/main/augment_event_stream_json branch from e7328c5 to 3a04ec0 Compare January 22, 2026 17:57
@bkhouri bkhouri changed the title Augment JSON ABI [ST-0019]: Augment JSON ABI Jan 22, 2026
@bkhouri bkhouri changed the title [ST-0019]: Augment JSON ABI [ST-0019] Augment JSON ABI Jan 22, 2026
@bkhouri bkhouri force-pushed the t/main/augment_event_stream_json branch from 3a04ec0 to 91a200a Compare January 22, 2026 21:05
Enhance Swift Testing's JSON event ABI by exposing test metadata that is
currently unavailable to external tools. By including test tags, bug
associations, and time limits in the JSON output, this allows
third-party tools to provide richer insights and more sophisticated test
management capabilities.

Motivation:

Swift Testing's JSON event stream provides data for external tooling,
enabling developers to build test analysis and reporting tools. However,
the current implementation lacks access to some test metadata that
developers may want to use to organize and manage their test suites.

Currently missing from the JSON output are:
  - **Test tags**: Used for categorization
  - **Bug associations**: Tracks bugs associated with tests
  - **Time limits**: Useful for performance monitoring and timeout
    management

This missing metadata limits the capabilities of external tools. For
example:
  - IDE extensions cannot provide tag-based test filtering
  - CI/CD systems cannot generate reports grouped by test categories
  - Performance monitoring tools cannot track tests with specific time
    constraints
  - Bug tracking integrations cannot correlate test failures with known
    issues
@bkhouri bkhouri force-pushed the t/main/augment_event_stream_json branch from 91a200a to 32e5ba8 Compare January 24, 2026 04:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request public-api Affects public API tools integration 🛠️ Integration of swift-testing into tools/IDEs traits Issues and PRs related to the trait subsystem or built-in traits

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants