generic: check plain renameat2 syscall

Check with zero flags.  This is what rename(2) and renameat(2) now
call, so this actually tests the behavior of these syscalls as well.

Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
This commit is contained in:
Miklos Szeredi
2014-04-14 10:35:27 +10:00
committed by Dave Chinner
parent 413f501b53
commit bdf215033d
3 changed files with 109 additions and 0 deletions
+57
View File
@@ -0,0 +1,57 @@
#! /bin/bash
# FS QA Test No. generic/023
#
# Check renameat2 syscall without flags
#
#-----------------------------------------------------------------------
# Copyright (c) 2014 Miklos Szeredi. 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/renameat2
_supported_fs generic
_supported_os Linux
_requires_renameat2
# real QA test starts here
rename_dir=$TEST_DIR/$$
mkdir -p $rename_dir
_rename_tests $rename_dir
rmdir $rename_dir
# success, all done
status=0
exit
+51
View File
@@ -0,0 +1,51 @@
QA output created by 023
samedir none/none -> No such file or directory
samedir none/regu -> No such file or directory
samedir none/symb -> No such file or directory
samedir none/dire -> No such file or directory
samedir none/tree -> No such file or directory
samedir regu/none -> none/regu.
samedir regu/regu -> none/regu.
samedir regu/symb -> none/regu.
samedir regu/dire -> Is a directory
samedir regu/tree -> Is a directory
samedir symb/none -> none/symb.
samedir symb/regu -> none/symb.
samedir symb/symb -> none/symb.
samedir symb/dire -> Is a directory
samedir symb/tree -> Is a directory
samedir dire/none -> none/dire.
samedir dire/regu -> Not a directory
samedir dire/symb -> Not a directory
samedir dire/dire -> none/dire.
samedir dire/tree -> Directory not empty
samedir tree/none -> none/tree.
samedir tree/regu -> Not a directory
samedir tree/symb -> Not a directory
samedir tree/dire -> none/tree.
samedir tree/tree -> Directory not empty
crossdir none/none -> No such file or directory
crossdir none/regu -> No such file or directory
crossdir none/symb -> No such file or directory
crossdir none/dire -> No such file or directory
crossdir none/tree -> No such file or directory
crossdir regu/none -> none/regu.
crossdir regu/regu -> none/regu.
crossdir regu/symb -> none/regu.
crossdir regu/dire -> Is a directory
crossdir regu/tree -> Is a directory
crossdir symb/none -> none/symb.
crossdir symb/regu -> none/symb.
crossdir symb/symb -> none/symb.
crossdir symb/dire -> Is a directory
crossdir symb/tree -> Is a directory
crossdir dire/none -> none/dire.
crossdir dire/regu -> Not a directory
crossdir dire/symb -> Not a directory
crossdir dire/dire -> none/dire.
crossdir dire/tree -> Directory not empty
crossdir tree/none -> none/tree.
crossdir tree/regu -> Not a directory
crossdir tree/symb -> Not a directory
crossdir tree/dire -> none/tree.
crossdir tree/tree -> Directory not empty
+1
View File
@@ -25,6 +25,7 @@
020 metadata attr udf auto quick
021 auto quick prealloc
022 auto quick prealloc
023 auto quick
053 acl repair auto quick
062 attr udf auto quick
068 other auto freeze dangerous stress