Xiaoyu Yao created HADOOP-11073:
-----------------------------------

             Summary: Credential Provider related Unit Tests Failure on Windows
                 Key: HADOOP-11073
                 URL: https://issues.apache.org/jira/browse/HADOOP-11073
             Project: Hadoop Common
          Issue Type: Test
          Components: security
    Affects Versions: 2.4.1
            Reporter: Xiaoyu Yao
            Assignee: Xiaoyu Yao
            Priority: Critical


Reported by: Xiaomara and investigated by [~cnauroth].

The credential provider related unit tests failed on Windows. The tests try to 
set up a URI by taking the build test directory and concatenating it with other 
strings containing the rest of the URI format, i.e.:

{code}
  public void testFactory() throws Exception {
    Configuration conf = new Configuration();
    conf.set(CredentialProviderFactory.CREDENTIAL_PROVIDER_PATH,
        UserProvider.SCHEME_NAME + ":///," +
            JavaKeyStoreProvider.SCHEME_NAME + "://file" + tmpDir + 
"/test.jks");
{code}

This logic is incorrect on Windows, because the file path separator will be 
'\', which violates URI syntax. Forward slash is not permitted. 

The proper fix is to always do path/URI construction through the 
org.apache.hadoop.fs.Path class, specifically using the constructors that take 
explicit parent and child arguments.

The affected unit tests are:

{code}
* TestKeyProviderFactory
* TestLdapGroupsMapping
* TestCredentialProviderFactory
* KeyStoreTestUtil
* TestSSLFactory
{code}




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to