tests: add two new tests for transaction_files
This commit is contained in:
parent
6877d28139
commit
247463e359
@ -356,6 +356,108 @@ update_extract_dir_body() {
|
||||
atf_check_equal $? 0
|
||||
}
|
||||
|
||||
atf_test_case replace_package_same_files
|
||||
|
||||
replace_package_same_files_head() {
|
||||
atf_set "descr" "Package gets replaced by another one with same files"
|
||||
}
|
||||
|
||||
replace_package_same_files_body() {
|
||||
mkdir repo
|
||||
mkdir -p pkg_openssl/usr/lib/openssl pkg_libressl/usr/lib
|
||||
echo "0123456789" > pkg_openssl/usr/lib/libcrypto.so.30
|
||||
echo "0123456789" > pkg_openssl/usr/lib/libssl.so.30
|
||||
echo "0123456789" > pkg_libressl/usr/lib/libcrypto.so.30
|
||||
echo "0123456789" > pkg_libressl/usr/lib/libssl.so.30
|
||||
echo "0123456789" > pkg_libressl/usr/lib/openssl/foo
|
||||
touch -mt 197001010000.00 pkg_openssl/usr/lib/libcrypto.so.30
|
||||
touch -mt 197001010000.00 pkg_openssl/usr/lib/libssl.so.30
|
||||
touch -mt 197001010000.00 pkg_libressl/usr/lib/libcrypto.so.30
|
||||
touch -mt 197001010000.00 pkg_libressl/usr/lib/libssl.so.30
|
||||
|
||||
cd repo
|
||||
xbps-create -A noarch -n openssl-1.0_1 -s "openssl pkg" ../pkg_openssl
|
||||
atf_check_equal $? 0
|
||||
xbps-create -A noarch -n libressl-1.0_1 -s "libressl pkg" --replaces "openssl>=0" ../pkg_libressl
|
||||
atf_check_equal $? 0
|
||||
xbps-rindex -d -a $PWD/*.xbps
|
||||
atf_check_equal $? 0
|
||||
cd ..
|
||||
|
||||
xbps-install -r root --repository=$PWD/repo -yvd openssl
|
||||
atf_check_equal $? 0
|
||||
|
||||
xbps-install -r root --repository=$PWD/repo -yvd libressl
|
||||
atf_check_equal $? 0
|
||||
|
||||
xbps-query -S openssl
|
||||
atf_check_equal $? 2
|
||||
|
||||
xbps-query -S libressl
|
||||
atf_check_equal $? 0
|
||||
|
||||
xbps-pkgdb -r root -av
|
||||
atf_check_equal $? 0
|
||||
}
|
||||
|
||||
atf_test_case nonempty_dir_abort
|
||||
|
||||
nonempty_dir_abort_head() {
|
||||
atf_set "descr" "Abort transaction if a directory replaced by a file."
|
||||
}
|
||||
|
||||
nonempty_dir_abort_body() {
|
||||
mkdir repo root
|
||||
mkdir -p pkg_A pkg_B/foo
|
||||
echo "0123456789" > pkg_B/foo/bar
|
||||
|
||||
cd repo
|
||||
xbps-create -A noarch -n A-1.0_1 -s "A pkg" ../pkg_A
|
||||
atf_check_equal $? 0
|
||||
xbps-create -A noarch -n B-1.0_1 -s "B pkg" ../pkg_B
|
||||
atf_check_equal $? 0
|
||||
xbps-rindex -d -a $PWD/*.xbps
|
||||
atf_check_equal $? 0
|
||||
cd ..
|
||||
|
||||
xbps-install -r root --repository=$PWD/repo -yvd A B
|
||||
atf_check_equal $? 0
|
||||
|
||||
cd repo
|
||||
rm -f *.xbps
|
||||
xbps-create -A noarch -n A-1.0_2 -s "A pkg" ../pkg_A
|
||||
atf_check_equal $? 0
|
||||
rm -rf ../pkg_B/foo
|
||||
echo "0123456789" > ../pkg_B/foo
|
||||
xbps-create -A noarch -n B-1.0_2 -s "B pkg" ../pkg_B
|
||||
atf_check_equal $? 0
|
||||
xbps-rindex -d -a $PWD/*.xbps
|
||||
atf_check_equal $? 0
|
||||
cd ..
|
||||
|
||||
touch root/foo/abort
|
||||
|
||||
xbps-install -r root --repository=$PWD/repo -yvdu
|
||||
atf_check_equal $? 39
|
||||
out=$(xbps-query -r root -p state A)
|
||||
atf_check_equal "$out" "installed"
|
||||
out=$(xbps-query -r root -p state B)
|
||||
atf_check_equal "$out" "installed"
|
||||
xbps-pkgdb -r root -av
|
||||
atf_check_equal $? 0
|
||||
|
||||
rm root/foo/abort
|
||||
|
||||
xbps-install -r root --repository=$PWD/repo -yvdu
|
||||
atf_check_equal $? 0
|
||||
out=$(xbps-query -r root -p state A)
|
||||
atf_check_equal "$out" "installed"
|
||||
out=$(xbps-query -r root -p state B)
|
||||
atf_check_equal "$out" "installed"
|
||||
xbps-pkgdb -r root -av
|
||||
atf_check_equal $? 0
|
||||
}
|
||||
|
||||
atf_init_test_cases() {
|
||||
atf_add_test_case reinstall_obsoletes
|
||||
atf_add_test_case root_symlinks_update
|
||||
@ -365,4 +467,6 @@ atf_init_test_cases() {
|
||||
atf_add_test_case update_to_meta_depends_replaces
|
||||
atf_add_test_case directory_to_symlink
|
||||
atf_add_test_case update_extract_dir
|
||||
atf_add_test_case replace_package_same_files
|
||||
atf_add_test_case nonempty_dir_abort
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user