[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-734?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vishal K updated ZOOKEEPER-734:
-------------------------------

    Attachment: ZOOKEEPER-734.patch

Request for review.

There is probably a better way to handle backlashes in Windows. I tried a use 
properties (file.separator etc), but didn't work. So finally decided to do it 
the dumb way. Replace "\\" with "/". If we done replace backslash, then java 
considers it as escape sequence and essentially the backslash gets removed.

Please, feel free to drop the patch If there is a better way to handle it.

> QuorumPeerTestBase.java and ZooKeeperServerMainTest.java do not handle 
> windows path correctly
> ---------------------------------------------------------------------------------------------
>
>                 Key: ZOOKEEPER-734
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-734
>             Project: Zookeeper
>          Issue Type: Bug
>          Components: tests
>    Affects Versions: 3.3.0
>         Environment: Windows 32-bit
>            Reporter: Vishal K
>             Fix For: 3.3.1, 3.4.0
>
>         Attachments: ZOOKEEPER-734.patch
>
>
> While runniing "ant test-core-java" QuorumPeerTestBase.java and 
> ZooKeeperServerMainTest.java fail. The problem seems to be in 
> ZookeeperserverMainTest.java:MainThread():66 and in 
> QuorumPeerBaseTest.java:MainThread:76.
> FileWriter.write() writes windows path to the conf file. Java does not like 
> windows path. Therefore, the test complains that it cannot find myid and 
> fails. 
> Solution - convert windows path to UNIX path. This worked for me on windows.  
> Diffs are attached below. Solution not tested on Linux since for some reason 
> build is failing (due to problems not related to this change).
> vmc-floorb-dhcp116-114:/opt/zksrc/zookeeper-3.3.0/src/java/test/org/apache/zookeeper/server
>  # svn diff
> Index: ZooKeeperServerMainTest.java
> ===================================================================
> --- ZooKeeperServerMainTest.java      (revision 931240)
> +++ ZooKeeperServerMainTest.java      (working copy)
> @@ -61,7 +61,8 @@
>              if (!dataDir.mkdir()) {
>                  throw new IOException("unable to mkdir " + dataDir);
>              }
> -            fwriter.write("dataDir=" + dataDir.toString() + "\n");
> +            String data = dataDir.toString().replace('\\', '/');
> +            fwriter.write("dataDir=" + data + "\n");
>  
>              fwriter.write("clientPort=" + clientPort + "\n");
>              fwriter.flush();
> Index: quorum/QuorumPeerTestBase.java
> ===================================================================
> --- quorum/QuorumPeerTestBase.java    (revision 931240)
> +++ quorum/QuorumPeerTestBase.java    (working copy)
> @@ -73,7 +73,8 @@
>              if (!dataDir.mkdir()) {
>                  throw new IOException("Unable to mkdir " + dataDir);
>              }
> -            fwriter.write("dataDir=" + dataDir.toString() + "\n");
> +            String data = dataDir.toString().replace('\\', '/');
> +            fwriter.write("dataDir=" + data + "\n");
>  
>              fwriter.write("clientPort=" + clientPort + "\n");
>              fwriter.write(quorumCfgSection + "\n");

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to