예제 #1
0
 def test_info_mtime(self):
     p = URI("test.txt")
     now = datetime.datetime.now()
     size = p.info().size
     with p.open('a') as fs:
         fs.write(' again')
     self.assertTrue(p.info().mtime >= p.info().ctime)
     self.assertTrue( p.info().size > size)
     # due to now's millisecond resolution, we must ignore milliseconds
     self.assertTrue(p.info().mtime.timetuple()[:6] >= now.timetuple()[:6])
예제 #2
0
 def test_setting_mode(self):
     # setting the permission flags are not supported on windows
     if sys.platform != "win32":
         p = URI("test.txt")
         mode = p.info().mode
         new_mode = mode | stat.S_IXUSR
         p.info(dict(mode=new_mode))
         self.assertEqual(
             p.info().mode,
             new_mode,
             )
예제 #3
0
    def test_info_on_symlinks(self):
        a_file = URI("test.txt")
        a_link = URI("test_link")
        with a_file.open('w') as f:
            f.write("a" * 800)

        if not a_file.connection.supports_symlinks():
            return

        self.assertEqual(a_file.info().size, 800)
        self.assertEqual(a_link.info().size, 800)
        self.assertNotEqual(a_link.info(followlinks=False).size, 800)
예제 #4
0
    def test_set_info_on_symlinks(self):
        # lchmod is not supported on Linux, only on OSX
        a_file = URI("test.txt")
        a_link = URI("test_link")
        with a_file.open('w') as f:
            f.write("a" * 800)

        if not a_file.connection.supports_symlinks():
            return

        self.assertEqual(a_file.info().size, 800)
        self.assertEqual(a_link.info().size, 800)
        self.assertNotEqual(a_link.info(followlinks=False).size, 800)

        orig_info = a_file.info()
        a_link.info({'mode': 0o120700}, followlinks=False)

        self.assertEqual(a_file.info().mode, orig_info.mode)
        self.assertEqual(a_link.info().mode, orig_info.mode)
        self.assertEqual(a_link.info(followlinks=False).mode, 0o120700)
예제 #5
0
 def test_info_ctime(self):
     p = URI("test.txt")
     self.assertTrue(p.info().ctime <= datetime.datetime.now())
     self.assertEqual(p.info().ctime, p.info().mtime)