======================================== libostree 2023.7: ./test-suite.log ======================================== # TOTAL: 938 # PASS: 889 # SKIP: 49 # XFAIL: 0 # FAIL: 0 # XPASS: 0 # ERROR: 0 .. contents:: :depth: 2 PASS: tests/test-basic-c ======================== TAP version 13 + . /home/jenkins/agent/workspace/ostree_PR-3054/tests/libtest.sh +++ dirname bash ++ dn=. ++ '[' -n /home/jenkins/agent/workspace/ostree_PR-3054 ']' ++ test_srcdir=/home/jenkins/agent/workspace/ostree_PR-3054/tests ++ top_builddir=/home/jenkins/agent/workspace/ostree_PR-3054 ++ test -z /home/jenkins/agent/workspace/ostree_PR-3054 ++ test_builddir=/home/jenkins/agent/workspace/ostree_PR-3054/tests ++ . /home/jenkins/agent/workspace/ostree_PR-3054/tests/libtest-core.sh +++ n_tap_tests=0 +++ type -p locale ++++ locale -a ++++ grep -iEe '^(C|en_US)\.(UTF-8|utf8)$' ++++ head -n1 +++ export LC_ALL=C.utf8 +++ LC_ALL=C.utf8 +++ '[' -z C.utf8 ']' +++ unset LANGUAGE +++ export G_DEBUG=fatal-warnings +++ G_DEBUG=fatal-warnings +++ trap report_err ERR ++ PATH=/home/jenkins/agent/workspace/ostree_PR-3054/tests:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/sbin ++ libtest_exit_cmds=() ++ trap run_exit_cmds EXIT ++ libtest_exit_cmds+=(save_core) +++ pwd ++ test_tmpdir=/var/tmp/tap-test.jD20N8 ++ test -f .testtmp ++ unset SOURCE_DATE_EPOCH ++ unset TAR_OPTIONS ++ export OSTREE_SYSROOT_DEBUG=mutable-deployments ++ OSTREE_SYSROOT_DEBUG=mutable-deployments ++ export OSTREE_SKIP_CACHE=1 ++ OSTREE_SKIP_CACHE=1 ++ export TEST_GPG_KEYID_1=7FCA23D8472CDAFA ++ TEST_GPG_KEYID_1=7FCA23D8472CDAFA ++ export TEST_GPG_KEYFPR_1=5E65DE75AB1C501862D476347FCA23D8472CDAFA ++ TEST_GPG_KEYFPR_1=5E65DE75AB1C501862D476347FCA23D8472CDAFA ++ export TEST_GPG_KEYID_2=D8228CFECA950D41 ++ TEST_GPG_KEYID_2=D8228CFECA950D41 ++ export TEST_GPG_KEYFPR_2=7B3B1020D74479687FDB2273D8228CFECA950D41 ++ TEST_GPG_KEYFPR_2=7B3B1020D74479687FDB2273D8228CFECA950D41 ++ export TEST_GPG_KEYID_3=0D15FAE7DF444D67 ++ TEST_GPG_KEYID_3=0D15FAE7DF444D67 ++ export TEST_GPG_KEYFPR_3=7D29CF060B8269CDF63BFBDD0D15FAE7DF444D67 ++ TEST_GPG_KEYFPR_3=7D29CF060B8269CDF63BFBDD0D15FAE7DF444D67 ++ echo 'Copying gpghome to /var/tmp/tap-test.jD20N8' ++ cp -a /home/jenkins/agent/workspace/ostree_PR-3054/tests/gpghome /var/tmp/tap-test.jD20N8 # random seed: R02Sc57284ecc9b28b3ed1880ac22f780481 ++ chmod -R u+w /var/tmp/tap-test.jD20N8 ++ chmod 700 /var/tmp/tap-test.jD20N8/gpghome ++ export TEST_GPG_KEYHOME=/var/tmp/tap-test.jD20N8/gpghome ++ TEST_GPG_KEYHOME=/var/tmp/tap-test.jD20N8/gpghome ++ export OSTREE_GPG_HOME=/var/tmp/tap-test.jD20N8/gpghome/trusted ++ OSTREE_GPG_HOME=/var/tmp/tap-test.jD20N8/gpghome/trusted ++ _have_selinux_relabel= ++ echo -n checking for xattrs... ++ have_selinux_relabel ++ assert_has_setfattr ++ which setfattr Copying gpghome to /var/tmp/tap-test.jD20N8 ++ test '' = '' ++ pushd /var/tmp/tap-test.jD20N8 ++ echo testlabel checking for xattrs.../usr/bin/setfattr ++ selinux_xattr=security.selinux ++ getfattr --encoding=base64 -n security.selinux testlabel.txt +++ grep -E -e '^security.selinux=' +++ sed -e s,security.selinux=,, ++ label=0sc3lzdGVtX3U6b2JqZWN0X3I6Y29udGFpbmVyX2ZpbGVfdDpzMDpjNCxjMjcA ++ setfattr -n security.selinux -v 0sc3lzdGVtX3U6b2JqZWN0X3I6Y29udGFpbmVyX2ZpbGVfdDpzMDpjNCxjMjcA testlabel.txt ++ sed -e 's/^/# /' # setfattr: testlabel.txt: Operation not supported ++ echo 'Found SELinux label, but unable to set (Unprivileged Docker?)' ++ _have_selinux_relabel=no ++ popd ++ test no = yes /var/tmp/tap-test.jD20N8 /var/tmp/tap-test.jD20N8 Found SELinux label, but unable to set (Unprivileged Docker?) ++ export OSTREE_SYSROOT_DEBUG=mutable-deployments,no-xattrs ++ OSTREE_SYSROOT_DEBUG=mutable-deployments,no-xattrs ++ export OSTREE_NO_XATTRS=1 ++ OSTREE_NO_XATTRS=1 ++ echo done /var/tmp/tap-test.jD20N8 ++ echo -n checking for overlayfs whiteouts... ++ can_create_whiteout_devices ++ mknod -m 000 /var/tmp/tap-test.jD20N8/.test-whiteout c 0 0 mknod: /var/tmp/tap-test.jD20N8/.test-whiteout: Operation not permitted ++ return 1 ++ export OSTREE_NO_WHITEOUTS=1 ++ OSTREE_NO_WHITEOUTS=1 ++ echo done done ++ test -n 1 ++ set -x ++ BUILT_WITH_ASAN= ++ test -n '' ++ CMD_PREFIX= ++ test -n '' ++ test -z '' ++ OSTREE_HTTPD=/home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ++ '[' -x /home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ']' ++ _have_user_xattrs= ++ _have_systemd_and_libmount= ++ _have_strace_fault_injection= ++ libtest_exit_cmds+=(libtest_cleanup_gpg) ++ ED25519PUBLIC= ++ ED25519SEED= ++ ED25519SECRET= + setup_test_repository archive + mode=archive + shift ++ pwd + oldpwd=/var/tmp/tap-test.jD20N8 + COMMIT_ARGS= + '[' archive == bare-user-only ']' + cd /var/tmp/tap-test.jD20N8 + rm -rf repo + test -n archive + ostree_repo_init repo --mode=archive + repo=repo + shift + ostree --repo=repo init --mode=archive + test -n 1 + echo -e 'disable-xattrs=true\n' ++ pwd + ot_repo=--repo=/var/tmp/tap-test.jD20N8/repo + export 'OSTREE= ostree --repo=/var/tmp/tap-test.jD20N8/repo' + OSTREE=' ostree --repo=/var/tmp/tap-test.jD20N8/repo' + cd /var/tmp/tap-test.jD20N8 ++ umask + local oldumask=0022 + umask 022 + rm -rf files + mkdir files + cd files ++ pwd + ot_files=/var/tmp/tap-test.jD20N8/files + export ht_files + ln -s nosuchfile somelink + echo first + cd /var/tmp/tap-test.jD20N8/files + ostree --repo=/var/tmp/tap-test.jD20N8/repo commit -b test2 -s 'Test Commit 1' -m 'Commit body first' checking for overlayfs whiteouts...done + mkdir baz + echo moo + echo mooro + chmod 600 baz/cowro + echo alien + mkdir baz/deeper + echo hi + echo hix + chmod 755 baz/deeper/ohyeahx + ln -s nonexistent baz/alink + mkdir baz/another/ + echo x + test -n 1 + umask 0022 + cd /var/tmp/tap-test.jD20N8/files + ostree --repo=/var/tmp/tap-test.jD20N8/repo commit -b test2 -s 'Test Commit 2' -m 'Commit body second' 86a534025771bdfcb9df7028b247272faf767af1ed00645888807c33f8845aed + ostree --repo=/var/tmp/tap-test.jD20N8/repo fsck -q 0c250fd31f71fe3b3c4ffa130fe4087262f2fbb9b58e2a4ab6d239468eb69916 fsck objects (1/17) 5% fsck objects (17/17) 100% + cd /var/tmp/tap-test.jD20N8 + run_exit_cmds + for expr in "${libtest_exit_cmds[@]}" + eval save_core ++ save_core ++ '[' -e core ']' + for expr in "${libtest_exit_cmds[@]}" + eval libtest_cleanup_gpg ++ libtest_cleanup_gpg ++ local gpg_homedir=/var/tmp/tap-test.jD20N8/gpghome ++ gpg-connect-agent --homedir /var/tmp/tap-test.jD20N8/gpghome killagent /bye gpg-connect-agent: no running gpg-agent - starting '/usr/bin/gpg-agent' gpg-connect-agent: waiting for the agent to come up ... (5s) gpg-connect-agent: connection to the agent established object fsck of 2 commits completed successfully - no errors found. OK closing connection # GLib-GIO-DEBUG: _g_io_module_get_default: Found default implementation local (GLocalVfs) for ?gio-vfs? # OSTree-DEBUG: using fuse: 0 1..8 ok 1 /repo-not-system PASS: tests/test-basic-c 1 /repo-not-system # OSTree-DEBUG: Traversing commit 0c250fd31f71fe3b3c4ffa130fe4087262f2fbb9b58e2a4ab6d239468eb69916 # OSTree-DEBUG: Found dirtree object 47e27f8c20a24051a7b6ba4a0e62b8def6617453858bf18cfbf6d9edcbe92c96 # OSTree-DEBUG: Found dirmeta object ee78c6b764e16fd8306c516ed66b44b33158bd2e0d6f21b324415f9ea78f2e0d # OSTree-DEBUG: Traversing dirtree 47e27f8c20a24051a7b6ba4a0e62b8def6617453858bf18cfbf6d9edcbe92c96 # OSTree-DEBUG: Found file object 12ea629969f7107d51ea04490b9c00696d6b7229253859354067bdbd5af760f9 # OSTree-DEBUG: Found file object 79ce578b43bb95a069e673d5e7eedfbab9afb6cca65f76d3e3866c47d418fd07 # OSTree-DEBUG: Found dirtree object 610eb324065b367e75fa0e6a6a060cf9ca7c00c518ae094b8fb98bfb81deb474 # OSTree-DEBUG: Found dirmeta object ee78c6b764e16fd8306c516ed66b44b33158bd2e0d6f21b324415f9ea78f2e0d # OSTree-DEBUG: Traversing dirtree 610eb324065b367e75fa0e6a6a060cf9ca7c00c518ae094b8fb98bfb81deb474 # OSTree-DEBUG: Found file object e7d7cb1f6c21165cb15ebf1c034c8ef2adebd983bed1606109da1834d02d65cd # OSTree-DEBUG: Found file object 0289e61d416c7475078cfa3cc2ded9aa32c15f07c37d7d484539e79928e1b4e4 # OSTree-DEBUG: Found file object 66397d46824dc1f580a3346f44639411de7588827a269cddecd55171b2f5fd36 # OSTree-DEBUG: Found file object 221e5f2879873e170a7a8a6d1e18170cf4f3120b8cf886af7e6561cd3fa47482 # OSTree-DEBUG: Found dirtree object f0fafc264e0107954aa8de94d46ef04c36c0d444497cefc2e9e7c85ddc5f8acc # OSTree-DEBUG: Found dirmeta object ee78c6b764e16fd8306c516ed66b44b33158bd2e0d6f21b324415f9ea78f2e0d # OSTree-DEBUG: Traversing dirtree f0fafc264e0107954aa8de94d46ef04c36c0d444497cefc2e9e7c85ddc5f8acc # OSTree-DEBUG: Found file object 3b9550fa2076a93b45c2ac9dbb29f07cc4a18b5492fc25982709c71d678df1fe # OSTree-DEBUG: Found dirtree object cdb945415b6543007de3bae6d7b1606ad27097953f34678292a266f9a6546568 # OSTree-DEBUG: Found dirmeta object ee78c6b764e16fd8306c516ed66b44b33158bd2e0d6f21b324415f9ea78f2e0d # OSTree-DEBUG: Traversing dirtree cdb945415b6543007de3bae6d7b1606ad27097953f34678292a266f9a6546568 # OSTree-DEBUG: Found file object 1186477f1bbf04547c18206f824a82cf3f35e0def3f613cfde2cfc110f5b4914 # OSTree-DEBUG: Found file object 13133331b74eb5fafa5ec6ce719acd019284f9d32470f4ef2c322f6105bb2b5b # OSTree-DEBUG: Found file object 12ea629969f7107d51ea04490b9c00696d6b7229253859354067bdbd5af760f9 # OSTree-DEBUG: Found file object 79ce578b43bb95a069e673d5e7eedfbab9afb6cca65f76d3e3866c47d418fd07 # OSTree-DEBUG: Found dirtree object 610eb324065b367e75fa0e6a6a060cf9ca7c00c518ae094b8fb98bfb81deb474 # OSTree-DEBUG: Found dirmeta object ee78c6b764e16fd8306c516ed66b44b33158bd2e0d6f21b324415f9ea78f2e0d # OSTree-DEBUG: Traversing commit 86a534025771bdfcb9df7028b247272faf767af1ed00645888807c33f8845aed # OSTree-DEBUG: Found dirtree object fc8ded422d3c5a2295646a4c6be313c82dceb6306c7c0bbea52c1dbb56dd1787 # OSTree-DEBUG: Found dirmeta object ee78c6b764e16fd8306c516ed66b44b33158bd2e0d6f21b324415f9ea78f2e0d # OSTree-DEBUG: Traversing dirtree fc8ded422d3c5a2295646a4c6be313c82dceb6306c7c0bbea52c1dbb56dd1787 # OSTree-DEBUG: Found file object 12ea629969f7107d51ea04490b9c00696d6b7229253859354067bdbd5af760f9 # OSTree-DEBUG: Found file object 79ce578b43bb95a069e673d5e7eedfbab9afb6cca65f76d3e3866c47d418fd07 # OSTree-DEBUG: Found file object 12ea629969f7107d51ea04490b9c00696d6b7229253859354067bdbd5af760f9 # OSTree-DEBUG: Found file object 79ce578b43bb95a069e673d5e7eedfbab9afb6cca65f76d3e3866c47d418fd07 ok 2 /raw-file-to-archive-stream PASS: tests/test-basic-c 2 /raw-file-to-archive-stream + . /home/jenkins/agent/workspace/ostree_PR-3054/tests/libtest.sh +++ dirname bash ++ dn=. ++ '[' -n /home/jenkins/agent/workspace/ostree_PR-3054 ']' ++ test_srcdir=/home/jenkins/agent/workspace/ostree_PR-3054/tests ++ top_builddir=/home/jenkins/agent/workspace/ostree_PR-3054 ++ test -z /home/jenkins/agent/workspace/ostree_PR-3054 ++ test_builddir=/home/jenkins/agent/workspace/ostree_PR-3054/tests ++ . /home/jenkins/agent/workspace/ostree_PR-3054/tests/libtest-core.sh +++ n_tap_tests=0 +++ type -p locale ++++ locale -a ++++ grep -iEe '^(C|en_US)\.(UTF-8|utf8)$' ++++ head -n1 +++ export LC_ALL=C.utf8 +++ LC_ALL=C.utf8 +++ '[' -z C.utf8 ']' +++ unset LANGUAGE +++ export G_DEBUG=fatal-warnings +++ G_DEBUG=fatal-warnings +++ trap report_err ERR ++ PATH=/home/jenkins/agent/workspace/ostree_PR-3054/tests:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/sbin ++ libtest_exit_cmds=() ++ trap run_exit_cmds EXIT ++ libtest_exit_cmds+=(save_core) +++ pwd ++ test_tmpdir=/var/tmp/tap-test.jD20N8 ++ test -f .testtmp ++ unset SOURCE_DATE_EPOCH ++ unset TAR_OPTIONS ++ export OSTREE_SYSROOT_DEBUG=mutable-deployments ++ OSTREE_SYSROOT_DEBUG=mutable-deployments ++ export OSTREE_SKIP_CACHE=1 ++ OSTREE_SKIP_CACHE=1 ++ export TEST_GPG_KEYID_1=7FCA23D8472CDAFA ++ TEST_GPG_KEYID_1=7FCA23D8472CDAFA ++ export TEST_GPG_KEYFPR_1=5E65DE75AB1C501862D476347FCA23D8472CDAFA ++ TEST_GPG_KEYFPR_1=5E65DE75AB1C501862D476347FCA23D8472CDAFA ++ export TEST_GPG_KEYID_2=D8228CFECA950D41 ++ TEST_GPG_KEYID_2=D8228CFECA950D41 ++ export TEST_GPG_KEYFPR_2=7B3B1020D74479687FDB2273D8228CFECA950D41 ++ TEST_GPG_KEYFPR_2=7B3B1020D74479687FDB2273D8228CFECA950D41 ++ export TEST_GPG_KEYID_3=0D15FAE7DF444D67 ++ TEST_GPG_KEYID_3=0D15FAE7DF444D67 ++ export TEST_GPG_KEYFPR_3=7D29CF060B8269CDF63BFBDD0D15FAE7DF444D67 ++ TEST_GPG_KEYFPR_3=7D29CF060B8269CDF63BFBDD0D15FAE7DF444D67 ++ echo 'Copying gpghome to /var/tmp/tap-test.jD20N8' ++ cp -a /home/jenkins/agent/workspace/ostree_PR-3054/tests/gpghome /var/tmp/tap-test.jD20N8 ok 3 /objectwrites PASS: tests/test-basic-c 3 /objectwrites ++ chmod -R u+w /var/tmp/tap-test.jD20N8 ++ chmod 700 /var/tmp/tap-test.jD20N8/gpghome ++ export TEST_GPG_KEYHOME=/var/tmp/tap-test.jD20N8/gpghome ++ TEST_GPG_KEYHOME=/var/tmp/tap-test.jD20N8/gpghome ++ export OSTREE_GPG_HOME=/var/tmp/tap-test.jD20N8/gpghome/trusted ++ OSTREE_GPG_HOME=/var/tmp/tap-test.jD20N8/gpghome/trusted ++ _have_selinux_relabel= ++ echo -n checking for xattrs... ++ have_selinux_relabel ++ assert_has_setfattr ++ which setfattr Copying gpghome to /var/tmp/tap-test.jD20N8 ++ test '' = '' ++ pushd /var/tmp/tap-test.jD20N8 ++ echo testlabel checking for xattrs.../usr/bin/setfattr ++ selinux_xattr=security.selinux ++ getfattr --encoding=base64 -n security.selinux testlabel.txt +++ grep -E -e '^security.selinux=' +++ sed -e s,security.selinux=,, ++ label=0sc3lzdGVtX3U6b2JqZWN0X3I6Y29udGFpbmVyX2ZpbGVfdDpzMDpjNCxjMjcA ++ setfattr -n security.selinux -v 0sc3lzdGVtX3U6b2JqZWN0X3I6Y29udGFpbmVyX2ZpbGVfdDpzMDpjNCxjMjcA testlabel.txt ++ sed -e 's/^/# /' # setfattr: testlabel.txt: Operation not supported ++ echo 'Found SELinux label, but unable to set (Unprivileged Docker?)' ++ _have_selinux_relabel=no ++ popd ++ test no = yes /var/tmp/tap-test.jD20N8 /var/tmp/tap-test.jD20N8 Found SELinux label, but unable to set (Unprivileged Docker?) ++ export OSTREE_SYSROOT_DEBUG=mutable-deployments,no-xattrs ++ OSTREE_SYSROOT_DEBUG=mutable-deployments,no-xattrs ++ export OSTREE_NO_XATTRS=1 ++ OSTREE_NO_XATTRS=1 ++ echo done /var/tmp/tap-test.jD20N8 ++ echo -n checking for overlayfs whiteouts... ++ can_create_whiteout_devices ++ mknod -m 000 /var/tmp/tap-test.jD20N8/.test-whiteout c 0 0 mknod: /var/tmp/tap-test.jD20N8/.test-whiteout: Operation not permitted ++ return 1 ++ export OSTREE_NO_WHITEOUTS=1 ++ OSTREE_NO_WHITEOUTS=1 ++ echo done done ++ test -n 1 ++ set -x ++ BUILT_WITH_ASAN= ++ test -n '' ++ CMD_PREFIX= ++ test -n '' ++ test -z '' ++ OSTREE_HTTPD=/home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ++ '[' -x /home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ']' ++ _have_user_xattrs= ++ _have_systemd_and_libmount= ++ _have_strace_fault_injection= ++ libtest_exit_cmds+=(libtest_cleanup_gpg) ++ ED25519PUBLIC= ++ ED25519SEED= ++ ED25519SECRET= + setup_test_repository bare + mode=bare + shift ++ pwd + oldpwd=/var/tmp/tap-test.jD20N8 + COMMIT_ARGS= + '[' bare == bare-user-only ']' + cd /var/tmp/tap-test.jD20N8 + rm -rf repo + test -n bare + ostree_repo_init repo --mode=bare + repo=repo + shift + ostree --repo=repo init --mode=bare + test -n 1 + echo -e 'disable-xattrs=true\n' ++ pwd + ot_repo=--repo=/var/tmp/tap-test.jD20N8/repo + export 'OSTREE= ostree --repo=/var/tmp/tap-test.jD20N8/repo' + OSTREE=' ostree --repo=/var/tmp/tap-test.jD20N8/repo' + cd /var/tmp/tap-test.jD20N8 ++ umask + local oldumask=0022 + umask 022 + rm -rf files + mkdir files + cd files ++ pwd + ot_files=/var/tmp/tap-test.jD20N8/files + export ht_files + ln -s nosuchfile somelink + echo first + cd /var/tmp/tap-test.jD20N8/files + ostree --repo=/var/tmp/tap-test.jD20N8/repo commit -b test2 -s 'Test Commit 1' -m 'Commit body first' checking for overlayfs whiteouts...done + mkdir baz + echo moo + echo mooro + chmod 600 baz/cowro + echo alien + mkdir baz/deeper + echo hi + echo hix + chmod 755 baz/deeper/ohyeahx + ln -s nonexistent baz/alink + mkdir baz/another/ + echo x + test -n 1 + umask 0022 + cd /var/tmp/tap-test.jD20N8/files + ostree --repo=/var/tmp/tap-test.jD20N8/repo commit -b test2 -s 'Test Commit 2' -m 'Commit body second' 86a534025771bdfcb9df7028b247272faf767af1ed00645888807c33f8845aed + ostree --repo=/var/tmp/tap-test.jD20N8/repo fsck -q 0c250fd31f71fe3b3c4ffa130fe4087262f2fbb9b58e2a4ab6d239468eb69916 fsck objects (1/17) 5% fsck objects (17/17) 100% + cd /var/tmp/tap-test.jD20N8 + run_exit_cmds + for expr in "${libtest_exit_cmds[@]}" + eval save_core ++ save_core ++ '[' -e core ']' + for expr in "${libtest_exit_cmds[@]}" + eval libtest_cleanup_gpg ++ libtest_cleanup_gpg ++ local gpg_homedir=/var/tmp/tap-test.jD20N8/gpghome ++ gpg-connect-agent --homedir /var/tmp/tap-test.jD20N8/gpghome killagent /bye gpg-connect-agent: no running gpg-agent - starting '/usr/bin/gpg-agent' gpg-connect-agent: waiting for the agent to come up ... (5s) gpg-connect-agent: connection to the agent established object fsck of 2 commits completed successfully - no errors found. OK closing connection ok 4 /xattrs-devino-cache # SKIP this test requires full xattr support SKIP: tests/test-basic-c 4 /xattrs-devino-cache # SKIP this test requires full xattr support ok 5 /break-hardlink PASS: tests/test-basic-c 5 /break-hardlink + . /home/jenkins/agent/workspace/ostree_PR-3054/tests/libtest.sh +++ dirname bash ++ dn=. ++ '[' -n /home/jenkins/agent/workspace/ostree_PR-3054 ']' ++ test_srcdir=/home/jenkins/agent/workspace/ostree_PR-3054/tests ++ top_builddir=/home/jenkins/agent/workspace/ostree_PR-3054 ++ test -z /home/jenkins/agent/workspace/ostree_PR-3054 ++ test_builddir=/home/jenkins/agent/workspace/ostree_PR-3054/tests ++ . /home/jenkins/agent/workspace/ostree_PR-3054/tests/libtest-core.sh +++ n_tap_tests=0 +++ type -p locale ++++ locale -a ++++ grep -iEe '^(C|en_US)\.(UTF-8|utf8)$' ++++ head -n1 +++ export LC_ALL=C.utf8 +++ LC_ALL=C.utf8 +++ '[' -z C.utf8 ']' +++ unset LANGUAGE +++ export G_DEBUG=fatal-warnings +++ G_DEBUG=fatal-warnings +++ trap report_err ERR ++ PATH=/home/jenkins/agent/workspace/ostree_PR-3054/tests:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/sbin ++ libtest_exit_cmds=() ++ trap run_exit_cmds EXIT ++ libtest_exit_cmds+=(save_core) +++ pwd ++ test_tmpdir=/var/tmp/tap-test.jD20N8 ++ test -f .testtmp ++ unset SOURCE_DATE_EPOCH ++ unset TAR_OPTIONS ++ export OSTREE_SYSROOT_DEBUG=mutable-deployments ++ OSTREE_SYSROOT_DEBUG=mutable-deployments ++ export OSTREE_SKIP_CACHE=1 ++ OSTREE_SKIP_CACHE=1 ++ export TEST_GPG_KEYID_1=7FCA23D8472CDAFA ++ TEST_GPG_KEYID_1=7FCA23D8472CDAFA ++ export TEST_GPG_KEYFPR_1=5E65DE75AB1C501862D476347FCA23D8472CDAFA ++ TEST_GPG_KEYFPR_1=5E65DE75AB1C501862D476347FCA23D8472CDAFA ++ export TEST_GPG_KEYID_2=D8228CFECA950D41 ++ TEST_GPG_KEYID_2=D8228CFECA950D41 ++ export TEST_GPG_KEYFPR_2=7B3B1020D74479687FDB2273D8228CFECA950D41 ++ TEST_GPG_KEYFPR_2=7B3B1020D74479687FDB2273D8228CFECA950D41 ++ export TEST_GPG_KEYID_3=0D15FAE7DF444D67 ++ TEST_GPG_KEYID_3=0D15FAE7DF444D67 ++ export TEST_GPG_KEYFPR_3=7D29CF060B8269CDF63BFBDD0D15FAE7DF444D67 ++ TEST_GPG_KEYFPR_3=7D29CF060B8269CDF63BFBDD0D15FAE7DF444D67 ++ echo 'Copying gpghome to /var/tmp/tap-test.jD20N8' ++ cp -a /home/jenkins/agent/workspace/ostree_PR-3054/tests/gpghome /var/tmp/tap-test.jD20N8 ok 6 /remotename PASS: tests/test-basic-c 6 /remotename ++ chmod -R u+w /var/tmp/tap-test.jD20N8 ++ chmod 700 /var/tmp/tap-test.jD20N8/gpghome ++ export TEST_GPG_KEYHOME=/var/tmp/tap-test.jD20N8/gpghome ++ TEST_GPG_KEYHOME=/var/tmp/tap-test.jD20N8/gpghome ++ export OSTREE_GPG_HOME=/var/tmp/tap-test.jD20N8/gpghome/trusted ++ OSTREE_GPG_HOME=/var/tmp/tap-test.jD20N8/gpghome/trusted ++ _have_selinux_relabel= ++ echo -n checking for xattrs... ++ have_selinux_relabel ++ assert_has_setfattr ++ which setfattr Copying gpghome to /var/tmp/tap-test.jD20N8 ++ test '' = '' ++ pushd /var/tmp/tap-test.jD20N8 ++ echo testlabel checking for xattrs.../usr/bin/setfattr ++ selinux_xattr=security.selinux ++ getfattr --encoding=base64 -n security.selinux testlabel.txt +++ grep -E -e '^security.selinux=' +++ sed -e s,security.selinux=,, ++ label=0sc3lzdGVtX3U6b2JqZWN0X3I6Y29udGFpbmVyX2ZpbGVfdDpzMDpjNCxjMjcA ++ setfattr -n security.selinux -v 0sc3lzdGVtX3U6b2JqZWN0X3I6Y29udGFpbmVyX2ZpbGVfdDpzMDpjNCxjMjcA testlabel.txt ++ sed -e 's/^/# /' # setfattr: testlabel.txt: Operation not supported ++ echo 'Found SELinux label, but unable to set (Unprivileged Docker?)' ++ _have_selinux_relabel=no ++ popd /var/tmp/tap-test.jD20N8 /var/tmp/tap-test.jD20N8 ++ test no = yes Found SELinux label, but unable to set (Unprivileged Docker?) ++ export OSTREE_SYSROOT_DEBUG=mutable-deployments,no-xattrs ++ OSTREE_SYSROOT_DEBUG=mutable-deployments,no-xattrs ++ export OSTREE_NO_XATTRS=1 ++ OSTREE_NO_XATTRS=1 ++ echo done /var/tmp/tap-test.jD20N8 ++ echo -n checking for overlayfs whiteouts... ++ can_create_whiteout_devices ++ mknod -m 000 /var/tmp/tap-test.jD20N8/.test-whiteout c 0 0 mknod: /var/tmp/tap-test.jD20N8/.test-whiteout: Operation not permitted ++ return 1 ++ export OSTREE_NO_WHITEOUTS=1 ++ OSTREE_NO_WHITEOUTS=1 ++ echo done done ++ test -n 1 ++ set -x ++ BUILT_WITH_ASAN= ++ test -n '' ++ CMD_PREFIX= ++ test -n '' ++ test -z '' ++ OSTREE_HTTPD=/home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ++ '[' -x /home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ']' ++ _have_user_xattrs= ++ _have_systemd_and_libmount= ++ _have_strace_fault_injection= ++ libtest_exit_cmds+=(libtest_cleanup_gpg) ++ ED25519PUBLIC= ++ ED25519SEED= ++ ED25519SECRET= + setup_test_repository bare-user-only + mode=bare-user-only + shift ++ pwd + oldpwd=/var/tmp/tap-test.jD20N8 + COMMIT_ARGS= + '[' bare-user-only == bare-user-only ']' + COMMIT_ARGS='--owner-uid=0 --owner-gid=0 --no-xattrs --canonical-permissions' + cd /var/tmp/tap-test.jD20N8 + rm -rf repo + test -n bare-user-only + ostree_repo_init repo --mode=bare-user-only + repo=repo + shift + ostree --repo=repo init --mode=bare-user-only + test -n 1 + echo -e 'disable-xattrs=true\n' ++ pwd + ot_repo=--repo=/var/tmp/tap-test.jD20N8/repo + export 'OSTREE= ostree --repo=/var/tmp/tap-test.jD20N8/repo' + OSTREE=' ostree --repo=/var/tmp/tap-test.jD20N8/repo' + cd /var/tmp/tap-test.jD20N8 ++ umask + local oldumask=0022 + umask 022 + rm -rf files + mkdir files + cd files ++ pwd + ot_files=/var/tmp/tap-test.jD20N8/files + export ht_files + ln -s nosuchfile somelink + echo first + cd /var/tmp/tap-test.jD20N8/files + ostree --repo=/var/tmp/tap-test.jD20N8/repo commit --owner-uid=0 --owner-gid=0 --no-xattrs --canonical-permissions -b test2 -s 'Test Commit 1' -m 'Commit body first' checking for overlayfs whiteouts...done + mkdir baz + echo moo + echo mooro + chmod 600 baz/cowro + echo alien + mkdir baz/deeper + echo hi + echo hix + chmod 755 baz/deeper/ohyeahx + ln -s nonexistent baz/alink + mkdir baz/another/ + echo x + test -n 1 + umask 0022 + cd /var/tmp/tap-test.jD20N8/files + ostree --repo=/var/tmp/tap-test.jD20N8/repo commit --owner-uid=0 --owner-gid=0 --no-xattrs --canonical-permissions -b test2 -s 'Test Commit 2' -m 'Commit body second' 61e162d34cd8909e1987bd75a0223b78468a8b927ad1c1bf0efbc41e73998049 + ostree --repo=/var/tmp/tap-test.jD20N8/repo fsck -q b27bc355dd44faa662efb411ff2cfcc8d8ff158a14e5af56dd4dd8bb9193b99e fsck objects (1/17) 5% fsck objects (17/17) 100% + cd /var/tmp/tap-test.jD20N8 + run_exit_cmds + for expr in "${libtest_exit_cmds[@]}" + eval save_core ++ save_core ++ '[' -e core ']' + for expr in "${libtest_exit_cmds[@]}" + eval libtest_cleanup_gpg ++ libtest_cleanup_gpg ++ local gpg_homedir=/var/tmp/tap-test.jD20N8/gpghome ++ gpg-connect-agent --homedir /var/tmp/tap-test.jD20N8/gpghome killagent /bye gpg-connect-agent: no running gpg-agent - starting '/usr/bin/gpg-agent' gpg-connect-agent: waiting for the agent to come up ... (5s) gpg-connect-agent: connection to the agent established object fsck of 2 commits completed successfully - no errors found. OK closing connection # OSTree-DEBUG: using fuse: 0 # OSTree-DEBUG: Examining: / ok 7 /big-metadata PASS: tests/test-basic-c 7 /big-metadata ok 8 /read-xattrs PASS: tests/test-basic-c 8 /read-xattrs PASS: tests/test-libarchive-import ================================== TAP version 13 # random seed: R02Sebd99eece40dba012ae9978de4f47378 1..11 # Start of libarchive tests ok 1 /libarchive/noautocreate-empty PASS: tests/test-libarchive-import 1 /libarchive/noautocreate-empty ok 2 /libarchive/autocreate-empty PASS: tests/test-libarchive-import 2 /libarchive/autocreate-empty ok 3 /libarchive/error-device-file PASS: tests/test-libarchive-import 3 /libarchive/error-device-file # OSTree-DEBUG: Preparing transaction in repository 0x840d60 # OSTree-DEBUG: Pushing lock non-blocking with timeout 300 # OSTree-DEBUG: Opening repo lock file # OSTree-DEBUG: Push lock: state=unlocked, depth=0 # OSTree-DEBUG: Locking repo shared # OSTree-DEBUG: Using new tmpdir staging-5aa1672b-bc95-4c7e-9e72-bb9b5b04c8ee-ccW556 # OSTree-DEBUG: Committing transaction in repository 0x840d60 # OSTree-DEBUG: txn commit staging-5aa1672b-bc95-4c7e-9e72-bb9b5b04c8ee-ccW556 # OSTree-DEBUG: Popping lock non-blocking with timeout 300 # OSTree-DEBUG: Pop lock: state=shared, depth=1 # OSTree-DEBUG: Unlocking repo -00777 1000710000 0 4 /file -00777 1000710000 0 4 /anotherfile error: Inspecting path 'devnull': No such file or directory: /devnull -00777 1000710000 0 4 /etc/file ok 4 /libarchive/ignore-device-file PASS: tests/test-libarchive-import 4 /libarchive/ignore-device-file # OSTree-DEBUG: Preparing transaction in repository 0x840d60 # OSTree-DEBUG: Pushing lock non-blocking with timeout 300 # OSTree-DEBUG: Push lock: state=unlocked, depth=0 # OSTree-DEBUG: Locking repo shared # OSTree-DEBUG: Using new tmpdir staging-5aa1672b-bc95-4c7e-9e72-bb9b5b04c8ee-7unLpQ # OSTree-DEBUG: Committing transaction in repository 0x840d60 # OSTree-DEBUG: txn commit staging-5aa1672b-bc95-4c7e-9e72-bb9b5b04c8ee-7unLpQ # OSTree-DEBUG: Popping lock non-blocking with timeout 300 # OSTree-DEBUG: Pop lock: state=shared, depth=1 # OSTree-DEBUG: Unlocking repo -00777 1000710000 0 4 /file -00777 1000710000 0 4 /anotherfile error: Inspecting path '/etc/file': No such file or directory: /etc error: Inspecting path 'devnull': No such file or directory: /devnull -00777 1000710000 0 4 /usr/etc/file ok 5 /libarchive/ostree-convention PASS: tests/test-libarchive-import 5 /libarchive/ostree-convention # OSTree-DEBUG: Preparing transaction in repository 0x840d60 # OSTree-DEBUG: Pushing lock non-blocking with timeout 300 # OSTree-DEBUG: Push lock: state=unlocked, depth=0 # OSTree-DEBUG: Locking repo shared # OSTree-DEBUG: Using new tmpdir staging-5aa1672b-bc95-4c7e-9e72-bb9b5b04c8ee-mFRgn4 # OSTree-DEBUG: Committing transaction in repository 0x840d60 # OSTree-DEBUG: txn commit staging-5aa1672b-bc95-4c7e-9e72-bb9b5b04c8ee-mFRgn4 # OSTree-DEBUG: Popping lock non-blocking with timeout 300 # OSTree-DEBUG: Pop lock: state=shared, depth=1 # OSTree-DEBUG: Unlocking repo d00755 1000710000 0 0 { @a(ayay) [] } / -00777 1000710000 0 4 { [(b'user.a_key', [byte 0x6d, 0x79, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65]), (b'user.a_key', [0x6d, 0x79, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65]), (b'user.key2', []), (b'user.key2', []), (b'user.b_key', [0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x00, 0x6e, 0x75, 0x6c, 0x73, 0x00]), (b'user.b_key', [0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x00, 0x6e, 0x75, 0x6c, 0x73, 0x00])] } /anotherfile -00777 1000710000 0 4 { @a(ayay) [] } /file d00755 1000710000 0 0 { @a(ayay) [] } /etc -00777 1000710000 0 4 { @a(ayay) [] } /etc/file Attribute "selinux" has a 45 byte value for import-checkout/anotherfile Attribute "a_key" has a 8 byte value for import-checkout/anotherfile Attribute "key2" has a 0 byte value for import-checkout/anotherfile Attribute "b_key" has a 14 byte value for import-checkout/anotherfile ok 6 /libarchive/xattr-import PASS: tests/test-libarchive-import 6 /libarchive/xattr-import # OSTree-DEBUG: Preparing transaction in repository 0x840d60 # OSTree-DEBUG: Pushing lock non-blocking with timeout 300 # OSTree-DEBUG: Push lock: state=unlocked, depth=0 # OSTree-DEBUG: Locking repo shared # OSTree-DEBUG: Using new tmpdir staging-5aa1672b-bc95-4c7e-9e72-bb9b5b04c8ee-aAGSOP # OSTree-DEBUG: Committing transaction in repository 0x840d60 # OSTree-DEBUG: txn commit staging-5aa1672b-bc95-4c7e-9e72-bb9b5b04c8ee-aAGSOP # OSTree-DEBUG: Popping lock non-blocking with timeout 300 # OSTree-DEBUG: Pop lock: state=shared, depth=1 error: mkdirat: File exists # OSTree-DEBUG: Unlocking repo ok 7 /libarchive/xattr-import-skip-xattr PASS: tests/test-libarchive-import 7 /libarchive/xattr-import-skip-xattr # OSTree-DEBUG: Preparing transaction in repository 0x840d60 # OSTree-DEBUG: Pushing lock non-blocking with timeout 300 # OSTree-DEBUG: Push lock: state=unlocked, depth=0 # OSTree-DEBUG: Locking repo shared # OSTree-DEBUG: Using new tmpdir staging-5aa1672b-bc95-4c7e-9e72-bb9b5b04c8ee-6iCAqL # OSTree-DEBUG: Committing transaction in repository 0x840d60 # OSTree-DEBUG: txn commit staging-5aa1672b-bc95-4c7e-9e72-bb9b5b04c8ee-6iCAqL # OSTree-DEBUG: Popping lock non-blocking with timeout 300 # OSTree-DEBUG: Pop lock: state=shared, depth=1 # OSTree-DEBUG: Unlocking repo ok 8 /libarchive/xattr-callback PASS: tests/test-libarchive-import 8 /libarchive/xattr-callback # OSTree-DEBUG: Preparing transaction in repository 0x840d60 # OSTree-DEBUG: Pushing lock non-blocking with timeout 300 # OSTree-DEBUG: Push lock: state=unlocked, depth=0 # OSTree-DEBUG: Locking repo shared # OSTree-DEBUG: Using new tmpdir staging-5aa1672b-bc95-4c7e-9e72-bb9b5b04c8ee-ItfAxe # OSTree-DEBUG: Committing transaction in repository 0x840d60 # OSTree-DEBUG: txn commit staging-5aa1672b-bc95-4c7e-9e72-bb9b5b04c8ee-ItfAxe # OSTree-DEBUG: Popping lock non-blocking with timeout 300 # OSTree-DEBUG: Pop lock: state=shared, depth=1 # OSTree-DEBUG: Unlocking repo -00777 1000710000 0 4 /file -00777 1000710000 0 4 /anotherfile error: Inspecting path '/etc/file': No such file or directory: /etc error: Inspecting path 'devnull': No such file or directory: /devnull -00777 1000710000 0 4 /usr/etc/file ok 9 /libarchive/no-use-entry-pathname PASS: tests/test-libarchive-import 9 /libarchive/no-use-entry-pathname # OSTree-DEBUG: Preparing transaction in repository 0x840d60 # OSTree-DEBUG: Pushing lock non-blocking with timeout 300 # OSTree-DEBUG: Push lock: state=unlocked, depth=0 # OSTree-DEBUG: Locking repo shared # OSTree-DEBUG: Using new tmpdir staging-5aa1672b-bc95-4c7e-9e72-bb9b5b04c8ee-hwM52P # OSTree-DEBUG: Committing transaction in repository 0x840d60 # OSTree-DEBUG: txn commit staging-5aa1672b-bc95-4c7e-9e72-bb9b5b04c8ee-hwM52P # OSTree-DEBUG: Popping lock non-blocking with timeout 300 # OSTree-DEBUG: Pop lock: state=shared, depth=1 # OSTree-DEBUG: Unlocking repo -00777 1000710000 0 4 /file -00777 1000710000 0 4 /anotherfile error: Inspecting path '/etc/file': No such file or directory: /etc error: Inspecting path 'devnull': No such file or directory: /devnull -00777 1000710000 0 4 /usr/etc/file ok 10 /libarchive/use-entry-pathname PASS: tests/test-libarchive-import 10 /libarchive/use-entry-pathname ok 11 /libarchive/selinux # SKIP skip in containers for now SKIP: tests/test-libarchive-import 11 /libarchive/selinux # SKIP skip in containers for now # End of libarchive tests SKIP: tests/test-basic.sh ========================= Copying gpghome to /var/tmp/tap-test.TtUVdL checking for xattrs.../usr/bin/setfattr # setfattr: testlabel.txt: Operation not supported /var/tmp/tap-test.TtUVdL /var/tmp/tap-test.TtUVdL Found SELinux label, but unable to set (Unprivileged Docker?) /var/tmp/tap-test.TtUVdL mknod: /var/tmp/tap-test.TtUVdL/.test-whiteout: Operation not permitted done ++ BUILT_WITH_ASAN= ++ test -n '' ++ CMD_PREFIX= ++ test -n '' ++ test -z '' ++ OSTREE_HTTPD=/home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ++ '[' -x /home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ']' ++ _have_user_xattrs= ++ _have_systemd_and_libmount= ++ _have_strace_fault_injection= ++ libtest_exit_cmds+=(libtest_cleanup_gpg) ++ ED25519PUBLIC= ++ ED25519SEED= ++ ED25519SECRET= + skip_without_no_selinux_or_relabel + have_selinux_relabel + assert_has_setfattr + which setfattr checking for overlayfs whiteouts...done + test no = '' + test no = yes + skip 'this test requires SELinux relabeling support' + echo '1..0 # SKIP' 'this test requires SELinux relabeling support' + exit 0 + run_exit_cmds + for expr in "${libtest_exit_cmds[@]}" + eval save_core /usr/bin/setfattr ++ save_core ++ '[' -e core ']' + for expr in "${libtest_exit_cmds[@]}" + eval libtest_cleanup_gpg ++ libtest_cleanup_gpg ++ local gpg_homedir=/var/tmp/tap-test.TtUVdL/gpghome ++ gpg-connect-agent --homedir /var/tmp/tap-test.TtUVdL/gpghome killagent /bye gpg-connect-agent: no running gpg-agent - starting '/usr/bin/gpg-agent' gpg-connect-agent: waiting for the agent to come up ... (5s) gpg-connect-agent: connection to the agent established 1..0 # SKIP this test requires SELinux relabeling support SKIP: tests/test-basic.sh - this test requires SELinux relabeling support OK closing connection SKIP: tests/test-basic-bare-split-xattrs.sh =========================================== Copying gpghome to /var/tmp/tap-test.JzBeLH checking for xattrs.../usr/bin/setfattr # setfattr: testlabel.txt: Operation not supported /var/tmp/tap-test.JzBeLH /var/tmp/tap-test.JzBeLH Found SELinux label, but unable to set (Unprivileged Docker?) /var/tmp/tap-test.JzBeLH mknod: /var/tmp/tap-test.JzBeLH/.test-whiteout: Operation not permitted done ++ BUILT_WITH_ASAN= ++ test -n '' ++ CMD_PREFIX= ++ test -n '' ++ test -z '' ++ OSTREE_HTTPD=/home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ++ '[' -x /home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ']' ++ _have_user_xattrs= ++ _have_systemd_and_libmount= ++ _have_strace_fault_injection= ++ libtest_exit_cmds+=(libtest_cleanup_gpg) ++ ED25519PUBLIC= ++ ED25519SEED= ++ ED25519SECRET= + mode=bare-split-xattrs + OSTREE=' ostree --repo=/var/tmp/tap-test.JzBeLH/repo' + skip_without_sudo + test -z '' + skip 'this test needs sudo, skipping without OSTREE_TEST_SUDO being set' + echo '1..0 # SKIP' 'this test needs sudo, skipping without OSTREE_TEST_SUDO being set' + exit 0 + run_exit_cmds checking for overlayfs whiteouts...done + for expr in "${libtest_exit_cmds[@]}" + eval save_core ++ save_core ++ '[' -e core ']' + for expr in "${libtest_exit_cmds[@]}" + eval libtest_cleanup_gpg ++ libtest_cleanup_gpg ++ local gpg_homedir=/var/tmp/tap-test.JzBeLH/gpghome ++ gpg-connect-agent --homedir /var/tmp/tap-test.JzBeLH/gpghome killagent /bye gpg-connect-agent: no running gpg-agent - starting '/usr/bin/gpg-agent' gpg-connect-agent: waiting for the agent to come up ... (5s) gpg-connect-agent: connection to the agent established 1..0 # SKIP this test needs sudo, skipping without OSTREE_TEST_SUDO being set SKIP: tests/test-basic-bare-split-xattrs.sh - this test needs sudo, skipping without OSTREE_TEST_SUDO being set OK closing connection PASS: tests/test-basic-user.sh ============================== Copying gpghome to /var/tmp/tap-test.ExFlVz checking for xattrs.../usr/bin/setfattr # setfattr: testlabel.txt: Operation not supported /var/tmp/tap-test.ExFlVz /var/tmp/tap-test.ExFlVz Found SELinux label, but unable to set (Unprivileged Docker?) /var/tmp/tap-test.ExFlVz mknod: /var/tmp/tap-test.ExFlVz/.test-whiteout: Operation not permitted done ++ BUILT_WITH_ASAN= ++ test -n '' ++ CMD_PREFIX= ++ test -n '' ++ test -z '' ++ OSTREE_HTTPD=/home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ++ '[' -x /home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ']' ++ _have_user_xattrs= ++ _have_systemd_and_libmount= ++ _have_strace_fault_injection= ++ libtest_exit_cmds+=(libtest_cleanup_gpg) ++ ED25519PUBLIC= ++ ED25519SEED= ++ ED25519SECRET= + skip_without_user_xattrs + have_user_xattrs + assert_has_setfattr + which setfattr checking for overlayfs whiteouts...done + test '' = '' + touch test-xattrs + setfattr -n user.testvalue -v somevalue test-xattrs + _have_user_xattrs=yes + rm -f test-xattrs + test yes = yes + mode=bare-user + setup_test_repository bare-user + mode=bare-user + shift ++ pwd + oldpwd=/var/tmp/tap-test.ExFlVz + COMMIT_ARGS= + '[' bare-user == bare-user-only ']' + cd /var/tmp/tap-test.ExFlVz + rm -rf repo + test -n bare-user + ostree_repo_init repo --mode=bare-user + repo=repo + shift + ostree --repo=repo init --mode=bare-user + test -n 1 + echo -e 'disable-xattrs=true\n' ++ pwd + ot_repo=--repo=/var/tmp/tap-test.ExFlVz/repo + export 'OSTREE= ostree --repo=/var/tmp/tap-test.ExFlVz/repo' + OSTREE=' ostree --repo=/var/tmp/tap-test.ExFlVz/repo' + cd /var/tmp/tap-test.ExFlVz ++ umask + local oldumask=0022 + umask 022 + rm -rf files + mkdir files + cd files ++ pwd + ot_files=/var/tmp/tap-test.ExFlVz/files + export ht_files + ln -s nosuchfile somelink + echo first + cd /var/tmp/tap-test.ExFlVz/files + ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test2 -s 'Test Commit 1' -m 'Commit body first' /usr/bin/setfattr + mkdir baz + echo moo + echo mooro + chmod 600 baz/cowro + echo alien + mkdir baz/deeper + echo hi + echo hix + chmod 755 baz/deeper/ohyeahx + ln -s nonexistent baz/alink + mkdir baz/another/ + echo x + test -n 1 + umask 0022 + cd /var/tmp/tap-test.ExFlVz/files + ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test2 -s 'Test Commit 2' -m 'Commit body second' bd821e593793e6c1bc1cf0092a5061ed338734eec762e7f6e1f9ece44b614241 + ostree --repo=/var/tmp/tap-test.ExFlVz/repo fsck -q 06e46916d8a7f20527074dc55b81b996edb1477b608ba4faa1b1676c4454c77c fsck objects (1/17) 5% fsck objects (17/17) 100% + cd /var/tmp/tap-test.ExFlVz + extra_basic_tests=6 ++ dirname /home/jenkins/agent/workspace/ostree_PR-3054/tests/test-basic-user.sh + . /home/jenkins/agent/workspace/ostree_PR-3054/tests/basic-test.sh ++ set -euo pipefail ++ echo 1..96 ++ CHECKOUT_U_ARG= ++ CHECKOUT_H_ARGS=-H ++ COMMIT_ARGS= ++ DIFF_ARGS= object fsck of 2 commits completed successfully - no errors found. ++ is_bare_user_only_repo repo ++ grep -q mode=bare-user-only repo/config ++ grep -E -q '^mode=bare-user' repo/config ++ CHECKOUT_H_ARGS='-U -H' ++ assert_not_has_dir repo/uncompressed-objects-cache ++ test -d repo/uncompressed-objects-cache ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout test2 checkout-test2 ++ validate_checkout_basic checkout-test2 ++ cd checkout-test2 ++ assert_has_file firstfile ++ test -f firstfile ++ assert_has_file baz/cow ++ test -f baz/cow ++ assert_file_has_content baz/cow moo ++ fpath=baz/cow ++ shift ++ for re in "$@" ++ grep -q -e moo baz/cow ++ assert_has_file baz/deeper/ohyeah ++ test -f baz/deeper/ohyeah ++ assert_symlink_has_content somelink nosuchfile ++ test -L somelink ++ readlink somelink ++ grep -q -e nosuchfile ++ grep -q 'mode=bare$' repo/config ++ echo 'ok checkout' ++ rm checkout-test2 -rf 1..96 ++ grep -q bare-user repo/config ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout -U -H test2 checkout-test2 ++ validate_checkout_basic checkout-test2 ++ cd checkout-test2 ++ assert_has_file firstfile ++ test -f firstfile ++ assert_has_file baz/cow ++ test -f baz/cow ++ assert_file_has_content baz/cow moo ++ fpath=baz/cow ++ shift ++ for re in "$@" ++ grep -q -e moo baz/cow ++ assert_has_file baz/deeper/ohyeah ++ test -f baz/deeper/ohyeah ++ assert_symlink_has_content somelink nosuchfile ++ test -L somelink ++ readlink somelink ++ grep -q -e nosuchfile ++ rm checkout-test2 -rf ++ is_bare_user_only_repo repo ++ grep -q mode=bare-user-only repo/config ++ grep -q bare-user repo/config ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout -H test2 checkout-test2 ++ assert_file_has_content err.txt 'User repository.*requires.*user' ++ fpath=err.txt ++ shift ++ for re in "$@" ++ grep -q -e 'User repository.*requires.*user' err.txt ++ echo 'ok checkout -H' ++ rm checkout-test2 -rf ok checkout PASS: tests/test-basic-user.sh 1 checkout ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout -C test2 checkout-test2 ++ for file in firstfile baz/cow baz/alink +++ stat -c %h checkout-test2/firstfile ++ assert_streq 1 1 ++ test 1 = 1 ++ for file in firstfile baz/cow baz/alink +++ stat -c %h checkout-test2/baz/cow ++ assert_streq 1 1 ++ test 1 = 1 ++ for file in firstfile baz/cow baz/alink +++ stat -c %h checkout-test2/baz/alink ++ assert_streq 1 1 ++ test 1 = 1 ++ echo 'ok checkout -C' ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo rev-parse test2 ok checkout -H PASS: tests/test-basic-user.sh 2 checkout -H ok checkout -C PASS: tests/test-basic-user.sh 3 checkout -C ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo rev-parse 'test2^' 06e46916d8a7f20527074dc55b81b996edb1477b608ba4faa1b1676c4454c77c ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo rev-parse 'test2^^' ++ echo 'ok rev-parse' ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo rev-parse -S bd821e593793e6c1bc1cf0092a5061ed338734eec762e7f6e1f9ece44b614241 ++ assert_file_has_content_literal err.txt 'Multiple commit objects found' ++ fpath=err.txt ++ shift ++ for s in "$@" ++ grep -q -F -e 'Multiple commit objects found' err.txt ++ ostree --repo=repo-copy init --mode=archive ++ ostree --repo=repo-copy rev-parse -S ++ assert_file_has_content_literal err.txt 'No commit objects found' ++ fpath=err.txt ++ shift ++ for s in "$@" ++ grep -q -F -e 'No commit objects found' err.txt +++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo rev-parse test2 ++ rev=06e46916d8a7f20527074dc55b81b996edb1477b608ba4faa1b1676c4454c77c ++ ostree --repo=repo-copy pull-local repo test2 ok rev-parse PASS: tests/test-basic-user.sh 4 rev-parse +++ ostree --repo=repo-copy rev-parse -S ++ rev2=06e46916d8a7f20527074dc55b81b996edb1477b608ba4faa1b1676c4454c77c ++ assert_streq 06e46916d8a7f20527074dc55b81b996edb1477b608ba4faa1b1676c4454c77c 06e46916d8a7f20527074dc55b81b996edb1477b608ba4faa1b1676c4454c77c ++ test 06e46916d8a7f20527074dc55b81b996edb1477b608ba4faa1b1676c4454c77c = 06e46916d8a7f20527074dc55b81b996edb1477b608ba4faa1b1676c4454c77c ++ echo 'ok rev-parse -S' 6 metadata, 9 content objects imported; 31 bytes content written +++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo rev-parse test2 ++ checksum=06e46916d8a7f20527074dc55b81b996edb1477b608ba4faa1b1676c4454c77c ++ partial=06e469 ++ echo partial: 06e469 ++ echo 'corresponds to:' 06e46916d8a7f20527074dc55b81b996edb1477b608ba4faa1b1676c4454c77c ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo rev-parse test2 ok rev-parse -S PASS: tests/test-basic-user.sh 5 rev-parse -S partial: 06e469 ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo rev-parse 06e469 +++ cat partial-results ++ assert_file_has_content checksum 06e46916d8a7f20527074dc55b81b996edb1477b608ba4faa1b1676c4454c77c ++ fpath=checksum ++ shift ++ for re in "$@" ++ grep -q -e 06e46916d8a7f20527074dc55b81b996edb1477b608ba4faa1b1676c4454c77c checksum ++ echo 'ok shortened checksum' corresponds to: 06e46916d8a7f20527074dc55b81b996edb1477b608ba4faa1b1676c4454c77c ++ cd repo ++ ostree rev-parse test2 ok shortened checksum PASS: tests/test-basic-user.sh 6 shortened checksum ++ echo 'ok repo-in-cwd' 06e46916d8a7f20527074dc55b81b996edb1477b608ba4faa1b1676c4454c77c ++ skip_one_without_user_xattrs ++ have_user_xattrs ++ assert_has_setfattr ++ which setfattr ok repo-in-cwd ++ test yes = '' ++ test yes = yes PASS: tests/test-basic-user.sh 7 repo-in-cwd ++ return 1 ++ rm test-repo -rf ++ ostree_repo_init test-repo --mode=bare-user ++ repo=test-repo ++ shift ++ ostree --repo=test-repo init --mode=bare-user ++ test -n 1 ++ echo -e 'disable-xattrs=true\n' ++ ostree_repo_init test-repo --mode=bare-user ++ repo=test-repo ++ shift ++ ostree --repo=test-repo init --mode=bare-user ++ test -n 1 ++ echo -e 'disable-xattrs=true\n' ++ rm test-repo -rf ++ echo 'ok repo-init on existing repo' /usr/bin/setfattr ++ skip_one_without_user_xattrs ++ have_user_xattrs ++ assert_has_setfattr ++ which setfattr ok repo-init on existing repo ++ test yes = '' ++ test yes = yes ++ return 1 ++ rm test-repo -rf PASS: tests/test-basic-user.sh 8 repo-init on existing repo ++ ostree_repo_init test-repo --mode=bare-user ++ repo=test-repo ++ shift ++ ostree --repo=test-repo init --mode=bare-user ++ test -n 1 ++ echo -e 'disable-xattrs=true\n' ++ ostree --repo=test-repo refs ++ rm -rf test-repo/tmp ++ ostree --repo=test-repo refs ++ assert_has_dir test-repo/tmp ++ test -d test-repo/tmp ++ echo 'ok autocreate tmp' ++ rm checkout-test2 -rf /usr/bin/setfattr ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout test2 checkout-test2 ++ cd checkout-test2 ++ rm firstfile ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test2 -s delete ok autocreate tmp PASS: tests/test-basic-user.sh 9 autocreate tmp ++ cd /var/tmp/tap-test.ExFlVz ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout test2 /var/tmp/tap-test.ExFlVz/checkout-test2-2 ++ cd /var/tmp/tap-test.ExFlVz/checkout-test2-2 ++ assert_not_has_file firstfile ++ test -f firstfile ++ assert_has_file baz/saucer ++ test -f baz/saucer ++ echo 'ok removal' ++ mkdir -p a/nested/tree c7da410d3d44e09ec115b0e6e4327bf678b59b96d5432a411cc50a870ec3ced4 ++ echo one ++ echo two2 ++ echo 3 ++ touch a/4 ++ echo fivebaby ++ touch a/6 ++ echo whee ++ mkdir -p another/nested/tree ++ echo anotherone ++ echo whee2 ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test2 -s 'Another commit' ok removal PASS: tests/test-basic-user.sh 10 removal ++ echo 'ok commit' ++ cd /var/tmp/tap-test.ExFlVz bf8c9bb3ead4414127e0b43ff1f1c9e58c32611f0423e5e096509d54fe962263 ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout test2 /var/tmp/tap-test.ExFlVz/checkout-test2-3 ++ cd checkout-test2-3 ++ assert_has_file a/nested/2 ++ test -f a/nested/2 ++ assert_file_has_content a/nested/2 two2 ++ fpath=a/nested/2 ++ shift ++ for re in "$@" ++ grep -q -e two2 a/nested/2 ++ echo 'ok stdin contents' ++ cd /var/tmp/tap-test.ExFlVz/checkout-test2-3 ok commit PASS: tests/test-basic-user.sh 11 commit ++ echo 4 ++ mkdir -p yet/another/tree ++ echo leaf ++ echo helloworld ++ rm a/5 ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test2 -s 'Current directory' ok stdin contents PASS: tests/test-basic-user.sh 12 stdin contents ++ echo 'ok cwd commit' 2bb9614bb53e26d89ca91c5b9e132958acce88ebda3f4543124d92f46c7da3b3 ++ cd /var/tmp/tap-test.ExFlVz ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout test2 /var/tmp/tap-test.ExFlVz/checkout-test2-4 ++ cd checkout-test2-4 ++ assert_file_has_content yet/another/tree/green leaf ++ fpath=yet/another/tree/green ++ shift ++ for re in "$@" ++ grep -q -e leaf yet/another/tree/green ++ assert_file_has_content four 4 ++ fpath=four ++ shift ++ for re in "$@" ++ grep -q -e 4 four ++ echo 'ok cwd contents' ++ cd /var/tmp/tap-test.ExFlVz ok cwd commit PASS: tests/test-basic-user.sh 13 cwd commit ++ rm checkout-test2-l -rf ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout -U -H test2 /var/tmp/tap-test.ExFlVz/checkout-test2-l ++ date ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit --link-checkout-speedup --consume -b test2 --tree=dir=/var/tmp/tap-test.ExFlVz/checkout-test2-l ok cwd contents PASS: tests/test-basic-user.sh 14 cwd contents ++ assert_not_has_dir /var/tmp/tap-test.ExFlVz/checkout-test2-l ++ test -d /var/tmp/tap-test.ExFlVz/checkout-test2-l ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo fsck 0b2efb1bb98f61405ce686a982989f261cc32bc0490c154811fa2aaca679fd2f Validating refs... Validating refs in collections... Enumerating commits... Verifying content integrity of 6 commit objects... fsck objects (1/47) 2% fsck objects (47/47) 100% ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo reset test2 'test2^' ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo prune --refs-only object fsck of 6 commits completed successfully - no errors found. Total objects: 47 ++ echo 'ok consume (nom nom nom)' ++ cd /var/tmp/tap-test.ExFlVz Deleted 3 objects, 639 bytes freed ++ rm checkout-test2-l -rf ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout -U -H test2 /var/tmp/tap-test.ExFlVz/checkout-test2-l ++ echo 'a file to consume 🍔' ++ ln /var/tmp/tap-test.ExFlVz/checkout-test2-l/eatme.txt /var/tmp/tap-test.ExFlVz/eatme-savedlink.txt ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit --link-checkout-speedup --consume -b test2 --tree=dir=/var/tmp/tap-test.ExFlVz/checkout-test2-l ok consume (nom nom nom) PASS: tests/test-basic-user.sh 15 consume (nom nom nom) ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo fsck 488770464dfb585061d9becf4c048098417867293e1d67d7edf7411c9d000174 Validating refs... Validating refs in collections... Enumerating commits... Verifying content integrity of 6 commit objects... fsck objects (1/47) 2% fsck objects (47/47) 100% +++ ostree_file_path_to_object_path repo test2 /eatme.txt +++ repo=repo +++ ref=test2 +++ path=/eatme.txt ++++ ostree_file_path_to_relative_object_path repo test2 /eatme.txt ++++ repo=repo ++++ ref=test2 ++++ path=/eatme.txt +++++ ostree_file_path_to_checksum repo test2 /eatme.txt +++++ repo=repo +++++ ref=test2 +++++ path=/eatme.txt +++++ ostree --repo=repo ls -C test2 /eatme.txt +++++ awk '{ print $5 }' ++++ checksum=e63cf3dccef1ac004b58dd16bad106b35953290c9c8bcafab2dbccc7c77ebb98 ++++ test -n e63cf3dccef1ac004b58dd16bad106b35953290c9c8bcafab2dbccc7c77ebb98 ++++ ostree_checksum_to_relative_object_path repo e63cf3dccef1ac004b58dd16bad106b35953290c9c8bcafab2dbccc7c77ebb98 ++++ repo=repo ++++ checksum=e63cf3dccef1ac004b58dd16bad106b35953290c9c8bcafab2dbccc7c77ebb98 ++++ grep -Eq -e '^mode=archive' repo/config ++++ suffix= ++++ echo objects/e6/3cf3dccef1ac004b58dd16bad106b35953290c9c8bcafab2dbccc7c77ebb98.file +++ relpath=objects/e6/3cf3dccef1ac004b58dd16bad106b35953290c9c8bcafab2dbccc7c77ebb98.file +++ echo repo/objects/e6/3cf3dccef1ac004b58dd16bad106b35953290c9c8bcafab2dbccc7c77ebb98.file ++ eatme_objpath=repo/objects/e6/3cf3dccef1ac004b58dd16bad106b35953290c9c8bcafab2dbccc7c77ebb98.file ++ grep -q '^mode=bare$' repo/config ++ is_bare_user_only_repo repo ++ grep -q mode=bare-user-only repo/config ++ files_are_hardlinked /var/tmp/tap-test.ExFlVz/eatme-savedlink.txt repo/objects/e6/3cf3dccef1ac004b58dd16bad106b35953290c9c8bcafab2dbccc7c77ebb98.file +++ stat -c %i /var/tmp/tap-test.ExFlVz/eatme-savedlink.txt ++ inode1=497051594 +++ stat -c %i repo/objects/e6/3cf3dccef1ac004b58dd16bad106b35953290c9c8bcafab2dbccc7c77ebb98.file ++ inode2=524289119 ++ test -n 497051594 ++ test -n 524289119 ++ '[' 497051594 == 524289119 ']' ++ assert_not_has_dir /var/tmp/tap-test.ExFlVz/checkout-test2-l ++ test -d /var/tmp/tap-test.ExFlVz/checkout-test2-l ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo reset test2 'test2^' ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo prune --refs-only object fsck of 6 commits completed successfully - no errors found. Total objects: 47 ++ rm -f /var/tmp/tap-test.ExFlVz/eatme-savedlink.txt ++ echo 'ok adopt' ++ cd /var/tmp/tap-test.ExFlVz Deleted 3 objects, 627 bytes freed ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test2-no-parent -s '' /var/tmp/tap-test.ExFlVz/checkout-test2-4 ok adopt PASS: tests/test-basic-user.sh 16 adopt +++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo log test2-no-parent +++ grep '^commit' +++ wc -l ++ assert_streq 1 1 ++ test 1 = 1 ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test2-no-parent -s '' --parent=none /var/tmp/tap-test.ExFlVz/checkout-test2-4 a0146a0eb05fc89326e5c64bece6023f7594609ffad5969c771abdfb70d80f35 +++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo log test2-no-parent +++ grep '^commit' +++ wc -l ++ assert_streq 1 1 ++ test 1 = 1 ++ echo 'ok commit no parent' ++ cd /var/tmp/tap-test.ExFlVz a0146a0eb05fc89326e5c64bece6023f7594609ffad5969c771abdfb70d80f35 ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test-bootable --bootable /var/tmp/tap-test.ExFlVz/checkout-test2-4 ++ assert_file_has_content err.txt 'error: .*No such file or directory' ++ fpath=err.txt ++ shift ++ for re in "$@" ++ grep -q -e 'error: .*No such file or directory' err.txt ++ echo 'ok commit fails bootable if no kernel' ++ cd /var/tmp/tap-test.ExFlVz ok commit no parent PASS: tests/test-basic-user.sh 17 commit no parent +++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test2-no-subject --bind-ref=test2-no-subject-2 -s '' '--timestamp=2005-10-29 12:43:29 +0000' /var/tmp/tap-test.ExFlVz/checkout-test2-4 ++ empty_rev=0e69ad06dfa4d45e241537713d0f34f9b140aa9bf98815527cd78f941e4fafc5 +++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test2-no-subject-2 --bind-ref=test2-no-subject '--timestamp=2005-10-29 12:43:29 +0000' /var/tmp/tap-test.ExFlVz/checkout-test2-4 ++ omitted_rev=0e69ad06dfa4d45e241537713d0f34f9b140aa9bf98815527cd78f941e4fafc5 ++ assert_streq 0e69ad06dfa4d45e241537713d0f34f9b140aa9bf98815527cd78f941e4fafc5 0e69ad06dfa4d45e241537713d0f34f9b140aa9bf98815527cd78f941e4fafc5 ++ test 0e69ad06dfa4d45e241537713d0f34f9b140aa9bf98815527cd78f941e4fafc5 = 0e69ad06dfa4d45e241537713d0f34f9b140aa9bf98815527cd78f941e4fafc5 ++ echo 'ok commit no subject' ++ cd /var/tmp/tap-test.ExFlVz ok commit fails bootable if no kernel PASS: tests/test-basic-user.sh 18 commit fails bootable if no kernel ++ cat ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b branch-with-commitmsg -F commitmsg.txt -s 'a message' /var/tmp/tap-test.ExFlVz/checkout-test2-4 ok commit no subject PASS: tests/test-basic-user.sh 19 commit no subject ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo log branch-with-commitmsg ++ assert_file_has_content log.txt '^ *This is a long$' ++ fpath=log.txt ++ shift ++ for re in "$@" ++ grep -q -e '^ *This is a long$' log.txt ++ assert_file_has_content log.txt '^ *Build-Host:.*example\.com$' ++ fpath=log.txt ++ shift ++ for re in "$@" ++ grep -q -e '^ *Build-Host:.*example\.com$' log.txt ++ assert_file_has_content log.txt '^ *Crunchy-With.*true$' ++ fpath=log.txt ++ shift ++ for re in "$@" ++ grep -q -e '^ *Crunchy-With.*true$' log.txt ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo refs --delete branch-with-commitmsg ++ echo 'ok commit body file' ++ cd /var/tmp/tap-test.ExFlVz 7b5437fa3a667410b43963ac917d75f3a6ecef37b159239dabfe4ce93f2ff2a2 ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test2-custom-parent -s '' /var/tmp/tap-test.ExFlVz/checkout-test2-4 ok commit body file PASS: tests/test-basic-user.sh 20 commit body file ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test2-custom-parent -s '' /var/tmp/tap-test.ExFlVz/checkout-test2-4 0048f9a08ac0b5869a10631952eb7d8eb6e814d9f35a571505cac09fbe4dc2d1 ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test2-custom-parent -s '' /var/tmp/tap-test.ExFlVz/checkout-test2-4 302347cde49cc2bd14b9c022fc5bce7f50e4aa8f9bc5b8b12a4f5024a24328ce +++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo log test2-custom-parent +++ grep '^commit' +++ wc -l ++ assert_streq 3 3 ++ test 3 = 3 +++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo rev-parse 'test2-custom-parent^' ++ prevparent=302347cde49cc2bd14b9c022fc5bce7f50e4aa8f9bc5b8b12a4f5024a24328ce ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test2-custom-parent -s '' --parent=302347cde49cc2bd14b9c022fc5bce7f50e4aa8f9bc5b8b12a4f5024a24328ce /var/tmp/tap-test.ExFlVz/checkout-test2-4 e5e4cb68f06b865e6aa7c6a5f72ff2577ce0054c0009c97b8a715222fee08e67 +++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo log test2-custom-parent +++ grep '^commit' +++ wc -l ++ assert_streq 3 3 ++ test 3 = 3 ++ echo 'ok commit custom parent' ++ cd /var/tmp/tap-test.ExFlVz e5e4cb68f06b865e6aa7c6a5f72ff2577ce0054c0009c97b8a715222fee08e67 ++++ date +++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit --orphan -s 'Wed Sep 20 19:20:56 UTC 2023' /var/tmp/tap-test.ExFlVz/checkout-test2-4 ++ orphaned_rev=f197c3227834f113b478e5abbeb04b91ec2fa04ddc13faf7d124f17a0ac09e2d ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo ls f197c3227834f113b478e5abbeb04b91ec2fa04ddc13faf7d124f17a0ac09e2d ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo prune --refs-only ok commit custom parent PASS: tests/test-basic-user.sh 21 commit custom parent Total objects: 51 ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo ls f197c3227834f113b478e5abbeb04b91ec2fa04ddc13faf7d124f17a0ac09e2d ++ assert_file_has_content err.txt 'No such metadata object' ++ fpath=err.txt ++ shift ++ for re in "$@" ++ grep -q -e 'No such metadata object' err.txt ++ echo 'ok commit orphaned' ++ cd /var/tmp/tap-test.ExFlVz Deleted 2 objects, 380 bytes freed ++ is_bare_user_only_repo repo ++ grep -q mode=bare-user-only repo/config ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo fsck ok commit orphaned PASS: tests/test-basic-user.sh 22 commit orphaned Validating refs... Validating refs in collections... Enumerating commits... Verifying content integrity of 10 commit objects... fsck objects (1/49) 2% fsck objects (49/49) 100% ++ CHECKSUM_FLAG= ++ '[' -n 1 ']' ++ CHECKSUM_FLAG=--ignore-xattrs ++ rm -rf checksum-test ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout test2 checksum-test ++ find checksum-test/ -type f ++ read fn +++ ostree checksum --ignore-xattrs checksum-test/7 ++ checksum=03382853c892123c19bec47079784ace9900b4a36dc071d4606ba88a1d3928cc ++ objpath=repo/objects/03/382853c892123c19bec47079784ace9900b4a36dc071d4606ba88a1d3928cc.file ++ assert_has_file repo/objects/03/382853c892123c19bec47079784ace9900b4a36dc071d4606ba88a1d3928cc.file ++ test -f repo/objects/03/382853c892123c19bec47079784ace9900b4a36dc071d4606ba88a1d3928cc.file +++ sha256sum repo/objects/03/382853c892123c19bec47079784ace9900b4a36dc071d4606ba88a1d3928cc.file +++ cut -f1 '-d ' ++ object_content_checksum=126539c731acf376359aced177dc5dff598dd6714a0a8faf753c727559adc8b5 +++ sha256sum checksum-test/7 +++ cut -f1 '-d ' ++ checkout_content_checksum=126539c731acf376359aced177dc5dff598dd6714a0a8faf753c727559adc8b5 ++ assert_streq 126539c731acf376359aced177dc5dff598dd6714a0a8faf753c727559adc8b5 126539c731acf376359aced177dc5dff598dd6714a0a8faf753c727559adc8b5 ++ test 126539c731acf376359aced177dc5dff598dd6714a0a8faf753c727559adc8b5 = 126539c731acf376359aced177dc5dff598dd6714a0a8faf753c727559adc8b5 ++ read fn +++ ostree checksum --ignore-xattrs checksum-test/four ++ checksum=5295159b8e63bd27fbf230cabeff6959ab04fa05da83a0a45152568f15536757 ++ objpath=repo/objects/52/95159b8e63bd27fbf230cabeff6959ab04fa05da83a0a45152568f15536757.file ++ assert_has_file repo/objects/52/95159b8e63bd27fbf230cabeff6959ab04fa05da83a0a45152568f15536757.file ++ test -f repo/objects/52/95159b8e63bd27fbf230cabeff6959ab04fa05da83a0a45152568f15536757.file +++ sha256sum repo/objects/52/95159b8e63bd27fbf230cabeff6959ab04fa05da83a0a45152568f15536757.file +++ cut -f1 '-d ' ++ object_content_checksum=7de1555df0c2700329e815b93b32c571c3ea54dc967b89e81ab73b9972b72d1d +++ sha256sum checksum-test/four +++ cut -f1 '-d ' ++ checkout_content_checksum=7de1555df0c2700329e815b93b32c571c3ea54dc967b89e81ab73b9972b72d1d ++ assert_streq 7de1555df0c2700329e815b93b32c571c3ea54dc967b89e81ab73b9972b72d1d 7de1555df0c2700329e815b93b32c571c3ea54dc967b89e81ab73b9972b72d1d ++ test 7de1555df0c2700329e815b93b32c571c3ea54dc967b89e81ab73b9972b72d1d = 7de1555df0c2700329e815b93b32c571c3ea54dc967b89e81ab73b9972b72d1d ++ read fn +++ ostree checksum --ignore-xattrs checksum-test/a/4 ++ checksum=e5ae16611aad76e743945c6387159578958947c9def2ab9990058d30f0ef6e49 ++ objpath=repo/objects/e5/ae16611aad76e743945c6387159578958947c9def2ab9990058d30f0ef6e49.file ++ assert_has_file repo/objects/e5/ae16611aad76e743945c6387159578958947c9def2ab9990058d30f0ef6e49.file ++ test -f repo/objects/e5/ae16611aad76e743945c6387159578958947c9def2ab9990058d30f0ef6e49.file +++ sha256sum repo/objects/e5/ae16611aad76e743945c6387159578958947c9def2ab9990058d30f0ef6e49.file +++ cut -f1 '-d ' ++ object_content_checksum=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 +++ sha256sum checksum-test/a/4 +++ cut -f1 '-d ' ++ checkout_content_checksum=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ++ assert_streq e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ++ test e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 = e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ++ read fn +++ ostree checksum --ignore-xattrs checksum-test/a/6 ++ checksum=e5ae16611aad76e743945c6387159578958947c9def2ab9990058d30f0ef6e49 ++ objpath=repo/objects/e5/ae16611aad76e743945c6387159578958947c9def2ab9990058d30f0ef6e49.file ++ assert_has_file repo/objects/e5/ae16611aad76e743945c6387159578958947c9def2ab9990058d30f0ef6e49.file ++ test -f repo/objects/e5/ae16611aad76e743945c6387159578958947c9def2ab9990058d30f0ef6e49.file +++ sha256sum repo/objects/e5/ae16611aad76e743945c6387159578958947c9def2ab9990058d30f0ef6e49.file +++ cut -f1 '-d ' ++ object_content_checksum=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 +++ sha256sum checksum-test/a/6 +++ cut -f1 '-d ' ++ checkout_content_checksum=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ++ assert_streq e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ++ test e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 = e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ++ read fn +++ ostree checksum --ignore-xattrs checksum-test/a/nested/2 ++ checksum=346d4b848a316011601f5531eedd9153b0ff8016df2aa9eb82b1b2c31f6c1e30 ++ objpath=repo/objects/34/6d4b848a316011601f5531eedd9153b0ff8016df2aa9eb82b1b2c31f6c1e30.file ++ assert_has_file repo/objects/34/6d4b848a316011601f5531eedd9153b0ff8016df2aa9eb82b1b2c31f6c1e30.file ++ test -f repo/objects/34/6d4b848a316011601f5531eedd9153b0ff8016df2aa9eb82b1b2c31f6c1e30.file +++ sha256sum repo/objects/34/6d4b848a316011601f5531eedd9153b0ff8016df2aa9eb82b1b2c31f6c1e30.file +++ cut -f1 '-d ' ++ object_content_checksum=8004379a8974bf5de87cf8df641592858e3b01e4797c5eb3e3647ca050c81149 +++ sha256sum checksum-test/a/nested/2 +++ cut -f1 '-d ' ++ checkout_content_checksum=8004379a8974bf5de87cf8df641592858e3b01e4797c5eb3e3647ca050c81149 ++ assert_streq 8004379a8974bf5de87cf8df641592858e3b01e4797c5eb3e3647ca050c81149 8004379a8974bf5de87cf8df641592858e3b01e4797c5eb3e3647ca050c81149 ++ test 8004379a8974bf5de87cf8df641592858e3b01e4797c5eb3e3647ca050c81149 = 8004379a8974bf5de87cf8df641592858e3b01e4797c5eb3e3647ca050c81149 ++ read fn +++ ostree checksum --ignore-xattrs checksum-test/a/nested/3 ++ checksum=c3e9778d7308c8da3958d82c7eb6431449332891893b2424e66ae6d5c9be1389 ++ objpath=repo/objects/c3/e9778d7308c8da3958d82c7eb6431449332891893b2424e66ae6d5c9be1389.file ++ assert_has_file repo/objects/c3/e9778d7308c8da3958d82c7eb6431449332891893b2424e66ae6d5c9be1389.file ++ test -f repo/objects/c3/e9778d7308c8da3958d82c7eb6431449332891893b2424e66ae6d5c9be1389.file +++ sha256sum repo/objects/c3/e9778d7308c8da3958d82c7eb6431449332891893b2424e66ae6d5c9be1389.file +++ cut -f1 '-d ' ++ object_content_checksum=1121cfccd5913f0a63fec40a6ffd44ea64f9dc135c66634ba001d10bcf4302a2 +++ sha256sum checksum-test/a/nested/3 +++ cut -f1 '-d ' ++ checkout_content_checksum=1121cfccd5913f0a63fec40a6ffd44ea64f9dc135c66634ba001d10bcf4302a2 ++ assert_streq 1121cfccd5913f0a63fec40a6ffd44ea64f9dc135c66634ba001d10bcf4302a2 1121cfccd5913f0a63fec40a6ffd44ea64f9dc135c66634ba001d10bcf4302a2 ++ test 1121cfccd5913f0a63fec40a6ffd44ea64f9dc135c66634ba001d10bcf4302a2 = 1121cfccd5913f0a63fec40a6ffd44ea64f9dc135c66634ba001d10bcf4302a2 ++ read fn +++ ostree checksum --ignore-xattrs checksum-test/a/nested/tree/1 ++ checksum=fc3ebb67130c535aab76c84249368ce5710b39b80f42727717f86b77b9dc6330 ++ objpath=repo/objects/fc/3ebb67130c535aab76c84249368ce5710b39b80f42727717f86b77b9dc6330.file ++ assert_has_file repo/objects/fc/3ebb67130c535aab76c84249368ce5710b39b80f42727717f86b77b9dc6330.file ++ test -f repo/objects/fc/3ebb67130c535aab76c84249368ce5710b39b80f42727717f86b77b9dc6330.file +++ sha256sum repo/objects/fc/3ebb67130c535aab76c84249368ce5710b39b80f42727717f86b77b9dc6330.file +++ cut -f1 '-d ' ++ object_content_checksum=2c8b08da5ce60398e1f19af0e5dccc744df274b826abe585eaba68c525434806 +++ sha256sum checksum-test/a/nested/tree/1 +++ cut -f1 '-d ' ++ checkout_content_checksum=2c8b08da5ce60398e1f19af0e5dccc744df274b826abe585eaba68c525434806 ++ assert_streq 2c8b08da5ce60398e1f19af0e5dccc744df274b826abe585eaba68c525434806 2c8b08da5ce60398e1f19af0e5dccc744df274b826abe585eaba68c525434806 ++ test 2c8b08da5ce60398e1f19af0e5dccc744df274b826abe585eaba68c525434806 = 2c8b08da5ce60398e1f19af0e5dccc744df274b826abe585eaba68c525434806 ++ read fn +++ ostree checksum --ignore-xattrs checksum-test/another/whee ++ checksum=97e245b5134862915afc5e1ed755fda1fa9cbdb181f5234e806ff48844e4c048 ++ objpath=repo/objects/97/e245b5134862915afc5e1ed755fda1fa9cbdb181f5234e806ff48844e4c048.file ++ assert_has_file repo/objects/97/e245b5134862915afc5e1ed755fda1fa9cbdb181f5234e806ff48844e4c048.file ++ test -f repo/objects/97/e245b5134862915afc5e1ed755fda1fa9cbdb181f5234e806ff48844e4c048.file +++ sha256sum repo/objects/97/e245b5134862915afc5e1ed755fda1fa9cbdb181f5234e806ff48844e4c048.file +++ cut -f1 '-d ' ++ object_content_checksum=118c6f8f7d2b6bb24f9d50b72c73ef0bb080f68b99643d036828b668b5cf58a0 +++ sha256sum checksum-test/another/whee +++ cut -f1 '-d ' ++ checkout_content_checksum=118c6f8f7d2b6bb24f9d50b72c73ef0bb080f68b99643d036828b668b5cf58a0 ++ assert_streq 118c6f8f7d2b6bb24f9d50b72c73ef0bb080f68b99643d036828b668b5cf58a0 118c6f8f7d2b6bb24f9d50b72c73ef0bb080f68b99643d036828b668b5cf58a0 ++ test 118c6f8f7d2b6bb24f9d50b72c73ef0bb080f68b99643d036828b668b5cf58a0 = 118c6f8f7d2b6bb24f9d50b72c73ef0bb080f68b99643d036828b668b5cf58a0 ++ read fn +++ ostree checksum --ignore-xattrs checksum-test/another/nested/tree/1 ++ checksum=f1dfa6e93f5d6d1f2e2e54411d4d104a33fc7dd57b2dcd90cb14aee6bdcbc081 ++ objpath=repo/objects/f1/dfa6e93f5d6d1f2e2e54411d4d104a33fc7dd57b2dcd90cb14aee6bdcbc081.file ++ assert_has_file repo/objects/f1/dfa6e93f5d6d1f2e2e54411d4d104a33fc7dd57b2dcd90cb14aee6bdcbc081.file ++ test -f repo/objects/f1/dfa6e93f5d6d1f2e2e54411d4d104a33fc7dd57b2dcd90cb14aee6bdcbc081.file +++ sha256sum repo/objects/f1/dfa6e93f5d6d1f2e2e54411d4d104a33fc7dd57b2dcd90cb14aee6bdcbc081.file +++ cut -f1 '-d ' ++ object_content_checksum=94ff82ab77f296dd0df53b844856e3f3e7b6ec6ce42e0220b5202b3211494b61 +++ sha256sum checksum-test/another/nested/tree/1 +++ cut -f1 '-d ' ++ checkout_content_checksum=94ff82ab77f296dd0df53b844856e3f3e7b6ec6ce42e0220b5202b3211494b61 ++ assert_streq 94ff82ab77f296dd0df53b844856e3f3e7b6ec6ce42e0220b5202b3211494b61 94ff82ab77f296dd0df53b844856e3f3e7b6ec6ce42e0220b5202b3211494b61 ++ test 94ff82ab77f296dd0df53b844856e3f3e7b6ec6ce42e0220b5202b3211494b61 = 94ff82ab77f296dd0df53b844856e3f3e7b6ec6ce42e0220b5202b3211494b61 ++ read fn +++ ostree checksum --ignore-xattrs checksum-test/baz/cow ++ checksum=0289e61d416c7475078cfa3cc2ded9aa32c15f07c37d7d484539e79928e1b4e4 ++ objpath=repo/objects/02/89e61d416c7475078cfa3cc2ded9aa32c15f07c37d7d484539e79928e1b4e4.file ++ assert_has_file repo/objects/02/89e61d416c7475078cfa3cc2ded9aa32c15f07c37d7d484539e79928e1b4e4.file ++ test -f repo/objects/02/89e61d416c7475078cfa3cc2ded9aa32c15f07c37d7d484539e79928e1b4e4.file +++ sha256sum repo/objects/02/89e61d416c7475078cfa3cc2ded9aa32c15f07c37d7d484539e79928e1b4e4.file +++ cut -f1 '-d ' ++ object_content_checksum=22e88c7d6da9b73fbb515ed6a8f6d133c680527a799e3069ca7ce346d90649b2 +++ sha256sum checksum-test/baz/cow +++ cut -f1 '-d ' ++ checkout_content_checksum=22e88c7d6da9b73fbb515ed6a8f6d133c680527a799e3069ca7ce346d90649b2 ++ assert_streq 22e88c7d6da9b73fbb515ed6a8f6d133c680527a799e3069ca7ce346d90649b2 22e88c7d6da9b73fbb515ed6a8f6d133c680527a799e3069ca7ce346d90649b2 ++ test 22e88c7d6da9b73fbb515ed6a8f6d133c680527a799e3069ca7ce346d90649b2 = 22e88c7d6da9b73fbb515ed6a8f6d133c680527a799e3069ca7ce346d90649b2 ++ read fn +++ ostree checksum --ignore-xattrs checksum-test/baz/cowro ++ checksum=66397d46824dc1f580a3346f44639411de7588827a269cddecd55171b2f5fd36 ++ objpath=repo/objects/66/397d46824dc1f580a3346f44639411de7588827a269cddecd55171b2f5fd36.file ++ assert_has_file repo/objects/66/397d46824dc1f580a3346f44639411de7588827a269cddecd55171b2f5fd36.file ++ test -f repo/objects/66/397d46824dc1f580a3346f44639411de7588827a269cddecd55171b2f5fd36.file +++ sha256sum repo/objects/66/397d46824dc1f580a3346f44639411de7588827a269cddecd55171b2f5fd36.file +++ cut -f1 '-d ' ++ object_content_checksum=065dc694f3dbc8c7549467c8b9159a92859504e3ce186a0ce67cc8f4f41db472 +++ sha256sum checksum-test/baz/cowro +++ cut -f1 '-d ' ++ checkout_content_checksum=065dc694f3dbc8c7549467c8b9159a92859504e3ce186a0ce67cc8f4f41db472 ++ assert_streq 065dc694f3dbc8c7549467c8b9159a92859504e3ce186a0ce67cc8f4f41db472 065dc694f3dbc8c7549467c8b9159a92859504e3ce186a0ce67cc8f4f41db472 ++ test 065dc694f3dbc8c7549467c8b9159a92859504e3ce186a0ce67cc8f4f41db472 = 065dc694f3dbc8c7549467c8b9159a92859504e3ce186a0ce67cc8f4f41db472 ++ read fn +++ ostree checksum --ignore-xattrs checksum-test/baz/saucer ++ checksum=221e5f2879873e170a7a8a6d1e18170cf4f3120b8cf886af7e6561cd3fa47482 ++ objpath=repo/objects/22/1e5f2879873e170a7a8a6d1e18170cf4f3120b8cf886af7e6561cd3fa47482.file ++ assert_has_file repo/objects/22/1e5f2879873e170a7a8a6d1e18170cf4f3120b8cf886af7e6561cd3fa47482.file ++ test -f repo/objects/22/1e5f2879873e170a7a8a6d1e18170cf4f3120b8cf886af7e6561cd3fa47482.file +++ sha256sum repo/objects/22/1e5f2879873e170a7a8a6d1e18170cf4f3120b8cf886af7e6561cd3fa47482.file +++ cut -f1 '-d ' ++ object_content_checksum=3068c2db2f16df2b37a10837140a0d9e617f8f687caf550ebb85dfceeca0912b +++ sha256sum checksum-test/baz/saucer +++ cut -f1 '-d ' ++ checkout_content_checksum=3068c2db2f16df2b37a10837140a0d9e617f8f687caf550ebb85dfceeca0912b ++ assert_streq 3068c2db2f16df2b37a10837140a0d9e617f8f687caf550ebb85dfceeca0912b 3068c2db2f16df2b37a10837140a0d9e617f8f687caf550ebb85dfceeca0912b ++ test 3068c2db2f16df2b37a10837140a0d9e617f8f687caf550ebb85dfceeca0912b = 3068c2db2f16df2b37a10837140a0d9e617f8f687caf550ebb85dfceeca0912b ++ read fn +++ ostree checksum --ignore-xattrs checksum-test/baz/another/y ++ checksum=3b9550fa2076a93b45c2ac9dbb29f07cc4a18b5492fc25982709c71d678df1fe ++ objpath=repo/objects/3b/9550fa2076a93b45c2ac9dbb29f07cc4a18b5492fc25982709c71d678df1fe.file ++ assert_has_file repo/objects/3b/9550fa2076a93b45c2ac9dbb29f07cc4a18b5492fc25982709c71d678df1fe.file ++ test -f repo/objects/3b/9550fa2076a93b45c2ac9dbb29f07cc4a18b5492fc25982709c71d678df1fe.file +++ sha256sum repo/objects/3b/9550fa2076a93b45c2ac9dbb29f07cc4a18b5492fc25982709c71d678df1fe.file +++ cut -f1 '-d ' ++ object_content_checksum=73cb3858a687a8494ca3323053016282f3dad39d42cf62ca4e79dda2aac7d9ac +++ sha256sum checksum-test/baz/another/y +++ cut -f1 '-d ' ++ checkout_content_checksum=73cb3858a687a8494ca3323053016282f3dad39d42cf62ca4e79dda2aac7d9ac ++ assert_streq 73cb3858a687a8494ca3323053016282f3dad39d42cf62ca4e79dda2aac7d9ac 73cb3858a687a8494ca3323053016282f3dad39d42cf62ca4e79dda2aac7d9ac ++ test 73cb3858a687a8494ca3323053016282f3dad39d42cf62ca4e79dda2aac7d9ac = 73cb3858a687a8494ca3323053016282f3dad39d42cf62ca4e79dda2aac7d9ac ++ read fn +++ ostree checksum --ignore-xattrs checksum-test/baz/deeper/ohyeah ++ checksum=1186477f1bbf04547c18206f824a82cf3f35e0def3f613cfde2cfc110f5b4914 ++ objpath=repo/objects/11/86477f1bbf04547c18206f824a82cf3f35e0def3f613cfde2cfc110f5b4914.file ++ assert_has_file repo/objects/11/86477f1bbf04547c18206f824a82cf3f35e0def3f613cfde2cfc110f5b4914.file ++ test -f repo/objects/11/86477f1bbf04547c18206f824a82cf3f35e0def3f613cfde2cfc110f5b4914.file +++ sha256sum repo/objects/11/86477f1bbf04547c18206f824a82cf3f35e0def3f613cfde2cfc110f5b4914.file +++ cut -f1 '-d ' ++ object_content_checksum=98ea6e4f216f2fb4b69fff9b3a44842c38686ca685f3f55dc48c5d3fb1107be4 +++ sha256sum checksum-test/baz/deeper/ohyeah +++ cut -f1 '-d ' ++ checkout_content_checksum=98ea6e4f216f2fb4b69fff9b3a44842c38686ca685f3f55dc48c5d3fb1107be4 ++ assert_streq 98ea6e4f216f2fb4b69fff9b3a44842c38686ca685f3f55dc48c5d3fb1107be4 98ea6e4f216f2fb4b69fff9b3a44842c38686ca685f3f55dc48c5d3fb1107be4 ++ test 98ea6e4f216f2fb4b69fff9b3a44842c38686ca685f3f55dc48c5d3fb1107be4 = 98ea6e4f216f2fb4b69fff9b3a44842c38686ca685f3f55dc48c5d3fb1107be4 ++ read fn +++ ostree checksum --ignore-xattrs checksum-test/baz/deeper/ohyeahx ++ checksum=13133331b74eb5fafa5ec6ce719acd019284f9d32470f4ef2c322f6105bb2b5b ++ objpath=repo/objects/13/133331b74eb5fafa5ec6ce719acd019284f9d32470f4ef2c322f6105bb2b5b.file ++ assert_has_file repo/objects/13/133331b74eb5fafa5ec6ce719acd019284f9d32470f4ef2c322f6105bb2b5b.file ++ test -f repo/objects/13/133331b74eb5fafa5ec6ce719acd019284f9d32470f4ef2c322f6105bb2b5b.file +++ sha256sum repo/objects/13/133331b74eb5fafa5ec6ce719acd019284f9d32470f4ef2c322f6105bb2b5b.file +++ cut -f1 '-d ' ++ object_content_checksum=e00c6c83f7bbc5d876e5a3101dd25f53df71134f131bd41ddc780f6d40b15540 +++ sha256sum checksum-test/baz/deeper/ohyeahx +++ cut -f1 '-d ' ++ checkout_content_checksum=e00c6c83f7bbc5d876e5a3101dd25f53df71134f131bd41ddc780f6d40b15540 ++ assert_streq e00c6c83f7bbc5d876e5a3101dd25f53df71134f131bd41ddc780f6d40b15540 e00c6c83f7bbc5d876e5a3101dd25f53df71134f131bd41ddc780f6d40b15540 ++ test e00c6c83f7bbc5d876e5a3101dd25f53df71134f131bd41ddc780f6d40b15540 = e00c6c83f7bbc5d876e5a3101dd25f53df71134f131bd41ddc780f6d40b15540 ++ read fn +++ ostree checksum --ignore-xattrs checksum-test/yet/message ++ checksum=0cece0756493a1e6df2f03405f83270f4caba70ed5c842ccfffae01e5634eb01 ++ objpath=repo/objects/0c/ece0756493a1e6df2f03405f83270f4caba70ed5c842ccfffae01e5634eb01.file ++ assert_has_file repo/objects/0c/ece0756493a1e6df2f03405f83270f4caba70ed5c842ccfffae01e5634eb01.file ++ test -f repo/objects/0c/ece0756493a1e6df2f03405f83270f4caba70ed5c842ccfffae01e5634eb01.file +++ sha256sum repo/objects/0c/ece0756493a1e6df2f03405f83270f4caba70ed5c842ccfffae01e5634eb01.file +++ cut -f1 '-d ' ++ object_content_checksum=8cd07f3a5ff98f2a78cfc366c13fb123eb8d29c1ca37c79df190425d5b9e424d +++ sha256sum checksum-test/yet/message +++ cut -f1 '-d ' ++ checkout_content_checksum=8cd07f3a5ff98f2a78cfc366c13fb123eb8d29c1ca37c79df190425d5b9e424d ++ assert_streq 8cd07f3a5ff98f2a78cfc366c13fb123eb8d29c1ca37c79df190425d5b9e424d 8cd07f3a5ff98f2a78cfc366c13fb123eb8d29c1ca37c79df190425d5b9e424d ++ test 8cd07f3a5ff98f2a78cfc366c13fb123eb8d29c1ca37c79df190425d5b9e424d = 8cd07f3a5ff98f2a78cfc366c13fb123eb8d29c1ca37c79df190425d5b9e424d ++ read fn +++ ostree checksum --ignore-xattrs checksum-test/yet/another/tree/green ++ checksum=bd801da3fe57a55d06c78c92925f36ef6b25dd3103a49abfa4f7c66c0e8aadd8 ++ objpath=repo/objects/bd/801da3fe57a55d06c78c92925f36ef6b25dd3103a49abfa4f7c66c0e8aadd8.file ++ assert_has_file repo/objects/bd/801da3fe57a55d06c78c92925f36ef6b25dd3103a49abfa4f7c66c0e8aadd8.file ++ test -f repo/objects/bd/801da3fe57a55d06c78c92925f36ef6b25dd3103a49abfa4f7c66c0e8aadd8.file +++ sha256sum repo/objects/bd/801da3fe57a55d06c78c92925f36ef6b25dd3103a49abfa4f7c66c0e8aadd8.file +++ cut -f1 '-d ' ++ object_content_checksum=26d0bac9f0c7a35b2f3322a0f4ad4517265f56b2c0f4b2ed7cb5cbd30c5868e2 +++ sha256sum checksum-test/yet/another/tree/green +++ cut -f1 '-d ' ++ checkout_content_checksum=26d0bac9f0c7a35b2f3322a0f4ad4517265f56b2c0f4b2ed7cb5cbd30c5868e2 ++ assert_streq 26d0bac9f0c7a35b2f3322a0f4ad4517265f56b2c0f4b2ed7cb5cbd30c5868e2 26d0bac9f0c7a35b2f3322a0f4ad4517265f56b2c0f4b2ed7cb5cbd30c5868e2 ++ test 26d0bac9f0c7a35b2f3322a0f4ad4517265f56b2c0f4b2ed7cb5cbd30c5868e2 = 26d0bac9f0c7a35b2f3322a0f4ad4517265f56b2c0f4b2ed7cb5cbd30c5868e2 ++ read fn ++ echo 'ok checksum CLI' object fsck of 10 commits completed successfully - no errors found. ++ cd /var/tmp/tap-test.ExFlVz ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo diff 'test2^' test2 ++ assert_file_has_content diff-test2 'D */a/5' ++ fpath=diff-test2 ++ shift ++ for re in "$@" ++ grep -q -e 'D */a/5' diff-test2 ++ assert_file_has_content diff-test2 'A */yet$' ++ fpath=diff-test2 ++ shift ++ for re in "$@" ++ grep -q -e 'A */yet$' diff-test2 ++ assert_file_has_content diff-test2 'A */yet/message$' ++ fpath=diff-test2 ++ shift ++ for re in "$@" ++ grep -q -e 'A */yet/message$' diff-test2 ++ assert_file_has_content diff-test2 'A */yet/another/tree/green$' ++ fpath=diff-test2 ++ shift ++ for re in "$@" ++ grep -q -e 'A */yet/another/tree/green$' diff-test2 ++ echo 'ok diff revisions' ++ cd /var/tmp/tap-test.ExFlVz/checkout-test2-4 ok checksum CLI ++ echo afile PASS: tests/test-basic-user.sh 23 checksum CLI ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo diff test2 ./ ++ rm oh-look-a-file ++ cd /var/tmp/tap-test.ExFlVz ++ assert_file_has_content diff-test2-2 'A *oh-look-a-file$' ++ fpath=diff-test2-2 ++ shift ++ for re in "$@" ++ grep -q -e 'A *oh-look-a-file$' diff-test2-2 ++ echo 'ok diff cwd' ++ cd /var/tmp/tap-test.ExFlVz/checkout-test2-4 ok diff revisions PASS: tests/test-basic-user.sh 24 diff revisions ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo diff test2 ./ ++ assert_file_empty /var/tmp/tap-test.ExFlVz/diff-test2 ++ test -s /var/tmp/tap-test.ExFlVz/diff-test2 +++ id -u ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo diff test2 --owner-uid=1000710001 ./ ++ assert_file_has_content /var/tmp/tap-test.ExFlVz/diff-test2 'M */yet$' ++ fpath=/var/tmp/tap-test.ExFlVz/diff-test2 ++ shift ++ for re in "$@" ++ grep -q -e 'M */yet$' /var/tmp/tap-test.ExFlVz/diff-test2 ++ assert_file_has_content /var/tmp/tap-test.ExFlVz/diff-test2 'M */yet/message$' ++ fpath=/var/tmp/tap-test.ExFlVz/diff-test2 ++ shift ++ for re in "$@" ++ grep -q -e 'M */yet/message$' /var/tmp/tap-test.ExFlVz/diff-test2 ++ assert_file_has_content /var/tmp/tap-test.ExFlVz/diff-test2 'M */yet/another/tree/green$' ++ fpath=/var/tmp/tap-test.ExFlVz/diff-test2 ++ shift ++ for re in "$@" ++ grep -q -e 'M */yet/another/tree/green$' /var/tmp/tap-test.ExFlVz/diff-test2 ++ echo 'ok diff file with different uid' ok diff cwd PASS: tests/test-basic-user.sh 25 diff cwd +++ id -g ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo diff test2 --owner-gid=1 ./ ++ assert_file_has_content /var/tmp/tap-test.ExFlVz/diff-test2 'M */yet$' ++ fpath=/var/tmp/tap-test.ExFlVz/diff-test2 ++ shift ++ for re in "$@" ++ grep -q -e 'M */yet$' /var/tmp/tap-test.ExFlVz/diff-test2 ++ assert_file_has_content /var/tmp/tap-test.ExFlVz/diff-test2 'M */yet/message$' ++ fpath=/var/tmp/tap-test.ExFlVz/diff-test2 ++ shift ++ for re in "$@" ++ grep -q -e 'M */yet/message$' /var/tmp/tap-test.ExFlVz/diff-test2 ++ assert_file_has_content /var/tmp/tap-test.ExFlVz/diff-test2 'M */yet/another/tree/green$' ++ fpath=/var/tmp/tap-test.ExFlVz/diff-test2 ++ shift ++ for re in "$@" ++ grep -q -e 'M */yet/another/tree/green$' /var/tmp/tap-test.ExFlVz/diff-test2 ++ echo 'ok diff file with different gid' ++ cd /var/tmp/tap-test.ExFlVz/checkout-test2-4 ++ rm four ok diff file with different uid PASS: tests/test-basic-user.sh 26 diff file with different uid ++ mkdir four ++ touch four/other ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo diff test2 ./ ++ cd /var/tmp/tap-test.ExFlVz ++ assert_file_has_content diff-test2-2 'M */four$' ++ fpath=diff-test2-2 ++ shift ++ for re in "$@" ++ grep -q -e 'M */four$' diff-test2-2 ++ echo 'ok diff file changing type' ok diff file with different gid PASS: tests/test-basic-user.sh 27 diff file with different gid ++ skip_one_without_user_xattrs ++ have_user_xattrs ++ assert_has_setfattr ++ which setfattr ok diff file changing type PASS: tests/test-basic-user.sh 28 diff file changing type ++ test yes = '' ++ test yes = yes ++ return 1 ++ cd /var/tmp/tap-test.ExFlVz ++ mkdir repo2 ++ grep -q mode=archive repo/config ++ is_bare_user_only_repo repo ++ grep -q mode=bare-user-only repo/config ++ opposite_mode=archive ++ ostree_repo_init repo2 --mode=archive ++ repo=repo2 ++ shift ++ ostree --repo=repo2 init --mode=archive ++ test -n 1 ++ echo -e 'disable-xattrs=true\n' ++ ostree --repo=repo2 pull-local repo ++ assert_file_has_content out.txt '[1-9][0-9]* metadata, [1-9][0-9]* content objects imported' ++ fpath=out.txt ++ shift ++ for re in "$@" ++ grep -q -e '[1-9][0-9]* metadata, [1-9][0-9]* content objects imported' out.txt +++ ostree --repo=repo rev-parse test2 ++ test2_commitid=2bb9614bb53e26d89ca91c5b9e132958acce88ebda3f4543124d92f46c7da3b3 ++ test2_commit_relpath=/objects/2b/b9614bb53e26d89ca91c5b9e132958acce88ebda3f4543124d92f46c7da3b3.commit ++ assert_files_hardlinked repo//objects/2b/b9614bb53e26d89ca91c5b9e132958acce88ebda3f4543124d92f46c7da3b3.commit repo2//objects/2b/b9614bb53e26d89ca91c5b9e132958acce88ebda3f4543124d92f46c7da3b3.commit ++ files_are_hardlinked repo//objects/2b/b9614bb53e26d89ca91c5b9e132958acce88ebda3f4543124d92f46c7da3b3.commit repo2//objects/2b/b9614bb53e26d89ca91c5b9e132958acce88ebda3f4543124d92f46c7da3b3.commit +++ stat -c %i repo//objects/2b/b9614bb53e26d89ca91c5b9e132958acce88ebda3f4543124d92f46c7da3b3.commit ++ inode1=392240351 +++ stat -c %i repo2//objects/2b/b9614bb53e26d89ca91c5b9e132958acce88ebda3f4543124d92f46c7da3b3.commit ++ inode2=392240351 ++ test -n 392240351 ++ test -n 392240351 ++ '[' 392240351 == 392240351 ']' ++ echo 'ok pull-local (hardlinking metadata)' /usr/bin/setfattr ++ skip_one_without_user_xattrs ++ have_user_xattrs ++ assert_has_setfattr ++ which setfattr ok pull-local (hardlinking metadata) ++ test yes = '' ++ test yes = yes ++ return 1 PASS: tests/test-basic-user.sh 29 pull-local (hardlinking metadata) ++ cd /var/tmp/tap-test.ExFlVz ++ rm repo2 -rf ++ mkdir repo2 ++ ostree_repo_init repo2 --mode=archive ++ repo=repo2 ++ shift ++ ostree --repo=repo2 init --mode=archive ++ test -n 1 ++ echo -e 'disable-xattrs=true\n' ++ ostree --repo=repo2 pull-local --bareuseronly-files repo test2 /usr/bin/setfattr ++ ostree --repo=repo2 fsck -q 15 metadata, 18 content objects imported; 76 bytes content written fsck objects (1/33) 3% fsck objects (33/33) 100% ++ echo 'ok pull-local --bareuseronly-files' ++ rm repo2 -rf object fsck of 1 commits completed successfully - no errors found. ++ ostree_repo_init repo2 --mode=bare-user ++ repo=repo2 ++ shift ++ ostree --repo=repo2 init --mode=bare-user ++ test -n 1 ++ echo -e 'disable-xattrs=true\n' ++ ostree --repo=repo2 pull-local --untrusted repo test2 ok pull-local --bareuseronly-files PASS: tests/test-basic-user.sh 30 pull-local --bareuseronly-files +++ ostree_file_path_to_relative_object_path repo test2 baz/saucer +++ repo=repo +++ ref=test2 +++ path=baz/saucer ++++ ostree_file_path_to_checksum repo test2 baz/saucer ++++ repo=repo ++++ ref=test2 ++++ path=baz/saucer ++++ ostree --repo=repo ls -C test2 baz/saucer ++++ awk '{ print $5 }' +++ checksum=221e5f2879873e170a7a8a6d1e18170cf4f3120b8cf886af7e6561cd3fa47482 +++ test -n 221e5f2879873e170a7a8a6d1e18170cf4f3120b8cf886af7e6561cd3fa47482 +++ ostree_checksum_to_relative_object_path repo 221e5f2879873e170a7a8a6d1e18170cf4f3120b8cf886af7e6561cd3fa47482 +++ repo=repo +++ checksum=221e5f2879873e170a7a8a6d1e18170cf4f3120b8cf886af7e6561cd3fa47482 +++ grep -Eq -e '^mode=archive' repo/config +++ suffix= +++ echo objects/22/1e5f2879873e170a7a8a6d1e18170cf4f3120b8cf886af7e6561cd3fa47482.file ++ target_file_object=objects/22/1e5f2879873e170a7a8a6d1e18170cf4f3120b8cf886af7e6561cd3fa47482.file +++ ostree_file_path_to_checksum repo test2 baz/saucer +++ repo=repo +++ ref=test2 +++ path=baz/saucer +++ ostree --repo=repo ls -C test2 baz/saucer +++ awk '{ print $5 }' ++ target_file_checksum=221e5f2879873e170a7a8a6d1e18170cf4f3120b8cf886af7e6561cd3fa47482 ++ assert_files_hardlinked repo/objects/22/1e5f2879873e170a7a8a6d1e18170cf4f3120b8cf886af7e6561cd3fa47482.file repo2/objects/22/1e5f2879873e170a7a8a6d1e18170cf4f3120b8cf886af7e6561cd3fa47482.file ++ files_are_hardlinked repo/objects/22/1e5f2879873e170a7a8a6d1e18170cf4f3120b8cf886af7e6561cd3fa47482.file repo2/objects/22/1e5f2879873e170a7a8a6d1e18170cf4f3120b8cf886af7e6561cd3fa47482.file +++ stat -c %i repo/objects/22/1e5f2879873e170a7a8a6d1e18170cf4f3120b8cf886af7e6561cd3fa47482.file ++ inode1=69206719 +++ stat -c %i repo2/objects/22/1e5f2879873e170a7a8a6d1e18170cf4f3120b8cf886af7e6561cd3fa47482.file ++ inode2=69206719 ++ test -n 69206719 ++ test -n 69206719 ++ '[' 69206719 == 69206719 ']' ++ echo 'ok pull-local hardlinking, untrusted' 15 metadata, 18 content objects imported; 0 bytes content written ++ grep -q mode=bare repo/config ++ rm repo2 repo3 -rf ++ ostree_repo_init repo2 --mode=bare-user ++ repo=repo2 ++ shift ++ ostree --repo=repo2 init --mode=bare-user ++ test -n 1 ++ echo -e 'disable-xattrs=true\n' ++ ostree_repo_init repo3 --mode=bare-user ++ repo=repo3 ++ shift ++ ostree --repo=repo3 init --mode=bare-user ++ test -n 1 ++ echo -e 'disable-xattrs=true\n' ++ ostree --repo=repo3 pull-local repo test2 ok pull-local hardlinking, untrusted PASS: tests/test-basic-user.sh 31 pull-local hardlinking, untrusted ++ cp -a --reflink=auto repo3/objects/22/1e5f2879873e170a7a8a6d1e18170cf4f3120b8cf886af7e6561cd3fa47482.file repo3/objects/22/1e5f2879873e170a7a8a6d1e18170cf4f3120b8cf886af7e6561cd3fa47482.file.tmp ++ mv repo3/objects/22/1e5f2879873e170a7a8a6d1e18170cf4f3120b8cf886af7e6561cd3fa47482.file.tmp repo3/objects/22/1e5f2879873e170a7a8a6d1e18170cf4f3120b8cf886af7e6561cd3fa47482.file ++ echo blah ++ ostree --repo=repo2 pull-local --untrusted repo3 ++ assert_file_has_content err.txt 'Corrupted.*221e5f2879873e170a7a8a6d1e18170cf4f3120b8cf886af7e6561cd3fa47482' ++ fpath=err.txt ++ shift ++ for re in "$@" ++ grep -q -e 'Corrupted.*221e5f2879873e170a7a8a6d1e18170cf4f3120b8cf886af7e6561cd3fa47482' err.txt ++ rm -f err.txt ++ ostree --repo=repo2 pull-local repo3 15 metadata, 18 content objects imported; 0 bytes content written ++ ostree --repo=repo2 fsck 8 metadata, 9 content objects imported; 0 bytes content written Validating refs... Validating refs in collections... Enumerating commits... Verifying content integrity of 1 commit objects... ++ assert_file_has_content err.txt 'Corrupted.*221e5f2879873e170a7a8a6d1e18170cf4f3120b8cf886af7e6561cd3fa47482' ++ fpath=err.txt ++ shift ++ for re in "$@" ++ grep -q -e 'Corrupted.*221e5f2879873e170a7a8a6d1e18170cf4f3120b8cf886af7e6561cd3fa47482' err.txt ++ echo 'ok pull-local --untrusted corruption' ++ rm repo2 repo3 -rf fsck objects (1/33) 3% ++ cd /var/tmp/tap-test.ExFlVz ++ rm repo-input -rf ++ ostree_repo_init repo-input init --mode=archive ++ repo=repo-input ++ shift ++ ostree --repo=repo-input init init --mode=archive ++ test -n 1 ++ echo -e 'disable-xattrs=true\n' ++ cd /var/tmp/tap-test.ExFlVz ++ cat ++ mkdir -p files/ ++ echo 'a setuid file' ++ chmod 0644 files/some-setuid ++ ostree --repo=repo-input commit -b content-with-suid --statoverride=statoverride.txt --tree=dir=files ok pull-local --untrusted corruption PASS: tests/test-basic-user.sh 32 pull-local --untrusted corruption ++ ostree pull-local --repo=repo --bareuseronly-files repo-input content-with-suid ++ assert_file_has_content err.txt 'Content object.*: invalid mode.*with bits 040.*' ++ fpath=err.txt ++ shift ++ for re in "$@" ++ grep -q -e 'Content object.*: invalid mode.*with bits 040.*' err.txt ++ echo 'ok pull-local (bareuseronly files)' 26fed8f0f3d30e75751360d40ece57ec97131d941cf6c38c955f883fbb80aa16 ++ skip_one_without_user_xattrs ++ have_user_xattrs ++ assert_has_setfattr ++ which setfattr ok pull-local (bareuseronly files) ++ test yes = '' ++ test yes = yes ++ return 1 PASS: tests/test-basic-user.sh 33 pull-local (bareuseronly files) ++ cd /var/tmp/tap-test.ExFlVz ++ ostree --repo=repo checkout test2 test2-checkout-from-local-clone ++ cd test2-checkout-from-local-clone ++ assert_file_has_content yet/another/tree/green leaf ++ fpath=yet/another/tree/green ++ shift ++ for re in "$@" ++ grep -q -e leaf yet/another/tree/green ++ echo 'ok local clone checkout' /usr/bin/setfattr ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout -U test2 checkout-user-test2 ++ echo 'ok user checkout' ok local clone checkout ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test2 -s 'Another commit' --tree=ref=test2 PASS: tests/test-basic-user.sh 34 local clone checkout ok user checkout PASS: tests/test-basic-user.sh 35 user checkout ++ echo 'ok commit from ref' ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test2 -s 'Another commit with modifier' --tree=ref=test2 --mode-ro-executables eff0d7645dee1dc445bc806291bb565ab560a20249a5c67bacbd1e88cab860ff ok commit from ref PASS: tests/test-basic-user.sh 36 commit from ref ++ echo 'ok commit from ref with modifier' 252f7b79e648680a3faeb68f0e899e48ae38a9d19935b05f40153e54ee8fd292 ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b trees/test2 -s 'ref with / in it' --tree=ref=test2 ok commit from ref with modifier PASS: tests/test-basic-user.sh 37 commit from ref with modifier ++ echo 'ok commit ref with /' ++ mkdir badutf8 a5bd3351f1531888f83710d9fc055d11658f2e6edb688d8840a48d62eda0a8ca ++ echo 'invalid utf8 filename' +++ printf '\x80' ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b badutf8 --tree=dir=badutf8 ++ assert_file_has_content err.txt 'Invalid UTF-8 in filename' ++ fpath=err.txt ++ shift ++ for re in "$@" ++ grep -q -e 'Invalid UTF-8 in filename' err.txt ++ echo 'ok commit bad UTF-8' ok commit ref with / PASS: tests/test-basic-user.sh 38 commit ref with / +++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo rev-parse test2 ++ old_rev=252f7b79e648680a3faeb68f0e899e48ae38a9d19935b05f40153e54ee8fd292 ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo ls -R -C test2 ok commit bad UTF-8 PASS: tests/test-basic-user.sh 39 commit bad UTF-8 d00755 1000710000 0 0 1490a6f3aab253de6af561e5e517ac42c4f0480612e51df860a24bdf4c545777 ee78c6b764e16fd8306c516ed66b44b33158bd2e0d6f21b324415f9ea78f2e0d / -00644 1000710000 0 5 03382853c892123c19bec47079784ace9900b4a36dc071d4606ba88a1d3928cc /7 -00644 1000710000 0 2 5295159b8e63bd27fbf230cabeff6959ab04fa05da83a0a45152568f15536757 /four l00777 1000710000 0 0 79ce578b43bb95a069e673d5e7eedfbab9afb6cca65f76d3e3866c47d418fd07 /somelink -> nosuchfile d00755 1000710000 0 0 33e1a76b8b770616830bb09d48c18a6e00b16faaa7a92dae5f99ad0d8d0cbff5 ee78c6b764e16fd8306c516ed66b44b33158bd2e0d6f21b324415f9ea78f2e0d /a -00644 1000710000 0 0 e5ae16611aad76e743945c6387159578958947c9def2ab9990058d30f0ef6e49 /a/4 -00644 1000710000 0 0 e5ae16611aad76e743945c6387159578958947c9def2ab9990058d30f0ef6e49 /a/6 d00755 1000710000 0 0 b40a6dfff12232de4d0a82777507a6449d007f03c1c07187ef9e0a4ddb66a9ff ee78c6b764e16fd8306c516ed66b44b33158bd2e0d6f21b324415f9ea78f2e0d /a/nested -00644 1000710000 0 5 346d4b848a316011601f5531eedd9153b0ff8016df2aa9eb82b1b2c31f6c1e30 /a/nested/2 -00644 1000710000 0 2 c3e9778d7308c8da3958d82c7eb6431449332891893b2424e66ae6d5c9be1389 /a/nested/3 d00755 1000710000 0 0 4c6f081da8d4eb0a93eb640453fbe73eea49d640269e67ca356ab335ae60de1c ee78c6b764e16fd8306c516ed66b44b33158bd2e0d6f21b324415f9ea78f2e0d /a/nested/tree -00644 1000710000 0 4 fc3ebb67130c535aab76c84249368ce5710b39b80f42727717f86b77b9dc6330 /a/nested/tree/1 d00755 1000710000 0 0 984c5f071c3f61e6c8e63a77421cbc42d128d22746c0bd383b6f379d4256301c ee78c6b764e16fd8306c516ed66b44b33158bd2e0d6f21b324415f9ea78f2e0d /another -00644 1000710000 0 6 97e245b5134862915afc5e1ed755fda1fa9cbdb181f5234e806ff48844e4c048 /another/whee d00755 1000710000 0 0 bdbeae71cec581573193c1ffe8bd27bd1aa51305d4607315023765e4268b3a29 ee78c6b764e16fd8306c516ed66b44b33158bd2e0d6f21b324415f9ea78f2e0d /another/nested d00755 1000710000 0 0 37fd42f15d4fac752f4467d28d1313c0d6457b0073776ae4a0bd193642d89926 ee78c6b764e16fd8306c516ed66b44b33158bd2e0d6f21b324415f9ea78f2e0d /another/nested/tree -00644 1000710000 0 11 f1dfa6e93f5d6d1f2e2e54411d4d104a33fc7dd57b2dcd90cb14aee6bdcbc081 /another/nested/tree/1 d00755 1000710000 0 0 dd282976bf06083036c40924b2d3ee4e841cd185658ff9b73f86ca3e5e1925ce ee78c6b764e16fd8306c516ed66b44b33158bd2e0d6f21b324415f9ea78f2e0d /baz l00777 1000710000 0 0 e7d7cb1f6c21165cb15ebf1c034c8ef2adebd983bed1606109da1834d02d65cd /baz/alink -> nonexistent -00644 1000710000 0 4 0289e61d416c7475078cfa3cc2ded9aa32c15f07c37d7d484539e79928e1b4e4 /baz/cow -00600 1000710000 0 6 66397d46824dc1f580a3346f44639411de7588827a269cddecd55171b2f5fd36 /baz/cowro -00644 1000710000 0 6 221e5f2879873e170a7a8a6d1e18170cf4f3120b8cf886af7e6561cd3fa47482 /baz/saucer d00755 1000710000 0 0 f0fafc264e0107954aa8de94d46ef04c36c0d444497cefc2e9e7c85ddc5f8acc ee78c6b764e16fd8306c516ed66b44b33158bd2e0d6f21b324415f9ea78f2e0d /baz/another -00644 1000710000 0 2 3b9550fa2076a93b45c2ac9dbb29f07cc4a18b5492fc25982709c71d678df1fe /baz/another/y d00755 1000710000 0 0 cd0e5f94c3b9d850f89944e1bfbbd851a3df5e23f4a7b45f8b12c1cd6163c02a ee78c6b764e16fd8306c516ed66b44b33158bd2e0d6f21b324415f9ea78f2e0d /baz/deeper -00644 1000710000 0 3 1186477f1bbf04547c18206f824a82cf3f35e0def3f613cfde2cfc110f5b4914 /baz/deeper/ohyeah -00555 1000710000 0 4 426d46b8c3135a88390255e92c7c84023c7434913e4bb7ce16776620fe9de4bf /baz/deeper/ohyeahx d00755 1000710000 0 0 ed12dd2335b7f6c6b8fa878d1fd7d39a623f9b8214947a5c4f6983a044463fcf ee78c6b764e16fd8306c516ed66b44b33158bd2e0d6f21b324415f9ea78f2e0d /yet -00644 1000710000 0 11 0cece0756493a1e6df2f03405f83270f4caba70ed5c842ccfffae01e5634eb01 /yet/message d00755 1000710000 0 0 fc32f1b2a11d00ac5643dcc68891ed57ddd6181ef627235ced0b1bd94e43f610 ee78c6b764e16fd8306c516ed66b44b33158bd2e0d6f21b324415f9ea78f2e0d /yet/another d00755 1000710000 0 0 c5e0b678db645ef0f38e8d11127ff9efb63bc63eebdd3df769f682ac5450e068 ee78c6b764e16fd8306c516ed66b44b33158bd2e0d6f21b324415f9ea78f2e0d /yet/another/tree ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit --skip-if-unchanged -b trees/test2 -s 'should not be committed' --tree=ref=test2 -00644 1000710000 0 5 bd801da3fe57a55d06c78c92925f36ef6b25dd3103a49abfa4f7c66c0e8aadd8 /yet/another/tree/green ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo ls -R -C test2 a5bd3351f1531888f83710d9fc055d11658f2e6edb688d8840a48d62eda0a8ca d00755 1000710000 0 0 1490a6f3aab253de6af561e5e517ac42c4f0480612e51df860a24bdf4c545777 ee78c6b764e16fd8306c516ed66b44b33158bd2e0d6f21b324415f9ea78f2e0d / -00644 1000710000 0 5 03382853c892123c19bec47079784ace9900b4a36dc071d4606ba88a1d3928cc /7 -00644 1000710000 0 2 5295159b8e63bd27fbf230cabeff6959ab04fa05da83a0a45152568f15536757 /four l00777 1000710000 0 0 79ce578b43bb95a069e673d5e7eedfbab9afb6cca65f76d3e3866c47d418fd07 /somelink -> nosuchfile d00755 1000710000 0 0 33e1a76b8b770616830bb09d48c18a6e00b16faaa7a92dae5f99ad0d8d0cbff5 ee78c6b764e16fd8306c516ed66b44b33158bd2e0d6f21b324415f9ea78f2e0d /a -00644 1000710000 0 0 e5ae16611aad76e743945c6387159578958947c9def2ab9990058d30f0ef6e49 /a/4 -00644 1000710000 0 0 e5ae16611aad76e743945c6387159578958947c9def2ab9990058d30f0ef6e49 /a/6 d00755 1000710000 0 0 b40a6dfff12232de4d0a82777507a6449d007f03c1c07187ef9e0a4ddb66a9ff ee78c6b764e16fd8306c516ed66b44b33158bd2e0d6f21b324415f9ea78f2e0d /a/nested -00644 1000710000 0 5 346d4b848a316011601f5531eedd9153b0ff8016df2aa9eb82b1b2c31f6c1e30 /a/nested/2 -00644 1000710000 0 2 c3e9778d7308c8da3958d82c7eb6431449332891893b2424e66ae6d5c9be1389 /a/nested/3 d00755 1000710000 0 0 4c6f081da8d4eb0a93eb640453fbe73eea49d640269e67ca356ab335ae60de1c ee78c6b764e16fd8306c516ed66b44b33158bd2e0d6f21b324415f9ea78f2e0d /a/nested/tree -00644 1000710000 0 4 fc3ebb67130c535aab76c84249368ce5710b39b80f42727717f86b77b9dc6330 /a/nested/tree/1 d00755 1000710000 0 0 984c5f071c3f61e6c8e63a77421cbc42d128d22746c0bd383b6f379d4256301c ee78c6b764e16fd8306c516ed66b44b33158bd2e0d6f21b324415f9ea78f2e0d /another -00644 1000710000 0 6 97e245b5134862915afc5e1ed755fda1fa9cbdb181f5234e806ff48844e4c048 /another/whee d00755 1000710000 0 0 bdbeae71cec581573193c1ffe8bd27bd1aa51305d4607315023765e4268b3a29 ee78c6b764e16fd8306c516ed66b44b33158bd2e0d6f21b324415f9ea78f2e0d /another/nested d00755 1000710000 0 0 37fd42f15d4fac752f4467d28d1313c0d6457b0073776ae4a0bd193642d89926 ee78c6b764e16fd8306c516ed66b44b33158bd2e0d6f21b324415f9ea78f2e0d /another/nested/tree -00644 1000710000 0 11 f1dfa6e93f5d6d1f2e2e54411d4d104a33fc7dd57b2dcd90cb14aee6bdcbc081 /another/nested/tree/1 d00755 1000710000 0 0 dd282976bf06083036c40924b2d3ee4e841cd185658ff9b73f86ca3e5e1925ce ee78c6b764e16fd8306c516ed66b44b33158bd2e0d6f21b324415f9ea78f2e0d /baz l00777 1000710000 0 0 e7d7cb1f6c21165cb15ebf1c034c8ef2adebd983bed1606109da1834d02d65cd /baz/alink -> nonexistent -00644 1000710000 0 4 0289e61d416c7475078cfa3cc2ded9aa32c15f07c37d7d484539e79928e1b4e4 /baz/cow -00600 1000710000 0 6 66397d46824dc1f580a3346f44639411de7588827a269cddecd55171b2f5fd36 /baz/cowro -00644 1000710000 0 6 221e5f2879873e170a7a8a6d1e18170cf4f3120b8cf886af7e6561cd3fa47482 /baz/saucer d00755 1000710000 0 0 f0fafc264e0107954aa8de94d46ef04c36c0d444497cefc2e9e7c85ddc5f8acc ee78c6b764e16fd8306c516ed66b44b33158bd2e0d6f21b324415f9ea78f2e0d /baz/another -00644 1000710000 0 2 3b9550fa2076a93b45c2ac9dbb29f07cc4a18b5492fc25982709c71d678df1fe /baz/another/y d00755 1000710000 0 0 cd0e5f94c3b9d850f89944e1bfbbd851a3df5e23f4a7b45f8b12c1cd6163c02a ee78c6b764e16fd8306c516ed66b44b33158bd2e0d6f21b324415f9ea78f2e0d /baz/deeper -00644 1000710000 0 3 1186477f1bbf04547c18206f824a82cf3f35e0def3f613cfde2cfc110f5b4914 /baz/deeper/ohyeah -00555 1000710000 0 4 426d46b8c3135a88390255e92c7c84023c7434913e4bb7ce16776620fe9de4bf /baz/deeper/ohyeahx d00755 1000710000 0 0 ed12dd2335b7f6c6b8fa878d1fd7d39a623f9b8214947a5c4f6983a044463fcf ee78c6b764e16fd8306c516ed66b44b33158bd2e0d6f21b324415f9ea78f2e0d /yet -00644 1000710000 0 11 0cece0756493a1e6df2f03405f83270f4caba70ed5c842ccfffae01e5634eb01 /yet/message d00755 1000710000 0 0 fc32f1b2a11d00ac5643dcc68891ed57ddd6181ef627235ced0b1bd94e43f610 ee78c6b764e16fd8306c516ed66b44b33158bd2e0d6f21b324415f9ea78f2e0d /yet/another d00755 1000710000 0 0 c5e0b678db645ef0f38e8d11127ff9efb63bc63eebdd3df769f682ac5450e068 ee78c6b764e16fd8306c516ed66b44b33158bd2e0d6f21b324415f9ea78f2e0d /yet/another/tree +++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo rev-parse test2 ++ new_rev=252f7b79e648680a3faeb68f0e899e48ae38a9d19935b05f40153e54ee8fd292 ++ assert_streq 252f7b79e648680a3faeb68f0e899e48ae38a9d19935b05f40153e54ee8fd292 252f7b79e648680a3faeb68f0e899e48ae38a9d19935b05f40153e54ee8fd292 ++ test 252f7b79e648680a3faeb68f0e899e48ae38a9d19935b05f40153e54ee8fd292 = 252f7b79e648680a3faeb68f0e899e48ae38a9d19935b05f40153e54ee8fd292 ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo fsck -00644 1000710000 0 5 bd801da3fe57a55d06c78c92925f36ef6b25dd3103a49abfa4f7c66c0e8aadd8 /yet/another/tree/green Validating refs... Validating refs in collections... Enumerating commits... Verifying content integrity of 13 commit objects... fsck objects (1/56) 1% fsck objects (56/56) 100% 1 partial commits not verified ++ echo 'ok commit --skip-if-unchanged' ++ cd /var/tmp/tap-test.ExFlVz/checkout-test2-4 object fsck of 13 commits completed successfully - no errors found. ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test2 -s 'no xattrs' --no-xattrs ok commit --skip-if-unchanged PASS: tests/test-basic-user.sh 40 commit --skip-if-unchanged ++ have_selinux_relabel ++ assert_has_setfattr ++ which setfattr ++ test no = '' b1afa236867a1cdb3cce3ba19c229676a6e050931355f3d650b5f8f1905da790 ++ test no = yes ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo fsck /usr/bin/setfattr Validating refs... Validating refs in collections... Enumerating commits... Verifying content integrity of 14 commit objects... fsck objects (1/59) 1% fsck objects (59/59) 100% 1 partial commits not verified ++ echo 'ok commit with no xattrs' ++ mkdir tree-A tree-B object fsck of 14 commits completed successfully - no errors found. ++ touch tree-A/file-a tree-B/file-b ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test3-1 -s 'Initial tree' --tree=dir=tree-A ok commit with no xattrs PASS: tests/test-basic-user.sh 41 commit with no xattrs ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test3-2 -s 'Replacement tree' --tree=dir=tree-B 8bccf48c387e76139bef0bd9463086b211735316244fbae7721d14c3c4928d86 ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test3-combined -s 'combined tree' --tree=ref=test3-1 --tree=ref=test3-2 0a9114dea9414fcdf8e564e318f86dfcd15c81f744e0535d95adfaf4124c0d29 ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout test3-combined checkout-test3-combined ++ assert_has_file checkout-test3-combined/file-a ++ test -f checkout-test3-combined/file-a ++ assert_has_file checkout-test3-combined/file-b ++ test -f checkout-test3-combined/file-b ++ mkdir -p tree-C/usr/share tree-C/usr/bin tree-C/etc tree-D/etc ++ echo exe ++ echo sudoers1 ++ echo mtab ++ echo sudoers2 ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test3-C1 --tree=dir=tree-C 85a85d499beb7fd5a9ffaf3c7cc57b3a3d4eb35daad2e240081c768f74c4c9fe ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test3-D --tree=dir=tree-D 1d0920c9a9e4041d38115bbb80c79eeb231ff199a98a24f4a1a24ad74fa8c497 ++ echo sudoers2 ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test3-C2 --tree=dir=tree-C 84e79b8d09e42a5cd11a7f05f9d053820c9c41e8d13993f9fb0cdd4e42a73558 ++ echo sudoers1 ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test3-ref-ref --tree=ref=test3-C1 --tree=ref=test3-D 387cad7a85f2c78721d164af2014a80420922a4f2dffc0862a27a618316003fc ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test3-dir-ref --tree=dir=tree-C --tree=ref=test3-D e019ac99d9db0c788ab367e779100a72dd08b6f130ab95158a221dbcc1b2eced ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test3-ref-dir --tree=ref=test3-C1 --tree=dir=tree-D 98c7df1b67cbb7ed1e083816db27a3d9bb30bb4c371213b8ff3c45934b3192ed ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test3-dir-dir --tree=dir=tree-C --tree=dir=tree-D d814ea4ee3c787d3c69f2a8d0d9f1fa822699dabe3de486ee8502d6bb17c5b86 ++ for x in ref dir ++ for y in ref dir ++ assert_trees_identical test3-C2 test3-ref-ref ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo diff test3-C2 test3-ref-ref ++ cat diff-test3-C2-test3-ref-ref ++ assert_file_empty diff-test3-C2-test3-ref-ref ++ test -s diff-test3-C2-test3-ref-ref ++ rm diff-test3-C2-test3-ref-ref ++ for y in ref dir ++ assert_trees_identical test3-C2 test3-ref-dir ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo diff test3-C2 test3-ref-dir ++ cat diff-test3-C2-test3-ref-dir ++ assert_file_empty diff-test3-C2-test3-ref-dir ++ test -s diff-test3-C2-test3-ref-dir ++ rm diff-test3-C2-test3-ref-dir ++ for x in ref dir ++ for y in ref dir ++ assert_trees_identical test3-C2 test3-dir-ref ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo diff test3-C2 test3-dir-ref ++ cat diff-test3-C2-test3-dir-ref ++ assert_file_empty diff-test3-C2-test3-dir-ref ++ test -s diff-test3-C2-test3-dir-ref ++ rm diff-test3-C2-test3-dir-ref ++ for y in ref dir ++ assert_trees_identical test3-C2 test3-dir-dir ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo diff test3-C2 test3-dir-dir ++ cat diff-test3-C2-test3-dir-dir ++ assert_file_empty diff-test3-C2-test3-dir-dir ++ test -s diff-test3-C2-test3-dir-dir ++ rm diff-test3-C2-test3-dir-dir ++ mkdir -p tree-E/etc ++ mkdir -p tree-F/etc/apt/sources.list.d/ ++ echo contents ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test3-E --tree=dir=tree-E 9e03d3e5dfe03c3d1c6629adafa11b04d1bcb969307697cb3a553645b1802a1b ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test3-F --tree=dir=tree-F aea67453916c24234973e9c4917dca542b618fa15fafcfae5d3920ec75b38ce3 ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test3-F2 --tree=ref=test3-E --tree=ref=test3-F 0a9b3a1689f7693da21e8c8ac675ce3fde4c949818b6dc360b8ed18a09b1ec79 ++ assert_trees_identical test3-F test3-F2 ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo diff test3-F test3-F2 ++ cat diff-test3-F-test3-F2 ++ assert_file_empty diff-test3-F-test3-F2 ++ test -s diff-test3-F-test3-F2 ++ rm diff-test3-F-test3-F2 ++ echo 'ok commit combined ref trees' ++ cd /var/tmp/tap-test.ExFlVz 55701194b10ceb503662be6d409e7aded3a9bee3c09b9cc178f80c10ef27fc8f ++ cat ++ cd /var/tmp/tap-test.ExFlVz/checkout-test2-4 ++ echo readable only ++ chmod 664 a/readable-only ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test2-override -s 'with statoverride' --statoverride=../test-statoverride.txt ok commit combined ref trees PASS: tests/test-basic-user.sh 42 commit combined ref trees ++ cd /var/tmp/tap-test.ExFlVz ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout test2-override checkout-test2-override ++ is_bare_user_only_repo repo ++ grep -q mode=bare-user-only repo/config ++ test -g checkout-test2-override/a/nested/2 ++ test -u checkout-test2-override/a/nested/3 ++ assert_file_has_mode checkout-test2-override/a/readable-only 600 +++ stat -c %a checkout-test2-override/a/readable-only ++ mode=600 ++ '[' 600 '!=' 600 ']' ++ echo 'ok commit statoverride' ++ cd /var/tmp/tap-test.ExFlVz 8cf7358e2b6fad6fdd825e1efd38cda71803d4f7db5d5699ad4e059e9f37650a ++ rm test2-checkout -rf ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout test2 test2-checkout ++ cd test2-checkout ++ install -m 0755 /dev/null user-wx ++ install -m 0575 /dev/null group-wx ++ install -m 0775 /dev/null both-wx ++ install -m 0555 /dev/null ugox ++ install -m 0644 /dev/null user-writable ++ cd .. ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test2-w-xor-x --mode-ro-executables --tree=dir=test2-checkout ok commit statoverride PASS: tests/test-basic-user.sh 43 commit statoverride ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo ls test2-w-xor-x ++ for x in /{user,group,both}-wx ++ assert_file_has_content ls.txt '^-00555 .*/user-wx' ++ fpath=ls.txt ++ shift ++ for re in "$@" ++ grep -q -e '^-00555 .*/user-wx' ls.txt ++ for x in /{user,group,both}-wx ++ assert_file_has_content ls.txt '^-00555 .*/group-wx' ++ fpath=ls.txt ++ shift ++ for re in "$@" ++ grep -q -e '^-00555 .*/group-wx' ls.txt ++ for x in /{user,group,both}-wx ++ assert_file_has_content ls.txt '^-00555 .*/both-wx' ++ fpath=ls.txt ++ shift ++ for re in "$@" ++ grep -q -e '^-00555 .*/both-wx' ls.txt ++ assert_file_has_content ls.txt '^-00644 .*/user-writable' ++ fpath=ls.txt ++ shift ++ for re in "$@" ++ grep -q -e '^-00644 .*/user-writable' ls.txt ++ echo 'ok commit --mode-ro-executables' ++ cd /var/tmp/tap-test.ExFlVz 8697434d7d536b4ff51eb2046562c17ff1be96b11b5ad1f6698b009ae6aab073 ++ cat ++ cd /var/tmp/tap-test.ExFlVz/checkout-test2-4 ++ assert_has_file a/nested/3 ++ test -f a/nested/3 ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test2-skiplist -s 'with skiplist' --skip-list=../test-skiplist.txt ok commit --mode-ro-executables PASS: tests/test-basic-user.sh 44 commit --mode-ro-executables ++ cd /var/tmp/tap-test.ExFlVz ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout test2-skiplist checkout-test2-skiplist ++ assert_not_has_file checkout-test2-skiplist/a/nested/3 ++ test -f checkout-test2-skiplist/a/nested/3 ++ echo 'ok commit skiplist' ++ cd /var/tmp/tap-test.ExFlVz d32418bc5f7c37bfb3dcb9eb96ad108b0c861f28be6c3492e878210c6c31cdcc ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo prune ok commit skiplist PASS: tests/test-basic-user.sh 45 commit skiplist Total objects: 112 ++ echo 'ok prune didn'\''t fail' ++ cd /var/tmp/tap-test.ExFlVz Deleted 1 objects, 22 bytes freed ++ mv repo/refs/remotes repo/refs/remotes.orig ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo refs --list ++ assert_file_has_content err.txt 'Listing refs.*opendir.*No such file or directory' ++ fpath=err.txt ++ shift ++ for re in "$@" ++ grep -q -e 'Listing refs.*opendir.*No such file or directory' err.txt ++ mv repo/refs/remotes.orig repo/refs/remotes ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo refs --list ++ echo 'ok refs enoent error' ++ cd /var/tmp/tap-test.ExFlVz ok prune didn't fail ++ for path in / /baz PASS: tests/test-basic-user.sh 46 prune didn't fail ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo cat test2 / ++ assert_file_has_content err.txt 'open directory' ++ fpath=err.txt ++ shift ++ for re in "$@" ++ grep -q -e 'open directory' err.txt ++ for path in / /baz ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo cat test2 /baz ++ assert_file_has_content err.txt 'open directory' ++ fpath=err.txt ++ shift ++ for re in "$@" ++ grep -q -e 'open directory' err.txt ++ rm checkout-test2 -rf ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo cat test2 /yet/another/tree/green ++ assert_file_has_content greenfile-contents leaf ++ fpath=greenfile-contents ++ shift ++ for re in "$@" ++ grep -q -e leaf greenfile-contents ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout test2 checkout-test2 ++ ls -alR checkout-test2 ok refs enoent error PASS: tests/test-basic-user.sh 47 refs enoent error checkout-test2: total 8 drwxr-xr-x. 7 1000710000 root 89 Jan 1 1970 . ++ ln -sr checkout-test2/four checkout-test2/four-link drwx------. 17 1000710000 root 4096 Sep 20 19:20 .. -rw-r--r--. 1 1000710000 root 5 Sep 20 19:20 7 drwxr-xr-x. 3 1000710000 root 38 Jan 1 1970 a drwxr-xr-x. 3 1000710000 root 32 Jan 1 1970 another drwxr-xr-x. 4 1000710000 root 86 Jan 1 1970 baz drwxr-xr-x. 2 1000710000 root 19 Jan 1 1970 four lrwxrwxrwx. 1 1000710000 root 10 Sep 20 19:20 somelink -> nosuchfile drwxr-xr-x. 3 1000710000 root 36 Jan 1 1970 yet checkout-test2/a: total 0 drwxr-xr-x. 3 1000710000 root 38 Jan 1 1970 . drwxr-xr-x. 7 1000710000 root 89 Jan 1 1970 .. -rw-r--r--. 1 1000710000 root 0 Sep 20 19:20 4 -rw-r--r--. 1 1000710000 root 0 Sep 20 19:20 6 drwxr-xr-x. 3 1000710000 root 36 Jan 1 1970 nested checkout-test2/a/nested: total 8 drwxr-xr-x. 3 1000710000 root 36 Jan 1 1970 . drwxr-xr-x. 3 1000710000 root 38 Jan 1 1970 .. -rw-r--r--. 1 1000710000 root 5 Sep 20 19:20 2 -rw-r--r--. 1 1000710000 root 2 Sep 20 19:20 3 drwxr-xr-x. 2 1000710000 root 15 Jan 1 1970 tree checkout-test2/a/nested/tree: total 4 drwxr-xr-x. 2 1000710000 root 15 Jan 1 1970 . drwxr-xr-x. 3 1000710000 root 36 Jan 1 1970 .. -rw-r--r--. 1 1000710000 root 4 Sep 20 19:20 1 checkout-test2/another: total 4 drwxr-xr-x. 3 1000710000 root 32 Jan 1 1970 . drwxr-xr-x. 7 1000710000 root 89 Jan 1 1970 .. drwxr-xr-x. 3 1000710000 root 18 Jan 1 1970 nested -rw-r--r--. 1 1000710000 root 6 Sep 20 19:20 whee checkout-test2/another/nested: total 0 drwxr-xr-x. 3 1000710000 root 18 Jan 1 1970 . drwxr-xr-x. 3 1000710000 root 32 Jan 1 1970 .. drwxr-xr-x. 2 1000710000 root 15 Jan 1 1970 tree checkout-test2/another/nested/tree: total 4 drwxr-xr-x. 2 1000710000 root 15 Jan 1 1970 . drwxr-xr-x. 3 1000710000 root 18 Jan 1 1970 .. -rw-r--r--. 1 1000710000 root 11 Sep 20 19:20 1 checkout-test2/baz: total 12 drwxr-xr-x. 4 1000710000 root 86 Jan 1 1970 . drwxr-xr-x. 7 1000710000 root 89 Jan 1 1970 .. lrwxrwxrwx. 1 1000710000 root 11 Sep 20 19:20 alink -> nonexistent drwxr-xr-x. 2 1000710000 root 15 Jan 1 1970 another -rw-r--r--. 1 1000710000 root 4 Sep 20 19:20 cow -rw-------. 1 1000710000 root 6 Sep 20 19:20 cowro drwxr-xr-x. 2 1000710000 root 35 Jan 1 1970 deeper -rw-r--r--. 1 1000710000 root 6 Sep 20 19:20 saucer checkout-test2/baz/another: total 4 drwxr-xr-x. 2 1000710000 root 15 Jan 1 1970 . drwxr-xr-x. 4 1000710000 root 86 Jan 1 1970 .. -rw-r--r--. 1 1000710000 root 2 Sep 20 19:20 y checkout-test2/baz/deeper: total 8 drwxr-xr-x. 2 1000710000 root 35 Jan 1 1970 . drwxr-xr-x. 4 1000710000 root 86 Jan 1 1970 .. -rw-r--r--. 1 1000710000 root 3 Sep 20 19:20 ohyeah -rwxr-xr-x. 1 1000710000 root 4 Sep 20 19:20 ohyeahx checkout-test2/four: total 0 drwxr-xr-x. 2 1000710000 root 19 Jan 1 1970 . drwxr-xr-x. 7 1000710000 root 89 Jan 1 1970 .. -rw-r--r--. 1 1000710000 root 0 Sep 20 19:20 other checkout-test2/yet: total 4 drwxr-xr-x. 3 1000710000 root 36 Jan 1 1970 . drwxr-xr-x. 7 1000710000 root 89 Jan 1 1970 .. drwxr-xr-x. 3 1000710000 root 18 Jan 1 1970 another -rw-r--r--. 1 1000710000 root 11 Sep 20 19:20 message checkout-test2/yet/another: total 0 drwxr-xr-x. 3 1000710000 root 18 Jan 1 1970 . drwxr-xr-x. 3 1000710000 root 36 Jan 1 1970 .. drwxr-xr-x. 2 1000710000 root 19 Jan 1 1970 tree checkout-test2/yet/another/tree: total 4 drwxr-xr-x. 2 1000710000 root 19 Jan 1 1970 . drwxr-xr-x. 3 1000710000 root 18 Jan 1 1970 .. ++ ln -sr checkout-test2/baz/cow checkout-test2/cow-link ++ ln -sr checkout-test2/cow-link checkout-test2/cow-link-link ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test2-withlink --tree=dir=checkout-test2 -rw-r--r--. 1 1000710000 root 5 Sep 20 19:20 green ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo cat test2-withlink /four-link ++ assert_file_has_content err.txt 'open directory' ++ fpath=err.txt ++ shift ++ for re in "$@" ++ grep -q -e 'open directory' err.txt ++ for path in /cow-link /cow-link-link ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo cat test2-withlink /cow-link ++ assert_file_has_content contents.txt moo ++ fpath=contents.txt ++ shift ++ for re in "$@" ++ grep -q -e moo contents.txt ++ for path in /cow-link /cow-link-link ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo cat test2-withlink /cow-link-link ++ assert_file_has_content contents.txt moo ++ fpath=contents.txt ++ shift ++ for re in "$@" ++ grep -q -e moo contents.txt ++ echo 'ok cat-file' ++ cd /var/tmp/tap-test.ExFlVz 0581025a03547f3ccbc271063458271a207adfeea54763af40638dbe6ee3202a ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout --subpath /yet/another test2 checkout-test2-subpath ++ cd checkout-test2-subpath ++ assert_file_has_content tree/green leaf ++ fpath=tree/green ++ shift ++ for re in "$@" ++ grep -q -e leaf tree/green ++ cd /var/tmp/tap-test.ExFlVz ++ rm checkout-test2-subpath -rf ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo ls -R test2 ok cat-file PASS: tests/test-basic-user.sh 48 cat-file d00755 1000710000 0 0 / -00644 1000710000 0 5 /7 l00777 1000710000 0 0 /somelink -> nosuchfile d00755 1000710000 0 0 /a -00644 1000710000 0 0 /a/4 -00644 1000710000 0 0 /a/6 d00755 1000710000 0 0 /a/nested -00644 1000710000 0 5 /a/nested/2 -00644 1000710000 0 2 /a/nested/3 d00755 1000710000 0 0 /a/nested/tree -00644 1000710000 0 4 /a/nested/tree/1 d00755 1000710000 0 0 /another -00644 1000710000 0 6 /another/whee d00755 1000710000 0 0 /another/nested d00755 1000710000 0 0 /another/nested/tree -00644 1000710000 0 11 /another/nested/tree/1 d00755 1000710000 0 0 /baz l00777 1000710000 0 0 /baz/alink -> nonexistent -00644 1000710000 0 4 /baz/cow -00600 1000710000 0 6 /baz/cowro -00644 1000710000 0 6 /baz/saucer d00755 1000710000 0 0 /baz/another -00644 1000710000 0 2 /baz/another/y d00755 1000710000 0 0 /baz/deeper -00644 1000710000 0 3 /baz/deeper/ohyeah -00755 1000710000 0 4 /baz/deeper/ohyeahx d00755 1000710000 0 0 /four -00644 1000710000 0 0 /four/other d00755 1000710000 0 0 /yet -00644 1000710000 0 11 /yet/message d00755 1000710000 0 0 /yet/another d00755 1000710000 0 0 /yet/another/tree ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout --subpath /baz/saucer test2 checkout-test2-subpath ++ assert_file_has_content checkout-test2-subpath/saucer alien ++ fpath=checkout-test2-subpath/saucer ++ shift ++ for re in "$@" ++ grep -q -e alien checkout-test2-subpath/saucer ++ mkdir t ++ cd t ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout --subpath /baz/saucer test2 . ++ assert_file_has_content saucer alien ++ fpath=saucer ++ shift ++ for re in "$@" ++ grep -q -e alien saucer ++ rm t -rf ++ echo 'ok checkout subpath' ++ cd /var/tmp/tap-test.ExFlVz -00644 1000710000 0 5 /yet/another/tree/green ++ rm -rf checkout-test2-skiplist ++ cat ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout --skip-list test-skiplist.txt test2 checkout-test2-skiplist ++ cd checkout-test2-skiplist ++ test -f baz/saucer ++ test -d yet/another/tree ++ test -f baz/cow ++ test -d baz/deeper ++ echo 'ok checkout skip-list' ok checkout subpath ++ cd /var/tmp/tap-test.ExFlVz PASS: tests/test-basic-user.sh 49 checkout subpath ++ rm -rf checkout-test2-skiplist ++ cat ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout --skip-list test-skiplist.txt --subpath /baz test2 checkout-test2-skiplist ++ cd checkout-test2-skiplist ++ test -f saucer ++ test -d deeper ++ test -f cow ++ test -d another ++ echo 'ok checkout skip-list with subpath' ++ cd /var/tmp/tap-test.ExFlVz ok checkout skip-list PASS: tests/test-basic-user.sh 50 checkout skip-list ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout --union test2 checkout-test2-union ++ find checkout-test2-union ++ wc -l ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout --union test2 checkout-test2-union ++ find checkout-test2-union ++ wc -l ++ cmp union-files-count union-files-count.new ++ cd checkout-test2-union ++ assert_file_has_content ./yet/another/tree/green leaf ++ fpath=./yet/another/tree/green ++ shift ++ for re in "$@" ++ grep -q -e leaf ./yet/another/tree/green ++ echo 'ok checkout union 1' ++ cd /var/tmp/tap-test.ExFlVz ok checkout skip-list with subpath PASS: tests/test-basic-user.sh 51 checkout skip-list with subpath ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test-union-add --tree=ref=test2 ok checkout union 1 PASS: tests/test-basic-user.sh 52 checkout union 1 ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout test-union-add checkout-test-union-add ++ echo 'file for union add testing' ++ echo 'another file for union add testing' ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test-union-add --tree=dir=checkout-test-union-add 60f0ff0088c45615326f5535431a27a91a03c836000c996026bd70a3b12cf6e2 ++ rm checkout-test-union-add -rf ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout 'test-union-add^' checkout-test-union-add ++ assert_not_has_file checkout-test-union-add/union-add-test ++ test -f checkout-test-union-add/union-add-test ++ assert_not_has_file checkout-test-union-add/union-add-test2 ++ test -f checkout-test-union-add/union-add-test2 ++ echo 'existing file for union add' ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout --union-add test-union-add checkout-test-union-add ++ assert_file_has_content checkout-test-union-add/union-add-test 'existing file for union add' ++ fpath=checkout-test-union-add/union-add-test ++ shift ++ for re in "$@" ++ grep -q -e 'existing file for union add' checkout-test-union-add/union-add-test ++ assert_file_has_content checkout-test-union-add/union-add-test2 'another file for union add testing' ++ fpath=checkout-test-union-add/union-add-test2 ++ shift ++ for re in "$@" ++ grep -q -e 'another file for union add testing' checkout-test-union-add/union-add-test2 ++ echo 'ok checkout union add' ++ cd /var/tmp/tap-test.ExFlVz c7b1191c86654cb5fb06d0e6fdd658817e25a2e63b1c077fe9ef5bb3a9c75857 +++ seq 3 ++ for x in $(seq 3) ++ mkdir -p pkg1/usr/bin pkg1/usr/share/licenses ++ echo 'binary for pkg1' ++ ln -s pkg1 pkg1/usr/bin/link1 ++ echo 'this is the GPL' ++ ln -s COPYING pkg1/usr/share/licenses/LICENSE ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b union-identical-pkg1 --tree=dir=pkg1 ok checkout union add PASS: tests/test-basic-user.sh 53 checkout union add ++ for x in $(seq 3) ++ mkdir -p pkg2/usr/bin pkg2/usr/share/licenses ++ echo 'binary for pkg2' ++ ln -s pkg2 pkg2/usr/bin/link2 ++ echo 'this is the GPL' ++ ln -s COPYING pkg2/usr/share/licenses/LICENSE ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b union-identical-pkg2 --tree=dir=pkg2 f23fcffeb4ad0a42e43e0a8ee2d79de058cba260c8ae0eef3b70acb0f689fb43 ++ for x in $(seq 3) ++ mkdir -p pkg3/usr/bin pkg3/usr/share/licenses ++ echo 'binary for pkg3' ++ ln -s pkg3 pkg3/usr/bin/link3 ++ echo 'this is the GPL' ++ ln -s COPYING pkg3/usr/share/licenses/LICENSE ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b union-identical-pkg3 --tree=dir=pkg3 c6538fdceea636e83343f374a0637c92701e1804b0951cc232d6071f3881ec78 ++ rm union-identical-test -rf +++ seq 3 ++ for x in $(seq 3) ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout -U -H --union-identical union-identical-pkg1 union-identical-test ++ for x in $(seq 3) ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout -U -H --union-identical union-identical-pkg2 union-identical-test ++ for x in $(seq 3) ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout -U -H --union-identical union-identical-pkg3 union-identical-test ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout -U --union-identical union-identical-pkg3 union-identical-test-tmp ++ assert_file_has_content err.txt 'error:.*--union-identical requires --require-hardlinks' ++ fpath=err.txt ++ shift ++ for re in "$@" ++ grep -q -e 'error:.*--union-identical requires --require-hardlinks' err.txt +++ seq 3 ++ for x in $(seq 3) ++ for v in pkg link ++ assert_file_has_content union-identical-test/usr/bin/pkg1 'binary for pkg1' ++ fpath=union-identical-test/usr/bin/pkg1 ++ shift ++ for re in "$@" ++ grep -q -e 'binary for pkg1' union-identical-test/usr/bin/pkg1 ++ for v in pkg link ++ assert_file_has_content union-identical-test/usr/bin/link1 'binary for pkg1' ++ fpath=union-identical-test/usr/bin/link1 ++ shift ++ for re in "$@" ++ grep -q -e 'binary for pkg1' union-identical-test/usr/bin/link1 ++ for v in COPYING LICENSE ++ assert_file_has_content union-identical-test/usr/share/licenses/COPYING GPL ++ fpath=union-identical-test/usr/share/licenses/COPYING ++ shift ++ for re in "$@" ++ grep -q -e GPL union-identical-test/usr/share/licenses/COPYING ++ for v in COPYING LICENSE ++ assert_file_has_content union-identical-test/usr/share/licenses/LICENSE GPL ++ fpath=union-identical-test/usr/share/licenses/LICENSE ++ shift ++ for re in "$@" ++ grep -q -e GPL union-identical-test/usr/share/licenses/LICENSE ++ for x in $(seq 3) ++ for v in pkg link ++ assert_file_has_content union-identical-test/usr/bin/pkg2 'binary for pkg2' ++ fpath=union-identical-test/usr/bin/pkg2 ++ shift ++ for re in "$@" ++ grep -q -e 'binary for pkg2' union-identical-test/usr/bin/pkg2 ++ for v in pkg link ++ assert_file_has_content union-identical-test/usr/bin/link2 'binary for pkg2' ++ fpath=union-identical-test/usr/bin/link2 ++ shift ++ for re in "$@" ++ grep -q -e 'binary for pkg2' union-identical-test/usr/bin/link2 ++ for v in COPYING LICENSE ++ assert_file_has_content union-identical-test/usr/share/licenses/COPYING GPL ++ fpath=union-identical-test/usr/share/licenses/COPYING ++ shift ++ for re in "$@" ++ grep -q -e GPL union-identical-test/usr/share/licenses/COPYING ++ for v in COPYING LICENSE ++ assert_file_has_content union-identical-test/usr/share/licenses/LICENSE GPL ++ fpath=union-identical-test/usr/share/licenses/LICENSE ++ shift ++ for re in "$@" ++ grep -q -e GPL union-identical-test/usr/share/licenses/LICENSE ++ for x in $(seq 3) ++ for v in pkg link ++ assert_file_has_content union-identical-test/usr/bin/pkg3 'binary for pkg3' ++ fpath=union-identical-test/usr/bin/pkg3 ++ shift ++ for re in "$@" ++ grep -q -e 'binary for pkg3' union-identical-test/usr/bin/pkg3 ++ for v in pkg link ++ assert_file_has_content union-identical-test/usr/bin/link3 'binary for pkg3' ++ fpath=union-identical-test/usr/bin/link3 ++ shift ++ for re in "$@" ++ grep -q -e 'binary for pkg3' union-identical-test/usr/bin/link3 ++ for v in COPYING LICENSE ++ assert_file_has_content union-identical-test/usr/share/licenses/COPYING GPL ++ fpath=union-identical-test/usr/share/licenses/COPYING ++ shift ++ for re in "$@" ++ grep -q -e GPL union-identical-test/usr/share/licenses/COPYING ++ for v in COPYING LICENSE ++ assert_file_has_content union-identical-test/usr/share/licenses/LICENSE GPL ++ fpath=union-identical-test/usr/share/licenses/LICENSE ++ shift ++ for re in "$@" ++ grep -q -e GPL union-identical-test/usr/share/licenses/LICENSE ++ rm union-identical-test -rf ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout --force-copy union-identical-pkg1 union-identical-test ++ for x in 2 3 ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout -U -H --union-identical union-identical-pkg2 union-identical-test ++ for x in 2 3 ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout -U -H --union-identical union-identical-pkg3 union-identical-test ++ echo 'ok checkout union identical merges' ++ mkdir -p pkg-conflict1bin/usr/bin pkg-conflict1bin/usr/share/licenses f7ad8f1951badb7c30f489d9c34e30d11d7ffde8da6cbfa274f319a21aaef44e ++ echo 'binary for pkg-conflict1bin' ++ echo 'this is the GPL' ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b union-identical-conflictpkg1bin --tree=dir=pkg-conflict1bin ok checkout union identical merges PASS: tests/test-basic-user.sh 54 checkout union identical merges ++ mkdir -p pkg-conflict1link/usr/bin pkg-conflict1link/usr/share/licenses ++ ln -s somewhere-else ++ echo 'this is the GPL' ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b union-identical-conflictpkg1link --tree=dir=pkg-conflict1link f9136838d3f302289bc1b587ec9b7723b715e4b5c804076ef656584555435879 ++ for v in bin link ++ rm union-identical-test -rf ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout -U -H --union-identical union-identical-pkg1 union-identical-test ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout -U -H --union-identical union-identical-conflictpkg1bin union-identical-test ++ assert_file_has_content err.txt 'error:.*File exists' ++ fpath=err.txt ++ shift ++ for re in "$@" ++ grep -q -e 'error:.*File exists' err.txt ++ for v in bin link ++ rm union-identical-test -rf ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout -U -H --union-identical union-identical-pkg1 union-identical-test ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout -U -H --union-identical union-identical-conflictpkg1link union-identical-test ++ assert_file_has_content err.txt 'error:.*File exists' ++ fpath=err.txt ++ shift ++ for re in "$@" ++ grep -q -e 'error:.*File exists' err.txt ++ echo 'ok checkout union identical conflicts' ++ cd /var/tmp/tap-test.ExFlVz a003d09663ab4074a80334824c65c530b0289ab9373a975a063c55ddfbdb45a6 ++ rm files -rf ++ mkdir files ++ touch files/anemptyfile ++ touch files/anotheremptyfile ++ ostree --repo=repo commit --consume -b tree-with-empty-files --tree=dir=files ok checkout union identical conflicts PASS: tests/test-basic-user.sh 55 checkout union identical conflicts ++ ostree --repo=repo checkout -U -H tree-with-empty-files tree-with-empty-files ++ files_are_hardlinked tree-with-empty-files/anemptyfile tree-with-empty-files/anotheremptyfile +++ stat -c %i tree-with-empty-files/anemptyfile ++ inode1=46193021 +++ stat -c %i tree-with-empty-files/anotheremptyfile ++ inode2=46193022 ++ test -n 46193021 ++ test -n 46193022 ++ '[' 46193021 == 46193022 ']' ++ rm tree-with-empty-files -rf ++ ostree --repo=repo checkout -U -H -z tree-with-empty-files tree-with-empty-files ++ files_are_hardlinked tree-with-empty-files/anemptyfile tree-with-empty-files/anotheremptyfile +++ stat -c %i tree-with-empty-files/anemptyfile ++ inode1=48322068 +++ stat -c %i tree-with-empty-files/anotheremptyfile ++ inode2=48322069 ++ test -n 48322068 ++ test -n 48322069 ++ '[' 48322068 == 48322069 ']' ++ echo 'ok checkout zero sized files are not hardlinked' ++ ostree --repo=repo checkout -U -H --union-identical -z tree-with-empty-files tree-with-empty-files 419bc3307e06051c722779ac430f637de936262e2a457916debd506d6e579e58 ++ ostree --repo=repo checkout -U -H --union-identical -z tree-with-empty-files tree-with-empty-files ++ echo notempty ++ mv tree-with-empty-files/anemptyfile.new tree-with-empty-files/anemptyfile ++ ostree --repo=repo commit --consume -b tree-with-conflicting-empty-files --tree=dir=tree-with-empty-files ok checkout zero sized files are not hardlinked PASS: tests/test-basic-user.sh 56 checkout zero sized files are not hardlinked ++ rm tree-with-empty-files -rf ++ ostree --repo=repo checkout -U -H --union-identical -z tree-with-empty-files tree-with-empty-files ++ ostree --repo=repo checkout -U -H --union-identical -z tree-with-conflicting-empty-files tree-with-empty-files ++ assert_file_has_content err.txt 'error:.*File exists' ++ fpath=err.txt ++ shift ++ for re in "$@" ++ grep -q -e 'error:.*File exists' err.txt ++ echo 'ok checkout --union-identical --force-copy-zerosized' ++ cd /var/tmp/tap-test.ExFlVz 9f2e84060e30795d6d3e6c3a4737b6235b5592c3490085d19a750bd0319ce3be ++ rm files -rf ++ mkdir files ++ mkdir files/worldwritable-dir ++ chmod a+w files/worldwritable-dir ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b content-with-dir-world-writable --tree=dir=files ok checkout --union-identical --force-copy-zerosized PASS: tests/test-basic-user.sh 57 checkout --union-identical --force-copy-zerosized ++ have_selinux_relabel ++ assert_has_setfattr ++ which setfattr eec9a45ecf8c4224f5e5b155d295928f5b1e55a7897d070b1ff90bbb53c81a8e ++ test no = '' ++ test no = yes ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo fsck /usr/bin/setfattr Validating refs... Validating refs in collections... Enumerating commits... Verifying content integrity of 41 commit objects... fsck objects (1/159) 0% fsck objects (159/159) 100% 1 partial commits not verified ++ rm dir-co -rf ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout -U -H -M content-with-dir-world-writable dir-co ++ is_bare_user_only_repo repo ++ grep -q mode=bare-user-only repo/config ++ assert_file_has_mode dir-co/worldwritable-dir 775 +++ stat -c %a dir-co/worldwritable-dir ++ mode=775 ++ '[' 775 '!=' 775 ']' ++ rm dir-co -rf ++ ostree --repo=repo checkout -U -H content-with-dir-world-writable dir-co ++ assert_file_has_mode dir-co/worldwritable-dir 777 +++ stat -c %a dir-co/worldwritable-dir ++ mode=777 ++ '[' 777 '!=' 777 ']' ++ rm dir-co -rf ++ echo 'ok checkout bareuseronly dir' ++ cd /var/tmp/tap-test.ExFlVz object fsck of 41 commits completed successfully - no errors found. ++ rm -rf shadow-repo ++ mkdir shadow-repo ++ ostree_repo_init shadow-repo ++ repo=shadow-repo ++ shift ++ ostree --repo=shadow-repo init ++ test -n 1 ++ echo -e 'disable-xattrs=true\n' +++ pwd ++ ostree --repo=shadow-repo config set core.parent /var/tmp/tap-test.ExFlVz/repo ++ rm -rf test2-checkout +++ ostree --repo=repo rev-parse test2 ++ parent_rev_test2=b1afa236867a1cdb3cce3ba19c229676a6e050931355f3d650b5f8f1905da790 ++ ostree --repo=shadow-repo checkout b1afa236867a1cdb3cce3ba19c229676a6e050931355f3d650b5f8f1905da790 test2-checkout ++ echo 'ok checkout from shadow repo' ++ cd /var/tmp/tap-test.ExFlVz ok checkout bareuseronly dir ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout test2 --subpath /enoent PASS: tests/test-basic-user.sh 58 checkout bareuseronly dir ++ assert_file_has_content err.txt 'No such file or directory' ++ fpath=err.txt ++ shift ++ for re in "$@" ++ grep -q -e 'No such file or directory' err.txt ++ echo 'ok subdir enoent' ++ cd /var/tmp/tap-test.ExFlVz ok checkout from shadow repo PASS: tests/test-basic-user.sh 59 checkout from shadow repo ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout test2 --allow-noent --subpath /enoent ++ echo 'ok subdir noent' ok subdir enoent PASS: tests/test-basic-user.sh 60 subdir enoent ++ skip_one_without_user_xattrs ++ have_user_xattrs ++ assert_has_setfattr ++ which setfattr ok subdir noent ++ test yes = '' ++ test yes = yes ++ return 1 PASS: tests/test-basic-user.sh 61 subdir noent ++ cd /var/tmp/tap-test.ExFlVz ++ mkdir repo4 ++ ostree_repo_init repo4 --mode=bare-user ++ repo=repo4 ++ shift ++ ostree --repo=repo4 init --mode=bare-user ++ test -n 1 ++ echo -e 'disable-xattrs=true\n' ++ ostree --repo=repo4 pull-local --commit-metadata-only repo test2 /usr/bin/setfattr +++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo rev-parse test2 ++ csum1=b1afa236867a1cdb3cce3ba19c229676a6e050931355f3d650b5f8f1905da790 +++ ostree --repo=repo4 rev-parse test2 ++ csum2=b1afa236867a1cdb3cce3ba19c229676a6e050931355f3d650b5f8f1905da790 ++ assert_streq b1afa236867a1cdb3cce3ba19c229676a6e050931355f3d650b5f8f1905da790 b1afa236867a1cdb3cce3ba19c229676a6e050931355f3d650b5f8f1905da790 ++ test b1afa236867a1cdb3cce3ba19c229676a6e050931355f3d650b5f8f1905da790 = b1afa236867a1cdb3cce3ba19c229676a6e050931355f3d650b5f8f1905da790 ++ test -f repo4/state/b1afa236867a1cdb3cce3ba19c229676a6e050931355f3d650b5f8f1905da790.commitpartial ++ echo 'ok pull-local --commit-metadata-only' ++ rm -rf repo4 1 metadata, 0 content objects imported; 0 bytes content written ++ skip_one_without_user_xattrs ++ have_user_xattrs ++ assert_has_setfattr ++ which setfattr ok pull-local --commit-metadata-only PASS: tests/test-basic-user.sh 62 pull-local --commit-metadata-only ++ test yes = '' ++ test yes = yes ++ return 1 ++ cd /var/tmp/tap-test.ExFlVz ++ ostree_repo_init repo3 --mode=bare-user ++ repo=repo3 ++ shift ++ ostree --repo=repo3 init --mode=bare-user ++ test -n 1 ++ echo -e 'disable-xattrs=true\n' ++ ostree --repo=repo3 pull-local --remote=aremote repo test2 /usr/bin/setfattr ++ ostree --repo=repo3 rev-parse aremote/test2 16 metadata, 17 content objects imported; 0 bytes content written ++ echo 'ok pull-local with --remote arg' b1afa236867a1cdb3cce3ba19c229676a6e050931355f3d650b5f8f1905da790 ++ skip_one_without_user_xattrs ++ have_user_xattrs ++ assert_has_setfattr ++ which setfattr ok pull-local with --remote arg ++ test yes = '' PASS: tests/test-basic-user.sh 63 pull-local with --remote arg ++ test yes = yes ++ return 1 ++ cd /var/tmp/tap-test.ExFlVz ++ ostree --repo=repo3 prune /usr/bin/setfattr Total objects: 33 ++ find repo3/objects -name '*.commit' ++ rm 'repo3/refs/heads/*' 'repo3/refs/mirrors/*' repo3/refs/remotes/aremote -rf ++ ostree --repo=repo3 prune --refs-only No unreachable objects Total objects: 33 ++ find repo3/objects -name '*.commit' ++ cmp -s objlist-before-prune objlist-after-prune ++ rm repo3 objlist-before-prune objlist-after-prune -rf ++ echo 'ok prune' ++ cd /var/tmp/tap-test.ExFlVz Deleted 33 objects, 2.0 kB freed ++ rm repo3 -rf ++ ostree_repo_init repo3 --mode=archive ++ repo=repo3 ++ shift ++ ostree --repo=repo3 init --mode=archive ++ test -n 1 ++ echo -e 'disable-xattrs=true\n' ++ ostree --repo=repo3 pull-local --remote=aremote repo test2 ok prune PASS: tests/test-basic-user.sh 64 prune ++ rm repo3/refs/remotes -rf ++ mkdir repo3/refs/remotes ++ ostree --repo=repo3 prune --refs-only 16 metadata, 17 content objects imported; 74 bytes content written Total objects: 33 ++ find repo3/objects -name '*.filez' ++ test -s file-objects ++ echo 'ok prune in archive deleted everything' ++ cd /var/tmp/tap-test.ExFlVz Deleted 33 objects, 2.6 kB freed ++ rm -rf test2-checkout ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout test2 test2-checkout ++ cd test2-checkout ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit --link-checkout-speedup -b test2 -s tmp ok prune in archive deleted everything PASS: tests/test-basic-user.sh 65 prune in archive deleted everything ++ echo 'ok commit with link speedup' ++ cd /var/tmp/tap-test.ExFlVz 6903ca38e475a1efbd44b92b13f2191f0f15d5651cb20f3a7767456f05024c3b ++ rm -rf test2-checkout ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout test2 test2-checkout ++ cat ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit --statoverride=statoverride.txt --table-output --link-checkout-speedup -b test2-tmp test2-checkout ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo diff test2 test2-tmp ++ assert_file_has_content diff-test2 'M */baz/cow$' ++ fpath=diff-test2 ++ shift ++ for re in "$@" ++ grep -q -e 'M */baz/cow$' diff-test2 ++ assert_not_file_has_content diff-test2 'M */baz/cowro$' ++ fpath=diff-test2 ++ shift ++ for re in "$@" ++ grep -q -e 'M */baz/cowro$' diff-test2 ++ assert_not_file_has_content diff-test2 baz/saucer ++ fpath=diff-test2 ++ shift ++ for re in "$@" ++ grep -q -e baz/saucer diff-test2 ++ assert_file_has_content stats.txt '^Content Written: 1$' ++ fpath=stats.txt ++ shift ++ for re in "$@" ++ grep -q -e '^Content Written: 1$' stats.txt ++ echo 'ok commit with link speedup and modifier' ++ cd /var/tmp/tap-test.ExFlVz ok commit with link speedup ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo ls test2 PASS: tests/test-basic-user.sh 66 commit with link speedup ok commit with link speedup and modifier PASS: tests/test-basic-user.sh 67 commit with link speedup and modifier d00755 1000710000 0 0 / -00644 1000710000 0 5 /7 l00777 1000710000 0 0 /somelink -> nosuchfile d00755 1000710000 0 0 /a d00755 1000710000 0 0 /another d00755 1000710000 0 0 /baz d00755 1000710000 0 0 /four ++ echo 'ok ls with no argument' ++ cd /var/tmp/tap-test.ExFlVz d00755 1000710000 0 0 /yet ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo ls test2 /baz/cow/notadir ++ assert_file_has_content errmsg 'Not a directory' ++ fpath=errmsg ++ shift ++ for re in "$@" ++ grep -q -e 'Not a directory' errmsg ++ echo 'ok ls of not a directory' ++ cd /var/tmp/tap-test.ExFlVz ok ls with no argument ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo show test2 PASS: tests/test-basic-user.sh 68 ls with no argument ok ls of not a directory PASS: tests/test-basic-user.sh 69 ls of not a directory commit 6903ca38e475a1efbd44b92b13f2191f0f15d5651cb20f3a7767456f05024c3b Parent: b1afa236867a1cdb3cce3ba19c229676a6e050931355f3d650b5f8f1905da790 ContentChecksum: 2c024742cf8d54c45106678506861ae2bbda2da5abfbe554158000665e053728 Date: 2023-09-20 19:20:59 +0000 tmp ++ echo 'ok show with non-checksum' ++ cd /var/tmp/tap-test.ExFlVz/checkout-test2 +++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test4 -s 'Third commit' ++ checksum=410f076670344e6a10413a5b4c2ca4de85993cbf89140c9dcccba62902b8e43b ++ cd /var/tmp/tap-test.ExFlVz ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo show test4 ++ assert_file_has_content show-output 'Third commit' ++ fpath=show-output ++ shift ++ for re in "$@" ++ grep -q -e 'Third commit' show-output ++ assert_file_has_content show-output 'commit 410f076670344e6a10413a5b4c2ca4de85993cbf89140c9dcccba62902b8e43b' ++ fpath=show-output ++ shift ++ for re in "$@" ++ grep -q -e 'commit 410f076670344e6a10413a5b4c2ca4de85993cbf89140c9dcccba62902b8e43b' show-output ++ echo 'ok show full output' ++ grep -E -e '^ContentChecksum' show-output ok show with non-checksum PASS: tests/test-basic-user.sh 70 show with non-checksum ++ cd /var/tmp/tap-test.ExFlVz/checkout-test2 +++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test4 -s 'Another commit with different subject' ++ checksum=b5ba614cf435686421bf011b4b2fc8c44d16ca3e52d3c4ec5659a3db75fa5c5d ++ cd /var/tmp/tap-test.ExFlVz ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo show test4 ++ grep -E -e '^ContentChecksum' ++ diff -u previous-content-checksum.txt new-content-checksum.txt ++ echo 'ok content checksum' ++ cd /var/tmp/tap-test.ExFlVz/checkout-test2 ok show full output PASS: tests/test-basic-user.sh 71 show full output +++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test5 -s 'First commit' ++ checksum1=c09cb4f42e63b3b0e870256f821edea621bc7aea44154121e1cf645d1727f737 +++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test5 -s 'Second commit' ++ checksum2=3f167c21917b2fd9a9e6dece1bcaa947d9e979aa725a002e89361b6597d279c4 ++ cd /var/tmp/tap-test.ExFlVz ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo log test5 ++ assert_file_has_content log-output 'First commit' ++ fpath=log-output ++ shift ++ for re in "$@" ++ grep -q -e 'First commit' log-output ++ assert_file_has_content log-output 'commit c09cb4f42e63b3b0e870256f821edea621bc7aea44154121e1cf645d1727f737' ++ fpath=log-output ++ shift ++ for re in "$@" ++ grep -q -e 'commit c09cb4f42e63b3b0e870256f821edea621bc7aea44154121e1cf645d1727f737' log-output ++ assert_file_has_content log-output 'Second commit' ++ fpath=log-output ++ shift ++ for re in "$@" ++ grep -q -e 'Second commit' log-output ++ assert_file_has_content log-output 'commit 3f167c21917b2fd9a9e6dece1bcaa947d9e979aa725a002e89361b6597d279c4' ++ fpath=log-output ++ shift ++ for re in "$@" ++ grep -q -e 'commit 3f167c21917b2fd9a9e6dece1bcaa947d9e979aa725a002e89361b6597d279c4' log-output ++ echo 'ok log output' ++ cd /var/tmp/tap-test.ExFlVz/checkout-test2 ok content checksum PASS: tests/test-basic-user.sh 72 content checksum +++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test6 -s 'First commit' ++ checksum1=f563943a8fe94d2d6af17fa4f4e7100e210ea371bd8c429c630a8f443a32d0b7 +++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test6 -s 'Second commit' ++ checksum2=0329764790286a8ea1aa66618646e0130b2874adf597accbbf0bab8822f7048c ++ cd /var/tmp/tap-test.ExFlVz ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo show test6 ++ assert_file_has_content show-output 'commit 0329764790286a8ea1aa66618646e0130b2874adf597accbbf0bab8822f7048c' ++ fpath=show-output ++ shift ++ for re in "$@" ++ grep -q -e 'commit 0329764790286a8ea1aa66618646e0130b2874adf597accbbf0bab8822f7048c' show-output ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo reset test6 f563943a8fe94d2d6af17fa4f4e7100e210ea371bd8c429c630a8f443a32d0b7 ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo show test6 ++ assert_file_has_content show-output 'commit f563943a8fe94d2d6af17fa4f4e7100e210ea371bd8c429c630a8f443a32d0b7' ++ fpath=show-output ++ shift ++ for re in "$@" ++ grep -q -e 'commit f563943a8fe94d2d6af17fa4f4e7100e210ea371bd8c429c630a8f443a32d0b7' show-output ++ echo 'ok basic reset' ++ cd /var/tmp/tap-test.ExFlVz ++ rm checkout-test2 -rf ok log output PASS: tests/test-basic-user.sh 73 log output ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout test2 checkout-test2 ++ touch checkout-test2/sometestfile ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -s sometest -b test2 checkout-test2 ok basic reset PASS: tests/test-basic-user.sh 74 basic reset ++ echo 'ok commit with directory filename' ++ cd /var/tmp/tap-test.ExFlVz/checkout-test2 b7ffbf437281fb765af0c5f4e10afd5d09d6669a6a5a44be2e7868c97c22fae2 ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test2 -s 'Metadata string' --add-metadata-string=FOO=BAR --add-metadata-string=KITTENS=CUTE --add-detached-metadata-string=SIGNATURE=HANCOCK '--add-metadata=SOMENUM=uint64 42' --tree=ref=test2 ok commit with directory filename PASS: tests/test-basic-user.sh 75 commit with directory filename ++ cd /var/tmp/tap-test.ExFlVz ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo show --print-metadata-key=FOO test2 ++ assert_file_has_content test2-meta BAR ++ fpath=test2-meta ++ shift ++ for re in "$@" ++ grep -q -e BAR test2-meta ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo show --print-metadata-key=KITTENS test2 ++ assert_file_has_content test2-meta CUTE ++ fpath=test2-meta ++ shift ++ for re in "$@" ++ grep -q -e CUTE test2-meta ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo show --print-metadata-key=SOMENUM test2 ++ case "$("${test_builddir}/get-byte-order")" in +++ /home/jenkins/agent/workspace/ostree_PR-3054/tests/get-byte-order ++ assert_file_has_content test2-meta 'uint64 3026418949592973312' ++ fpath=test2-meta ++ shift ++ for re in "$@" ++ grep -q -e 'uint64 3026418949592973312' test2-meta ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo show -B --print-metadata-key=SOMENUM test2 ++ assert_file_has_content test2-meta 'uint64 42' ++ fpath=test2-meta ++ shift ++ for re in "$@" ++ grep -q -e 'uint64 42' test2-meta ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo show --print-detached-metadata-key=SIGNATURE test2 ++ assert_file_has_content test2-meta HANCOCK ++ fpath=test2-meta ++ shift ++ for re in "$@" ++ grep -q -e HANCOCK test2-meta ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo show --list-metadata-keys test2 ++ assert_file_has_content test2-meta FOO ++ fpath=test2-meta ++ shift ++ for re in "$@" ++ grep -q -e FOO test2-meta ++ assert_file_has_content test2-meta KITTENS ++ fpath=test2-meta ++ shift ++ for re in "$@" ++ grep -q -e KITTENS test2-meta ++ assert_file_has_content test2-meta SOMENUM ++ fpath=test2-meta ++ shift ++ for re in "$@" ++ grep -q -e SOMENUM test2-meta ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo show --list-detached-metadata-keys test2 ++ assert_file_has_content test2-meta SIGNATURE ++ fpath=test2-meta ++ shift ++ for re in "$@" ++ grep -q -e SIGNATURE test2-meta ++ echo 'ok metadata commit with strings' ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test2 --tree=ref=test2 --add-detached-metadata-string=SIGNATURE=HANCOCK --keep-metadata=KITTENS --keep-metadata=SOMENUM d7bea92177503ccc88ed48145021fcda312a8ea073707f72187bc46bb1369eed ok metadata commit with strings PASS: tests/test-basic-user.sh 76 metadata commit with strings ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo show --print-metadata-key=FOO test2 error: No such metadata key 'FOO' ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo show --print-metadata-key=KITTENS test2 ++ assert_file_has_content test2-meta CUTE ++ fpath=test2-meta ++ shift ++ for re in "$@" ++ grep -q -e CUTE test2-meta ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo show -B --print-metadata-key=SOMENUM test2 ++ assert_file_has_content test2-meta 'uint64 42' ++ fpath=test2-meta ++ shift ++ for re in "$@" ++ grep -q -e 'uint64 42' test2-meta ++ echo 'ok keep metadata from parent' ++ cd /var/tmp/tap-test.ExFlVz 3b625850d628b3d0bc1f3be0db73c865f7711d732d739dab9efb243614825aa6 ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo show --print-metadata-key=ostree.ref-binding test2 ++ assert_file_has_content test2-ref-binding test2 ++ fpath=test2-ref-binding ++ shift ++ for re in "$@" ++ grep -q -e test2 test2-ref-binding ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test2-unbound --no-bindings --tree=dir=/var/tmp/tap-test.ExFlVz/checkout-test2 ok keep metadata from parent PASS: tests/test-basic-user.sh 77 keep metadata from parent ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo show --print-metadata-key=ostree.ref-binding test2-unbound error: No such metadata key 'ostree.ref-binding' ++ echo 'ok refbinding' 2a6e733e335366934f18fa1188415c97f20b0b2bc75cfc172e17ea6d6e7c0346 ++ skip_one_without_user_xattrs ++ have_user_xattrs ++ assert_has_setfattr ++ which setfattr ok refbinding ++ test yes = '' ++ test yes = yes PASS: tests/test-basic-user.sh 78 refbinding ++ return 1 ++ cd /var/tmp/tap-test.ExFlVz ++ rm repo2 -rf ++ mkdir repo2 ++ ostree_repo_init repo2 --mode=bare-user ++ repo=repo2 ++ shift ++ ostree --repo=repo2 init --mode=bare-user ++ test -n 1 ++ echo -e 'disable-xattrs=true\n' ++ ostree --repo=repo2 pull-local repo /usr/bin/setfattr ++ ostree --repo=repo2 show --print-detached-metadata-key=SIGNATURE test2 ++ assert_file_has_content test2-meta HANCOCK ++ fpath=test2-meta ++ shift ++ for re in "$@" ++ grep -q -e HANCOCK test2-meta ++ echo 'ok pull-local after commit metadata' ++ cd /var/tmp/tap-test.ExFlVz 106 metadata, 44 content objects imported; 0 bytes content written ++ ostree --repo=repo remote --set=tls-permissive=true add aremote http://remote.example.com/repo testos/buildmain/x86_64-runtime ++ assert_file_has_content repo/config tls-permissive=true ++ fpath=repo/config ++ shift ++ for re in "$@" ++ grep -q -e tls-permissive=true repo/config ++ assert_file_has_content repo/config 'remote\.example\.com' ++ fpath=repo/config ++ shift ++ for re in "$@" ++ grep -q -e 'remote\.example\.com' repo/config ++ echo 'ok remote add with set' ++ cd /var/tmp/tap-test.ExFlVz ok pull-local after commit metadata ++ ostree --repo=repo remote show-url aremote PASS: tests/test-basic-user.sh 79 pull-local after commit metadata ++ assert_file_has_content aremote-url.txt 'http.*remote\.example\.com/repo' ++ fpath=aremote-url.txt ++ shift ++ for re in "$@" ++ grep -q -e 'http.*remote\.example\.com/repo' aremote-url.txt ++ echo 'ok remote show-url' ++ cd /var/tmp/tap-test.ExFlVz ok remote add with set PASS: tests/test-basic-user.sh 80 remote add with set ++ rm -rf test2-checkout ++ grep bare-user repo/config ok remote show-url ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout -U test2 test2-checkout PASS: tests/test-basic-user.sh 81 remote show-url ++ stat --format=%Y test2-checkout/baz/cow ++ assert_file_has_content cow-mtime 0 ++ fpath=cow-mtime ++ shift ++ for re in "$@" ++ grep -q -e 0 cow-mtime ++ stat --format=%Y test2-checkout/baz/deeper ++ assert_file_has_content deeper-mtime 0 ++ fpath=deeper-mtime ++ shift ++ for re in "$@" ++ grep -q -e 0 deeper-mtime ++ echo 'ok content mtime' ++ cd /var/tmp/tap-test.ExFlVz mode=bare-user ++ rm repo2 -rf ++ mkdir repo2 ++ ostree_repo_init repo2 --mode=archive ++ repo=repo2 ++ shift ++ ostree --repo=repo2 init --mode=archive ++ test -n 1 ++ echo -e 'disable-xattrs=true\n' ++ ostree --repo=repo2 pull-local repo ok content mtime PASS: tests/test-basic-user.sh 82 content mtime ++ rm -rf test2-checkout ++ ostree --repo=repo2 checkout -U --disable-cache test2 test2-checkout ++ test -d repo2/uncompressed-objects-cache ++ rm test2-checkout -rf ++ ostree --repo=repo2 checkout -U test2 test2-checkout ++ assert_file_has_content test2-checkout/baz/cow moo ++ fpath=test2-checkout/baz/cow ++ shift ++ for re in "$@" ++ grep -q -e moo test2-checkout/baz/cow ++ assert_has_dir repo2/uncompressed-objects-cache ++ test -d repo2/uncompressed-objects-cache ++ ls repo2/uncompressed-objects-cache ++ test -s ls.txt ++ is_bare_user_only_repo repo ++ grep -q mode=bare-user-only repo/config ++ assert_file_has_mode test2-checkout/baz/cowro 600 +++ stat -c %a test2-checkout/baz/cowro ++ mode=600 ++ '[' 600 '!=' 600 ']' ++ assert_file_has_mode test2-checkout/baz/deeper/ohyeahx 755 +++ stat -c %a test2-checkout/baz/deeper/ohyeahx ++ mode=755 ++ '[' 755 '!=' 755 ']' ++ echo 'ok disable cache checkout' ++ cd /var/tmp/tap-test.ExFlVz 106 metadata, 44 content objects imported; 318 bytes content written ++ rm checkout-test2 -rf ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout test2 checkout-test2 ++ date ++ rm 'repo/tmp/*' -rf ++ export TEST_BOOTID=3072029c-8b10-60d1-d31b-8422eeff9b42 ++ TEST_BOOTID=3072029c-8b10-60d1-d31b-8422eeff9b42 ++ env OSTREE_REPO_TEST_ERROR=pre-commit OSTREE_BOOTID=3072029c-8b10-60d1-d31b-8422eeff9b42 ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test2 -s '' /var/tmp/tap-test.ExFlVz/checkout-test2 ++ assert_file_has_content err.txt OSTREE_REPO_TEST_ERROR_PRE_COMMIT ++ fpath=err.txt ++ shift ++ for re in "$@" ++ grep -q -e OSTREE_REPO_TEST_ERROR_PRE_COMMIT err.txt ++ found_staging=0 +++ find repo/tmp/ -maxdepth 1 -type d ++ for d in $(find repo/tmp/ -maxdepth 1 -type d) +++ basename repo/tmp/ ++ bn=tmp ++ test tmp '!=' tmp ++ for d in $(find repo/tmp/ -maxdepth 1 -type d) +++ basename repo/tmp/staging-3072029c-8b10-60d1-d31b-8422eeff9b42-xxHDhf ++ bn=staging-3072029c-8b10-60d1-d31b-8422eeff9b42-xxHDhf ++ test 3072029c-8b10-60d1-d31b-8422eeff9b42-xxHDhf '!=' staging-3072029c-8b10-60d1-d31b-8422eeff9b42-xxHDhf ++ assert_str_match staging-3072029c-8b10-60d1-d31b-8422eeff9b42-xxHDhf '^staging-3072029c-8b10-60d1-d31b-8422eeff9b42-' ++ echo staging-3072029c-8b10-60d1-d31b-8422eeff9b42-xxHDhf ++ grep -E -q '^staging-3072029c-8b10-60d1-d31b-8422eeff9b42-' ++ found_staging=1 ++ assert_streq 1 1 ++ test 1 = 1 ++ echo 'ok test error pre commit/bootid' ++ cd /var/tmp/tap-test.ExFlVz ++ mkdir -p overlay/baz/ ok disable cache checkout PASS: tests/test-basic-user.sh 83 disable cache checkout ++ touch overlay/baz/.wh.cow ++ touch overlay/.wh.deeper ++ touch overlay/baz/another/.wh..wh..opq touch: cannot touch 'overlay/baz/another/.wh..wh..opq': No such file or directory ++ echo 'ok # SKIP whiteouts do not work, are you using aufs?' ++ echo 'ok # SKIP whiteouts do not work, are you using aufs?' ok test error pre commit/bootid ++ cd /var/tmp/tap-test.ExFlVz ++ rm -rf test2-checkout PASS: tests/test-basic-user.sh 84 test error pre commit/bootid ok # SKIP whiteouts do not work, are you using aufs? SKIP: tests/test-basic-user.sh 85 # SKIP whiteouts do not work, are you using aufs? ++ mkdir -p test2-checkout ++ cd test2-checkout ++ echo 'should not be fsynced' ++ skip_one_without_strace_fault_injection ++ have_strace_fault_injection ++ test '' = '' ++ strace -P /home/jenkins/agent/workspace/ostree_PR-3054/tests/libtest-core.sh -e inject=read:retval=0 cat /home/jenkins/agent/workspace/ostree_PR-3054/tests/libtest-core.sh /home/jenkins/agent/workspace/ostree_PR-3054/tests/libtest.sh: line 663: strace: command not found ++ _have_strace_fault_injection=no ++ rm -f out.txt ++ test no = yes ++ echo 'ok # SKIP this test requires strace fault injection' ++ return 0 ok # SKIP whiteouts do not work, are you using aufs? SKIP: tests/test-basic-user.sh 86 # SKIP whiteouts do not work, are you using aufs? +++ id -u ++ test 1000710000 '!=' 0 ++ cd /var/tmp/tap-test.ExFlVz ++ rm -f expected-fail error-message ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo init --mode=archive --repo=repo-noperm ++ chmod -w repo-noperm/objects ++ ostree --repo=/var/tmp/tap-test.ExFlVz/repo --repo=repo-noperm pull-local repo ++ touch expected-fail ++ chmod +w repo-noperm/objects ++ assert_has_file expected-fail ++ test -f expected-fail ++ assert_file_has_content error-message 'Permission denied' ++ fpath=error-message ++ shift ++ for re in "$@" ++ grep -q -e 'Permission denied' error-message ++ echo 'ok unwritable repo was caught' ++ skip_one_without_whiteouts_devices ++ can_create_whiteout_devices ok # SKIP this test requires strace fault injection ++ mknod -m 000 /var/tmp/tap-test.ExFlVz/.test-whiteout c 0 0 SKIP: tests/test-basic-user.sh 87 # SKIP this test requires strace fault injection mknod: /var/tmp/tap-test.ExFlVz/.test-whiteout: Operation not permitted ++ return 1 ++ echo 'ok # SKIP - this test requires whiteout device support (test outside containers)' ++ return 0 ok unwritable repo was caught PASS: tests/test-basic-user.sh 88 unwritable repo was caught ++ skip_one_without_whiteouts_devices ++ can_create_whiteout_devices ++ mknod -m 000 /var/tmp/tap-test.ExFlVz/.test-whiteout c 0 0 mknod: /var/tmp/tap-test.ExFlVz/.test-whiteout: Operation not permitted ++ return 1 ++ echo 'ok # SKIP - this test requires whiteout device support (test outside containers)' ++ return 0 ok # SKIP - this test requires whiteout device support (test outside containers) SKIP: tests/test-basic-user.sh 89 # SKIP - this test requires whiteout device support (test outside containers) + rm repo files -rf + setup_test_repository bare-user + mode=bare-user + shift ++ pwd + oldpwd=/var/tmp/tap-test.ExFlVz + COMMIT_ARGS= + '[' bare-user == bare-user-only ']' + cd /var/tmp/tap-test.ExFlVz + rm -rf repo + test -n bare-user + ostree_repo_init repo --mode=bare-user + repo=repo + shift + ostree --repo=repo init --mode=bare-user + test -n 1 + echo -e 'disable-xattrs=true\n' ++ pwd + ot_repo=--repo=/var/tmp/tap-test.ExFlVz/repo + export 'OSTREE= ostree --repo=/var/tmp/tap-test.ExFlVz/repo' + OSTREE=' ostree --repo=/var/tmp/tap-test.ExFlVz/repo' + cd /var/tmp/tap-test.ExFlVz ++ umask + local oldumask=0022 + umask 022 + rm -rf files + mkdir files + cd files ++ pwd + ot_files=/var/tmp/tap-test.ExFlVz/files + export ht_files + ln -s nosuchfile somelink + echo first + cd /var/tmp/tap-test.ExFlVz/files + ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test2 -s 'Test Commit 1' -m 'Commit body first' ok # SKIP - this test requires whiteout device support (test outside containers) SKIP: tests/test-basic-user.sh 90 # SKIP - this test requires whiteout device support (test outside containers) + mkdir baz + echo moo + echo mooro + chmod 600 baz/cowro + echo alien + mkdir baz/deeper + echo hi + echo hix + chmod 755 baz/deeper/ohyeahx + ln -s nonexistent baz/alink + mkdir baz/another/ + echo x + test -n 1 + umask 0022 + cd /var/tmp/tap-test.ExFlVz/files + ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test2 -s 'Test Commit 2' -m 'Commit body second' 48ac31ef50930064afe4926e5b5215d59ee70f10e63c171a5afe044ff5c0aba6 + ostree --repo=/var/tmp/tap-test.ExFlVz/repo fsck -q a26dc4802333193576e3942bf53a22b3c77c5df5d7bf82654cd9606753996b29 fsck objects (1/17) 5% fsck objects (17/17) 100% + cd /var/tmp/tap-test.ExFlVz + cd /var/tmp/tap-test.ExFlVz ++ ostree_file_path_to_object_path repo test2 baz/cow ++ repo=repo ++ ref=test2 ++ path=baz/cow +++ ostree_file_path_to_relative_object_path repo test2 baz/cow +++ repo=repo +++ ref=test2 +++ path=baz/cow ++++ ostree_file_path_to_checksum repo test2 baz/cow ++++ repo=repo ++++ ref=test2 ++++ path=baz/cow ++++ ostree --repo=repo ls -C test2 baz/cow ++++ awk '{ print $5 }' +++ checksum=0289e61d416c7475078cfa3cc2ded9aa32c15f07c37d7d484539e79928e1b4e4 +++ test -n 0289e61d416c7475078cfa3cc2ded9aa32c15f07c37d7d484539e79928e1b4e4 +++ ostree_checksum_to_relative_object_path repo 0289e61d416c7475078cfa3cc2ded9aa32c15f07c37d7d484539e79928e1b4e4 +++ repo=repo +++ checksum=0289e61d416c7475078cfa3cc2ded9aa32c15f07c37d7d484539e79928e1b4e4 +++ grep -Eq -e '^mode=archive' repo/config +++ suffix= +++ echo objects/02/89e61d416c7475078cfa3cc2ded9aa32c15f07c37d7d484539e79928e1b4e4.file ++ relpath=objects/02/89e61d416c7475078cfa3cc2ded9aa32c15f07c37d7d484539e79928e1b4e4.file ++ echo repo/objects/02/89e61d416c7475078cfa3cc2ded9aa32c15f07c37d7d484539e79928e1b4e4.file + objpath_nonexec=repo/objects/02/89e61d416c7475078cfa3cc2ded9aa32c15f07c37d7d484539e79928e1b4e4.file + assert_file_has_mode repo/objects/02/89e61d416c7475078cfa3cc2ded9aa32c15f07c37d7d484539e79928e1b4e4.file 644 ++ stat -c %a repo/objects/02/89e61d416c7475078cfa3cc2ded9aa32c15f07c37d7d484539e79928e1b4e4.file + mode=644 + '[' 644 '!=' 644 ']' ++ ostree_file_path_to_object_path repo test2 baz/cowro ++ repo=repo ++ ref=test2 ++ path=baz/cowro +++ ostree_file_path_to_relative_object_path repo test2 baz/cowro +++ repo=repo +++ ref=test2 +++ path=baz/cowro ++++ ostree_file_path_to_checksum repo test2 baz/cowro ++++ repo=repo ++++ ref=test2 ++++ path=baz/cowro ++++ ostree --repo=repo ls -C test2 baz/cowro ++++ awk '{ print $5 }' +++ checksum=66397d46824dc1f580a3346f44639411de7588827a269cddecd55171b2f5fd36 +++ test -n 66397d46824dc1f580a3346f44639411de7588827a269cddecd55171b2f5fd36 +++ ostree_checksum_to_relative_object_path repo 66397d46824dc1f580a3346f44639411de7588827a269cddecd55171b2f5fd36 +++ repo=repo +++ checksum=66397d46824dc1f580a3346f44639411de7588827a269cddecd55171b2f5fd36 +++ grep -Eq -e '^mode=archive' repo/config +++ suffix= +++ echo objects/66/397d46824dc1f580a3346f44639411de7588827a269cddecd55171b2f5fd36.file ++ relpath=objects/66/397d46824dc1f580a3346f44639411de7588827a269cddecd55171b2f5fd36.file ++ echo repo/objects/66/397d46824dc1f580a3346f44639411de7588827a269cddecd55171b2f5fd36.file + objpath_ro=repo/objects/66/397d46824dc1f580a3346f44639411de7588827a269cddecd55171b2f5fd36.file + assert_file_has_mode repo/objects/66/397d46824dc1f580a3346f44639411de7588827a269cddecd55171b2f5fd36.file 600 ++ stat -c %a repo/objects/66/397d46824dc1f580a3346f44639411de7588827a269cddecd55171b2f5fd36.file + mode=600 + '[' 600 '!=' 600 ']' ++ ostree_file_path_to_object_path repo test2 baz/deeper/ohyeahx ++ repo=repo ++ ref=test2 ++ path=baz/deeper/ohyeahx +++ ostree_file_path_to_relative_object_path repo test2 baz/deeper/ohyeahx +++ repo=repo +++ ref=test2 +++ path=baz/deeper/ohyeahx ++++ ostree_file_path_to_checksum repo test2 baz/deeper/ohyeahx ++++ repo=repo ++++ ref=test2 ++++ path=baz/deeper/ohyeahx ++++ ostree --repo=repo ls -C test2 baz/deeper/ohyeahx ++++ awk '{ print $5 }' +++ checksum=13133331b74eb5fafa5ec6ce719acd019284f9d32470f4ef2c322f6105bb2b5b +++ test -n 13133331b74eb5fafa5ec6ce719acd019284f9d32470f4ef2c322f6105bb2b5b +++ ostree_checksum_to_relative_object_path repo 13133331b74eb5fafa5ec6ce719acd019284f9d32470f4ef2c322f6105bb2b5b +++ repo=repo +++ checksum=13133331b74eb5fafa5ec6ce719acd019284f9d32470f4ef2c322f6105bb2b5b +++ grep -Eq -e '^mode=archive' repo/config +++ suffix= +++ echo objects/13/133331b74eb5fafa5ec6ce719acd019284f9d32470f4ef2c322f6105bb2b5b.file ++ relpath=objects/13/133331b74eb5fafa5ec6ce719acd019284f9d32470f4ef2c322f6105bb2b5b.file ++ echo repo/objects/13/133331b74eb5fafa5ec6ce719acd019284f9d32470f4ef2c322f6105bb2b5b.file + objpath_exec=repo/objects/13/133331b74eb5fafa5ec6ce719acd019284f9d32470f4ef2c322f6105bb2b5b.file + assert_file_has_mode repo/objects/13/133331b74eb5fafa5ec6ce719acd019284f9d32470f4ef2c322f6105bb2b5b.file 755 ++ stat -c %a repo/objects/13/133331b74eb5fafa5ec6ce719acd019284f9d32470f4ef2c322f6105bb2b5b.file + mode=755 + '[' 755 '!=' 755 ']' + echo 'ok bare-user committed modes' + rm test2-checkout -rf object fsck of 2 commits completed successfully - no errors found. + ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout -U -H test2 test2-checkout + cd test2-checkout + assert_file_has_mode baz/cow 644 ++ stat -c %a baz/cow + mode=644 + '[' 644 '!=' 644 ']' + assert_file_has_mode baz/cowro 600 ++ stat -c %a baz/cowro + mode=600 + '[' 600 '!=' 600 ']' + assert_file_has_mode baz/deeper/ohyeahx 755 ++ stat -c %a baz/deeper/ohyeahx + mode=755 + '[' 755 '!=' 755 ']' + echo 'ok bare-user checkout modes' + rm test2-checkout -rf ok bare-user committed modes PASS: tests/test-basic-user.sh 91 bare-user committed modes + ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout -U -H test2 test2-checkout + touch test2-checkout/unwritable + chmod 0400 test2-checkout/unwritable + ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test2-unwritable --tree=dir=test2-checkout ok bare-user checkout modes PASS: tests/test-basic-user.sh 92 bare-user checkout modes + chmod 0600 test2-checkout/unwritable + rm test2-checkout -rf + ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout -U -H test2-unwritable test2-checkout + cd test2-checkout + assert_file_has_mode unwritable 400 ++ stat -c %a unwritable + mode=400 + '[' 400 '!=' 400 ']' + echo 'ok bare-user unwritable' + rm test2-checkout -rf d7f7527a6bc86aed3d75c3ca16efbf86a67098d87190f2fa71484fb453892cb0 + ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout -U -H test2 test2-checkout + cat + touch test2-checkout/unreadable + ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b test2-unreadable --statoverride=statoverride.txt --tree=dir=test2-checkout ok bare-user unwritable PASS: tests/test-basic-user.sh 93 bare-user unwritable + ostree --repo=/var/tmp/tap-test.ExFlVz/repo fsck 9e741ac35b2876a36cdef36232a38cef12050b0673b9593660c47afb5c58dc76 Validating refs... Validating refs in collections... Enumerating commits... Verifying content integrity of 4 commit objects... fsck objects (1/23) 4% fsck objects (23/23) 100% + rm test2-checkout -rf + ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout -U -H test2-unreadable test2-checkout + assert_file_has_mode test2-checkout/unreadable 400 ++ stat -c %a test2-checkout/unreadable + mode=400 + '[' 400 '!=' 400 ']' ++ stat -c %h test2-checkout/unreadable + assert_streq 1 1 + test 1 = 1 + echo 'ok bare-user handled unreadable file' + cd /var/tmp/tap-test.ExFlVz object fsck of 4 commits completed successfully - no errors found. + mkdir -p components/dbus/usr/bin components/dbus/usr/lib components/systemd/usr/bin components/systemd/usr/lib + echo dbus binary + chmod a+x components/dbus/usr/bin/dbus-daemon + echo dbus lib + echo dbus helper + chmod a+x components/dbus/usr/lib/dbus-daemon-helper + echo systemd binary + chmod a+x components/systemd/usr/bin/systemd + echo systemd lib + ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b component-dbus --owner-uid 0 --owner-gid 81 --tree=dir=components/dbus ok bare-user handled unreadable file PASS: tests/test-basic-user.sh 94 bare-user handled unreadable file + ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b component-systemd --owner-uid 0 --owner-gid 0 --tree=dir=components/systemd 313f96d0a37aea3ecb6e29349c3de343f7736b6fecde737579ba1a30259a9115 + rm rootfs -rf + for component in dbus systemd + ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout -U -H component-dbus --union rootfs + for component in dbus systemd + ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout -U -H component-systemd --union rootfs + echo 'some rootfs data' + ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit -b rootfs --link-checkout-speedup --tree=dir=rootfs 29d8ea6a1ffc1a36432342b1b26d27fefa3f32051637f2d3d0d63e8fad0d2bb9 + ostree --repo=/var/tmp/tap-test.ExFlVz/repo ls rootfs /usr/bin/systemd + assert_file_has_content ls.txt '^-007.. 0 0 .*/usr/bin/systemd' + fpath=ls.txt + shift + for re in "$@" + grep -q -e '^-007.. 0 0 .*/usr/bin/systemd' ls.txt + ostree --repo=/var/tmp/tap-test.ExFlVz/repo ls rootfs /usr/lib/dbus-daemon-helper + assert_file_has_content ls.txt '^-007.. 0 81 .*/usr/lib/dbus-daemon-helper' + fpath=ls.txt + shift + for re in "$@" + grep -q -e '^-007.. 0 81 .*/usr/lib/dbus-daemon-helper' ls.txt + echo 'ok bare-user link-checkout-speedup maintains uids' + cd /var/tmp/tap-test.ExFlVz cb9986068cfdbf50db072feca34316388626276429d2956b98316527258b0121 + rm -rf test2-checkout + ostree --repo=/var/tmp/tap-test.ExFlVz/repo checkout -H -U test2 test2-checkout ++ id -u + myuid=1000710000 ++ id -g + mygid=0 + newuid=1000710001 + newgid=1 + ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit --owner-uid 1000710001 --owner-gid 1 --link-checkout-speedup -b test2-linkcheckout-test --tree=dir=test2-checkout ok bare-user link-checkout-speedup maintains uids PASS: tests/test-basic-user.sh 95 bare-user link-checkout-speedup maintains uids + ostree --repo=/var/tmp/tap-test.ExFlVz/repo ls test2-linkcheckout-test /baz/cow + assert_file_has_content ls.txt '^-006.. 1000710001 1 .*/baz/cow' + fpath=ls.txt + shift + for re in "$@" + grep -q -e '^-006.. 1000710001 1 .*/baz/cow' ls.txt + ostree --repo=/var/tmp/tap-test.ExFlVz/repo commit --owner-uid 1000710001 --owner-gid 1 -I -b test2-devino-test --table-output --tree=dir=test2-checkout + ostree --repo=/var/tmp/tap-test.ExFlVz/repo ls test2-devino-test /baz/cow + assert_file_has_content ls.txt '^-006.. 1000710000 0 .*/baz/cow' + fpath=ls.txt + shift + for re in "$@" + grep -q -e '^-006.. 1000710000 0 .*/baz/cow' ls.txt + assert_file_has_content out.txt 'Content Cache Hits: [1-9][0-9]*' + fpath=out.txt + shift + for re in "$@" + grep -q -e 'Content Cache Hits: [1-9][0-9]*' out.txt + ostree --repo=/var/tmp/tap-test.ExFlVz/repo refs --delete test2-linkcheckout-test test2-devino-test + echo 'ok commit with -I' + run_exit_cmds + for expr in "${libtest_exit_cmds[@]}" + eval save_core 7401200cd5124c1a2ab619a67e64e396cc31ac376606d9fddcbd66276cc8cdc2 ++ save_core ++ '[' -e core ']' + for expr in "${libtest_exit_cmds[@]}" + eval libtest_cleanup_gpg ++ libtest_cleanup_gpg ++ local gpg_homedir=/var/tmp/tap-test.ExFlVz/gpghome ++ gpg-connect-agent --homedir /var/tmp/tap-test.ExFlVz/gpghome killagent /bye gpg-connect-agent: no running gpg-agent - starting '/usr/bin/gpg-agent' gpg-connect-agent: waiting for the agent to come up ... (5s) gpg-connect-agent: connection to the agent established ok commit with -I PASS: tests/test-basic-user.sh 96 commit with -I OK closing connection PASS: tests/test-basic-user-only.sh =================================== Copying gpghome to /var/tmp/tap-test.BWaNWW checking for xattrs.../usr/bin/setfattr # setfattr: testlabel.txt: Operation not supported /var/tmp/tap-test.BWaNWW /var/tmp/tap-test.BWaNWW Found SELinux label, but unable to set (Unprivileged Docker?) /var/tmp/tap-test.BWaNWW mknod: /var/tmp/tap-test.BWaNWW/.test-whiteout: Operation not permitted done ++ BUILT_WITH_ASAN= ++ test -n '' ++ CMD_PREFIX= ++ test -n '' ++ test -z '' ++ OSTREE_HTTPD=/home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ++ '[' -x /home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ']' ++ _have_user_xattrs= ++ _have_systemd_and_libmount= ++ _have_strace_fault_injection= ++ libtest_exit_cmds+=(libtest_cleanup_gpg) ++ ED25519PUBLIC= ++ ED25519SEED= ++ ED25519SECRET= + mode=bare-user-only + setup_test_repository bare-user-only + mode=bare-user-only + shift ++ pwd + oldpwd=/var/tmp/tap-test.BWaNWW + COMMIT_ARGS= + '[' bare-user-only == bare-user-only ']' + COMMIT_ARGS='--owner-uid=0 --owner-gid=0 --no-xattrs --canonical-permissions' + cd /var/tmp/tap-test.BWaNWW + rm -rf repo + test -n bare-user-only + ostree_repo_init repo --mode=bare-user-only + repo=repo + shift + ostree --repo=repo init --mode=bare-user-only + test -n 1 + echo -e 'disable-xattrs=true\n' ++ pwd + ot_repo=--repo=/var/tmp/tap-test.BWaNWW/repo + export 'OSTREE= ostree --repo=/var/tmp/tap-test.BWaNWW/repo' + OSTREE=' ostree --repo=/var/tmp/tap-test.BWaNWW/repo' + cd /var/tmp/tap-test.BWaNWW ++ umask + local oldumask=0022 + umask 022 + rm -rf files + mkdir files + cd files ++ pwd + ot_files=/var/tmp/tap-test.BWaNWW/files + export ht_files + ln -s nosuchfile somelink + echo first + cd /var/tmp/tap-test.BWaNWW/files + ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit --owner-uid=0 --owner-gid=0 --no-xattrs --canonical-permissions -b test2 -s 'Test Commit 1' -m 'Commit body first' checking for overlayfs whiteouts...done + mkdir baz + echo moo + echo mooro + chmod 600 baz/cowro + echo alien + mkdir baz/deeper + echo hi + echo hix + chmod 755 baz/deeper/ohyeahx + ln -s nonexistent baz/alink + mkdir baz/another/ + echo x + test -n 1 + umask 0022 + cd /var/tmp/tap-test.BWaNWW/files + ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit --owner-uid=0 --owner-gid=0 --no-xattrs --canonical-permissions -b test2 -s 'Test Commit 2' -m 'Commit body second' f55813f6773cf4d29bdc48366bbf58e4380533bcdda6b0370db8a9106389e271 + ostree --repo=/var/tmp/tap-test.BWaNWW/repo fsck -q bdd66bffdaa537f8f1745f69bd9673d0b3b7d6f50a1ae9aeff302053e605a9fc fsck objects (1/17) 5% fsck objects (17/17) 100% + cd /var/tmp/tap-test.BWaNWW + extra_basic_tests=7 ++ dirname /home/jenkins/agent/workspace/ostree_PR-3054/tests/test-basic-user-only.sh + . /home/jenkins/agent/workspace/ostree_PR-3054/tests/basic-test.sh ++ set -euo pipefail ++ echo 1..97 ++ CHECKOUT_U_ARG= ++ CHECKOUT_H_ARGS=-H ++ COMMIT_ARGS= ++ DIFF_ARGS= object fsck of 2 commits completed successfully - no errors found. ++ is_bare_user_only_repo repo ++ grep -q mode=bare-user-only repo/config ++ DIFF_ARGS='--owner-uid=0 --owner-gid=0' ++ CHECKOUT_U_ARG=-U ++ CHECKOUT_H_ARGS='-U -H' ++ assert_not_has_dir repo/uncompressed-objects-cache ++ test -d repo/uncompressed-objects-cache ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout test2 checkout-test2 ++ validate_checkout_basic checkout-test2 ++ cd checkout-test2 ++ assert_has_file firstfile ++ test -f firstfile ++ assert_has_file baz/cow ++ test -f baz/cow ++ assert_file_has_content baz/cow moo ++ fpath=baz/cow ++ shift ++ for re in "$@" ++ grep -q -e moo baz/cow ++ assert_has_file baz/deeper/ohyeah ++ test -f baz/deeper/ohyeah ++ assert_symlink_has_content somelink nosuchfile ++ test -L somelink ++ readlink somelink ++ grep -q -e nosuchfile ++ grep -q 'mode=bare$' repo/config ++ echo 'ok checkout' ++ rm checkout-test2 -rf 1..97 ++ grep -q bare-user repo/config ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout -U -H test2 checkout-test2 ++ validate_checkout_basic checkout-test2 ++ cd checkout-test2 ++ assert_has_file firstfile ++ test -f firstfile ++ assert_has_file baz/cow ++ test -f baz/cow ++ assert_file_has_content baz/cow moo ++ fpath=baz/cow ++ shift ++ for re in "$@" ++ grep -q -e moo baz/cow ++ assert_has_file baz/deeper/ohyeah ++ test -f baz/deeper/ohyeah ++ assert_symlink_has_content somelink nosuchfile ++ test -L somelink ++ readlink somelink ++ grep -q -e nosuchfile ++ rm checkout-test2 -rf ++ is_bare_user_only_repo repo ++ grep -q mode=bare-user-only repo/config ++ echo 'ok checkout -H' ++ rm checkout-test2 -rf ok checkout PASS: tests/test-basic-user-only.sh 1 checkout ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout -C test2 checkout-test2 ++ for file in firstfile baz/cow baz/alink +++ stat -c %h checkout-test2/firstfile ++ assert_streq 1 1 ++ test 1 = 1 ++ for file in firstfile baz/cow baz/alink +++ stat -c %h checkout-test2/baz/cow ++ assert_streq 1 1 ++ test 1 = 1 ++ for file in firstfile baz/cow baz/alink +++ stat -c %h checkout-test2/baz/alink ++ assert_streq 1 1 ++ test 1 = 1 ++ echo 'ok checkout -C' ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo rev-parse test2 ok checkout -H PASS: tests/test-basic-user-only.sh 2 checkout -H ok checkout -C PASS: tests/test-basic-user-only.sh 3 checkout -C ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo rev-parse 'test2^' bdd66bffdaa537f8f1745f69bd9673d0b3b7d6f50a1ae9aeff302053e605a9fc ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo rev-parse 'test2^^' ++ echo 'ok rev-parse' ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo rev-parse -S f55813f6773cf4d29bdc48366bbf58e4380533bcdda6b0370db8a9106389e271 ++ assert_file_has_content_literal err.txt 'Multiple commit objects found' ++ fpath=err.txt ++ shift ++ for s in "$@" ++ grep -q -F -e 'Multiple commit objects found' err.txt ++ ostree --repo=repo-copy init --mode=archive ++ ostree --repo=repo-copy rev-parse -S ++ assert_file_has_content_literal err.txt 'No commit objects found' ++ fpath=err.txt ++ shift ++ for s in "$@" ++ grep -q -F -e 'No commit objects found' err.txt +++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo rev-parse test2 ++ rev=bdd66bffdaa537f8f1745f69bd9673d0b3b7d6f50a1ae9aeff302053e605a9fc ++ ostree --repo=repo-copy pull-local repo test2 ok rev-parse PASS: tests/test-basic-user-only.sh 4 rev-parse +++ ostree --repo=repo-copy rev-parse -S ++ rev2=bdd66bffdaa537f8f1745f69bd9673d0b3b7d6f50a1ae9aeff302053e605a9fc ++ assert_streq bdd66bffdaa537f8f1745f69bd9673d0b3b7d6f50a1ae9aeff302053e605a9fc bdd66bffdaa537f8f1745f69bd9673d0b3b7d6f50a1ae9aeff302053e605a9fc ++ test bdd66bffdaa537f8f1745f69bd9673d0b3b7d6f50a1ae9aeff302053e605a9fc = bdd66bffdaa537f8f1745f69bd9673d0b3b7d6f50a1ae9aeff302053e605a9fc ++ echo 'ok rev-parse -S' 6 metadata, 9 content objects imported; 31 bytes content written +++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo rev-parse test2 ++ checksum=bdd66bffdaa537f8f1745f69bd9673d0b3b7d6f50a1ae9aeff302053e605a9fc ++ partial=bdd66b ++ echo partial: bdd66b ++ echo 'corresponds to:' bdd66bffdaa537f8f1745f69bd9673d0b3b7d6f50a1ae9aeff302053e605a9fc ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo rev-parse test2 ok rev-parse -S PASS: tests/test-basic-user-only.sh 5 rev-parse -S partial: bdd66b ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo rev-parse bdd66b +++ cat partial-results ++ assert_file_has_content checksum bdd66bffdaa537f8f1745f69bd9673d0b3b7d6f50a1ae9aeff302053e605a9fc ++ fpath=checksum ++ shift ++ for re in "$@" ++ grep -q -e bdd66bffdaa537f8f1745f69bd9673d0b3b7d6f50a1ae9aeff302053e605a9fc checksum ++ echo 'ok shortened checksum' corresponds to: bdd66bffdaa537f8f1745f69bd9673d0b3b7d6f50a1ae9aeff302053e605a9fc ++ cd repo ++ ostree rev-parse test2 ok shortened checksum PASS: tests/test-basic-user-only.sh 6 shortened checksum ++ echo 'ok repo-in-cwd' bdd66bffdaa537f8f1745f69bd9673d0b3b7d6f50a1ae9aeff302053e605a9fc ++ skip_one_without_user_xattrs ++ have_user_xattrs ++ assert_has_setfattr ++ which setfattr ok repo-in-cwd ++ test '' = '' ++ touch test-xattrs PASS: tests/test-basic-user-only.sh 7 repo-in-cwd ++ setfattr -n user.testvalue -v somevalue test-xattrs ++ _have_user_xattrs=yes ++ rm -f test-xattrs ++ test yes = yes ++ return 1 ++ rm test-repo -rf ++ ostree_repo_init test-repo --mode=bare-user ++ repo=test-repo ++ shift ++ ostree --repo=test-repo init --mode=bare-user ++ test -n 1 ++ echo -e 'disable-xattrs=true\n' ++ ostree_repo_init test-repo --mode=bare-user ++ repo=test-repo ++ shift ++ ostree --repo=test-repo init --mode=bare-user ++ test -n 1 ++ echo -e 'disable-xattrs=true\n' ++ rm test-repo -rf ++ echo 'ok repo-init on existing repo' /usr/bin/setfattr ++ skip_one_without_user_xattrs ++ have_user_xattrs ++ assert_has_setfattr ++ which setfattr ok repo-init on existing repo PASS: tests/test-basic-user-only.sh 8 repo-init on existing repo ++ test yes = '' ++ test yes = yes ++ return 1 ++ rm test-repo -rf ++ ostree_repo_init test-repo --mode=bare-user ++ repo=test-repo ++ shift ++ ostree --repo=test-repo init --mode=bare-user ++ test -n 1 ++ echo -e 'disable-xattrs=true\n' ++ ostree --repo=test-repo refs ++ rm -rf test-repo/tmp ++ ostree --repo=test-repo refs ++ assert_has_dir test-repo/tmp ++ test -d test-repo/tmp ++ echo 'ok autocreate tmp' ++ rm checkout-test2 -rf /usr/bin/setfattr ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout test2 checkout-test2 ++ cd checkout-test2 ++ rm firstfile ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test2 -s delete ok autocreate tmp PASS: tests/test-basic-user-only.sh 9 autocreate tmp ++ cd /var/tmp/tap-test.BWaNWW ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout test2 /var/tmp/tap-test.BWaNWW/checkout-test2-2 ++ cd /var/tmp/tap-test.BWaNWW/checkout-test2-2 ++ assert_not_has_file firstfile ++ test -f firstfile ++ assert_has_file baz/saucer ++ test -f baz/saucer ++ echo 'ok removal' ++ mkdir -p a/nested/tree a43b128da5bb781d2a0bc45706bb72b12d64fc5806f0194f6007dd7847098e48 ++ echo one ++ echo two2 ++ echo 3 ++ touch a/4 ++ echo fivebaby ++ touch a/6 ++ echo whee ++ mkdir -p another/nested/tree ++ echo anotherone ++ echo whee2 ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test2 -s 'Another commit' ok removal PASS: tests/test-basic-user-only.sh 10 removal ++ echo 'ok commit' ++ cd /var/tmp/tap-test.BWaNWW fb5a26f22e3a4a36bb45f3dd99a519fc192375aff4e7b262dfca7b8d53a36ecd ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout test2 /var/tmp/tap-test.BWaNWW/checkout-test2-3 ++ cd checkout-test2-3 ++ assert_has_file a/nested/2 ++ test -f a/nested/2 ++ assert_file_has_content a/nested/2 two2 ++ fpath=a/nested/2 ++ shift ++ for re in "$@" ++ grep -q -e two2 a/nested/2 ++ echo 'ok stdin contents' ++ cd /var/tmp/tap-test.BWaNWW/checkout-test2-3 ok commit PASS: tests/test-basic-user-only.sh 11 commit ++ echo 4 ++ mkdir -p yet/another/tree ++ echo leaf ++ echo helloworld ++ rm a/5 ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test2 -s 'Current directory' ok stdin contents PASS: tests/test-basic-user-only.sh 12 stdin contents ++ echo 'ok cwd commit' ++ cd /var/tmp/tap-test.BWaNWW 1f51c1ba943eb26234386aacbb30c3d331c102c1bab72f90d0ba982080a6a489 ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout test2 /var/tmp/tap-test.BWaNWW/checkout-test2-4 ++ cd checkout-test2-4 ++ assert_file_has_content yet/another/tree/green leaf ++ fpath=yet/another/tree/green ++ shift ++ for re in "$@" ++ grep -q -e leaf yet/another/tree/green ++ assert_file_has_content four 4 ++ fpath=four ++ shift ++ for re in "$@" ++ grep -q -e 4 four ++ echo 'ok cwd contents' ++ cd /var/tmp/tap-test.BWaNWW ok cwd commit PASS: tests/test-basic-user-only.sh 13 cwd commit ++ rm checkout-test2-l -rf ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout -U -H test2 /var/tmp/tap-test.BWaNWW/checkout-test2-l ++ date ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit --link-checkout-speedup --consume -b test2 --tree=dir=/var/tmp/tap-test.BWaNWW/checkout-test2-l ok cwd contents PASS: tests/test-basic-user-only.sh 14 cwd contents ++ assert_not_has_dir /var/tmp/tap-test.BWaNWW/checkout-test2-l ++ test -d /var/tmp/tap-test.BWaNWW/checkout-test2-l ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo fsck ba278054d52fc1a63bf431080500294cc242b442aff72794249556e4c40203e3 Validating refs... Validating refs in collections... Enumerating commits... Verifying content integrity of 6 commit objects... fsck objects (1/47) 2% fsck objects (47/47) 100% ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo reset test2 'test2^' ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo prune --refs-only object fsck of 6 commits completed successfully - no errors found. Total objects: 47 ++ echo 'ok consume (nom nom nom)' ++ cd /var/tmp/tap-test.BWaNWW Deleted 3 objects, 639 bytes freed ++ rm checkout-test2-l -rf ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout -U -H test2 /var/tmp/tap-test.BWaNWW/checkout-test2-l ++ echo 'a file to consume 🍔' ++ ln /var/tmp/tap-test.BWaNWW/checkout-test2-l/eatme.txt /var/tmp/tap-test.BWaNWW/eatme-savedlink.txt ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit --link-checkout-speedup --consume -b test2 --tree=dir=/var/tmp/tap-test.BWaNWW/checkout-test2-l ok consume (nom nom nom) PASS: tests/test-basic-user-only.sh 15 consume (nom nom nom) ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo fsck 4d6ca0f6d20befd16bf909bed4e15f84d2eb25923c4a421a8dc3dad60986f7ad Validating refs... Validating refs in collections... Enumerating commits... Verifying content integrity of 6 commit objects... fsck objects (1/47) 2% fsck objects (47/47) 100% +++ ostree_file_path_to_object_path repo test2 /eatme.txt +++ repo=repo +++ ref=test2 +++ path=/eatme.txt ++++ ostree_file_path_to_relative_object_path repo test2 /eatme.txt ++++ repo=repo ++++ ref=test2 ++++ path=/eatme.txt +++++ ostree_file_path_to_checksum repo test2 /eatme.txt +++++ repo=repo +++++ ref=test2 +++++ path=/eatme.txt +++++ ostree --repo=repo ls -C test2 /eatme.txt +++++ awk '{ print $5 }' ++++ checksum=d3de42143b4fc396adeab2b6fd4404861284f88792e0417d86e3a29419f009f6 ++++ test -n d3de42143b4fc396adeab2b6fd4404861284f88792e0417d86e3a29419f009f6 ++++ ostree_checksum_to_relative_object_path repo d3de42143b4fc396adeab2b6fd4404861284f88792e0417d86e3a29419f009f6 ++++ repo=repo ++++ checksum=d3de42143b4fc396adeab2b6fd4404861284f88792e0417d86e3a29419f009f6 ++++ grep -Eq -e '^mode=archive' repo/config ++++ suffix= ++++ echo objects/d3/de42143b4fc396adeab2b6fd4404861284f88792e0417d86e3a29419f009f6.file +++ relpath=objects/d3/de42143b4fc396adeab2b6fd4404861284f88792e0417d86e3a29419f009f6.file +++ echo repo/objects/d3/de42143b4fc396adeab2b6fd4404861284f88792e0417d86e3a29419f009f6.file ++ eatme_objpath=repo/objects/d3/de42143b4fc396adeab2b6fd4404861284f88792e0417d86e3a29419f009f6.file ++ grep -q '^mode=bare$' repo/config ++ is_bare_user_only_repo repo ++ grep -q mode=bare-user-only repo/config ++ assert_files_hardlinked /var/tmp/tap-test.BWaNWW/eatme-savedlink.txt repo/objects/d3/de42143b4fc396adeab2b6fd4404861284f88792e0417d86e3a29419f009f6.file ++ files_are_hardlinked /var/tmp/tap-test.BWaNWW/eatme-savedlink.txt repo/objects/d3/de42143b4fc396adeab2b6fd4404861284f88792e0417d86e3a29419f009f6.file +++ stat -c %i /var/tmp/tap-test.BWaNWW/eatme-savedlink.txt ++ inode1=316723582 +++ stat -c %i repo/objects/d3/de42143b4fc396adeab2b6fd4404861284f88792e0417d86e3a29419f009f6.file ++ inode2=316723582 ++ test -n 316723582 ++ test -n 316723582 ++ '[' 316723582 == 316723582 ']' ++ assert_not_has_dir /var/tmp/tap-test.BWaNWW/checkout-test2-l ++ test -d /var/tmp/tap-test.BWaNWW/checkout-test2-l ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo reset test2 'test2^' ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo prune --refs-only object fsck of 6 commits completed successfully - no errors found. Total objects: 47 ++ rm -f /var/tmp/tap-test.BWaNWW/eatme-savedlink.txt ++ echo 'ok adopt' ++ cd /var/tmp/tap-test.BWaNWW Deleted 3 objects, 627 bytes freed ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test2-no-parent -s '' /var/tmp/tap-test.BWaNWW/checkout-test2-4 ok adopt PASS: tests/test-basic-user-only.sh 16 adopt +++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo log test2-no-parent +++ grep '^commit' +++ wc -l ++ assert_streq 1 1 ++ test 1 = 1 ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test2-no-parent -s '' --parent=none /var/tmp/tap-test.BWaNWW/checkout-test2-4 b161088f0a09bef3a7bf9e730ee95e135a6edc31324abf8b4461f470262f7488 +++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo log test2-no-parent +++ grep '^commit' +++ wc -l ++ assert_streq 1 1 ++ test 1 = 1 ++ echo 'ok commit no parent' ++ cd /var/tmp/tap-test.BWaNWW 53edfdf4931aff76076a375a5136790693c7ee1c02152c884017b25854d703bc ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test-bootable --bootable /var/tmp/tap-test.BWaNWW/checkout-test2-4 ++ assert_file_has_content err.txt 'error: .*No such file or directory' ++ fpath=err.txt ++ shift ++ for re in "$@" ++ grep -q -e 'error: .*No such file or directory' err.txt ++ echo 'ok commit fails bootable if no kernel' ++ cd /var/tmp/tap-test.BWaNWW ok commit no parent PASS: tests/test-basic-user-only.sh 17 commit no parent +++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test2-no-subject --bind-ref=test2-no-subject-2 -s '' '--timestamp=2005-10-29 12:43:29 +0000' /var/tmp/tap-test.BWaNWW/checkout-test2-4 ++ empty_rev=51bf039100914df938b5148fd9fbc6721e8388d7752fab8228abeda9ea50d854 +++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test2-no-subject-2 --bind-ref=test2-no-subject '--timestamp=2005-10-29 12:43:29 +0000' /var/tmp/tap-test.BWaNWW/checkout-test2-4 ++ omitted_rev=51bf039100914df938b5148fd9fbc6721e8388d7752fab8228abeda9ea50d854 ++ assert_streq 51bf039100914df938b5148fd9fbc6721e8388d7752fab8228abeda9ea50d854 51bf039100914df938b5148fd9fbc6721e8388d7752fab8228abeda9ea50d854 ++ test 51bf039100914df938b5148fd9fbc6721e8388d7752fab8228abeda9ea50d854 = 51bf039100914df938b5148fd9fbc6721e8388d7752fab8228abeda9ea50d854 ++ echo 'ok commit no subject' ++ cd /var/tmp/tap-test.BWaNWW ++ cat ok commit fails bootable if no kernel PASS: tests/test-basic-user-only.sh 18 commit fails bootable if no kernel ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b branch-with-commitmsg -F commitmsg.txt -s 'a message' /var/tmp/tap-test.BWaNWW/checkout-test2-4 ok commit no subject PASS: tests/test-basic-user-only.sh 19 commit no subject ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo log branch-with-commitmsg ++ assert_file_has_content log.txt '^ *This is a long$' ++ fpath=log.txt ++ shift ++ for re in "$@" ++ grep -q -e '^ *This is a long$' log.txt ++ assert_file_has_content log.txt '^ *Build-Host:.*example\.com$' ++ fpath=log.txt ++ shift ++ for re in "$@" ++ grep -q -e '^ *Build-Host:.*example\.com$' log.txt ++ assert_file_has_content log.txt '^ *Crunchy-With.*true$' ++ fpath=log.txt ++ shift ++ for re in "$@" ++ grep -q -e '^ *Crunchy-With.*true$' log.txt ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo refs --delete branch-with-commitmsg ++ echo 'ok commit body file' ++ cd /var/tmp/tap-test.BWaNWW f660a8fb56cf375a02cb5203440f3ab330bab19c924cd8bb67258bf0d2e6122f ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test2-custom-parent -s '' /var/tmp/tap-test.BWaNWW/checkout-test2-4 ok commit body file PASS: tests/test-basic-user-only.sh 20 commit body file ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test2-custom-parent -s '' /var/tmp/tap-test.BWaNWW/checkout-test2-4 837254b1164c3b7b97188c923658048181485d668dff6945970befbd70c0dac4 ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test2-custom-parent -s '' /var/tmp/tap-test.BWaNWW/checkout-test2-4 b88f870fd76058fb713dab119b6831f2cc78c6614f4af93aceeb3c6cf3b0392a +++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo log test2-custom-parent +++ grep '^commit' +++ wc -l ++ assert_streq 3 3 ++ test 3 = 3 +++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo rev-parse 'test2-custom-parent^' ++ prevparent=b88f870fd76058fb713dab119b6831f2cc78c6614f4af93aceeb3c6cf3b0392a ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test2-custom-parent -s '' --parent=b88f870fd76058fb713dab119b6831f2cc78c6614f4af93aceeb3c6cf3b0392a /var/tmp/tap-test.BWaNWW/checkout-test2-4 c22f8dd6ed6140ac87e0fb00985b184eee0a3c8ae8532b8e146ee139d0c05a3e +++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo log test2-custom-parent +++ grep '^commit' +++ wc -l ++ assert_streq 3 3 ++ test 3 = 3 ++ echo 'ok commit custom parent' ++ cd /var/tmp/tap-test.BWaNWW c22f8dd6ed6140ac87e0fb00985b184eee0a3c8ae8532b8e146ee139d0c05a3e ++++ date +++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit --orphan -s 'Wed Sep 20 19:21:01 UTC 2023' /var/tmp/tap-test.BWaNWW/checkout-test2-4 ++ orphaned_rev=626d49a0791e3b2dbf881f21642ec63951fe5bc24f58c9bcbfa56c24ca5dbb32 ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo ls 626d49a0791e3b2dbf881f21642ec63951fe5bc24f58c9bcbfa56c24ca5dbb32 ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo prune --refs-only ok commit custom parent PASS: tests/test-basic-user-only.sh 21 commit custom parent Total objects: 52 ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo ls 626d49a0791e3b2dbf881f21642ec63951fe5bc24f58c9bcbfa56c24ca5dbb32 ++ assert_file_has_content err.txt 'No such metadata object' ++ fpath=err.txt ++ shift ++ for re in "$@" ++ grep -q -e 'No such metadata object' err.txt ++ echo 'ok commit orphaned' ++ cd /var/tmp/tap-test.BWaNWW Deleted 3 objects, 506 bytes freed ++ is_bare_user_only_repo repo ++ grep -q mode=bare-user-only repo/config ++ echo 'ok # SKIP checksums won'\''t match up in bare-user-only' ok commit orphaned ++ cd /var/tmp/tap-test.BWaNWW ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo diff 'test2^' test2 PASS: tests/test-basic-user-only.sh 22 commit orphaned ++ assert_file_has_content diff-test2 'D */a/5' ++ fpath=diff-test2 ++ shift ++ for re in "$@" ++ grep -q -e 'D */a/5' diff-test2 ++ assert_file_has_content diff-test2 'A */yet$' ++ fpath=diff-test2 ++ shift ++ for re in "$@" ++ grep -q -e 'A */yet$' diff-test2 ++ assert_file_has_content diff-test2 'A */yet/message$' ++ fpath=diff-test2 ++ shift ++ for re in "$@" ++ grep -q -e 'A */yet/message$' diff-test2 ++ assert_file_has_content diff-test2 'A */yet/another/tree/green$' ++ fpath=diff-test2 ++ shift ++ for re in "$@" ++ grep -q -e 'A */yet/another/tree/green$' diff-test2 ++ echo 'ok diff revisions' ++ cd /var/tmp/tap-test.BWaNWW/checkout-test2-4 ok # SKIP checksums won't match up in bare-user-only ++ echo afile ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo diff --owner-uid=0 --owner-gid=0 test2 ./ SKIP: tests/test-basic-user-only.sh 23 # SKIP checksums won't match up in bare-user-only ++ rm oh-look-a-file ++ cd /var/tmp/tap-test.BWaNWW ++ assert_file_has_content diff-test2-2 'A *oh-look-a-file$' ++ fpath=diff-test2-2 ++ shift ++ for re in "$@" ++ grep -q -e 'A *oh-look-a-file$' diff-test2-2 ++ echo 'ok diff cwd' ++ cd /var/tmp/tap-test.BWaNWW/checkout-test2-4 ok diff revisions PASS: tests/test-basic-user-only.sh 24 diff revisions ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo diff --owner-uid=0 --owner-gid=0 test2 ./ ++ assert_file_empty /var/tmp/tap-test.BWaNWW/diff-test2 ++ test -s /var/tmp/tap-test.BWaNWW/diff-test2 +++ id -u ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo diff --owner-uid=0 --owner-gid=0 test2 --owner-uid=1000710001 ./ ++ assert_file_has_content /var/tmp/tap-test.BWaNWW/diff-test2 'M */yet$' ++ fpath=/var/tmp/tap-test.BWaNWW/diff-test2 ++ shift ++ for re in "$@" ++ grep -q -e 'M */yet$' /var/tmp/tap-test.BWaNWW/diff-test2 ++ assert_file_has_content /var/tmp/tap-test.BWaNWW/diff-test2 'M */yet/message$' ++ fpath=/var/tmp/tap-test.BWaNWW/diff-test2 ++ shift ++ for re in "$@" ++ grep -q -e 'M */yet/message$' /var/tmp/tap-test.BWaNWW/diff-test2 ++ assert_file_has_content /var/tmp/tap-test.BWaNWW/diff-test2 'M */yet/another/tree/green$' ++ fpath=/var/tmp/tap-test.BWaNWW/diff-test2 ++ shift ++ for re in "$@" ++ grep -q -e 'M */yet/another/tree/green$' /var/tmp/tap-test.BWaNWW/diff-test2 ++ echo 'ok diff file with different uid' ok diff cwd PASS: tests/test-basic-user-only.sh 25 diff cwd +++ id -g ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo diff --owner-uid=0 --owner-gid=0 test2 --owner-gid=1 ./ ++ assert_file_has_content /var/tmp/tap-test.BWaNWW/diff-test2 'M */yet$' ++ fpath=/var/tmp/tap-test.BWaNWW/diff-test2 ++ shift ++ for re in "$@" ++ grep -q -e 'M */yet$' /var/tmp/tap-test.BWaNWW/diff-test2 ++ assert_file_has_content /var/tmp/tap-test.BWaNWW/diff-test2 'M */yet/message$' ++ fpath=/var/tmp/tap-test.BWaNWW/diff-test2 ++ shift ++ for re in "$@" ++ grep -q -e 'M */yet/message$' /var/tmp/tap-test.BWaNWW/diff-test2 ++ assert_file_has_content /var/tmp/tap-test.BWaNWW/diff-test2 'M */yet/another/tree/green$' ++ fpath=/var/tmp/tap-test.BWaNWW/diff-test2 ++ shift ++ for re in "$@" ++ grep -q -e 'M */yet/another/tree/green$' /var/tmp/tap-test.BWaNWW/diff-test2 ++ echo 'ok diff file with different gid' ++ cd /var/tmp/tap-test.BWaNWW/checkout-test2-4 ++ rm four ok diff file with different uid PASS: tests/test-basic-user-only.sh 26 diff file with different uid ++ mkdir four ++ touch four/other ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo diff test2 ./ ++ cd /var/tmp/tap-test.BWaNWW ++ assert_file_has_content diff-test2-2 'M */four$' ++ fpath=diff-test2-2 ++ shift ++ for re in "$@" ++ grep -q -e 'M */four$' diff-test2-2 ++ echo 'ok diff file changing type' ok diff file with different gid PASS: tests/test-basic-user-only.sh 27 diff file with different gid ++ skip_one_without_user_xattrs ++ have_user_xattrs ++ assert_has_setfattr ++ which setfattr ok diff file changing type PASS: tests/test-basic-user-only.sh 28 diff file changing type ++ test yes = '' ++ test yes = yes ++ return 1 ++ cd /var/tmp/tap-test.BWaNWW ++ mkdir repo2 ++ grep -q mode=archive repo/config ++ is_bare_user_only_repo repo ++ grep -q mode=bare-user-only repo/config ++ opposite_mode=bare-user ++ ostree_repo_init repo2 --mode=bare-user ++ repo=repo2 ++ shift ++ ostree --repo=repo2 init --mode=bare-user ++ test -n 1 ++ echo -e 'disable-xattrs=true\n' ++ ostree --repo=repo2 pull-local repo ++ assert_file_has_content out.txt '[1-9][0-9]* metadata, [1-9][0-9]* content objects imported' ++ fpath=out.txt ++ shift ++ for re in "$@" ++ grep -q -e '[1-9][0-9]* metadata, [1-9][0-9]* content objects imported' out.txt +++ ostree --repo=repo rev-parse test2 ++ test2_commitid=1f51c1ba943eb26234386aacbb30c3d331c102c1bab72f90d0ba982080a6a489 ++ test2_commit_relpath=/objects/1f/51c1ba943eb26234386aacbb30c3d331c102c1bab72f90d0ba982080a6a489.commit ++ assert_files_hardlinked repo//objects/1f/51c1ba943eb26234386aacbb30c3d331c102c1bab72f90d0ba982080a6a489.commit repo2//objects/1f/51c1ba943eb26234386aacbb30c3d331c102c1bab72f90d0ba982080a6a489.commit ++ files_are_hardlinked repo//objects/1f/51c1ba943eb26234386aacbb30c3d331c102c1bab72f90d0ba982080a6a489.commit repo2//objects/1f/51c1ba943eb26234386aacbb30c3d331c102c1bab72f90d0ba982080a6a489.commit +++ stat -c %i repo//objects/1f/51c1ba943eb26234386aacbb30c3d331c102c1bab72f90d0ba982080a6a489.commit ++ inode1=182490320 +++ stat -c %i repo2//objects/1f/51c1ba943eb26234386aacbb30c3d331c102c1bab72f90d0ba982080a6a489.commit ++ inode2=182490320 ++ test -n 182490320 ++ test -n 182490320 ++ '[' 182490320 == 182490320 ']' ++ echo 'ok pull-local (hardlinking metadata)' ++ skip_one_without_user_xattrs ++ have_user_xattrs /usr/bin/setfattr ++ assert_has_setfattr ++ which setfattr ok pull-local (hardlinking metadata) PASS: tests/test-basic-user-only.sh 29 pull-local (hardlinking metadata) ++ test yes = '' ++ test yes = yes ++ return 1 ++ cd /var/tmp/tap-test.BWaNWW ++ rm repo2 -rf ++ mkdir repo2 ++ ostree_repo_init repo2 --mode=bare-user ++ repo=repo2 ++ shift ++ ostree --repo=repo2 init --mode=bare-user ++ test -n 1 ++ echo -e 'disable-xattrs=true\n' ++ ostree --repo=repo2 pull-local --bareuseronly-files repo test2 /usr/bin/setfattr ++ ostree --repo=repo2 fsck -q 15 metadata, 18 content objects imported; 76 bytes content written fsck objects (1/33) 3% fsck objects (33/33) 100% ++ echo 'ok pull-local --bareuseronly-files' ++ rm repo2 -rf object fsck of 1 commits completed successfully - no errors found. ++ ostree_repo_init repo2 --mode=bare-user-only ++ repo=repo2 ++ shift ++ ostree --repo=repo2 init --mode=bare-user-only ++ test -n 1 ++ echo -e 'disable-xattrs=true\n' ++ ostree --repo=repo2 pull-local --untrusted repo test2 ok pull-local --bareuseronly-files PASS: tests/test-basic-user-only.sh 30 pull-local --bareuseronly-files +++ ostree_file_path_to_relative_object_path repo test2 baz/saucer +++ repo=repo +++ ref=test2 +++ path=baz/saucer ++++ ostree_file_path_to_checksum repo test2 baz/saucer ++++ repo=repo ++++ ref=test2 ++++ path=baz/saucer ++++ ostree --repo=repo ls -C test2 baz/saucer ++++ awk '{ print $5 }' +++ checksum=cd96f3f802dd20400b05aa7348b558fa33254c06aecaead04d48a9335cb9eca1 +++ test -n cd96f3f802dd20400b05aa7348b558fa33254c06aecaead04d48a9335cb9eca1 +++ ostree_checksum_to_relative_object_path repo cd96f3f802dd20400b05aa7348b558fa33254c06aecaead04d48a9335cb9eca1 +++ repo=repo +++ checksum=cd96f3f802dd20400b05aa7348b558fa33254c06aecaead04d48a9335cb9eca1 +++ grep -Eq -e '^mode=archive' repo/config +++ suffix= +++ echo objects/cd/96f3f802dd20400b05aa7348b558fa33254c06aecaead04d48a9335cb9eca1.file ++ target_file_object=objects/cd/96f3f802dd20400b05aa7348b558fa33254c06aecaead04d48a9335cb9eca1.file +++ ostree_file_path_to_checksum repo test2 baz/saucer +++ repo=repo +++ ref=test2 +++ path=baz/saucer +++ ostree --repo=repo ls -C test2 baz/saucer +++ awk '{ print $5 }' ++ target_file_checksum=cd96f3f802dd20400b05aa7348b558fa33254c06aecaead04d48a9335cb9eca1 ++ assert_files_hardlinked repo/objects/cd/96f3f802dd20400b05aa7348b558fa33254c06aecaead04d48a9335cb9eca1.file repo2/objects/cd/96f3f802dd20400b05aa7348b558fa33254c06aecaead04d48a9335cb9eca1.file ++ files_are_hardlinked repo/objects/cd/96f3f802dd20400b05aa7348b558fa33254c06aecaead04d48a9335cb9eca1.file repo2/objects/cd/96f3f802dd20400b05aa7348b558fa33254c06aecaead04d48a9335cb9eca1.file +++ stat -c %i repo/objects/cd/96f3f802dd20400b05aa7348b558fa33254c06aecaead04d48a9335cb9eca1.file ++ inode1=1036087646 +++ stat -c %i repo2/objects/cd/96f3f802dd20400b05aa7348b558fa33254c06aecaead04d48a9335cb9eca1.file ++ inode2=1036087646 ++ test -n 1036087646 ++ test -n 1036087646 ++ '[' 1036087646 == 1036087646 ']' ++ echo 'ok pull-local hardlinking, untrusted' ++ grep -q mode=bare repo/config 15 metadata, 18 content objects imported; 0 bytes content written ++ rm repo2 repo3 -rf ++ ostree_repo_init repo2 --mode=bare-user-only ++ repo=repo2 ++ shift ++ ostree --repo=repo2 init --mode=bare-user-only ++ test -n 1 ++ echo -e 'disable-xattrs=true\n' ++ ostree_repo_init repo3 --mode=bare-user-only ++ repo=repo3 ++ shift ++ ostree --repo=repo3 init --mode=bare-user-only ++ test -n 1 ++ echo -e 'disable-xattrs=true\n' ++ ostree --repo=repo3 pull-local repo test2 ok pull-local hardlinking, untrusted PASS: tests/test-basic-user-only.sh 31 pull-local hardlinking, untrusted ++ cp -a --reflink=auto repo3/objects/cd/96f3f802dd20400b05aa7348b558fa33254c06aecaead04d48a9335cb9eca1.file repo3/objects/cd/96f3f802dd20400b05aa7348b558fa33254c06aecaead04d48a9335cb9eca1.file.tmp ++ mv repo3/objects/cd/96f3f802dd20400b05aa7348b558fa33254c06aecaead04d48a9335cb9eca1.file.tmp repo3/objects/cd/96f3f802dd20400b05aa7348b558fa33254c06aecaead04d48a9335cb9eca1.file ++ echo blah ++ ostree --repo=repo2 pull-local --untrusted repo3 ++ assert_file_has_content err.txt 'Corrupted.*cd96f3f802dd20400b05aa7348b558fa33254c06aecaead04d48a9335cb9eca1' ++ fpath=err.txt ++ shift ++ for re in "$@" ++ grep -q -e 'Corrupted.*cd96f3f802dd20400b05aa7348b558fa33254c06aecaead04d48a9335cb9eca1' err.txt ++ rm -f err.txt ++ ostree --repo=repo2 pull-local repo3 15 metadata, 18 content objects imported; 0 bytes content written ++ ostree --repo=repo2 fsck 8 metadata, 9 content objects imported; 0 bytes content written Validating refs... Validating refs in collections... Enumerating commits... Verifying content integrity of 1 commit objects... ++ assert_file_has_content err.txt 'Corrupted.*cd96f3f802dd20400b05aa7348b558fa33254c06aecaead04d48a9335cb9eca1' ++ fpath=err.txt ++ shift ++ for re in "$@" ++ grep -q -e 'Corrupted.*cd96f3f802dd20400b05aa7348b558fa33254c06aecaead04d48a9335cb9eca1' err.txt ++ echo 'ok pull-local --untrusted corruption' ++ rm repo2 repo3 -rf fsck objects (1/33) 3% ++ cd /var/tmp/tap-test.BWaNWW ++ rm repo-input -rf ++ ostree_repo_init repo-input init --mode=archive ++ repo=repo-input ++ shift ++ ostree --repo=repo-input init init --mode=archive ++ test -n 1 ++ echo -e 'disable-xattrs=true\n' ++ cd /var/tmp/tap-test.BWaNWW ++ cat ++ mkdir -p files/ ++ echo 'a setuid file' ++ chmod 0644 files/some-setuid ++ ostree --repo=repo-input commit -b content-with-suid --statoverride=statoverride.txt --tree=dir=files ok pull-local --untrusted corruption PASS: tests/test-basic-user-only.sh 32 pull-local --untrusted corruption ++ ostree pull-local --repo=repo --bareuseronly-files repo-input content-with-suid ++ assert_file_has_content err.txt 'Content object.*: invalid mode.*with bits 040.*' ++ fpath=err.txt ++ shift ++ for re in "$@" ++ grep -q -e 'Content object.*: invalid mode.*with bits 040.*' err.txt ++ echo 'ok pull-local (bareuseronly files)' 3aac5b782bad43c5a243e4340f9f097fd0b06fc51f76f0cd52ee26b6a0264813 ++ skip_one_without_user_xattrs ++ have_user_xattrs ++ assert_has_setfattr ++ which setfattr ok pull-local (bareuseronly files) PASS: tests/test-basic-user-only.sh 33 pull-local (bareuseronly files) ++ test yes = '' ++ test yes = yes ++ return 1 ++ cd /var/tmp/tap-test.BWaNWW ++ ostree --repo=repo checkout -U test2 test2-checkout-from-local-clone ++ cd test2-checkout-from-local-clone ++ assert_file_has_content yet/another/tree/green leaf ++ fpath=yet/another/tree/green ++ shift ++ for re in "$@" ++ grep -q -e leaf yet/another/tree/green ++ echo 'ok local clone checkout' ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout -U test2 checkout-user-test2 /usr/bin/setfattr ++ echo 'ok user checkout' ok local clone checkout ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test2 -s 'Another commit' --tree=ref=test2 PASS: tests/test-basic-user-only.sh 34 local clone checkout ok user checkout PASS: tests/test-basic-user-only.sh 35 user checkout ++ echo 'ok commit from ref' 8b0732fbb81afe1c784222d76e7bec2975420d1b75c516be2e27d332188d852c ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test2 -s 'Another commit with modifier' --tree=ref=test2 --mode-ro-executables ok commit from ref PASS: tests/test-basic-user-only.sh 36 commit from ref ++ echo 'ok commit from ref with modifier' 3c46c30ba8ebb9bc712c0f60d47e33a7390b8f9cfd23a0bcc1e6b1e9999e63cf ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b trees/test2 -s 'ref with / in it' --tree=ref=test2 ok commit from ref with modifier PASS: tests/test-basic-user-only.sh 37 commit from ref with modifier ++ echo 'ok commit ref with /' ++ mkdir badutf8 6b240469ba90525e5228fe0a9717fbce82f0bbfade3ad72bd8c46021d3362155 ++ echo 'invalid utf8 filename' +++ printf '\x80' ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b badutf8 --tree=dir=badutf8 ++ assert_file_has_content err.txt 'Invalid UTF-8 in filename' ++ fpath=err.txt ++ shift ++ for re in "$@" ++ grep -q -e 'Invalid UTF-8 in filename' err.txt ++ echo 'ok commit bad UTF-8' ok commit ref with / PASS: tests/test-basic-user-only.sh 38 commit ref with / +++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo rev-parse test2 ++ old_rev=3c46c30ba8ebb9bc712c0f60d47e33a7390b8f9cfd23a0bcc1e6b1e9999e63cf ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo ls -R -C test2 ok commit bad UTF-8 PASS: tests/test-basic-user-only.sh 39 commit bad UTF-8 d00755 0 0 0 359f046263c1ffa4ac87a5fdb26697b9e60e8f2cfc45a033a92a84d18414eff9 446a0ef11b7cc167f3b603e585c7eeeeb675faa412d5ec73f62988eb0b6c5488 / -00644 0 0 5 e9123295d8f4ddb5330f6fb3348fb0bc83d5f9203e6da14d8773a00daac9999c /7 -00644 0 0 2 eb0d673eb41d09241ded90fa021180f4b5cecd0d01b31ed451e425d380ade82c /four l00777 0 0 0 9ff5ce08bbacb2eec3ce74936fea67eaad019b87989c24d6e80fc90787e95a48 /somelink -> nosuchfile d00755 0 0 0 e3c4015a9042fccad8d338a4543ee7a69a494b41fd1dc6ffea61c121fb6ed5f3 446a0ef11b7cc167f3b603e585c7eeeeb675faa412d5ec73f62988eb0b6c5488 /a -00644 0 0 0 cc700d46f407c6c5ab2d5dde474366a928b7398277e61162e7f8ec06f469f07e /a/4 -00644 0 0 0 cc700d46f407c6c5ab2d5dde474366a928b7398277e61162e7f8ec06f469f07e /a/6 d00755 0 0 0 bd5fae0cebd8bc0d8e5ebed4580f8357d9b70c9912227dcb17fb5b86340c5be0 446a0ef11b7cc167f3b603e585c7eeeeb675faa412d5ec73f62988eb0b6c5488 /a/nested -00644 0 0 5 bc5a255b9f3254d92d5c52bddc9f60e79036ed4c945d8eadf4c69a9762907978 /a/nested/2 -00644 0 0 2 21b13caed7ac8511128362cc9d62c0322b63a78e0b5f3c72dce992b45c9ca061 /a/nested/3 d00755 0 0 0 5ce2bc66ed73293fbd4790f7eb63fdd83fcd68bb89ff488259a8f4c350a1e5f9 446a0ef11b7cc167f3b603e585c7eeeeb675faa412d5ec73f62988eb0b6c5488 /a/nested/tree -00644 0 0 4 0c6deb1b61f10b15cc817ea1476fc9c40e6d0a7961f41002a0172789a98bfd15 /a/nested/tree/1 d00755 0 0 0 5903113a426f68a70859dfd6985814e34eb3ffaf99a82a4f4a9347a83e090ec2 446a0ef11b7cc167f3b603e585c7eeeeb675faa412d5ec73f62988eb0b6c5488 /another -00644 0 0 6 5d9ba4c05881846395103724b1b1490b3e641a0b69549abdd15c69cbecd63fba /another/whee d00755 0 0 0 272d97c8679e067d9377f737fe783b821a5e5f6f74d3456b2339b586752b7c23 446a0ef11b7cc167f3b603e585c7eeeeb675faa412d5ec73f62988eb0b6c5488 /another/nested d00755 0 0 0 a28a346ffc95eb41506511b1cb90614edfec2a0ffbcac808397b89b222da9d6d 446a0ef11b7cc167f3b603e585c7eeeeb675faa412d5ec73f62988eb0b6c5488 /another/nested/tree -00644 0 0 11 54c723ad99f484d8fa56ed70b7172238472115c0d5a37f1184b654ef6fb32f64 /another/nested/tree/1 d00755 0 0 0 9c84f909c1b84ec388720b9f4b98c487e782d2f95167d0a55fa027f5e6458e25 446a0ef11b7cc167f3b603e585c7eeeeb675faa412d5ec73f62988eb0b6c5488 /baz l00777 0 0 0 c8191d2474aa8509dc3f6214193f5a0c3d5fa814359ca910c8e1d962def1c1ed /baz/alink -> nonexistent -00644 0 0 4 f6a517d53831a40cff3886a965c70d57aa50797a8e5ea965b2c49cc575a6ff51 /baz/cow -00600 0 0 6 cdcf4b15fd075eac0d8649f4fd7b4ffcee3739af84e78bf3910c8242ebac1ac1 /baz/cowro -00644 0 0 6 cd96f3f802dd20400b05aa7348b558fa33254c06aecaead04d48a9335cb9eca1 /baz/saucer d00755 0 0 0 199bff60fa09e0585a3a4057f1af9c52c5f11b1c216b02e3829b84c0a91936e9 446a0ef11b7cc167f3b603e585c7eeeeb675faa412d5ec73f62988eb0b6c5488 /baz/another -00644 0 0 2 90bb74838c1594a2bcad43400970f0d03e4e0b8fcdd9398c86fc92e3d0506f9c /baz/another/y d00755 0 0 0 f827dfe6cc4d3d80e23cef6c5eb2b93ea2fa8d4a5a92969ac6739fb650f51179 446a0ef11b7cc167f3b603e585c7eeeeb675faa412d5ec73f62988eb0b6c5488 /baz/deeper -00644 0 0 3 fbf7cf77a1b50d9f074cb6e9ef6ddb65b6532ea89e4f4ca1b07a05b4cd1be259 /baz/deeper/ohyeah -00555 0 0 4 cb4d77e2291903e6b5ee9d7eab9f8ac5f9d59a667a3d1e54604dd1e1a7cfc01c /baz/deeper/ohyeahx d00755 0 0 0 2008d0c156b8b75316b8e52a3275733449acf6e8f31cdf2ceaf5eb9f02fca6e8 446a0ef11b7cc167f3b603e585c7eeeeb675faa412d5ec73f62988eb0b6c5488 /yet -00644 0 0 11 56a6059aab8ad32a8abaa1a64e07fd22793a713db6d70f8645339ece72330468 /yet/message d00755 0 0 0 9fedc9d8a1bc6c5b8ee3ceab95a7da3215e7c123f1819f3f975c13ec4a6aaab3 446a0ef11b7cc167f3b603e585c7eeeeb675faa412d5ec73f62988eb0b6c5488 /yet/another d00755 0 0 0 876bfbe36d428133f5f6b7ba7cab04fb57c83f86d239d1474dd4ac60e7e9a8dd 446a0ef11b7cc167f3b603e585c7eeeeb675faa412d5ec73f62988eb0b6c5488 /yet/another/tree ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit --skip-if-unchanged -b trees/test2 -s 'should not be committed' --tree=ref=test2 -00644 0 0 5 56425806862e402b2d66ed2225888d934833be7e97e6e22640fcbaad4d312e13 /yet/another/tree/green ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo ls -R -C test2 6b240469ba90525e5228fe0a9717fbce82f0bbfade3ad72bd8c46021d3362155 d00755 0 0 0 359f046263c1ffa4ac87a5fdb26697b9e60e8f2cfc45a033a92a84d18414eff9 446a0ef11b7cc167f3b603e585c7eeeeb675faa412d5ec73f62988eb0b6c5488 / -00644 0 0 5 e9123295d8f4ddb5330f6fb3348fb0bc83d5f9203e6da14d8773a00daac9999c /7 -00644 0 0 2 eb0d673eb41d09241ded90fa021180f4b5cecd0d01b31ed451e425d380ade82c /four l00777 0 0 0 9ff5ce08bbacb2eec3ce74936fea67eaad019b87989c24d6e80fc90787e95a48 /somelink -> nosuchfile d00755 0 0 0 e3c4015a9042fccad8d338a4543ee7a69a494b41fd1dc6ffea61c121fb6ed5f3 446a0ef11b7cc167f3b603e585c7eeeeb675faa412d5ec73f62988eb0b6c5488 /a -00644 0 0 0 cc700d46f407c6c5ab2d5dde474366a928b7398277e61162e7f8ec06f469f07e /a/4 -00644 0 0 0 cc700d46f407c6c5ab2d5dde474366a928b7398277e61162e7f8ec06f469f07e /a/6 d00755 0 0 0 bd5fae0cebd8bc0d8e5ebed4580f8357d9b70c9912227dcb17fb5b86340c5be0 446a0ef11b7cc167f3b603e585c7eeeeb675faa412d5ec73f62988eb0b6c5488 /a/nested -00644 0 0 5 bc5a255b9f3254d92d5c52bddc9f60e79036ed4c945d8eadf4c69a9762907978 /a/nested/2 -00644 0 0 2 21b13caed7ac8511128362cc9d62c0322b63a78e0b5f3c72dce992b45c9ca061 /a/nested/3 d00755 0 0 0 5ce2bc66ed73293fbd4790f7eb63fdd83fcd68bb89ff488259a8f4c350a1e5f9 446a0ef11b7cc167f3b603e585c7eeeeb675faa412d5ec73f62988eb0b6c5488 /a/nested/tree -00644 0 0 4 0c6deb1b61f10b15cc817ea1476fc9c40e6d0a7961f41002a0172789a98bfd15 /a/nested/tree/1 d00755 0 0 0 5903113a426f68a70859dfd6985814e34eb3ffaf99a82a4f4a9347a83e090ec2 446a0ef11b7cc167f3b603e585c7eeeeb675faa412d5ec73f62988eb0b6c5488 /another -00644 0 0 6 5d9ba4c05881846395103724b1b1490b3e641a0b69549abdd15c69cbecd63fba /another/whee d00755 0 0 0 272d97c8679e067d9377f737fe783b821a5e5f6f74d3456b2339b586752b7c23 446a0ef11b7cc167f3b603e585c7eeeeb675faa412d5ec73f62988eb0b6c5488 /another/nested d00755 0 0 0 a28a346ffc95eb41506511b1cb90614edfec2a0ffbcac808397b89b222da9d6d 446a0ef11b7cc167f3b603e585c7eeeeb675faa412d5ec73f62988eb0b6c5488 /another/nested/tree -00644 0 0 11 54c723ad99f484d8fa56ed70b7172238472115c0d5a37f1184b654ef6fb32f64 /another/nested/tree/1 d00755 0 0 0 9c84f909c1b84ec388720b9f4b98c487e782d2f95167d0a55fa027f5e6458e25 446a0ef11b7cc167f3b603e585c7eeeeb675faa412d5ec73f62988eb0b6c5488 /baz l00777 0 0 0 c8191d2474aa8509dc3f6214193f5a0c3d5fa814359ca910c8e1d962def1c1ed /baz/alink -> nonexistent -00644 0 0 4 f6a517d53831a40cff3886a965c70d57aa50797a8e5ea965b2c49cc575a6ff51 /baz/cow -00600 0 0 6 cdcf4b15fd075eac0d8649f4fd7b4ffcee3739af84e78bf3910c8242ebac1ac1 /baz/cowro -00644 0 0 6 cd96f3f802dd20400b05aa7348b558fa33254c06aecaead04d48a9335cb9eca1 /baz/saucer d00755 0 0 0 199bff60fa09e0585a3a4057f1af9c52c5f11b1c216b02e3829b84c0a91936e9 446a0ef11b7cc167f3b603e585c7eeeeb675faa412d5ec73f62988eb0b6c5488 /baz/another -00644 0 0 2 90bb74838c1594a2bcad43400970f0d03e4e0b8fcdd9398c86fc92e3d0506f9c /baz/another/y d00755 0 0 0 f827dfe6cc4d3d80e23cef6c5eb2b93ea2fa8d4a5a92969ac6739fb650f51179 446a0ef11b7cc167f3b603e585c7eeeeb675faa412d5ec73f62988eb0b6c5488 /baz/deeper -00644 0 0 3 fbf7cf77a1b50d9f074cb6e9ef6ddb65b6532ea89e4f4ca1b07a05b4cd1be259 /baz/deeper/ohyeah -00555 0 0 4 cb4d77e2291903e6b5ee9d7eab9f8ac5f9d59a667a3d1e54604dd1e1a7cfc01c /baz/deeper/ohyeahx d00755 0 0 0 2008d0c156b8b75316b8e52a3275733449acf6e8f31cdf2ceaf5eb9f02fca6e8 446a0ef11b7cc167f3b603e585c7eeeeb675faa412d5ec73f62988eb0b6c5488 /yet -00644 0 0 11 56a6059aab8ad32a8abaa1a64e07fd22793a713db6d70f8645339ece72330468 /yet/message d00755 0 0 0 9fedc9d8a1bc6c5b8ee3ceab95a7da3215e7c123f1819f3f975c13ec4a6aaab3 446a0ef11b7cc167f3b603e585c7eeeeb675faa412d5ec73f62988eb0b6c5488 /yet/another d00755 0 0 0 876bfbe36d428133f5f6b7ba7cab04fb57c83f86d239d1474dd4ac60e7e9a8dd 446a0ef11b7cc167f3b603e585c7eeeeb675faa412d5ec73f62988eb0b6c5488 /yet/another/tree +++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo rev-parse test2 ++ new_rev=3c46c30ba8ebb9bc712c0f60d47e33a7390b8f9cfd23a0bcc1e6b1e9999e63cf ++ assert_streq 3c46c30ba8ebb9bc712c0f60d47e33a7390b8f9cfd23a0bcc1e6b1e9999e63cf 3c46c30ba8ebb9bc712c0f60d47e33a7390b8f9cfd23a0bcc1e6b1e9999e63cf ++ test 3c46c30ba8ebb9bc712c0f60d47e33a7390b8f9cfd23a0bcc1e6b1e9999e63cf = 3c46c30ba8ebb9bc712c0f60d47e33a7390b8f9cfd23a0bcc1e6b1e9999e63cf ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo fsck -00644 0 0 5 56425806862e402b2d66ed2225888d934833be7e97e6e22640fcbaad4d312e13 /yet/another/tree/green Validating refs... Validating refs in collections... Enumerating commits... Verifying content integrity of 13 commit objects... fsck objects (1/56) 1% fsck objects (56/56) 100% 1 partial commits not verified ++ echo 'ok commit --skip-if-unchanged' ++ cd /var/tmp/tap-test.BWaNWW/checkout-test2-4 object fsck of 13 commits completed successfully - no errors found. ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test2 -s 'no xattrs' --no-xattrs ok commit --skip-if-unchanged PASS: tests/test-basic-user-only.sh 40 commit --skip-if-unchanged ++ have_selinux_relabel ++ assert_has_setfattr ++ which setfattr 21de3ceb56958e237309d53af63691696b79642cf9ab442f70929001d764a4e4 ++ test no = '' ++ test no = yes ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo fsck /usr/bin/setfattr Validating refs... Validating refs in collections... Enumerating commits... Verifying content integrity of 14 commit objects... fsck objects (1/59) 1% fsck objects (59/59) 100% 1 partial commits not verified ++ echo 'ok commit with no xattrs' ++ mkdir tree-A tree-B object fsck of 14 commits completed successfully - no errors found. ++ touch tree-A/file-a tree-B/file-b ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test3-1 -s 'Initial tree' --tree=dir=tree-A ok commit with no xattrs PASS: tests/test-basic-user-only.sh 41 commit with no xattrs ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test3-2 -s 'Replacement tree' --tree=dir=tree-B 375daf82a80e3ffb850e26df9048ce70f19fff323386f7fe3e95739b851bf3a1 ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test3-combined -s 'combined tree' --tree=ref=test3-1 --tree=ref=test3-2 9340341c5687cd91fb97a00244376944dad4af43534c24c248de995e07dbb6e2 ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout test3-combined checkout-test3-combined ++ assert_has_file checkout-test3-combined/file-a ++ test -f checkout-test3-combined/file-a ++ assert_has_file checkout-test3-combined/file-b ++ test -f checkout-test3-combined/file-b ++ mkdir -p tree-C/usr/share tree-C/usr/bin tree-C/etc tree-D/etc ++ echo exe ++ echo sudoers1 ++ echo mtab ++ echo sudoers2 ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test3-C1 --tree=dir=tree-C be99fce5434443726a94032ce1d56e27f35058f75f0b719ee2180da317b73627 ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test3-D --tree=dir=tree-D cf1f72475cdac4e1e7d3a15a85a4f0f73926f5b32c86096abae454aec6232879 ++ echo sudoers2 ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test3-C2 --tree=dir=tree-C c84e9b85172e1fe51267e445330a1c919cf53ba17346383ccb2b32324951b0f2 ++ echo sudoers1 ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test3-ref-ref --tree=ref=test3-C1 --tree=ref=test3-D bcda1ad1f0e9b9ce7072ac5d06a7c0bcc4152e4ab6a37f12747a6092d9aa1ade ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test3-dir-ref --tree=dir=tree-C --tree=ref=test3-D a3e2c451bd6c1199c50f119d82075db1c702c2f610a16cf6d8a4b174bc743791 ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test3-ref-dir --tree=ref=test3-C1 --tree=dir=tree-D f37dff35ba569a20d5225b443bdbb8662cd39a11791096fc0a1593d91db86f67 ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test3-dir-dir --tree=dir=tree-C --tree=dir=tree-D d56e7d21d6073a805a9cf4510f5b8222ee407c8841bbca807fbca118b1dcf2fb ++ for x in ref dir ++ for y in ref dir ++ assert_trees_identical test3-C2 test3-ref-ref ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo diff test3-C2 test3-ref-ref ++ cat diff-test3-C2-test3-ref-ref ++ assert_file_empty diff-test3-C2-test3-ref-ref ++ test -s diff-test3-C2-test3-ref-ref ++ rm diff-test3-C2-test3-ref-ref ++ for y in ref dir ++ assert_trees_identical test3-C2 test3-ref-dir ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo diff test3-C2 test3-ref-dir ++ cat diff-test3-C2-test3-ref-dir ++ assert_file_empty diff-test3-C2-test3-ref-dir ++ test -s diff-test3-C2-test3-ref-dir ++ rm diff-test3-C2-test3-ref-dir ++ for x in ref dir ++ for y in ref dir ++ assert_trees_identical test3-C2 test3-dir-ref ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo diff test3-C2 test3-dir-ref ++ cat diff-test3-C2-test3-dir-ref ++ assert_file_empty diff-test3-C2-test3-dir-ref ++ test -s diff-test3-C2-test3-dir-ref ++ rm diff-test3-C2-test3-dir-ref ++ for y in ref dir ++ assert_trees_identical test3-C2 test3-dir-dir ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo diff test3-C2 test3-dir-dir ++ cat diff-test3-C2-test3-dir-dir ++ assert_file_empty diff-test3-C2-test3-dir-dir ++ test -s diff-test3-C2-test3-dir-dir ++ rm diff-test3-C2-test3-dir-dir ++ mkdir -p tree-E/etc ++ mkdir -p tree-F/etc/apt/sources.list.d/ ++ echo contents ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test3-E --tree=dir=tree-E 36610f624b1fcb10bd28920bc3526ab760a860a769f17611e58cec5acab4b3f6 ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test3-F --tree=dir=tree-F 12053ec8232ee8acd750b3856a61021a44dba6d5403efa22d554d0896a5f0145 ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test3-F2 --tree=ref=test3-E --tree=ref=test3-F cff06c34679b9d401163c8da9f84ab0697e84b2a08041593cba3f70a55c0933a ++ assert_trees_identical test3-F test3-F2 ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo diff test3-F test3-F2 ++ cat diff-test3-F-test3-F2 ++ assert_file_empty diff-test3-F-test3-F2 ++ test -s diff-test3-F-test3-F2 ++ rm diff-test3-F-test3-F2 ++ echo 'ok commit combined ref trees' ++ cd /var/tmp/tap-test.BWaNWW 19591090333579119de9b85d72f31294a91d11904ebda28f1b5002b7f3f65182 ++ cat ++ cd /var/tmp/tap-test.BWaNWW/checkout-test2-4 ++ echo readable only ++ chmod 664 a/readable-only ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test2-override -s 'with statoverride' --statoverride=../test-statoverride.txt ok commit combined ref trees PASS: tests/test-basic-user-only.sh 42 commit combined ref trees ++ cd /var/tmp/tap-test.BWaNWW ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout test2-override checkout-test2-override ++ is_bare_user_only_repo repo ++ grep -q mode=bare-user-only repo/config ++ test '!' -g checkout-test2-override/a/nested/2 ++ test '!' -u checkout-test2-override/a/nested/3 ++ assert_file_has_mode checkout-test2-override/a/readable-only 600 +++ stat -c %a checkout-test2-override/a/readable-only ++ mode=600 ++ '[' 600 '!=' 600 ']' ++ echo 'ok commit statoverride' ++ cd /var/tmp/tap-test.BWaNWW b6bef006ebc6fd4acd075bd2453c2bf75e77388e45374a28fc00474fd0a103c1 ++ rm test2-checkout -rf ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout test2 test2-checkout ++ cd test2-checkout ++ install -m 0755 /dev/null user-wx ++ install -m 0575 /dev/null group-wx ++ install -m 0775 /dev/null both-wx ++ install -m 0555 /dev/null ugox ++ install -m 0644 /dev/null user-writable ++ cd .. ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test2-w-xor-x --mode-ro-executables --tree=dir=test2-checkout ok commit statoverride PASS: tests/test-basic-user-only.sh 43 commit statoverride ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo ls test2-w-xor-x ++ for x in /{user,group,both}-wx ++ assert_file_has_content ls.txt '^-00555 .*/user-wx' ++ fpath=ls.txt ++ shift ++ for re in "$@" ++ grep -q -e '^-00555 .*/user-wx' ls.txt ++ for x in /{user,group,both}-wx ++ assert_file_has_content ls.txt '^-00555 .*/group-wx' ++ fpath=ls.txt ++ shift ++ for re in "$@" ++ grep -q -e '^-00555 .*/group-wx' ls.txt ++ for x in /{user,group,both}-wx ++ assert_file_has_content ls.txt '^-00555 .*/both-wx' ++ fpath=ls.txt ++ shift ++ for re in "$@" ++ grep -q -e '^-00555 .*/both-wx' ls.txt ++ assert_file_has_content ls.txt '^-00644 .*/user-writable' ++ fpath=ls.txt ++ shift ++ for re in "$@" ++ grep -q -e '^-00644 .*/user-writable' ls.txt ++ echo 'ok commit --mode-ro-executables' ++ cd /var/tmp/tap-test.BWaNWW 39c827bf227be9cd4b1e03e2f392b9ed67ebecc6a1ad6bd1f73fde085432d98c ++ cat ++ cd /var/tmp/tap-test.BWaNWW/checkout-test2-4 ++ assert_has_file a/nested/3 ++ test -f a/nested/3 ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test2-skiplist -s 'with skiplist' --skip-list=../test-skiplist.txt ok commit --mode-ro-executables PASS: tests/test-basic-user-only.sh 44 commit --mode-ro-executables ++ cd /var/tmp/tap-test.BWaNWW ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout test2-skiplist checkout-test2-skiplist ++ assert_not_has_file checkout-test2-skiplist/a/nested/3 ++ test -f checkout-test2-skiplist/a/nested/3 ++ echo 'ok commit skiplist' ++ cd /var/tmp/tap-test.BWaNWW bc17a4f6050c9f2a3910fa9209be05ac245e5d908f60be3bdf78591d78da372c ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo prune ok commit skiplist PASS: tests/test-basic-user-only.sh 45 commit skiplist Total objects: 119 ++ echo 'ok prune didn'\''t fail' ++ cd /var/tmp/tap-test.BWaNWW Deleted 1 objects, 22 bytes freed ++ mv repo/refs/remotes repo/refs/remotes.orig ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo refs --list ++ assert_file_has_content err.txt 'Listing refs.*opendir.*No such file or directory' ++ fpath=err.txt ++ shift ++ for re in "$@" ++ grep -q -e 'Listing refs.*opendir.*No such file or directory' err.txt ++ mv repo/refs/remotes.orig repo/refs/remotes ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo refs --list ++ echo 'ok refs enoent error' ++ cd /var/tmp/tap-test.BWaNWW ok prune didn't fail ++ for path in / /baz ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo cat test2 / PASS: tests/test-basic-user-only.sh 46 prune didn't fail ++ assert_file_has_content err.txt 'open directory' ++ fpath=err.txt ++ shift ++ for re in "$@" ++ grep -q -e 'open directory' err.txt ++ for path in / /baz ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo cat test2 /baz ++ assert_file_has_content err.txt 'open directory' ++ fpath=err.txt ++ shift ++ for re in "$@" ++ grep -q -e 'open directory' err.txt ++ rm checkout-test2 -rf ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo cat test2 /yet/another/tree/green ++ assert_file_has_content greenfile-contents leaf ++ fpath=greenfile-contents ++ shift ++ for re in "$@" ++ grep -q -e leaf greenfile-contents ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout test2 checkout-test2 ++ ls -alR checkout-test2 ok refs enoent error PASS: tests/test-basic-user-only.sh 47 refs enoent error checkout-test2: total 8 drwxr-xr-x. 7 1000710000 root 89 Jan 1 1970 . drwx------. 16 1000710000 root 4096 Sep 20 19:21 .. -rw-r--r--. 9 1000710000 root 5 Jan 1 1970 7 drwxr-xr-x. 3 1000710000 root 38 Jan 1 1970 a drwxr-xr-x. 3 1000710000 root 32 Jan 1 1970 another drwxr-xr-x. 4 1000710000 root 86 Jan 1 1970 baz drwxr-xr-x. 2 1000710000 root 19 Jan 1 1970 four lrwxrwxrwx. 1 1000710000 root 10 Sep 20 19:21 somelink -> nosuchfile drwxr-xr-x. 3 1000710000 root 36 Jan 1 1970 yet ++ ln -sr checkout-test2/four checkout-test2/four-link checkout-test2/a: total 0 drwxr-xr-x. 3 1000710000 root 38 Jan 1 1970 . drwxr-xr-x. 7 1000710000 root 89 Jan 1 1970 .. -rw-r--r--. 1 1000710000 root 0 Sep 20 19:21 4 -rw-r--r--. 1 1000710000 root 0 Sep 20 19:21 6 drwxr-xr-x. 3 1000710000 root 36 Jan 1 1970 nested checkout-test2/a/nested: total 8 drwxr-xr-x. 3 1000710000 root 36 Jan 1 1970 . drwxr-xr-x. 3 1000710000 root 38 Jan 1 1970 .. -rw-r--r--. 8 1000710000 root 5 Jan 1 1970 2 -rw-r--r--. 8 1000710000 root 2 Jan 1 1970 3 drwxr-xr-x. 2 1000710000 root 15 Jan 1 1970 tree checkout-test2/a/nested/tree: total 4 drwxr-xr-x. 2 1000710000 root 15 Jan 1 1970 . drwxr-xr-x. 3 1000710000 root 36 Jan 1 1970 .. -rw-r--r--. 9 1000710000 root 4 Jan 1 1970 1 checkout-test2/another: total 4 drwxr-xr-x. 3 1000710000 root 32 Jan 1 1970 . drwxr-xr-x. 7 1000710000 root 89 Jan 1 1970 .. drwxr-xr-x. 3 1000710000 root 18 Jan 1 1970 nested -rw-r--r--. 9 1000710000 root 6 Jan 1 1970 whee checkout-test2/another/nested: total 0 drwxr-xr-x. 3 1000710000 root 18 Jan 1 1970 . drwxr-xr-x. 3 1000710000 root 32 Jan 1 1970 .. drwxr-xr-x. 2 1000710000 root 15 Jan 1 1970 tree checkout-test2/another/nested/tree: total 4 drwxr-xr-x. 2 1000710000 root 15 Jan 1 1970 . drwxr-xr-x. 3 1000710000 root 18 Jan 1 1970 .. -rw-r--r--. 9 1000710000 root 11 Jan 1 1970 1 checkout-test2/baz: total 12 drwxr-xr-x. 4 1000710000 root 86 Jan 1 1970 . drwxr-xr-x. 7 1000710000 root 89 Jan 1 1970 .. lrwxrwxrwx. 1 1000710000 root 11 Sep 20 19:21 alink -> nonexistent drwxr-xr-x. 2 1000710000 root 15 Jan 1 1970 another -rw-r--r--. 10 1000710000 root 4 Jan 1 1970 cow -rw-------. 10 1000710000 root 6 Jan 1 1970 cowro drwxr-xr-x. 2 1000710000 root 35 Jan 1 1970 deeper -rw-r--r--. 10 1000710000 root 6 Jan 1 1970 saucer checkout-test2/baz/another: total 4 drwxr-xr-x. 2 1000710000 root 15 Jan 1 1970 . drwxr-xr-x. 4 1000710000 root 86 Jan 1 1970 .. -rw-r--r--. 10 1000710000 root 2 Jan 1 1970 y checkout-test2/baz/deeper: total 8 drwxr-xr-x. 2 1000710000 root 35 Jan 1 1970 . drwxr-xr-x. 4 1000710000 root 86 Jan 1 1970 .. -rw-r--r--. 10 1000710000 root 3 Jan 1 1970 ohyeah -rwxr-xr-x. 10 1000710000 root 4 Jan 1 1970 ohyeahx checkout-test2/four: total 0 drwxr-xr-x. 2 1000710000 root 19 Jan 1 1970 . drwxr-xr-x. 7 1000710000 root 89 Jan 1 1970 .. -rw-r--r--. 1 1000710000 root 0 Sep 20 19:21 other checkout-test2/yet: total 4 drwxr-xr-x. 3 1000710000 root 36 Jan 1 1970 . drwxr-xr-x. 7 1000710000 root 89 Jan 1 1970 .. drwxr-xr-x. 3 1000710000 root 18 Jan 1 1970 another -rw-r--r--. 8 1000710000 root 11 Jan 1 1970 message checkout-test2/yet/another: total 0 drwxr-xr-x. 3 1000710000 root 18 Jan 1 1970 . drwxr-xr-x. 3 1000710000 root 36 Jan 1 1970 .. drwxr-xr-x. 2 1000710000 root 19 Jan 1 1970 tree checkout-test2/yet/another/tree: total 4 drwxr-xr-x. 2 1000710000 root 19 Jan 1 1970 . drwxr-xr-x. 3 1000710000 root 18 Jan 1 1970 .. ++ ln -sr checkout-test2/baz/cow checkout-test2/cow-link ++ ln -sr checkout-test2/cow-link checkout-test2/cow-link-link ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test2-withlink --tree=dir=checkout-test2 -rw-r--r--. 8 1000710000 root 5 Jan 1 1970 green ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo cat test2-withlink /four-link ++ assert_file_has_content err.txt 'open directory' ++ fpath=err.txt ++ shift ++ for re in "$@" ++ grep -q -e 'open directory' err.txt ++ for path in /cow-link /cow-link-link ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo cat test2-withlink /cow-link ++ assert_file_has_content contents.txt moo ++ fpath=contents.txt ++ shift ++ for re in "$@" ++ grep -q -e moo contents.txt ++ for path in /cow-link /cow-link-link ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo cat test2-withlink /cow-link-link ++ assert_file_has_content contents.txt moo ++ fpath=contents.txt ++ shift ++ for re in "$@" ++ grep -q -e moo contents.txt ++ echo 'ok cat-file' ++ cd /var/tmp/tap-test.BWaNWW af186fa8af9bf33c0fb4e6a6bd214d39486b5d3656eba94cca972d52c1a11be3 ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout --subpath /yet/another test2 checkout-test2-subpath ++ cd checkout-test2-subpath ++ assert_file_has_content tree/green leaf ++ fpath=tree/green ++ shift ++ for re in "$@" ++ grep -q -e leaf tree/green ++ cd /var/tmp/tap-test.BWaNWW ++ rm checkout-test2-subpath -rf ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo ls -R test2 ok cat-file PASS: tests/test-basic-user-only.sh 48 cat-file d00755 0 0 0 / -00644 0 0 5 /7 l00777 0 0 0 /somelink -> nosuchfile d00755 0 0 0 /a -00644 0 0 0 /a/4 -00644 0 0 0 /a/6 d00755 0 0 0 /a/nested -00644 0 0 5 /a/nested/2 -00644 0 0 2 /a/nested/3 d00755 0 0 0 /a/nested/tree -00644 0 0 4 /a/nested/tree/1 d00755 0 0 0 /another -00644 0 0 6 /another/whee d00755 0 0 0 /another/nested d00755 0 0 0 /another/nested/tree -00644 0 0 11 /another/nested/tree/1 d00755 0 0 0 /baz l00777 0 0 0 /baz/alink -> nonexistent -00644 0 0 4 /baz/cow -00600 0 0 6 /baz/cowro -00644 0 0 6 /baz/saucer d00755 0 0 0 /baz/another -00644 0 0 2 /baz/another/y d00755 0 0 0 /baz/deeper -00644 0 0 3 /baz/deeper/ohyeah -00755 0 0 4 /baz/deeper/ohyeahx d00755 0 0 0 /four -00644 0 0 0 /four/other d00755 0 0 0 /yet -00644 0 0 11 /yet/message d00755 0 0 0 /yet/another d00755 0 0 0 /yet/another/tree ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout --subpath /baz/saucer test2 checkout-test2-subpath ++ assert_file_has_content checkout-test2-subpath/saucer alien ++ fpath=checkout-test2-subpath/saucer ++ shift ++ for re in "$@" ++ grep -q -e alien checkout-test2-subpath/saucer ++ mkdir t ++ cd t ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout --subpath /baz/saucer test2 . ++ assert_file_has_content saucer alien ++ fpath=saucer ++ shift ++ for re in "$@" ++ grep -q -e alien saucer ++ rm t -rf ++ echo 'ok checkout subpath' ++ cd /var/tmp/tap-test.BWaNWW -00644 0 0 5 /yet/another/tree/green ++ rm -rf checkout-test2-skiplist ++ cat ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout --skip-list test-skiplist.txt test2 checkout-test2-skiplist ++ cd checkout-test2-skiplist ++ test -f baz/saucer ++ test -d yet/another/tree ++ test -f baz/cow ++ test -d baz/deeper ++ echo 'ok checkout skip-list' ++ cd /var/tmp/tap-test.BWaNWW ok checkout subpath ++ rm -rf checkout-test2-skiplist PASS: tests/test-basic-user-only.sh 49 checkout subpath ++ cat ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout --skip-list test-skiplist.txt --subpath /baz test2 checkout-test2-skiplist ++ cd checkout-test2-skiplist ++ test -f saucer ++ test -d deeper ++ test -f cow ++ test -d another ++ echo 'ok checkout skip-list with subpath' ++ cd /var/tmp/tap-test.BWaNWW ok checkout skip-list PASS: tests/test-basic-user-only.sh 50 checkout skip-list ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout --union test2 checkout-test2-union ++ find checkout-test2-union ++ wc -l ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout --union test2 checkout-test2-union ++ find checkout-test2-union ++ wc -l ++ cmp union-files-count union-files-count.new ++ cd checkout-test2-union ++ assert_file_has_content ./yet/another/tree/green leaf ++ fpath=./yet/another/tree/green ++ shift ++ for re in "$@" ++ grep -q -e leaf ./yet/another/tree/green ++ echo 'ok checkout union 1' ++ cd /var/tmp/tap-test.BWaNWW ok checkout skip-list with subpath PASS: tests/test-basic-user-only.sh 51 checkout skip-list with subpath ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test-union-add --tree=ref=test2 ok checkout union 1 PASS: tests/test-basic-user-only.sh 52 checkout union 1 ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout test-union-add checkout-test-union-add ++ echo 'file for union add testing' ++ echo 'another file for union add testing' ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test-union-add --tree=dir=checkout-test-union-add 96e8e54c45542928cda16470de77e5e69c4e7fb54dfaf5a69f221c89531aae56 ++ rm checkout-test-union-add -rf ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout 'test-union-add^' checkout-test-union-add ++ assert_not_has_file checkout-test-union-add/union-add-test ++ test -f checkout-test-union-add/union-add-test ++ assert_not_has_file checkout-test-union-add/union-add-test2 ++ test -f checkout-test-union-add/union-add-test2 ++ echo 'existing file for union add' ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout --union-add test-union-add checkout-test-union-add ++ assert_file_has_content checkout-test-union-add/union-add-test 'existing file for union add' ++ fpath=checkout-test-union-add/union-add-test ++ shift ++ for re in "$@" ++ grep -q -e 'existing file for union add' checkout-test-union-add/union-add-test ++ assert_file_has_content checkout-test-union-add/union-add-test2 'another file for union add testing' ++ fpath=checkout-test-union-add/union-add-test2 ++ shift ++ for re in "$@" ++ grep -q -e 'another file for union add testing' checkout-test-union-add/union-add-test2 ++ echo 'ok checkout union add' ++ cd /var/tmp/tap-test.BWaNWW 966b3196651321c9cb14a1dc59179e5da430cb834b54937f2414b71be29fd453 +++ seq 3 ++ for x in $(seq 3) ++ mkdir -p pkg1/usr/bin pkg1/usr/share/licenses ++ echo 'binary for pkg1' ++ ln -s pkg1 pkg1/usr/bin/link1 ++ echo 'this is the GPL' ++ ln -s COPYING pkg1/usr/share/licenses/LICENSE ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b union-identical-pkg1 --tree=dir=pkg1 ok checkout union add PASS: tests/test-basic-user-only.sh 53 checkout union add ++ for x in $(seq 3) ++ mkdir -p pkg2/usr/bin pkg2/usr/share/licenses ++ echo 'binary for pkg2' ++ ln -s pkg2 pkg2/usr/bin/link2 ++ echo 'this is the GPL' ++ ln -s COPYING pkg2/usr/share/licenses/LICENSE ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b union-identical-pkg2 --tree=dir=pkg2 387e7f9ecbb6ec903a036934fb40e0cd68a0f8109c728b6f02388cfafe857d2f ++ for x in $(seq 3) ++ mkdir -p pkg3/usr/bin pkg3/usr/share/licenses ++ echo 'binary for pkg3' ++ ln -s pkg3 pkg3/usr/bin/link3 ++ echo 'this is the GPL' ++ ln -s COPYING pkg3/usr/share/licenses/LICENSE ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b union-identical-pkg3 --tree=dir=pkg3 22313a4ab5dde63191020ac600993cc312d8488385f2a8b72321812579bb6920 ++ rm union-identical-test -rf +++ seq 3 ++ for x in $(seq 3) ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout -U -H --union-identical union-identical-pkg1 union-identical-test ++ for x in $(seq 3) ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout -U -H --union-identical union-identical-pkg2 union-identical-test ++ for x in $(seq 3) ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout -U -H --union-identical union-identical-pkg3 union-identical-test ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout -U --union-identical union-identical-pkg3 union-identical-test-tmp ++ assert_file_has_content err.txt 'error:.*--union-identical requires --require-hardlinks' ++ fpath=err.txt ++ shift ++ for re in "$@" ++ grep -q -e 'error:.*--union-identical requires --require-hardlinks' err.txt +++ seq 3 ++ for x in $(seq 3) ++ for v in pkg link ++ assert_file_has_content union-identical-test/usr/bin/pkg1 'binary for pkg1' ++ fpath=union-identical-test/usr/bin/pkg1 ++ shift ++ for re in "$@" ++ grep -q -e 'binary for pkg1' union-identical-test/usr/bin/pkg1 ++ for v in pkg link ++ assert_file_has_content union-identical-test/usr/bin/link1 'binary for pkg1' ++ fpath=union-identical-test/usr/bin/link1 ++ shift ++ for re in "$@" ++ grep -q -e 'binary for pkg1' union-identical-test/usr/bin/link1 ++ for v in COPYING LICENSE ++ assert_file_has_content union-identical-test/usr/share/licenses/COPYING GPL ++ fpath=union-identical-test/usr/share/licenses/COPYING ++ shift ++ for re in "$@" ++ grep -q -e GPL union-identical-test/usr/share/licenses/COPYING ++ for v in COPYING LICENSE ++ assert_file_has_content union-identical-test/usr/share/licenses/LICENSE GPL ++ fpath=union-identical-test/usr/share/licenses/LICENSE ++ shift ++ for re in "$@" ++ grep -q -e GPL union-identical-test/usr/share/licenses/LICENSE ++ for x in $(seq 3) ++ for v in pkg link ++ assert_file_has_content union-identical-test/usr/bin/pkg2 'binary for pkg2' ++ fpath=union-identical-test/usr/bin/pkg2 ++ shift ++ for re in "$@" ++ grep -q -e 'binary for pkg2' union-identical-test/usr/bin/pkg2 ++ for v in pkg link ++ assert_file_has_content union-identical-test/usr/bin/link2 'binary for pkg2' ++ fpath=union-identical-test/usr/bin/link2 ++ shift ++ for re in "$@" ++ grep -q -e 'binary for pkg2' union-identical-test/usr/bin/link2 ++ for v in COPYING LICENSE ++ assert_file_has_content union-identical-test/usr/share/licenses/COPYING GPL ++ fpath=union-identical-test/usr/share/licenses/COPYING ++ shift ++ for re in "$@" ++ grep -q -e GPL union-identical-test/usr/share/licenses/COPYING ++ for v in COPYING LICENSE ++ assert_file_has_content union-identical-test/usr/share/licenses/LICENSE GPL ++ fpath=union-identical-test/usr/share/licenses/LICENSE ++ shift ++ for re in "$@" ++ grep -q -e GPL union-identical-test/usr/share/licenses/LICENSE ++ for x in $(seq 3) ++ for v in pkg link ++ assert_file_has_content union-identical-test/usr/bin/pkg3 'binary for pkg3' ++ fpath=union-identical-test/usr/bin/pkg3 ++ shift ++ for re in "$@" ++ grep -q -e 'binary for pkg3' union-identical-test/usr/bin/pkg3 ++ for v in pkg link ++ assert_file_has_content union-identical-test/usr/bin/link3 'binary for pkg3' ++ fpath=union-identical-test/usr/bin/link3 ++ shift ++ for re in "$@" ++ grep -q -e 'binary for pkg3' union-identical-test/usr/bin/link3 ++ for v in COPYING LICENSE ++ assert_file_has_content union-identical-test/usr/share/licenses/COPYING GPL ++ fpath=union-identical-test/usr/share/licenses/COPYING ++ shift ++ for re in "$@" ++ grep -q -e GPL union-identical-test/usr/share/licenses/COPYING ++ for v in COPYING LICENSE ++ assert_file_has_content union-identical-test/usr/share/licenses/LICENSE GPL ++ fpath=union-identical-test/usr/share/licenses/LICENSE ++ shift ++ for re in "$@" ++ grep -q -e GPL union-identical-test/usr/share/licenses/LICENSE ++ rm union-identical-test -rf ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout --force-copy union-identical-pkg1 union-identical-test ++ for x in 2 3 ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout -U -H --union-identical union-identical-pkg2 union-identical-test ++ for x in 2 3 ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout -U -H --union-identical union-identical-pkg3 union-identical-test ++ echo 'ok checkout union identical merges' ++ mkdir -p pkg-conflict1bin/usr/bin pkg-conflict1bin/usr/share/licenses 45740ce0bb80efbf78ac0daac72cbdcaf4cd7f88b6ff26136938f67307d1de1b ++ echo 'binary for pkg-conflict1bin' ++ echo 'this is the GPL' ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b union-identical-conflictpkg1bin --tree=dir=pkg-conflict1bin ok checkout union identical merges PASS: tests/test-basic-user-only.sh 54 checkout union identical merges ++ mkdir -p pkg-conflict1link/usr/bin pkg-conflict1link/usr/share/licenses ++ ln -s somewhere-else ++ echo 'this is the GPL' ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b union-identical-conflictpkg1link --tree=dir=pkg-conflict1link 842386d993ba16bb545d08a0a72f44a7193bc12f8944a6684e26496cd9569f7a ++ for v in bin link ++ rm union-identical-test -rf ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout -U -H --union-identical union-identical-pkg1 union-identical-test ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout -U -H --union-identical union-identical-conflictpkg1bin union-identical-test ++ assert_file_has_content err.txt 'error:.*File exists' ++ fpath=err.txt ++ shift ++ for re in "$@" ++ grep -q -e 'error:.*File exists' err.txt ++ for v in bin link ++ rm union-identical-test -rf ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout -U -H --union-identical union-identical-pkg1 union-identical-test ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout -U -H --union-identical union-identical-conflictpkg1link union-identical-test ++ assert_file_has_content err.txt 'error:.*File exists' ++ fpath=err.txt ++ shift ++ for re in "$@" ++ grep -q -e 'error:.*File exists' err.txt ++ echo 'ok checkout union identical conflicts' ++ cd /var/tmp/tap-test.BWaNWW ++ rm files -rf 1e287f1e4c031d16a0fb189e29512c7548fe7a87008de71c831f5edd65b7c322 ++ mkdir files ++ touch files/anemptyfile ++ touch files/anotheremptyfile ++ ostree --repo=repo commit --consume -b tree-with-empty-files --tree=dir=files ok checkout union identical conflicts PASS: tests/test-basic-user-only.sh 55 checkout union identical conflicts ++ ostree --repo=repo checkout -U -H tree-with-empty-files tree-with-empty-files ++ files_are_hardlinked tree-with-empty-files/anemptyfile tree-with-empty-files/anotheremptyfile +++ stat -c %i tree-with-empty-files/anemptyfile ++ inode1=1063730653 +++ stat -c %i tree-with-empty-files/anotheremptyfile ++ inode2=1063730654 ++ test -n 1063730653 ++ test -n 1063730654 ++ '[' 1063730653 == 1063730654 ']' ++ rm tree-with-empty-files -rf ++ ostree --repo=repo checkout -U -H -z tree-with-empty-files tree-with-empty-files ++ files_are_hardlinked tree-with-empty-files/anemptyfile tree-with-empty-files/anotheremptyfile +++ stat -c %i tree-with-empty-files/anemptyfile ++ inode1=1065406876 +++ stat -c %i tree-with-empty-files/anotheremptyfile ++ inode2=1065456769 ++ test -n 1065406876 ++ test -n 1065456769 ++ '[' 1065406876 == 1065456769 ']' ++ echo 'ok checkout zero sized files are not hardlinked' ++ ostree --repo=repo checkout -U -H --union-identical -z tree-with-empty-files tree-with-empty-files 0db4af0aef5bd22608d1f2d73d4940d600fcb5e05a04bf9dc691acbd08d8bd84 ++ ostree --repo=repo checkout -U -H --union-identical -z tree-with-empty-files tree-with-empty-files ++ echo notempty ++ mv tree-with-empty-files/anemptyfile.new tree-with-empty-files/anemptyfile ++ ostree --repo=repo commit --consume -b tree-with-conflicting-empty-files --tree=dir=tree-with-empty-files ok checkout zero sized files are not hardlinked PASS: tests/test-basic-user-only.sh 56 checkout zero sized files are not hardlinked ++ rm tree-with-empty-files -rf ++ ostree --repo=repo checkout -U -H --union-identical -z tree-with-empty-files tree-with-empty-files ++ ostree --repo=repo checkout -U -H --union-identical -z tree-with-conflicting-empty-files tree-with-empty-files ++ assert_file_has_content err.txt 'error:.*File exists' ++ fpath=err.txt ++ shift ++ for re in "$@" ++ grep -q -e 'error:.*File exists' err.txt ++ echo 'ok checkout --union-identical --force-copy-zerosized' ++ cd /var/tmp/tap-test.BWaNWW 08e0fbb1a14b03d16ba4d366ae6d4b31d38ba1e0f42623c500b5fce70725642c ++ rm files -rf ++ mkdir files ++ mkdir files/worldwritable-dir ++ chmod a+w files/worldwritable-dir ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b content-with-dir-world-writable --tree=dir=files ok checkout --union-identical --force-copy-zerosized PASS: tests/test-basic-user-only.sh 57 checkout --union-identical --force-copy-zerosized ++ have_selinux_relabel ++ assert_has_setfattr ++ which setfattr 3fbd1d82861de14f6f0e87401e5aa384b3a4850c0b321978bf23df57f723c522 ++ test no = '' ++ test no = yes ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo fsck /usr/bin/setfattr Validating refs... Validating refs in collections... Enumerating commits... Verifying content integrity of 41 commit objects... fsck objects (1/157) 0% fsck objects (157/157) 100% 1 partial commits not verified ++ rm dir-co -rf ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout -U -H -M content-with-dir-world-writable dir-co ++ is_bare_user_only_repo repo ++ grep -q mode=bare-user-only repo/config ++ assert_file_has_mode dir-co/worldwritable-dir 755 +++ stat -c %a dir-co/worldwritable-dir ++ mode=755 ++ '[' 755 '!=' 755 ']' ++ rm dir-co -rf ++ echo 'ok checkout bareuseronly dir' ++ cd /var/tmp/tap-test.BWaNWW object fsck of 41 commits completed successfully - no errors found. ++ rm -rf shadow-repo ++ mkdir shadow-repo ++ ostree_repo_init shadow-repo ++ repo=shadow-repo ++ shift ++ ostree --repo=shadow-repo init ++ test -n 1 ++ echo -e 'disable-xattrs=true\n' +++ pwd ++ ostree --repo=shadow-repo config set core.parent /var/tmp/tap-test.BWaNWW/repo ++ rm -rf test2-checkout +++ ostree --repo=repo rev-parse test2 ++ parent_rev_test2=21de3ceb56958e237309d53af63691696b79642cf9ab442f70929001d764a4e4 ++ ostree --repo=shadow-repo checkout -U 21de3ceb56958e237309d53af63691696b79642cf9ab442f70929001d764a4e4 test2-checkout ++ echo 'ok checkout from shadow repo' ++ cd /var/tmp/tap-test.BWaNWW ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout test2 --subpath /enoent ok checkout bareuseronly dir PASS: tests/test-basic-user-only.sh 58 checkout bareuseronly dir ++ assert_file_has_content err.txt 'No such file or directory' ++ fpath=err.txt ++ shift ++ for re in "$@" ++ grep -q -e 'No such file or directory' err.txt ++ echo 'ok subdir enoent' ++ cd /var/tmp/tap-test.BWaNWW ok checkout from shadow repo PASS: tests/test-basic-user-only.sh 59 checkout from shadow repo ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout test2 --allow-noent --subpath /enoent ++ echo 'ok subdir noent' ok subdir enoent PASS: tests/test-basic-user-only.sh 60 subdir enoent ++ skip_one_without_user_xattrs ++ have_user_xattrs ++ assert_has_setfattr ++ which setfattr ok subdir noent PASS: tests/test-basic-user-only.sh 61 subdir noent ++ test yes = '' ++ test yes = yes ++ return 1 ++ cd /var/tmp/tap-test.BWaNWW ++ mkdir repo4 ++ ostree_repo_init repo4 --mode=bare-user ++ repo=repo4 ++ shift ++ ostree --repo=repo4 init --mode=bare-user ++ test -n 1 ++ echo -e 'disable-xattrs=true\n' ++ ostree --repo=repo4 pull-local --commit-metadata-only repo test2 /usr/bin/setfattr +++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo rev-parse test2 ++ csum1=21de3ceb56958e237309d53af63691696b79642cf9ab442f70929001d764a4e4 +++ ostree --repo=repo4 rev-parse test2 ++ csum2=21de3ceb56958e237309d53af63691696b79642cf9ab442f70929001d764a4e4 ++ assert_streq 21de3ceb56958e237309d53af63691696b79642cf9ab442f70929001d764a4e4 21de3ceb56958e237309d53af63691696b79642cf9ab442f70929001d764a4e4 ++ test 21de3ceb56958e237309d53af63691696b79642cf9ab442f70929001d764a4e4 = 21de3ceb56958e237309d53af63691696b79642cf9ab442f70929001d764a4e4 ++ test -f repo4/state/21de3ceb56958e237309d53af63691696b79642cf9ab442f70929001d764a4e4.commitpartial ++ echo 'ok pull-local --commit-metadata-only' ++ rm -rf repo4 1 metadata, 0 content objects imported; 0 bytes content written ++ skip_one_without_user_xattrs ++ have_user_xattrs ++ assert_has_setfattr ++ which setfattr ok pull-local --commit-metadata-only PASS: tests/test-basic-user-only.sh 62 pull-local --commit-metadata-only ++ test yes = '' ++ test yes = yes ++ return 1 ++ cd /var/tmp/tap-test.BWaNWW ++ ostree_repo_init repo3 --mode=bare-user ++ repo=repo3 ++ shift ++ ostree --repo=repo3 init --mode=bare-user ++ test -n 1 ++ echo -e 'disable-xattrs=true\n' ++ ostree --repo=repo3 pull-local --remote=aremote repo test2 /usr/bin/setfattr ++ ostree --repo=repo3 rev-parse aremote/test2 16 metadata, 17 content objects imported; 74 bytes content written ++ echo 'ok pull-local with --remote arg' ++ skip_one_without_user_xattrs ++ have_user_xattrs ++ assert_has_setfattr ++ which setfattr 21de3ceb56958e237309d53af63691696b79642cf9ab442f70929001d764a4e4 ok pull-local with --remote arg ++ test yes = '' ++ test yes = yes ++ return 1 ++ cd /var/tmp/tap-test.BWaNWW PASS: tests/test-basic-user-only.sh 63 pull-local with --remote arg ++ ostree --repo=repo3 prune /usr/bin/setfattr Total objects: 33 ++ find repo3/objects -name '*.commit' ++ rm 'repo3/refs/heads/*' 'repo3/refs/mirrors/*' repo3/refs/remotes/aremote -rf ++ ostree --repo=repo3 prune --refs-only No unreachable objects Total objects: 33 ++ find repo3/objects -name '*.commit' ++ cmp -s objlist-before-prune objlist-after-prune ++ rm repo3 objlist-before-prune objlist-after-prune -rf ++ echo 'ok prune' ++ cd /var/tmp/tap-test.BWaNWW Deleted 33 objects, 2.0 kB freed ++ rm repo3 -rf ++ ostree_repo_init repo3 --mode=archive ++ repo=repo3 ++ shift ++ ostree --repo=repo3 init --mode=archive ++ test -n 1 ++ echo -e 'disable-xattrs=true\n' ++ ostree --repo=repo3 pull-local --remote=aremote repo test2 ok prune PASS: tests/test-basic-user-only.sh 64 prune ++ rm repo3/refs/remotes -rf ++ mkdir repo3/refs/remotes ++ ostree --repo=repo3 prune --refs-only 16 metadata, 17 content objects imported; 74 bytes content written Total objects: 33 ++ find repo3/objects -name '*.filez' ++ test -s file-objects ++ echo 'ok prune in archive deleted everything' ++ cd /var/tmp/tap-test.BWaNWW Deleted 33 objects, 2.6 kB freed ++ rm -rf test2-checkout ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout test2 test2-checkout ++ cd test2-checkout ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit --link-checkout-speedup -b test2 -s tmp ok prune in archive deleted everything PASS: tests/test-basic-user-only.sh 65 prune in archive deleted everything ++ echo 'ok commit with link speedup' ++ cd /var/tmp/tap-test.BWaNWW 5a1e1222331f6fed56ff84f1d55544e6c1a30c655a0830b2eb8968b8c9a34763 ++ rm -rf test2-checkout ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout test2 test2-checkout ++ cat ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit --statoverride=statoverride.txt --table-output --link-checkout-speedup -b test2-tmp test2-checkout ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo diff test2 test2-tmp ++ assert_file_has_content diff-test2 'M */baz/cow$' ++ fpath=diff-test2 ++ shift ++ for re in "$@" ++ grep -q -e 'M */baz/cow$' diff-test2 ++ assert_not_file_has_content diff-test2 'M */baz/cowro$' ++ fpath=diff-test2 ++ shift ++ for re in "$@" ++ grep -q -e 'M */baz/cowro$' diff-test2 ++ assert_not_file_has_content diff-test2 baz/saucer ++ fpath=diff-test2 ++ shift ++ for re in "$@" ++ grep -q -e baz/saucer diff-test2 ++ assert_file_has_content stats.txt '^Content Written: 1$' ++ fpath=stats.txt ++ shift ++ for re in "$@" ++ grep -q -e '^Content Written: 1$' stats.txt ++ echo 'ok commit with link speedup and modifier' ++ cd /var/tmp/tap-test.BWaNWW ok commit with link speedup ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo ls test2 PASS: tests/test-basic-user-only.sh 66 commit with link speedup ok commit with link speedup and modifier PASS: tests/test-basic-user-only.sh 67 commit with link speedup and modifier d00755 0 0 0 / -00644 0 0 5 /7 l00777 0 0 0 /somelink -> nosuchfile d00755 0 0 0 /a d00755 0 0 0 /another d00755 0 0 0 /baz d00755 0 0 0 /four ++ echo 'ok ls with no argument' d00755 0 0 0 /yet ++ cd /var/tmp/tap-test.BWaNWW ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo ls test2 /baz/cow/notadir ++ assert_file_has_content errmsg 'Not a directory' ++ fpath=errmsg ++ shift ++ for re in "$@" ++ grep -q -e 'Not a directory' errmsg ++ echo 'ok ls of not a directory' ++ cd /var/tmp/tap-test.BWaNWW ok ls with no argument ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo show test2 PASS: tests/test-basic-user-only.sh 68 ls with no argument ok ls of not a directory PASS: tests/test-basic-user-only.sh 69 ls of not a directory commit 5a1e1222331f6fed56ff84f1d55544e6c1a30c655a0830b2eb8968b8c9a34763 Parent: 21de3ceb56958e237309d53af63691696b79642cf9ab442f70929001d764a4e4 ContentChecksum: 6db5f10dd9648ba0f4f2930c2bd0a8d4f2d09dfd80491ea104da1b59b02c3fe3 Date: 2023-09-20 19:21:03 +0000 tmp ++ echo 'ok show with non-checksum' ++ cd /var/tmp/tap-test.BWaNWW/checkout-test2 +++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test4 -s 'Third commit' ++ checksum=edde92d171f3300ced354ce84d1670882b0fff7274405bc9a214bf4178a27815 ++ cd /var/tmp/tap-test.BWaNWW ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo show test4 ++ assert_file_has_content show-output 'Third commit' ++ fpath=show-output ++ shift ++ for re in "$@" ++ grep -q -e 'Third commit' show-output ++ assert_file_has_content show-output 'commit edde92d171f3300ced354ce84d1670882b0fff7274405bc9a214bf4178a27815' ++ fpath=show-output ++ shift ++ for re in "$@" ++ grep -q -e 'commit edde92d171f3300ced354ce84d1670882b0fff7274405bc9a214bf4178a27815' show-output ++ echo 'ok show full output' ++ grep -E -e '^ContentChecksum' show-output ok show with non-checksum PASS: tests/test-basic-user-only.sh 70 show with non-checksum ++ cd /var/tmp/tap-test.BWaNWW/checkout-test2 +++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test4 -s 'Another commit with different subject' ++ checksum=1e4c7ebd5eb26c55f8b91c057a6926a38ca93bdc820591c4e3afe68a6a501971 ++ cd /var/tmp/tap-test.BWaNWW ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo show test4 ++ grep -E -e '^ContentChecksum' ++ diff -u previous-content-checksum.txt new-content-checksum.txt ++ echo 'ok content checksum' ++ cd /var/tmp/tap-test.BWaNWW/checkout-test2 ok show full output PASS: tests/test-basic-user-only.sh 71 show full output +++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test5 -s 'First commit' ++ checksum1=a9934a858fbd3632b27af646e10dd90b6d7d01405ea3f50505d72558e18e003b +++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test5 -s 'Second commit' ++ checksum2=c6d49f44d954123fc68fb36ea772bb24ef79b039dda54a37bb54a33a07b0b061 ++ cd /var/tmp/tap-test.BWaNWW ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo log test5 ++ assert_file_has_content log-output 'First commit' ++ fpath=log-output ++ shift ++ for re in "$@" ++ grep -q -e 'First commit' log-output ++ assert_file_has_content log-output 'commit a9934a858fbd3632b27af646e10dd90b6d7d01405ea3f50505d72558e18e003b' ++ fpath=log-output ++ shift ++ for re in "$@" ++ grep -q -e 'commit a9934a858fbd3632b27af646e10dd90b6d7d01405ea3f50505d72558e18e003b' log-output ++ assert_file_has_content log-output 'Second commit' ++ fpath=log-output ++ shift ++ for re in "$@" ++ grep -q -e 'Second commit' log-output ++ assert_file_has_content log-output 'commit c6d49f44d954123fc68fb36ea772bb24ef79b039dda54a37bb54a33a07b0b061' ++ fpath=log-output ++ shift ++ for re in "$@" ++ grep -q -e 'commit c6d49f44d954123fc68fb36ea772bb24ef79b039dda54a37bb54a33a07b0b061' log-output ++ echo 'ok log output' ++ cd /var/tmp/tap-test.BWaNWW/checkout-test2 ok content checksum PASS: tests/test-basic-user-only.sh 72 content checksum +++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test6 -s 'First commit' ++ checksum1=67257e531b983fb5cde2fe8cad33c435e2de9f408a92454b9a79426620a7de50 +++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test6 -s 'Second commit' ++ checksum2=def3b892544dc80ddb837ff60ab7b8f8775d6617e0c174d4f24463319928e22d ++ cd /var/tmp/tap-test.BWaNWW ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo show test6 ++ assert_file_has_content show-output 'commit def3b892544dc80ddb837ff60ab7b8f8775d6617e0c174d4f24463319928e22d' ++ fpath=show-output ++ shift ++ for re in "$@" ++ grep -q -e 'commit def3b892544dc80ddb837ff60ab7b8f8775d6617e0c174d4f24463319928e22d' show-output ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo reset test6 67257e531b983fb5cde2fe8cad33c435e2de9f408a92454b9a79426620a7de50 ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo show test6 ++ assert_file_has_content show-output 'commit 67257e531b983fb5cde2fe8cad33c435e2de9f408a92454b9a79426620a7de50' ++ fpath=show-output ++ shift ++ for re in "$@" ++ grep -q -e 'commit 67257e531b983fb5cde2fe8cad33c435e2de9f408a92454b9a79426620a7de50' show-output ++ echo 'ok basic reset' ++ cd /var/tmp/tap-test.BWaNWW ok log output PASS: tests/test-basic-user-only.sh 73 log output ++ rm checkout-test2 -rf ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout test2 checkout-test2 ++ touch checkout-test2/sometestfile ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -s sometest -b test2 checkout-test2 ok basic reset PASS: tests/test-basic-user-only.sh 74 basic reset ++ echo 'ok commit with directory filename' ++ cd /var/tmp/tap-test.BWaNWW/checkout-test2 78237cfec2f95636041fdcf52cebfe66e578dafd328c909b58840a447c1125bf ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test2 -s 'Metadata string' --add-metadata-string=FOO=BAR --add-metadata-string=KITTENS=CUTE --add-detached-metadata-string=SIGNATURE=HANCOCK '--add-metadata=SOMENUM=uint64 42' --tree=ref=test2 ok commit with directory filename PASS: tests/test-basic-user-only.sh 75 commit with directory filename ++ cd /var/tmp/tap-test.BWaNWW ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo show --print-metadata-key=FOO test2 ++ assert_file_has_content test2-meta BAR ++ fpath=test2-meta ++ shift ++ for re in "$@" ++ grep -q -e BAR test2-meta ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo show --print-metadata-key=KITTENS test2 ++ assert_file_has_content test2-meta CUTE ++ fpath=test2-meta ++ shift ++ for re in "$@" ++ grep -q -e CUTE test2-meta ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo show --print-metadata-key=SOMENUM test2 ++ case "$("${test_builddir}/get-byte-order")" in +++ /home/jenkins/agent/workspace/ostree_PR-3054/tests/get-byte-order ++ assert_file_has_content test2-meta 'uint64 3026418949592973312' ++ fpath=test2-meta ++ shift ++ for re in "$@" ++ grep -q -e 'uint64 3026418949592973312' test2-meta ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo show -B --print-metadata-key=SOMENUM test2 ++ assert_file_has_content test2-meta 'uint64 42' ++ fpath=test2-meta ++ shift ++ for re in "$@" ++ grep -q -e 'uint64 42' test2-meta ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo show --print-detached-metadata-key=SIGNATURE test2 ++ assert_file_has_content test2-meta HANCOCK ++ fpath=test2-meta ++ shift ++ for re in "$@" ++ grep -q -e HANCOCK test2-meta ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo show --list-metadata-keys test2 ++ assert_file_has_content test2-meta FOO ++ fpath=test2-meta ++ shift ++ for re in "$@" ++ grep -q -e FOO test2-meta ++ assert_file_has_content test2-meta KITTENS ++ fpath=test2-meta ++ shift ++ for re in "$@" ++ grep -q -e KITTENS test2-meta ++ assert_file_has_content test2-meta SOMENUM ++ fpath=test2-meta ++ shift ++ for re in "$@" ++ grep -q -e SOMENUM test2-meta ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo show --list-detached-metadata-keys test2 ++ assert_file_has_content test2-meta SIGNATURE ++ fpath=test2-meta ++ shift ++ for re in "$@" ++ grep -q -e SIGNATURE test2-meta ++ echo 'ok metadata commit with strings' ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test2 --tree=ref=test2 --add-detached-metadata-string=SIGNATURE=HANCOCK --keep-metadata=KITTENS --keep-metadata=SOMENUM 124dd35cde44689d066a9da081cb125262947ae90a213d9fffadb8c9dc121343 ok metadata commit with strings PASS: tests/test-basic-user-only.sh 76 metadata commit with strings ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo show --print-metadata-key=FOO test2 error: No such metadata key 'FOO' ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo show --print-metadata-key=KITTENS test2 ++ assert_file_has_content test2-meta CUTE ++ fpath=test2-meta ++ shift ++ for re in "$@" ++ grep -q -e CUTE test2-meta ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo show -B --print-metadata-key=SOMENUM test2 ++ assert_file_has_content test2-meta 'uint64 42' ++ fpath=test2-meta ++ shift ++ for re in "$@" ++ grep -q -e 'uint64 42' test2-meta ++ echo 'ok keep metadata from parent' ++ cd /var/tmp/tap-test.BWaNWW 546cc28b0db6e9520e6485be3df44dc5ca178a9f1fc51f2cfae37627508197f1 ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo show --print-metadata-key=ostree.ref-binding test2 ++ assert_file_has_content test2-ref-binding test2 ++ fpath=test2-ref-binding ++ shift ++ for re in "$@" ++ grep -q -e test2 test2-ref-binding ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test2-unbound --no-bindings --tree=dir=/var/tmp/tap-test.BWaNWW/checkout-test2 ok keep metadata from parent PASS: tests/test-basic-user-only.sh 77 keep metadata from parent ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo show --print-metadata-key=ostree.ref-binding test2-unbound error: No such metadata key 'ostree.ref-binding' ++ echo 'ok refbinding' 822b4e0ec5d9fc582585e4f377a797964569bab0791a92f52d45a23a7c6d7719 ++ skip_one_without_user_xattrs ++ have_user_xattrs ++ assert_has_setfattr ++ which setfattr ok refbinding PASS: tests/test-basic-user-only.sh 78 refbinding ++ test yes = '' ++ test yes = yes ++ return 1 ++ cd /var/tmp/tap-test.BWaNWW ++ rm repo2 -rf ++ mkdir repo2 ++ ostree_repo_init repo2 --mode=bare-user ++ repo=repo2 ++ shift ++ ostree --repo=repo2 init --mode=bare-user ++ test -n 1 ++ echo -e 'disable-xattrs=true\n' ++ ostree --repo=repo2 pull-local repo /usr/bin/setfattr ++ ostree --repo=repo2 show --print-detached-metadata-key=SIGNATURE test2 ++ assert_file_has_content test2-meta HANCOCK ++ fpath=test2-meta ++ shift ++ for re in "$@" ++ grep -q -e HANCOCK test2-meta ++ echo 'ok pull-local after commit metadata' ++ cd /var/tmp/tap-test.BWaNWW 105 metadata, 43 content objects imported; 316 bytes content written ++ ostree --repo=repo remote --set=tls-permissive=true add aremote http://remote.example.com/repo testos/buildmain/x86_64-runtime ++ assert_file_has_content repo/config tls-permissive=true ++ fpath=repo/config ++ shift ++ for re in "$@" ++ grep -q -e tls-permissive=true repo/config ++ assert_file_has_content repo/config 'remote\.example\.com' ++ fpath=repo/config ++ shift ++ for re in "$@" ++ grep -q -e 'remote\.example\.com' repo/config ++ echo 'ok remote add with set' ++ cd /var/tmp/tap-test.BWaNWW ok pull-local after commit metadata ++ ostree --repo=repo remote show-url aremote PASS: tests/test-basic-user-only.sh 79 pull-local after commit metadata ++ assert_file_has_content aremote-url.txt 'http.*remote\.example\.com/repo' ++ fpath=aremote-url.txt ++ shift ++ for re in "$@" ++ grep -q -e 'http.*remote\.example\.com/repo' aremote-url.txt ++ echo 'ok remote show-url' ++ cd /var/tmp/tap-test.BWaNWW ok remote add with set PASS: tests/test-basic-user-only.sh 80 remote add with set ++ rm -rf test2-checkout ++ grep bare-user repo/config ok remote show-url ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout -U test2 test2-checkout PASS: tests/test-basic-user-only.sh 81 remote show-url ++ stat --format=%Y test2-checkout/baz/cow ++ assert_file_has_content cow-mtime 0 ++ fpath=cow-mtime ++ shift ++ for re in "$@" ++ grep -q -e 0 cow-mtime ++ stat --format=%Y test2-checkout/baz/deeper ++ assert_file_has_content deeper-mtime 0 ++ fpath=deeper-mtime ++ shift ++ for re in "$@" ++ grep -q -e 0 deeper-mtime ++ echo 'ok content mtime' ++ cd /var/tmp/tap-test.BWaNWW mode=bare-user-only ++ rm repo2 -rf ++ mkdir repo2 ++ ostree_repo_init repo2 --mode=archive ++ repo=repo2 ++ shift ++ ostree --repo=repo2 init --mode=archive ++ test -n 1 ++ echo -e 'disable-xattrs=true\n' ++ ostree --repo=repo2 pull-local repo ok content mtime PASS: tests/test-basic-user-only.sh 82 content mtime ++ rm -rf test2-checkout ++ ostree --repo=repo2 checkout -U --disable-cache test2 test2-checkout ++ test -d repo2/uncompressed-objects-cache ++ rm test2-checkout -rf ++ ostree --repo=repo2 checkout -U test2 test2-checkout ++ assert_file_has_content test2-checkout/baz/cow moo ++ fpath=test2-checkout/baz/cow ++ shift ++ for re in "$@" ++ grep -q -e moo test2-checkout/baz/cow ++ assert_has_dir repo2/uncompressed-objects-cache ++ test -d repo2/uncompressed-objects-cache ++ ls repo2/uncompressed-objects-cache ++ test -s ls.txt ++ is_bare_user_only_repo repo ++ grep -q mode=bare-user-only repo/config ++ echo 'ok disable cache checkout' ++ cd /var/tmp/tap-test.BWaNWW 105 metadata, 43 content objects imported; 316 bytes content written ++ rm checkout-test2 -rf ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout test2 checkout-test2 ++ date ++ rm 'repo/tmp/*' -rf ++ export TEST_BOOTID=3072029c-8b10-60d1-d31b-8422eeff9b42 ++ TEST_BOOTID=3072029c-8b10-60d1-d31b-8422eeff9b42 ++ env OSTREE_REPO_TEST_ERROR=pre-commit OSTREE_BOOTID=3072029c-8b10-60d1-d31b-8422eeff9b42 ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b test2 -s '' /var/tmp/tap-test.BWaNWW/checkout-test2 ++ assert_file_has_content err.txt OSTREE_REPO_TEST_ERROR_PRE_COMMIT ++ fpath=err.txt ++ shift ++ for re in "$@" ++ grep -q -e OSTREE_REPO_TEST_ERROR_PRE_COMMIT err.txt ++ found_staging=0 +++ find repo/tmp/ -maxdepth 1 -type d ++ for d in $(find repo/tmp/ -maxdepth 1 -type d) +++ basename repo/tmp/ ++ bn=tmp ++ test tmp '!=' tmp ++ for d in $(find repo/tmp/ -maxdepth 1 -type d) +++ basename repo/tmp/staging-3072029c-8b10-60d1-d31b-8422eeff9b42-sGldUL ++ bn=staging-3072029c-8b10-60d1-d31b-8422eeff9b42-sGldUL ++ test 3072029c-8b10-60d1-d31b-8422eeff9b42-sGldUL '!=' staging-3072029c-8b10-60d1-d31b-8422eeff9b42-sGldUL ++ assert_str_match staging-3072029c-8b10-60d1-d31b-8422eeff9b42-sGldUL '^staging-3072029c-8b10-60d1-d31b-8422eeff9b42-' ++ echo staging-3072029c-8b10-60d1-d31b-8422eeff9b42-sGldUL ++ grep -E -q '^staging-3072029c-8b10-60d1-d31b-8422eeff9b42-' ++ found_staging=1 ++ assert_streq 1 1 ++ test 1 = 1 ++ echo 'ok test error pre commit/bootid' ++ cd /var/tmp/tap-test.BWaNWW ++ mkdir -p overlay/baz/ ok disable cache checkout PASS: tests/test-basic-user-only.sh 83 disable cache checkout ++ touch overlay/baz/.wh.cow ++ touch overlay/.wh.deeper ++ touch overlay/baz/another/.wh..wh..opq touch: cannot touch 'overlay/baz/another/.wh..wh..opq': No such file or directory ++ echo 'ok # SKIP whiteouts do not work, are you using aufs?' ++ echo 'ok # SKIP whiteouts do not work, are you using aufs?' ok test error pre commit/bootid PASS: tests/test-basic-user-only.sh 84 test error pre commit/bootid ok # SKIP whiteouts do not work, are you using aufs? ++ cd /var/tmp/tap-test.BWaNWW ++ rm -rf test2-checkout SKIP: tests/test-basic-user-only.sh 85 # SKIP whiteouts do not work, are you using aufs? ++ mkdir -p test2-checkout ++ cd test2-checkout ++ echo 'should not be fsynced' ++ skip_one_without_strace_fault_injection ++ have_strace_fault_injection ++ test '' = '' ++ strace -P /home/jenkins/agent/workspace/ostree_PR-3054/tests/libtest-core.sh -e inject=read:retval=0 cat /home/jenkins/agent/workspace/ostree_PR-3054/tests/libtest-core.sh /home/jenkins/agent/workspace/ostree_PR-3054/tests/libtest.sh: line 663: strace: command not found ++ _have_strace_fault_injection=no ++ rm -f out.txt ++ test no = yes ++ echo 'ok # SKIP this test requires strace fault injection' ++ return 0 ok # SKIP whiteouts do not work, are you using aufs? SKIP: tests/test-basic-user-only.sh 86 # SKIP whiteouts do not work, are you using aufs? +++ id -u ++ test 1000710000 '!=' 0 ++ cd /var/tmp/tap-test.BWaNWW ++ rm -f expected-fail error-message ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo init --mode=archive --repo=repo-noperm ++ chmod -w repo-noperm/objects ++ ostree --repo=/var/tmp/tap-test.BWaNWW/repo --repo=repo-noperm pull-local repo ++ touch expected-fail ++ chmod +w repo-noperm/objects ++ assert_has_file expected-fail ++ test -f expected-fail ++ assert_file_has_content error-message 'Permission denied' ++ fpath=error-message ++ shift ++ for re in "$@" ++ grep -q -e 'Permission denied' error-message ++ echo 'ok unwritable repo was caught' ++ skip_one_without_whiteouts_devices ++ can_create_whiteout_devices ok # SKIP this test requires strace fault injection ++ mknod -m 000 /var/tmp/tap-test.BWaNWW/.test-whiteout c 0 0 SKIP: tests/test-basic-user-only.sh 87 # SKIP this test requires strace fault injection mknod: /var/tmp/tap-test.BWaNWW/.test-whiteout: Operation not permitted ++ return 1 ++ echo 'ok # SKIP - this test requires whiteout device support (test outside containers)' ++ return 0 ok unwritable repo was caught PASS: tests/test-basic-user-only.sh 88 unwritable repo was caught ++ skip_one_without_whiteouts_devices ++ can_create_whiteout_devices ++ mknod -m 000 /var/tmp/tap-test.BWaNWW/.test-whiteout c 0 0 mknod: /var/tmp/tap-test.BWaNWW/.test-whiteout: Operation not permitted ++ return 1 ++ echo 'ok # SKIP - this test requires whiteout device support (test outside containers)' ++ return 0 ok # SKIP - this test requires whiteout device support (test outside containers) + ostree --version SKIP: tests/test-basic-user-only.sh 89 # SKIP - this test requires whiteout device support (test outside containers) + python3 -c 'import yaml; yaml.safe_load(open("version.yaml"))' + echo 'ok yaml version' + cd /var/tmp/tap-test.BWaNWW ok # SKIP - this test requires whiteout device support (test outside containers) + rm repo files -rf SKIP: tests/test-basic-user-only.sh 90 # SKIP - this test requires whiteout device support (test outside containers) + ostree_repo_init repo init --mode=bare-user-only + repo=repo + shift + ostree --repo=repo init init --mode=bare-user-only + test -n 1 + echo -e 'disable-xattrs=true\n' + cd /var/tmp/tap-test.BWaNWW + rm repo-input -rf + ostree_repo_init repo-input init --mode=archive + repo=repo-input + shift + ostree --repo=repo-input init init --mode=archive + test -n 1 + echo -e 'disable-xattrs=true\n' + cd /var/tmp/tap-test.BWaNWW + cat + mkdir -p files/ + echo 'a setuid file' + chmod 0644 files/some-setuid + ostree --repo=repo-input commit -b content-with-suid --statoverride=statoverride.txt --tree=dir=files ok yaml version PASS: tests/test-basic-user-only.sh 91 yaml version + ostree pull-local --repo=repo repo-input + assert_file_has_content err.txt 'Content object.*invalid mode.*with bits 040.*' + fpath=err.txt + shift + for re in "$@" + grep -q -e 'Content object.*invalid mode.*with bits 040.*' err.txt + echo 'ok failed to commit suid' + cd /var/tmp/tap-test.BWaNWW 82906f489bb2ce59e4392d41ab537991f142f462e050fbc37d65b45a834532ce + rm repo-input -rf + ostree_repo_init repo-input init --mode=archive + repo=repo-input + shift + ostree --repo=repo-input init init --mode=archive + test -n 1 + echo -e 'disable-xattrs=true\n' + rm files -rf + mkdir files + ostree --repo=repo-input commit -b metadata --tree=dir=files --add-metadata-string==FOO + assert_file_has_content err.txt 'Empty metadata key' + fpath=err.txt + shift + for re in "$@" + grep -q -e 'Empty metadata key' err.txt + ostree --repo=repo-input commit -b metadata --tree=dir=files --add-metadata-string=FOO= ok failed to commit suid PASS: tests/test-basic-user-only.sh 92 failed to commit suid + echo 'ok rejected invalid metadata' 3c6ac47f5c934b4749f11c4abd6ced2207e297df69bb9920493f04df7c15be87 + cd /var/tmp/tap-test.BWaNWW + rm repo-input -rf + ostree_repo_init repo-input init --mode=archive + repo=repo-input + shift + ostree --repo=repo-input init init --mode=archive + test -n 1 + echo -e 'disable-xattrs=true\n' + rm files -rf + mkdir files + echo 'a group writable file' + chmod 0664 files/some-group-writable + ostree --repo=repo-input commit -b content-with-group-writable --tree=dir=files ok rejected invalid metadata PASS: tests/test-basic-user-only.sh 93 rejected invalid metadata + ostree --repo=/var/tmp/tap-test.BWaNWW/repo pull-local repo-input f9718692c466b23cf8b28e74a322af483c8a1052c0aae00aa8e8b45aba3d7e2f + ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout -U -H content-with-group-writable groupwritable-co + assert_file_has_mode groupwritable-co/some-group-writable 664 ++ stat -c %a groupwritable-co/some-group-writable + mode=664 + '[' 664 '!=' 664 ']' + echo 'ok supported group writable' + cd /var/tmp/tap-test.BWaNWW 2 metadata, 1 content objects imported; 22 bytes content written + rm repo-input -rf + ostree_repo_init repo-input init --mode=archive + repo=repo-input + shift + ostree --repo=repo-input init init --mode=archive + test -n 1 + echo -e 'disable-xattrs=true\n' + rm files -rf + mkdir files + mkdir files/worldwritable-dir + chmod a+w files/worldwritable-dir + ostree --repo=repo-input commit -b content-with-dir-world-writable --tree=dir=files ok supported group writable PASS: tests/test-basic-user-only.sh 94 supported group writable + ostree --repo=/var/tmp/tap-test.BWaNWW/repo pull-local repo-input 0fd5b9d1eb8ec7d6ad6d3d4e45ddf3f07520e8cc0cc69f3756bb08756dbac08d + ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout -U -H content-with-dir-world-writable dir-co + assert_file_has_mode dir-co/worldwritable-dir 775 ++ stat -c %a dir-co/worldwritable-dir + mode=775 + '[' 775 '!=' 775 ']' + echo 'ok didn'\''t make world-writable dir' 4 metadata, 0 content objects imported; 0 bytes content written + skip_one_without_user_xattrs + have_user_xattrs + assert_has_setfattr + which setfattr ok didn't make world-writable dir + test yes = '' PASS: tests/test-basic-user-only.sh 95 didn't make world-writable dir + test yes = yes + return 1 + cd /var/tmp/tap-test.BWaNWW + rm repo-input -rf + rm repo -rf + ostree_repo_init repo init --mode=bare-user-only + repo=repo + shift + ostree --repo=repo init init --mode=bare-user-only + test -n 1 + echo -e 'disable-xattrs=true\n' + ostree_repo_init repo-input init --mode=bare-user + repo=repo-input + shift + ostree --repo=repo-input init init --mode=bare-user + test -n 1 + echo -e 'disable-xattrs=true\n' + rm files -rf + mkdir files + echo afile + ln -s afile files/afile-link + ostree --repo=repo-input commit --canonical-permissions -b testtree --tree=dir=files /usr/bin/setfattr ++ ostree_file_path_to_relative_object_path repo-input testtree /afile ++ repo=repo-input ++ ref=testtree ++ path=/afile +++ ostree_file_path_to_checksum repo-input testtree /afile +++ repo=repo-input +++ ref=testtree +++ path=/afile +++ ostree --repo=repo-input ls -C testtree /afile +++ awk '{ print $5 }' ++ checksum=e0a2adad22125c9324bba4b7628f2f6d819d656b07afd036e05f37f4a1adc3fa ++ test -n e0a2adad22125c9324bba4b7628f2f6d819d656b07afd036e05f37f4a1adc3fa ++ ostree_checksum_to_relative_object_path repo-input e0a2adad22125c9324bba4b7628f2f6d819d656b07afd036e05f37f4a1adc3fa ++ repo=repo-input ++ checksum=e0a2adad22125c9324bba4b7628f2f6d819d656b07afd036e05f37f4a1adc3fa ++ grep -Eq -e '^mode=archive' repo-input/config ++ suffix= ++ echo objects/e0/a2adad22125c9324bba4b7628f2f6d819d656b07afd036e05f37f4a1adc3fa.file + afile_relobjpath=objects/e0/a2adad22125c9324bba4b7628f2f6d819d656b07afd036e05f37f4a1adc3fa.file ++ ostree_file_path_to_relative_object_path repo-input testtree /afile-link ++ repo=repo-input ++ ref=testtree ++ path=/afile-link +++ ostree_file_path_to_checksum repo-input testtree /afile-link +++ repo=repo-input +++ ref=testtree +++ path=/afile-link +++ ostree --repo=repo-input ls -C testtree /afile-link +++ awk '{ print $5 }' ++ checksum=154eb21a497390eae93fda9ad6908646dd5c6bfe10d179d262fcae81a370223c ++ test -n 154eb21a497390eae93fda9ad6908646dd5c6bfe10d179d262fcae81a370223c ++ ostree_checksum_to_relative_object_path repo-input 154eb21a497390eae93fda9ad6908646dd5c6bfe10d179d262fcae81a370223c ++ repo=repo-input ++ checksum=154eb21a497390eae93fda9ad6908646dd5c6bfe10d179d262fcae81a370223c ++ grep -Eq -e '^mode=archive' repo-input/config ++ suffix= ++ echo objects/15/4eb21a497390eae93fda9ad6908646dd5c6bfe10d179d262fcae81a370223c.file + afile_link_relobjpath=objects/15/4eb21a497390eae93fda9ad6908646dd5c6bfe10d179d262fcae81a370223c.file + ostree pull-local --repo=repo repo-input 49b114c56a84339b434046ad70f3fdb1adf0f4cfa99492ced7278b6d15e4c7d3 + assert_files_hardlinked repo/objects/e0/a2adad22125c9324bba4b7628f2f6d819d656b07afd036e05f37f4a1adc3fa.file repo-input/objects/e0/a2adad22125c9324bba4b7628f2f6d819d656b07afd036e05f37f4a1adc3fa.file + files_are_hardlinked repo/objects/e0/a2adad22125c9324bba4b7628f2f6d819d656b07afd036e05f37f4a1adc3fa.file repo-input/objects/e0/a2adad22125c9324bba4b7628f2f6d819d656b07afd036e05f37f4a1adc3fa.file ++ stat -c %i repo/objects/e0/a2adad22125c9324bba4b7628f2f6d819d656b07afd036e05f37f4a1adc3fa.file + inode1=721443275 ++ stat -c %i repo-input/objects/e0/a2adad22125c9324bba4b7628f2f6d819d656b07afd036e05f37f4a1adc3fa.file + inode2=721443275 + test -n 721443275 + test -n 721443275 + '[' 721443275 == 721443275 ']' + files_are_hardlinked repo/objects/15/4eb21a497390eae93fda9ad6908646dd5c6bfe10d179d262fcae81a370223c.file repo-input/objects/15/4eb21a497390eae93fda9ad6908646dd5c6bfe10d179d262fcae81a370223c.file ++ stat -c %i repo/objects/15/4eb21a497390eae93fda9ad6908646dd5c6bfe10d179d262fcae81a370223c.file + inode1=744556206 ++ stat -c %i repo-input/objects/15/4eb21a497390eae93fda9ad6908646dd5c6bfe10d179d262fcae81a370223c.file + inode2=721443276 + test -n 744556206 + test -n 721443276 + '[' 744556206 == 721443276 ']' + ostree --repo=/var/tmp/tap-test.BWaNWW/repo fsck -q 3 metadata, 2 content objects imported; 0 bytes content written fsck objects (1/5) 20% fsck objects (5/5) 100% + echo 'ok hardlink pull from bare-user' + cd /var/tmp/tap-test.BWaNWW object fsck of 1 commits completed successfully - no errors found. + rm repo -rf + ostree_repo_init repo init --mode=bare-user-only + repo=repo + shift + ostree --repo=repo init init --mode=bare-user-only + test -n 1 + echo -e 'disable-xattrs=true\n' + rm files -rf + mkdir files + echo afile + chmod 0777 files/afile + ostree --repo=/var/tmp/tap-test.BWaNWW/repo commit -b perms files ok hardlink pull from bare-user PASS: tests/test-basic-user-only.sh 96 hardlink pull from bare-user + ostree --repo=/var/tmp/tap-test.BWaNWW/repo fsck d24c03d2215ef2380adedd0de89b1adbdb988de84a779e459c40ece70ee83f0e Validating refs... Validating refs in collections... Enumerating commits... Verifying content integrity of 1 commit objects... fsck objects (1/4) 25% fsck objects (4/4) 100% + rm out -rf + ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout --force-copy perms out + assert_file_has_mode out/afile 755 ++ stat -c %a out/afile + mode=755 + '[' 755 '!=' 755 ']' + ostree --repo=/var/tmp/tap-test.BWaNWW/repo checkout -U -H --union-identical perms out + assert_file_has_mode out/afile 755 ++ stat -c %a out/afile + mode=755 + '[' 755 '!=' 755 ']' + echo 'ok automatic canonical perms for bare-user-only' + run_exit_cmds + for expr in "${libtest_exit_cmds[@]}" object fsck of 1 commits completed successfully - no errors found. + eval save_core ++ save_core ++ '[' -e core ']' + for expr in "${libtest_exit_cmds[@]}" + eval libtest_cleanup_gpg ++ libtest_cleanup_gpg ++ local gpg_homedir=/var/tmp/tap-test.BWaNWW/gpghome ++ gpg-connect-agent --homedir /var/tmp/tap-test.BWaNWW/gpghome killagent /bye gpg-connect-agent: no running gpg-agent - starting '/usr/bin/gpg-agent' gpg-connect-agent: waiting for the agent to come up ... (5s) gpg-connect-agent: connection to the agent established ok automatic canonical perms for bare-user-only PASS: tests/test-basic-user-only.sh 97 automatic canonical perms for bare-user-only OK closing connection SKIP: tests/test-basic-root.sh ============================== Copying gpghome to /var/tmp/tap-test.ayXPr6 checking for xattrs.../usr/bin/setfattr # setfattr: testlabel.txt: Operation not supported /var/tmp/tap-test.ayXPr6 /var/tmp/tap-test.ayXPr6 Found SELinux label, but unable to set (Unprivileged Docker?) /var/tmp/tap-test.ayXPr6 mknod: /var/tmp/tap-test.ayXPr6/.test-whiteout: Operation not permitted done ++ BUILT_WITH_ASAN= ++ test -n '' ++ CMD_PREFIX= ++ test -n '' ++ test -z '' ++ OSTREE_HTTPD=/home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ++ '[' -x /home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ']' ++ _have_user_xattrs= ++ _have_systemd_and_libmount= ++ _have_strace_fault_injection= ++ libtest_exit_cmds+=(libtest_cleanup_gpg) ++ ED25519PUBLIC= ++ ED25519SEED= ++ ED25519SECRET= ++ id -u + id=1000710000 + test 1000710000 '!=' 0 + skip 'continued basic tests must be run as root (possibly in a container)' + echo '1..0 # SKIP' 'continued basic tests must be run as root (possibly in a container)' + exit 0 + run_exit_cmds + for expr in "${libtest_exit_cmds[@]}" + eval save_core checking for overlayfs whiteouts...done ++ save_core ++ '[' -e core ']' + for expr in "${libtest_exit_cmds[@]}" + eval libtest_cleanup_gpg ++ libtest_cleanup_gpg ++ local gpg_homedir=/var/tmp/tap-test.ayXPr6/gpghome ++ gpg-connect-agent --homedir /var/tmp/tap-test.ayXPr6/gpghome killagent /bye gpg-connect-agent: no running gpg-agent - starting '/usr/bin/gpg-agent' gpg-connect-agent: waiting for the agent to come up ... (5s) gpg-connect-agent: connection to the agent established 1..0 # SKIP continued basic tests must be run as root (possibly in a container) SKIP: tests/test-basic-root.sh - continued basic tests must be run as root (possibly in a container) OK closing connection SKIP: tests/test-composefs.sh ============================= Copying gpghome to /var/tmp/tap-test.z2xvnW checking for xattrs.../usr/bin/setfattr # setfattr: testlabel.txt: Operation not supported /var/tmp/tap-test.z2xvnW /var/tmp/tap-test.z2xvnW Found SELinux label, but unable to set (Unprivileged Docker?) /var/tmp/tap-test.z2xvnW mknod: /var/tmp/tap-test.z2xvnW/.test-whiteout: Operation not permitted done ++ BUILT_WITH_ASAN= ++ test -n '' ++ CMD_PREFIX= ++ test -n '' ++ test -z '' ++ OSTREE_HTTPD=/home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ++ '[' -x /home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ']' ++ _have_user_xattrs= ++ _have_systemd_and_libmount= ++ _have_strace_fault_injection= ++ libtest_exit_cmds+=(libtest_cleanup_gpg) ++ ED25519PUBLIC= ++ ED25519SEED= ++ ED25519SECRET= + ostree --version + grep -q -e '- composefs' + echo '1..0 #SKIP no composefs support compiled in' + exit 0 checking for overlayfs whiteouts...done + run_exit_cmds + for expr in "${libtest_exit_cmds[@]}" + eval save_core ++ save_core ++ '[' -e core ']' + for expr in "${libtest_exit_cmds[@]}" + eval libtest_cleanup_gpg ++ libtest_cleanup_gpg ++ local gpg_homedir=/var/tmp/tap-test.z2xvnW/gpghome ++ gpg-connect-agent --homedir /var/tmp/tap-test.z2xvnW/gpghome killagent /bye gpg-connect-agent: no running gpg-agent - starting '/usr/bin/gpg-agent' gpg-connect-agent: waiting for the agent to come up ... (5s) gpg-connect-agent: connection to the agent established 1..0 #SKIP no composefs support compiled in SKIP: tests/test-composefs.sh - no composefs support compiled in OK closing connection SKIP: tests/test-admin-deploy-whiteouts.sh ========================================== ++ dirname /home/jenkins/agent/workspace/ostree_PR-3054/tests/test-admin-deploy-whiteouts.sh + . /home/jenkins/agent/workspace/ostree_PR-3054/tests/libtest.sh +++ dirname /home/jenkins/agent/workspace/ostree_PR-3054/tests/test-admin-deploy-whiteouts.sh ++ dn=/home/jenkins/agent/workspace/ostree_PR-3054/tests ++ '[' -n /home/jenkins/agent/workspace/ostree_PR-3054 ']' ++ test_srcdir=/home/jenkins/agent/workspace/ostree_PR-3054/tests ++ top_builddir=/home/jenkins/agent/workspace/ostree_PR-3054 ++ test -z /home/jenkins/agent/workspace/ostree_PR-3054 ++ test_builddir=/home/jenkins/agent/workspace/ostree_PR-3054/tests ++ . /home/jenkins/agent/workspace/ostree_PR-3054/tests/libtest-core.sh +++ n_tap_tests=0 +++ type -p locale ++++ locale -a ++++ grep -iEe '^(C|en_US)\.(UTF-8|utf8)$' ++++ head -n1 +++ export LC_ALL=C.utf8 +++ LC_ALL=C.utf8 +++ '[' -z C.utf8 ']' +++ unset LANGUAGE +++ export G_DEBUG=fatal-warnings +++ G_DEBUG=fatal-warnings +++ trap report_err ERR ++ PATH=/home/jenkins/agent/workspace/ostree_PR-3054/tests:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/sbin ++ libtest_exit_cmds=() ++ trap run_exit_cmds EXIT ++ libtest_exit_cmds+=(save_core) +++ pwd ++ test_tmpdir=/var/tmp/tap-test.tUq738 ++ test -f .testtmp ++ unset SOURCE_DATE_EPOCH ++ unset TAR_OPTIONS ++ export OSTREE_SYSROOT_DEBUG=mutable-deployments ++ OSTREE_SYSROOT_DEBUG=mutable-deployments ++ export OSTREE_SKIP_CACHE=1 ++ OSTREE_SKIP_CACHE=1 ++ export TEST_GPG_KEYID_1=7FCA23D8472CDAFA ++ TEST_GPG_KEYID_1=7FCA23D8472CDAFA ++ export TEST_GPG_KEYFPR_1=5E65DE75AB1C501862D476347FCA23D8472CDAFA ++ TEST_GPG_KEYFPR_1=5E65DE75AB1C501862D476347FCA23D8472CDAFA ++ export TEST_GPG_KEYID_2=D8228CFECA950D41 ++ TEST_GPG_KEYID_2=D8228CFECA950D41 ++ export TEST_GPG_KEYFPR_2=7B3B1020D74479687FDB2273D8228CFECA950D41 ++ TEST_GPG_KEYFPR_2=7B3B1020D74479687FDB2273D8228CFECA950D41 ++ export TEST_GPG_KEYID_3=0D15FAE7DF444D67 ++ TEST_GPG_KEYID_3=0D15FAE7DF444D67 ++ export TEST_GPG_KEYFPR_3=7D29CF060B8269CDF63BFBDD0D15FAE7DF444D67 ++ TEST_GPG_KEYFPR_3=7D29CF060B8269CDF63BFBDD0D15FAE7DF444D67 ++ echo 'Copying gpghome to /var/tmp/tap-test.tUq738' ++ cp -a /home/jenkins/agent/workspace/ostree_PR-3054/tests/gpghome /var/tmp/tap-test.tUq738 ++ chmod -R u+w /var/tmp/tap-test.tUq738 ++ chmod 700 /var/tmp/tap-test.tUq738/gpghome ++ export TEST_GPG_KEYHOME=/var/tmp/tap-test.tUq738/gpghome ++ TEST_GPG_KEYHOME=/var/tmp/tap-test.tUq738/gpghome ++ export OSTREE_GPG_HOME=/var/tmp/tap-test.tUq738/gpghome/trusted ++ OSTREE_GPG_HOME=/var/tmp/tap-test.tUq738/gpghome/trusted ++ _have_selinux_relabel= ++ echo -n checking for xattrs... ++ have_selinux_relabel ++ assert_has_setfattr ++ which setfattr ++ test '' = '' ++ pushd /var/tmp/tap-test.tUq738 ++ echo testlabel ++ selinux_xattr=security.selinux ++ getfattr --encoding=base64 -n security.selinux testlabel.txt Copying gpghome to /var/tmp/tap-test.tUq738 checking for xattrs.../usr/bin/setfattr +++ grep -E -e '^security.selinux=' +++ sed -e s,security.selinux=,, ++ label=0sc3lzdGVtX3U6b2JqZWN0X3I6Y29udGFpbmVyX2ZpbGVfdDpzMDpjNCxjMjcA ++ setfattr -n security.selinux -v 0sc3lzdGVtX3U6b2JqZWN0X3I6Y29udGFpbmVyX2ZpbGVfdDpzMDpjNCxjMjcA testlabel.txt ++ sed -e 's/^/# /' # setfattr: testlabel.txt: Operation not supported ++ echo 'Found SELinux label, but unable to set (Unprivileged Docker?)' ++ _have_selinux_relabel=no ++ popd ++ test no = yes /var/tmp/tap-test.tUq738 /var/tmp/tap-test.tUq738 Found SELinux label, but unable to set (Unprivileged Docker?) ++ export OSTREE_SYSROOT_DEBUG=mutable-deployments,no-xattrs ++ OSTREE_SYSROOT_DEBUG=mutable-deployments,no-xattrs ++ export OSTREE_NO_XATTRS=1 ++ OSTREE_NO_XATTRS=1 ++ echo done /var/tmp/tap-test.tUq738 ++ echo -n checking for overlayfs whiteouts... ++ can_create_whiteout_devices ++ mknod -m 000 /var/tmp/tap-test.tUq738/.test-whiteout c 0 0 mknod: /var/tmp/tap-test.tUq738/.test-whiteout: Operation not permitted ++ return 1 ++ export OSTREE_NO_WHITEOUTS=1 ++ OSTREE_NO_WHITEOUTS=1 ++ echo done done ++ test -n 1 ++ set -x ++ BUILT_WITH_ASAN= ++ test -n '' ++ CMD_PREFIX= ++ test -n '' ++ test -z '' ++ OSTREE_HTTPD=/home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ++ '[' -x /home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ']' ++ _have_user_xattrs= ++ _have_systemd_and_libmount= ++ _have_strace_fault_injection= ++ libtest_exit_cmds+=(libtest_cleanup_gpg) ++ ED25519PUBLIC= ++ ED25519SEED= ++ ED25519SECRET= + skip_without_whiteouts_devices + can_create_whiteout_devices + mknod -m 000 /var/tmp/tap-test.tUq738/.test-whiteout c 0 0 mknod: /var/tmp/tap-test.tUq738/.test-whiteout: Operation not permitted + return 1 + skip 'this test requires whiteout device support (test outside containers)' + echo '1..0 # SKIP' 'this test requires whiteout device support (test outside containers)' + exit 0 checking for overlayfs whiteouts...done + run_exit_cmds + for expr in "${libtest_exit_cmds[@]}" + eval save_core ++ save_core ++ '[' -e core ']' + for expr in "${libtest_exit_cmds[@]}" + eval libtest_cleanup_gpg ++ libtest_cleanup_gpg ++ local gpg_homedir=/var/tmp/tap-test.tUq738/gpghome ++ gpg-connect-agent --homedir /var/tmp/tap-test.tUq738/gpghome killagent /bye gpg-connect-agent: no running gpg-agent - starting '/usr/bin/gpg-agent' gpg-connect-agent: waiting for the agent to come up ... (5s) gpg-connect-agent: connection to the agent established 1..0 # SKIP this test requires whiteout device support (test outside containers) SKIP: tests/test-admin-deploy-whiteouts.sh - this test requires whiteout device support (test outside containers) OK closing connection SKIP: tests/test-delta-ed25519.sh ================================= Copying gpghome to /var/tmp/tap-test.wSH5J0 checking for xattrs.../usr/bin/setfattr # setfattr: testlabel.txt: Operation not supported /var/tmp/tap-test.wSH5J0 /var/tmp/tap-test.wSH5J0 Found SELinux label, but unable to set (Unprivileged Docker?) /var/tmp/tap-test.wSH5J0 mknod: /var/tmp/tap-test.wSH5J0/.test-whiteout: Operation not permitted done ++ BUILT_WITH_ASAN= ++ test -n '' ++ CMD_PREFIX= ++ test -n '' ++ test -z '' ++ OSTREE_HTTPD=/home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ++ '[' -x /home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ']' ++ _have_user_xattrs= ++ _have_systemd_and_libmount= ++ _have_strace_fault_injection= ++ libtest_exit_cmds+=(libtest_cleanup_gpg) ++ ED25519PUBLIC= ++ ED25519SEED= ++ ED25519SECRET= + skip_without_user_xattrs + have_user_xattrs + assert_has_setfattr + which setfattr checking for overlayfs whiteouts...done + test '' = '' + touch test-xattrs + setfattr -n user.testvalue -v somevalue test-xattrs + _have_user_xattrs=yes + rm -f test-xattrs + test yes = yes + skip_without_sign_ed25519 + has_sign_ed25519 + local ret + ostree --version + grep -q -e '- sign-ed25519' version.txt + ret=1 + rm -f version.txt + return 1 + skip 'no ed25519 support compiled in' + echo '1..0 # SKIP' 'no ed25519 support compiled in' + exit 0 + run_exit_cmds /usr/bin/setfattr + for expr in "${libtest_exit_cmds[@]}" + eval save_core ++ save_core ++ '[' -e core ']' + for expr in "${libtest_exit_cmds[@]}" + eval libtest_cleanup_gpg ++ libtest_cleanup_gpg ++ local gpg_homedir=/var/tmp/tap-test.wSH5J0/gpghome ++ gpg-connect-agent --homedir /var/tmp/tap-test.wSH5J0/gpghome killagent /bye gpg-connect-agent: no running gpg-agent - starting '/usr/bin/gpg-agent' gpg-connect-agent: waiting for the agent to come up ... (5s) gpg-connect-agent: connection to the agent established 1..0 # SKIP no ed25519 support compiled in SKIP: tests/test-delta-ed25519.sh - no ed25519 support compiled in OK closing connection SKIP: tests/test-xattrs.sh ========================== Copying gpghome to /var/tmp/tap-test.bukZAJ checking for xattrs.../usr/bin/setfattr # setfattr: testlabel.txt: Operation not supported /var/tmp/tap-test.bukZAJ /var/tmp/tap-test.bukZAJ Found SELinux label, but unable to set (Unprivileged Docker?) /var/tmp/tap-test.bukZAJ mknod: /var/tmp/tap-test.bukZAJ/.test-whiteout: Operation not permitted done ++ BUILT_WITH_ASAN= ++ test -n '' ++ CMD_PREFIX= ++ test -n '' ++ test -z '' ++ OSTREE_HTTPD=/home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ++ '[' -x /home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ']' ++ _have_user_xattrs= ++ _have_systemd_and_libmount= ++ _have_strace_fault_injection= ++ libtest_exit_cmds+=(libtest_cleanup_gpg) ++ ED25519PUBLIC= ++ ED25519SEED= ++ ED25519SECRET= + skip 'We don'\''t really have a use case for committing user. xattrs right now. See also https://github.com/ostreedev/ostree/issues/758' + echo '1..0 # SKIP' 'We don'\''t really have a use case for committing user. xattrs right now. See also https://github.com/ostreedev/ostree/issues/758' + exit 0 checking for overlayfs whiteouts...done + run_exit_cmds + for expr in "${libtest_exit_cmds[@]}" + eval save_core ++ save_core ++ '[' -e core ']' + for expr in "${libtest_exit_cmds[@]}" + eval libtest_cleanup_gpg ++ libtest_cleanup_gpg ++ local gpg_homedir=/var/tmp/tap-test.bukZAJ/gpghome ++ gpg-connect-agent --homedir /var/tmp/tap-test.bukZAJ/gpghome killagent /bye gpg-connect-agent: no running gpg-agent - starting '/usr/bin/gpg-agent' gpg-connect-agent: waiting for the agent to come up ... (5s) gpg-connect-agent: connection to the agent established 1..0 # SKIP We don't really have a use case for committing user. xattrs right now. See also https://github.com/ostreedev/ostree/issues/758 SKIP: tests/test-xattrs.sh - We don't really have a use case for committing user. xattrs right now. See also https://github.com/ostreedev/ostree/issues/758 OK closing connection SKIP: tests/test-demo-buildsystem.sh ==================================== Copying gpghome to /var/tmp/tap-test.kpugBb checking for xattrs.../usr/bin/setfattr # setfattr: testlabel.txt: Operation not supported /var/tmp/tap-test.kpugBb /var/tmp/tap-test.kpugBb Found SELinux label, but unable to set (Unprivileged Docker?) /var/tmp/tap-test.kpugBb mknod: /var/tmp/tap-test.kpugBb/.test-whiteout: Operation not permitted done ++ BUILT_WITH_ASAN= ++ test -n '' ++ CMD_PREFIX= ++ test -n '' ++ test -z '' ++ OSTREE_HTTPD=/home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ++ '[' -x /home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ']' ++ _have_user_xattrs= ++ _have_systemd_and_libmount= ++ _have_strace_fault_injection= ++ libtest_exit_cmds+=(libtest_cleanup_gpg) ++ ED25519PUBLIC= ++ ED25519SEED= ++ ED25519SECRET= + skip_without_fuse + fusermount --version + capsh --print + grep -q 'Bounding set.*[^a-z]cap_sys_admin' + skip 'No cap_sys_admin in bounding set, can'\''t use FUSE' + echo '1..0 # SKIP' 'No cap_sys_admin in bounding set, can'\''t use FUSE' + exit 0 checking for overlayfs whiteouts...done + run_exit_cmds + for expr in "${libtest_exit_cmds[@]}" + eval save_core ++ save_core ++ '[' -e core ']' + for expr in "${libtest_exit_cmds[@]}" + eval libtest_cleanup_gpg ++ libtest_cleanup_gpg ++ local gpg_homedir=/var/tmp/tap-test.kpugBb/gpghome ++ gpg-connect-agent --homedir /var/tmp/tap-test.kpugBb/gpghome killagent /bye gpg-connect-agent: no running gpg-agent - starting '/usr/bin/gpg-agent' gpg-connect-agent: waiting for the agent to come up ... (5s) gpg-connect-agent: connection to the agent established 1..0 # SKIP No cap_sys_admin in bounding set, can't use FUSE SKIP: tests/test-demo-buildsystem.sh - No cap_sys_admin in bounding set, can't use FUSE OK closing connection SKIP: tests/test-switchroot.sh ============================== + this_script=/home/jenkins/agent/workspace/ostree_PR-3054/tests/test-switchroot.sh ++ dirname /home/jenkins/agent/workspace/ostree_PR-3054/tests/test-switchroot.sh + OSTREE_PREPARE_ROOT=/home/jenkins/agent/workspace/ostree_PR-3054/tests/../ostree-prepare-root + '[' '!' -x /home/jenkins/agent/workspace/ostree_PR-3054/tests/../ostree-prepare-root ']' + '[' /home/jenkins/agent/workspace/ostree_PR-3054/tests/test-switchroot.sh = /home/jenkins/agent/workspace/ostree_PR-3054/tests/test-switchroot.sh ']' ++ dirname /home/jenkins/agent/workspace/ostree_PR-3054/tests/test-switchroot.sh + . /home/jenkins/agent/workspace/ostree_PR-3054/tests/libtest.sh +++ dirname /home/jenkins/agent/workspace/ostree_PR-3054/tests/test-switchroot.sh ++ dn=/home/jenkins/agent/workspace/ostree_PR-3054/tests ++ '[' -n /home/jenkins/agent/workspace/ostree_PR-3054 ']' ++ test_srcdir=/home/jenkins/agent/workspace/ostree_PR-3054/tests ++ top_builddir=/home/jenkins/agent/workspace/ostree_PR-3054 ++ test -z /home/jenkins/agent/workspace/ostree_PR-3054 ++ test_builddir=/home/jenkins/agent/workspace/ostree_PR-3054/tests ++ . /home/jenkins/agent/workspace/ostree_PR-3054/tests/libtest-core.sh +++ n_tap_tests=0 +++ type -p locale ++++ locale -a ++++ grep -iEe '^(C|en_US)\.(UTF-8|utf8)$' ++++ head -n1 +++ export LC_ALL=C.utf8 +++ LC_ALL=C.utf8 +++ '[' -z C.utf8 ']' +++ unset LANGUAGE +++ export G_DEBUG=fatal-warnings +++ G_DEBUG=fatal-warnings +++ trap report_err ERR ++ PATH=/home/jenkins/agent/workspace/ostree_PR-3054/tests:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/sbin ++ libtest_exit_cmds=() ++ trap run_exit_cmds EXIT ++ libtest_exit_cmds+=(save_core) +++ pwd ++ test_tmpdir=/var/tmp/tap-test.M3T0CT ++ test -f .testtmp ++ unset SOURCE_DATE_EPOCH ++ unset TAR_OPTIONS ++ export OSTREE_SYSROOT_DEBUG=mutable-deployments ++ OSTREE_SYSROOT_DEBUG=mutable-deployments ++ export OSTREE_SKIP_CACHE=1 ++ OSTREE_SKIP_CACHE=1 ++ export TEST_GPG_KEYID_1=7FCA23D8472CDAFA ++ TEST_GPG_KEYID_1=7FCA23D8472CDAFA ++ export TEST_GPG_KEYFPR_1=5E65DE75AB1C501862D476347FCA23D8472CDAFA ++ TEST_GPG_KEYFPR_1=5E65DE75AB1C501862D476347FCA23D8472CDAFA ++ export TEST_GPG_KEYID_2=D8228CFECA950D41 ++ TEST_GPG_KEYID_2=D8228CFECA950D41 ++ export TEST_GPG_KEYFPR_2=7B3B1020D74479687FDB2273D8228CFECA950D41 ++ TEST_GPG_KEYFPR_2=7B3B1020D74479687FDB2273D8228CFECA950D41 ++ export TEST_GPG_KEYID_3=0D15FAE7DF444D67 ++ TEST_GPG_KEYID_3=0D15FAE7DF444D67 ++ export TEST_GPG_KEYFPR_3=7D29CF060B8269CDF63BFBDD0D15FAE7DF444D67 ++ TEST_GPG_KEYFPR_3=7D29CF060B8269CDF63BFBDD0D15FAE7DF444D67 ++ echo 'Copying gpghome to /var/tmp/tap-test.M3T0CT' ++ cp -a /home/jenkins/agent/workspace/ostree_PR-3054/tests/gpghome /var/tmp/tap-test.M3T0CT ++ chmod -R u+w /var/tmp/tap-test.M3T0CT ++ chmod 700 /var/tmp/tap-test.M3T0CT/gpghome ++ export TEST_GPG_KEYHOME=/var/tmp/tap-test.M3T0CT/gpghome ++ TEST_GPG_KEYHOME=/var/tmp/tap-test.M3T0CT/gpghome ++ export OSTREE_GPG_HOME=/var/tmp/tap-test.M3T0CT/gpghome/trusted ++ OSTREE_GPG_HOME=/var/tmp/tap-test.M3T0CT/gpghome/trusted ++ _have_selinux_relabel= ++ echo -n checking for xattrs... ++ have_selinux_relabel ++ assert_has_setfattr ++ which setfattr ++ test '' = '' ++ pushd /var/tmp/tap-test.M3T0CT ++ echo testlabel ++ selinux_xattr=security.selinux ++ getfattr --encoding=base64 -n security.selinux testlabel.txt +++ grep -E -e '^security.selinux=' +++ sed -e s,security.selinux=,, Copying gpghome to /var/tmp/tap-test.M3T0CT checking for xattrs.../usr/bin/setfattr ++ label=0sc3lzdGVtX3U6b2JqZWN0X3I6Y29udGFpbmVyX2ZpbGVfdDpzMDpjNCxjMjcA ++ setfattr -n security.selinux -v 0sc3lzdGVtX3U6b2JqZWN0X3I6Y29udGFpbmVyX2ZpbGVfdDpzMDpjNCxjMjcA testlabel.txt ++ sed -e 's/^/# /' # setfattr: testlabel.txt: Operation not supported ++ echo 'Found SELinux label, but unable to set (Unprivileged Docker?)' ++ _have_selinux_relabel=no ++ popd ++ test no = yes /var/tmp/tap-test.M3T0CT /var/tmp/tap-test.M3T0CT Found SELinux label, but unable to set (Unprivileged Docker?) ++ export OSTREE_SYSROOT_DEBUG=mutable-deployments,no-xattrs ++ OSTREE_SYSROOT_DEBUG=mutable-deployments,no-xattrs ++ export OSTREE_NO_XATTRS=1 ++ OSTREE_NO_XATTRS=1 ++ echo done /var/tmp/tap-test.M3T0CT ++ echo -n checking for overlayfs whiteouts... ++ can_create_whiteout_devices ++ mknod -m 000 /var/tmp/tap-test.M3T0CT/.test-whiteout c 0 0 mknod: /var/tmp/tap-test.M3T0CT/.test-whiteout: Operation not permitted ++ return 1 ++ export OSTREE_NO_WHITEOUTS=1 ++ OSTREE_NO_WHITEOUTS=1 ++ echo done done ++ test -n 1 ++ set -x ++ BUILT_WITH_ASAN= ++ test -n '' ++ CMD_PREFIX= ++ test -n '' ++ test -z '' ++ OSTREE_HTTPD=/home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ++ '[' -x /home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ']' ++ _have_user_xattrs= ++ _have_systemd_and_libmount= ++ _have_strace_fault_injection= ++ libtest_exit_cmds+=(libtest_cleanup_gpg) ++ ED25519PUBLIC= ++ ED25519SEED= ++ ED25519SECRET= + unshare -m true unshare: unshare failed: Function not implemented + skip 'this test needs to set up mount namespaces, rerun as root' + echo '1..0 # SKIP' 'this test needs to set up mount namespaces, rerun as root' + exit 0 checking for overlayfs whiteouts...done + run_exit_cmds + for expr in "${libtest_exit_cmds[@]}" + eval save_core ++ save_core ++ '[' -e core ']' + for expr in "${libtest_exit_cmds[@]}" + eval libtest_cleanup_gpg ++ libtest_cleanup_gpg ++ local gpg_homedir=/var/tmp/tap-test.M3T0CT/gpghome ++ gpg-connect-agent --homedir /var/tmp/tap-test.M3T0CT/gpghome killagent /bye gpg-connect-agent: no running gpg-agent - starting '/usr/bin/gpg-agent' gpg-connect-agent: waiting for the agent to come up ... (5s) gpg-connect-agent: connection to the agent established 1..0 # SKIP this test needs to set up mount namespaces, rerun as root SKIP: tests/test-switchroot.sh - this test needs to set up mount namespaces, rerun as root OK closing connection SKIP: tests/test-repo-finder-mount-integration.sh ================================================= Copying gpghome to /var/tmp/tap-test.2RIMAW checking for xattrs.../usr/bin/setfattr # setfattr: testlabel.txt: Operation not supported /var/tmp/tap-test.2RIMAW /var/tmp/tap-test.2RIMAW Found SELinux label, but unable to set (Unprivileged Docker?) /var/tmp/tap-test.2RIMAW mknod: /var/tmp/tap-test.2RIMAW/.test-whiteout: Operation not permitted done ++ BUILT_WITH_ASAN= ++ test -n '' ++ CMD_PREFIX= ++ test -n '' ++ test -z '' ++ OSTREE_HTTPD=/home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ++ '[' -x /home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ']' ++ _have_user_xattrs= ++ _have_systemd_and_libmount= ++ _have_strace_fault_injection= ++ libtest_exit_cmds+=(libtest_cleanup_gpg) ++ ED25519PUBLIC= ++ ED25519SEED= ++ ED25519SECRET= + skip_without_sudo + test -z '' + skip 'this test needs sudo, skipping without OSTREE_TEST_SUDO being set' + echo '1..0 # SKIP' 'this test needs sudo, skipping without OSTREE_TEST_SUDO being set' + exit 0 checking for overlayfs whiteouts...done + run_exit_cmds + for expr in "${libtest_exit_cmds[@]}" + eval save_core ++ save_core ++ '[' -e core ']' + for expr in "${libtest_exit_cmds[@]}" + eval libtest_cleanup_gpg ++ libtest_cleanup_gpg ++ local gpg_homedir=/var/tmp/tap-test.2RIMAW/gpghome ++ gpg-connect-agent --homedir /var/tmp/tap-test.2RIMAW/gpghome killagent /bye gpg-connect-agent: no running gpg-agent - starting '/usr/bin/gpg-agent' gpg-connect-agent: waiting for the agent to come up ... (5s) gpg-connect-agent: connection to the agent established 1..0 # SKIP this test needs sudo, skipping without OSTREE_TEST_SUDO being set SKIP: tests/test-repo-finder-mount-integration.sh - this test needs sudo, skipping without OSTREE_TEST_SUDO being set OK closing connection PASS: tests/test-signed-commit.sh ================================= Copying gpghome to /var/tmp/tap-test.nizjTx checking for xattrs.../usr/bin/setfattr # setfattr: testlabel.txt: Operation not supported /var/tmp/tap-test.nizjTx /var/tmp/tap-test.nizjTx Found SELinux label, but unable to set (Unprivileged Docker?) /var/tmp/tap-test.nizjTx mknod: /var/tmp/tap-test.nizjTx/.test-whiteout: Operation not permitted done ++ BUILT_WITH_ASAN= ++ test -n '' ++ CMD_PREFIX= ++ test -n '' ++ test -z '' ++ OSTREE_HTTPD=/home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ++ '[' -x /home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ']' ++ _have_user_xattrs= ++ _have_systemd_and_libmount= ++ _have_strace_fault_injection= ++ libtest_exit_cmds+=(libtest_cleanup_gpg) ++ ED25519PUBLIC= ++ ED25519SEED= ++ ED25519SECRET= + echo 1..11 checking for overlayfs whiteouts...done + export OSTREE_DUMMY_SIGN_ENABLED=1 + OSTREE_DUMMY_SIGN_ENABLED=1 + mkdir /var/tmp/tap-test.nizjTx/repo + ostree_repo_init repo --mode=archive + repo=repo + shift + ostree --repo=repo init --mode=archive + test -n 1 + echo -e 'disable-xattrs=true\n' + echo 'Unsigned commit' + ostree --repo=/var/tmp/tap-test.nizjTx/repo commit -b main -s 'Unsigned commit' 1..11 ++ ostree --repo=/var/tmp/tap-test.nizjTx/repo rev-parse main + COMMIT=80553f775bc1015bdf33806c27a6e866316eb53c8a6d41156339c608b3e408bd + DUMMYSIGN=dummysign + ostree --repo=/var/tmp/tap-test.nizjTx/repo sign --sign-type=dummy 80553f775bc1015bdf33806c27a6e866316eb53c8a6d41156339c608b3e408bd dummysign ++ echo dummysign ++ hexdump -n 9 -e '8/1 "0x%.2x, " 1/1 " 0x%.2x"' + EXPECTEDSIGN='0x64, 0x75, 0x6d, 0x6d, 0x79, 0x73, 0x69, 0x67, 0x6e' + ostree --repo=repo show 80553f775bc1015bdf33806c27a6e866316eb53c8a6d41156339c608b3e408bd --print-detached-metadata-key=ostree.sign.dummy + grep -q -e '0x64, 0x75, 0x6d, 0x6d, 0x79, 0x73, 0x69, 0x67, 0x6e' + echo 'ok Detached dummy signature added' + ostree --repo=/var/tmp/tap-test.nizjTx/repo sign --sign-type=dummy --verify 80553f775bc1015bdf33806c27a6e866316eb53c8a6d41156339c608b3e408bd dummysign 80553f775bc1015bdf33806c27a6e866316eb53c8a6d41156339c608b3e408bd ok Detached dummy signature added PASS: tests/test-signed-commit.sh 1 Detached dummy signature added + echo 'ok dummy signature verified' dummy: Signature verified + echo 'Signed commit with dummy key: dummysign' + ostree --repo=/var/tmp/tap-test.nizjTx/repo commit -b main -s 'Signed with dummy module' --sign=dummysign --sign-type=dummy ok dummy signature verified PASS: tests/test-signed-commit.sh 2 dummy signature verified ++ ostree --repo=/var/tmp/tap-test.nizjTx/repo rev-parse main + COMMIT=1769d8f0ad4f7ce2f6b21687dd992ec5e0f99a3a6b2dcc1eb56c1539b98dd7d6 + ostree --repo=/var/tmp/tap-test.nizjTx/repo sign --sign-type=dummy --verify 1769d8f0ad4f7ce2f6b21687dd992ec5e0f99a3a6b2dcc1eb56c1539b98dd7d6 dummysign 1769d8f0ad4f7ce2f6b21687dd992ec5e0f99a3a6b2dcc1eb56c1539b98dd7d6 + echo 'ok commit with dummy signing' + env -u OSTREE_DUMMY_SIGN_ENABLED ostree --repo=/var/tmp/tap-test.nizjTx/repo sign --sign-type=dummy --verify 1769d8f0ad4f7ce2f6b21687dd992ec5e0f99a3a6b2dcc1eb56c1539b98dd7d6 dummysign dummy: Signature verified + assert_file_has_content_literal err.txt ' No valid signatures found' + fpath=err.txt + shift + for s in "$@" + grep -q -F -e ' No valid signatures found' err.txt + echo 'ok dummy sig requires env' ok commit with dummy signing + has_sign_ed25519 + local ret + ostree --version PASS: tests/test-signed-commit.sh 3 commit with dummy signing + grep -q -e '- sign-ed25519' version.txt + ret=1 + rm -f version.txt + return 1 + echo 'ok Detached ed25519 signature # SKIP due libsodium unavailability' + echo 'ok ed25519 signature verified # SKIP due libsodium unavailability' ok dummy sig requires env + echo 'ok multiple signing # SKIP due libsodium unavailability' PASS: tests/test-signed-commit.sh 4 dummy sig requires env ok Detached ed25519 signature # SKIP due libsodium unavailability + echo 'ok verify ed25519 keys file # SKIP due libsodium unavailability' + echo 'ok sign with ed25519 keys file # SKIP due libsodium unavailability' + echo 'ok verify ed25519 system-wide configuration # SKIP due libsodium unavailability' + echo 'ok verify ed25519 revoking keys mechanism # SKIP due libsodium unavailability' + exit 0 + run_exit_cmds + for expr in "${libtest_exit_cmds[@]}" + eval save_core ++ save_core ++ '[' -e core ']' + for expr in "${libtest_exit_cmds[@]}" + eval libtest_cleanup_gpg ++ libtest_cleanup_gpg ++ local gpg_homedir=/var/tmp/tap-test.nizjTx/gpghome ++ gpg-connect-agent --homedir /var/tmp/tap-test.nizjTx/gpghome killagent /bye SKIP: tests/test-signed-commit.sh 5 Detached ed25519 signature # SKIP due libsodium unavailability ok ed25519 signature verified # SKIP due libsodium unavailability SKIP: tests/test-signed-commit.sh 6 ed25519 signature verified # SKIP due libsodium unavailability ok multiple signing # SKIP due libsodium unavailability SKIP: tests/test-signed-commit.sh 7 multiple signing # SKIP due libsodium unavailability ok verify ed25519 keys file # SKIP due libsodium unavailability SKIP: tests/test-signed-commit.sh 8 verify ed25519 keys file # SKIP due libsodium unavailability ok sign with ed25519 keys file # SKIP due libsodium unavailability SKIP: tests/test-signed-commit.sh 9 sign with ed25519 keys file # SKIP due libsodium unavailability ok verify ed25519 system-wide configuration # SKIP due libsodium unavailability SKIP: tests/test-signed-commit.sh 10 verify ed25519 system-wide configuration # SKIP due libsodium unavailability gpg-connect-agent: no running gpg-agent - starting '/usr/bin/gpg-agent' gpg-connect-agent: waiting for the agent to come up ... (5s) gpg-connect-agent: connection to the agent established ok verify ed25519 revoking keys mechanism # SKIP due libsodium unavailability SKIP: tests/test-signed-commit.sh 11 verify ed25519 revoking keys mechanism # SKIP due libsodium unavailability OK closing connection PASS: tests/test-signed-pull.sh =============================== Copying gpghome to /var/tmp/tap-test.PEnQZw checking for xattrs.../usr/bin/setfattr # setfattr: testlabel.txt: Operation not supported /var/tmp/tap-test.PEnQZw /var/tmp/tap-test.PEnQZw Found SELinux label, but unable to set (Unprivileged Docker?) /var/tmp/tap-test.PEnQZw mknod: /var/tmp/tap-test.PEnQZw/.test-whiteout: Operation not permitted done ++ BUILT_WITH_ASAN= ++ test -n '' ++ CMD_PREFIX= ++ test -n '' ++ test -z '' ++ OSTREE_HTTPD=/home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ++ '[' -x /home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ']' ++ _have_user_xattrs= ++ _have_systemd_and_libmount= ++ _have_strace_fault_injection= ++ libtest_exit_cmds+=(libtest_cleanup_gpg) ++ ED25519PUBLIC= ++ ED25519SEED= ++ ED25519SECRET= + echo 1..20 checking for overlayfs whiteouts...done + export OSTREE_DUMMY_SIGN_ENABLED=1 + OSTREE_DUMMY_SIGN_ENABLED=1 + setup_fake_remote_repo1 archive + mode=archive + shift + commit_opts= + '[' 0 -eq 0 ']' ++ pwd + oldpwd=/var/tmp/tap-test.PEnQZw + mkdir ostree-srv + cd ostree-srv + mkdir gnomerepo + ostree_repo_init gnomerepo --mode=archive + repo=gnomerepo + shift + ostree --repo=gnomerepo init --mode=archive + test -n 1 + echo -e 'disable-xattrs=true\n' + mkdir gnomerepo-files + cd gnomerepo-files + echo first + mkdir baz + echo moo + echo alien + ostree --repo=/var/tmp/tap-test.PEnQZw/ostree-srv/gnomerepo commit --add-metadata-string version=3.0 -b main -s 'A remote commit' -m 'Some Commit body' 1..20 + mkdir baz/deeper + ostree --repo=/var/tmp/tap-test.PEnQZw/ostree-srv/gnomerepo commit --add-metadata-string version=3.1 -b main -s 'Add deeper' 62901355f9f437a575492cc61fcf088b805d4fb3ba78b595560ac5d47ef058b8 + echo hi + mkdir baz/another/ + echo x + ostree --repo=/var/tmp/tap-test.PEnQZw/ostree-srv/gnomerepo commit --add-metadata-string version=3.2 -b main -s 'The rest' ee8788e76d1501d04011bac4047344350a2083c61631be6a5e8fae148d6911c7 + cd .. + rm -rf gnomerepo-files + cd /var/tmp/tap-test.PEnQZw + mkdir /var/tmp/tap-test.PEnQZw/httpd + cd httpd + ln -s /var/tmp/tap-test.PEnQZw/ostree-srv ostree ++ pwd + /home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd --autoexit --log-file /var/tmp/tap-test.PEnQZw/httpd/httpd.log --daemonize -p /var/tmp/tap-test.PEnQZw/httpd-port ++ cat /var/tmp/tap-test.PEnQZw/httpd-port + port=35235 + echo http://127.0.0.1:35235 + cd /var/tmp/tap-test.PEnQZw + export 'OSTREE= ostree --repo=repo' + OSTREE=' ostree --repo=repo' + repo_mode=archive + DUMMYSIGN=dummysign + COMMIT_ARGS='--sign=dummysign --sign-type=dummy' + repo_init --set=sign-verify=true + cd /var/tmp/tap-test.PEnQZw + rm repo -rf + mkdir repo + ostree_repo_init repo --mode=archive + repo=repo + shift + ostree --repo=repo init --mode=archive + test -n 1 + echo -e 'disable-xattrs=true\n' ++ cat httpd-address + ostree --repo=repo remote add --set=gpg-verify=false --set=sign-verify-summary=false origin http://127.0.0.1:35235/ostree/gnomerepo --set=sign-verify=true + cd /var/tmp/tap-test.PEnQZw + ostree --repo=ostree-srv/gnomerepo commit --sign=dummysign --sign-type=dummy -b main -s 'A signed commit' --tree=ref=main 51ab508cc8be33af99ebd40c6e928a6f038b58c83ef73be3224846ab134725bf + ostree --repo=ostree-srv/gnomerepo summary -u + ostree --repo=repo pull origin main error: Can't verify commit: signature: dummy: incorrect signatures found: 1 + echo 'ok pull failure without keys preloaded' + ostree --repo=repo config set 'remote "origin".verification-dummy-key' somewrongkey 354a3e56b155d2604d990a621a7db04d722ee833b1e945f78983f677fc5f8898 + ostree --repo=repo pull origin main error: Can't verify commit: signature: dummy: incorrect signatures found: 1 + echo 'ok pull failure with incorrect key option' ok pull failure without keys preloaded + ostree --repo=repo config unset 'remote "origin".verification-dummy-key' PASS: tests/test-signed-pull.sh 1 pull failure without keys preloaded + ostree --repo=repo config set 'remote "origin".verification-dummy-file' /non/existing/file + ostree --repo=repo pull origin main error: Failed loading 'dummy' keys from '/non/existing/file + echo 'ok pull failure with incorrect keys file option' ok pull failure with incorrect key option + ostree --repo=repo config set 'remote "origin".verification-dummy-key' dummysign PASS: tests/test-signed-pull.sh 2 pull failure with incorrect key option + ostree --repo=repo config unset 'remote "origin".verification-dummy-file' + test_signed_pull dummy '' + local sign_type=dummy + local comment= + cd /var/tmp/tap-test.PEnQZw + ostree --repo=ostree-srv/gnomerepo commit --sign=dummysign --sign-type=dummy -b main -s 'A signed commit' --tree=ref=main ok pull failure with incorrect keys file option PASS: tests/test-signed-pull.sh 3 pull failure with incorrect keys file option + ostree --repo=ostree-srv/gnomerepo summary -u ++ ostree --repo=ostree-srv/gnomerepo rev-parse main + csum=c12f83460ae9b5cde63b23081dff04dc19da12a459751e1788c7e41e4a727b43 + objpath=objects/c1/2f83460ae9b5cde63b23081dff04dc19da12a459751e1788c7e41e4a727b43.commitmeta + remotesig=ostree-srv/gnomerepo/objects/c1/2f83460ae9b5cde63b23081dff04dc19da12a459751e1788c7e41e4a727b43.commitmeta + localsig=repo/objects/c1/2f83460ae9b5cde63b23081dff04dc19da12a459751e1788c7e41e4a727b43.commitmeta + mv ostree-srv/gnomerepo/objects/c1/2f83460ae9b5cde63b23081dff04dc19da12a459751e1788c7e41e4a727b43.commitmeta ostree-srv/gnomerepo/objects/c1/2f83460ae9b5cde63b23081dff04dc19da12a459751e1788c7e41e4a727b43.commitmeta.bak + ostree --repo=repo --depth=0 pull origin main error: Can't verify commit without detached metadata + mv ostree-srv/gnomerepo/objects/c1/2f83460ae9b5cde63b23081dff04dc19da12a459751e1788c7e41e4a727b43.commitmeta.bak ostree-srv/gnomerepo/objects/c1/2f83460ae9b5cde63b23081dff04dc19da12a459751e1788c7e41e4a727b43.commitmeta + ostree --repo=repo pull origin main c12f83460ae9b5cde63b23081dff04dc19da12a459751e1788c7e41e4a727b43 + echo 'ok dummy pull signed commit' + rm repo/objects/c1/2f83460ae9b5cde63b23081dff04dc19da12a459751e1788c7e41e4a727b43.commitmeta 7 metadata, 5 content objects fetched; 843 B transferred in 0 seconds; 21 bytes content written + ostree --repo=repo pull origin main ok dummy pull signed commit PASS: tests/test-signed-pull.sh 4 dummy pull signed commit + test -f repo/objects/c1/2f83460ae9b5cde63b23081dff04dc19da12a459751e1788c7e41e4a727b43.commitmeta + echo 'ok dummy re-pull signature for stored commit' 1 metadata, 0 content objects fetched; 40 B transferred in 0 seconds; 0 bytes content written + repo_init --sign-verify=dummy=inline:dummysign + cd /var/tmp/tap-test.PEnQZw + rm repo -rf + mkdir repo + ostree_repo_init repo --mode=archive + repo=repo + shift + ostree --repo=repo init --mode=archive + test -n 1 + echo -e 'disable-xattrs=true\n' ++ cat httpd-address + ostree --repo=repo remote add --set=gpg-verify=false --set=sign-verify-summary=false origin http://127.0.0.1:35235/ostree/gnomerepo --sign-verify=dummy=inline:dummysign + test_signed_pull dummy 'from remote opt' + local sign_type=dummy + local 'comment=from remote opt' + cd /var/tmp/tap-test.PEnQZw + ostree --repo=ostree-srv/gnomerepo commit --sign=dummysign --sign-type=dummy -b main -s 'A signed commit' --tree=ref=main ok dummy re-pull signature for stored commit PASS: tests/test-signed-pull.sh 5 dummy re-pull signature for stored commit + ostree --repo=ostree-srv/gnomerepo summary -u ++ ostree --repo=ostree-srv/gnomerepo rev-parse main + csum=430dea9a0db314795e2c316cb7e3caab1b2e58464b6919938f0eafd667dfc781 + objpath=objects/43/0dea9a0db314795e2c316cb7e3caab1b2e58464b6919938f0eafd667dfc781.commitmeta + remotesig=ostree-srv/gnomerepo/objects/43/0dea9a0db314795e2c316cb7e3caab1b2e58464b6919938f0eafd667dfc781.commitmeta + localsig=repo/objects/43/0dea9a0db314795e2c316cb7e3caab1b2e58464b6919938f0eafd667dfc781.commitmeta + mv ostree-srv/gnomerepo/objects/43/0dea9a0db314795e2c316cb7e3caab1b2e58464b6919938f0eafd667dfc781.commitmeta ostree-srv/gnomerepo/objects/43/0dea9a0db314795e2c316cb7e3caab1b2e58464b6919938f0eafd667dfc781.commitmeta.bak + ostree --repo=repo --depth=0 pull origin main error: Can't verify commit without detached metadata + mv ostree-srv/gnomerepo/objects/43/0dea9a0db314795e2c316cb7e3caab1b2e58464b6919938f0eafd667dfc781.commitmeta.bak ostree-srv/gnomerepo/objects/43/0dea9a0db314795e2c316cb7e3caab1b2e58464b6919938f0eafd667dfc781.commitmeta + ostree --repo=repo pull origin main 430dea9a0db314795e2c316cb7e3caab1b2e58464b6919938f0eafd667dfc781 + echo 'ok dummyfrom remote opt pull signed commit' + rm repo/objects/43/0dea9a0db314795e2c316cb7e3caab1b2e58464b6919938f0eafd667dfc781.commitmeta 7 metadata, 5 content objects fetched; 843 B transferred in 0 seconds; 21 bytes content written + ostree --repo=repo pull origin main ok dummyfrom remote opt pull signed commit PASS: tests/test-signed-pull.sh 6 dummyfrom remote opt pull signed commit + test -f repo/objects/43/0dea9a0db314795e2c316cb7e3caab1b2e58464b6919938f0eafd667dfc781.commitmeta + echo 'ok dummyfrom remote opt re-pull signature for stored commit' 1 metadata, 0 content objects fetched; 40 B transferred in 0 seconds; 0 bytes content written + repo_init + cd /var/tmp/tap-test.PEnQZw + rm repo -rf + mkdir repo + ostree_repo_init repo --mode=archive + repo=repo + shift + ostree --repo=repo init --mode=archive + test -n 1 + echo -e 'disable-xattrs=true\n' ++ cat httpd-address + ostree --repo=repo remote add --set=gpg-verify=false --set=sign-verify-summary=false origin http://127.0.0.1:35235/ostree/gnomerepo + ostree --repo=repo config set 'remote "origin".sign-verify' dummy + ostree --repo=repo config set 'remote "origin".verification-dummy-key' dummysign + test_signed_pull dummy 'explicit value' + local sign_type=dummy + local 'comment=explicit value' + cd /var/tmp/tap-test.PEnQZw + ostree --repo=ostree-srv/gnomerepo commit --sign=dummysign --sign-type=dummy -b main -s 'A signed commit' --tree=ref=main ok dummyfrom remote opt re-pull signature for stored commit PASS: tests/test-signed-pull.sh 7 dummyfrom remote opt re-pull signature for stored commit + ostree --repo=ostree-srv/gnomerepo summary -u ++ ostree --repo=ostree-srv/gnomerepo rev-parse main + csum=76723b7b4c84e9b164d828166f48f2b20ad16c26e15690caf1270f29f7ac7151 + objpath=objects/76/723b7b4c84e9b164d828166f48f2b20ad16c26e15690caf1270f29f7ac7151.commitmeta + remotesig=ostree-srv/gnomerepo/objects/76/723b7b4c84e9b164d828166f48f2b20ad16c26e15690caf1270f29f7ac7151.commitmeta + localsig=repo/objects/76/723b7b4c84e9b164d828166f48f2b20ad16c26e15690caf1270f29f7ac7151.commitmeta + mv ostree-srv/gnomerepo/objects/76/723b7b4c84e9b164d828166f48f2b20ad16c26e15690caf1270f29f7ac7151.commitmeta ostree-srv/gnomerepo/objects/76/723b7b4c84e9b164d828166f48f2b20ad16c26e15690caf1270f29f7ac7151.commitmeta.bak + ostree --repo=repo --depth=0 pull origin main error: Can't verify commit without detached metadata + mv ostree-srv/gnomerepo/objects/76/723b7b4c84e9b164d828166f48f2b20ad16c26e15690caf1270f29f7ac7151.commitmeta.bak ostree-srv/gnomerepo/objects/76/723b7b4c84e9b164d828166f48f2b20ad16c26e15690caf1270f29f7ac7151.commitmeta + ostree --repo=repo pull origin main 76723b7b4c84e9b164d828166f48f2b20ad16c26e15690caf1270f29f7ac7151 + echo 'ok dummyexplicit value pull signed commit' + rm repo/objects/76/723b7b4c84e9b164d828166f48f2b20ad16c26e15690caf1270f29f7ac7151.commitmeta 7 metadata, 5 content objects fetched; 843 B transferred in 0 seconds; 21 bytes content written + ostree --repo=repo pull origin main ok dummyexplicit value pull signed commit PASS: tests/test-signed-pull.sh 8 dummyexplicit value pull signed commit + test -f repo/objects/76/723b7b4c84e9b164d828166f48f2b20ad16c26e15690caf1270f29f7ac7151.commitmeta + echo 'ok dummyexplicit value re-pull signature for stored commit' 1 metadata, 0 content objects fetched; 40 B transferred in 0 seconds; 0 bytes content written + repo_init + cd /var/tmp/tap-test.PEnQZw + rm repo -rf + mkdir repo + ostree_repo_init repo --mode=archive + repo=repo + shift + ostree --repo=repo init --mode=archive + test -n 1 + echo -e 'disable-xattrs=true\n' ++ cat httpd-address + ostree --repo=repo remote add --set=gpg-verify=false --set=sign-verify-summary=false origin http://127.0.0.1:35235/ostree/gnomerepo + ostree --repo=repo config set 'remote "origin".sign-verify' dummy + ostree --repo=repo pull origin main + assert_file_has_content err.txt 'No keys found for required signapi type dummy' + fpath=err.txt + shift + for re in "$@" + grep -q -e 'No keys found for required signapi type dummy' err.txt + echo 'ok explicit dummy but unconfigured' + repo_init + cd /var/tmp/tap-test.PEnQZw + rm repo -rf ok dummyexplicit value re-pull signature for stored commit PASS: tests/test-signed-pull.sh 9 dummyexplicit value re-pull signature for stored commit + mkdir repo + ostree_repo_init repo --mode=archive + repo=repo + shift + ostree --repo=repo init --mode=archive + test -n 1 + echo -e 'disable-xattrs=true\n' ++ cat httpd-address + ostree --repo=repo remote add --set=gpg-verify=false --set=sign-verify-summary=false origin http://127.0.0.1:35235/ostree/gnomerepo + ostree --repo=repo config set 'remote "origin".sign-verify' nosuchsystem + ostree --repo=repo config set 'remote "origin".verification-dummy-key' dummysign + ostree --repo=repo pull origin main + assert_file_has_content err.txt 'Requested signature type is not implemented' + fpath=err.txt + shift + for re in "$@" + grep -q -e 'Requested signature type is not implemented' err.txt + echo 'ok pull failure for unknown system' + repo_init + cd /var/tmp/tap-test.PEnQZw + rm repo -rf ok explicit dummy but unconfigured PASS: tests/test-signed-pull.sh 10 explicit dummy but unconfigured + mkdir repo + ostree_repo_init repo --mode=archive + repo=repo + shift + ostree --repo=repo init --mode=archive + test -n 1 + echo -e 'disable-xattrs=true\n' ++ cat httpd-address + ostree --repo=repo remote add --set=gpg-verify=false --set=sign-verify-summary=false origin http://127.0.0.1:35235/ostree/gnomerepo + ostree --repo=repo remote add other --sign-verify=trustme=inline:ok http://localhost + assert_file_has_content err.txt 'Requested signature type is not implemented' + fpath=err.txt + shift + for re in "$@" + grep -q -e 'Requested signature type is not implemented' err.txt + ostree --repo=repo remote add other --sign-verify=dummy http://localhost + assert_file_has_content err.txt 'Failed to parse KEYTYPE' + fpath=err.txt + shift + for re in "$@" + grep -q -e 'Failed to parse KEYTYPE' err.txt + ostree --repo=repo remote add other --sign-verify=dummy=foo:bar http://localhost + assert_file_has_content err.txt 'Invalid key reference' + fpath=err.txt + shift + for re in "$@" + grep -q -e 'Invalid key reference' err.txt + echo 'ok remote add errs' ok pull failure for unknown system + has_sign_ed25519 + local ret PASS: tests/test-signed-pull.sh 11 pull failure for unknown system + ostree --version + grep -q -e '- sign-ed25519' version.txt + ret=1 + rm -f version.txt + return 1 + echo 'ok ed25519-key pull signed commit # SKIP due libsodium unavailability' ok remote add errs + echo 'ok ed25519-key re-pull signature for stored commit # SKIP due libsodium unavailability' + echo 'ok ed25519-key+file pull signed commit # SKIP due libsodium unavailability' PASS: tests/test-signed-pull.sh 12 remote add errs ok ed25519-key pull signed commit # SKIP due libsodium unavailability + echo 'ok ed25519-key+file re-pull signature for stored commit # SKIP due libsodium unavailability' + echo 'ok ed25519-file pull signed commit # SKIP due libsodium unavailability' + echo 'ok ed25519-file re-pull signature for stored commit # SKIP due libsodium unavailability' + echo 'ok ed25519-inline # SKIP due libsodium unavailability' + echo 'ok ed25519-inline # SKIP due libsodium unavailability' + exit 0 + run_exit_cmds + for expr in "${libtest_exit_cmds[@]}" + eval save_core ++ save_core ++ '[' -e core ']' + for expr in "${libtest_exit_cmds[@]}" + eval libtest_cleanup_gpg ++ libtest_cleanup_gpg ++ local gpg_homedir=/var/tmp/tap-test.PEnQZw/gpghome ++ gpg-connect-agent --homedir /var/tmp/tap-test.PEnQZw/gpghome killagent /bye SKIP: tests/test-signed-pull.sh 13 ed25519-key pull signed commit # SKIP due libsodium unavailability ok ed25519-key re-pull signature for stored commit # SKIP due libsodium unavailability SKIP: tests/test-signed-pull.sh 14 ed25519-key re-pull signature for stored commit # SKIP due libsodium unavailability ok ed25519-key+file pull signed commit # SKIP due libsodium unavailability SKIP: tests/test-signed-pull.sh 15 ed25519-key+file pull signed commit # SKIP due libsodium unavailability ok ed25519-key+file re-pull signature for stored commit # SKIP due libsodium unavailability SKIP: tests/test-signed-pull.sh 16 ed25519-key+file re-pull signature for stored commit # SKIP due libsodium unavailability ok ed25519-file pull signed commit # SKIP due libsodium unavailability SKIP: tests/test-signed-pull.sh 17 ed25519-file pull signed commit # SKIP due libsodium unavailability ok ed25519-file re-pull signature for stored commit # SKIP due libsodium unavailability SKIP: tests/test-signed-pull.sh 18 ed25519-file re-pull signature for stored commit # SKIP due libsodium unavailability ok ed25519-inline # SKIP due libsodium unavailability SKIP: tests/test-signed-pull.sh 19 ed25519-inline # SKIP due libsodium unavailability gpg-connect-agent: no running gpg-agent - starting '/usr/bin/gpg-agent' gpg-connect-agent: waiting for the agent to come up ... (5s) gpg-connect-agent: connection to the agent established ok ed25519-inline # SKIP due libsodium unavailability SKIP: tests/test-signed-pull.sh 20 ed25519-inline # SKIP due libsodium unavailability OK closing connection SKIP: tests/test-pre-signed-pull.sh =================================== Copying gpghome to /var/tmp/tap-test.OqvT9g checking for xattrs.../usr/bin/setfattr # setfattr: testlabel.txt: Operation not supported /var/tmp/tap-test.OqvT9g /var/tmp/tap-test.OqvT9g Found SELinux label, but unable to set (Unprivileged Docker?) /var/tmp/tap-test.OqvT9g mknod: /var/tmp/tap-test.OqvT9g/.test-whiteout: Operation not permitted done ++ BUILT_WITH_ASAN= ++ test -n '' ++ CMD_PREFIX= ++ test -n '' ++ test -z '' ++ OSTREE_HTTPD=/home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ++ '[' -x /home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ']' ++ _have_user_xattrs= ++ _have_systemd_and_libmount= ++ _have_strace_fault_injection= ++ libtest_exit_cmds+=(libtest_cleanup_gpg) ++ ED25519PUBLIC= ++ ED25519SEED= ++ ED25519SECRET= + echo 1..1 checking for overlayfs whiteouts...done + has_sign_ed25519 + local ret + ostree --version + grep -q -e '- sign-ed25519' version.txt + ret=1 + rm -f version.txt + return 1 + echo 'ok pre-signed pull # SKIP due ed25519 unavailability' + exit 0 1..1 + run_exit_cmds + for expr in "${libtest_exit_cmds[@]}" + eval save_core ++ save_core ++ '[' -e core ']' + for expr in "${libtest_exit_cmds[@]}" + eval libtest_cleanup_gpg ++ libtest_cleanup_gpg ++ local gpg_homedir=/var/tmp/tap-test.OqvT9g/gpghome ++ gpg-connect-agent --homedir /var/tmp/tap-test.OqvT9g/gpghome killagent /bye gpg-connect-agent: no running gpg-agent - starting '/usr/bin/gpg-agent' gpg-connect-agent: waiting for the agent to come up ... (5s) gpg-connect-agent: connection to the agent established ok pre-signed pull # SKIP due ed25519 unavailability SKIP: tests/test-pre-signed-pull.sh 1 pre-signed pull # SKIP due ed25519 unavailability OK closing connection PASS: tests/test-signed-pull-summary.sh ======================================= Copying gpghome to /var/tmp/tap-test.KYvzpn checking for xattrs.../usr/bin/setfattr # setfattr: testlabel.txt: Operation not supported /var/tmp/tap-test.KYvzpn /var/tmp/tap-test.KYvzpn Found SELinux label, but unable to set (Unprivileged Docker?) /var/tmp/tap-test.KYvzpn mknod: /var/tmp/tap-test.KYvzpn/.test-whiteout: Operation not permitted done ++ BUILT_WITH_ASAN= ++ test -n '' ++ CMD_PREFIX= ++ test -n '' ++ test -z '' ++ OSTREE_HTTPD=/home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ++ '[' -x /home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ']' ++ _have_user_xattrs= ++ _have_systemd_and_libmount= ++ _have_strace_fault_injection= ++ libtest_exit_cmds+=(libtest_cleanup_gpg) ++ ED25519PUBLIC= ++ ED25519SEED= ++ ED25519SECRET= + echo 1..14 + unset OSTREE_SKIP_CACHE checking for overlayfs whiteouts...done + export OSTREE_DUMMY_SIGN_ENABLED=1 + OSTREE_DUMMY_SIGN_ENABLED=1 + for engine in dummy ed25519 + case "${engine}" in + SIGN_KEY=dummysign + PUBLIC_KEY=dummysign + COMMIT_SIGN='--sign-type=dummy --sign=dummysign' + rm -rf /var/tmp/tap-test.KYvzpn/ostree-srv /var/tmp/tap-test.KYvzpn/gnomerepo /var/tmp/tap-test.KYvzpn/httpd /var/tmp/tap-test.KYvzpn/repo /var/tmp/tap-test.KYvzpn/cachedir /var/tmp/tap-test.KYvzpn/main-copy /var/tmp/tap-test.KYvzpn/other-copy /var/tmp/tap-test.KYvzpn/yet-another-copy + setup_fake_remote_repo1 archive '--sign-type=dummy --sign=dummysign' + mode=archive + shift + commit_opts='--sign-type=dummy --sign=dummysign' + '[' 1 -eq 0 ']' + shift ++ pwd + oldpwd=/var/tmp/tap-test.KYvzpn + mkdir ostree-srv + cd ostree-srv + mkdir gnomerepo + ostree_repo_init gnomerepo --mode=archive + repo=gnomerepo + shift + ostree --repo=gnomerepo init --mode=archive + test -n 1 + echo -e 'disable-xattrs=true\n' + mkdir gnomerepo-files + cd gnomerepo-files + echo first + mkdir baz + echo moo + echo alien + ostree --repo=/var/tmp/tap-test.KYvzpn/ostree-srv/gnomerepo commit --sign-type=dummy --sign=dummysign --add-metadata-string version=3.0 -b main -s 'A remote commit' -m 'Some Commit body' 1..14 + mkdir baz/deeper + ostree --repo=/var/tmp/tap-test.KYvzpn/ostree-srv/gnomerepo commit --sign-type=dummy --sign=dummysign --add-metadata-string version=3.1 -b main -s 'Add deeper' d58fad1b012d73788b01510a27a227381c49082510f78aea098958ea8f7a612f + echo hi + mkdir baz/another/ + echo x + ostree --repo=/var/tmp/tap-test.KYvzpn/ostree-srv/gnomerepo commit --sign-type=dummy --sign=dummysign --add-metadata-string version=3.2 -b main -s 'The rest' 5ef9922607a149f34af9edc7859b0b64ef81874c045e9b7fa6ad521dcc73e259 + cd .. + rm -rf gnomerepo-files + cd /var/tmp/tap-test.KYvzpn + mkdir /var/tmp/tap-test.KYvzpn/httpd + cd httpd + ln -s /var/tmp/tap-test.KYvzpn/ostree-srv ostree ++ pwd + /home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd --autoexit --log-file /var/tmp/tap-test.KYvzpn/httpd/httpd.log --daemonize -p /var/tmp/tap-test.KYvzpn/httpd-port ++ cat /var/tmp/tap-test.KYvzpn/httpd-port + port=36919 + echo http://127.0.0.1:36919 + cd /var/tmp/tap-test.KYvzpn + export 'OSTREE= ostree --repo=repo' + OSTREE=' ostree --repo=repo' + mkdir /var/tmp/tap-test.KYvzpn/ostree-srv/other-files + cd /var/tmp/tap-test.KYvzpn/ostree-srv/other-files + echo 'hello world another object' + ostree --repo=/var/tmp/tap-test.KYvzpn/ostree-srv/gnomerepo commit --sign-type=dummy --sign=dummysign -b other -s 'A commit' -m 'Another Commit body' 7e9d0c13064efaa15982252622d2f3a58f8fe646f48e78afca6657328ff1c86c + mkdir /var/tmp/tap-test.KYvzpn/ostree-srv/yet-other-files + cd /var/tmp/tap-test.KYvzpn/ostree-srv/yet-other-files + echo 'hello world yet another object' + ostree --repo=/var/tmp/tap-test.KYvzpn/ostree-srv/gnomerepo commit --sign-type=dummy --sign=dummysign -b yet-another -s 'A commit' -m 'Another Commit body' c3ff7b23c585a396378212d43b649dad02a86ea089c1e36f5bf3b16359fb2401 + ostree --repo=/var/tmp/tap-test.KYvzpn/ostree-srv/gnomerepo summary -u ++ pwd + prev_dir=/var/tmp/tap-test.KYvzpn/ostree-srv/yet-other-files + cd /var/tmp/tap-test.KYvzpn + ostree_repo_init repo --mode=archive + repo=repo + shift + ostree --repo=repo init --mode=archive + test -n 1 + echo -e 'disable-xattrs=true\n' ++ cat httpd-address + ostree --repo=repo remote add --set=gpg-verify=false --set=gpg-verify-summary=false --set=sign-verify=false --set=sign-verify-summary=false origin http://127.0.0.1:36919/ostree/gnomerepo + ostree --repo=repo pull --mirror origin 8f6cbcc97c157cda305d8144f4bbb9cdbf1a01d24fd458d4594c822e9852690e + assert_has_file repo/summary + test -f repo/summary + ostree --repo=repo checkout -U main main-copy + assert_file_has_content main-copy/baz/cow moo + fpath=main-copy/baz/cow + shift + for re in "$@" + grep -q -e moo main-copy/baz/cow + ostree --repo=repo checkout -U other other-copy + assert_file_has_content other-copy/hello-world 'hello world another object' + fpath=other-copy/hello-world + shift + for re in "$@" + grep -q -e 'hello world another object' other-copy/hello-world + ostree --repo=repo checkout -U yet-another yet-another-copy + assert_file_has_content yet-another-copy/yet-another-hello-world 'hello world yet another object' + fpath=yet-another-copy/yet-another-hello-world + shift + for re in "$@" + grep -q -e 'hello world yet another object' yet-another-copy/yet-another-hello-world + ostree --repo=repo fsck 13 metadata, 7 content objects fetched; 1 KiB transferred in 0 seconds; 79 bytes content written Validating refs... Validating refs in collections... Enumerating commits... Verifying content integrity of 3 commit objects... fsck objects (1/17) 5% fsck objects (17/17) 100% + echo 'ok dummy pull mirror summary' + cd /var/tmp/tap-test.KYvzpn/ostree-srv/yet-other-files object fsck of 3 commits completed successfully - no errors found. + ostree --repo=repo --repo=/var/tmp/tap-test.KYvzpn/ostree-srv/gnomerepo summary -u --sign-type=dummy --sign=dummysign + cd /var/tmp/tap-test.KYvzpn + repo_reinit --set=verification-dummy-key=dummysign + ARGS=--set=verification-dummy-key=dummysign + cd /var/tmp/tap-test.KYvzpn + rm -rf repo + mkdir repo + ostree_repo_init repo --mode=archive + repo=repo + shift + ostree --repo=repo init --mode=archive + test -n 1 + echo -e 'disable-xattrs=true\n' ++ cat httpd-address + ostree --repo=repo --repo=repo remote add --set=gpg-verify=false --set=gpg-verify-summary=false --set=sign-verify=false --set=sign-verify-summary=true --set=verification-dummy-key=dummysign origin http://127.0.0.1:36919/ostree/gnomerepo + ostree --repo=repo --repo=repo pull origin main ok dummy pull mirror summary PASS: tests/test-signed-pull-summary.sh 1 dummy pull mirror summary + assert_has_file repo/tmp/cache/summaries/origin + test -f repo/tmp/cache/summaries/origin + assert_has_file repo/tmp/cache/summaries/origin.sig + test -f repo/tmp/cache/summaries/origin.sig + rm repo/tmp/cache/summaries/origin + ostree --repo=repo --repo=repo pull origin main 7 metadata, 5 content objects fetched; 851 B transferred in 0 seconds; 21 bytes content written + assert_has_file repo/tmp/cache/summaries/origin + test -f repo/tmp/cache/summaries/origin + echo 'ok dummy pull with signed summary' + touch repo/tmp/cache/summaries/foo 1 metadata, 0 content objects fetched; 40 B transferred in 0 seconds; 0 bytes content written + touch repo/tmp/cache/summaries/foo.sig + ostree --repo=repo --repo=repo prune ok dummy pull with signed summary PASS: tests/test-signed-pull-summary.sh 2 dummy pull with signed summary Total objects: 11 + assert_not_has_file repo/tmp/cache/summaries/foo + test -f repo/tmp/cache/summaries/foo + assert_not_has_file repo/tmp/cache/summaries/foo.sig + test -f repo/tmp/cache/summaries/foo.sig + assert_has_file repo/tmp/cache/summaries/origin + test -f repo/tmp/cache/summaries/origin + assert_has_file repo/tmp/cache/summaries/origin.sig + test -f repo/tmp/cache/summaries/origin.sig + echo 'ok dummy prune summary cache' + cd /var/tmp/tap-test.KYvzpn No unreachable objects + repo_reinit --set=verification-dummy-key=dummysign + ARGS=--set=verification-dummy-key=dummysign + cd /var/tmp/tap-test.KYvzpn + rm -rf repo + mkdir repo + ostree_repo_init repo --mode=archive + repo=repo + shift + ostree --repo=repo init --mode=archive + test -n 1 + echo -e 'disable-xattrs=true\n' ++ cat httpd-address + ostree --repo=repo --repo=repo remote add --set=gpg-verify=false --set=gpg-verify-summary=false --set=sign-verify=false --set=sign-verify-summary=true --set=verification-dummy-key=dummysign origin http://127.0.0.1:36919/ostree/gnomerepo + mkdir cachedir + ostree --repo=repo --repo=repo pull --cache-dir=cachedir origin main ok dummy prune summary cache PASS: tests/test-signed-pull-summary.sh 3 dummy prune summary cache + assert_not_has_file repo/tmp/cache/summaries/origin + test -f repo/tmp/cache/summaries/origin + assert_not_has_file repo/tmp/cache/summaries/origin.sig + test -f repo/tmp/cache/summaries/origin.sig + assert_has_file cachedir/summaries/origin + test -f cachedir/summaries/origin + assert_has_file cachedir/summaries/origin.sig + test -f cachedir/summaries/origin.sig + rm cachedir/summaries/origin + ostree --repo=repo --repo=repo pull --cache-dir=cachedir origin main 7 metadata, 5 content objects fetched; 851 B transferred in 0 seconds; 21 bytes content written + assert_not_has_file repo/tmp/cache/summaries/origin + test -f repo/tmp/cache/summaries/origin + assert_has_file cachedir/summaries/origin + test -f cachedir/summaries/origin + echo 'ok dummy pull with signed summary and cachedir' + cd /var/tmp/tap-test.KYvzpn 1 metadata, 0 content objects fetched; 40 B transferred in 0 seconds; 0 bytes content written + repo_reinit --set=verification-dummy-key=dummysign + ARGS=--set=verification-dummy-key=dummysign + cd /var/tmp/tap-test.KYvzpn + rm -rf repo + mkdir repo + ostree_repo_init repo --mode=archive + repo=repo + shift + ostree --repo=repo init --mode=archive + test -n 1 + echo -e 'disable-xattrs=true\n' ++ cat httpd-address + ostree --repo=repo --repo=repo remote add --set=gpg-verify=false --set=gpg-verify-summary=false --set=sign-verify=false --set=sign-verify-summary=true --set=verification-dummy-key=dummysign origin http://127.0.0.1:36919/ostree/gnomerepo + mv /var/tmp/tap-test.KYvzpn/ostree-srv/gnomerepo/summary.sig /var/tmp/tap-test.KYvzpn/ostree-srv/gnomerepo/summary.sig.good + echo invalid + ostree --repo=repo --repo=repo pull origin main + assert_file_has_content err.txt 'No signatures found' + fpath=err.txt + shift + for re in "$@" + grep -q -e 'No signatures found' err.txt + mv /var/tmp/tap-test.KYvzpn/ostree-srv/gnomerepo/summary.sig.good /var/tmp/tap-test.KYvzpn/ostree-srv/gnomerepo/summary.sig + echo 'ok dummy pull with invalid dummy summary signature fails' + ostree --repo=repo --repo=/var/tmp/tap-test.KYvzpn/ostree-srv/gnomerepo static-delta generate --empty main ok dummy pull with signed summary and cachedir PASS: tests/test-signed-pull-summary.sh 4 dummy pull with signed summary and cachedir ok dummy pull with invalid dummy summary signature fails PASS: tests/test-signed-pull-summary.sh 5 dummy pull with invalid dummy summary signature fails Generating static delta: From: empty modified: 0 new reachable: metadata=6 content regular=5 symlink=0 rollsum for 0/0 modified part 1 n:10 compressed:525 uncompressed:457 uncompressed=457 compressed=525 loose=637 rollsum=0 objects, 0 bytes bsdiff=0 objects + ostree --repo=repo --repo=/var/tmp/tap-test.KYvzpn/ostree-srv/gnomerepo summary -u --sign-type=dummy --sign=dummysign + cd /var/tmp/tap-test.KYvzpn + repo_reinit --set=verification-dummy-key=dummysign + ARGS=--set=verification-dummy-key=dummysign + cd /var/tmp/tap-test.KYvzpn + rm -rf repo + mkdir repo + ostree_repo_init repo --mode=archive + repo=repo + shift + ostree --repo=repo init --mode=archive + test -n 1 + echo -e 'disable-xattrs=true\n' ++ cat httpd-address + ostree --repo=repo --repo=repo remote add --set=gpg-verify=false --set=gpg-verify-summary=false --set=sign-verify=false --set=sign-verify-summary=true --set=verification-dummy-key=dummysign origin http://127.0.0.1:36919/ostree/gnomerepo + ostree --repo=repo --repo=repo pull origin main To: 7e9d0c13064efaa15982252622d2f3a58f8fe646f48e78afca6657328ff1c86c + echo 'ok dummy pull delta with signed summary' + for engine in dummy ed25519 + case "${engine}" in 7 metadata, 5 content objects fetched; 851 B transferred in 0 seconds; 21 bytes content written + has_sign_ed25519 + local ret + ostree --version + grep -q -e '- sign-ed25519' version.txt + ret=1 + rm -f version.txt + return 1 + echo 'ok ed25519 pull mirror summary # SKIP due libsodium unavailability' + echo 'ok ed25519 pull with signed summary # SKIP due libsodium unavailability' ok dummy pull delta with signed summary + echo 'ok ed25519 prune summary cache # SKIP due libsodium unavailability' + echo 'ok ed25519 pull with signed summary and cachedir # SKIP due libsodium unavailability' + echo 'ok ed25519 pull with invalid ed25519 summary signature fails # SKIP due libsodium unavailability' + echo 'ok ed25519 pull delta with signed summary # SKIP due libsodium unavailability' + continue PASS: tests/test-signed-pull-summary.sh 6 dummy pull delta with signed summary ok ed25519 pull mirror summary # SKIP due libsodium unavailability + has_sign_ed25519 + local ret + ostree --version SKIP: tests/test-signed-pull-summary.sh 7 ed25519 pull mirror summary # SKIP due libsodium unavailability ok ed25519 pull with signed summary # SKIP due libsodium unavailability SKIP: tests/test-signed-pull-summary.sh 8 ed25519 pull with signed summary # SKIP due libsodium unavailability ok ed25519 prune summary cache # SKIP due libsodium unavailability SKIP: tests/test-signed-pull-summary.sh 9 ed25519 prune summary cache # SKIP due libsodium unavailability ok ed25519 pull with signed summary and cachedir # SKIP due libsodium unavailability SKIP: tests/test-signed-pull-summary.sh 10 ed25519 pull with signed summary and cachedir # SKIP due libsodium unavailability ok ed25519 pull with invalid ed25519 summary signature fails # SKIP due libsodium unavailability SKIP: tests/test-signed-pull-summary.sh 11 ed25519 pull with invalid ed25519 summary signature fails # SKIP due libsodium unavailability + grep -q -e '- sign-ed25519' version.txt + ret=1 + rm -f version.txt + return 1 + echo 'ok ed25519 pull with signed summary remote old summary # SKIP due libsodium unavailability' ok ed25519 pull delta with signed summary # SKIP due libsodium unavailability + echo 'ok ed25519 pull with signed summary broken cache # SKIP due libsodium unavailability' + exit 0 SKIP: tests/test-signed-pull-summary.sh 12 ed25519 pull delta with signed summary # SKIP due libsodium unavailability + run_exit_cmds ok ed25519 pull with signed summary remote old summary # SKIP due libsodium unavailability SKIP: tests/test-signed-pull-summary.sh 13 ed25519 pull with signed summary remote old summary # SKIP due libsodium unavailability + for expr in "${libtest_exit_cmds[@]}" + eval save_core ++ save_core ++ '[' -e core ']' + for expr in "${libtest_exit_cmds[@]}" + eval libtest_cleanup_gpg ++ libtest_cleanup_gpg ++ local gpg_homedir=/var/tmp/tap-test.KYvzpn/gpghome ++ gpg-connect-agent --homedir /var/tmp/tap-test.KYvzpn/gpghome killagent /bye gpg-connect-agent: no running gpg-agent - starting '/usr/bin/gpg-agent' gpg-connect-agent: waiting for the agent to come up ... (5s) gpg-connect-agent: connection to the agent established ok ed25519 pull with signed summary broken cache # SKIP due libsodium unavailability SKIP: tests/test-signed-pull-summary.sh 14 ed25519 pull with signed summary broken cache # SKIP due libsodium unavailability OK closing connection SKIP: tests/test-rofiles-fuse.sh ================================ Copying gpghome to /var/tmp/tap-test.Iu9tq5 checking for xattrs.../usr/bin/setfattr # setfattr: testlabel.txt: Operation not supported /var/tmp/tap-test.Iu9tq5 /var/tmp/tap-test.Iu9tq5 Found SELinux label, but unable to set (Unprivileged Docker?) /var/tmp/tap-test.Iu9tq5 mknod: /var/tmp/tap-test.Iu9tq5/.test-whiteout: Operation not permitted done ++ BUILT_WITH_ASAN= ++ test -n '' ++ CMD_PREFIX= ++ test -n '' ++ test -z '' ++ OSTREE_HTTPD=/home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ++ '[' -x /home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ']' ++ _have_user_xattrs= ++ _have_systemd_and_libmount= ++ _have_strace_fault_injection= ++ libtest_exit_cmds+=(libtest_cleanup_gpg) ++ ED25519PUBLIC= ++ ED25519SEED= ++ ED25519SECRET= + skip_without_fuse + fusermount --version + capsh --print + grep -q 'Bounding set.*[^a-z]cap_sys_admin' + skip 'No cap_sys_admin in bounding set, can'\''t use FUSE' + echo '1..0 # SKIP' 'No cap_sys_admin in bounding set, can'\''t use FUSE' + exit 0 checking for overlayfs whiteouts...done + run_exit_cmds + for expr in "${libtest_exit_cmds[@]}" + eval save_core ++ save_core ++ '[' -e core ']' + for expr in "${libtest_exit_cmds[@]}" + eval libtest_cleanup_gpg ++ libtest_cleanup_gpg ++ local gpg_homedir=/var/tmp/tap-test.Iu9tq5/gpghome ++ gpg-connect-agent --homedir /var/tmp/tap-test.Iu9tq5/gpghome killagent /bye gpg-connect-agent: no running gpg-agent - starting '/usr/bin/gpg-agent' gpg-connect-agent: waiting for the agent to come up ... (5s) gpg-connect-agent: connection to the agent established 1..0 # SKIP No cap_sys_admin in bounding set, can't use FUSE SKIP: tests/test-rofiles-fuse.sh - No cap_sys_admin in bounding set, can't use FUSE OK closing connection SKIP: tests/coccinelle.sh ========================= Copying gpghome to /var/tmp/tap-test.vIoIf8 checking for xattrs.../usr/bin/setfattr # setfattr: testlabel.txt: Operation not supported /var/tmp/tap-test.vIoIf8 /var/tmp/tap-test.vIoIf8 Found SELinux label, but unable to set (Unprivileged Docker?) /var/tmp/tap-test.vIoIf8 mknod: /var/tmp/tap-test.vIoIf8/.test-whiteout: Operation not permitted done ++ BUILT_WITH_ASAN= ++ test -n '' ++ CMD_PREFIX= ++ test -n '' ++ test -z '' ++ OSTREE_HTTPD=/home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ++ '[' -x /home/jenkins/agent/workspace/ostree_PR-3054/ostree-trivial-httpd ']' ++ _have_user_xattrs= ++ _have_systemd_and_libmount= ++ _have_strace_fault_injection= ++ libtest_exit_cmds+=(libtest_cleanup_gpg) ++ ED25519PUBLIC= ++ ED25519SEED= ++ ED25519SECRET= + spatch --version + skip 'no spatch; get it from http://coccinelle.lip6.fr/' + echo '1..0 # SKIP' 'no spatch; get it from http://coccinelle.lip6.fr/' + exit 0 checking for overlayfs whiteouts...done + run_exit_cmds + for expr in "${libtest_exit_cmds[@]}" + eval save_core ++ save_core ++ '[' -e core ']' + for expr in "${libtest_exit_cmds[@]}" + eval libtest_cleanup_gpg ++ libtest_cleanup_gpg ++ local gpg_homedir=/var/tmp/tap-test.vIoIf8/gpghome ++ gpg-connect-agent --homedir /var/tmp/tap-test.vIoIf8/gpghome killagent /bye gpg-connect-agent: no running gpg-agent - starting '/usr/bin/gpg-agent' gpg-connect-agent: waiting for the agent to come up ... (5s) gpg-connect-agent: connection to the agent established 1..0 # SKIP no spatch; get it from http://coccinelle.lip6.fr/ SKIP: tests/coccinelle.sh - no spatch; get it from http://coccinelle.lip6.fr/ OK closing connection