-
Notifications
You must be signed in to change notification settings - Fork 513
8169285: Re-enable javafx.swt tests #1783
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
👋 Welcome back mhanl! A progress list of the required criteria for merging this PR into |
❗ This change is not yet ready to be integrated. |
Webrevs
|
Checking the GHA build, |
does it fail with |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note: At one point IS_FULL_TEST was used as well for the enablement of the tests. I don't see any reason for it.
All headful tests are qualified by IS_FULL_TEST
, so this should remain here, too. We do the same thing when enabling robot tests, in that you still have to specify -PFULL_TEST=true
.
build.gradle
Outdated
//enabled = IS_FULL_TEST && IS_SWT_TEST | ||
enabled = false // FIXME: JIGSAW -- support this with modules | ||
logger.info("JIGSAW Testing disabled for swt") | ||
enabled = IS_SWT_TEST |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These tests are not headless tests so they still need to be qualified by IS_FULL_TEST
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tested that in another Branch and therefore GHA build and can confirm that as well! Linux is green with IS_FULL_TEST
.
I was curious as to why the tests were being run on GHA without your setting the
So even though we have a flag, it is on by default (which makes me wonder why we bothered with a flag). If the tests are stable, which will need to be tested (I can do a CI build tomorrow), we can leave it enabled by default, in which case the only flag you would need is |
I realize my statement might be ambiguous. I am not suggesting further changes to build.gradle: you can leave it as:
What I meant is that developers will not need to explicitly set SWT_TEST=true since it already is by default. |
yes, we still need |
If that flag is the mechanism we need to use to disable it on macOS, then we will need the following additional change:
|
Never mind. There is already this:
|
I confirm that this runs fine on my Windows 11 system. @Maran23 what platforms did you test this on? Windows? I fired off a CI headful test run, and I see the following failure on Ubuntu 22.04:
I recommend two things:
|
Yes, Windows 11.
Yes this seems like a good idea, I think it is more clean to have the definition where the property is (with the conditional for MacOS), instead of the I want to check the tests on MacOS (See if I can figure out why they fail) and Linux (checkout |
|
Good catch. I think the PR Description should be updated.
They are unrelated intermittent failures. He needs to push another update anyway, to fix or skip one of the tests on Linux as I noted above, so it will rerun then. |
I setup an Ubuntu 24.04.2 LTS inside WSL, did |
Interesting. The crash is likely due to JDK-8340378. JavaFX glass calls I will check whether this is the case by trying out HelloFXCanvas after first setting that variable. If so, then the fix for JDK-8340378 will be to set that env variable from HelloFXCanvas when running on Linux. Getting back to this PR For the fix will likely be to modify the test to set that env variable when running on Linux. Although, that presumes the test is stable across multiple Linux platforms.
Since it works for you on Ubuntu 24.04, the failures I see might be specific to 22.04. We don't have a good way to check specific versions of Ubuntu Linux. I'll retest this when I have time to check the Wayland workaround on 24.04 and let you know. |
Running HelloFXCanvas with I did a little more looking, and the SWT interop failure in Wayland mode was discovered and commented on back when we added the putenv in JDK-8210411 in this JBS comment. We should have filed a follow-on bug back then, but at least we have JDK-8340378 now. Back to this PR: On my Ubuntu 24.04 VM it crashes without setting that env var and fails (hangs) when I do. Given the various problems, I recommend skipping all of the tests on Linux. The testing matrix will be a bit time consuming, and I'm not sure how important it really is. The easiest way to skip on Linux might be in the build.gradle file when setting the SWT_TEST flag. |
So after checking on MacOS, the following warning is printed right before it fails: I think we might wanna set it in a follow up and recheck, if it works? |
Can you file follow-up bugs (one each) for the failures on macOS and Linux? Then add a comment in |
This PR enables
javafx.swt
tests for:Disabled on:
***WARNING: Display must be created on main thread due to Cocoa restrictions. Use vmarg -XstartOnFirstThread
Progress
Issue
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jfx.git pull/1783/head:pull/1783
$ git checkout pull/1783
Update a local copy of the PR:
$ git checkout pull/1783
$ git pull https://git.openjdk.org/jfx.git pull/1783/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 1783
View PR using the GUI difftool:
$ git pr show -t 1783
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jfx/pull/1783.diff
Using Webrev
Link to Webrev Comment