summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJannis Pohlmann <jannis.pohlmann@codethink.co.uk>2012-02-17 15:20:28 +0000
committerJannis Pohlmann <jannis.pohlmann@codethink.co.uk>2012-02-17 15:20:28 +0000
commit135599f3af857d0a67ec41caf63895d762a23dc3 (patch)
tree2f573682e20ed014a4edfa6529d3c65c8e7f4ed1 /tests
parent5deb9ac9eaf007901e67fc48048fba395d8aacd5 (diff)
downloadlorry-135599f3af857d0a67ec41caf63895d762a23dc3.tar.gz
Add simple hg test. Needs hg-fast-export, which I don't have.
This is why the test might be broken.
Diffstat (limited to 'tests')
-rwxr-xr-xtests/hg-single-commit.script45
-rwxr-xr-xtests/hg-single-commit.setup47
-rw-r--r--tests/hg-single-commit.stdout3
3 files changed, 95 insertions, 0 deletions
diff --git a/tests/hg-single-commit.script b/tests/hg-single-commit.script
new file mode 100755
index 0000000..e999007
--- /dev/null
+++ b/tests/hg-single-commit.script
@@ -0,0 +1,45 @@
+#!/bin/sh
+#
+# Tests converting a simple hg repository to hg.
+#
+# 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/hg-test-repo.log"
+workdir="$DATADIR/work-dir"
+
+./lorry --verbose --pull-only --log="$logfile" --working-area="$workdir" \
+ "$DATADIR/hg-test-repo.lorry" > /dev/null 2> /dev/null
+
+cd "$workdir/hg-test-repo/hg/"
+
+# list the branches
+hg branches | cut -d' ' -f1
+
+# cat the test file
+hg cat -r default test.txt
+
+# check out the trunk branch
+cd "$workdir/hg-test-repo"
+hg clone --quiet hg temporary-clone
+cd temporary-clone
+hg update --quiet -c default
+
+# list the commit messages
+hg log --template '{desc|firstline}\n'
diff --git a/tests/hg-single-commit.setup b/tests/hg-single-commit.setup
new file mode 100755
index 0000000..a50284f
--- /dev/null
+++ b/tests/hg-single-commit.setup
@@ -0,0 +1,47 @@
+#!/bin/sh
+#
+# Creates a hg repository with a single file and a single commit.
+#
+# 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 repository
+repo="$DATADIR/hg-test-repo"
+mkdir "$repo"
+cd "$repo"
+hg init --quiet
+
+# add the test file
+echo "first line" > test.txt
+hg add --quiet test.txt
+
+# make a commit
+hg commit --user lorry-test-suite --quiet -m "first commit"
+
+# create the .lorry file for the repository
+cat <<EOF > $DATADIR/hg-test-repo.lorry
+{
+ "hg-test-repo": {
+ "type": "hg",
+ "url": "file://$repo"
+ }
+}
+EOF
+
+# create the working directory
+test -d "$DATADIR/work-dir" || mkdir "$DATADIR/work-dir"
diff --git a/tests/hg-single-commit.stdout b/tests/hg-single-commit.stdout
new file mode 100644
index 0000000..c231fb3
--- /dev/null
+++ b/tests/hg-single-commit.stdout
@@ -0,0 +1,3 @@
+default
+first line
+first commit