def test_keep_tail_not_touched_file(self): self.newFile(1) f = None try: ctail._verbose = False f, error = ctail.open_tail(self.file_path) self.assertEqual(False, error) offset = f.tell() size = os.path.getsize(self.file_path) self.assertEqual(8, size) self.assertEqual(0, offset) # 첫 번째 tail offset, error = ctail.keep_tail(f) self.assertEqual(False, error) self.assertEqual(8, size) self.assertEqual(8, offset) # 두 번째 tail offset, error = ctail.keep_tail(f) self.assertEqual(False, error) self.assertEqual(8, size) self.assertEqual(8, offset) except Exception as e: self.assertTrue(False, "error, {}".format(e)) finally: if f is not None: f.close()
def test_keep_tail_the_file_with_option_f(self): self.newFile(1) time.sleep(0.1) self.newAnotherFile(1) f = None try: ctail._verbose = False ctail._follow_file = True target, exist, inode = ctail.get_tail_filename( self.file_path, True) self.assertEqual(True, exist) self.assertEqual(os.path.abspath(self.file_path), target) f, error = ctail.open_tail(target) self.assertEqual(False, error) offset = f.tell() size = os.path.getsize(target) self.assertEqual(8, size) self.assertEqual(0, offset) # 첫 번째 tail offset, error = ctail.keep_tail(f) self.assertEqual(False, error) self.assertEqual(8, size) self.assertEqual(8, offset) # 두 번째 tail offset, error = ctail.keep_tail(f) self.assertEqual(False, error) self.assertEqual(8, size) self.assertEqual(8, offset) time.sleep(0.1) self.appendFile(2, 2) time.sleep(0.1) self.appendAnotherFile(2, 2) # 세 번째 tail offset, error = ctail.keep_tail(f) size = os.path.getsize(target) self.assertEqual(False, error) self.assertEqual(16, size) self.assertEqual(16, offset) except Exception as e: self.assertTrue(False, "error, {}".format(e)) finally: if f is not None: f.close()
def test_error_in_keeping_tail_the_file_with_option_f(self): self.newFile(1) f = None try: ctail._verbose = False ctail._follow_file = True target, exist, inode = ctail.get_tail_filename( self.file_path, True) print("get tail file:{}, {} ".format( os.path.abspath(self.file_path), target)) self.assertEqual(True, exist) self.assertEqual(os.path.abspath(self.file_path), target) f, error = ctail.open_tail(target) self.assertEqual(False, error) offset = f.tell() size = os.path.getsize(target) self.assertEqual(8, size) self.assertEqual(0, offset) # 첫 번째 tail offset, error = ctail.keep_tail(f) self.assertEqual(False, error) self.assertEqual(8, size) self.assertEqual(8, offset) # file 이 지워지는 경우 self.removeFile() # file 이 지워져도 f 가 유효한 건지, error가 나지 않음 offset, error = ctail.keep_tail(f) self.assertEqual(False, error) self.assertEqual(8, offset) offset, error = ctail.keep_tail(f) self.assertEqual(False, error) self.assertEqual(8, offset) except Exception as e: self.assertTrue(False, "error, {}".format(e)) finally: if f is not None: f.close()
def test_the_filesize_eqless_than_2048(self): self.newFile(256) f = None try: ctail._verbose = False f, error = ctail.open_tail(self.file_path) self.assertEqual(False, error) offset = f.tell() size = os.path.getsize(self.file_path) self.assertEqual(2048, size) self.assertEqual(0, offset) except Exception as e: self.assertTrue(False, "error, {}".format(e)) finally: if f is not None: f.close()
def test_first_error_in_opening_tail_the_file_with_option_f(self): self.newFile(1) f = None try: ctail._verbose = False ctail._follow_file = True target, exist, inode = ctail.get_tail_filename( self.file_path, True) self.assertEqual(True, exist) self.assertEqual(os.path.abspath(self.file_path), target) # file 이 지워지는 경우 self.removeFile() f, error = ctail.open_tail(target) self.assertEqual(True, error) except Exception as e: self.assertTrue(False, "error, {}".format(e)) finally: if f is not None: f.close()