Index: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/logaggregation/TestAggregatedLogFormat.java =================================================================== --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/logaggregation/TestAggregatedLogFormat.java (revision 1494413) +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/logaggregation/TestAggregatedLogFormat.java (working copy) @@ -145,7 +145,7 @@ Assert.assertEquals(expectedLength, s.length()); } - @Test(timeout=10000) + @Test public void testContainerLogsFileAccess() throws IOException { // This test will run only if NativeIO is enabled as SecureIOUtils // require it to be enabled. @@ -206,27 +206,34 @@ sb.append(line); } line = sb.toString(); - + + String expectedOwner = ugi.getShortUserName(); + if (Path.WINDOWS) { + final String adminsGroupString = "Administrators"; + if (Arrays.asList(ugi.getGroupNames()).contains(adminsGroupString)) { + expectedOwner = adminsGroupString; + } + } String stdoutFile1 = StringUtils.join( - Path.SEPARATOR, + File.separator, Arrays.asList(new String[] { - srcFileRoot.toUri().toString(), + workDir.getAbsolutePath(), "srcFiles", testContainerId1.getApplicationAttemptId().getApplicationId() .toString(), testContainerId1.toString(), stderr })); String message1 = - "Owner '" + ugi.getShortUserName() + "' for path " + stdoutFile1 + "Owner '" + expectedOwner + "' for path " + stdoutFile1 + " did not match expected owner '" + randomUser + "'"; String stdoutFile2 = StringUtils.join( - Path.SEPARATOR, + File.separator, Arrays.asList(new String[] { - srcFileRoot.toUri().toString(), + workDir.getAbsolutePath(), "srcFiles", testContainerId1.getApplicationAttemptId().getApplicationId() .toString(), testContainerId1.toString(), stdout })); String message2 = - "Owner '" + ugi.getShortUserName() + "' for path " + "Owner '" + expectedOwner + "' for path " + stdoutFile2 + " did not match expected owner '" + ugi.getShortUserName() + "'";