Files
apfstests/tests/generic/360
T
Jan Kara 0a2d833219 generic/360: Create symlink with valid path
A test is creating symlink with a path containing name 1023 characters
long. Such file name is invalid for most filesystems (the limit on file
name lenght is mostly 255 characters) and UDF actually complains about
this and so the test fails. Since the point of this test is to verify
storage of the symlink, change the test to use a valid path where each
component name has only 254 characters.

Signed-off-by: Jan Kara <jack@suse.cz>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
2017-06-14 15:27:09 +08:00

66 lines
1.7 KiB
Bash
Executable File

#! /bin/bash
# FS QA Test 360
#
# Test symlink to very long path, check symlink file contains correct path.
#
#-----------------------------------------------------------------------
# Copyright (c) 2016 Red Hat Inc. All Rights Reserved.
#
# 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.
#
# This program is distributed in the hope that it would 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 the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#-----------------------------------------------------------------------
#
seq=`basename $0`
seqres=$RESULT_DIR/$seq
echo "QA output created by $seq"
here=`pwd`
tmp=/tmp/$$
status=1 # failure is the default!
trap "_cleanup; exit \$status" 0 1 2 3 15
_cleanup()
{
cd /
rm -f $tmp.*
}
# get standard environment, filters and checks
. ./common/rc
. ./common/filter
rm -f $seqres.full
# real QA test starts here
_supported_fs generic
_supported_os Linux
_require_test
linkfile=$TEST_DIR/$seq.symlink
rm -f $linkfile
FNAME=$(perl -e 'print "a"x254')
# Create a symlink points to a very long path, so that the path could not be
# hold in inode
ln -s $FNAME/$FNAME/$FNAME/$FNAME $linkfile
# Check symlink contains the correct path.
# 1023 chars are a bit long for golden image output, compute the md5 checksum
readlink $linkfile | md5sum
# success, all done
status=0
exit