From d4fdeab4db0d0e699c8fbbb07f12c4e1f64d0f94 Mon Sep 17 00:00:00 2001 From: Lorry Tar Creator Date: Mon, 16 May 2016 09:22:21 +0000 Subject: tar-1.29 --- tests/link01.at | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 tests/link01.at (limited to 'tests/link01.at') diff --git a/tests/link01.at b/tests/link01.at new file mode 100644 index 0000000..b00047e --- /dev/null +++ b/tests/link01.at @@ -0,0 +1,56 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- + +# Test suite for GNU tar. +# Copyright 2004, 2007, 2009, 2013-2014, 2016 Free Software Foundation, +# Inc. + +# This file is part of GNU tar. + +# GNU tar 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 3 of the License, or +# (at your option) any later version. + +# GNU tar 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, see . + +# Problem: If a member with link count > 2 was stored in the archive twice, +# previous versions of tar were not able to extract it, since they +# were trying to link the file to itself, which always failed and +# lead to removing the already extracted copy. This script tests +# the workaround by Paul Eggert that leaves the extracted copy +# untouched. +# +# Reported by: Toby Peterson +# +# References: <2330D503-D20A-11D8-A0CF-00039391EECE@apple.com> +# http://lists.gnu.org/archive/html/bug-tar/2004-07/msg00009.html + +AT_SETUP([link count gt 2]) +AT_KEYWORDS([hardlinks link01]) + +AT_TAR_CHECK([ +mkdir directory +mkdir directory/test1 +mkdir directory/test2 + +echo TEST > directory/test1/test.txt +ln directory/test1/test.txt directory/test2/test.txt || AT_SKIP_TEST + +tar cf archive directory/test1/test.txt directory/test1/test.txt + +rm -r directory +tar xf archive --warning=no-timestamp + +ls directory/test1 +], +[0], +[test.txt +]) + +AT_CLEANUP -- cgit v1.2.1