The test can also report which providers it is testing and/or skipping,
so that anyone checking the .jtr file can verify the behavior.
Maybe it fails if expected modules or providers are not found.
-- Jon
On 06/29/2016 10:50 AM, Mandy Chung wrote:
Valerie’s suggestion is a good one. The test will require a minimum image with
cross-platform security providers to run the test while it can still verify
other platform-specific providers.
Mandy
On Jun 29, 2016, at 10:41 AM, Valerie Peng <valerie.p...@oracle.com> wrote:
It's not like the test silently passes as the test still covers the
cross-platform modules.
The way I view this is that the platform=specific modules are "optional" and we
update the expected result by detecting their presence (or the not). It's not a hack or
workaround, but rather an enhancement for the test to handle different images.
Just my .02,
Valerie
On 6/29/2016 10:22 AM, Alexandre (Shura) Iline wrote:
On Jun 28, 2016, at 5:22 PM, Valerie Peng <valerie.p...@oracle.com> wrote:
One of the purpose of this test is to test the ordering (see the initial bug
which this test is for: JDK-6997010).
The original test already detects the OS and will skip certain providers
accordingly.
Instead of splitting the test into multiple platform-specific tests, maybe we
can keep the original test but add module-presence checking? Is there API
available to query if certain module are present?
ModuleFinder.ofSystem().find(String).
We can have only the cross-platform modules listed in @modules and make the
test to pass silently if the required platform-specific modules are not present.
So, for example, on windows, if the test would be executed against an image
which have no jdk.crypto.mscapi, the test will not run any checks and report
pass.
This would help to avoid the additional test creation, but it will add another
silently passing test, which is less clean.
Mandy?
Shura
If yes, then we can leave out the platform-specific providers from the @modules
line and skip the providers if either the OS does not match or the module is
not present.
If we can't query what modules are available, then we may have to think of
something else.
Valerie
On 6/27/2016 12:27 PM, Mandy Chung wrote:
I’m including security-dev which would be a better list to review this test fix.
Valerie,
Does this test have to be order-sensitive? I think this test would be
cleaner to make it order-insensitive and simply test the security provider
initialization.
See my comments below.
On Jun 27, 2016, at 8:21 AM, Alexandre (Shura) Iline
<alexandre.il...@oracle.com> wrote:
Hi.
Please take a look on a suggested for for the
java/lang/SecurityManager/CheckSecurityProvider.java test.
The test in question depend on a list of modules, some of them are
platform-specific. Listing all the dependencies in one test is causing the test
to be skipped on every platform. In an offline conversation it was decided that
it is better to split this tests into a few tests to declare the per-platform
module dependencies.
The bug: https://bugs.openjdk.java.net/browse/JDK-8158670
The suggested fix: http://cr.openjdk.java.net/~shurailine/8158670/webrev.00/
The copyright header start year of the new tests should be 2016.
I would suggest to make CheckSecurityProvide a platform-neutral test, i.e.,
- drop @requires
- make line 94-97 to ignore the platform-dependent provider if it’s present in
the white list
If we could make this test order-insensitive, it’d be cleaner to maintain a
platform-neutral list of security providers and one list for the
platform-dependent security providers for each platform. Just an idea.
Mandy