You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by ae...@apache.org on 2016/09/09 02:38:25 UTC

[30/43] hadoop git commit: HADOOP-13388. Clean up TestLocalFileSystemPermission. Contributed by Andras Bokor.

HADOOP-13388. Clean up TestLocalFileSystemPermission. Contributed by Andras Bokor.


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/f414d5e1
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/f414d5e1
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/f414d5e1

Branch: refs/heads/HDFS-7240
Commit: f414d5e118940cb98015c0b66e11102a9704a505
Parents: 7fdfcd8
Author: Anu Engineer <ae...@apache.org>
Authored: Wed Sep 7 11:09:41 2016 -0700
Committer: Anu Engineer <ae...@apache.org>
Committed: Wed Sep 7 11:09:41 2016 -0700

----------------------------------------------------------------------
 .../fs/TestLocalFileSystemPermission.java       | 149 ++++++++-----------
 1 file changed, 60 insertions(+), 89 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/f414d5e1/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestLocalFileSystemPermission.java
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestLocalFileSystemPermission.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestLocalFileSystemPermission.java
index 817285c..1478111 100644
--- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestLocalFileSystemPermission.java
+++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestLocalFileSystemPermission.java
@@ -18,24 +18,23 @@
 package org.apache.hadoop.fs;
 
 import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.fs.permission.*;
+import org.apache.hadoop.fs.permission.FsPermission;
 import org.apache.hadoop.test.GenericTestUtils;
-import org.apache.log4j.Level;
 import org.apache.hadoop.util.Shell;
-
-import java.io.*;
-import java.util.*;
-
+import org.apache.log4j.Level;
 import org.junit.Test;
-import static org.apache.hadoop.test.PlatformAssumptions.assumeNotWindows;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.StringTokenizer;
+
+import static org.apache.hadoop.test.PlatformAssumptions.assumeNotWindows;
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.CoreMatchers.not;
-import static org.junit.Assert.assertThat;
+import static org.junit.Assert.*;
 
 /**
  * This class tests the local file system via the FileSystem abstraction.
@@ -60,18 +59,22 @@ public class TestLocalFileSystemPermission {
     return f;
   }
 
-  private Path writeFile(FileSystem fs, String name, FsPermission perm) throws IOException {
+  private Path writeFile(FileSystem fs, String name, FsPermission perm)
+      throws IOException {
     Path f = new Path(TEST_PATH_PREFIX + name);
-    FSDataOutputStream stm = fs.create(f, perm, true, 2048, (short)1, 32 * 1024 * 1024, null);
+    FSDataOutputStream stm = fs.create(f, perm, true, 2048, (short)1,
+        32 * 1024 * 1024, null);
     stm.writeBytes("42\n");
     stm.close();
     return f;
   }
 
   private void cleanup(FileSystem fs, Path name) throws IOException {
-    assertTrue(fs.exists(name));
-    fs.delete(name, true);
-    assertTrue(!fs.exists(name));
+    if (name!=null) {
+      assertTrue(fs.exists(name));
+      fs.delete(name, true);
+      assertFalse(fs.exists(name));
+    }
   }
 
   @Test
@@ -82,39 +85,33 @@ public class TestLocalFileSystemPermission {
     conf.set(CommonConfigurationKeys.FS_PERMISSIONS_UMASK_KEY, "044");
     Path dir = new Path(TEST_PATH_PREFIX + "dir");
     localfs.mkdirs(dir);
+    Path dir1 = new Path(TEST_PATH_PREFIX + "dir1");
+    Path dir2 = new Path(TEST_PATH_PREFIX + "dir2");
+
     try {
       FsPermission initialPermission = getPermission(localfs, dir);
       assertEquals(
-          FsPermission.getDirDefault().applyUMask(FsPermission.getUMask(conf)),
+          FsPermission.getDirDefault()
+              .applyUMask(FsPermission.getUMask(conf)),
           initialPermission);
-    } catch(Exception e) {
-      LOGGER.error("Cannot run test", e);
-      return;
-    }
 
-    FsPermission perm = new FsPermission((short)0755);
-    Path dir1 = new Path(TEST_PATH_PREFIX + "dir1");
-    localfs.mkdirs(dir1, perm);
-    try {
-      FsPermission initialPermission = getPermission(localfs, dir1);
-      assertEquals(perm.applyUMask(FsPermission.getUMask(conf)), initialPermission);
-    } catch(Exception e) {
-      LOGGER.error("Cannot run test", e);
-      return;
-    }
+      FsPermission perm = new FsPermission((short)0755);
 
-    Path dir2 = new Path(TEST_PATH_PREFIX + "dir2");
-    localfs.mkdirs(dir2);
-    try {
-      FsPermission initialPermission = getPermission(localfs, dir2);
+      localfs.mkdirs(dir1, perm);
+
+      initialPermission = getPermission(localfs, dir1);
+      assertEquals(perm.applyUMask(FsPermission.getUMask(conf)),
+          initialPermission);
+
+      localfs.mkdirs(dir2);
+
+      initialPermission = getPermission(localfs, dir2);
       Path copyPath = new Path(TEST_PATH_PREFIX + "dir_copy");
       localfs.rename(dir2, copyPath);
       FsPermission copyPermission = getPermission(localfs, copyPath);
-      assertEquals(copyPermission, initialPermission);
+      assertEquals(initialPermission, copyPermission);
       dir2 = copyPath;
-    } catch (Exception e) {
-      LOGGER.error("Cannot run test", e);
-      return;
+
     } finally {
       cleanup(localfs, dir);
       cleanup(localfs, dir1);
@@ -124,52 +121,42 @@ public class TestLocalFileSystemPermission {
     }
   }
 
-  /** Test LocalFileSystem.setPermission */
+  /** Test LocalFileSystem.setPermission. */
   @Test
   public void testLocalFSsetPermission() throws IOException {
     assumeNotWindows();
     Configuration conf = new Configuration();
     conf.set(CommonConfigurationKeys.FS_PERMISSIONS_UMASK_KEY, "044");
     LocalFileSystem localfs = FileSystem.getLocal(conf);
+    Path f = null;
+    Path f1 = null;
+    Path f2 = null;
     String filename = "foo";
-    Path f = writeFile(localfs, filename);
+    String filename1 = "foo1";
+    String filename2 = "foo2";
+    FsPermission perm = new FsPermission((short)0755);
+
     try {
+      f = writeFile(localfs, filename);
+      f1 = writeFile(localfs, filename1, perm);
+      f2 = writeFile(localfs, filename2);
+
       FsPermission initialPermission = getPermission(localfs, f);
       assertEquals(
           FsPermission.getFileDefault().applyUMask(FsPermission.getUMask(conf)),
           initialPermission);
-    } catch(Exception e) {
-      LOGGER.error("Cannot run test", e);
-      return;
-    }
 
-    String filename1 = "foo1";
-    FsPermission perm = new FsPermission((short)0755);
-    Path f1 = writeFile(localfs, filename1, perm);
-    try {
-      FsPermission initialPermission = getPermission(localfs, f1);
+      initialPermission = getPermission(localfs, f1);
       assertEquals(
           perm.applyUMask(FsPermission.getUMask(conf)), initialPermission);
-    } catch(Exception e) {
-      LOGGER.error("Cannot run test", e);
-      return;
-    }
 
-    String filename2 = "foo2";
-    Path f2 = writeFile(localfs, filename2);
-    try {
-      FsPermission initialPermission = getPermission(localfs, f2);
+      initialPermission = getPermission(localfs, f2);
       Path copyPath = new Path(TEST_PATH_PREFIX + "/foo_copy");
       localfs.rename(f2, copyPath);
       FsPermission copyPermission = getPermission(localfs, copyPath);
       assertEquals(copyPermission, initialPermission);
       f2 = copyPath;
-    } catch (Exception e) {
-      LOGGER.error("Cannot run test", e);
-      return;
-    }
 
-    try {
       // create files and manipulate them.
       FsPermission all = new FsPermission((short)0777);
       FsPermission none = new FsPermission((short)0);
@@ -179,8 +166,7 @@ public class TestLocalFileSystemPermission {
 
       localfs.setPermission(f, all);
       assertEquals(all, getPermission(localfs, f));
-    }
-    finally {
+    } finally {
       cleanup(localfs, f);
       cleanup(localfs, f1);
       if (localfs.exists(f2)) {
@@ -196,33 +182,19 @@ public class TestLocalFileSystemPermission {
   /** Test LocalFileSystem.setOwner. */
   @Test
   public void testLocalFSsetOwner() throws IOException {
-    if (Path.WINDOWS) {
-      LOGGER.info("Cannot run test for Windows");
-      return;
-    }
+    assumeNotWindows();
 
     Configuration conf = new Configuration();
     conf.set(CommonConfigurationKeys.FS_PERMISSIONS_UMASK_KEY, "044");
     LocalFileSystem localfs = FileSystem.getLocal(conf);
     String filename = "bar";
     Path f = writeFile(localfs, filename);
-    List<String> groups = null;
+    List<String> groups;
     try {
       groups = getGroups();
       LOGGER.info("{}: {}", filename, getPermission(localfs, f));
-    }
-    catch(IOException e) {
-      LOGGER.error("Cannot run test", e);
-      return;
-    }
-    if (groups == null || groups.size() < 1) {
-      LOGGER.error("Cannot run test: need at least one group. groups={}",
-          groups);
-      return;
-    }
 
-    // create files and manipulate them.
-    try {
+      // create files and manipulate them.
       String g0 = groups.get(0);
       localfs.setOwner(f, null, g0);
       assertEquals(g0, getGroup(localfs, f));
@@ -235,8 +207,9 @@ public class TestLocalFileSystemPermission {
         LOGGER.info("Not testing changing the group since user " +
             "belongs to only one group.");
       }
-    } 
-    finally {cleanup(localfs, f);}
+    } finally {
+      cleanup(localfs, f);
+    }
   }
 
   /**
@@ -250,10 +223,7 @@ public class TestLocalFileSystemPermission {
    */
   @Test
   public void testSetUmaskInRealTime() throws Exception {
-    if (Path.WINDOWS) {
-      LOGGER.info("Cannot run test for Windows");
-      return;
-    }
+    assumeNotWindows();
 
     LocalFileSystem localfs = FileSystem.getLocal(new Configuration());
     Configuration conf = localfs.getConf();
@@ -289,9 +259,10 @@ public class TestLocalFileSystemPermission {
   }
 
   static List<String> getGroups() throws IOException {
-    List<String> a = new ArrayList<String>();
+    List<String> a = new ArrayList<>();
     String s = Shell.execCommand(Shell.getGroupsCommand());
-    for(StringTokenizer t = new StringTokenizer(s); t.hasMoreTokens(); ) {
+    StringTokenizer t = new StringTokenizer(s);
+    while (t.hasMoreTokens()) {
       a.add(t.nextToken());
     }
     return a;


---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org