On Fri, 2 Oct 2026 22: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 >> - 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"); >> } >> } >> >> >>  >> >> ## 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: > > revert Looks like toolchain configuration is problematic for a semi-external project. Try the steps in the comments. build.gradle line 4386: > 4384: if (project.path.startsWith(":manualTests")) { > 4385: return > 4386: } Remove this condition to allow the configuration that the toolchain isn't doing now. build.gradle line 4421: > 4419: > 4420: // we use a custom javadoc command > 4421: project.javadoc.enabled = false Change to `project.tasks.withType(Javadoc).configureEach { enabled = false }` to resolve a configuration-time issue that arises from bad configuration somewhere else. tests/manualTests/build.gradle line 18: > 16: java { > 17: > toolchain.languageVersion.set(JavaLanguageVersion.of(jfxBuildJdkVersion.substring(0, > 2))) > 18: } Remove the toolchain block. ------------- PR Review: https://git.openjdk.org/jfx/pull/2156#pullrequestreview-5403963304 PR Review Comment: https://git.openjdk.org/jfx/pull/2156#discussion_r4175873577 PR Review Comment: https://git.openjdk.org/jfx/pull/2156#discussion_r4175878366 PR Review Comment: https://git.openjdk.org/jfx/pull/2156#discussion_r4175871333
