summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rwxr-xr-xtests/exe/ob-unpacksource.sh52
-rw-r--r--tests/local.mk3
2 files changed, 54 insertions, 1 deletions
diff --git a/tests/exe/ob-unpacksource.sh b/tests/exe/ob-unpacksource.sh
new file mode 100755
index 0000000..375bb1e
--- /dev/null
+++ b/tests/exe/ob-unpacksource.sh
@@ -0,0 +1,52 @@
+# Tests for ob-unpacksource
+#
+# Copyright (C) 2019 Patrick McDermott
+#
+# This file is part of opkbuild.
+#
+# opkbuild is free software: you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# opkbuild is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with opkbuild. If not, see <http://www.gnu.org/licenses/>.
+
+set -eu
+
+. "${TOP_SRCDIR}/tests/aux/tap-functions.sh"
+. "${TOP_SRCDIR}/tests/aux/common.sh"
+
+FOO_SH="$(cat <<-'EOF'
+ #!/bin/sh
+ printf 'Hello, world!\n'
+ EOF
+ )"
+
+plan_ 4
+
+mkdir -p '../src/src/'
+printf '%s' "${FOO_SH}" >'../src/src/foo.sh'
+
+OPK_SOURCE='foo' OPK_SOURCE_VERSION_UPSTREAM='1.0' \
+ command_ok_ 'ob-unpacksource exit status' ob-unpacksource
+cmd_is 'native sources unpacked' cat 'src/src/foo.sh' <<-EOF
+ ${FOO_SH}
+ EOF
+
+rm -Rf 'src/'
+
+mv '../src/' 'foo/'
+tar -czf '../foo-1.0.orig.tar.gz' 'foo/'
+rm -Rf 'foo/'
+
+OPK_SOURCE='foo' OPK_SOURCE_VERSION_UPSTREAM='1.0' \
+ command_ok_ 'ob-unpacksource exit status' ob-unpacksource
+cmd_is 'upstream sources unpacked' cat 'src/src/foo.sh' <<-EOF
+ ${FOO_SH}
+ EOF
diff --git a/tests/local.mk b/tests/local.mk
index 590600c..72f1135 100644
--- a/tests/local.mk
+++ b/tests/local.mk
@@ -6,7 +6,8 @@ TESTS = \
%reldir%/lib/ob_parse_changelog.sh \
%reldir%/lib/ob_parse_control.sh \
%reldir%/exe/opkbuild_version.sh \
- %reldir%/exe/ob-buildenv.sh
+ %reldir%/exe/ob-buildenv.sh \
+ %reldir%/exe/ob-unpacksource.sh
TEST_EXTENSIONS = .sh
SH_LOG_DRIVER = \
$(SHELL) $(top_srcdir)/tests/aux/setup.sh "$(top_builddir)/tests" && \