[hacktree] Initial test suite



commit 03425c0dcd3129522b1534481c7c7c9e70940cf3
Author: Colin Walters <walters verbum org>
Date:   Wed Oct 12 16:46:23 2011 -0400

    Initial test suite

 tests/.gitignore                    |    1 +
 tests/Makefile                      |   11 +++++++++++
 tests/libtest.sh                    |   31 +++++++++++++++++++++++++++++++
 tests/t0000-init-link-files-fsck.sh |   27 +++++++++++++++++++++++++++
 4 files changed, 70 insertions(+), 0 deletions(-)
---
diff --git a/tests/.gitignore b/tests/.gitignore
new file mode 100644
index 0000000..2460008
--- /dev/null
+++ b/tests/.gitignore
@@ -0,0 +1 @@
+!Makefile
diff --git a/tests/Makefile b/tests/Makefile
new file mode 100644
index 0000000..e1afd8d
--- /dev/null
+++ b/tests/Makefile
@@ -0,0 +1,11 @@
+
+TESTS = $(wildcard t[0-9][0-9][0-9][0-9]-*.sh)
+
+all:
+
+check:
+	@for test in $(TESTS); do \
+	  echo $$test; \
+	  ./$$test; \
+	done
+
diff --git a/tests/libtest.sh b/tests/libtest.sh
new file mode 100644
index 0000000..ec0bf16
--- /dev/null
+++ b/tests/libtest.sh
@@ -0,0 +1,31 @@
+# Source library for shell script tests
+#
+# Copyright (C) 2011 Colin Walters <walters verbum org>
+#
+# This program 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 2 of the License, or
+# (at your option) any later version.
+#
+# This program 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.
+#
+# Author: Colin Walters <walters verbum org>
+
+TMPDIR=${TMPDIR:-/tmp}
+export TMPDIR
+test_tmpdir=`mktemp -d "$TMPDIR/hacktree-tests.XXXXXXXXXX"`
+cd "$test_tmpdir"
+touch "$test_tmpdir/.test$$"
+
+die () {
+    test -f "$test_tmpdir/.test$$" && rm -rf "$test_tmpdir"
+}
+
+trap 'die' EXIT
diff --git a/tests/t0000-init-link-files-fsck.sh b/tests/t0000-init-link-files-fsck.sh
new file mode 100755
index 0000000..4178beb
--- /dev/null
+++ b/tests/t0000-init-link-files-fsck.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+set -e
+
+. libtest.sh
+
+echo '1..5'
+
+mkdir files
+files=`pwd`/files
+touch files/foo
+echo moo > files/cow
+
+mkdir repo
+cd repo
+hacktree init
+echo 'ok init'
+hacktree fsck -q
+echo 'ok fsck'
+hacktree link-file $files/foo
+echo 'ok link'
+hacktree fsck -q
+echo 'ok link-fsk'
+hacktree link-file $files/cow
+hacktree fsck -q
+echo 'ok link-fsk2'
+



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]