summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2019-11-07 11:01:18 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2019-11-07 11:32:37 +0000
commit43fb2c012e4c8a6394e9177e48999bde4de1846a (patch)
treea885a3b4c35613eed0fbbf57b9b0c63f4e2c2818
parenta8f564287e002c399ec57c1490fd80d83ff74d68 (diff)
downloadabuild-43fb2c012e4c8a6394e9177e48999bde4de1846a.tar.bz2
abuild-43fb2c012e4c8a6394e9177e48999bde4de1846a.tar.xz
add basic tests using bats
-rw-r--r--.gitignore2
-rw-r--r--Makefile3
-rw-r--r--tests/abuild.bats11
-rw-r--r--tests/testrepo/pkg1/APKBUILD34
4 files changed, 50 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index 64fc62f..a16fa23 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,3 +19,5 @@ checkapk
devbuild
functions.sh
newapkbuild
+src
+pkg
diff --git a/Makefile b/Makefile
index 9206787..3e95f81 100644
--- a/Makefile
+++ b/Makefile
@@ -93,6 +93,9 @@ help:
@echo "$(P) makefile"
@echo "usage: make install [ DESTDIR=<path> ]"
+check: $(USR_BIN_FILE) functions.sh
+ cd tests && bats *.bats
+
install: $(USR_BIN_FILES) $(SAMPLES) abuild.conf functions.sh
install -d $(DESTDIR)/$(bindir) $(DESTDIR)/$(sysconfdir) \
$(DESTDIR)/$(datadir) $(DESTDIR)/$(mandir)/man1 \
diff --git a/tests/abuild.bats b/tests/abuild.bats
new file mode 100644
index 0000000..159762d
--- /dev/null
+++ b/tests/abuild.bats
@@ -0,0 +1,11 @@
+setup() {
+ export ABUILD=../abuild
+}
+
+@test "help text" {
+ $ABUILD -h
+}
+
+@test "version string" {
+ $ABUILD -V
+}
diff --git a/tests/testrepo/pkg1/APKBUILD b/tests/testrepo/pkg1/APKBUILD
new file mode 100644
index 0000000..a87d7d0
--- /dev/null
+++ b/tests/testrepo/pkg1/APKBUILD
@@ -0,0 +1,34 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+
+# test package
+pkgname="pkg1"
+pkgver="1.0"
+pkgrel=0
+pkgdesc="Dummy test package"
+url="https://gitlab.alpinelinux.org/alpine/aports"
+arch="noarch"
+license="MIT"
+subpackages="$pkgname-dev $pkgname-doc"
+source=""
+builddir="$srcdir/pkg1-1.0"
+
+prepare() {
+ mkdir -p "$builddir"
+}
+
+build() {
+ mkdir -p usr/include usr/bin usr/share/man/man1
+ touch usr/include/$pkgname.h
+ touch usr/bin/$pkgname
+ touch usr/share/man/man1/$pkgname.1
+}
+
+check() {
+ true
+}
+
+package() {
+ mkdir -p "$pkgdir"
+ cp -r * "$pkgdir"/
+}
+