linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 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).