On Wed, 15 Sep 2021 21:49:01 GMT, Weijun Wang <[email protected]> wrote:
>> The test "sun/security/pkcs12/KeytoolOpensslInteropTest.java" performs >> interoperability checks between JDK and openssl with respect to certain >> keystore operations. The test requires a suitable version of openssl to be >> available on the machine it runs. Some mechanisms are used to discover >> openssl, among which searching through a predefined set of paths is also >> one. The test at present looks only at the following absolute paths (in that >> order): > > My understanding is that the $PATH variable usually already contains > `/usr/bin` and `/usr/local/bin`. If you switch to $PATH, maybe it's no more > necessary to try out those 2 anymore? > > Just curious, what is the full path of openssl on your Cygwin? @wangweij, just a quick follow-up to make sure this change makes sense given the value of PATH variable on some of those machines (I mentioned it in the comment above). It appears it is true that openssl is indeed found inside /usr/local/bin directory, but on Cygwin-based systems, this actually translates to something like "C:\Cygwin\usr\local\bin" system path. Since we are explicitly passing "/usr/local/bin/openssl" to the process launcher, it fails to launch on such machines. We could have probably passed "C:\Cygwin...", but that would indicate some sort of prior knowledge towards where Cygwin is installed exactly. Hence, just an additional attempt with no absolute paths could succeed. ------------- PR: https://git.openjdk.java.net/jdk/pull/5523
