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

Chris Nauroth updated HADOOP-9624:
----------------------------------

    Description: 
TestFSMainOperationsLocalFileSystem extends Class FSMainOperationsBaseTest. 
PathFilter FSMainOperationsBaseTest#TEST_X_FILTER checks if a path has "x" and 
"X" in its name. 
{code}
final private static PathFilter TEST_X_FILTER = new PathFilter() {
  public boolean accept(Path file) {
    if(file.getName().contains("x") || file.toString().contains("X"))
      return true;
    else
      return false;
{code}




Some of the test cases construct a path by combining path "TEST_ROOT_DIR" with 
a customized partial path. 
The problem is that "TEST_ROOT_DIR" may also has "X" in its name. The path 
check will pass even if the customized partial path doesn't have "X". However, 
for this case the path filter is supposed to reject this path.

An easy fix is to change "file.toString().contains("X")" to 
"file.getName().contains("X")". Note that org.apache.hadoop.fs.Path.getName() 
only returns the final component of this path.


  was:
TestFSMainOperationsLocalFileSystem extends Class FSMainOperationsBaseTest. 
PathFilter FSMainOperationsBaseTest#TEST_X_FILTER checks if a path has "x" and 
"X" in its name. 
{code}
final private static PathFilter TEST_X_FILTER = new PathFilter() {
  public boolean accept(Path file) {
    if(file.getName().contains("x") || file.toString().contains("X"))
      return true;
    else
      return false;
{code}




Some of the test cases construct a path by combining path "TEST_ROOT_DIR" with 
a customized partial path. 
The problem is that once the enlistment root path has "X" in  its name, 
"TEST_ROOT_DIR" will also has "X" in its name. The path check will pass even if 
the customized partial path doesn't have "X". However, for this case the path 
filter is supposed to reject this path.

An easy fix is to change "file.toString().contains("X")" to 
"file.getName().contains("X")". Note that org.apache.hadoop.fs.Path.getName() 
only returns the final component of this path.


    
> TestFSMainOperationsLocalFileSystem failed when the Hadoop test root path has 
> "X" in its name
> ---------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-9624
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9624
>             Project: Hadoop Common
>          Issue Type: Test
>          Components: test
>    Affects Versions: 1-win
>         Environment: Windows
>            Reporter: Xi Fang
>            Assignee: Xi Fang
>            Priority: Minor
>              Labels: test
>         Attachments: HADOOP-9624.branch-1.patch, HADOOP-9624.patch, 
> HADOOP-9624.trunk.patch
>
>
> TestFSMainOperationsLocalFileSystem extends Class FSMainOperationsBaseTest. 
> PathFilter FSMainOperationsBaseTest#TEST_X_FILTER checks if a path has "x" 
> and "X" in its name. 
> {code}
> final private static PathFilter TEST_X_FILTER = new PathFilter() {
>   public boolean accept(Path file) {
>     if(file.getName().contains("x") || file.toString().contains("X"))
>       return true;
>     else
>       return false;
> {code}
> Some of the test cases construct a path by combining path "TEST_ROOT_DIR" 
> with a customized partial path. 
> The problem is that "TEST_ROOT_DIR" may also has "X" in its name. The path 
> check will pass even if the customized partial path doesn't have "X". 
> However, for this case the path filter is supposed to reject this path.
> An easy fix is to change "file.toString().contains("X")" to 
> "file.getName().contains("X")". Note that org.apache.hadoop.fs.Path.getName() 
> only returns the final component of this path.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to