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 in...@apache.org on 2018/06/08 00:02:23 UTC
[09/14] hadoop git commit: HADOOP-15516. Add test cases to cover
FileUtil#readLink. Contributed by Giovanni Matteo Fumarola.
HADOOP-15516. Add test cases to cover FileUtil#readLink. Contributed by Giovanni Matteo Fumarola.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/12be8bad
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/12be8bad
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/12be8bad
Branch: refs/heads/HADOOP-15461
Commit: 12be8bad7debd67c9ea72b979a39c8cf42c5f37d
Parents: 7969cc4
Author: Inigo Goiri <in...@apache.org>
Authored: Thu Jun 7 13:34:52 2018 -0700
Committer: Inigo Goiri <in...@apache.org>
Committed: Thu Jun 7 13:34:52 2018 -0700
----------------------------------------------------------------------
.../java/org/apache/hadoop/fs/FileUtil.java | 6 +++
.../java/org/apache/hadoop/fs/TestFileUtil.java | 52 ++++++++++++++++++++
2 files changed, 58 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/12be8bad/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileUtil.java
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileUtil.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileUtil.java
index ed10f1c..df89598 100644
--- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileUtil.java
+++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileUtil.java
@@ -198,6 +198,12 @@ public class FileUtil {
* use getCanonicalPath in File to get the target of the symlink but that
* does not indicate if the given path refers to a symlink.
*/
+
+ if (f == null) {
+ LOG.warn("Can not read a null symLink");
+ return "";
+ }
+
try {
return Shell.execCommand(
Shell.getReadlinkCommand(f.toString())).trim();
http://git-wip-us.apache.org/repos/asf/hadoop/blob/12be8bad/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestFileUtil.java
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestFileUtil.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestFileUtil.java
index 01fa563..f557103 100644
--- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestFileUtil.java
+++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestFileUtil.java
@@ -1441,4 +1441,56 @@ public class TestFileUtil {
}
}
+ /**
+ * This test validates the correctness of {@link FileUtil#readLink(File)} in
+ * case of null pointer inputs.
+ */
+ @Test
+ public void testReadSymlinkWithNullInput() {
+ String result = FileUtil.readLink(null);
+ Assert.assertEquals("", result);
+ }
+
+ /**
+ * This test validates the correctness of {@link FileUtil#readLink(File)}.
+ *
+ * @throws IOException
+ */
+ @Test
+ public void testReadSymlink() throws IOException {
+ Assert.assertFalse(del.exists());
+ del.mkdirs();
+
+ File file = new File(del, FILE);
+ File link = new File(del, "_link");
+
+ // Create a symbolic link
+ FileUtil.symLink(file.getAbsolutePath(), link.getAbsolutePath());
+
+ String result = FileUtil.readLink(link);
+ Assert.assertEquals(file.getAbsolutePath(), result);
+
+ file.delete();
+ link.delete();
+ }
+
+ /**
+ * This test validates the correctness of {@link FileUtil#readLink(File)} when
+ * it gets a file in input.
+ *
+ * @throws IOException
+ */
+ @Test
+ public void testReadSymlinkWithAFileAsInput() throws IOException {
+ Assert.assertFalse(del.exists());
+ del.mkdirs();
+
+ File file = new File(del, FILE);
+
+ String result = FileUtil.readLink(file);
+ Assert.assertEquals("", result);
+
+ file.delete();
+ }
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org