Skip to content

Conversation

@sgammon
Copy link
Member

@sgammon sgammon commented Jul 26, 2025

Ready for review Powered by Pull Request Badge

Summary

Adds a concept of TestPostProcessor instances; such instances are suspending consumers of TestRunResults after a test run, and are loaded via a TestPostProcessorFactory type which is mapped in through SPI.

The first two TestPostProcessor implementations will likely be coverage (#1484) and test reporting (#1483).

Additionally, test result types (i.e. TestResult and TestRunResult, etc.), have been decoupled from polyglot types and moved from graalvm and builder to tooling, where they can be used for things like IDE integration. This refactor is precursor work for our JVM runner compat stuff.

Changelog

feat(cli): add `TestingOptions` and consolidate coverage flags
feat(cli): load and run test-post-processors after test runs
chore(graalvm): unwind coupling between test runner and results
chore(builder): move test result classes to `tooling`
chore: re-pin modules `tooling`, `builder`, `graalvm`

feat(cli): add `TestingOptions` and consolidate coverage flags
feat(cli): load and run test-post-processors after test runs
chore(graalvm): unwind coupling between test runner and results
chore(builder): move test result classes to `tooling`
chore: re-pin modules `tooling`, `builder`, `graalvm`

Relates-to: #1484
Relates-to: #1483
Relates-to: #1575
Signed-off-by: Sam Gammon <[email protected]>
@sgammon sgammon added this to the Release R18: Beta milestone Jul 26, 2025
@sgammon sgammon requested review from a team and Copilot July 26, 2025 21:06
@sgammon sgammon self-assigned this Jul 26, 2025
@sgammon sgammon added feature Large PRs or issues with full-blown features module:cli CLI module issues and features labels Jul 26, 2025
@sgammon sgammon added this to Elide Jul 26, 2025
@sgammon sgammon added tools:builder Stuff relating to Elide's builder tools:test-runner Stuff relating to Elide's test runner labels Jul 26, 2025
@sgammon sgammon moved this to Done in Elide Jul 26, 2025
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces a test post-processing system to enable pluggable processing of test results after test runs complete. The main purpose is to enable features like coverage reporting and test result reporting through a service provider interface (SPI) pattern.

Key changes include:

  • Addition of TestPostProcessor and TestPostProcessorFactory interfaces for extensible test result processing
  • Refactoring of test result types from polyglot-specific packages to a shared tooling package for broader IDE integration support
  • Consolidation of CLI testing options into a dedicated TestingOptions class

Reviewed Changes

Copilot reviewed 30 out of 31 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
packages/tooling/src/main/kotlin/elide/tooling/testing/*.kt New test result data classes and post-processor interfaces moved from graalvm package
packages/graalvm/src/main/kotlin/elide/runtime/intrinsics/testing/*.kt Updated imports to use relocated test result types
packages/cli/src/main/kotlin/elide/tool/cli/cmd/repl/ToolShellCommand.kt Integration of post-processor execution after test runs and consolidated testing options
packages/builder/src/main/kotlin/elide/tooling/runner/*.kt Updated to use relocated test result types
packages/builder/src/main/kotlin/elide/tooling/reporting/TestReportProcessor.kt Stub implementation of test report post-processor

@sgammon sgammon merged commit 6395ce1 into main Jul 26, 2025
18 checks passed
@sgammon sgammon mentioned this pull request Sep 21, 2025
31 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature Large PRs or issues with full-blown features module:cli CLI module issues and features tools:builder Stuff relating to Elide's builder tools:test-runner Stuff relating to Elide's test runner

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants