You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Xiaoyu Yao (JIRA)" <ji...@apache.org> on 2014/09/07 00:47:28 UTC
[jira] [Created] (HADOOP-11073) Credential Provider related Unit
Tests Failure on Windows
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)