On Thu, 3 Sep 2026 21:56:51 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 >> - 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 `manualA... > > Andy Goryachev has updated the pull request incrementally with one additional > commit since the last revision: > > cleanup Providing a few comments, overall lgtm. tests/manual2/README.md line 27: > 25: > 26: ``` > 27: java -p "../../build/sdk/lib" --enable-native-access=javafx.graphics > --add-modules ALL-MODULE-PATH -jar dist/ManualTests.jar It is necessary to do `cd tests/manual2`, else loading `test-plan.txt` fails. tests/manual2/build.xml line 50: > 48: target="25" > 49: includeantruntime="false" > 50: > minor:move to previous line eol. tests/manual2/src/main/java/com/oracle/test/manual/util/TestRunner.java line 58: > 56: "-Dstdout.encoding=UTF-8", > 57: "-Dstderr.encoding=UTF-8", > 58: "-p", "../../build/sdk/lib", With this, the individual tests will be launched using the sdk built in the repo and not using the javafx sdk used to launch the manualTests.jar May be, using same sdk is expectation in perspective of user ? tests/manual2/src/main/java/com/oracle/test/manual/util/TestRunner.java line 88: > 86: Process p = future.get(); > 87: int result = p.exitValue(); > 88: setResult(result, null); If the test app exits without clicking any button, it is considered as PASS. may be it should make it mandatory to click either button ? ------------- Changes requested by arapte (Reviewer). PR Review: https://git.openjdk.org/jfx/pull/2156#pullrequestreview-5233153391 PR Review Comment: https://git.openjdk.org/jfx/pull/2156#discussion_r4035369567 PR Review Comment: https://git.openjdk.org/jfx/pull/2156#discussion_r4034973663 PR Review Comment: https://git.openjdk.org/jfx/pull/2156#discussion_r4034789770 PR Review Comment: https://git.openjdk.org/jfx/pull/2156#discussion_r4034937178
