summaryrefslogtreecommitdiff
path: root/rdiff-backup/testing/securitytest.py
diff options
context:
space:
mode:
Diffstat (limited to 'rdiff-backup/testing/securitytest.py')
-rw-r--r--rdiff-backup/testing/securitytest.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/rdiff-backup/testing/securitytest.py b/rdiff-backup/testing/securitytest.py
index f8796ff..cd83635 100644
--- a/rdiff-backup/testing/securitytest.py
+++ b/rdiff-backup/testing/securitytest.py
@@ -1,4 +1,4 @@
-import os, unittest, time
+import os, unittest, time, traceback, sys
from commontest import *
import rdiff_backup.Security as Security
@@ -12,7 +12,10 @@ class SecurityTest(unittest.TestCase):
problem.
"""
- assert isinstance(exc, Security.Violation), exc
+ if not isinstance(exc, Security.Violation):
+ type, value, tb = sys.exc_info()
+ print "".join(traceback.format_tb(tb))
+ raise exc
#assert str(exc).find("Security") >= 0, "%s\n%s" % (exc, repr(exc))
def test_vet_request_ro(self):
@@ -188,6 +191,15 @@ class SecurityTest(unittest.TestCase):
extra_args = '-r now',
success = 0)
+ def test_restrict_bug(self):
+ """Test for bug 14209 --- mkdir outside --restrict arg"""
+ Myrm('testfiles/output')
+ self.secure_rdiff_backup('testfiles/various_file_types',
+ 'testfiles/output', 1,
+ '--restrict foobar', success = 0)
+ output = rpath.RPath(Globals.local_connection, 'testfiles/output')
+ assert not output.lstat()
+
if __name__ == "__main__": unittest.main()