I think the problem is with our test wrapper, JythonTest, and the arrangement of resources on the classpath (governed by the test/pom.xml). Together they are having the affect of making the python scripts and test resources (e.g. the test certs etc) available to python tests by two different routes.
- once by way of the Java classpath (tests/target/classes/ is on the classpath),
- and once again by way of the Python sys.path established in JythonTest#test()
It seems when the tests are run on Linux, the ssl.py finds the resources by way of the Python sys.path and this allows SslTest#testpath to determine an absolute path to the certificate. However, when the tests are run on Windows the test finds the resources by way of the Java classpath. This means SslTest_testpath returns a filename beginning with the string "pyclasspath_" which then goes on to fail in BouncyCastle's PEMReader.