> 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 > - 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"); > } > } > > >  > > ## 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 function...
Andy Goryachev has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since the last revision: - Merge branch 'master' into 8319555.manual2 - ws - ws - manual2 ------------- Changes: - all: https://git.openjdk.org/jfx/pull/2156/files - new: https://git.openjdk.org/jfx/pull/2156/files/148994fe..2545200f Webrevs: - full: https://webrevs.openjdk.org/?repo=jfx&pr=2156&range=01 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=2156&range=00-01 Stats: 1439 lines in 38 files changed: 1184 ins; 158 del; 97 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
