On Tue, 29 Sep 2026 16:51:12 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");
>>      }
>> }
>> 
>> 
>> ![Screenshot 2025-03-28 at 11 50 
>> 16](https://github.com/user-attachments/assets/b44a7eb1-d98f-44a5-b13e-612b31c94c60)
>> 
>> ## 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:
> 
>   run args

Thanks, I've tried to answer some of the questions in the readme.

The main benefit is removal of the single file limitation (and it comes at a 
price since you can't run a test with the `java` command anymore).  Not only we 
get the boilerplate code in a utility, but we can create/use other utilities.

-------------

PR Comment: https://git.openjdk.org/jfx/pull/2156#issuecomment-5896105794

Reply via email to