aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2006-04-10 04:22:52 +0000
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2006-04-10 04:22:52 +0000
commit6c9837567e10d1208af4b841588800c54e4d0979 (patch)
tree79d9fb75c173e83482ed7137cc8c4a41bd71f775
parentc64d603a492ab90b82f9b9d5c0671f9d7a94ff66 (diff)
downloadpaludis-6c9837567e10d1208af4b841588800c54e4d0979.tar.gz
paludis-6c9837567e10d1208af4b841588800c54e4d0979.tar.xz
Add a test for dobin. Easily pillaged for other utilities if someone feels like it.
-rw-r--r--ebuild/utils/Makefile.am2
-rwxr-xr-x[-rw-r--r--]ebuild/utils/dobin0
-rw-r--r--ebuild/utils/dobin_TEST.bash64
3 files changed, 65 insertions, 1 deletions
diff --git a/ebuild/utils/Makefile.am b/ebuild/utils/Makefile.am
index d319a59..7f08932 100644
--- a/ebuild/utils/Makefile.am
+++ b/ebuild/utils/Makefile.am
@@ -44,7 +44,7 @@ TESTS_ENVIRONMENT = env \
TEST_SCRIPT_DIR="$(srcdir)/" \
$(SHELL) $(top_srcdir)/ebuild/utils/run_test.bash
-TESTS = merge_TEST.bash
+TESTS = merge_TEST.bash dobin_TEST.bash
EXTRA_DIST = $(libexecprog_SCRIPTS) $(TESTS) run_test.bash
check_SCRIPTS = $(TESTS) merge_TEST_setup.sh merge_TEST_cleanup.sh
diff --git a/ebuild/utils/dobin b/ebuild/utils/dobin
index 506f50f..506f50f 100644..100755
--- a/ebuild/utils/dobin
+++ b/ebuild/utils/dobin
diff --git a/ebuild/utils/dobin_TEST.bash b/ebuild/utils/dobin_TEST.bash
new file mode 100644
index 0000000..b41612a
--- /dev/null
+++ b/ebuild/utils/dobin_TEST.bash
@@ -0,0 +1,64 @@
+#!/bin/bash
+# vim: set sw=4 sts=4 et :
+
+# Copyright (c) 2006 Ciaran McCreesh <ciaranm@gentoo.org>
+#
+# This file is part of the Paludis package manager. Paludis is free software;
+# you can redistribute it and/or modify it under the terms of the GNU General
+# Public License version 2, as published by the Free Software Foundation.
+#
+# Paludis 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
+# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+# Place, Suite 330, Boston, MA 02111-1307 USA
+
+source ${PALUDIS_EBUILD_DIR}/install_functions.bash
+
+dobin_TEST()
+{
+ mkdir -p dobin_TEST_dir/src dobin_TEST_dir/dst ; test_return_code
+ echo "one contents" > dobin_TEST_dir/src/one ; test_return_code
+ echo "two contents" > dobin_TEST_dir/src/two ; test_return_code
+ echo "three contents" > dobin_TEST_dir/src/three ; test_return_code
+
+ export D=dobin_TEST_dir/dst
+ ./dobin dobin_TEST_dir/src/one &>/dev/null ; test_return_code
+ ./dobin dobin_TEST_dir/src/two dobin_TEST_dir/src/three &>/dev/null ; test_return_code
+
+ [[ -f dobin_TEST_dir/dst/usr/bin/one ]] ; test_return_code
+ [[ -f dobin_TEST_dir/dst/usr/bin/two ]] ; test_return_code
+ [[ -f dobin_TEST_dir/dst/usr/bin/three ]] ; test_return_code
+
+ test_equality "$(< dobin_TEST_dir/dst/usr/bin/one)" "one contents"
+ test_equality "$(< dobin_TEST_dir/dst/usr/bin/two)" "two contents"
+ test_equality "$(< dobin_TEST_dir/dst/usr/bin/three)" "three contents"
+
+ rm -fr dobin_TEST_dir
+}
+
+dobin_fail_TEST()
+{
+ mkdir -p dobin_TEST_dir/src dobin_TEST_dir/dst ; test_return_code
+ echo "one contents" > dobin_TEST_dir/src/one ; test_return_code
+ echo "two contents" > dobin_TEST_dir/src/two ; test_return_code
+ echo "three contents" > dobin_TEST_dir/src/three ; test_return_code
+
+ export D=dobin_TEST_dir/dst
+ ! ./dobin dobin_TEST_dir/src/four &>/dev/null ; test_return_code
+ ! ./dobin dobin_TEST_dir/src/one dobin_TEST_dir/src/seven &>/dev/null ; test_return_code
+ ! ./dobin dobin_TEST_dir/src/eight dobin_TEST_dir/src/one &>/dev/null ; test_return_code
+
+ [[ -f dobin_TEST_dir/dst/usr/bin/one ]] ; test_return_code
+ ! [[ -f dobin_TEST_dir/dst/usr/bin/four ]] ; test_return_code
+ ! [[ -f dobin_TEST_dir/dst/usr/bin/five ]] ; test_return_code
+ ! [[ -f dobin_TEST_dir/dst/usr/bin/six ]] ; test_return_code
+
+ test_equality "$(< dobin_TEST_dir/dst/usr/bin/one)" "one contents"
+
+ rm -fr dobin_TEST_dir
+}
+