[
https://issues.apache.org/jira/browse/QUARKS-52?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15205341#comment-15205341
]
ASF GitHub Bot commented on QUARKS-52:
--------------------------------------
Github user ddebrunner commented on a diff in the pull request:
https://github.com/apache/incubator-quarks/pull/33#discussion_r56913433
--- Diff:
connectors/wsclient-javax.websocket/src/test/java/quarks/tests/connectors/wsclient/javax/websocket/KeystorePath.java
---
@@ -5,22 +5,25 @@
package quarks.tests.connectors.wsclient.javax.websocket;
import java.io.File;
+import java.nio.file.Path;
public class KeystorePath {
public static String getStorePath(String storeLeaf) {
- String path = System.getProperty("user.dir");
+ String pathStr = System.getProperty("user.dir");
// Under eclipse/junit: path to project in repo: <repo>/connectors
// Under ant/junit:
<repo>/connectors/<project>/unittests/testrunxxxxxxx
- if (!path.endsWith("/connectors")) {
- int indx = path.indexOf("/connectors/");
- indx += "/connectors/".length() - 1;
- path = path.substring(0, indx);
- }
- path += "/wsclient-javax.websocket/src/test/keystores/" +
storeLeaf;
- if (!new File(path).exists())
+ // Get the path to the <repo>/connectors
+ Path path = new File(pathStr).toPath();
+ do {
+ if (path.endsWith("connectors"))
+ break;
+ path = path.getParent();
+ } while (path.getNameCount() > 0);
+ path = path.resolve("wsclient-javax.websocket/src/test/keystores/"
+ storeLeaf);
--- End diff --
This will still be broken under Windows I think because the path separator
is hard-coded for linux.
> WebSocketClientTest errors on Windows with
> java.lang.IllegalArgumentException: File does not exist ...
> serverKeyStore.jks
> ----------------------------------------------------------------------------------------------------------------------------
>
> Key: QUARKS-52
> URL: https://issues.apache.org/jira/browse/QUARKS-52
> Project: Quarks
> Issue Type: Bug
> Components: Test
> Reporter: Kathey Marsden
> Assignee: Dale LaBossiere
> Priority: Minor
> Labels: windows
> Attachments:
> TEST-quarks.tests.connectors.wsclient.javax.websocket.WebSocketClientTest.xml
>
>
> WebSocketClientTest errors with the following exception
> java.lang.RuntimeException: startEchoer
> at
> quarks.tests.connectors.wsclient.javax.websocket.WebSocketClientTest.startEchoer(WebSocketClientTest.java:68)
> at
> quarks.tests.connectors.wsclient.javax.websocket.WebSocketClientTest.testSslSystemProperty(WebSocketCliientTest.java:390)
> Caused by: java.lang.IllegalArgumentException: File does not exist:
> C:\cygwin\/wsclient-javax.websocket/src/test/keystores/serverKeyStore.jks
> at
> quarks.tests.connectors.wsclient.javax.websocket.KeystorePath.ggetStorePath(KeystorePath.java:22)
> at
> quarks.tests.connectors.wsclient.javax.websocket.WebSoocketServerEcho.getStorePath(WebSocketServerEcho.java:132)
> at
> quarks.tests.connectors.wsclient.javax.websocket.WebSocketServerEcho.createServer(WebSocketServerEcho.java::107)
> at
> quarks.tests.connectors.wsclient.javax.websocket.WebSocketServerEcho.start(WebSocketServerEcho.java:70)
> att
> quarks.tests.connectors.wsclient.javax.websocket.WebSocketClientTest.startEchoer(WebSocketClientTest.java:62)
> I think that the problem is with backslashes in my path when we pass through
> this code KeyStorePath.getStorePath(), it ends up truncating the path.
> public class KeystorePath {
>
> public static String getStorePath(String storeLeaf) {
> String path = System.getProperty("user.dir");
> // Under eclipse/junit: path to project in repo: <repo>/connectors
> // Under ant/junit:
> <repo>/connectors/<project>/unittests/testrunxxxxxxx
> if (!path.endsWith("/connectors")) {
> int indx = path.indexOf("/connectors/");
> indx += "/connectors/".length() - 1;
> path = path.substring(0, indx);
> }
> path += "/wsclient-javax.websocket/src/test/keystores/" + storeLeaf;
> if (!new File(path).exists())
> throw new IllegalArgumentException("File does not exist: "+path);
> return path;
> }
> }
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)