On Mon, 28 Sep 2026 21:28:04 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/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 > ... > > Andy Goryachev has updated the pull request incrementally with one additional > commit since the last revision: > > Revert "feature" > > This reverts commit d1aeb8bceccbfef7723d8cb6cb85896898f8e92d. tests/manualTests/README.md line 22: > 20: ```console > 21: cd tests/manualTests > 22: java -p "../../build/sdk/lib" --enable-native-access=javafx.graphics > --add-modules ALL-MODULE-PATH -jar build/libs/manualTests.jar This line can be vastly simplified. The native access bit seems to be unnecessary. I use this: java @../../build/run.args -jar build/libs/manualTests.jar tests/manualTests/src/main/java/com/oracle/test/manual/util/ManualTestWindow.java line 243: > 241: String s = TestRunnerApp.getExitCodeString(code); > 242: if (code == TestRunner.FAILED) { > 243: new AssertionError("Failed Manual Test: " + > title).printStackTrace(); This just prints the stack trace from pushing the "Fail" button to the call to exit(). It has nothing to do with the test that was just run. ------------- PR Review Comment: https://git.openjdk.org/jfx/pull/2156#discussion_r4135908831 PR Review Comment: https://git.openjdk.org/jfx/pull/2156#discussion_r4135928856
