diff options
author | Lars Wirzenius <liw@liw.fi> | 2011-07-29 12:47:58 +0100 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2011-07-29 12:47:58 +0100 |
commit | 6b10f1826dcd1037006db0fe7155ebddeea5f825 (patch) | |
tree | d27fc3c9f014bb07ebe73c4ed73db5e6bc229ff8 | |
parent | 540253a762559ae66e459aaed7477faa5fb29eca (diff) | |
download | obnam-6b10f1826dcd1037006db0fe7155ebddeea5f825.tar.gz |
Differentiate restored_dir and restored url, like data and repo do.
However, we can't actually restore to a non-local url, so this is
just a violation of YAGNI.
-rwxr-xr-x | blackboxtest | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/blackboxtest b/blackboxtest index 9068d376..9bc0f27e 100755 --- a/blackboxtest +++ b/blackboxtest @@ -72,7 +72,13 @@ class ObnamTestCase(unittest.TestCase): else: self.repo = self.repo_dir - self.restored = self.mkdir('restored') + self.restored_dir = self.mkdir('restored') + # restored_dir and url are always the same, since we can't do proper + # restoreds over SFTP, so we always do them to the local filesystem. + # This is because SFTP fails to support hardlink creation, mknod, + # and perhaps other stuff. + self.restored = self.restored_dir + self.gpghome = os.path.join(self.tempdir, 'gpghome') shutil.copytree('test-gpghome', self.gpghome) self.setUpHook() @@ -337,14 +343,14 @@ class ObnamTestCase(unittest.TestCase): origs = dict(self.find_everything(self.data_dir)) basename = os.path.basename(self.data_dir) - restored2 = os.path.join(self.restored, './' + self.data_dir) + restored2 = os.path.join(self.restored_dir, './' + self.data_dir) restoreds = dict(self.find_everything(restored2)) for name, orig_stat in origs.iteritems(): if name not in restoreds: logging.error('file %s not in restored data' % name) self.report_contents(self.data_dir, origs) - self.report_contents(self.restored, restoreds) + self.report_contents(self.restored_dir, restoreds) raise cliapp.AppException('%s not in restored data' % name) restored_stat = restoreds[name] self.assert_same_stat(name, orig_stat, restored_stat) @@ -354,7 +360,7 @@ class ObnamTestCase(unittest.TestCase): if name not in origs: logging.error('spurious file %s in restored data' % name) self.report_contents(self.data_dir, origs) - self.report_contents(self.restored, restoreds) + self.report_contents(self.restored_dir, restoreds) raise cliapp.AppException('spurious %s in restored data' % name) @@ -379,10 +385,10 @@ class RestoreTests(ObnamTestCase): def test_restores_individual_file(self): bar_orig = os.path.join(self.data_dir, 'bar') self.restore([bar_orig]) - restored_files = [os.path.join(self.restored, x) - for x, y in self.find_everything(self.restored) + restored_files = [os.path.join(self.restored_dir, x) + for x, y in self.find_everything(self.restored_dir) if stat.S_ISREG(y.st_mode)] - bar_restored = os.path.join(self.restored, './' + bar_orig) + bar_restored = os.path.join(self.restored_dir, './' + bar_orig) bar_restored = os.path.normpath(bar_restored) self.assertEqual(restored_files, [bar_restored]) self.assertFilesEqual(bar_orig, bar_restored) @@ -396,7 +402,7 @@ class RestoreTests(ObnamTestCase): self.backup() self.restore() - restored2 = os.path.join(self.restored, './' + self.data_dir) + restored2 = os.path.join(self.restored_dir, './' + self.data_dir) self.assert_same_contents('sparse', self.data_dir, restored2) def test_restores_pipe(self): @@ -481,7 +487,7 @@ class BackupTests(ObnamTestCase): bar = self.create_dir(self.data_dir, 'bar') self.backup(roots=[bar]) self.restore() - parent = os.path.join(self.restored, './' + self.data_dir) + parent = os.path.join(self.restored_dir, './' + self.data_dir) self.assertEqual(os.listdir(parent), ['bar']) def test_excludes_cache_directory(self): @@ -492,7 +498,7 @@ class BackupTests(ObnamTestCase): self.backup(extraopts=['--exclude-caches']) self.restore() - x = os.path.join(self.restored, './' + cachedir) + x = os.path.join(self.restored_dir, './' + cachedir) self.assertFalse(os.path.exists(os.path.join(x, 'CACHEDIR.TAG'))) self.assertFalse(os.path.exists(os.path.join(x, 'foo'))) |