[PR #771] [MERGED] Use ANSI colors for test results; more polish #726

Closed
opened 2025-12-30 01:26:23 +01:00 by adam · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/apple/pkl/pull/771
Author: @bioball
Created: 11/1/2024
Status: Merged
Merged: 11/4/2024
Merged by: @bioball

Base: mainHead: colored-test-reports


📝 Commits (6)

📊 Changes

18 files changed (+689 additions, -382 deletions)

View changed files

📝 pkl-cli/src/main/kotlin/org/pkl/cli/CliTestRunner.kt (+8 -1)
📝 pkl-cli/src/test/kotlin/org/pkl/cli/CliTestRunnerTest.kt (+19 -13)
📝 pkl-commons-cli/src/main/kotlin/org/pkl/commons/cli/CliCommand.kt (+3 -1)
📝 pkl-core/src/main/java/org/pkl/core/EvaluatorImpl.java (+1 -1)
📝 pkl-core/src/main/java/org/pkl/core/TestResults.java (+13 -1)
pkl-core/src/main/java/org/pkl/core/runtime/AnsiCodingStringBuilder.java (+277 -0)
📝 pkl-core/src/main/java/org/pkl/core/runtime/StackTraceRenderer.java (+35 -34)
📝 pkl-core/src/main/java/org/pkl/core/runtime/TestRunner.java (+75 -58)
pkl-core/src/main/java/org/pkl/core/runtime/TextFormatter.java (+0 -185)
📝 pkl-core/src/main/java/org/pkl/core/runtime/VmExceptionRenderer.java (+21 -26)
📝 pkl-core/src/main/java/org/pkl/core/stdlib/test/report/JUnitReport.java (+14 -4)
📝 pkl-core/src/main/java/org/pkl/core/stdlib/test/report/SimpleReport.java (+66 -34)
pkl-core/src/main/java/org/pkl/core/util/AnsiTheme.java (+41 -0)
📝 pkl-core/src/main/java/org/pkl/core/util/StringUtils.java (+14 -1)
📝 pkl-core/src/test/kotlin/org/pkl/core/EvaluateTestsTest.kt (+2 -2)
pkl-core/src/test/kotlin/org/pkl/core/runtime/AnsiCodingStringBuilderTest.kt (+76 -0)
📝 pkl-core/src/test/kotlin/org/pkl/core/runtime/StackTraceRendererTest.kt (+1 -1)
📝 pkl-gradle/src/test/kotlin/org/pkl/gradle/TestsTest.kt (+23 -20)

📄 Description

Any thrown Pkl Errors are colored in the simple test report!

Also:

  • Refactor TextFormatter to be more generic; rename to TextFormattingStringBuilder
  • Adjust test report slightly (no emojis, add more spacing).
  • Introduce ColorTheme class.
  • Make stack frame descriptors colored as "faint"

Also: this changes the summary so it summarizes all modules, rather than a summary per module.

Note: I borrowed some of this styling from mocha; I've always liked how they style their test results.

Screenshots:

Screenshot 2024-11-02 at 12 03 52 AM Screenshot 2024-11-02 at 12 04 52 AM Screenshot 2024-11-02 at 12 06 28 AM

FYI @jjmaestro


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/apple/pkl/pull/771 **Author:** [@bioball](https://github.com/bioball) **Created:** 11/1/2024 **Status:** ✅ Merged **Merged:** 11/4/2024 **Merged by:** [@bioball](https://github.com/bioball) **Base:** `main` ← **Head:** `colored-test-reports` --- ### 📝 Commits (6) - [`b349bc4`](https://github.com/apple/pkl/commit/b349bc4f037e341d0cf2df5c917ecb3000772556) Use ANSI colors for test results - [`b2747db`](https://github.com/apple/pkl/commit/b2747db4ba455bb0088bce60d22cb18b08bb9d0c) Address review - [`c689907`](https://github.com/apple/pkl/commit/c68990758cf18ead3c79736d13b280e36764cf3b) Propagate colors - [`aa5c715`](https://github.com/apple/pkl/commit/aa5c715207dc44bd5f2fe49cce1bf53fd705e43d) Apply suggestions from code review - [`87fd939`](https://github.com/apple/pkl/commit/87fd93934e054d754659a85f2210033804646e94) Address review - [`9ad4ec7`](https://github.com/apple/pkl/commit/9ad4ec79f013a30204e7218e1b2510b05c6a595a) Run spotless apply ### 📊 Changes **18 files changed** (+689 additions, -382 deletions) <details> <summary>View changed files</summary> 📝 `pkl-cli/src/main/kotlin/org/pkl/cli/CliTestRunner.kt` (+8 -1) 📝 `pkl-cli/src/test/kotlin/org/pkl/cli/CliTestRunnerTest.kt` (+19 -13) 📝 `pkl-commons-cli/src/main/kotlin/org/pkl/commons/cli/CliCommand.kt` (+3 -1) 📝 `pkl-core/src/main/java/org/pkl/core/EvaluatorImpl.java` (+1 -1) 📝 `pkl-core/src/main/java/org/pkl/core/TestResults.java` (+13 -1) ➕ `pkl-core/src/main/java/org/pkl/core/runtime/AnsiCodingStringBuilder.java` (+277 -0) 📝 `pkl-core/src/main/java/org/pkl/core/runtime/StackTraceRenderer.java` (+35 -34) 📝 `pkl-core/src/main/java/org/pkl/core/runtime/TestRunner.java` (+75 -58) ➖ `pkl-core/src/main/java/org/pkl/core/runtime/TextFormatter.java` (+0 -185) 📝 `pkl-core/src/main/java/org/pkl/core/runtime/VmExceptionRenderer.java` (+21 -26) 📝 `pkl-core/src/main/java/org/pkl/core/stdlib/test/report/JUnitReport.java` (+14 -4) 📝 `pkl-core/src/main/java/org/pkl/core/stdlib/test/report/SimpleReport.java` (+66 -34) ➕ `pkl-core/src/main/java/org/pkl/core/util/AnsiTheme.java` (+41 -0) 📝 `pkl-core/src/main/java/org/pkl/core/util/StringUtils.java` (+14 -1) 📝 `pkl-core/src/test/kotlin/org/pkl/core/EvaluateTestsTest.kt` (+2 -2) ➕ `pkl-core/src/test/kotlin/org/pkl/core/runtime/AnsiCodingStringBuilderTest.kt` (+76 -0) 📝 `pkl-core/src/test/kotlin/org/pkl/core/runtime/StackTraceRendererTest.kt` (+1 -1) 📝 `pkl-gradle/src/test/kotlin/org/pkl/gradle/TestsTest.kt` (+23 -20) </details> ### 📄 Description Any thrown Pkl Errors are colored in the simple test report! Also: * Refactor `TextFormatter` to be more generic; rename to `TextFormattingStringBuilder` * Adjust test report slightly (no emojis, add more spacing). * Introduce `ColorTheme` class. * Make stack frame descriptors colored as "faint" Also: this changes the summary so it summarizes _all_ modules, rather than a summary per module. Note: I borrowed some of this styling from [mocha](https://mochajs.org); I've always liked how they style their test results. Screenshots: <img width="536" alt="Screenshot 2024-11-02 at 12 03 52 AM" src="https://github.com/user-attachments/assets/e7f72bd7-7ec2-4b6b-9f28-c137b5fe6d01"> <img width="869" alt="Screenshot 2024-11-02 at 12 04 52 AM" src="https://github.com/user-attachments/assets/2f092320-7b68-4ec1-b372-d60f7ef359de"> <img width="857" alt="Screenshot 2024-11-02 at 12 06 28 AM" src="https://github.com/user-attachments/assets/4a6dcd3b-4d3a-466b-94b5-a0e76efde241"> FYI @jjmaestro --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
adam added the pull-request label 2025-12-30 01:26:23 +01:00
adam closed this issue 2025-12-30 01:26:23 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/pkl#726