On Fri, 20 May 2022 19:25:57 GMT, Phil Race <p...@openjdk.org> wrote:
>> This fix adds "headful sound" keywords to a number of javax/sound jtreg tests >> >> The jtreg javax.sound tests are written in such a way that if a needed audio >> device >> or other platform resource is not available, they just exit with a "pass" >> for the test. >> It is as if headful tests just swallowed HeadlessException and issued a pass. >> If we allowed that we'd be effectively testing almost nothing of real >> importance. >> >> Currently almost all sound tests have no keyword like "headful" to indicate >> they >> may need access to a hardware resource to do anything useful so a similar >> situation arises there except when someone runs those tests manually on >> a local system which has audio devices. >> >> Of course "headful" and "audio device" aren't exactly interchangeable terms >> but if tests are allowed to be run - or worse usually or always run - in a >> situation >> where they potentially are on a system without an audio device (a headless >> VM) or are running in >> a session which doesn't have full desktop access - which may in some >> cases be how audio device access is granted, then they are more likely >> to be running in this scenario where the testing isn't valid. >> >> Another point is that headful tests must be run one at a time - no >> concurrency because >> you can't have multiple tests moving the mouse at the same time >> Whereas for headless tests, a test harness may choose to run concurrently - >> perhaps even in the same VM >> When tests that really need access to an audio device are run it is probably >> safer to consider >> the headful attribute as implying one test at a time is best .. granted on a >> desktop it isn't >> usual for a single app to be able to monopolize access to a speaker, but for >> input devices >> that is what you'd generally expect. >> >> By no means am I sure that the tests being updated here are the full set >> that need tagging. >> There are a lot of tests and they are all known to pass on systems with NO >> audio >> devices, so the search has been for tests which call APIs which will >> definitely >> need access to some device in order to do anything useful. >> So likely there are more to be added - either by a reviewer pointing them >> out or by later discovery. >> Alternatively we could mark ALL sound tests headful .. but given where we >> are starting from >> that might be erring unnecessarily far in the opposite direction. >> >> By adding both headful and sound keywords it gives options to someone who >> wants to identify the tests and perhaps run just tests which need "sound" on >> some >> config they know supports audio but isn't headful. > > Phil Race has updated the pull request with a new target base due to a merge > or a rebase. The incremental webrev excludes the unrelated changes brought in > by the merge/rebase. The pull request contains two additional commits since > the last revision: > > - Merge branch 'master' into sound_tests > Merge master > - 8275170: Some jtreg sound tests should be marked headful Looks right to me. ------------- Marked as reviewed by kizune (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/6086