summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Ipsum <richard.ipsum@codethink.co.uk>2015-08-17 14:45:46 +0100
committerPedro Alvarez <pedro.alvarez@codethink.co.uk>2015-08-20 14:12:26 +0000
commit3455c3c77ca778527efbd4541d3be1fb09f37bcf (patch)
tree5631c447d6c2b2aef76ff79f9d204108d6bfa663
parent364d24dbe83b6b875db1088b10df73d06136ad5d (diff)
downloadlorry-3455c3c77ca778527efbd4541d3be1fb09f37bcf.tar.gz
Add extended headers ignored test
Any extended headers present (such as those created by bsd tar) should be ignored. Change-Id: Ic1c0831c349fc7192892fbf487427dac3b320366
-rwxr-xr-xtests/extended-headers-ignored.script39
-rwxr-xr-xtests/extended-headers-ignored.setup34
-rw-r--r--tests/extended-headers-ignored.stdout1
-rw-r--r--tests/extended_headers_test_archive.tarbin0 -> 4608 bytes
4 files changed, 74 insertions, 0 deletions
diff --git a/tests/extended-headers-ignored.script b/tests/extended-headers-ignored.script
new file mode 100755
index 0000000..ecc8ef2
--- /dev/null
+++ b/tests/extended-headers-ignored.script
@@ -0,0 +1,39 @@
+#!/bin/sh
+#
+# Tests converting a bsd tarball with extended headers to git.
+#
+# This test includes a tarball created with bsd tar, the file
+# that has been tarred has been given uid and gid values
+# that cause bsd tar to store the uids and gids in an extended header.
+#
+# See http://www.gnu.org/software/tar/manual/html_node/Standard.html
+# for more details
+#
+# Copyright © 2015 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/extended-headers-ignored-test-repo.log"
+workdir="$DATADIR/work-dir"
+
+"${SRCDIR}/test-lorry" --pull-only --log="$logfile" --working-area="$workdir" \
+ "$DATADIR/extended-headers-ignored-test.lorry" > /dev/null 2> /dev/null
+
+repodst="$DATADIR/extended-headers"
+git clone "$workdir/extended-headers-test-repo/git" "$repodst" >/dev/null 2>&1
+
+ls "$repodst"
diff --git a/tests/extended-headers-ignored.setup b/tests/extended-headers-ignored.setup
new file mode 100755
index 0000000..e8162ff
--- /dev/null
+++ b/tests/extended-headers-ignored.setup
@@ -0,0 +1,34 @@
+#!/bin/sh
+#
+# Creates a git repo from a bsd tarball we made earlier
+#
+# Copyright © 2015 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 .lorry file for the repository
+cat <<EOF > "$DATADIR/extended-headers-ignored-test.lorry"
+{
+ "extended-headers-test-repo": {
+ "type": "tarball",
+ "url": "file://$SRCDIR/tests/extended_headers_test_archive.tar"
+ }
+}
+EOF
+
+# create the working directory
+test -d "$DATADIR/work-dir" || mkdir "$DATADIR/work-dir"
diff --git a/tests/extended-headers-ignored.stdout b/tests/extended-headers-ignored.stdout
new file mode 100644
index 0000000..ce01362
--- /dev/null
+++ b/tests/extended-headers-ignored.stdout
@@ -0,0 +1 @@
+hello
diff --git a/tests/extended_headers_test_archive.tar b/tests/extended_headers_test_archive.tar
new file mode 100644
index 0000000..dd1013a
--- /dev/null
+++ b/tests/extended_headers_test_archive.tar
Binary files differ