On Wed, 30 Aug 2023 03:15:18 GMT, Mikhailo Seledtsov <mseledt...@openjdk.org> 
wrote:

>> Container ecosystem is growing. It would be beneficial to define custom 
>> command to figure out whether a specific test host or environment allows for 
>> container testing. This enhancement seeks to make the command used by jtreg 
>> "requires" extension configurable, specifically 
>> test/jtreg-ext/requires/VMProps.java checkContainerSupport().
>
> Hi David,
> 
> Thank you for taking a look at this change.  To answer your questions:
>  -- how is this supposed to work ? 
>  If user running the tests does not specify the newly introduced property 
> things will work same as before. If user specifies 
> -Djdk.test.container.requires.check.command then the specified command will 
> be executed to check whether container testing can be performed on a given 
> host/system. 
> 
> By default the code in VMProps.java runs "docker ps". With this change we 
> could override it with any other relevant command, such as "podman version" 
> or other type of container command.
> 
> -- What if they are really docker specific tests?
> I think our container tests should be fairly container-generic (or container 
> agnostic), but need to check this. This raises a good question. Perhaps we 
> should consider removing the at-requires check entirely, and rely on 
> individual checks in individual tests. This will give us more flexibility, we 
> run a specific check in each test and throw a jtreg.SkippedException upon 
> failure. We already do some additional checks in each test, such as podman 
> version, cgroups v1 vs v2, etc.
> 
> Let me know what you think.

@mseledts  My concern is that given:

map.put("docker.support", this::containerSupport)

we will now have a situation where `containerSupport` may indicate `podman` but 
that will enable `requires docker.support`. It seems to me that we need a range 
of potential checks where the generic `requires container.support` is for a 
test targeted to any container environment (though I wonder in that case what 
exactly it requires that the test depends on???); and we would then potentially 
need separate `docker.support`, `podman.support` if tests did things specific 
to those container environments.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/15475#issuecomment-1698636023

Reply via email to