X-Git-Url: https://git.cworth.org/git?p=tar;a=blobdiff_plain;f=tests%2Flink04.at;fp=tests%2Flink04.at;h=2c6045ee9389faa6ccda14f60bf123b9cf3f6fca;hp=0000000000000000000000000000000000000000;hb=ee168310ec4227174ace489bf5f81f8c2f91cde0;hpb=22f1eb8bc17e5be72dd23d42d6aaa60196ac22e6 diff --git a/tests/link04.at b/tests/link04.at new file mode 100644 index 0000000..2c6045e --- /dev/null +++ b/tests/link04.at @@ -0,0 +1,64 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- + +# Test suite for GNU tar. +# Copyright (C) 2010 Free Software Foundation, 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 3, 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. + +# written by Paul Eggert + +# Make sure that tar -c correctly handles the case where a file is +# encountered multiple times, even though it has a link count of 1. +# This can occur when "tar -c FOO FOO" is used; it can also occur when +# "tar -ch FOO" is used, if FOO contains symbolic links that point to +# the same file. + +AT_SETUP([link count is 1 but multiple occurrences]) +AT_KEYWORDS([hardlinks link04]) + +AT_TAR_CHECK([ +mkdir dir +echo TEST > dir/file +ln -s file dir/symlink || AT_SKIP_TEST + +tar cf archive dir dir +tar tvf archive | sed ' + s,.*[[0-9]] dir/,dir/, +' | sort + +echo == + +tar chf archive dir +tar tvf archive | sed ' + s,.*[[0-9]] dir/,dir/, + s,file,FOO,g + s,symlink,FOO,g +' | sort +], +[0], +[dir/ +dir/ +dir/file +dir/file link to dir/file +dir/symlink -> file +dir/symlink link to dir/symlink +== +dir/ +dir/FOO +dir/FOO link to dir/FOO +]) + +AT_CLEANUP