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

Reply via email to