ostree/tests
Jonathan Lebon 9503189362 lib/checkout: fallback to checksum for UNION_IDENTICAL
There's a subtle issue going on with the way we use `UNION_IDENTICAL`
now in rpm-ostree. Basically, the crux of the issue is that we checkout
the whole tree from the system repo, but then overlay packages by
checking out from the pkgcache repo. This is an easy way to break the
assumption that we will be merging hardlinks from the same repo.

This ends up causing issues like:
https://github.com/projectatomic/rpm-ostree/issues/1047

There, `vim-minimal` is already part of the host and has an object for
`/usr/share/man/man1/ex.1.gz`. `vim-common` has that same file, but
because it's unpacked in the pkgcache repo first, the hardlinks are not
the same.

There are a few ways we *could* work around this in rpm-ostree itself,
e.g. by re-establishing hardlinks when we do the content pull into the
system repo, but it still felt somewhat hacky. Let's just do this the
proper way and fall back to checksumming the target file if needed,
which is what librpm does as well in this case. Note that we only
checksum if they're not hard links, but they're the same size.

Closes: #1258
Approved by: cgwalters
2017-10-14 13:19:18 +00:00
..
coccinelle Add Coccinelle usage: one for blacklisting, one for patch collection 2017-03-30 19:19:54 +00:00
gpg-verify-data gpg: Regenerate test data for test-gpg-verify-result 2015-03-19 12:43:04 -04:00
gpghome tests: Port to glib-tap.mk, make `make check` run all of the tests 2016-03-03 08:50:19 -05:00
installed tests/installed: also run test-basic-c 2017-09-30 00:05:07 +00:00
.gitignore create-usb: Add a create-usb command to complement OstreeRepoFinderMount 2017-09-27 14:44:00 +00:00
admin-test.sh repo: Add add-remotes-config-dir option 2017-09-11 10:53:20 +00:00
archive-test.sh repo+tests: Add [core]disable-xattrs=true, use it on overlayfs 2017-03-24 22:16:43 +00:00
basic-test.sh lib/checkout: fallback to checksum for UNION_IDENTICAL 2017-10-14 13:19:18 +00:00
bootloader-entries-crosscheck.py Introducing ostree-grub-generator 2016-04-04 14:19:35 +00:00
coccinelle.sh Add Coccinelle usage: one for blacklisting, one for patch collection 2017-03-30 19:19:54 +00:00
corrupt-repo-ref.js tests: Fix JavaScript tests with gjs 1.50.0 2017-09-15 18:51:43 +00:00
glib.supp glib.supp: Suppress g_task -> thread leaks 2016-07-28 10:10:17 +00:00
grub2-entries-crosscheck.py tests: Add a test script to cross-check loader config vs GRUB2 2015-05-28 14:21:30 -04:00
libostreetest.c tests: check for relabeling rather than overlay 2017-09-30 00:05:07 +00:00
libostreetest.h tests: check for relabeling rather than overlay 2017-09-30 00:05:07 +00:00
libtest-core.sh tests: Explicitly unset LANGUAGE after setting LC_ALL 2017-09-19 15:16:09 +00:00
libtest.sh tests: check for relabeling rather than overlay 2017-09-30 00:05:07 +00:00
ostree-grub-generator Introducing ostree-grub-generator 2016-04-04 14:19:35 +00:00
ostree.supp tests: Modernize valgrind infrastructure 2016-06-09 21:10:35 +00:00
pre-endian-deltas-repo-big.tar.xz deltas: Heuristically detect endianness for older deltas 2016-02-26 08:19:01 -05:00
pre-endian-deltas-repo-little.tar.xz deltas: Heuristically detect endianness for older deltas 2016-02-26 08:19:01 -05:00
pull-test.sh lib/pull: Fix regression with pull-local for nonexistent refs 2017-10-02 16:02:28 +00:00
readdir-rand.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
repo-finder-mount.c create-usb: Add a create-usb command to complement OstreeRepoFinderMount 2017-09-27 14:44:00 +00:00
test-admin-deploy-2.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-admin-deploy-bootid-gc.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-admin-deploy-clean.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-admin-deploy-etcmerge-cornercases.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-admin-deploy-grub2.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-admin-deploy-karg.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-admin-deploy-switch.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-admin-deploy-syslinux.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-admin-deploy-uboot.sh uboot: add non-default deployments to uEnv.txt 2017-09-08 00:58:08 +00:00
test-admin-instutil-set-kargs.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-admin-locking.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-admin-pull-deploy-commit.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-admin-pull-deploy-split.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-admin-upgrade-endoflife.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-admin-upgrade-not-backwards.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-admin-upgrade-unconfigured.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-archivez.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-auto-summary.sh tests: Remove extra $CMD_PREFIX from test-auto-summary.sh 2016-06-27 20:20:21 +00:00
test-basic-c.c tests: check for relabeling rather than overlay 2017-09-30 00:05:07 +00:00
test-basic-root.sh checkout: Merge union/add logic for copies during checkout 2017-04-25 13:52:35 +00:00
test-basic-user-only.sh tests,ci: Move "test-basic" (bare mode) to installed test 2017-09-27 13:13:14 +00:00
test-basic-user.sh tests: Reset umask to 022 while creating test repository 2017-09-19 20:41:36 +00:00
test-basic.sh tests,ci: Move "test-basic" (bare mode) to installed test 2017-09-27 13:13:14 +00:00
test-bloom.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-bsdiff.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-checksum.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-commit-sign.sh tests/commit-sign: Update a bit to more modern style 2017-09-27 19:04:11 +00:00
test-core.js tests: More fixes for gjs tests 2017-07-21 15:45:27 +00:00
test-corruption.sh fsck: Check for refs missing corresponding commit 2017-05-09 14:05:46 +00:00
test-create-usb.sh create-usb: Add a create-usb command to complement OstreeRepoFinderMount 2017-09-27 14:44:00 +00:00
test-delta.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-demo-buildsystem.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-export.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-find-remotes.sh lib/repo-refs: Include remote refs when using collections 2017-08-24 19:57:33 +00:00
test-fsck-collections.sh tests: Add integration tests for collections 2017-06-26 15:56:07 +00:00
test-gpg-signed-commit.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-gpg-verify-result.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-help.sh test-help.sh: Skip trivial-httpd if enabled 2017-09-15 19:28:25 +00:00
test-init-collections.sh tests: Add integration tests for collections 2017-06-26 15:56:07 +00:00
test-keyfile-utils.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-libarchive-import.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-libarchive.sh libarchive: Add support for translating paths during commit 2017-08-30 14:30:30 +00:00
test-local-pull-depth.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-local-pull.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-lzma.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-mock-gio.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-mock-gio.h tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-mutable-tree.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-oldstyle-partial.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-ot-opt-utils.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-ot-tool-util.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-ot-unix-utils.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-parent.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-prune-collections.sh tests: Add integration tests for collections 2017-06-26 15:56:07 +00:00
test-prune.sh bin/prune: Add --only-branch 2017-09-18 17:20:38 +00:00
test-pull-bare.sh tests: Run pull tests for bare/bare-user 2017-07-10 14:18:18 +00:00
test-pull-bareuser.sh test-pull-bareuser.sh: This test uses bare-user, hence needs xattrs 2017-08-29 19:08:59 +00:00
test-pull-c.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-pull-collections.sh tests: New tests for creating commits with bindings and pulling them 2017-07-06 19:08:14 +00:00
test-pull-commit-only.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-pull-contenturl.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-pull-corruption.sh bin/local-pull: Clarify docs, add more tests for corrupted local pulls 2017-09-07 15:30:11 +00:00
test-pull-depth.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-pull-large-metadata.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-pull-localcache.sh pull: mark commits from local cache as partial 2017-08-14 12:04:42 +00:00
test-pull-metalink.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-pull-mirror-summary.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-pull-mirrorlist.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-pull-override-url.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-pull-repeated.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-pull-resume.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-pull-subpath.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-pull-summary-sigs.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-pull-untrusted.sh repo+tests: Add [core]disable-xattrs=true, use it on overlayfs 2017-03-24 22:16:43 +00:00
test-refs-collections.sh tests: Check "refs -c PREFIX" behavior 2017-09-07 18:49:55 +00:00
test-refs.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-remote-add-collections.sh tests: Add integration tests for collections 2017-06-26 15:56:07 +00:00
test-remote-add.sh tests: Port to glib-tap.mk, make `make check` run all of the tests 2016-03-03 08:50:19 -05:00
test-remote-cookies.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-remote-gpg-import.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-remote-headers.sh pull: complete detached meta fetch before scanning 2017-05-18 01:14:15 +00:00
test-remotes-config-dir.js repo: Ensure new config doesn't set remotes in separate file 2017-09-13 16:03:25 +00:00
test-repo-finder-avahi.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-repo-finder-config.c tests: drop unused variable 2017-10-12 12:53:01 +00:00
test-repo-finder-mount-integration.sh tests: Add a manual integration test for OstreeRepoFinderMount 2017-09-28 14:08:40 +00:00
test-repo-finder-mount.c tree-wide: Update to new libglnx fd APIs 2017-10-11 19:26:10 +00:00
test-repo.c tests/repo: Drop modeline from top of file 2017-09-28 14:08:40 +00:00
test-reset-nonlinear.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-rofiles-fuse.sh rofiles-fuse: also pass mode for O_RDONLY 2017-09-21 16:51:15 +00:00
test-rollsum-cli.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-rollsum.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-sizes.js tests: More fixes for gjs tests 2017-07-21 15:45:27 +00:00
test-summary-collections.sh lib/repo-refs: Include remote refs when using collections 2017-08-24 19:57:33 +00:00
test-summary-update.sh ostree/summary: Generate an ostree-metadata ref when updating summary 2017-10-02 13:39:41 +00:00
test-summary-view.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-switchroot.sh test-switchroot.sh: skip if no busybox 2017-06-27 21:45:34 +00:00
test-symbols.sh Release 2017.12 2017-10-02 14:44:34 +00:00
test-sysroot-c.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-sysroot.js tests: Fix JavaScript tests with gjs 1.50.0 2017-09-15 18:51:43 +00:00
test-varint.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-xattrs.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00