]> arthur.barton.de Git - bup.git/blobdiff - t/test-on.sh
test-restore-map-owner: accommodate python 3 and test there
[bup.git] / t / test-on.sh
index c3ee46016751d74c627829e4b9bbc9d1d312bd0b..24c2c383511363941c1ab263ef2836a56d0c55f2 100755 (executable)
@@ -21,14 +21,38 @@ WVPASS mkdir src src/foo
 WVPASS date > src/bar
 WVPASS bup random 1k > src/baz
 WVPASS bup on - index src
-WVPASS bup on - save -n src src
+WVPASS bup on - save -ctn src src > get.log
+WVPASSEQ $(WVPASS cat get.log | WVPASS wc -l) 2
+tree_id=$(WVPASS awk 'FNR == 1' get.log) || exit $?
+commit_id=$(WVPASS awk 'FNR == 2' get.log) || exit $?
+WVPASS git ls-tree "$tree_id"
+WVPASS git cat-file commit "$commit_id" | head -n 1 \
+    | WVPASS grep "^tree $tree_id\$"
+
 WVPASS bup restore -C restore "src/latest/$(pwd)/src/."
 WVPASS compare-trees src/ restore/
 WVPASS rm -r restore
 
 WVSTART "split"
-WVPASS bup on - split -n baz src/baz
+WVPASS bup on - split -ctn baz src/baz > get.log
+tree_id=$(WVPASS awk 'FNR == 1' get.log) || exit $?
+commit_id=$(WVPASS awk 'FNR == 2' get.log) || exit $?
+WVPASS git ls-tree "$tree_id"
+WVPASS git cat-file commit "$commit_id" | head -n 1 \
+    | WVPASS grep "^tree $tree_id\$"
 WVPASS bup join baz > restore-baz
 WVPASS cmp src/baz restore-baz
 
+WVSTART "index-cache"
+# the 'a-zA-Z0-9_' is '\w' from python,
+# the trailing _ is because there's no dir specified
+# and that should thus be empty
+hostname=$(bup python -c "from bup import helpers ; print(helpers.hostname().decode('iso8859-1'))")
+idxcache=$(echo "$hostname" | sed 's/[^@a-zA-Z0-9_]/_/g')_
+# there should be an index-cache now
+for idx in "$tmpdir"/bup/objects/pack/*.idx ; do
+    cachedidx="$tmpdir/bup/index-cache/$idxcache/$(basename "$idx")"
+    WVPASS cmp "$idx" "$cachedidx"
+done
+
 WVPASS rm -rf "$tmpdir"