tests: use BATS_TEST_TMPDIR, don't dump temp files in repo
This commit is contained in:
parent
074a335464
commit
b69e0230d0
|
@ -1,8 +1,7 @@
|
||||||
setup() {
|
setup() {
|
||||||
export ABUILD_FETCH="$PWD/../abuild-fetch"
|
export ABUILD_FETCH="$PWD/../abuild-fetch"
|
||||||
|
|
||||||
tmpdir="$BATS_TMPDIR"/abuild-fetch
|
bindir="$BATS_TEST_TMPDIR"/bin
|
||||||
bindir="$tmpdir"/bin
|
|
||||||
mkdir -p "$bindir"
|
mkdir -p "$bindir"
|
||||||
export PATH="$bindir:$PATH"
|
export PATH="$bindir:$PATH"
|
||||||
|
|
||||||
|
@ -10,7 +9,7 @@ setup() {
|
||||||
cat > "$bindir"/curl <<-EOF
|
cat > "$bindir"/curl <<-EOF
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
touch \${STAMP:-"$tmpdir"/curl-invoked}
|
touch \${STAMP:-"$BATS_TEST_TMPDIR"/curl-invoked}
|
||||||
echo "[\$\$] Fake curl invoked with: \$@"
|
echo "[\$\$] Fake curl invoked with: \$@"
|
||||||
if [ -n "\$FIFO" ]; then
|
if [ -n "\$FIFO" ]; then
|
||||||
echo "[\$\$] waiting for fifo \$FIFO"
|
echo "[\$\$] waiting for fifo \$FIFO"
|
||||||
|
@ -25,7 +24,7 @@ setup() {
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
PATH=/usr/local/bin:/usr/bin:/bin
|
PATH=/usr/local/bin:/usr/bin:/bin
|
||||||
touch "$tmpdir"/wget-invoked
|
touch "$BATS_TEST_TMPDIR"/wget-invoked
|
||||||
echo "Fake wget invoked with: \$@"
|
echo "Fake wget invoked with: \$@"
|
||||||
exit \${WGET_EXITCODE:-0}
|
exit \${WGET_EXITCODE:-0}
|
||||||
EOF
|
EOF
|
||||||
|
@ -33,108 +32,104 @@ setup() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
teardown() {
|
|
||||||
rm -rf "$tmpdir"
|
|
||||||
}
|
|
||||||
|
|
||||||
@test "abuild-fetch: help text" {
|
@test "abuild-fetch: help text" {
|
||||||
$ABUILD_FETCH -h
|
$ABUILD_FETCH -h
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "abuild-fetch: test curl invocation" {
|
@test "abuild-fetch: test curl invocation" {
|
||||||
$ABUILD_FETCH -d "$tmpdir" https://example.com/non-existing
|
$ABUILD_FETCH -d "$BATS_TEST_TMPDIR" https://example.com/non-existing
|
||||||
[ -f "$tmpdir"/curl-invoked ]
|
[ -f "$BATS_TEST_TMPDIR"/curl-invoked ]
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "abuild-fetch: test curl failure" {
|
@test "abuild-fetch: test curl failure" {
|
||||||
run CURL_EXITCODE=1 $ABUILD_FETCH -d "$tmpdir" https://example.com/non-existing
|
run CURL_EXITCODE=1 $ABUILD_FETCH -d "$BATS_TEST_TMPDIR" https://example.com/non-existing
|
||||||
[ $status -ne 0 ]
|
[ $status -ne 0 ]
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "abuild-fetch: that --insecure is passed for http://" {
|
@test "abuild-fetch: that --insecure is passed for http://" {
|
||||||
$ABUILD_FETCH -d "$tmpdir" http://example.com/non-existing | grep insecure
|
$ABUILD_FETCH -d "$BATS_TEST_TMPDIR" http://example.com/non-existing | grep insecure
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "abuild-fetch: test wget fallback" {
|
@test "abuild-fetch: test wget fallback" {
|
||||||
rm "$bindir"/curl
|
rm "$bindir"/curl
|
||||||
PATH="$bindir" $ABUILD_FETCH -d "$tmpdir" https://example.com/non-existing
|
PATH="$bindir" $ABUILD_FETCH -d "$BATS_TEST_TMPDIR" https://example.com/non-existing
|
||||||
[ -f "$tmpdir"/wget-invoked ]
|
[ -f "$BATS_TEST_TMPDIR"/wget-invoked ]
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "abuild-fetch: test wget fallback failure" {
|
@test "abuild-fetch: test wget fallback failure" {
|
||||||
rm "$bindir"/curl
|
rm "$bindir"/curl
|
||||||
run PATH="$bindir" WGET_EXITCODE=1 $ABUILD_FETCH -d "$tmpdir" https://example.com/non-existing
|
run PATH="$bindir" WGET_EXITCODE=1 $ABUILD_FETCH -d "$BATS_TEST_TMPDIR" https://example.com/non-existing
|
||||||
[ $status -ne 0 ]
|
[ $status -ne 0 ]
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "abuild-fetch: test that --no-check-certificate is passed to wget fallback with http://" {
|
@test "abuild-fetch: test that --no-check-certificate is passed to wget fallback with http://" {
|
||||||
rm "$bindir"/curl
|
rm "$bindir"/curl
|
||||||
PATH="$bindir" $ABUILD_FETCH -d "$tmpdir" http://example.com/non-existing | grep no-check-certificate
|
PATH="$bindir" $ABUILD_FETCH -d "$BATS_TEST_TMPDIR" http://example.com/non-existing | grep no-check-certificate
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "abuild-fetch: test locking" {
|
@test "abuild-fetch: test locking" {
|
||||||
fifo1="$tmpdir"/fifo1
|
fifo1="$BATS_TEST_TMPDIR"/fifo1
|
||||||
fifo2="$tmpdir"/fifo2
|
fifo2="$BATS_TEST_TMPDIR"/fifo2
|
||||||
mkfifo $fifo1 $fifo2
|
mkfifo $fifo1 $fifo2
|
||||||
|
|
||||||
# make sure to unblock the fake curl in case test failure so we dont block bats
|
# make sure to unblock the fake curl in case test failure so we dont block bats
|
||||||
teardown() {
|
teardown() {
|
||||||
if [ -d /proc/$pid1 ]; then
|
if [ -d /proc/$pid1 ]; then
|
||||||
echo "done fifo1" > "$tmpdir"/fifo1
|
echo "done fifo1" > "$BATS_TEST_TMPDIR"/fifo1
|
||||||
fi
|
fi
|
||||||
if [ -d /proc/$pid2 ]; then
|
if [ -d /proc/$pid2 ]; then
|
||||||
echo "done fifo2" > "$tmpdir"/fifo2
|
echo "done fifo2" > "$BATS_TEST_TMPDIR"/fifo2
|
||||||
fi
|
fi
|
||||||
rm -rf "$tmpdir"
|
rm -rf "$BATS_TEST_TMPDIR"
|
||||||
}
|
}
|
||||||
|
|
||||||
CURL_EXITCODE=1 STAMP="$tmpdir"/stamp1 FIFO="$tmpdir"/fifo1 $ABUILD_FETCH -d "$tmpdir" https://example.com/foo &
|
CURL_EXITCODE=1 STAMP="$BATS_TEST_TMPDIR"/stamp1 FIFO="$BATS_TEST_TMPDIR"/fifo1 $ABUILD_FETCH -d "$BATS_TEST_TMPDIR" https://example.com/foo &
|
||||||
pid1=$!
|
pid1=$!
|
||||||
|
|
||||||
# wait til curl is called
|
# wait til curl is called
|
||||||
while ! [ -f "$tmpdir"/stamp1 ]; do
|
while ! [ -f "$BATS_TEST_TMPDIR"/stamp1 ]; do
|
||||||
sleep 0.1
|
sleep 0.1
|
||||||
done
|
done
|
||||||
|
|
||||||
# try a second fetch, while the first one is still running
|
# try a second fetch, while the first one is still running
|
||||||
STAMP="$tmpdir"/stamp2 FIFO="$tmpdir"/fifo2 $ABUILD_FETCH -d "$tmpdir" https://example.com/foo &
|
STAMP="$BATS_TEST_TMPDIR"/stamp2 FIFO="$BATS_TEST_TMPDIR"/fifo2 $ABUILD_FETCH -d "$BATS_TEST_TMPDIR" https://example.com/foo &
|
||||||
pid2=$!
|
pid2=$!
|
||||||
ls -la "$tmpdir"
|
ls -la "$BATS_TEST_TMPDIR"
|
||||||
# second stamp should not exist til after first abuild-fetch completes
|
# second stamp should not exist til after first abuild-fetch completes
|
||||||
[ ! -f "$tmpdir"/stamp2 ]
|
[ ! -f "$BATS_TEST_TMPDIR"/stamp2 ]
|
||||||
|
|
||||||
# tell curl to similuate download complete of first
|
# tell curl to similuate download complete of first
|
||||||
echo "done fifo1" > "$tmpdir"/fifo1
|
echo "done fifo1" > "$BATS_TEST_TMPDIR"/fifo1
|
||||||
run wait $pid1
|
run wait $pid1
|
||||||
[ $status -ne 0 ]
|
[ $status -ne 0 ]
|
||||||
|
|
||||||
# wait til second instance gets lock to simulate download start
|
# wait til second instance gets lock to simulate download start
|
||||||
while ! [ -f "$tmpdir"/stamp2 ]; do
|
while ! [ -f "$BATS_TEST_TMPDIR"/stamp2 ]; do
|
||||||
sleep 0.1
|
sleep 0.1
|
||||||
done
|
done
|
||||||
|
|
||||||
# first instance is done. lets retry download. second instance should block us
|
# first instance is done. lets retry download. second instance should block us
|
||||||
rm "$tmpdir"/stamp1
|
rm "$BATS_TEST_TMPDIR"/stamp1
|
||||||
STAMP="$tmpdir"/stamp1 FIFO="$tmpdir"/fifo1 $ABUILD_FETCH -d "$tmpdir" https://example.com/foo &
|
STAMP="$BATS_TEST_TMPDIR"/stamp1 FIFO="$BATS_TEST_TMPDIR"/fifo1 $ABUILD_FETCH -d "$BATS_TEST_TMPDIR" https://example.com/foo &
|
||||||
pid1=$!
|
pid1=$!
|
||||||
|
|
||||||
sleep 0.2
|
sleep 0.2
|
||||||
# the first stamp should not exist, second instance should block the retry
|
# the first stamp should not exist, second instance should block the retry
|
||||||
# skip this test on s390x, due to sleep(0) not working there
|
# skip this test on s390x, due to sleep(0) not working there
|
||||||
if [ "$(uname -m)" != "s390x" ]; then
|
if [ "$(uname -m)" != "s390x" ]; then
|
||||||
[ ! -f "$tmpdir"/stamp1 ]
|
[ ! -f "$BATS_TEST_TMPDIR"/stamp1 ]
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# simulate second download finished
|
# simulate second download finished
|
||||||
echo "done fifo2" > "$tmpdir"/fifo2
|
echo "done fifo2" > "$BATS_TEST_TMPDIR"/fifo2
|
||||||
wait $pid2
|
wait $pid2
|
||||||
|
|
||||||
# first should get unblocked
|
# first should get unblocked
|
||||||
echo "done fifo1" > "$tmpdir"/fifo1
|
echo "done fifo1" > "$BATS_TEST_TMPDIR"/fifo1
|
||||||
wait $pid1
|
wait $pid1
|
||||||
|
|
||||||
# verify that first actually called curl
|
# verify that first actually called curl
|
||||||
[ -f "$tmpdir"/stamp1 ]
|
[ -f "$BATS_TEST_TMPDIR"/stamp1 ]
|
||||||
|
|
||||||
ls -la "$tmpdir"
|
ls -la "$BATS_TEST_TMPDIR"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,22 +1,10 @@
|
||||||
setup() {
|
setup() {
|
||||||
startdir=$PWD
|
export ABUILD_GZSPLIT="$PWD/../abuild-gzsplit"
|
||||||
export ABUILD_GZSPLIT="$PWD/.."/abuild-gzsplit
|
|
||||||
outdir="$PWD/tmp"
|
|
||||||
mkdir -p $outdir
|
|
||||||
datadir="$PWD/testdata"
|
datadir="$PWD/testdata"
|
||||||
cd "$outdir"
|
cd "$BATS_TEST_TMPDIR"
|
||||||
}
|
|
||||||
|
|
||||||
teardown() {
|
|
||||||
rm -f "$outdir"/control.tar.gz \
|
|
||||||
"$outdir"/data.tar.gz \
|
|
||||||
"$outdir"/signatures.tar.gz
|
|
||||||
rmdir "$outdir"
|
|
||||||
cd "$startdir"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "abuild-gzsplit: 3.11 package" {
|
@test "abuild-gzsplit: 3.11 package" {
|
||||||
|
|
||||||
run $ABUILD_GZSPLIT < "$datadir"/alpine-base-3.11.6-r0.apk
|
run $ABUILD_GZSPLIT < "$datadir"/alpine-base-3.11.6-r0.apk
|
||||||
[ "$status" -eq 0 ]
|
[ "$status" -eq 0 ]
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,23 +1,18 @@
|
||||||
setup() {
|
setup() {
|
||||||
export ABUILD_KEYGEN="$PWD/../abuild-keygen"
|
export ABUILD_KEYGEN="$PWD/../abuild-keygen"
|
||||||
export ABUILD_SHAREDIR="$PWD/.."
|
export ABUILD_SHAREDIR="$PWD/.."
|
||||||
tmpdir="$BATS_TMPDIR"/abuild-keygen
|
export ABUILD_USERDIR="$BATS_TEST_TMPDIR"/user
|
||||||
export ABUILD_USERDIR="$tmpdir"/user
|
|
||||||
mkdir -p "$ABUILD_USERDIR"
|
mkdir -p "$ABUILD_USERDIR"
|
||||||
export abuild_keygen_install_root=${ABUILD_USERDIR}
|
export abuild_keygen_install_root=${ABUILD_USERDIR}
|
||||||
|
|
||||||
# provide a fake git
|
# provide a fake git
|
||||||
mkdir -p "$tmpdir"/bin
|
mkdir -p "$BATS_TEST_TMPDIR"/bin
|
||||||
cat >"$tmpdir"/bin/git <<-EOF
|
cat >"$BATS_TEST_TMPDIR"/bin/git <<-EOF
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
exit 1
|
exit 1
|
||||||
EOF
|
EOF
|
||||||
chmod +x "$tmpdir"/bin/git
|
chmod +x "$BATS_TEST_TMPDIR"/bin/git
|
||||||
export PATH="$tmpdir/bin:$PATH"
|
export PATH="$BATS_TEST_TMPDIR/bin:$PATH"
|
||||||
}
|
|
||||||
|
|
||||||
teardown() {
|
|
||||||
rm -rf "$tmpdir"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "abuild-keygen: help text" {
|
@test "abuild-keygen: help text" {
|
||||||
|
@ -39,7 +34,7 @@ teardown() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "abuild-keygen: --install option (interactive)" {
|
@test "abuild-keygen: --install option (interactive)" {
|
||||||
yes | SUDO= $ABUILD_KEYGEN --install
|
echo | SUDO= $ABUILD_KEYGEN --install
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "abuild-keygen: --install -n (non-interacive)" {
|
@test "abuild-keygen: --install -n (non-interacive)" {
|
||||||
|
|
|
@ -4,10 +4,9 @@ setup() {
|
||||||
export ABUILD="$PWD/../abuild"
|
export ABUILD="$PWD/../abuild"
|
||||||
export ABUILD_SHAREDIR="$PWD/.."
|
export ABUILD_SHAREDIR="$PWD/.."
|
||||||
export ABUILD_CONF=/dev/null
|
export ABUILD_CONF=/dev/null
|
||||||
tmpdir="$BATS_TMPDIR"/abuild
|
export REPODEST="$BATS_TEST_TMPDIR"/packages
|
||||||
export REPODEST="$tmpdir"/packages
|
|
||||||
export CLEANUP="srcdir bldroot pkgdir deps"
|
export CLEANUP="srcdir bldroot pkgdir deps"
|
||||||
export WORKDIR="$tmpdir"/work
|
export WORKDIR="$BATS_TEST_TMPDIR"/work
|
||||||
export APORTSDIR="$PWD"/testrepo
|
export APORTSDIR="$PWD"/testrepo
|
||||||
export PATH="$PWD/../:$PATH"
|
export PATH="$PWD/../:$PATH"
|
||||||
export ARCH=$(apk --print-arch)
|
export ARCH=$(apk --print-arch)
|
||||||
|
@ -16,11 +15,7 @@ setup() {
|
||||||
abuild-keygen -ain >/dev/null 2>&1
|
abuild-keygen -ain >/dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mkdir -p "$tmpdir" "$WORKDIR"
|
mkdir -p "$BATS_TEST_TMPDIR" "$WORKDIR"
|
||||||
}
|
|
||||||
|
|
||||||
teardown() {
|
|
||||||
rm -rf "$tmpdir"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@test 'abuild-sign: do not record user name/id in index' {
|
@test 'abuild-sign: do not record user name/id in index' {
|
||||||
|
|
|
@ -4,11 +4,10 @@ setup() {
|
||||||
export ABUILD="$PWD/../abuild"
|
export ABUILD="$PWD/../abuild"
|
||||||
export ABUILD_SHAREDIR="$PWD/.."
|
export ABUILD_SHAREDIR="$PWD/.."
|
||||||
export ABUILD_CONF=/dev/null
|
export ABUILD_CONF=/dev/null
|
||||||
tmpdir="$BATS_TMPDIR"/abuild
|
export REPODEST="$BATS_TEST_TMPDIR"/packages
|
||||||
export REPODEST="$tmpdir"/packages
|
|
||||||
export CLEANUP="srcdir bldroot pkgdir deps"
|
export CLEANUP="srcdir bldroot pkgdir deps"
|
||||||
export WORKDIR="$tmpdir"/work
|
export WORKDIR="$BATS_TEST_TMPDIR"/work
|
||||||
export GIT_CONFIG_GLOBAL="$tmpdir"/gitconfig
|
export GIT_CONFIG_GLOBAL="$BATS_TEST_TMPDIR"/gitconfig
|
||||||
export APORTSDIR="$PWD"/testrepo
|
export APORTSDIR="$PWD"/testrepo
|
||||||
export PATH="$PWD/../:$PATH"
|
export PATH="$PWD/../:$PATH"
|
||||||
|
|
||||||
|
@ -16,14 +15,10 @@ setup() {
|
||||||
abuild-keygen -ain >/dev/null 2>&1
|
abuild-keygen -ain >/dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mkdir -p "$tmpdir" "$WORKDIR"
|
mkdir -p "$WORKDIR"
|
||||||
printf "[color]\n\tui = always\n" > "$GIT_CONFIG_GLOBAL"
|
printf "[color]\n\tui = always\n" > "$GIT_CONFIG_GLOBAL"
|
||||||
}
|
}
|
||||||
|
|
||||||
teardown() {
|
|
||||||
rm -rf "$tmpdir"
|
|
||||||
}
|
|
||||||
|
|
||||||
@test "abuild: help text" {
|
@test "abuild: help text" {
|
||||||
$ABUILD -h
|
$ABUILD -h
|
||||||
}
|
}
|
||||||
|
@ -67,8 +62,8 @@ teardown() {
|
||||||
arch=$($ABUILD -A)
|
arch=$($ABUILD -A)
|
||||||
$ABUILD
|
$ABUILD
|
||||||
|
|
||||||
mkdir "$tmpdir/dbgpkg-1.0-r0"
|
mkdir "$BATS_TEST_TMPDIR/dbgpkg-1.0-r0"
|
||||||
cd "$tmpdir/dbgpkg-1.0-r0"
|
cd "$BATS_TEST_TMPDIR/dbgpkg-1.0-r0"
|
||||||
tar -xf "$REPODEST"/testrepo/$arch/dbgpkg-1.0-r0.apk
|
tar -xf "$REPODEST"/testrepo/$arch/dbgpkg-1.0-r0.apk
|
||||||
! [ -e usr/lib/debug ]
|
! [ -e usr/lib/debug ]
|
||||||
debuginfo=$(readelf -wk usr/bin/hello | grep '^ Separate debug info file: [^/]*\.debug$')
|
debuginfo=$(readelf -wk usr/bin/hello | grep '^ Separate debug info file: [^/]*\.debug$')
|
||||||
|
@ -76,8 +71,8 @@ teardown() {
|
||||||
[ "$(nm usr/bin/hello 2>&1)" = "nm: usr/bin/hello: no symbols" ]
|
[ "$(nm usr/bin/hello 2>&1)" = "nm: usr/bin/hello: no symbols" ]
|
||||||
[ usr/bin/hello -ef usr/bin/hello-hard ]
|
[ usr/bin/hello -ef usr/bin/hello-hard ]
|
||||||
|
|
||||||
mkdir "$tmpdir/dbgpkg-dbg-1.0-r0"
|
mkdir "$BATS_TEST_TMPDIR/dbgpkg-dbg-1.0-r0"
|
||||||
cd "$tmpdir/dbgpkg-dbg-1.0-r0"
|
cd "$BATS_TEST_TMPDIR/dbgpkg-dbg-1.0-r0"
|
||||||
tar -xf "$REPODEST"/testrepo/$arch/dbgpkg-dbg-1.0-r0.apk
|
tar -xf "$REPODEST"/testrepo/$arch/dbgpkg-dbg-1.0-r0.apk
|
||||||
! [ -e usr/bin ]
|
! [ -e usr/bin ]
|
||||||
[ -n "$(nm usr/lib/debug/usr/bin/$debuginfo_file)" ]
|
[ -n "$(nm usr/lib/debug/usr/bin/$debuginfo_file)" ]
|
||||||
|
@ -113,14 +108,14 @@ teardown() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "abuild: test checksum generation" {
|
@test "abuild: test checksum generation" {
|
||||||
mkdir -p "$tmpdir"/foo
|
mkdir -p "$BATS_TEST_TMPDIR"/foo
|
||||||
cat > "$tmpdir"/foo/APKBUILD <<-EOF
|
cat > "$BATS_TEST_TMPDIR"/foo/APKBUILD <<-EOF
|
||||||
pkgname="foo"
|
pkgname="foo"
|
||||||
pkgver="1.0"
|
pkgver="1.0"
|
||||||
source="test.txt"
|
source="test.txt"
|
||||||
EOF
|
EOF
|
||||||
echo "foo" > "$tmpdir"/foo/test.txt
|
echo "foo" > "$BATS_TEST_TMPDIR"/foo/test.txt
|
||||||
cd "$tmpdir"/foo
|
cd "$BATS_TEST_TMPDIR"/foo
|
||||||
$ABUILD checksum
|
$ABUILD checksum
|
||||||
. ./APKBUILD && echo "$sha512sums" | sed '/^$/d' > sums
|
. ./APKBUILD && echo "$sha512sums" | sed '/^$/d' > sums
|
||||||
cat sums
|
cat sums
|
||||||
|
@ -128,22 +123,22 @@ teardown() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "abuild: test duplicates in checksum generation" {
|
@test "abuild: test duplicates in checksum generation" {
|
||||||
mkdir -p "$tmpdir"/foo "$tmpdir"/foo/dir1 "$tmpdir"/foo/dir2
|
mkdir -p "$BATS_TEST_TMPDIR"/foo "$BATS_TEST_TMPDIR"/foo/dir1 "$BATS_TEST_TMPDIR"/foo/dir2
|
||||||
cat > "$tmpdir"/foo/APKBUILD <<-EOF
|
cat > "$BATS_TEST_TMPDIR"/foo/APKBUILD <<-EOF
|
||||||
pkgname="foo"
|
pkgname="foo"
|
||||||
pkgver="1.0"
|
pkgver="1.0"
|
||||||
source="dir1/testfile dir2/testfile"
|
source="dir1/testfile dir2/testfile"
|
||||||
EOF
|
EOF
|
||||||
echo "first" > "$tmpdir"/foo/dir1/testfile
|
echo "first" > "$BATS_TEST_TMPDIR"/foo/dir1/testfile
|
||||||
echo "second" > "$tmpdir"/foo/dir2/testfile
|
echo "second" > "$BATS_TEST_TMPDIR"/foo/dir2/testfile
|
||||||
cd "$tmpdir"/foo
|
cd "$BATS_TEST_TMPDIR"/foo
|
||||||
run $ABUILD checksum
|
run $ABUILD checksum
|
||||||
[ $status -ne 0 ]
|
[ $status -ne 0 ]
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "abuild: verify main package does not inherit subpackage dependencies" {
|
@test "abuild: verify main package does not inherit subpackage dependencies" {
|
||||||
mkdir -p "$tmpdir"/testrepo/subpkg-dep-leak
|
mkdir -p "$BATS_TEST_TMPDIR"/testrepo/subpkg-dep-leak
|
||||||
cd "$tmpdir"/testrepo/subpkg-dep-leak
|
cd "$BATS_TEST_TMPDIR"/testrepo/subpkg-dep-leak
|
||||||
cat > APKBUILD <<-EOF
|
cat > APKBUILD <<-EOF
|
||||||
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
|
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
|
||||||
pkgname="subpkg-dep-leak"
|
pkgname="subpkg-dep-leak"
|
||||||
|
@ -186,7 +181,8 @@ teardown() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "abuild: reject initd script with improper shebang" {
|
@test "abuild: reject initd script with improper shebang" {
|
||||||
cd testrepo/invalid-initd/
|
cp -r testrepo/invalid-initd "$BATS_TEST_TMPDIR"
|
||||||
|
cd "$BATS_TEST_TMPDIR/invalid-initd"
|
||||||
sed 's#@source@#test.initd#' APKBUILD.in >APKBUILD
|
sed 's#@source@#test.initd#' APKBUILD.in >APKBUILD
|
||||||
|
|
||||||
run $ABUILD unpack
|
run $ABUILD unpack
|
||||||
|
@ -197,7 +193,8 @@ teardown() {
|
||||||
|
|
||||||
@test "abuild: reject remote initd script with improper shebang" {
|
@test "abuild: reject remote initd script with improper shebang" {
|
||||||
skip 'flaky'
|
skip 'flaky'
|
||||||
cd testrepo/invalid-initd/
|
cp -r testrepo/invalid-initd "$BATS_TEST_TMPDIR"
|
||||||
|
cd "$BATS_TEST_TMPDIR/invalid-initd"
|
||||||
sed 's#@source@#test.initd::https://tpaste.us/ovyL?.initd#' APKBUILD.in >APKBUILD
|
sed 's#@source@#test.initd::https://tpaste.us/ovyL?.initd#' APKBUILD.in >APKBUILD
|
||||||
|
|
||||||
$ABUILD fetch
|
$ABUILD fetch
|
||||||
|
@ -209,7 +206,8 @@ teardown() {
|
||||||
|
|
||||||
@test "abuild: reject remote initd without initd extension with improper shebang" {
|
@test "abuild: reject remote initd without initd extension with improper shebang" {
|
||||||
skip 'Not handled yet'
|
skip 'Not handled yet'
|
||||||
cd testrepo/invalid-initd/
|
cp -r testrepo/invalid-initd "$BATS_TEST_TMPDIR"
|
||||||
|
cd "$BATS_TEST_TMPDIR/invalid-initd"
|
||||||
sed 's#@source@#test.initd::https://tpaste.us/ovyL#' APKBUILD.in >APKBUILD
|
sed 's#@source@#test.initd::https://tpaste.us/ovyL#' APKBUILD.in >APKBUILD
|
||||||
|
|
||||||
run $ABUILD fetch unpack
|
run $ABUILD fetch unpack
|
||||||
|
|
|
@ -4,27 +4,26 @@ setup() {
|
||||||
export ABUILD_KEYGEN="$PWD/../abuild-keygen"
|
export ABUILD_KEYGEN="$PWD/../abuild-keygen"
|
||||||
export ABUILD_SHAREDIR="$PWD/.."
|
export ABUILD_SHAREDIR="$PWD/.."
|
||||||
export ABUILD_CONF=/dev/null
|
export ABUILD_CONF=/dev/null
|
||||||
tmpdir="$BATS_TMPDIR"/abump
|
export ABUILD_USERDIR="$BATS_TEST_TMPDIR"/.config
|
||||||
export ABUILD_USERDIR="$tmpdir"/.config
|
|
||||||
export PACKAGER="Test User <user@example.com>"
|
export PACKAGER="Test User <user@example.com>"
|
||||||
export REPODEST="$tmpdir"/packages
|
export REPODEST="$BATS_TEST_TMPDIR"/packages
|
||||||
mkdir -p $tmpdir
|
mkdir -p $BATS_TEST_TMPDIR
|
||||||
export CLEANUP="srcdir bldroot pkgdir deps"
|
export CLEANUP="srcdir bldroot pkgdir deps"
|
||||||
export APORTSDIR="$tmpdir"
|
export APORTSDIR="$BATS_TEST_TMPDIR"
|
||||||
export ABUILD_OPTS=""
|
export ABUILD_OPTS=""
|
||||||
export ABUILD_APK_INDEX_OPTS="--keys-dir=$ABUILD_USERDIR"
|
export ABUILD_APK_INDEX_OPTS="--keys-dir=$ABUILD_USERDIR"
|
||||||
export PATH="$PWD/../:$PATH"
|
export PATH="$PWD/../:$PATH"
|
||||||
|
|
||||||
$ABUILD_KEYGEN --append -n
|
$ABUILD_KEYGEN --append -n
|
||||||
|
|
||||||
cd "$tmpdir"
|
cd "$BATS_TEST_TMPDIR"
|
||||||
git init --quiet
|
git init --quiet
|
||||||
git config user.email "user@example.com"
|
git config user.email "user@example.com"
|
||||||
git config user.name "Test User"
|
git config user.name "Test User"
|
||||||
}
|
}
|
||||||
|
|
||||||
teardown() {
|
teardown() {
|
||||||
rm -rf "$tmpdir"
|
rm -rf "$BATS_TEST_TMPDIR"
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "abump: help text" {
|
@test "abump: help text" {
|
||||||
|
@ -32,8 +31,8 @@ teardown() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "abump: simple bump" {
|
@test "abump: simple bump" {
|
||||||
mkdir -p "$tmpdir"/main/foo
|
mkdir -p "$BATS_TEST_TMPDIR"/main/foo
|
||||||
cd "$tmpdir"/main/foo
|
cd "$BATS_TEST_TMPDIR"/main/foo
|
||||||
echo "first" > foo-1.0.txt
|
echo "first" > foo-1.0.txt
|
||||||
echo "second" > foo-1.1.txt
|
echo "second" > foo-1.1.txt
|
||||||
cat > APKBUILD <<-EOF
|
cat > APKBUILD <<-EOF
|
||||||
|
@ -60,8 +59,8 @@ teardown() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "abump: test bumping same version" {
|
@test "abump: test bumping same version" {
|
||||||
mkdir -p "$tmpdir"/main/foo
|
mkdir -p "$BATS_TEST_TMPDIR"/main/foo
|
||||||
cd "$tmpdir"/main/foo
|
cd "$BATS_TEST_TMPDIR"/main/foo
|
||||||
echo "first" > foo-1.0.txt
|
echo "first" > foo-1.0.txt
|
||||||
echo "second" > foo-1.1.txt
|
echo "second" > foo-1.1.txt
|
||||||
cat > APKBUILD <<-EOF
|
cat > APKBUILD <<-EOF
|
||||||
|
@ -89,8 +88,8 @@ teardown() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "abump: test bumping same version which is not in git" {
|
@test "abump: test bumping same version which is not in git" {
|
||||||
mkdir -p "$tmpdir"/main/foo
|
mkdir -p "$BATS_TEST_TMPDIR"/main/foo
|
||||||
cd "$tmpdir"/main/foo
|
cd "$BATS_TEST_TMPDIR"/main/foo
|
||||||
echo "first" > foo-1.0.txt
|
echo "first" > foo-1.0.txt
|
||||||
echo "second" > foo-1.1.txt
|
echo "second" > foo-1.1.txt
|
||||||
cat > APKBUILD <<-EOF
|
cat > APKBUILD <<-EOF
|
||||||
|
|
Loading…
Reference in New Issue