From: Ramakrishnan Muthukrishnan <ram@leastauthority.com>
Date: Wed, 12 Aug 2015 08:43:13 +0000 (+0530)
Subject: Add test for get_pathinfo()
X-Git-Url: https://git.rkrishnan.org/%5B/frontends/flags/%22file:/-?a=commitdiff_plain;h=2bbd9b1a51f457348aac9b9525df128d695911d0;p=tahoe-lafs%2Ftahoe-lafs.git

Add test for get_pathinfo()
---

diff --git a/src/allmydata/test/test_util.py b/src/allmydata/test/test_util.py
index 8cca7b5e..a2fa3b89 100644
--- a/src/allmydata/test/test_util.py
+++ b/src/allmydata/test/test_util.py
@@ -634,6 +634,32 @@ class FileUtil(ReallyEqualMixin, unittest.TestCase):
         disk = fileutil.get_disk_stats('.', 2**128)
         self.failUnlessEqual(disk['avail'], 0)
 
+    def test_get_pathinfo(self):
+        basedir = "util/FileUtil/test_get_pathinfo"
+        fileutil.make_dirs(basedir)
+        d = os.path.join(basedir, "foobar")
+
+        # create a directory
+        self.mkdir(d, "a")
+        dirinfo = fileutil.get_pathinfo(d)
+        self.failUnlessTrue(dirinfo.isdir)
+        self.failUnlessTrue(dirinfo.exists)
+
+        # create a file under the directory
+        f = os.path.join(d, "a/1.txt")
+        self.touch(d, "a/1.txt", data="a"*10)
+        fileinfo = fileutil.get_pathinfo(f)
+        self.failUnlessTrue(fileinfo.isfile)
+        self.failUnlessTrue(fileinfo.exists)
+        self.failUnlessEqual(fileinfo.size, 10)
+
+        # create a simlink under the directory a pointing to 1.txt
+        slname = os.path.join(d, "a/linkto1.txt")
+        os.symlink(f, slname)
+        symlinkinfo = fileutil.get_pathinfo(slname)
+        self.failUnlessTrue(symlinkinfo.islink)
+        self.failUnlessTrue(symlinkinfo.exists)
+
 
 class PollMixinTests(unittest.TestCase):
     def setUp(self):