On Tue, 29 Sep 2026 18:23:20 GMT, Andy Goryachev <[email protected]> wrote:
>> Delivers the following enhancements: >> - wires the manual tests to the main gradle build >> https://bugs.openjdk.org/browse/JDK-8296441 >> - removes the limitation of single source file for manual tests >> - provides the `ManualTestWindow` base class for manual tests with pass/fail >> buttons and instruction text area >> - allows for skipping tests on certain platforms >> - modified EmojiTest to showcase the new `ManualTestWindow` >> - provides the manual test runner `TestRunnerApp` which allows for running >> manual tests in sequence or any order >> >> At the moment, the new code is placed in the `tests/manualTests` directory. >> >> The `gradle manualApps` packages the manual tests into the >> `tests/manualTests/build/libs/manualTests.jar` executable jar. >> >> ## Gradle Build >> >> `gradle clean manualApps` >> >> >> ## ManualTestWindow >> >> This class simplifies writing manual tests. Example: >> >> >> public class ManualTestExample extends ManualTestWindow { >> public ManualTestExample() { >> super( >> "Manual Test Example", >> """ >> Instructions: >> 1. you will see a button named "Test" >> 2. press the button >> 3. verify that the button can be pressed >> """, >> 400, 250 >> ); >> } >> >> @Override >> protected Node createContent() { >> return new Button("Test"); >> } >> } >> >> >>  >> >> ## TestRunnerApp >> >> <img width="890" height="456" alt="Screenshot 2026-04-20 at 13 24 41" >> src="https://github.com/user-attachments/assets/1bd6b694-83cc-43b5-8b09-703f5f3b9d68" >> /> >> >> >> Features: >> >> - loads default test plan >> - allows to load a test plan from file >> >> Possible improvements: >> >> - execute single test within tests/manual2 without writing a test plan >> - generating report >> >> >> ## Migrating Manual Tests >> >> Migrating existing tests is simple: >> - the tests must not use the default package >> - `TestRunnerApp` allows to drop the `main()` method. >> - FQCN of the test added to the default test plan >> - the test can optionally extend the `ManualTestWindow` >> >> >> ## Questions to Reviewers >> >> 1. should the `apps` target depend on `manualApps` so it builds the tests >> automatically? >> 2. what other functionality should be implemented in the `ManualTestWindow`? >> 3. what other functionality should be implemented in the `TestRunnerA... > > Andy Goryachev has updated the pull request incrementally with one additional > commit since the last revision: > > docs tests/manualTests/test-plan.txt line 1: > 1: com.oracle.test.manual.text.EmojiTest Just writing out my thoughts here: Could we also find all classes with reflection instead, as they all need to extend from `ManualTestWindow` anyway, so we might as well try to find all of them. However, I notice that you might want to write custom test plans, which would not be possible if we only do the reflection thing. ------------- PR Review Comment: https://git.openjdk.org/jfx/pull/2156#discussion_r4155640503
