]> arthur.barton.de Git - bup.git/commitdiff
Port tmetadata to vfs2
authorRob Browning <rlb@defaultvalue.org>
Mon, 9 Oct 2017 05:15:58 +0000 (00:15 -0500)
committerRob Browning <rlb@defaultvalue.org>
Sun, 24 Dec 2017 19:26:02 +0000 (13:26 -0600)
Signed-off-by: Rob Browning <rlb@defaultvalue.org>
Tested-by: Rob Browning <rlb@defaultvalue.org>
lib/bup/t/tmetadata.py

index 18a688134279a507fe33dedee62b99a9c99a1042..ebda7a3e9236c8d7b9ef69f06eca81e442253930 100644 (file)
@@ -3,8 +3,10 @@ import errno, glob, grp, pwd, stat, tempfile, subprocess
 
 from wvtest import *
 
-from bup import git, metadata, vfs
+from bup import git, metadata
+from bup import vfs2 as vfs
 from bup.helpers import clear_errors, detect_fakeroot, is_superuser, resolve_parent
+from bup.repo import LocalRepo
 from bup.xstat import utime, lutime
 from buptest import no_lingering_errors, test_tempdir
 import bup.helpers as helpers
@@ -141,19 +143,23 @@ def test_metadata_method():
             ex(bup_path, '-d', bup_dir, 'index', '-v', data_path)
             ex(bup_path, '-d', bup_dir, 'save', '-tvvn', 'test', data_path)
             git.check_repo_or_die(bup_dir)
-            top = vfs.RefList(None)
-            n = top.lresolve('/test/latest' + resolve_parent(data_path))
-            m = n.metadata()
+            repo = LocalRepo()
+            resolved = vfs.lresolve(repo,
+                                    '/test/latest' + resolve_parent(data_path))
+            leaf_name, leaf_item = resolved[-1]
+            m = leaf_item.meta
             WVPASS(m.mtime == test_time2)
-            WVPASS(len(n.subs()) == 2)
-            WVPASS(n.name == 'foo')
-            WVPASS(set([x.name for x in n.subs()]) == set(['file', 'symlink']))
-            for sub in n:
-                if sub.name == 'file':
-                    m = sub.metadata()
+            WVPASS(leaf_name == 'foo')
+            contents = tuple(vfs.contents(repo, leaf_item))
+            WVPASS(len(contents) == 3)
+            WVPASSEQ(frozenset(name for name, item in contents),
+                     frozenset(('.', 'file', 'symlink')))
+            for name, item in contents:
+                if name == 'file':
+                    m = item.meta
                     WVPASS(m.mtime == test_time1)
-                elif sub.name == 'symlink':
-                    m = sub.metadata()
+                elif name == 'symlink':
+                    m = item.meta
                     WVPASSEQ(m.symlink_target, 'file')
                     WVPASSEQ(m.size, 4)
                     WVPASSEQ(m.mtime, 0)