> 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/manual2` directory (we 
> might decide to move it back to tests/manual once all the tests are migrated 
> and placed in their own packages).
> 
> The `gradle manualApps` builds the classes in the 
> `tests/manual2/build/classes` dir and generates a jar file containing all the 
> tests, `ManualTestWindow`, `TestRunnerApp`, and the related test 
> infrastructure (utilities etc.) in the `tests/manual2/dist/ManualTests.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 ...

Andy Goryachev has refreshed the contents of this pull request, and previous 
commits have been removed. The incremental views will show differences compared 
to the previous content of the PR. The pull request contains one new commit 
since the last revision:

  substring

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

Changes:
  - all: https://git.openjdk.org/jfx/pull/2156/files
  - new: https://git.openjdk.org/jfx/pull/2156/files/7282d8b0..d4730881

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jfx&pr=2156&range=20
 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=2156&range=19-20

  Stats: 23 lines in 3 files changed: 4 ins; 16 del; 3 mod
  Patch: https://git.openjdk.org/jfx/pull/2156.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/2156/head:pull/2156

PR: https://git.openjdk.org/jfx/pull/2156

Reply via email to