91 lines
1.8 KiB
Bash
91 lines
1.8 KiB
Bash
#!/usr/bin/env atf-sh
|
|
#
|
|
# Tests to verify that INSTALL/REMOVE scripts in pkgs work as expected.
|
|
|
|
create_script() {
|
|
cat > "$1" <<_EOF
|
|
#!/bin/sh
|
|
ACTION="\$1"
|
|
PKGNAME="\$2"
|
|
VERSION="\$3"
|
|
UPDATE="\$4"
|
|
CONF_FILE="\$5"
|
|
ARCH="\$6"
|
|
|
|
echo "\$@" >&2
|
|
_EOF
|
|
chmod +x "$1"
|
|
}
|
|
|
|
atf_test_case script_nargs
|
|
|
|
script_nargs_head() {
|
|
atf_set "descr" "Tests for package scripts: number of arguments"
|
|
}
|
|
|
|
script_nargs_body() {
|
|
mkdir some_repo root
|
|
mkdir -p pkg_A/usr/bin
|
|
echo "A-1.0_1" > pkg_A/usr/bin/foo
|
|
create_script pkg_A/INSTALL
|
|
|
|
cd some_repo
|
|
xbps-create -A noarch -n A-1.0_1 -s "A pkg" ../pkg_A
|
|
atf_check_equal $? 0
|
|
xbps-rindex -d -a $PWD/*.xbps
|
|
atf_check_equal $? 0
|
|
cd ..
|
|
xbps-install -C empty.conf -r root --repository=$PWD/some_repo -y A
|
|
atf_check_equal $? 0
|
|
|
|
rval=0
|
|
xbps-reconfigure -C empty.conf -r root -f A 2>out
|
|
out="$(cat out)"
|
|
expected="post A 1.0_1 no no $(uname -m)"
|
|
if [ "$out" != "$expected" ]; then
|
|
echo "out: '$out'"
|
|
echo "expected: '$expected'"
|
|
rval=1
|
|
fi
|
|
atf_check_equal $rval 0
|
|
}
|
|
|
|
atf_test_case script_arch
|
|
|
|
script_arch_head() {
|
|
atf_set "descr" "Tests for package scripts: XBPS_ARCH overrides \$ARCH"
|
|
}
|
|
|
|
script_arch_body() {
|
|
mkdir some_repo root
|
|
mkdir -p pkg_A/usr/bin
|
|
echo "A-1.0_1" > pkg_A/usr/bin/foo
|
|
create_script pkg_A/INSTALL
|
|
|
|
cd some_repo
|
|
xbps-create -A noarch -n A-1.0_1 -s "A pkg" ../pkg_A
|
|
atf_check_equal $? 0
|
|
xbps-rindex -d -a $PWD/*.xbps
|
|
atf_check_equal $? 0
|
|
cd ..
|
|
xbps-install -C empty.conf -r root --repository=$PWD/some_repo -y A
|
|
atf_check_equal $? 0
|
|
|
|
# Check that XBPS_ARCH overrides $ARCH.
|
|
rval=0
|
|
XBPS_ARCH=foo xbps-reconfigure -C empty.conf -r root -f A 2>out
|
|
out="$(cat out)"
|
|
expected="post A 1.0_1 no no foo"
|
|
if [ "$out" != "$expected" ]; then
|
|
echo "out: '$out'"
|
|
echo "expected: '$expected'"
|
|
rval=1
|
|
fi
|
|
atf_check_equal $rval 0
|
|
}
|
|
|
|
atf_init_test_cases() {
|
|
atf_add_test_case script_nargs
|
|
atf_add_test_case script_arch
|
|
}
|