- Loading...
...
These guidelines may evolve as things evolve on new versions of the platforms.
First some more general gudelines guidelines :
The jtreg framework runs all the tests and these are run in othervm
mode for all client tests - as specified in TEST.ROOT
...
"@key printer" should be added to tests that expect a printer
These keywords are defined in the jtreg TEST.ROOT file here https://github.com/openjdk/jdk/blob/f6be7fdf22eede767a0ac29b4f1cb770cfdc0b0f/test/jdk/TEST.ROOT#L14
There you can see the full list and some additional explanation.
These can then be used when filtering which tests to run. For example
make -- test TEST_JOBS=1 TEST="jtreg:jdk_desktop" JTREG='VERBOSE=summary;KEYWORDS=headful&!printer;RETRY_COUNT=2'
Will run just the headtul headful tests and exclude headless ones. Or you can do vice versa. RETRY_COUNT
means that any test that fails should be retried. Sadly this is quiteuseful quite useful as headful tests can sometimes be sensitive to timing etc. These probably indicate a test stability issue but RETRY
helps you be more sure of that without needing to re-run the entire task. It should also be obvious that you don't touch your keyboard or mouse whilst these are running and that TEST_JOBS=1
is pointing out that headful tests can't be running concurrently and fighting over input focus etc.
...
regedit HKEY_CURRENT_USER\Control Panel\Desktop\ForegroundLockTimeout = 0
...
...
...
...
...
- Disable "ReportCrash" service, it could show modal dialogs for the crashed tests, which break all other tests(see man ReportCrash):
$sudo defaults delete com.apple.ProblemReporter
$sudo defaults write com.apple.CrashReporter DialogType none
...
Screen resolution should be at least 1920x1080 and 24 or 32 bit colour. Don't enable desktop fractional scaling or anything like that. It may not cause any failures but is still recommended.
java.awt.Robot in Wayland sessions may not always achieve the desired result using only the X11 API.
XDG Screencast/Remote Desktop portals can be used for screen capture/mouse or keyboard control. They require consent from the user for these actions.
For automated testing purposes, it makes sense to perform a one-time manual task that calls all required Robot methods to invoke this consent dialog and provide the maximum available permissions (select all displays, remember this selection, allow remote interaction).