test-basic-user-only: Skip final step if no user xattrs
authorSimon McVittie <smcv@collabora.com>
Tue, 29 Aug 2017 16:03:37 +0000 (17:03 +0100)
committerAtomic Bot <atomic-devel@projectatomic.io>
Tue, 29 Aug 2017 19:08:59 +0000 (19:08 +0000)
We don't want to skip the entire test, because the whole point of
bare-user-only is that it works in the absence of xattrs; but we do
need to skip this last stage, which explicitly uses a bare-user
repository.

Signed-off-by: Simon McVittie <smcv@debian.org>
Closes: #1120
Approved by: cgwalters

tests/test-basic-user-only.sh

index fb071fe4c92d1269cb23f25a1b83601e2d4bd3d2..ce69e49e8e7e2c53e9a0c2e205cd226d5d489aa8 100755 (executable)
@@ -72,21 +72,23 @@ $CMD_PREFIX ostree --repo=repo checkout -U -H content-with-dir-world-writable di
 assert_file_has_mode dir-co/worldwritable-dir 775
 echo "ok didn't make world-writable dir"
 
-cd ${test_tmpdir}
-rm repo-input -rf
-rm repo -rf
-ostree_repo_init repo init --mode=bare-user-only
-ostree_repo_init repo-input init --mode=bare-user
-rm files -rf && mkdir files
-echo afile > files/afile
-ln -s afile files/afile-link
-$CMD_PREFIX ostree --repo=repo-input commit --canonical-permissions -b testtree --tree=dir=files
-afile_relobjpath=$(ostree_file_path_to_relative_object_path repo-input testtree /afile)
-afile_link_relobjpath=$(ostree_file_path_to_relative_object_path repo-input testtree /afile-link)
-$CMD_PREFIX ostree pull-local --repo=repo repo-input
-assert_files_hardlinked repo/${afile_relobjpath} repo-input/${afile_relobjpath}
-if files_are_hardlinked repo/${afile_link_relobjpath} repo-input/${afile_link_relobjpath}; then
-    assert_not_reached "symlinks hardlinked across bare-user?"
+if ! skip_one_without_user_xattrs; then
+    cd ${test_tmpdir}
+    rm repo-input -rf
+    rm repo -rf
+    ostree_repo_init repo init --mode=bare-user-only
+    ostree_repo_init repo-input init --mode=bare-user
+    rm files -rf && mkdir files
+    echo afile > files/afile
+    ln -s afile files/afile-link
+    $CMD_PREFIX ostree --repo=repo-input commit --canonical-permissions -b testtree --tree=dir=files
+    afile_relobjpath=$(ostree_file_path_to_relative_object_path repo-input testtree /afile)
+    afile_link_relobjpath=$(ostree_file_path_to_relative_object_path repo-input testtree /afile-link)
+    $CMD_PREFIX ostree pull-local --repo=repo repo-input
+    assert_files_hardlinked repo/${afile_relobjpath} repo-input/${afile_relobjpath}
+    if files_are_hardlinked repo/${afile_link_relobjpath} repo-input/${afile_link_relobjpath}; then
+        assert_not_reached "symlinks hardlinked across bare-user?"
+    fi
+    $OSTREE fsck -q
+    echo "ok hardlink pull from bare-user"
 fi
-$OSTREE fsck -q
-echo "ok hardlink pull from bare-user"