#!/bin/sh
|
|
# Copyright (c) International Business Machines Corp., 2000
|
#
|
# 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
|
|
|
#
|
# FILE(s) : linktest.sh README
|
# DESCRIPTION : Regression test for max links per file
|
# USE : linktest.sh <number of symlinks> <number of hardlinks>
|
# AUTHOR : Ngie Cooper (yaneurabeya@gmail.com)
|
# HISTORY :
|
# A rewrite of testcases/kernel/fs/linktest.pl
|
|
export TCID=linker01
|
export TST_TOTAL=2
|
export TST_COUNT=1
|
. test.sh
|
|
if [ $# -ne 2 ]; then
|
tst_resm TBROK "usage: $0 {softlink count} {hardlink count}"
|
exit 1
|
fi
|
|
tst_tmpdir
|
|
mkdir hlink.$$ slink.$$ && touch hlink.$$/hfile slink.$$/sfile
|
|
do_link() {
|
pfix=$1
|
ln_opts=$2
|
limit=$3
|
prefix_msg=$4
|
|
lerrors=0
|
|
i=0
|
|
cd "${pfix}link.$$"
|
while [ $i -lt $limit ]; do
|
if ! ln ${ln_opts} "$PWD/${pfix}file" ${pfix}file${i}; then
|
: $(( lerrors += 1 ))
|
fi
|
: $(( i+= 1 ))
|
done
|
cd ..
|
|
if [ $lerrors -eq 0 ]; then
|
RTYPE=TPASS
|
else
|
RTYPE=TFAIL
|
fi
|
|
tst_resm $RTYPE "$prefix_msg Link Errors: $lerrors"
|
|
: $(( TST_COUNT += 1 ))
|
|
}
|
|
do_link s "-s" ${1} "Symbolic"
|
do_link h "" ${2} "Hard"
|
|
rm -Rf hlink.$$ slink.$$
|
|
tst_rmdir
|
tst_exit
|