mirror of
https://github.com/flatpak/flatpak.git
synced 2026-01-06 14:58:10 -05:00
Add a test for the repair command
This should ensure that https://github.com/flatpak/flatpak/issues/4618
stays fixed.
(cherry picked from commit 45c7f5071c)
This commit is contained in:
committed by
Simon McVittie
parent
f809e9f9a4
commit
9fded3abe4
@@ -43,6 +43,7 @@ TEST_MATRIX_DIST= \
|
||||
tests/test-unused.sh \
|
||||
tests/test-prune.sh \
|
||||
tests/test-seccomp.sh \
|
||||
tests/test-repair.sh \
|
||||
$(NULL)
|
||||
TEST_MATRIX_EXTRA_DIST= \
|
||||
tests/test-run.sh \
|
||||
|
||||
@@ -281,6 +281,7 @@ TEST_MATRIX_SOURCE = \
|
||||
tests/test-subset.sh{user+system} \
|
||||
tests/test-prune.sh \
|
||||
tests/test-seccomp.sh \
|
||||
tests/test-repair.sh \
|
||||
$(NULL)
|
||||
|
||||
update-test-matrix:
|
||||
|
||||
35
tests/test-repair.sh
Executable file
35
tests/test-repair.sh
Executable file
@@ -0,0 +1,35 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Copyright (C) 2021 Matthew Leeds <mwleeds@protonmail.com>
|
||||
#
|
||||
# SPDX-License-Identifier: LGPL-2.0-or-later
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
. $(dirname $0)/libtest.sh
|
||||
|
||||
echo "1..1"
|
||||
|
||||
setup_repo
|
||||
${FLATPAK} ${U} install -y test-repo org.test.Hello
|
||||
|
||||
# delete the object for files/bin/hello.sh
|
||||
rm ${FL_DIR}/repo/objects/0d/30582c0ac8a2f89f23c0f62e548ba7853f5285d21848dd503460a567b5d253.file
|
||||
|
||||
# dry run repair shouldn't replace the missing file
|
||||
${FLATPAK} ${U} repair --dry-run
|
||||
assert_not_has_file ${FL_DIR}/repo/objects/0d/30582c0ac8a2f89f23c0f62e548ba7853f5285d21848dd503460a567b5d253.file
|
||||
|
||||
# normal repair should replace the missing file
|
||||
${FLATPAK} ${U} repair
|
||||
assert_has_file ${FL_DIR}/repo/objects/0d/30582c0ac8a2f89f23c0f62e548ba7853f5285d21848dd503460a567b5d253.file
|
||||
|
||||
# app should've been reinstalled
|
||||
${FLATPAK} ${U} list -d > list-log
|
||||
assert_file_has_content list-log "org\.test\.Hello/"
|
||||
|
||||
# clean up
|
||||
${FLATPAK} ${U} uninstall -y org.test.Platform org.test.Hello
|
||||
${FLATPAK} ${U} remote-delete test-repo
|
||||
|
||||
ok "repair command handles missing files"
|
||||
Reference in New Issue
Block a user