abuild/tests/abuild_test
2022-06-22 16:13:07 +02:00

77 lines
1.4 KiB
Plaintext
Executable File

#!/usr/bin/env atf-sh
. $(atf_get_srcdir)/test_env.sh
init_tests \
abuild_help \
abuild_invalid_opt \
abuild_version \
abuild_simple_pkg_without_deps \
abuild_build_fail
export ABUILD_SHAREDIR=$(atf_get_srcdir)/..
export ABUILD_CONF=/dev/null
export GIT_CONFIG_GLOBAL="$(atf_get_srcdir)/testdata/gitconfig"
export REPODEST="$PWD"/packages
testrepo=$(atf_get_srcdir)/testrepo
# copy keys
cp -ra "$(atf_get_srcdir)"/testdata/.abuild "$PWD"
abuild_help_body() {
atf_check -s exit:0 \
-o match:"usage:" \
abuild -h
}
abuild_invalid_opt_body() {
atf_check -s exit:1 \
-e match:"usage:" \
abuild -@
}
abuild_version_body() {
atf_check -s exit:0 \
-o match:"abuild [0-9]+\.[0-9]+" \
abuild -V
}
abuild_simple_pkg_without_deps_body() {
cp -r "$testrepo"/pkg1 .
cd pkg1
atf_check -s exit:0 \
-e not-match:"WARNING" \
-e not-match:"fatal" \
abuild
}
abuild_build_fail_body() {
mkdir buildfail
cat >buildfail/APKBUILD <<-EOF
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname="buildfail"
pkgver="1.0"
pkgrel=0
pkgdesc="Dummy test package that fails to build"
url="https://gitlab.alpinelinux.org/alpine/aports"
arch="noarch"
license="MIT"
subpackages="\$pkgname-dev \$pkgname-doc"
source=""
prepare() {
mkdir -p "\$builddir"
}
build() {
false
}
package() {
true
}
EOF
cd buildfail
atf_check -s exit:1 \
-e match:"ERROR: buildfail: build failed" \
abuild
}