#!/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 \ abuild_invalid_filename 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: Joe User 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 } abuild_invalid_filename_body() { mkdir invalid-filename cd invalid-filename cat >APKBUILD <<-EOF # Maintainer: Joe User pkgname="invalid-filename" pkgver="1.0" pkgrel=0 pkgdesc="Dummy test package that fails to build" url="https://gitlab.alpinelinux.org/alpine/aports" arch="noarch" license="MIT" prepare() { mkdir -p "\$builddir" } build() { touch $'bad\nfile' } check() { true } package() { mkdir -p "\$pkgdir" cp -r * "\$pkgdir"/ } EOF atf_check -s exit:1 \ -e match:"ERROR:.*: Found filenames with newline" \ abuild }