Files
xbps/tests/xbps/libxbps/shell/issue20_test.sh
2014-11-06 11:21:32 +01:00

58 lines
1.1 KiB
Bash

#! /usr/bin/env atf-sh
# xbps issue #20.
# How to reproduce it:
# Create pkg a-0.1_1 containing 1 file and 1 symlink:
#
# /foo
# /blah -> foo
#
# Create pkg a-0.2_1 containing 1 file and 1 symlink (inverted):
#
# /foo -> blah
# /blah
#
# Upgrade pkg a to 0.2.
atf_test_case issue20
issue20_head() {
atf_set "descr" "xbps issue #20 (https://github.com/xtraeme/xbps/issues/18)"
}
issue20_body() {
mkdir repo
cd repo
mkdir pkg_a
touch pkg_a/foo
ln -s foo pkg_a/blah
xbps-create -A noarch -n a-0.1_1 -s "pkg a" pkg_a
atf_check_equal $? 0
rm -rf pkg_a
xbps-rindex -d -a $PWD/*.xbps
atf_check_equal $? 0
xbps-install -C null.conf -r rootdir --repository=$PWD -yvd a
atf_check_equal $? 0
mkdir pkg_a
touch pkg_a/blah
ln -s blah pkg_a/foo
xbps-create -A noarch -n a-0.2_1 -s "pkg a" pkg_a
atf_check_equal $? 0
rm -rf pkg_a
xbps-rindex -d -a $PWD/*.xbps
atf_check_equal $? 0
xbps-install -C null.conf -r rootdir --repository=$PWD -yuvd
atf_check_equal $? 0
tgt=$(readlink rootdir/foo)
rval=1
if [ -f rootdir/blah -a "$tgt" = "blah" ]; then
rval=0
fi
atf_check_equal $rval 0
}
atf_init_test_cases() {
atf_add_test_case issue20
}