From: Cyril Hrubis <chrubis@suse.cz>
To: ltp@lists.linux.it
Subject: [LTP] [PATCH] utimensat_tests.sh: returns EPERM on 4.4.27 and above
Date: Wed, 27 Sep 2017 13:39:43 +0200 [thread overview]
Message-ID: <20170927113943.GA25779@rei> (raw)
In-Reply-To: <20170925144624.GB31931@rei>
Hi!
> The safest bet would be allowing both for kernels between 4.4 and 4.8.
>
> Something like this may work (beware untested):
And I've just checked the patch, it seems to work fine for me.
Can anybody else test this before it gets commited?
> diff --git a/testcases/kernel/syscalls/utimensat/utimensat_tests.sh b/testcases/kernel/syscalls/utimensat/utimensat_tests.sh
> index 48154d6e6..41ea7997a 100755
> --- a/testcases/kernel/syscalls/utimensat/utimensat_tests.sh
> +++ b/testcases/kernel/syscalls/utimensat/utimensat_tests.sh
> @@ -31,13 +31,18 @@ if tst_kvcmp -lt "2.6.22"; then
> fi
>
> # Starting with 4.8.0 operations on immutable files return EPERM instead of
> -# EACCES.
> -if tst_kvcmp -lt "4.8.0"; then
> +# EACCES. The patch that changed the errno got as well backported to stable
> +# kernel branches and so we cannot really say what is correct for kernels in
> +# the range between 4.4 and 4.8.
> +imaccess="EACCES EPERM"
> +
> +if tst_kvcmp -lt "4.4"; then
> imaccess=EACCES
> -else
> - imaccess=EPERM
> fi
>
> +if tst_kvcmp -ge "4.8"; then
> + imaccess=EPERM
> +fi
>
> RESULT_FILE=$TMPDIR/utimensat.result
>
> @@ -142,7 +147,13 @@ check_result()
> "$EXPECT_MTIME_CHANGED"
> echo "RESULT: $res $atime $mtime"
>
> - if test "$res" != "$EXPECTED_RESULT"; then
> + for err in $EXPECTED_RESULT; do
> + if test "$res" = "$err"; then
> + errno_found="$err";
> + fi
> + done
> +
> + if test -z "$errno_found"; then
> test_failed
> return
> fi
> @@ -223,7 +234,7 @@ run_test()
> CMD="./$TEST_PROG -q $FILE $4"
> echo "$CMD"
> sudo $s_arg -u $test_user $CMD > $RESULT_FILE
> - check_result $? $5 $6 $7
> + check_result $? "$5" $6 $7
> echo
>
> if test $do_read_fd_test -ne 0; then
> @@ -232,7 +243,7 @@ run_test()
> CMD="./$TEST_PROG -q -d $FILE NULL $4"
> echo "$CMD"
> sudo $s_arg -u $test_user $CMD > $RESULT_FILE
> - check_result $? $5 $6 $7
> + check_result $? "$5" $6 $7
> echo
> fi
>
> @@ -245,7 +256,7 @@ run_test()
> CMD="./$TEST_PROG -q -w -d $FILE NULL $4"
> echo "$CMD"
> sudo $s_arg -u $test_user $CMD > $RESULT_FILE
> - check_result $? $5 $6 $7
> + check_result $? "$5" $6 $7
> echo
> fi
>
> @@ -424,10 +435,10 @@ echo "Testing immutable file, owned by self"
> echo
>
> echo "***** Testing times==NULL case *****"
> -run_test -W "" 600 "+i" "" $imaccess
> +run_test -W "" 600 "+i" "" "$imaccess"
>
> echo "***** Testing times=={ UTIME_NOW, UTIME_NOW } case *****"
> -run_test -W "" 600 "+i" "0 n 0 n" $imaccess
> +run_test -W "" 600 "+i" "0 n 0 n" "$imaccess"
>
> echo "***** Testing times=={ UTIME_OMIT, UTIME_OMIT } case *****"
> run_test -W "" 600 "+i" "0 o 0 o" SUCCESS n n
> @@ -450,10 +461,10 @@ echo "Testing immutable append-only file, owned by self"
> echo
>
> echo "***** Testing times==NULL case *****"
> -run_test -W "" 600 "+ai" "" $imaccess
> +run_test -W "" 600 "+ai" "" "$imaccess"
>
> echo "***** Testing times=={ UTIME_NOW, UTIME_NOW } case *****"
> -run_test -W "" 600 "+ai" "0 n 0 n" $imaccess
> +run_test -W "" 600 "+ai" "0 n 0 n" "$imaccess"
>
> echo "***** Testing times=={ UTIME_OMIT, UTIME_OMIT } case *****"
> run_test -W "" 600 "+ai" "0 o 0 o" SUCCESS n n
>
> --
> Cyril Hrubis
> chrubis@suse.cz
>
> --
> Mailing list info: https://lists.linux.it/listinfo/ltp
--
Cyril Hrubis
chrubis@suse.cz
next prev parent reply other threads:[~2017-09-27 11:39 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-06 11:30 [LTP] [PATCH] utimensat_tests.sh: returns EPERM on 4.4.27 and above naresh.kamboju
2017-09-06 11:54 ` Jan Stancek
2017-09-06 15:29 ` Sumit Semwal
2017-09-25 14:46 ` Cyril Hrubis
2017-09-27 11:39 ` Cyril Hrubis [this message]
2017-09-27 13:55 ` Jan Stancek
2017-09-27 15:12 ` Cyril Hrubis
2017-09-27 22:38 ` Naresh Kamboju
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170927113943.GA25779@rei \
--to=chrubis@suse.cz \
--cc=ltp@lists.linux.it \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox