diff options
Diffstat (limited to 'rdiff-backup/testing/securitytest.py')
-rw-r--r-- | rdiff-backup/testing/securitytest.py | 16 |
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() |