You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
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
should the apps target depend on manualApps so it builds the tests automatically?
what other functionality should be implemented in the ManualTestWindow?
what other functionality should be implemented in the TestRunnerApp?
should we add an ability to launch all the manual tests (or a single one) from gradle, or running the TestRunnerApp with the default test plan is sufficient?
👋 Welcome back angorya! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.
❗ This change is not yet ready to be integrated.
See the Progress checklist in the description for automated requirements.
openjdkBot
changed the title
8319555 [TestBug] Utility for creating instruction window for manual tests
8319555: [TestBug] Utility for creating instruction window for manual tests
Apr 20, 2026
The total number of required reviews for this PR has been set to 2 based on the presence of this label: rfr. This can be overridden with the /reviewers command.
@andy-goryachev-oracle This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 weeks passes without any activity. To avoid this, simply issue a /touch or /keepalive command to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration!
@andy-goryachev-oracle This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 weeks passes without any activity. To avoid this, simply issue a /touch or /keepalive command to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Delivers the following enhancements:
ManualTestWindowbase class for manual tests with pass/fail buttons and instruction text areaManualTestWindowTestRunnerAppwhich allows for running manual tests in sequence or any orderAt the moment, the new code is placed in the
tests/manual2directory (we might decide to move it back to tests/manual once all the tests are migrated and placed in their own packages).The
gradle manualAppsbuilds the classes in thetests/manual2/build/classesdir and generates a jar file containing all the tests,ManualTestWindow,TestRunnerApp, and the related test infrastructure (utilities etc.) in thetests/manual2/dist/ManualTests.jar.Gradle Build
gradle clean manualAppsManualTestWindow
This class simplifies writing manual tests. Example:
TestRunnerApp
Features:
Possible improvements:
Migrating Manual Tests
Migrating existing tests is simple:
TestRunnerAppallows to drop themain()method.ManualTestWindowQuestions to Reviewers
appstarget depend onmanualAppsso it builds the tests automatically?ManualTestWindow?TestRunnerApp?TestRunnerAppwith the default test plan is sufficient?Progress
Issues
Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.org/jfx.git pull/2156/head:pull/2156$ git checkout pull/2156Update a local copy of the PR:
$ git checkout pull/2156$ git pull https://git.openjdk.org/jfx.git pull/2156/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 2156View PR using the GUI difftool:
$ git pr show -t 2156Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jfx/pull/2156.diff
Using Webrev
Link to Webrev Comment