rdiff-backup-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Rdiff-backup-commits] Changes to rdiff-backup/testing/FilenameMappingte


From: Ben Escoto
Subject: [Rdiff-backup-commits] Changes to rdiff-backup/testing/FilenameMappingtest.py [r1-0]
Date: Fri, 04 Nov 2005 21:56:23 -0500

Index: rdiff-backup/testing/FilenameMappingtest.py
diff -u /dev/null rdiff-backup/testing/FilenameMappingtest.py:1.2.2.1
--- /dev/null   Sat Nov  5 02:56:23 2005
+++ rdiff-backup/testing/FilenameMappingtest.py Sat Nov  5 02:56:21 2005
@@ -0,0 +1,59 @@
+import unittest
+from commontest import *
+from rdiff_backup import FilenameMapping, rpath, Globals
+
+class FilenameMappingTest(unittest.TestCase):
+       """Test the FilenameMapping class, for quoting filenames"""
+       def setUp(self):
+               """Just initialize quoting"""
+               Globals.chars_to_quote = 'A-Z'
+               FilenameMapping.set_init_quote_vals()
+
+       def testBasicQuote(self):
+               """Test basic quoting and unquoting"""
+               filenames = ["hello", "HeLLo", "EUOeu/EUOeu", ":", "::::EU", 
"/:/:"]
+               for filename in filenames:
+                       quoted = FilenameMapping.quote(filename)
+                       assert FilenameMapping.unquote(quoted) == filename, 
filename
+
+       def testQuotedRPath(self):
+               """Test the QuotedRPath class"""
+
+       def testQuotedSepBase(self):
+               """Test get_quoted_sep_base function"""
+               path = ("/usr/local/mirror_metadata"
+                               
".1969-12-31;08421;05833;05820-07;05800.data.gz")
+               qrp = FilenameMapping.get_quoted_sep_base(path)
+               assert qrp.base == "/usr/local", qrp.base
+               assert len(qrp.index) == 1, qrp.index
+               assert (qrp.index[0] ==
+                               
"mirror_metadata.1969-12-31T21:33:20-07:00.data.gz")
+
+       def testLongFilenames(self):
+               """See if long quoted filenames cause crash"""
+               MakeOutputDir()
+               outrp = rpath.RPath(Globals.local_connection, 
"testfiles/output")
+               inrp = rpath.RPath(Globals.local_connection, 
"testfiles/quotetest")
+               re_init_dir(inrp)
+               long_filename = "A"*200 # when quoted should cause overflow
+               longrp = inrp.append(long_filename)
+               longrp.touch()
+               shortrp = inrp.append("B")
+               shortrp.touch()
+
+               rdiff_backup(1, 1, inrp.path, outrp.path, 100000,
+                                        extra_options = 
"--override-chars-to-quote A")
+
+               longrp_out = outrp.append(long_filename)
+               assert not longrp_out.lstat()
+               shortrp_out = outrp.append('B')
+               assert shortrp_out.lstat()
+
+               rdiff_backup(1, 1, "testfiles/empty", outrp.path, 200000)
+               shortrp_out.setdata()
+               assert not shortrp_out.lstat()
+               rdiff_backup(1, 1, inrp.path, outrp.path, 300000)
+               shortrp_out.setdata()
+               assert shortrp_out.lstat()
+
+if __name__ == "__main__": unittest.main()




reply via email to

[Prev in Thread] Current Thread [Next in Thread]