mrc0mmand / rpms / libguestfs

Forked from rpms/libguestfs 3 years ago
Clone
Blob Blame History Raw
From 93bc2c859a0d570f965ed38c91f7ffea5e802586 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 29 Aug 2013 13:36:56 +0100
Subject: [PATCH] Add a regression test of tar-out excludes option
 (RHBZ#1001875).

(cherry picked from commit 1b34d6171bb4aaa1134a9d867918d7163cc7e069)
---
 tests/regressions/Makefile.am    |  1 +
 tests/regressions/rhbz1001875.sh | 66 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 67 insertions(+)
 create mode 100755 tests/regressions/rhbz1001875.sh

diff --git a/tests/regressions/Makefile.am b/tests/regressions/Makefile.am
index 1cc307d..5b0d1c3 100644
--- a/tests/regressions/Makefile.am
+++ b/tests/regressions/Makefile.am
@@ -33,6 +33,7 @@ TESTS = \
 	rhbz914931 \
 	rhbz957772.sh \
 	rhbz975797.sh \
+	rhbz1001875.sh \
 	test-noexec-stack.pl
 
 tests_not_run = \
diff --git a/tests/regressions/rhbz1001875.sh b/tests/regressions/rhbz1001875.sh
new file mode 100755
index 0000000..b17ca78
--- /dev/null
+++ b/tests/regressions/rhbz1001875.sh
@@ -0,0 +1,66 @@
+#!/bin/bash -
+# libguestfs
+# Copyright (C) 2013 Red Hat Inc.
+#
+# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+# Regression test for:
+# https://bugzilla.redhat.com/show_bug.cgi?id=1001875
+# tar-out excludes option.
+
+set -e
+export LANG=C
+
+if [ -n "$SKIP_TEST_RHBZ1001875_SH" ]; then
+    echo "$0: test skipped because environment variable is set."
+    exit 77
+fi
+
+rm -f test1.img rhbz1001875-[123].tar
+
+../../fish/guestfish -N fs -m /dev/sda1 <<EOF
+touch /hello
+touch /world
+touch /helloworld
+tar-out / rhbz1001875-1.tar "excludes:hello"
+tar-out / rhbz1001875-2.tar "excludes:hello world"
+tar-out / rhbz1001875-3.tar "excludes:he* w*"
+EOF
+
+if [ "$(tar tf rhbz1001875-1.tar | sort)" != "./
+./helloworld
+./lost+found/
+./world" ]; then
+    echo "$0: unexpected output from #1 test:"
+    tar tf rhbz1001875-1.tar | sort
+    exit 1
+fi
+
+if [ "$(tar tf rhbz1001875-2.tar | sort)" != "./
+./helloworld
+./lost+found/" ]; then
+    echo "$0: unexpected output from #2 test:"
+    tar tf rhbz1001875-2.tar | sort
+    exit 1
+fi
+
+if [ "$(tar tf rhbz1001875-3.tar | sort)" != "./
+./lost+found/" ]; then
+    echo "$0: unexpected output from #3 test:"
+    tar tf rhbz1001875-3.tar | sort
+    exit 1
+fi
+
+rm test1.img rhbz1001875-[123].tar
-- 
1.8.3.1