* utimensat() non-conformances and fixes [v4] (patch)
[not found] <48454F1D.6060507@gmail.com>
@ 2008-06-03 20:13 ` Michael Kerrisk
2008-06-03 20:22 ` Andrew Morton
2008-06-03 20:14 ` utimensat() non-conformances and fixes [v4] (test suite) Michael Kerrisk
[not found] ` <484569E5.5090108@gmail.com>
2 siblings, 1 reply; 5+ messages in thread
From: Michael Kerrisk @ 2008-06-03 20:13 UTC (permalink / raw)
To: Andrew Morton
Cc: Michael Kerrisk, lkml, Christoph Hellwig, Miklos Szeredi, Al Viro,
jamie, Ulrich Drepper, linux-fsdevel, Subrata Modak
Andrew,
This patch fixes all of the utimensat() bugs outlined in my
previous mail.
I could have split the patch out into a few pieces, but given
that it is not long, and all against a single file, I've made
one patch. Let me know if you would like separate patches for
the pieces below.
Miklos suggested an alternative idea, migrating the
is_owner_or_cap() check into fs/attr.c:inode_change_ok() via
the use of an ATTR_OWNER_CHECK flag. Maybe we could do that
later, but for now I've one with this version, which is
simpler, and can be more easily read as being correct.
Roughly, the changes accomplish the following:
==
@@ -102,11 +97,15 @@
Addresses bug 4, and simplifies the code, since the
times == NULL and times == {UTIME_NOW, UTIME_NOW} should,
according to the POSIX.1 draft, be exactly equivalent.
==
@@ -131,15 +130,16 @@
[...]
if (!is_owner_or_cap(inode)) {
if (f) {
- if (!(f->f_mode & FMODE_WRITE))
+ error = permission(inode, MAY_WRITE, NULL);
+ if (error)
Addresses bug 2.
==
@@ -169,14 +182,6 @@
Addresses bug 3.
==
@@ -147,7 +147,20 @@
Addresses bug 1
==
The patch also
a) removes the now unneeded nsec_special() helper function.
b) Makes a whitespace cleanup (tabs instead of spaces).
==
Thanks to Miklos, who's comments helped me improve and complete
the patch.
Cheers,
Michael
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
--- linux-2.6.26-rc4/fs/utimes.c 2008-05-27 14:24:13.000000000 +0200
+++ linux-2.6.26-rc4-utimensat-fix-v4/fs/utimes.c 2008-06-03 15:38:53.000000000 +0200
@@ -40,14 +40,9 @@
#endif
-static bool nsec_special(long nsec)
-{
- return nsec == UTIME_OMIT || nsec == UTIME_NOW;
-}
-
static bool nsec_valid(long nsec)
{
- if (nsec_special(nsec))
+ if (nsec == UTIME_OMIT || nsec == UTIME_NOW)
return true;
return nsec >= 0 && nsec <= 999999999;
@@ -102,11 +97,15 @@
if (error)
goto dput_and_out;
+ if (times && times[0].tv_nsec == UTIME_NOW &&
+ times[1].tv_nsec == UTIME_NOW)
+ times = NULL;
+
/* Don't worry, the checks are done in inode_change_ok() */
newattrs.ia_valid = ATTR_CTIME | ATTR_MTIME | ATTR_ATIME;
if (times) {
error = -EPERM;
- if (IS_APPEND(inode) || IS_IMMUTABLE(inode))
+ if (IS_APPEND(inode) || IS_IMMUTABLE(inode))
goto mnt_drop_write_and_out;
if (times[0].tv_nsec == UTIME_OMIT)
@@ -131,15 +130,16 @@
* UTIME_NOW, then need to check permissions, because
* inode_change_ok() won't do it.
*/
- if (!times || (nsec_special(times[0].tv_nsec) &&
- nsec_special(times[1].tv_nsec))) {
+ if (!times) {
error = -EACCES;
+
if (IS_IMMUTABLE(inode))
goto mnt_drop_write_and_out;
if (!is_owner_or_cap(inode)) {
if (f) {
- if (!(f->f_mode & FMODE_WRITE))
+ error = permission(inode, MAY_WRITE, NULL);
+ if (error)
goto mnt_drop_write_and_out;
} else {
error = vfs_permission(&nd, MAY_WRITE);
@@ -147,7 +147,20 @@
goto mnt_drop_write_and_out;
}
}
+ } else if ((times[0].tv_nsec == UTIME_NOW &&
+ times[1].tv_nsec == UTIME_OMIT)
+ ||
+ (times[0].tv_nsec == UTIME_OMIT &&
+ times[1].tv_nsec == UTIME_NOW)) {
+ error =-EPERM;
+
+ if (IS_APPEND(inode) || IS_IMMUTABLE(inode))
+ goto mnt_drop_write_and_out;
+
+ if (!is_owner_or_cap(inode))
+ goto mnt_drop_write_and_out;
}
+
mutex_lock(&inode->i_mutex);
error = notify_change(dentry, &newattrs);
mutex_unlock(&inode->i_mutex);
@@ -169,14 +182,6 @@
if (utimes) {
if (copy_from_user(&tstimes, utimes, sizeof(tstimes)))
return -EFAULT;
- if ((tstimes[0].tv_nsec == UTIME_OMIT ||
- tstimes[0].tv_nsec == UTIME_NOW) &&
- tstimes[0].tv_sec != 0)
- return -EINVAL;
- if ((tstimes[1].tv_nsec == UTIME_OMIT ||
- tstimes[1].tv_nsec == UTIME_NOW) &&
- tstimes[1].tv_sec != 0)
- return -EINVAL;
/* Nothing to do, we must not even check the path. */
if (tstimes[0].tv_nsec == UTIME_OMIT &&
^ permalink raw reply [flat|nested] 5+ messages in thread
* utimensat() non-conformances and fixes [v4] (test suite)
[not found] <48454F1D.6060507@gmail.com>
2008-06-03 20:13 ` utimensat() non-conformances and fixes [v4] (patch) Michael Kerrisk
@ 2008-06-03 20:14 ` Michael Kerrisk
[not found] ` <484569E5.5090108@gmail.com>
2 siblings, 0 replies; 5+ messages in thread
From: Michael Kerrisk @ 2008-06-03 20:14 UTC (permalink / raw)
To: Andrew Morton
Cc: Michael Kerrisk, lkml, Christoph Hellwig, Miklos Szeredi, Al Viro,
jamie, Ulrich Drepper, linux-fsdevel, Subrata Modak
[-- Attachment #1: Type: text/plain, Size: 304 bytes --]
Andrew,
Attached are two files:
test_utimensat.c
a program that can be used to perform command-line-driven tests
of most aspects of the operation of utimensat().
utimensat_tests.sh
a shell script that uses the preceding C program to perform
a battery of tests against utimensat().
Cheers,
Michael
[-- Attachment #2: test_utimensat.c --]
[-- Type: text/x-csrc, Size: 7384 bytes --]
/* test_utimensat.c
Copyright (C) 2008, Michael Kerrisk <mtk.manpages@gmail.com>
and Copyright (C) 2008, Linux Foundation
Licensed under the GPLv2 or later.
A command-line interface for testing the utimensat() system call.
17 Mar 2008 Initial creation.
31 May 2008 Reworked for easier test automation.
2 Jun 2008 Renamed from t_utimensat.c to test_utimensat.c.
*/
#define _GNU_SOURCE
#define _ATFILE_SOURCE
#include <stdio.h>
#include <time.h>
#include <errno.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/syscall.h>
#include <fcntl.h>
#include <string.h>
#include <sys/stat.h>
/* We use EXIT_FAILURE for an expected failure from utimensat()
(e.g., EACCES and EPERM), and one of the following for unexpected
failures (i.e., something broke in our test setup). */
#define EXIT_bad_usage 3
#define EXIT_failed_syscall 3
#define errExit(msg) do { perror(msg); exit(EXIT_failed_syscall); \
} while (0)
#define __NR_utimensat 320 /* x86 syscall number */
# define UTIME_NOW ((1l << 30) - 1l)
# define UTIME_OMIT ((1l << 30) - 2l)
static inline int
utimensat_sc(int dirfd, const char *pathname,
const struct timespec times[2], int flags)
{
return syscall(__NR_utimensat, dirfd, pathname, times, flags);
}
static void
usageError(char *progName)
{
fprintf(stderr, "Usage: %s pathname [atime-sec "
"atime-nsec mtime-sec mtime-nsec]\n\n", progName);
fprintf(stderr, "Permitted options are:\n");
fprintf(stderr, " [-d path] "
"open a directory file descriptor"
" (instead of using AT_FDCWD)\n");
fprintf(stderr, " -q Quiet\n");
fprintf(stderr, " -w Open directory file "
"descriptor with O_RDWR|O_APPEND\n"
" (instead of O_RDONLY)\n");
fprintf(stderr, " -n Use AT_SYMLINK_NOFOLLOW\n");
fprintf(stderr, "\n");
fprintf(stderr, "pathname can be \"NULL\" to use NULL "
"argument in call\n");
fprintf(stderr, "\n");
fprintf(stderr, "Either nsec field can be\n");
fprintf(stderr, " 'n' for UTIME_NOW\n");
fprintf(stderr, " 'o' for UTIME_OMIT\n");
fprintf(stderr, "\n");
fprintf(stderr, "If the time fields are omitted, "
"then a NULL 'times' argument is used\n");
fprintf(stderr, "\n");
exit(EXIT_bad_usage);
}
int
main(int argc, char *argv[])
{
int flags, dirfd, opt, oflag;
struct timespec ts[2];
struct timespec *tsp;
char *pathname, *dirfdPath;
struct stat sb;
int verbose;
/* Command-line argument parsing */
flags = 0;
verbose = 1;
dirfd = AT_FDCWD;
dirfdPath = NULL;
oflag = O_RDONLY;
while ((opt = getopt(argc, argv, "d:nqw")) != -1) {
switch (opt) {
case 'd':
dirfdPath = optarg;
break;
case 'n':
flags |= AT_SYMLINK_NOFOLLOW;
if (verbose)
printf("Not following symbolic links\n");
break;
case 'q':
verbose = 0;
break;
case 'w':
oflag = O_RDWR | O_APPEND;
break;
default:
usageError(argv[0]);
}
}
if ((optind + 5 != argc) && (optind + 1 != argc))
usageError(argv[0]);
if (dirfdPath != NULL) {
dirfd = open(dirfdPath, oflag);
if (dirfd == -1) errExit("open");
if (verbose) {
printf("Opened dirfd %d", oflag);
if ((oflag & O_ACCMODE) == O_RDWR)
printf(" O_RDWR");
if (oflag & O_APPEND)
printf(" O_APPEND");
printf(": %s\n", dirfdPath);
}
}
pathname = (strcmp(argv[optind], "NULL") == 0) ?
NULL : argv[optind];
/* Either, we get no values for 'times' fields, in which case
we give a NULL pointer to utimensat(), or we get four values,
for secs+nsecs for each of atime and mtime. The special
values 'n' and 'o' can be used for tv_nsec settings of
UTIME_NOW and UTIME_OMIT, respectively. */
if (argc == optind + 1) {
tsp = NULL;
} else {
ts[0].tv_sec = atoi(argv[optind + 1]);
if (argv[optind + 2][0] == 'n') {
ts[0].tv_nsec = UTIME_NOW;
} else if (argv[optind + 2][0] == 'o') {
ts[0].tv_nsec = UTIME_OMIT;
} else {
ts[0].tv_nsec = atoi(argv[optind + 2]);
}
ts[1].tv_sec = atoi(argv[optind + 3]);
if (argv[optind + 4][0] == 'n') {
ts[1].tv_nsec = UTIME_NOW;
} else if (argv[optind + 4][0] == 'o') {
ts[1].tv_nsec = UTIME_OMIT;
} else {
ts[1].tv_nsec = atoi(argv[optind + 4]);
}
tsp = ts;
}
/* For testing purposes, it may have been useful to run this program
as set-user-ID-root so that a directory file descriptor could be
opened as root. (This allows us to obtain a file descriptor even
if normal user doesn't have permissions on the file.) Now we
reset to the real UID before making the utimensat() call, so that
the permission checking for the utimensat() call is performed
under that UID. */
if (geteuid() == 0) {
uid_t u;
u = getuid();
if (verbose)
printf("Resetting UIDs to %ld\n", (long) u);
if (setresuid(u, u, u) == -1)
errExit("setresuid");
}
/* Display information allowing user to verify arguments for call */
if (verbose) {
printf("dirfd is %d\n", dirfd);
printf("pathname is %s\n", pathname);
printf("tsp is %p", tsp);
if (tsp != NULL) {
printf("; struct = { %ld, %ld } { %ld, %ld }",
(long) tsp[0].tv_sec, (long) tsp[0].tv_nsec,
(long) tsp[1].tv_sec, (long) tsp[1].tv_nsec);
}
printf("\n");
printf("flags is %d\n", flags);
}
/* Make the call and see what happened */
if (utimensat_sc(dirfd, pathname, tsp, flags) == -1) {
if (errno == EPERM) {
if (verbose)
printf("utimensat() failed with EPERM\n");
else
printf("EPERM\n");
exit(EXIT_FAILURE);
} else if (errno == EACCES) {
if (verbose)
printf("utimensat() failed with EACCES\n");
else
printf("EACCES\n");
exit(EXIT_FAILURE);
} else if (errno == EINVAL) {
if (verbose)
printf("utimensat() failed with EINVAL\n");
else
printf("EINVAL\n");
exit(EXIT_FAILURE);
} else { /* Unexpected failure case from utimensat() */
errExit("utimensat");
}
}
if (verbose)
printf("utimensat() succeeded\n");
if (stat((pathname != NULL) ? pathname : dirfdPath, &sb) == -1)
errExit("stat");
if (verbose) {
printf("Last file access: %s", ctime(&sb.st_atime));
printf("Last file modification: %s", ctime(&sb.st_mtime));
printf("Last status change: %s", ctime(&sb.st_ctime));
} else {
printf("SUCCESS %ld %ld\n", (long) sb.st_atime, (long) sb.st_mtime);
}
exit(EXIT_SUCCESS);
}
[-- Attachment #3: utimensat_tests.sh --]
[-- Type: application/x-shellscript, Size: 11972 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* utimensat() non-conformances and fixes [v4] (test results)
[not found] ` <484569E5.5090108@gmail.com>
@ 2008-06-03 20:15 ` Michael Kerrisk
0 siblings, 0 replies; 5+ messages in thread
From: Michael Kerrisk @ 2008-06-03 20:15 UTC (permalink / raw)
To: Andrew Morton
Cc: lkml, Christoph Hellwig, Miklos Szeredi, Al Viro, jamie,
Ulrich Drepper, linux-fsdevel, Subrata Modak
[-- Attachment #1: Type: text/plain, Size: 1742 bytes --]
Andrew,
The following is why I think my patch should
preferably be applied for 2.6.26, rather than
waiting for .27.
The first reason is the obvious. The test suite
runs 99 tests. With my patch applied to 2.6.24-rc4,
all tests pass (see the attached test results).
There is another reason why I think we should apply the
patch for .26.
On 2.6.25, we have:
Total tests: 99; passed: 73; failed: 26
On 2.6.26-rc4, we have:
Total tests: 99; passed: 74; failed: 25
As far as I can see, this is due to the changes from
Miklos's
commit 02c6be615f1fcd37ac5ed93a3ad6692ad8991cd9
Author: Miklos Szeredi <mszeredi@suse.cz>
Date: Thu May 1 04:34:45 2008 -0700
But the small improvement in the test results isn't
quite what it seems. There is for 2.6.25:
Failed tests: 21 22 23 24 28 29 30 31 32 33 38 46 47 48 49 50 51 58 59 60 75 76 87 88 98 99
And for 2.6.24-rc4:
Failed tests: 21 24 28 29 30 31 32 33 38 41 46 47 48 49 50 51 58 59 60 75 76 87 88 98 99
Looking at the list shows that 2.6.24-rc4 fixes tests
22 and 23, but breaks test 41[*]. I don't think we
should do that.
Cheers,
Michael
[*] Test 41 is:
Readable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 n
EXPECTED: SUCCESS y y
RESULT: EACCES
FAILED test 41
In other words, make the call
utimensat(fd, NULL, {{0, UTIME_NOW}, {0. UTIME_NOW}}, 0)
where fd is a read-only (O_RDONLY) descriptor that refers to
a file that is not owned by the caller, but is writable by
the caller. This call should succeed.
--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Found a bug? http://www.kernel.org/doc/man-pages/reporting_bugs.html
[-- Attachment #2: utimensat_tests-2.6.25.log --]
[-- Type: text/x-log, Size: 24016 bytes --]
============================================================
Testing read-only file, owned by self
***** Testing times==NULL case *****
Pathname test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212515937 1212515937
PASSED test 1
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212515937 1212515937
PASSED test 2
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212515937 1212515937
PASSED test 3
***** Testing times=={ UTIME_NOW, UTIME_NOW } case *****
Pathname test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 n
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212515937 1212515937
PASSED test 4
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 n
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212515938 1212515938
PASSED test 5
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 n
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212515938 1212515938
PASSED test 6
***** Testing times=={ UTIME_OMIT, UTIME_OMIT } case *****
Pathname test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 7
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 8
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 9
***** Testing times=={ UTIME_NOW, UTIME_OMIT } case *****
Pathname test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 o
EXPECTED: SUCCESS y n
RESULT: SUCCESS 1212515938 0
PASSED test 10
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 o
EXPECTED: SUCCESS y n
RESULT: SUCCESS 1212515938 0
PASSED test 11
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 o
EXPECTED: SUCCESS y n
RESULT: SUCCESS 1212515938 0
PASSED test 12
***** Testing times=={ UTIME_OMIT, UTIME_NOW } case *****
Pathname test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 n
EXPECTED: SUCCESS n y
RESULT: SUCCESS 0 1212515938
PASSED test 13
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 n
EXPECTED: SUCCESS n y
RESULT: SUCCESS 0 1212515938
PASSED test 14
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 n
EXPECTED: SUCCESS n y
RESULT: SUCCESS 0 1212515938
PASSED test 15
***** Testing times=={ x, y } case *****
Pathname test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 1 1 1 1
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1 1
PASSED test 16
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 1 1 1 1
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1 1
PASSED test 17
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 1 1 1 1
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1 1
PASSED test 18
============================================================
Testing read-only file, not owned by self
***** Testing times==NULL case *****
Pathname test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file
EXPECTED: EACCES
RESULT: EACCES
PASSED test 19
Readable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL
EXPECTED: EACCES
RESULT: EACCES
PASSED test 20
Writable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL
EXPECTED: EACCES
RESULT: SUCCESS 1212515939 1212515939
FAILED test 21
***** Testing times=={ UTIME_NOW, UTIME_NOW } case *****
Pathname test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 n
EXPECTED: EACCES
RESULT: SUCCESS 1212515939 1212515939
FAILED test 22
Readable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 n
EXPECTED: EACCES
RESULT: SUCCESS 1212515939 1212515939
FAILED test 23
Writable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 n
EXPECTED: EACCES
RESULT: SUCCESS 1212515939 1212515939
FAILED test 24
***** Testing times=={ UTIME_OMIT, UTIME_OMIT } case *****
Pathname test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 25
Readable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 26
Writable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 27
***** Testing times=={ UTIME_NOW, UTIME_OMIT } case *****
Pathname test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 o
EXPECTED: EPERM
RESULT: SUCCESS 1212515940 0
FAILED test 28
Readable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 o
EXPECTED: EPERM
RESULT: SUCCESS 1212515940 0
FAILED test 29
Writable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 o
EXPECTED: EPERM
RESULT: SUCCESS 1212515940 0
FAILED test 30
***** Testing times=={ UTIME_OMIT, UTIME_NOW } case *****
Pathname test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 n
EXPECTED: EPERM
RESULT: SUCCESS 0 1212515940
FAILED test 31
Readable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 n
EXPECTED: EPERM
RESULT: SUCCESS 0 1212515940
FAILED test 32
Writable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 n
EXPECTED: EPERM
RESULT: SUCCESS 0 1212515940
FAILED test 33
***** Testing times=={ x, y } case *****
Pathname test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 34
Readable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 35
Writable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 36
============================================================
Testing writable file, not owned by self
***** Testing times==NULL case *****
Pathname test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212515941 1212515941
PASSED test 37
Readable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL
EXPECTED: SUCCESS y y
RESULT: EACCES
FAILED test 38
Writable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212515941 1212515941
PASSED test 39
***** Testing times=={ UTIME_NOW, UTIME_NOW } case *****
Pathname test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 n
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212515941 1212515941
PASSED test 40
Readable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 n
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212515941 1212515941
PASSED test 41
Writable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 n
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212515941 1212515941
PASSED test 42
***** Testing times=={ UTIME_OMIT, UTIME_OMIT } case *****
Pathname test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 43
Readable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 44
Writable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 45
***** Testing times=={ UTIME_NOW, UTIME_OMIT } case *****
Pathname test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 o
EXPECTED: EPERM
RESULT: SUCCESS 1212515942 0
FAILED test 46
Readable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 o
EXPECTED: EPERM
RESULT: SUCCESS 1212515942 0
FAILED test 47
Writable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 o
EXPECTED: EPERM
RESULT: SUCCESS 1212515942 0
FAILED test 48
***** Testing times=={ UTIME_OMIT, UTIME_NOW } case *****
Pathname test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 n
EXPECTED: EPERM
RESULT: SUCCESS 0 1212515942
FAILED test 49
Readable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 n
EXPECTED: EPERM
RESULT: SUCCESS 0 1212515942
FAILED test 50
Writable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 n
EXPECTED: EPERM
RESULT: SUCCESS 0 1212515942
FAILED test 51
***** Testing times=={ x, y } case *****
Pathname test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 52
Readable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 53
Writable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 54
============================================================
Testing append-only file, owned by self
***** Testing times==NULL case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212515943 1212515943
PASSED test 55
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212515943 1212515943
PASSED test 56
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212515943 1212515943
PASSED test 57
***** Testing times=={ UTIME_NOW, UTIME_NOW } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 n
EXPECTED: SUCCESS y y
RESULT: EPERM
FAILED test 58
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 n
EXPECTED: SUCCESS y y
RESULT: EPERM
FAILED test 59
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 n
EXPECTED: SUCCESS y y
RESULT: EPERM
FAILED test 60
***** Testing times=={ UTIME_OMIT, UTIME_OMIT } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 61
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 62
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 63
***** Testing times=={ UTIME_NOW, UTIME_OMIT } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 o
EXPECTED: EPERM
RESULT: EPERM
PASSED test 64
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 o
EXPECTED: EPERM
RESULT: EPERM
PASSED test 65
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 o
EXPECTED: EPERM
RESULT: EPERM
PASSED test 66
***** Testing times=={ UTIME_OMIT, UTIME_NOW } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 n
EXPECTED: EPERM
RESULT: EPERM
PASSED test 67
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 n
EXPECTED: EPERM
RESULT: EPERM
PASSED test 68
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 n
EXPECTED: EPERM
RESULT: EPERM
PASSED test 69
***** Testing times=={ x, y } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 70
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 71
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 72
============================================================
Testing immutable file, owned by self
***** Testing times==NULL case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file
EXPECTED: EACCES
RESULT: EACCES
PASSED test 73
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL
EXPECTED: EACCES
RESULT: EACCES
PASSED test 74
***** Testing times=={ UTIME_NOW, UTIME_NOW } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 n
EXPECTED: EACCES
RESULT: EPERM
FAILED test 75
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 n
EXPECTED: EACCES
RESULT: EPERM
FAILED test 76
***** Testing times=={ UTIME_OMIT, UTIME_OMIT } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 77
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 78
***** Testing times=={ UTIME_NOW, UTIME_OMIT } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 o
EXPECTED: EPERM
RESULT: EPERM
PASSED test 79
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 o
EXPECTED: EPERM
RESULT: EPERM
PASSED test 80
***** Testing times=={ UTIME_OMIT, UTIME_NOW } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 n
EXPECTED: EPERM
RESULT: EPERM
PASSED test 81
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 n
EXPECTED: EPERM
RESULT: EPERM
PASSED test 82
***** Testing times=={ x, y } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 83
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 84
============================================================
Testing immutable append-only file, owned by self
***** Testing times==NULL case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file
EXPECTED: EACCES
RESULT: EACCES
PASSED test 85
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL
EXPECTED: EACCES
RESULT: EACCES
PASSED test 86
***** Testing times=={ UTIME_NOW, UTIME_NOW } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 n
EXPECTED: EACCES
RESULT: EPERM
FAILED test 87
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 n
EXPECTED: EACCES
RESULT: EPERM
FAILED test 88
***** Testing times=={ UTIME_OMIT, UTIME_OMIT } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 89
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 90
***** Testing times=={ UTIME_NOW, UTIME_OMIT } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 o
EXPECTED: EPERM
RESULT: EPERM
PASSED test 91
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 o
EXPECTED: EPERM
RESULT: EPERM
PASSED test 92
***** Testing times=={ UTIME_OMIT, UTIME_NOW } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 n
EXPECTED: EPERM
RESULT: EPERM
PASSED test 93
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 n
EXPECTED: EPERM
RESULT: EPERM
PASSED test 94
***** Testing times=={ x, y } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 95
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 96
============================================================
***** Testing pathname==NULL, dirfd!=AT_FDCWD, flags has AT_SYMLINK_NOFOLLOW *****
Owner=mtk; perms=-rw-------; EFAs=---
./test_utimensat -q -n -d /tmp/utimensat_tests/utimensat.test_file NULL
EXPECTED: EINVAL
RESULT: EINVAL
PASSED test 97
============================================================
tv_sec should be ignored if tv_nsec is UTIME_OMIT or UTIME_NOW
***** Testing times=={ UTIME_NOW, UTIME_NOW } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 1 n 1 n
EXPECTED: SUCCESS y y
RESULT: EINVAL
FAILED test 98
***** Testing times=={ UTIME_OMIT, UTIME_OMIT } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 1 o 1 o
EXPECTED: SUCCESS n n
RESULT: EINVAL
FAILED test 99
============================================================
Linux hauroko 2.6.25-default #3 SMP Sat May 3 11:12:56 CEST 2008 i686 i686 i386 GNU/Linux
Tue Jun 3 19:59:08 CEST 2008
Total tests: 99; passed: 73; failed: 26
Failed tests: 21 22 23 24 28 29 30 31 32 33 38 46 47 48 49 50 51 58 59 60 75 76 87 88 98 99
[-- Attachment #3: utimensat_tests-2.6.26-rc4.log --]
[-- Type: text/x-log, Size: 23883 bytes --]
============================================================
Testing read-only file, owned by self
***** Testing times==NULL case *****
Pathname test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212508717 1212508717
PASSED test 1
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212508717 1212508717
PASSED test 2
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212508717 1212508717
PASSED test 3
***** Testing times=={ UTIME_NOW, UTIME_NOW } case *****
Pathname test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 n
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212508717 1212508717
PASSED test 4
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 n
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212508717 1212508717
PASSED test 5
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 n
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212508717 1212508717
PASSED test 6
***** Testing times=={ UTIME_OMIT, UTIME_OMIT } case *****
Pathname test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 7
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 8
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 9
***** Testing times=={ UTIME_NOW, UTIME_OMIT } case *****
Pathname test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 o
EXPECTED: SUCCESS y n
RESULT: SUCCESS 1212508718 0
PASSED test 10
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 o
EXPECTED: SUCCESS y n
RESULT: SUCCESS 1212508718 0
PASSED test 11
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 o
EXPECTED: SUCCESS y n
RESULT: SUCCESS 1212508718 0
PASSED test 12
***** Testing times=={ UTIME_OMIT, UTIME_NOW } case *****
Pathname test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 n
EXPECTED: SUCCESS n y
RESULT: SUCCESS 0 1212508718
PASSED test 13
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 n
EXPECTED: SUCCESS n y
RESULT: SUCCESS 0 1212508718
PASSED test 14
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 n
EXPECTED: SUCCESS n y
RESULT: SUCCESS 0 1212508718
PASSED test 15
***** Testing times=={ x, y } case *****
Pathname test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 1 1 1 1
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1 1
PASSED test 16
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 1 1 1 1
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1 1
PASSED test 17
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 1 1 1 1
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1 1
PASSED test 18
============================================================
Testing read-only file, not owned by self
***** Testing times==NULL case *****
Pathname test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file
EXPECTED: EACCES
RESULT: EACCES
PASSED test 19
Readable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL
EXPECTED: EACCES
RESULT: EACCES
PASSED test 20
Writable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL
EXPECTED: EACCES
RESULT: SUCCESS 1212508719 1212508719
FAILED test 21
***** Testing times=={ UTIME_NOW, UTIME_NOW } case *****
Pathname test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 n
EXPECTED: EACCES
RESULT: EACCES
PASSED test 22
Readable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 n
EXPECTED: EACCES
RESULT: EACCES
PASSED test 23
Writable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 n
EXPECTED: EACCES
RESULT: SUCCESS 1212508719 1212508719
FAILED test 24
***** Testing times=={ UTIME_OMIT, UTIME_OMIT } case *****
Pathname test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 25
Readable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 26
Writable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 27
***** Testing times=={ UTIME_NOW, UTIME_OMIT } case *****
Pathname test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 o
EXPECTED: EPERM
RESULT: EACCES
FAILED test 28
Readable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 o
EXPECTED: EPERM
RESULT: EACCES
FAILED test 29
Writable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 o
EXPECTED: EPERM
RESULT: SUCCESS 1212508720 0
FAILED test 30
***** Testing times=={ UTIME_OMIT, UTIME_NOW } case *****
Pathname test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 n
EXPECTED: EPERM
RESULT: EACCES
FAILED test 31
Readable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 n
EXPECTED: EPERM
RESULT: EACCES
FAILED test 32
Writable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 n
EXPECTED: EPERM
RESULT: SUCCESS 0 1212508720
FAILED test 33
***** Testing times=={ x, y } case *****
Pathname test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 34
Readable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 35
Writable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 36
============================================================
Testing writable file, not owned by self
***** Testing times==NULL case *****
Pathname test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212508721 1212508721
PASSED test 37
Readable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL
EXPECTED: SUCCESS y y
RESULT: EACCES
FAILED test 38
Writable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212508721 1212508721
PASSED test 39
***** Testing times=={ UTIME_NOW, UTIME_NOW } case *****
Pathname test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 n
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212508721 1212508721
PASSED test 40
Readable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 n
EXPECTED: SUCCESS y y
RESULT: EACCES
FAILED test 41
Writable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 n
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212508721 1212508721
PASSED test 42
***** Testing times=={ UTIME_OMIT, UTIME_OMIT } case *****
Pathname test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 43
Readable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 44
Writable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 45
***** Testing times=={ UTIME_NOW, UTIME_OMIT } case *****
Pathname test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 o
EXPECTED: EPERM
RESULT: SUCCESS 1212508722 0
FAILED test 46
Readable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 o
EXPECTED: EPERM
RESULT: EACCES
FAILED test 47
Writable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 o
EXPECTED: EPERM
RESULT: SUCCESS 1212508722 0
FAILED test 48
***** Testing times=={ UTIME_OMIT, UTIME_NOW } case *****
Pathname test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 n
EXPECTED: EPERM
RESULT: SUCCESS 0 1212508722
FAILED test 49
Readable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 n
EXPECTED: EPERM
RESULT: EACCES
FAILED test 50
Writable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 n
EXPECTED: EPERM
RESULT: SUCCESS 0 1212508722
FAILED test 51
***** Testing times=={ x, y } case *****
Pathname test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 52
Readable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 53
Writable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 54
============================================================
Testing append-only file, owned by self
***** Testing times==NULL case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212508723 1212508723
PASSED test 55
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212508723 1212508723
PASSED test 56
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212508723 1212508723
PASSED test 57
***** Testing times=={ UTIME_NOW, UTIME_NOW } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 n
EXPECTED: SUCCESS y y
RESULT: EPERM
FAILED test 58
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 n
EXPECTED: SUCCESS y y
RESULT: EPERM
FAILED test 59
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 n
EXPECTED: SUCCESS y y
RESULT: EPERM
FAILED test 60
***** Testing times=={ UTIME_OMIT, UTIME_OMIT } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 61
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 62
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 63
***** Testing times=={ UTIME_NOW, UTIME_OMIT } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 o
EXPECTED: EPERM
RESULT: EPERM
PASSED test 64
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 o
EXPECTED: EPERM
RESULT: EPERM
PASSED test 65
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 o
EXPECTED: EPERM
RESULT: EPERM
PASSED test 66
***** Testing times=={ UTIME_OMIT, UTIME_NOW } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 n
EXPECTED: EPERM
RESULT: EPERM
PASSED test 67
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 n
EXPECTED: EPERM
RESULT: EPERM
PASSED test 68
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 n
EXPECTED: EPERM
RESULT: EPERM
PASSED test 69
***** Testing times=={ x, y } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 70
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 71
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 72
============================================================
Testing immutable file, owned by self
***** Testing times==NULL case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file
EXPECTED: EACCES
RESULT: EACCES
PASSED test 73
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL
EXPECTED: EACCES
RESULT: EACCES
PASSED test 74
***** Testing times=={ UTIME_NOW, UTIME_NOW } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 n
EXPECTED: EACCES
RESULT: EPERM
FAILED test 75
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 n
EXPECTED: EACCES
RESULT: EPERM
FAILED test 76
***** Testing times=={ UTIME_OMIT, UTIME_OMIT } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 77
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 78
***** Testing times=={ UTIME_NOW, UTIME_OMIT } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 o
EXPECTED: EPERM
RESULT: EPERM
PASSED test 79
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 o
EXPECTED: EPERM
RESULT: EPERM
PASSED test 80
***** Testing times=={ UTIME_OMIT, UTIME_NOW } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 n
EXPECTED: EPERM
RESULT: EPERM
PASSED test 81
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 n
EXPECTED: EPERM
RESULT: EPERM
PASSED test 82
***** Testing times=={ x, y } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 83
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 84
============================================================
Testing immutable append-only file, owned by self
***** Testing times==NULL case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file
EXPECTED: EACCES
RESULT: EACCES
PASSED test 85
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL
EXPECTED: EACCES
RESULT: EACCES
PASSED test 86
***** Testing times=={ UTIME_NOW, UTIME_NOW } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 n
EXPECTED: EACCES
RESULT: EPERM
FAILED test 87
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 n
EXPECTED: EACCES
RESULT: EPERM
FAILED test 88
***** Testing times=={ UTIME_OMIT, UTIME_OMIT } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 89
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 90
***** Testing times=={ UTIME_NOW, UTIME_OMIT } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 o
EXPECTED: EPERM
RESULT: EPERM
PASSED test 91
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 o
EXPECTED: EPERM
RESULT: EPERM
PASSED test 92
***** Testing times=={ UTIME_OMIT, UTIME_NOW } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 n
EXPECTED: EPERM
RESULT: EPERM
PASSED test 93
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 n
EXPECTED: EPERM
RESULT: EPERM
PASSED test 94
***** Testing times=={ x, y } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 95
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 96
============================================================
***** Testing pathname==NULL, dirfd!=AT_FDCWD, flags has AT_SYMLINK_NOFOLLOW *****
Owner=mtk; perms=-rw-------; EFAs=---
./test_utimensat -q -n -d /tmp/utimensat_tests/utimensat.test_file NULL
EXPECTED: EINVAL
RESULT: EINVAL
PASSED test 97
============================================================
tv_sec should be ignored if tv_nsec is UTIME_OMIT or UTIME_NOW
***** Testing times=={ UTIME_NOW, UTIME_NOW } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 1 n 1 n
EXPECTED: SUCCESS y y
RESULT: EINVAL
FAILED test 98
***** Testing times=={ UTIME_OMIT, UTIME_OMIT } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 1 o 1 o
EXPECTED: SUCCESS n n
RESULT: EINVAL
FAILED test 99
============================================================
Linux hauroko 2.6.26-rc4-default #1 SMP Tue May 27 21:07:14 CEST 2008 i686 i686 i386 GNU/Linux
Tue Jun 3 17:58:48 CEST 2008
Total tests: 99; passed: 74; failed: 25
Failed tests: 21 24 28 29 30 31 32 33 38 41 46 47 48 49 50 51 58 59 60 75 76 87 88 98 99
[-- Attachment #4: utimensat_tests-2.6.26-rc4-utimensat-fix-v4.log --]
[-- Type: text/x-log, Size: 23818 bytes --]
============================================================
Testing read-only file, owned by self
***** Testing times==NULL case *****
Pathname test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212516206 1212516206
PASSED test 1
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212516206 1212516206
PASSED test 2
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212516206 1212516206
PASSED test 3
***** Testing times=={ UTIME_NOW, UTIME_NOW } case *****
Pathname test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 n
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212516206 1212516206
PASSED test 4
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 n
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212516206 1212516206
PASSED test 5
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 n
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212516206 1212516206
PASSED test 6
***** Testing times=={ UTIME_OMIT, UTIME_OMIT } case *****
Pathname test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 7
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 8
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 9
***** Testing times=={ UTIME_NOW, UTIME_OMIT } case *****
Pathname test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 o
EXPECTED: SUCCESS y n
RESULT: SUCCESS 1212516207 0
PASSED test 10
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 o
EXPECTED: SUCCESS y n
RESULT: SUCCESS 1212516207 0
PASSED test 11
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 o
EXPECTED: SUCCESS y n
RESULT: SUCCESS 1212516207 0
PASSED test 12
***** Testing times=={ UTIME_OMIT, UTIME_NOW } case *****
Pathname test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 n
EXPECTED: SUCCESS n y
RESULT: SUCCESS 0 1212516207
PASSED test 13
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 n
EXPECTED: SUCCESS n y
RESULT: SUCCESS 0 1212516207
PASSED test 14
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 n
EXPECTED: SUCCESS n y
RESULT: SUCCESS 0 1212516207
PASSED test 15
***** Testing times=={ x, y } case *****
Pathname test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 1 1 1 1
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1 1
PASSED test 16
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 1 1 1 1
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1 1
PASSED test 17
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 1 1 1 1
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1 1
PASSED test 18
============================================================
Testing read-only file, not owned by self
***** Testing times==NULL case *****
Pathname test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file
EXPECTED: EACCES
RESULT: EACCES
PASSED test 19
Readable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL
EXPECTED: EACCES
RESULT: EACCES
PASSED test 20
Writable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL
EXPECTED: EACCES
RESULT: EACCES
PASSED test 21
***** Testing times=={ UTIME_NOW, UTIME_NOW } case *****
Pathname test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 n
EXPECTED: EACCES
RESULT: EACCES
PASSED test 22
Readable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 n
EXPECTED: EACCES
RESULT: EACCES
PASSED test 23
Writable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 n
EXPECTED: EACCES
RESULT: EACCES
PASSED test 24
***** Testing times=={ UTIME_OMIT, UTIME_OMIT } case *****
Pathname test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 25
Readable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 26
Writable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 27
***** Testing times=={ UTIME_NOW, UTIME_OMIT } case *****
Pathname test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 o
EXPECTED: EPERM
RESULT: EPERM
PASSED test 28
Readable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 o
EXPECTED: EPERM
RESULT: EPERM
PASSED test 29
Writable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 o
EXPECTED: EPERM
RESULT: EPERM
PASSED test 30
***** Testing times=={ UTIME_OMIT, UTIME_NOW } case *****
Pathname test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 n
EXPECTED: EPERM
RESULT: EPERM
PASSED test 31
Readable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 n
EXPECTED: EPERM
RESULT: EPERM
PASSED test 32
Writable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 n
EXPECTED: EPERM
RESULT: EPERM
PASSED test 33
***** Testing times=={ x, y } case *****
Pathname test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 34
Readable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 35
Writable file descriptor (futimens(3)) test
Owner=root; perms=-r--------; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 36
============================================================
Testing writable file, not owned by self
***** Testing times==NULL case *****
Pathname test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212516210 1212516210
PASSED test 37
Readable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212516210 1212516210
PASSED test 38
Writable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212516210 1212516210
PASSED test 39
***** Testing times=={ UTIME_NOW, UTIME_NOW } case *****
Pathname test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 n
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212516210 1212516210
PASSED test 40
Readable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 n
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212516210 1212516210
PASSED test 41
Writable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 n
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212516210 1212516210
PASSED test 42
***** Testing times=={ UTIME_OMIT, UTIME_OMIT } case *****
Pathname test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 43
Readable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 44
Writable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 45
***** Testing times=={ UTIME_NOW, UTIME_OMIT } case *****
Pathname test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 o
EXPECTED: EPERM
RESULT: EPERM
PASSED test 46
Readable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 o
EXPECTED: EPERM
RESULT: EPERM
PASSED test 47
Writable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 o
EXPECTED: EPERM
RESULT: EPERM
PASSED test 48
***** Testing times=={ UTIME_OMIT, UTIME_NOW } case *****
Pathname test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 n
EXPECTED: EPERM
RESULT: EPERM
PASSED test 49
Readable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 n
EXPECTED: EPERM
RESULT: EPERM
PASSED test 50
Writable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 n
EXPECTED: EPERM
RESULT: EPERM
PASSED test 51
***** Testing times=={ x, y } case *****
Pathname test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 52
Readable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 53
Writable file descriptor (futimens(3)) test
Owner=root; perms=-rw-rw-rw-; EFAs=---
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 54
============================================================
Testing append-only file, owned by self
***** Testing times==NULL case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212516212 1212516212
PASSED test 55
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212516212 1212516212
PASSED test 56
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212516212 1212516212
PASSED test 57
***** Testing times=={ UTIME_NOW, UTIME_NOW } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 n
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212516212 1212516212
PASSED test 58
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 n
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212516212 1212516212
PASSED test 59
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 n
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212516212 1212516212
PASSED test 60
***** Testing times=={ UTIME_OMIT, UTIME_OMIT } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 61
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 62
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 63
***** Testing times=={ UTIME_NOW, UTIME_OMIT } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 o
EXPECTED: EPERM
RESULT: EPERM
PASSED test 64
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 o
EXPECTED: EPERM
RESULT: EPERM
PASSED test 65
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 o
EXPECTED: EPERM
RESULT: EPERM
PASSED test 66
***** Testing times=={ UTIME_OMIT, UTIME_NOW } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 n
EXPECTED: EPERM
RESULT: EPERM
PASSED test 67
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 n
EXPECTED: EPERM
RESULT: EPERM
PASSED test 68
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 n
EXPECTED: EPERM
RESULT: EPERM
PASSED test 69
***** Testing times=={ x, y } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 70
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 71
Writable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Append_Only
./test_utimensat -q -w -d /tmp/utimensat_tests/utimensat.test_file NULL 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 72
============================================================
Testing immutable file, owned by self
***** Testing times==NULL case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file
EXPECTED: EACCES
RESULT: EACCES
PASSED test 73
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL
EXPECTED: EACCES
RESULT: EACCES
PASSED test 74
***** Testing times=={ UTIME_NOW, UTIME_NOW } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 n
EXPECTED: EACCES
RESULT: EACCES
PASSED test 75
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 n
EXPECTED: EACCES
RESULT: EACCES
PASSED test 76
***** Testing times=={ UTIME_OMIT, UTIME_OMIT } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 77
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 78
***** Testing times=={ UTIME_NOW, UTIME_OMIT } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 o
EXPECTED: EPERM
RESULT: EPERM
PASSED test 79
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 o
EXPECTED: EPERM
RESULT: EPERM
PASSED test 80
***** Testing times=={ UTIME_OMIT, UTIME_NOW } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 n
EXPECTED: EPERM
RESULT: EPERM
PASSED test 81
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 n
EXPECTED: EPERM
RESULT: EPERM
PASSED test 82
***** Testing times=={ x, y } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 83
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 84
============================================================
Testing immutable append-only file, owned by self
***** Testing times==NULL case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file
EXPECTED: EACCES
RESULT: EACCES
PASSED test 85
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL
EXPECTED: EACCES
RESULT: EACCES
PASSED test 86
***** Testing times=={ UTIME_NOW, UTIME_NOW } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 n
EXPECTED: EACCES
RESULT: EACCES
PASSED test 87
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 n
EXPECTED: EACCES
RESULT: EACCES
PASSED test 88
***** Testing times=={ UTIME_OMIT, UTIME_OMIT } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 89
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 90
***** Testing times=={ UTIME_NOW, UTIME_OMIT } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 n 0 o
EXPECTED: EPERM
RESULT: EPERM
PASSED test 91
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 n 0 o
EXPECTED: EPERM
RESULT: EPERM
PASSED test 92
***** Testing times=={ UTIME_OMIT, UTIME_NOW } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 0 o 0 n
EXPECTED: EPERM
RESULT: EPERM
PASSED test 93
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 0 o 0 n
EXPECTED: EPERM
RESULT: EPERM
PASSED test 94
***** Testing times=={ x, y } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 95
Readable file descriptor (futimens(3)) test
Owner=mtk; perms=-rw-------; EFAs=Immutable,Append_Only
./test_utimensat -q -d /tmp/utimensat_tests/utimensat.test_file NULL 1 1 1 1
EXPECTED: EPERM
RESULT: EPERM
PASSED test 96
============================================================
***** Testing pathname==NULL, dirfd!=AT_FDCWD, flags has AT_SYMLINK_NOFOLLOW *****
Owner=mtk; perms=-rw-------; EFAs=---
./test_utimensat -q -n -d /tmp/utimensat_tests/utimensat.test_file NULL
EXPECTED: EINVAL
RESULT: EINVAL
PASSED test 97
============================================================
tv_sec should be ignored if tv_nsec is UTIME_OMIT or UTIME_NOW
***** Testing times=={ UTIME_NOW, UTIME_NOW } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 1 n 1 n
EXPECTED: SUCCESS y y
RESULT: SUCCESS 1212516216 1212516216
PASSED test 98
***** Testing times=={ UTIME_OMIT, UTIME_OMIT } case *****
Pathname test
Owner=mtk; perms=-rw-------; EFAs=---
./test_utimensat -q /tmp/utimensat_tests/utimensat.test_file 1 o 1 o
EXPECTED: SUCCESS n n
RESULT: SUCCESS 0 0
PASSED test 99
============================================================
Linux hauroko 2.6.26-rc4-utimensat-fix-v4-default #9 SMP Tue Jun 3 14:10:01 CEST 2008 i686 i686 i386 GNU/Linux
Tue Jun 3 20:03:37 CEST 2008
Total tests: 99; passed: 99; failed: 0
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: utimensat() non-conformances and fixes [v4] (patch)
2008-06-03 20:13 ` utimensat() non-conformances and fixes [v4] (patch) Michael Kerrisk
@ 2008-06-03 20:22 ` Andrew Morton
2008-06-03 20:29 ` Michael Kerrisk
0 siblings, 1 reply; 5+ messages in thread
From: Andrew Morton @ 2008-06-03 20:22 UTC (permalink / raw)
To: Michael Kerrisk
Cc: mtk.manpages, linux-kernel, hch, miklos, viro, jamie, drepper,
linux-fsdevel, subrata
On Tue, 03 Jun 2008 22:13:58 +0200
Michael Kerrisk <mtk.manpages@googlemail.com> wrote:
> This patch fixes all of the utimensat() bugs outlined in my
> previous mail.
>
> I could have split the patch out into a few pieces, but given
> that it is not long, and all against a single file, I've made
> one patch. Let me know if you would like separate patches for
> the pieces below.
Well I think it would have been better, really.
Right now someone (apparently me) needs to take the text from
"utimensat() non-conformances and fixes [v4] (overview)" and weave it
together with the text from "utimensat() non-conformances and fixes
[v4] (patch)" to produce a vaguely coherent changelog.
It all would be much saner and cleaner if each of these changes was in
a self-contained diff which had its own standalone changelog, no?
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: utimensat() non-conformances and fixes [v4] (patch)
2008-06-03 20:22 ` Andrew Morton
@ 2008-06-03 20:29 ` Michael Kerrisk
0 siblings, 0 replies; 5+ messages in thread
From: Michael Kerrisk @ 2008-06-03 20:29 UTC (permalink / raw)
To: Andrew Morton
Cc: mtk.manpages, linux-kernel, hch, miklos, viro, jamie, drepper,
linux-fsdevel, subrata
On Tue, Jun 3, 2008 at 10:22 PM, Andrew Morton
<akpm@linux-foundation.org> wrote:
> On Tue, 03 Jun 2008 22:13:58 +0200
> Michael Kerrisk <mtk.manpages@googlemail.com> wrote:
>
>> This patch fixes all of the utimensat() bugs outlined in my
>> previous mail.
>>
>> I could have split the patch out into a few pieces, but given
>> that it is not long, and all against a single file, I've made
>> one patch. Let me know if you would like separate patches for
>> the pieces below.
>
> Well I think it would have been better, really.
>
> Right now someone (apparently me) needs to take the text from
> "utimensat() non-conformances and fixes [v4] (overview)" and weave it
> together with the text from "utimensat() non-conformances and fixes
> [v4] (patch)" to produce a vaguely coherent changelog.
>
> It all would be much saner and cleaner if each of these changes was in
> a self-contained diff which had its own standalone changelog, no?
Okay -- let me take a shot at it. I'll try to get back to you in an hour or so.
--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Found a bug? http://www.kernel.org/doc/man-pages/reporting_bugs.html
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2008-06-03 20:29 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <48454F1D.6060507@gmail.com>
2008-06-03 20:13 ` utimensat() non-conformances and fixes [v4] (patch) Michael Kerrisk
2008-06-03 20:22 ` Andrew Morton
2008-06-03 20:29 ` Michael Kerrisk
2008-06-03 20:14 ` utimensat() non-conformances and fixes [v4] (test suite) Michael Kerrisk
[not found] ` <484569E5.5090108@gmail.com>
2008-06-03 20:15 ` utimensat() non-conformances and fixes [v4] (test results) Michael Kerrisk
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).