summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJannis Pohlmann <jannis.pohlmann@codethink.co.uk>2012-02-20 13:46:19 +0000
committerJannis Pohlmann <jannis.pohlmann@codethink.co.uk>2012-02-20 13:47:04 +0000
commitcd4ac726ce23f7bf7716836fc60a81ea380502a0 (patch)
tree8ec2a9dd1a885efc28a3801818f79a32e574ebf4 /tests
parentfcf95740d72fa199ae4f11ba40cb0267a66f039b (diff)
downloadlorry-cd4ac726ce23f7bf7716836fc60a81ea380502a0.tar.gz
Add basic tarball importing test, analog to the others.
Diffstat (limited to 'tests')
-rwxr-xr-xtests/tar-single-commit.script43
-rwxr-xr-xtests/tar-single-commit.setup59
-rw-r--r--tests/tar-single-commit.stdout12
3 files changed, 114 insertions, 0 deletions
diff --git a/tests/tar-single-commit.script b/tests/tar-single-commit.script
new file mode 100755
index 0000000..a3dea73
--- /dev/null
+++ b/tests/tar-single-commit.script
@@ -0,0 +1,43 @@
+#!/bin/sh
+#
+# Tests converting a simple SVN repository to git.
+#
+# Copyright (C) 2012 Codethink Limited
+#
+# 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; version 2 of the License.
+#
+# 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.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+
+set -e
+
+logfile="$DATADIR/svn-test-repo.log"
+workdir="$DATADIR/work-dir"
+
+./lorry --pull-only --log="$logfile" --working-area="$workdir" \
+ "$DATADIR/tar-test-repo.lorry" > /dev/null 2> /dev/null
+
+# verify that the git repositories were created successfully
+for FORMAT in "gzip" "bzip2" "lzma"; do
+ cd "$workdir/tar-test-repo-$FORMAT/git/"
+
+ echo "$FORMAT"
+
+ # list the branches
+ git show-ref | cut -d' ' -f2
+
+ # cat the test file
+ git cat-file blob master:test.txt
+
+ # list the commit messages
+ git log --pretty='%s' master
+done
diff --git a/tests/tar-single-commit.setup b/tests/tar-single-commit.setup
new file mode 100755
index 0000000..8722ac6
--- /dev/null
+++ b/tests/tar-single-commit.setup
@@ -0,0 +1,59 @@
+#!/bin/sh
+#
+# Creates a Tarball with a single file.
+#
+# Copyright (C) 2012 Codethink Limited
+#
+# 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; version 2 of the License.
+#
+# 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.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+
+set -e
+
+# create the original "repository"
+repo="$DATADIR/tar-test-repo"
+mkdir "$repo"
+echo "first line" > "$repo/test.txt"
+
+# create the tarballs
+cd "$DATADIR"
+tar -czf tar-test-repo.tar.gz "`basename $repo`"
+tar -cjf tar-test-repo.tar.bz2 "`basename $repo`"
+tar -cf tar-test-repo.tar.lzma "`basename $repo`" --lzma
+
+# create the .lorry file for the tarball "repositories"
+cat <<EOF > $DATADIR/tar-test-repo.lorry
+{
+ "tar-test-repo-gzip": {
+ "type": "tarball",
+ "compression": "gzip",
+ "strip": 1,
+ "url": "file://$DATADIR/tar-test-repo.tar.gz"
+ },
+ "tar-test-repo-bzip2": {
+ "type": "tarball",
+ "compression": "bzip2",
+ "strip": 1,
+ "url": "file://$DATADIR/tar-test-repo.tar.bz2"
+ },
+ "tar-test-repo-lzma": {
+ "type": "tarball",
+ "compression": "lzma",
+ "strip": 1,
+ "url": "file://$DATADIR/tar-test-repo.tar.lzma"
+ }
+}
+EOF
+
+# create the working directory
+test -d "$DATADIR/work-dir" || mkdir "$DATADIR/work-dir"
diff --git a/tests/tar-single-commit.stdout b/tests/tar-single-commit.stdout
new file mode 100644
index 0000000..04cec41
--- /dev/null
+++ b/tests/tar-single-commit.stdout
@@ -0,0 +1,12 @@
+gzip
+refs/heads/master
+first line
+Tarball conversion
+bzip2
+refs/heads/master
+first line
+Tarball conversion
+lzma
+refs/heads/master
+first line
+Tarball conversion