mirror of
https://github.com/clearlinux/swupd-server.git
synced 2026-09-03 20:21:43 +00:00
Ghosted files were only being deprecated over format bumps. Move the format-bump-check logic out to the calling function to allow ghosted files to be removed on every build. Also assign the is_ghosted flag when adding "deleted" files from the old manifest so that the file will actually be removed. Signed-off-by: Matthew Johnson <matthew.johnson@intel.com>
61 lines
1.9 KiB
Bash
Executable File
61 lines
1.9 KiB
Bash
Executable File
#!/usr/bin/env bats
|
|
|
|
# common functions
|
|
load "../swupdlib"
|
|
|
|
setup() {
|
|
clean_test_dir
|
|
init_test_dir
|
|
|
|
init_server_ini
|
|
set_latest_ver 0
|
|
init_groups_ini os-core test-bundle
|
|
|
|
set_os_release 10 os-core
|
|
set_os_release 10 test-bundle
|
|
track_bundle 10 os-core
|
|
track_bundle 10 test-bundle
|
|
|
|
set_os_release 20 os-core
|
|
set_os_release 20 test-bundle
|
|
track_bundle 20 os-core
|
|
track_bundle 20 test-bundle
|
|
|
|
set_os_release 30 os-core
|
|
set_os_release 30 test-bundle
|
|
track_bundle 30 os-core
|
|
track_bundle 30 test-bundle
|
|
|
|
gen_file_plain_with_content 10 test-bundle usr/lib/kernel/bar testfile_contents
|
|
gen_file_plain_with_content 20 test-bundle usr/lib/kernel/baz new_testfile_contents
|
|
# make sure /usr/lib/kernel stays around
|
|
mkdir $DIR/image/30/test-bundle/usr/lib/kernel
|
|
}
|
|
|
|
@test "create updates while ghosting boot files before removing them" {
|
|
sudo $CREATE_UPDATE --osversion 10 --statedir $DIR --format 3
|
|
sudo $MAKE_FULLFILES --statedir $DIR 10
|
|
|
|
set_latest_ver 10
|
|
|
|
sudo $CREATE_UPDATE --osversion 20 --statedir $DIR --format 3
|
|
sudo $MAKE_FULLFILES --statedir $DIR 20
|
|
|
|
set_latest_ver 20
|
|
|
|
sudo $CREATE_UPDATE --osversion 30 --statedir $DIR --format 3
|
|
sudo $MAKE_FULLFILES --statedir $DIR 30
|
|
# version 10: add boot file to 10
|
|
[ 1 -eq $(grep 'F\.b\. .* 10 /usr/lib/kernel/bar' $DIR/www/10/Manifest.full | wc -l) ]
|
|
# version 20: ghost boot file instead of deleting it when it doesn't exist
|
|
[ 1 -eq $(grep '\.gb\. .* 20 /usr/lib/kernel/bar' $DIR/www/20/Manifest.full | wc -l) ]
|
|
# version 20: add a new boot file
|
|
[ 1 -eq $(grep 'F\.b\. .* 20 /usr/lib/kernel/baz' $DIR/www/20/Manifest.full | wc -l) ]
|
|
# version 30: old ghosted file /usr/lib/kernel/bar cleaned up
|
|
[ 0 -eq $(grep '/usr/lib/kernel/bar' $DIR/www/30/Manifest.full | wc -l) ]
|
|
# version 30: boot file added in version 20 ghosted
|
|
[ 1 -eq $(grep '\.gb\. .* 30 /usr/lib/kernel/baz' $DIR/www/30/Manifest.full | wc -l) ]
|
|
}
|
|
|
|
# vi: ft=sh ts=8 sw=2 sts=2 et tw=80
|