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");
>>      }
>> }
>> 
>> 
>> ![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 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

Reply via email to