[11u] RFR: 8243029: Rewrite javax/net/ssl/compatibility/Compatibility.java with a flexible interop test framework

Baesken, Matthias matthias.baesken at sap.com
Fri Jul 17 14:23:31 UTC 2020


Hi Goetz, this looks  good to me , However some remarks .


I would like to downport this for parity with 11.0.9-oracle.
This change caused me some headache:

First, there were some files to resolve:

Cert.java could not be deleted because it differs in certificate
EC_RSA_PRIME256V1_SHA256

Compatibility.java could not be deleted because it differs in
test compile instructions. The test in 11 forces Java 1.6
compatibility, while the test in the patch forces Java 1.7
compatibility.

UseCase.java could not be deleted because it differs in
one line in Object[][] PARAMS:
jdk11u-dev:
            FULL_CASES ? CIPHER_SUITES : MANDATORY_CIPHER_SUITES,
original change:
            FULL_CASES || FULL_CIPHER_SUITES ? CIPHER_SUITES : MANDATORY_CIPHER_SUITES,

test/lib/jdk/test/lib/security/CertUtils.java
patched fine after downporting "8228967: Trust/Key store and SSL context utilities for tests"
as prerequisite.

The test descriptions before required -source/target 1.6 and 1.7.
I thought about keeping it that way, but that is not possible
as the new code uses Java 8 features as Lambdas and Predicates.
So the tests now require 1.8.

HrrTest.java still would not work.
I removed the test case for TLS_CHACHA20_POLY1305_SHA256 because it
only came in 12 with "8140466: ChaCha20 and Poly1305 TLS Cipher Suites"
--------------------------------------------------------------

Seems jdk11 does only know the name of TLS_CHACHA20_POLY1305_SHA256 but nothing more , the real support came with jdk12.
Some other folks were struggeling with this too :
https://jira.mariadb.org/browse/CONJ-721

Maybe there is a chance to backport it to jdk11 in future   (of course it is a separate issue) ?




README

The readme of jdk11 mentions jdk 6 to 10. The source patched

originally by the change mentioned jdk 7 to 10.

Because the new test files contain Java 8 coding, I adapted

the readme to mention 8 as oldest version.



I ran the test as normal jtreg tests (testing with the VM built from

the current repo). You need to pass -m to jtreg as the tests are

marked as manual tests.

This works fine.



I also tried to run the test as described in the readme.

This did not work. Among others, I get errors that certain

enums naming Suites are not known.  I tried to run the

tests in jdk/jdk, there they do not compile.  So I gave up on

this.

The readme anyways is inprecise and/or wrong, it mentions the

wrong test file to call, and omits that '-m' must be set.



So please review:

http://cr.openjdk.java.net/~goetz/wr20/8243029-ssl_test_framework-jdk11/01/



Bug:

https://bugs.openjdk.java.net/browse/JDK-8243029

https://hg.openjdk.java.net/jdk/jdk/rev/b6b4506a7827
--------------------------------------------------------------------------

Could you file a separate bug  for the readme,  I guess this needs fixing in jdk/jdk too .

Best regards, Matthias





More information about the jdk-updates-dev mailing list