lkml.org 
[lkml]   [2014]   [May]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: Unionmount and overlayfs testsuite
    From
    On Thu, May 29, 2014 at 10:59 PM, David Howells <dhowells@redhat.com> wrote:
    > Sedat Dilek <sedat.dilek@gmail.com> wrote:
    >
    >> "Fixable" in your testsuite?
    >
    > Done and pushed.
    >

    Thanks.

    I still see lots of...

    umount: /mnt: not mounted

    ...and impermissible.test fails here...

    ***
    *** ./run.sh impermissible.test
    ***
    umount: /mnt: not mounted
    TEST100: Impermissible open O_TRUNC|O_WRONLY
    - open_file_as_bin -t -w /mnt/a/rootfile100 -E EACCES
    - open_file_as_bin -w /mnt/a/rootfile100 -E EACCES
    - open_file_as_bin -r /mnt/a/rootfile100 -R :xxx:yyy:zzz
    - open_file -r /mnt/a/rootfile100 -R :xxx:yyy:zzz
    - open_file -w /mnt/a/rootfile100 -W shark
    - open_file -r /mnt/a/rootfile100 -R sharkyyy:zzz
    - open_file_as_bin -r /mnt/a/rootfile100 -R sharkyyy:zzz
    TEST101: Impermissible open O_WRONLY
    - open_file_as_bin -w /mnt/a/rootfile101 -E EACCES
    - open_file_as_bin -w /mnt/a/rootfile101 -E EACCES
    - open_file_as_bin -r /mnt/a/rootfile101 -R :xxx:yyy:zzz
    - open_file -r /mnt/a/rootfile101 -R :xxx:yyy:zzz
    - open_file -w /mnt/a/rootfile101 -W shark
    - open_file -r /mnt/a/rootfile101 -R sharkyyy:zzz
    - open_file_as_bin -r /mnt/a/rootfile101 -R sharkyyy:zzz
    TEST102: Impermissible open O_APPEND
    - open_file_as_bin -a /mnt/a/rootfile102 -E EACCES
    - open_file_as_bin -a /mnt/a/rootfile102 -E EACCES
    - open_file_as_bin -r /mnt/a/rootfile102 -R :xxx:yyy:zzz
    - open_file -r /mnt/a/rootfile102 -R :xxx:yyy:zzz
    - open_file -a /mnt/a/rootfile102 -W shark
    - open_file -r /mnt/a/rootfile102 -R :xxx:yyy:zzzshark
    - open_file_as_bin -r /mnt/a/rootfile102 -R :xxx:yyy:zzzshark
    TEST103: Impermissible truncate
    - fs_op_as_bin truncate /mnt/a/rootfile103 4 -E EACCES
    - fs_op_as_bin truncate /mnt/a/rootfile103 4 -E EACCES
    - open_file_as_bin -r /mnt/a/rootfile103 -R :xxx:yyy:zzz
    - open_file -r /mnt/a/rootfile103 -R :xxx:yyy:zzz
    - fs_op truncate /mnt/a/rootfile103 4
    - open_file -r /mnt/a/rootfile103 -R :xxx
    - open_file_as_bin -r /mnt/a/rootfile103 -R :xxx
    TEST104: Impermissible utimes
    - fs_op_as_bin utimes /mnt/a/rootfile104 -E EACCES
    /mnt/a/rootfile104: Test file not on upper filesystem (line 130)

    Full log of run.sh is attached.

    - Sedat -
    ***
    *** ./run.sh open-plain.test
    ***
    TEST100: Open O_RDONLY
    - open_file -r /mnt/a/foo100 -R :xxx:yyy:zzz
    - open_file -r /mnt/a/foo100 -R :xxx:yyy:zzz
    TEST101: Open O_WRONLY
    - open_file -w /mnt/a/foo101 -W q
    - open_file -r /mnt/a/foo101 -R qxxx:yyy:zzz
    - open_file -w /mnt/a/foo101 -W p
    - open_file -r /mnt/a/foo101 -R pxxx:yyy:zzz
    TEST102: Open O_APPEND|O_WRONLY
    - open_file -a /mnt/a/foo102 -W q
    - open_file -r /mnt/a/foo102 -R :xxx:yyy:zzzq
    - open_file -a /mnt/a/foo102 -W p
    - open_file -r /mnt/a/foo102 -R :xxx:yyy:zzzqp
    TEST103: Open O_RDWR
    - open_file -r -w /mnt/a/foo103 -W q
    - open_file -r /mnt/a/foo103 -R qxxx:yyy:zzz
    - open_file -r -w /mnt/a/foo103 -W p
    - open_file -r /mnt/a/foo103 -R pxxx:yyy:zzz
    TEST104: Open O_APPEND|O_RDWR
    - open_file -r -a /mnt/a/foo104 -W q
    - open_file -r /mnt/a/foo104 -R :xxx:yyy:zzzq
    - open_file -r -a /mnt/a/foo104 -W p
    - open_file -r /mnt/a/foo104 -R :xxx:yyy:zzzqp
    ***
    *** ./run.sh open-trunc.test
    ***
    umount: /mnt: not mounted
    TEST100: Open O_TRUNC|O_RDONLY
    - open_file -t -r /mnt/a/foo100 -R
    - open_file -t -r /mnt/a/foo100 -R
    TEST101: Open O_TRUNC|O_WRONLY
    - open_file -t -w /mnt/a/foo101 -W q
    - open_file -r /mnt/a/foo101 -R q
    - open_file -t -w /mnt/a/foo101 -W p
    - open_file -r /mnt/a/foo101 -R p
    TEST102: Open O_TRUNC|O_APPEND|O_WRONLY
    - open_file -t -a /mnt/a/foo102 -W q
    - open_file -r /mnt/a/foo102 -R q
    - open_file -t -a /mnt/a/foo102 -W p
    - open_file -r /mnt/a/foo102 -R p
    TEST103: Open O_TRUNC|O_RDWR
    - open_file -t -r -w /mnt/a/foo103 -W q
    - open_file -r /mnt/a/foo103 -R q
    - open_file -t -r -w /mnt/a/foo103 -W p
    - open_file -r /mnt/a/foo103 -R p
    TEST104: Open O_TRUNC|O_APPEND|O_RDWR
    - open_file -t -r -a /mnt/a/foo104 -W q
    - open_file -r /mnt/a/foo104 -R q
    - open_file -t -r -a /mnt/a/foo104 -W p
    - open_file -r /mnt/a/foo104 -R p
    ***
    *** ./run.sh open-creat.test
    ***
    umount: /mnt: not mounted
    TEST100: Open O_CREAT|O_RDONLY
    - open_file -c -r /mnt/a/foo100 -R :xxx:yyy:zzz
    - open_file -c -r /mnt/a/foo100 -R :xxx:yyy:zzz
    TEST101: Open O_CREAT|O_WRONLY
    - open_file -c -w /mnt/a/foo101 -W q
    - open_file -c -r /mnt/a/foo101 -R qxxx:yyy:zzz
    - open_file -c -w /mnt/a/foo101 -W p
    - open_file -c -r /mnt/a/foo101 -R pxxx:yyy:zzz
    TEST102: Open O_CREAT|O_APPEND|O_WRONLY
    - open_file -c -a /mnt/a/foo102 -W q
    - open_file -c -r /mnt/a/foo102 -R :xxx:yyy:zzzq
    - open_file -c -a /mnt/a/foo102 -W p
    - open_file -c -r /mnt/a/foo102 -R :xxx:yyy:zzzqp
    TEST103: Open O_CREAT|O_RDWR
    - open_file -c -r -w /mnt/a/foo103 -W q
    - open_file -c -r /mnt/a/foo103 -R qxxx:yyy:zzz
    - open_file -c -r -w /mnt/a/foo103 -W p
    - open_file -c -r /mnt/a/foo103 -R pxxx:yyy:zzz
    TEST104: Open O_CREAT|O_APPEND|O_RDWR
    - open_file -c -r -a /mnt/a/foo104 -W q
    - open_file -c -r /mnt/a/foo104 -R :xxx:yyy:zzzq
    - open_file -c -r -a /mnt/a/foo104 -W p
    - open_file -c -r /mnt/a/foo104 -R :xxx:yyy:zzzqp
    ***
    *** ./run.sh open-creat-trunc.test
    ***
    umount: /mnt: not mounted
    TEST100: Open O_CREAT|O_TRUNC|O_RDONLY
    - open_file -c -t -r /mnt/a/foo100 -R
    - open_file -c -t -r /mnt/a/foo100 -R
    TEST101: Open O_CREAT|O_TRUNC|O_WRONLY
    - open_file -c -t -w /mnt/a/foo101 -W q
    - open_file -r /mnt/a/foo101 -R q
    - open_file -c -t -w /mnt/a/foo101 -W p
    - open_file -r /mnt/a/foo101 -R p
    TEST102: Open O_CREAT|O_TRUNC|O_APPEND|O_WRONLY
    - open_file -c -t -a /mnt/a/foo102 -W q
    - open_file -r /mnt/a/foo102 -R q
    - open_file -c -t -a /mnt/a/foo102 -W p
    - open_file -r /mnt/a/foo102 -R p
    TEST103: Open O_CREAT|O_TRUNC|O_RDWR
    - open_file -c -t -r -w /mnt/a/foo103 -W q
    - open_file -r /mnt/a/foo103 -R q
    - open_file -c -t -r -w /mnt/a/foo103 -W p
    - open_file -r /mnt/a/foo103 -R p
    TEST104: Open O_CREAT|O_TRUNC|O_APPEND|O_RDWR
    - open_file -c -t -r -a /mnt/a/foo104 -W q
    - open_file -r /mnt/a/foo104 -R q
    - open_file -c -t -r -a /mnt/a/foo104 -W p
    - open_file -r /mnt/a/foo104 -R p
    ***
    *** ./run.sh open-creat-excl.test
    ***
    umount: /mnt: not mounted
    TEST100: Open O_CREAT|O_EXCL|O_RDONLY
    - open_file -c -e -r /mnt/a/foo100 -E EEXIST
    - open_file -r /mnt/a/foo100 -R :xxx:yyy:zzz
    TEST101: Open O_CREAT|O_EXCL|O_WRONLY
    - open_file -c -e -w /mnt/a/foo101 -E EEXIST
    - open_file -r /mnt/a/foo101 -R :xxx:yyy:zzz
    TEST102: Open O_CREAT|O_EXCL|O_APPEND|O_WRONLY
    - open_file -c -e -a /mnt/a/foo102 -E EEXIST
    - open_file -r /mnt/a/foo102 -R :xxx:yyy:zzz
    TEST103: Open O_CREAT|O_EXCL|O_RDWR
    - open_file -c -e -r -w /mnt/a/foo103 -E EEXIST
    - open_file -r /mnt/a/foo103 -R :xxx:yyy:zzz
    TEST104: Open O_CREAT|O_EXCL|O_APPEND|O_RDWR
    - open_file -c -e -r -a /mnt/a/foo104 -E EEXIST
    - open_file -r /mnt/a/foo104 -R :xxx:yyy:zzz
    ***
    *** ./run.sh open-creat-excl-trunc.test
    ***
    umount: /mnt: not mounted
    TEST100: Open O_CREAT|O_EXCL|O_TRUNC|O_RDONLY
    - open_file -c -e -t -r /mnt/a/foo100 -E EEXIST
    - open_file -r /mnt/a/foo100 -R :xxx:yyy:zzz
    TEST101: Open O_CREAT|O_EXCL|O_TRUNC|O_WRONLY
    - open_file -c -e -t -w /mnt/a/foo101 -E EEXIST
    - open_file -r /mnt/a/foo101 -R :xxx:yyy:zzz
    TEST102: Open O_CREAT|O_EXCL|O_TRUNC|O_APPEND|O_WRONLY
    - open_file -c -e -t -a /mnt/a/foo102 -E EEXIST
    - open_file -r /mnt/a/foo102 -R :xxx:yyy:zzz
    TEST103: Open O_CREAT|O_EXCL|O_TRUNC|O_RDWR
    - open_file -c -e -t -r -w /mnt/a/foo103 -E EEXIST
    - open_file -r /mnt/a/foo103 -R :xxx:yyy:zzz
    TEST104: Open O_CREAT|O_EXCL|O_TRUNC|O_APPEND|O_RDWR
    - open_file -c -e -t -r -a /mnt/a/foo104 -E EEXIST
    - open_file -r /mnt/a/foo104 -R :xxx:yyy:zzz
    ***
    *** ./run.sh noent-plain.test
    ***
    umount: /mnt: not mounted

    Try non-existent files:
    TEST100: Open O_RDONLY
    - open_file -r /mnt/a/no_foo100 -E ENOENT
    - open_file -r /mnt/a/no_foo100 -E ENOENT
    TEST101: Open O_WRONLY
    - open_file -w /mnt/a/no_foo101 -E ENOENT
    - open_file -w /mnt/a/no_foo101 -E ENOENT
    TEST102: Open O_APPEND|O_WRONLY
    - open_file -a /mnt/a/no_foo102 -E ENOENT
    - open_file -a /mnt/a/no_foo102 -E ENOENT
    TEST103: Open O_RDWR
    - open_file -r -w /mnt/a/no_foo103 -E ENOENT
    - open_file -r -w /mnt/a/no_foo103 -E ENOENT
    TEST104: Open O_APPEND|O_RDWR
    - open_file -r -a /mnt/a/no_foo104 -E ENOENT
    - open_file -r -a /mnt/a/no_foo104 -E ENOENT
    ***
    *** ./run.sh noent-trunc.test
    ***
    umount: /mnt: not mounted
    TEST100: Open O_TRUNC|O_RDONLY
    - open_file -t -r /mnt/a/no_foo100 -E ENOENT
    - open_file -t -r /mnt/a/no_foo100 -E ENOENT
    TEST101: Open O_TRUNC|O_WRONLY
    - open_file -t -w /mnt/a/no_foo101 -E ENOENT
    - open_file -t -w /mnt/a/no_foo101 -E ENOENT
    TEST102: Open O_TRUNC|O_APPEND|O_WRONLY
    - open_file -t -a /mnt/a/no_foo102 -E ENOENT
    - open_file -t -a /mnt/a/no_foo102 -E ENOENT
    TEST103: Open O_TRUNC|O_RDWR
    - open_file -t -r -w /mnt/a/no_foo103 -E ENOENT
    - open_file -t -r -w /mnt/a/no_foo103 -E ENOENT
    TEST104: Open O_TRUNC|O_APPEND|O_RDWR
    - open_file -t -r -a /mnt/a/no_foo104 -E ENOENT
    - open_file -t -r -a /mnt/a/no_foo104 -E ENOENT
    ***
    *** ./run.sh noent-creat.test
    ***
    umount: /mnt: not mounted
    TEST100: Create O_CREAT|O_RDONLY
    - open_file -c -r /mnt/a/no_foo100 -R
    - open_file -c -r /mnt/a/no_foo100 -R
    TEST101: Create O_CREAT|O_WRONLY
    - open_file -c -w /mnt/a/no_foo101 -W q
    - open_file -r /mnt/a/no_foo101 -R q
    - open_file -c -w /mnt/a/no_foo101 -W p
    - open_file -r /mnt/a/no_foo101 -R p
    TEST102: Create O_CREAT|O_APPEND|O_WRONLY
    - open_file -c -a /mnt/a/no_foo102 -W q
    - open_file -r /mnt/a/no_foo102 -R q
    - open_file -c -a /mnt/a/no_foo102 -W p
    - open_file -r /mnt/a/no_foo102 -R qp
    TEST103: Create O_CREAT|O_RDWR
    - open_file -c -r -w /mnt/a/no_foo103 -W q
    - open_file -r /mnt/a/no_foo103 -R q
    - open_file -c -r -w /mnt/a/no_foo103 -W p
    - open_file -r /mnt/a/no_foo103 -R p
    TEST104: Create O_CREAT|O_APPEND|O_RDWR
    - open_file -c -r -a /mnt/a/no_foo104 -W q
    - open_file -r /mnt/a/no_foo104 -R q
    - open_file -c -r -a /mnt/a/no_foo104 -W p
    - open_file -r /mnt/a/no_foo104 -R qp
    ***
    *** ./run.sh noent-creat-trunc.test
    ***
    umount: /mnt: not mounted
    TEST100: Create O_CREAT|O_TRUNC|O_RDONLY
    - open_file -c -t -r /mnt/a/no_foo100 -R
    - open_file -c -t -r /mnt/a/no_foo100 -R
    TEST101: Create O_CREAT|O_TRUNC|O_WRONLY
    - open_file -c -t -w /mnt/a/no_foo101 -W q
    - open_file -r /mnt/a/no_foo101 -R q
    - open_file -c -t -w /mnt/a/no_foo101 -W p
    - open_file -r /mnt/a/no_foo101 -R p
    TEST102: Create O_CREAT|O_TRUNC|O_APPEND|O_WRONLY
    - open_file -c -t -a /mnt/a/no_foo102 -W q
    - open_file -r /mnt/a/no_foo102 -R q
    - open_file -c -a /mnt/a/no_foo102 -W p
    - open_file -r /mnt/a/no_foo102 -R qp
    TEST103: Create O_CREAT|O_TRUNC|O_RDWR
    - open_file -c -t -r -w /mnt/a/no_foo103 -W q
    - open_file -r /mnt/a/no_foo103 -R q
    - open_file -c -r -w /mnt/a/no_foo103 -W p
    - open_file -r /mnt/a/no_foo103 -R p
    TEST104: Create O_CREAT|O_TRUNC|O_APPEND|O_RDWR
    - open_file -c -t -r -a /mnt/a/no_foo104 -W q
    - open_file -r /mnt/a/no_foo104 -R q
    - open_file -c -r -a /mnt/a/no_foo104 -W p
    - open_file -r /mnt/a/no_foo104 -R qp
    ***
    *** ./run.sh noent-creat-excl.test
    ***
    umount: /mnt: not mounted
    TEST100: Create O_CREAT|O_EXCL|O_RDONLY
    - open_file -c -e -r /mnt/a/no_foo100 -R
    - open_file -c -e -r /mnt/a/no_foo100 -E EEXIST
    - open_file -r /mnt/a/no_foo100 -R
    TEST101: Create O_CREAT|O_EXCL|O_WRONLY
    - open_file -c -e -w /mnt/a/no_foo101 -W q
    - open_file -r /mnt/a/no_foo101 -R q
    - open_file -c -e -w /mnt/a/no_foo101 -E EEXIST
    - open_file -r /mnt/a/no_foo101 -R q
    TEST102: Create O_CREAT|O_EXCL|O_APPEND|O_WRONLY
    - open_file -c -e -a /mnt/a/no_foo102 -W q
    - open_file -r /mnt/a/no_foo102 -R q
    - open_file -c -e -a /mnt/a/no_foo102 -E EEXIST
    - open_file -r /mnt/a/no_foo102 -R q
    TEST103: Create O_CREAT|O_EXCL|O_RDWR
    - open_file -c -e -r -w /mnt/a/no_foo103 -W q
    - open_file -r /mnt/a/no_foo103 -R q
    - open_file -c -e -r -w /mnt/a/no_foo103 -E EEXIST
    - open_file -r /mnt/a/no_foo103 -R q
    TEST104: Create O_CREAT|O_EXCL|O_APPEND|O_RDWR
    - open_file -c -e -r -a /mnt/a/no_foo104 -W q
    - open_file -r /mnt/a/no_foo104 -R q
    - open_file -c -e -r -a /mnt/a/no_foo104 -E EEXIST
    - open_file -r /mnt/a/no_foo104 -R q
    ***
    *** ./run.sh noent-creat-excl-trunc.test
    ***
    umount: /mnt: not mounted
    TEST100: Create O_CREAT|O_EXCL|O_TRUNC|O_RDONLY
    - open_file -c -e -t -r /mnt/a/no_foo100 -R
    - open_file -c -e -t -r /mnt/a/no_foo100 -E EEXIST
    - open_file -r /mnt/a/no_foo100 -R
    TEST101: Create O_CREAT|O_EXCL|O_TRUNC|O_WRONLY
    - open_file -c -e -t -w /mnt/a/no_foo101 -W q
    - open_file -r /mnt/a/no_foo101 -R q
    - open_file -c -e -t -w /mnt/a/no_foo101 -E EEXIST
    - open_file -r /mnt/a/no_foo101 -R q
    TEST102: Create O_CREAT|O_EXCL|O_TRUNC|O_APPEND|O_WRONLY
    - open_file -c -e -t -a /mnt/a/no_foo102 -W q
    - open_file -r /mnt/a/no_foo102 -R q
    - open_file -c -e -a /mnt/a/no_foo102 -E EEXIST
    - open_file -r /mnt/a/no_foo102 -R q
    TEST103: Create O_CREAT|O_EXCL|O_TRUNC|O_RDWR
    - open_file -c -e -t -r -w /mnt/a/no_foo103 -W q
    - open_file -r /mnt/a/no_foo103 -R q
    - open_file -c -e -r -w /mnt/a/no_foo103 -E EEXIST
    - open_file -r /mnt/a/no_foo103 -R q
    TEST104: Create O_CREAT|O_EXCL|O_TRUNC|O_APPEND|O_RDWR
    - open_file -c -e -t -r -a /mnt/a/no_foo104 -W q
    - open_file -r /mnt/a/no_foo104 -R q
    - open_file -c -e -r -a /mnt/a/no_foo104 -E EEXIST
    - open_file -r /mnt/a/no_foo104 -R q
    ***
    *** ./run.sh sym1-plain.test
    ***
    umount: /mnt: not mounted
    TEST100: Open(symlink) O_RDONLY
    - open_file -r /mnt/a/direct_sym100 -R :xxx:yyy:zzz
    - open_file -r /mnt/a/direct_sym100 -R :xxx:yyy:zzz
    TEST101: Open(symlink) O_WRONLY
    - open_file -w /mnt/a/direct_sym101 -W q
    - open_file -r /mnt/a/direct_sym101 -R qxxx:yyy:zzz
    - open_file -w /mnt/a/direct_sym101 -W p
    - open_file -r /mnt/a/direct_sym101 -R pxxx:yyy:zzz
    TEST102: Open(symlink) O_APPEND|O_WRONLY
    - open_file -a /mnt/a/direct_sym102 -W q
    - open_file -r /mnt/a/direct_sym102 -R :xxx:yyy:zzzq
    - open_file -a /mnt/a/direct_sym102 -W p
    - open_file -r /mnt/a/direct_sym102 -R :xxx:yyy:zzzqp
    TEST103: Open(symlink) O_RDWR
    - open_file -r -w /mnt/a/direct_sym103 -W q
    - open_file -r /mnt/a/direct_sym103 -R qxxx:yyy:zzz
    - open_file -r -w /mnt/a/direct_sym103 -W p
    - open_file -r /mnt/a/direct_sym103 -R pxxx:yyy:zzz
    TEST104: Open(symlink) O_APPEND|O_RDWR
    - open_file -r -a /mnt/a/direct_sym104 -W q
    - open_file -r /mnt/a/direct_sym104 -R :xxx:yyy:zzzq
    - open_file -r -a /mnt/a/direct_sym104 -W p
    - open_file -r /mnt/a/direct_sym104 -R :xxx:yyy:zzzqp
    ***
    *** ./run.sh sym1-trunc.test
    ***
    umount: /mnt: not mounted
    TEST100: Open(symlink) O_TRUNC|O_RDONLY
    - open_file -t -r /mnt/a/direct_sym100 -R
    - open_file -t -r /mnt/a/direct_sym100 -R
    TEST101: Open(symlink) O_TRUNC|O_WRONLY
    - open_file -t -w /mnt/a/direct_sym101 -W q
    - open_file -r /mnt/a/direct_sym101 -R q
    - open_file -t -w /mnt/a/direct_sym101 -W p
    - open_file -r /mnt/a/direct_sym101 -R p
    TEST102: Open(symlink) O_TRUNC|O_APPEND|O_WRONLY
    - open_file -t -a /mnt/a/direct_sym102 -W q
    - open_file -r /mnt/a/direct_sym102 -R q
    - open_file -t -a /mnt/a/direct_sym102 -W p
    - open_file -r /mnt/a/direct_sym102 -R p
    TEST103: Open(symlink) O_TRUNC|O_RDWR
    - open_file -t -r -w /mnt/a/direct_sym103 -W q
    - open_file -r /mnt/a/direct_sym103 -R q
    - open_file -t -r -w /mnt/a/direct_sym103 -W p
    - open_file -r /mnt/a/direct_sym103 -R p
    TEST104: Open(symlink) O_TRUNC|O_APPEND|O_RDWR
    - open_file -t -r -a /mnt/a/direct_sym104 -W q
    - open_file -r /mnt/a/direct_sym104 -R q
    - open_file -t -r -a /mnt/a/direct_sym104 -W p
    - open_file -r /mnt/a/direct_sym104 -R p
    ***
    *** ./run.sh sym1-creat.test
    ***
    umount: /mnt: not mounted
    TEST100: Open(symlink) O_CREAT|O_RDONLY
    - open_file -c -r /mnt/a/direct_sym100 -R :xxx:yyy:zzz
    - open_file -c -r /mnt/a/direct_sym100 -R :xxx:yyy:zzz
    TEST101: Open(symlink) O_CREAT|O_WRONLY
    - open_file -c -w /mnt/a/direct_sym101 -W q
    - open_file -c -r /mnt/a/direct_sym101 -R qxxx:yyy:zzz
    - open_file -c -w /mnt/a/direct_sym101 -W p
    - open_file -c -r /mnt/a/direct_sym101 -R pxxx:yyy:zzz
    TEST102: Open(symlink) O_CREAT|O_APPEND|O_WRONLY
    - open_file -c -a /mnt/a/direct_sym102 -W q
    - open_file -c -r /mnt/a/direct_sym102 -R :xxx:yyy:zzzq
    - open_file -c -a /mnt/a/direct_sym102 -W p
    - open_file -c -r /mnt/a/direct_sym102 -R :xxx:yyy:zzzqp
    TEST103: Open(symlink) O_CREAT|O_RDWR
    - open_file -c -r -w /mnt/a/direct_sym103 -W q
    - open_file -c -r /mnt/a/direct_sym103 -R qxxx:yyy:zzz
    - open_file -c -r -w /mnt/a/direct_sym103 -W p
    - open_file -c -r /mnt/a/direct_sym103 -R pxxx:yyy:zzz
    TEST104: Open(symlink) O_CREAT|O_APPEND|O_RDWR
    - open_file -c -r -a /mnt/a/direct_sym104 -W q
    - open_file -c -r /mnt/a/direct_sym104 -R :xxx:yyy:zzzq
    - open_file -c -r -a /mnt/a/direct_sym104 -W p
    - open_file -c -r /mnt/a/direct_sym104 -R :xxx:yyy:zzzqp
    ***
    *** ./run.sh sym1-creat-excl.test
    ***
    umount: /mnt: not mounted
    TEST100: Open(symlink) O_CREAT|O_EXCL|O_RDONLY
    - open_file -c -e -r /mnt/a/direct_sym100 -E EEXIST
    - open_file -r /mnt/a/direct_sym100 -R :xxx:yyy:zzz
    TEST101: Open(symlink) O_CREAT|O_EXCL|O_WRONLY
    - open_file -c -e -w /mnt/a/direct_sym101 -E EEXIST
    - open_file -r /mnt/a/direct_sym101 -R :xxx:yyy:zzz
    TEST102: Open(symlink) O_CREAT|O_EXCL|O_APPEND|O_WRONLY
    - open_file -c -e -a /mnt/a/direct_sym102 -E EEXIST
    - open_file -r /mnt/a/direct_sym102 -R :xxx:yyy:zzz
    TEST103: Open(symlink) O_CREAT|O_EXCL|O_RDWR
    - open_file -c -e -r -w /mnt/a/direct_sym103 -E EEXIST
    - open_file -r /mnt/a/direct_sym103 -R :xxx:yyy:zzz
    TEST104: Open(symlink) O_CREAT|O_EXCL|O_APPEND|O_RDWR
    - open_file -c -e -r -a /mnt/a/direct_sym104 -E EEXIST
    - open_file -r /mnt/a/direct_sym104 -R :xxx:yyy:zzz
    ***
    *** ./run.sh sym2-plain.test
    ***
    umount: /mnt: not mounted
    TEST100: Open(symlink->symlink) O_RDONLY
    - open_file -r /mnt/a/indirect_sym100 -R :xxx:yyy:zzz
    - open_file -r /mnt/a/indirect_sym100 -R :xxx:yyy:zzz
    TEST101: Open(symlink->symlink) O_WRONLY
    - open_file -w /mnt/a/indirect_sym101 -W q
    - open_file -r /mnt/a/indirect_sym101 -R qxxx:yyy:zzz
    - open_file -w /mnt/a/indirect_sym101 -W p
    - open_file -r /mnt/a/indirect_sym101 -R pxxx:yyy:zzz
    TEST102: Open(symlink->symlink) O_APPEND|O_WRONLY
    - open_file -a /mnt/a/indirect_sym102 -W q
    - open_file -r /mnt/a/indirect_sym102 -R :xxx:yyy:zzzq
    - open_file -a /mnt/a/indirect_sym102 -W p
    - open_file -r /mnt/a/indirect_sym102 -R :xxx:yyy:zzzqp
    TEST103: Open(symlink->symlink) O_RDWR
    - open_file -r -w /mnt/a/indirect_sym103 -W q
    - open_file -r /mnt/a/indirect_sym103 -R qxxx:yyy:zzz
    - open_file -r -w /mnt/a/indirect_sym103 -W p
    - open_file -r /mnt/a/indirect_sym103 -R pxxx:yyy:zzz
    TEST104: Open(symlink->symlink) O_APPEND|O_RDWR
    - open_file -r -a /mnt/a/indirect_sym104 -W q
    - open_file -r /mnt/a/indirect_sym104 -R :xxx:yyy:zzzq
    - open_file -r -a /mnt/a/indirect_sym104 -W p
    - open_file -r /mnt/a/indirect_sym104 -R :xxx:yyy:zzzqp
    ***
    *** ./run.sh sym2-trunc.test
    ***
    umount: /mnt: not mounted
    TEST100: Open(symlink->symlink) O_TRUNC|O_RDONLY
    - open_file -t -r /mnt/a/indirect_sym100 -R
    - open_file -t -r /mnt/a/indirect_sym100 -R
    TEST101: Open(symlink->symlink) O_TRUNC|O_WRONLY
    - open_file -t -w /mnt/a/indirect_sym101 -W q
    - open_file -r /mnt/a/indirect_sym101 -R q
    - open_file -t -w /mnt/a/indirect_sym101 -W p
    - open_file -r /mnt/a/indirect_sym101 -R p
    TEST102: Open(symlink->symlink) O_TRUNC|O_APPEND|O_WRONLY
    - open_file -t -a /mnt/a/indirect_sym102 -W q
    - open_file -r /mnt/a/indirect_sym102 -R q
    - open_file -t -a /mnt/a/indirect_sym102 -W p
    - open_file -r /mnt/a/indirect_sym102 -R p
    TEST103: Open(symlink->symlink) O_TRUNC|O_RDWR
    - open_file -t -r -w /mnt/a/indirect_sym103 -W q
    - open_file -r /mnt/a/indirect_sym103 -R q
    - open_file -t -r -w /mnt/a/indirect_sym103 -W p
    - open_file -r /mnt/a/indirect_sym103 -R p
    TEST104: Open(symlink->symlink) O_TRUNC|O_APPEND|O_RDWR
    - open_file -t -r -a /mnt/a/indirect_sym104 -W q
    - open_file -r /mnt/a/indirect_sym104 -R q
    - open_file -t -r -a /mnt/a/indirect_sym104 -W p
    - open_file -r /mnt/a/indirect_sym104 -R p
    ***
    *** ./run.sh sym2-creat.test
    ***
    umount: /mnt: not mounted
    TEST100: Open(symlink->symlink) O_CREAT|O_RDONLY
    - open_file -c -r /mnt/a/indirect_sym100 -R :xxx:yyy:zzz
    - open_file -c -r /mnt/a/indirect_sym100 -R :xxx:yyy:zzz
    TEST101: Open(symlink->symlink) O_CREAT|O_WRONLY
    - open_file -c -w /mnt/a/indirect_sym101 -W q
    - open_file -c -r /mnt/a/indirect_sym101 -R qxxx:yyy:zzz
    - open_file -c -w /mnt/a/indirect_sym101 -W p
    - open_file -c -r /mnt/a/indirect_sym101 -R pxxx:yyy:zzz
    TEST102: Open(symlink->symlink) O_CREAT|O_APPEND|O_WRONLY
    - open_file -c -a /mnt/a/indirect_sym102 -W q
    - open_file -c -r /mnt/a/indirect_sym102 -R :xxx:yyy:zzzq
    - open_file -c -a /mnt/a/indirect_sym102 -W p
    - open_file -c -r /mnt/a/indirect_sym102 -R :xxx:yyy:zzzqp
    TEST103: Open(symlink->symlink) O_CREAT|O_RDWR
    - open_file -c -r -w /mnt/a/indirect_sym103 -W q
    - open_file -c -r /mnt/a/indirect_sym103 -R qxxx:yyy:zzz
    - open_file -c -r -w /mnt/a/indirect_sym103 -W p
    - open_file -c -r /mnt/a/indirect_sym103 -R pxxx:yyy:zzz
    TEST104: Open(symlink->symlink) O_CREAT|O_APPEND|O_RDWR
    - open_file -c -r -a /mnt/a/indirect_sym104 -W q
    - open_file -c -r /mnt/a/indirect_sym104 -R :xxx:yyy:zzzq
    - open_file -c -r -a /mnt/a/indirect_sym104 -W p
    - open_file -c -r /mnt/a/indirect_sym104 -R :xxx:yyy:zzzqp
    ***
    *** ./run.sh sym2-creat-excl.test
    ***
    umount: /mnt: not mounted
    TEST100: Open(symlink->symlink) O_CREAT|O_EXCL|O_RDONLY
    - open_file -c -e -r /mnt/a/indirect_sym100 -E EEXIST
    - open_file -r /mnt/a/indirect_sym100 -R :xxx:yyy:zzz
    TEST101: Open(symlink->symlink) O_CREAT|O_EXCL|O_WRONLY
    - open_file -c -e -w /mnt/a/indirect_sym101 -E EEXIST
    - open_file -r /mnt/a/indirect_sym101 -R :xxx:yyy:zzz
    TEST102: Open(symlink->symlink) O_CREAT|O_EXCL|O_APPEND|O_WRONLY
    - open_file -c -e -a /mnt/a/indirect_sym102 -E EEXIST
    - open_file -r /mnt/a/indirect_sym102 -R :xxx:yyy:zzz
    TEST103: Open(symlink->symlink) O_CREAT|O_EXCL|O_RDWR
    - open_file -c -e -r -w /mnt/a/indirect_sym103 -E EEXIST
    - open_file -r /mnt/a/indirect_sym103 -R :xxx:yyy:zzz
    TEST104: Open(symlink->symlink) O_CREAT|O_EXCL|O_APPEND|O_RDWR
    - open_file -c -e -r -a /mnt/a/indirect_sym104 -E EEXIST
    - open_file -r /mnt/a/indirect_sym104 -R :xxx:yyy:zzz
    ***
    *** ./run.sh symx-plain.test
    ***
    umount: /mnt: not mounted
    TEST100: Open(broken) O_RDONLY
    - open_file -r /mnt/a/pointless100 -E ENOENT
    - open_file -r /mnt/a/no_foo100 -E ENOENT
    TEST101: Open(broken) O_WRONLY
    - open_file -w /mnt/a/pointless101 -E ENOENT
    - open_file -r /mnt/a/no_foo101 -E ENOENT
    TEST102: Open(broken) O_APPEND|O_WRONLY
    - open_file -a /mnt/a/pointless102 -E ENOENT
    - open_file -r /mnt/a/no_foo102 -E ENOENT
    TEST103: Open(broken) O_RDWR
    - open_file -r -w /mnt/a/pointless103 -E ENOENT
    - open_file -r /mnt/a/no_foo103 -E ENOENT
    TEST104: Open(broken) O_APPEND|O_RDWR
    - open_file -r -a /mnt/a/pointless104 -E ENOENT
    - open_file -r /mnt/a/no_foo104 -E ENOENT
    ***
    *** ./run.sh symx-trunc.test
    ***
    umount: /mnt: not mounted
    TEST100: Open(broken) O_TRUNC|O_RDONLY
    - open_file -t -r /mnt/a/pointless100 -E ENOENT
    TEST101: Open(broken) O_TRUNC|O_WRONLY
    - open_file -t -w /mnt/a/pointless101 -E ENOENT
    TEST102: Open(broken) O_TRUNC|O_APPEND|O_WRONLY
    - open_file -t -a /mnt/a/pointless102 -E ENOENT
    TEST103: Open(broken) O_TRUNC|O_RDWR
    - open_file -t -r -w /mnt/a/pointless103 -E ENOENT
    TEST104: Open(broken) O_TRUNC|O_APPEND|O_RDWR
    - open_file -t -r -a /mnt/a/pointless104 -E ENOENT
    ***
    *** ./run.sh symx-creat.test
    ***
    umount: /mnt: not mounted
    TEST100: Open(broken) O_CREAT|O_RDONLY
    - open_file -c -r /mnt/a/pointless100 -R
    - open_file -r /mnt/a/no_foo100 -R
    TEST101: Open(broken) O_CREAT|O_WRONLY
    - open_file -c -w /mnt/a/pointless101 -W q
    - open_file -r /mnt/a/no_foo101 -R q
    TEST102: Open(broken) O_CREAT|O_APPEND|O_WRONLY
    - open_file -c -a /mnt/a/pointless102 -W q
    - open_file -r /mnt/a/no_foo102 -R q
    TEST103: Open(broken) O_CREAT|O_RDWR
    - open_file -c -r -w /mnt/a/pointless103 -W q
    - open_file -r /mnt/a/no_foo103 -R q
    TEST104: Open(broken) O_CREAT|O_APPEND|O_RDWR
    - open_file -c -r -a /mnt/a/pointless104 -W q
    - open_file -r /mnt/a/no_foo104 -R q
    ***
    *** ./run.sh symx-creat-excl.test
    ***
    umount: /mnt: not mounted
    TEST100: Open(broken) O_CREAT|O_EXCL|O_RDONLY
    - open_file -c -e -r /mnt/a/pointless100 -E EEXIST
    TEST101: Open(broken) O_CREAT|O_EXCL|O_WRONLY
    - open_file -c -e -w /mnt/a/pointless101 -E EEXIST
    TEST102: Open(broken) O_CREAT|O_EXCL|O_APPEND|O_WRONLY
    - open_file -c -e -a /mnt/a/pointless102 -E EEXIST
    TEST103: Open(broken) O_CREAT|O_EXCL|O_RDWR
    - open_file -c -e -r -w /mnt/a/pointless103 -E EEXIST
    TEST104: Open(broken) O_CREAT|O_EXCL|O_APPEND|O_RDWR
    - open_file -c -e -r -a /mnt/a/pointless104 -E EEXIST
    ***
    *** ./run.sh symx-creat-trunc.test
    ***
    umount: /mnt: not mounted
    TEST100: Open(broken) O_CREAT|O_TRUNC|O_RDONLY
    - open_file -c -t -r /mnt/a/pointless100 -R
    - open_file -r /mnt/a/no_foo100 -R
    TEST101: Open(broken) O_CREAT|O_TRUNC|O_WRONLY
    - open_file -c -t -w /mnt/a/pointless101 -W q
    - open_file -r /mnt/a/no_foo101 -R q
    TEST102: Open(broken) O_CREAT|O_TRUNC|O_APPEND|O_WRONLY
    - open_file -c -t -a /mnt/a/pointless102 -W q
    - open_file -r /mnt/a/no_foo102 -R q
    TEST103: Open(broken) O_CREAT|O_TRUNC|O_RDWR
    - open_file -c -t -r -w /mnt/a/pointless103 -W q
    - open_file -r /mnt/a/no_foo103 -R q
    TEST104: Open(broken) O_CREAT|O_TRUNC|O_APPEND|O_RDWR
    - open_file -c -t -r -a /mnt/a/pointless104 -W q
    - open_file -r /mnt/a/no_foo104 -R q
    ***
    *** ./run.sh truncate.test
    ***
    umount: /mnt: not mounted
    TEST129: Prepare comparison
    16+0 records in
    16+0 records out
    TEST100: Truncate to 0
    - fs_op truncate /mnt/a/foo100 0
    TEST101: Truncate to 1
    - fs_op truncate /mnt/a/foo101 1
    TEST102: Truncate to 2
    - fs_op truncate /mnt/a/foo102 2
    TEST103: Truncate to 3
    - fs_op truncate /mnt/a/foo103 3
    TEST104: Truncate to 4
    - fs_op truncate /mnt/a/foo104 4
    TEST105: Truncate to 5
    - fs_op truncate /mnt/a/foo105 5
    TEST106: Truncate to 6
    - fs_op truncate /mnt/a/foo106 6
    TEST107: Truncate to 7
    - fs_op truncate /mnt/a/foo107 7
    TEST108: Truncate to 8
    - fs_op truncate /mnt/a/foo108 8
    TEST109: Truncate to 9
    - fs_op truncate /mnt/a/foo109 9
    TEST110: Truncate to 10
    - fs_op truncate /mnt/a/foo110 10
    TEST111: Truncate to 11
    - fs_op truncate /mnt/a/foo111 11
    TEST112: Truncate to 12
    - fs_op truncate /mnt/a/foo112 12
    TEST113: Truncate to 13
    - fs_op truncate /mnt/a/foo113 13
    TEST114: Truncate to 14
    - fs_op truncate /mnt/a/foo114 14
    TEST115: Truncate to 15
    - fs_op truncate /mnt/a/foo115 15
    TEST116: Truncate to 16
    - fs_op truncate /mnt/a/foo116 16
    TEST117: Truncate to 17
    - fs_op truncate /mnt/a/foo117 17
    TEST118: Truncate to 18
    - fs_op truncate /mnt/a/foo118 18
    TEST119: Truncate to 19
    - fs_op truncate /mnt/a/foo119 19
    TEST120: Truncate to 20
    - fs_op truncate /mnt/a/foo120 20
    TEST121: Truncate to 21
    - fs_op truncate /mnt/a/foo121 21
    TEST122: Truncate to 22
    - fs_op truncate /mnt/a/foo122 22
    TEST123: Truncate to 23
    - fs_op truncate /mnt/a/foo123 23
    TEST124: Truncate to 24
    - fs_op truncate /mnt/a/foo124 24
    TEST125: Truncate to 25
    - fs_op truncate /mnt/a/foo125 25
    TEST126: Truncate to 26
    - fs_op truncate /mnt/a/foo126 26
    TEST127: Truncate to 27
    - fs_op truncate /mnt/a/foo127 27
    TEST128: Truncate to 28
    - fs_op truncate /mnt/a/foo128 28
    ***
    *** ./run.sh dir-open.test
    ***
    umount: /mnt: not mounted
    TEST100: Open O_RDONLY
    - open_file -r /mnt/a/dir100
    - open_file -r /mnt/a/dir100
    TEST101: Open O_WRONLY
    - open_file -w /mnt/a/dir101 -E EISDIR
    - open_file -r /mnt/a/dir101
    - open_file -w /mnt/a/dir101 -E EISDIR
    - open_file -r /mnt/a/dir101
    TEST102: Open O_WRONLY * 2
    - open_file -w /mnt/a/dir102 -E EISDIR
    - open_file -w /mnt/a/dir102 -E EISDIR
    - open_file -r /mnt/a/dir102
    TEST103: Open O_APPEND|O_WRONLY
    - open_file -a /mnt/a/dir103 -E EISDIR
    - open_file -r /mnt/a/dir103
    - open_file -a /mnt/a/dir103 -E EISDIR
    - open_file -r /mnt/a/dir103
    TEST104: Open O_RDWR
    - open_file -r -w /mnt/a/dir104 -E EISDIR
    - open_file -r /mnt/a/dir104
    - open_file -r -w /mnt/a/dir104 -E EISDIR
    - open_file -r /mnt/a/dir104
    TEST105: Open O_APPEND|O_RDWR
    - open_file -r -a /mnt/a/dir105 -E EISDIR
    - open_file -r /mnt/a/dir105
    - open_file -r -a /mnt/a/dir105 -E EISDIR
    - open_file -r /mnt/a/dir105
    ***
    *** ./run.sh dir-weird-open.test
    ***
    umount: /mnt: not mounted
    TEST100: Open O_RDONLY | O_CREAT
    - open_file -r -c /mnt/a/dir100 -E EISDIR
    - open_file -r /mnt/a/dir100
    TEST101: Open O_RDONLY | O_CREAT | O_EXCL
    - open_file -r -c -e /mnt/a/dir101 -E EEXIST
    - open_file -r /mnt/a/dir101
    TEST102: Open O_RDONLY | O_TRUNC
    - open_file -r -t /mnt/a/dir102 -E EISDIR
    - open_file -r /mnt/a/dir102
    TEST103: Open O_RDONLY | O_TRUNC | O_CREAT
    - open_file -r -t -c /mnt/a/dir103 -E EISDIR
    - open_file -r /mnt/a/dir103
    TEST104: Open O_RDONLY | O_TRUNC | O_CREAT | O_EXCL
    - open_file -r -t -c -e /mnt/a/dir104 -E EEXIST
    - open_file -r /mnt/a/dir104
    TEST105: Open O_RDONLY | O_CREAT
    - open_file -w -c /mnt/a/dir105 -E EISDIR
    - open_file -r /mnt/a/dir105
    TEST106: Open O_RDONLY | O_CREAT | O_EXCL
    - open_file -w -c -e /mnt/a/dir106 -E EEXIST
    - open_file -r /mnt/a/dir106
    TEST107: Open O_RDONLY | O_TRUNC
    - open_file -w -t /mnt/a/dir107 -E EISDIR
    - open_file -r /mnt/a/dir107
    TEST108: Open O_RDONLY | O_TRUNC | O_CREAT
    - open_file -w -t -c /mnt/a/dir108 -E EISDIR
    - open_file -r /mnt/a/dir108
    TEST109: Open O_RDONLY | O_TRUNC | O_CREAT | O_EXCL
    - open_file -w -t -c -e /mnt/a/dir109 -E EEXIST
    - open_file -r /mnt/a/dir109
    ***
    *** ./run.sh dir-open-dir.test
    ***
    umount: /mnt: not mounted
    TEST100: Open O_DIRECTORY | O_RDONLY
    - open_file -d -r /mnt/a/dir100
    - open_file -d -r /mnt/a/dir100
    TEST101: Open O_DIRECTORY | O_WRONLY
    - open_file -d -w /mnt/a/dir101 -E EISDIR
    - open_file -d -r /mnt/a/dir101
    - open_file -d -w /mnt/a/dir101 -E EISDIR
    - open_file -d -r /mnt/a/dir101
    TEST102: Open O_DIRECTORY | O_WRONLY * 2
    - open_file -d -w /mnt/a/dir102 -E EISDIR
    - open_file -d -w /mnt/a/dir102 -E EISDIR
    - open_file -d -r /mnt/a/dir102
    TEST103: Open O_DIRECTORY | O_APPEND|O_WRONLY
    - open_file -d -a /mnt/a/dir103 -E EISDIR
    - open_file -d -r /mnt/a/dir103
    - open_file -d -a /mnt/a/dir103 -E EISDIR
    - open_file -d -r /mnt/a/dir103
    TEST104: Open O_DIRECTORY | O_RDWR
    - open_file -d -r -w /mnt/a/dir104 -E EISDIR
    - open_file -d -r /mnt/a/dir104
    - open_file -d -r -w /mnt/a/dir104 -E EISDIR
    - open_file -d -r /mnt/a/dir104
    TEST105: Open O_DIRECTORY | O_APPEND|O_RDWR
    - open_file -d -r -a /mnt/a/dir105 -E EISDIR
    - open_file -d -r /mnt/a/dir105
    - open_file -d -r -a /mnt/a/dir105 -E EISDIR
    - open_file -d -r /mnt/a/dir105
    ***
    *** ./run.sh dir-weird-open-dir.test
    ***
    umount: /mnt: not mounted
    TEST100: Open O_DIRECTORY | O_RDONLY | O_CREAT
    - open_file -d -r -c /mnt/a/dir100 -E EISDIR
    - open_file -d -r /mnt/a/dir100
    TEST101: Open O_DIRECTORY | O_RDONLY | O_CREAT | O_EXCL
    - open_file -d -r -c -e /mnt/a/dir101 -E EEXIST
    - open_file -d -r /mnt/a/dir101
    TEST102: Open O_DIRECTORY | O_RDONLY | O_TRUNC
    - open_file -d -r -t /mnt/a/dir102 -E EISDIR
    - open_file -d -r /mnt/a/dir102
    TEST103: Open O_DIRECTORY | O_RDONLY | O_TRUNC | O_CREAT
    - open_file -d -r -t -c /mnt/a/dir103 -E EISDIR
    - open_file -d -r /mnt/a/dir103
    TEST104: Open O_DIRECTORY | O_RDONLY | O_TRUNC | O_CREAT | O_EXCL
    - open_file -d -r -t -c -e /mnt/a/dir104 -E EEXIST
    - open_file -d -r /mnt/a/dir104
    TEST105: Open O_DIRECTORY | O_RDONLY | O_CREAT
    - open_file -d -w -c /mnt/a/dir105 -E EISDIR
    - open_file -d -r /mnt/a/dir105
    TEST106: Open O_DIRECTORY | O_RDONLY | O_CREAT | O_EXCL
    - open_file -d -w -c -e /mnt/a/dir106 -E EEXIST
    - open_file -d -r /mnt/a/dir106
    TEST107: Open O_DIRECTORY | O_RDONLY | O_TRUNC
    - open_file -d -w -t /mnt/a/dir107 -E EISDIR
    - open_file -d -r /mnt/a/dir107
    TEST108: Open O_DIRECTORY | O_RDONLY | O_TRUNC | O_CREAT
    - open_file -d -w -t -c /mnt/a/dir108 -E EISDIR
    - open_file -d -r /mnt/a/dir108
    TEST109: Open O_DIRECTORY | O_RDONLY | O_TRUNC | O_CREAT | O_EXCL
    - open_file -d -w -t -c -e /mnt/a/dir109 -E EEXIST
    - open_file -d -r /mnt/a/dir109
    ***
    *** ./run.sh dir-sym1-open.test
    ***
    umount: /mnt: not mounted
    TEST100: Open(dir symlink) O_RDONLY
    - open_file -r /mnt/a/direct_dir_sym100
    - open_file -r /mnt/a/direct_dir_sym100
    TEST101: Open(dir symlink) O_WRONLY
    - open_file -w /mnt/a/direct_dir_sym101 -E EISDIR
    - open_file -r /mnt/a/direct_dir_sym101
    - open_file -w /mnt/a/direct_dir_sym101 -E EISDIR
    - open_file -r /mnt/a/direct_dir_sym101
    TEST102: Open(dir symlink) O_APPEND|O_WRONLY
    - open_file -a /mnt/a/direct_dir_sym102 -E EISDIR
    - open_file -r /mnt/a/direct_dir_sym102
    - open_file -a /mnt/a/direct_dir_sym102 -E EISDIR
    - open_file -r /mnt/a/direct_dir_sym102
    TEST103: Open(dir symlink) O_RDWR
    - open_file -r -w /mnt/a/direct_dir_sym103 -E EISDIR
    - open_file -r /mnt/a/direct_dir_sym103
    - open_file -r -w /mnt/a/direct_dir_sym103 -E EISDIR
    - open_file -r /mnt/a/direct_dir_sym103
    TEST104: Open(dir symlink) O_APPEND|O_RDWR
    - open_file -r -a /mnt/a/direct_dir_sym104 -E EISDIR
    - open_file -r /mnt/a/direct_dir_sym104
    - open_file -r -a /mnt/a/direct_dir_sym104 -E EISDIR
    - open_file -r /mnt/a/direct_dir_sym104
    ***
    *** ./run.sh dir-sym1-weird-open.test
    ***
    umount: /mnt: not mounted
    TEST100: Open(dir symlink) O_RDONLY | O_CREAT
    - open_file -r -c /mnt/a/direct_dir_sym100 -E EISDIR
    - open_file -r /mnt/a/direct_dir_sym100
    TEST101: Open(dir symlink) O_RDONLY | O_CREAT | O_EXCL
    - open_file -r -c -e /mnt/a/direct_dir_sym101 -E EEXIST
    - open_file -r /mnt/a/direct_dir_sym101
    TEST102: Open(dir symlink) O_RDONLY | O_TRUNC
    - open_file -r -t /mnt/a/direct_dir_sym102 -E EISDIR
    - open_file -r /mnt/a/direct_dir_sym102
    TEST103: Open(dir symlink) O_RDONLY | O_TRUNC | O_CREAT
    - open_file -r -t -c /mnt/a/direct_dir_sym103 -E EISDIR
    - open_file -r /mnt/a/direct_dir_sym103
    TEST104: Open(dir symlink) O_RDONLY | O_TRUNC | O_CREAT | O_EXCL
    - open_file -r -t -c -e /mnt/a/direct_dir_sym104 -E EEXIST
    - open_file -r /mnt/a/direct_dir_sym104
    TEST105: Open(dir symlink) O_WRONLY | O_CREAT
    - open_file -w -c /mnt/a/direct_dir_sym105 -E EISDIR
    - open_file -r /mnt/a/direct_dir_sym105
    TEST106: Open(dir symlink) O_WRONLY | O_CREAT | O_EXCL
    - open_file -w -c -e /mnt/a/direct_dir_sym106 -E EEXIST
    - open_file -r /mnt/a/direct_dir_sym106
    TEST107: Open(dir symlink) O_WRONLY | O_TRUNC
    - open_file -w -t /mnt/a/direct_dir_sym107 -E EISDIR
    - open_file -r /mnt/a/direct_dir_sym107
    TEST108: Open(dir symlink) O_WRONLY | O_TRUNC | O_CREAT
    - open_file -w -t -c /mnt/a/direct_dir_sym108 -E EISDIR
    - open_file -r /mnt/a/direct_dir_sym108
    TEST109: Open(dir symlink) O_WRONLY | O_TRUNC | O_CREAT | O_EXCL
    - open_file -w -t -c -e /mnt/a/direct_dir_sym109 -E EEXIST
    - open_file -r /mnt/a/direct_dir_sym109
    ***
    *** ./run.sh dir-sym2-open.test
    ***
    umount: /mnt: not mounted
    TEST100: Open(dir symlink) O_RDONLY
    - open_file -r /mnt/a/indirect_dir_sym100
    - open_file -r /mnt/a/indirect_dir_sym100
    TEST101: Open(dir symlink) O_WRONLY
    - open_file -w /mnt/a/indirect_dir_sym101 -E EISDIR
    - open_file -r /mnt/a/indirect_dir_sym101
    - open_file -w /mnt/a/indirect_dir_sym101 -E EISDIR
    - open_file -r /mnt/a/indirect_dir_sym101
    TEST102: Open(dir symlink) O_APPEND|O_WRONLY
    - open_file -a /mnt/a/indirect_dir_sym102 -E EISDIR
    - open_file -r /mnt/a/indirect_dir_sym102
    - open_file -a /mnt/a/indirect_dir_sym102 -E EISDIR
    - open_file -r /mnt/a/indirect_dir_sym102
    TEST103: Open(dir symlink) O_RDWR
    - open_file -r -w /mnt/a/indirect_dir_sym103 -E EISDIR
    - open_file -r /mnt/a/indirect_dir_sym103
    - open_file -r -w /mnt/a/indirect_dir_sym103 -E EISDIR
    - open_file -r /mnt/a/indirect_dir_sym103
    TEST104: Open(dir symlink) O_APPEND|O_RDWR
    - open_file -r -a /mnt/a/indirect_dir_sym104 -E EISDIR
    - open_file -r /mnt/a/indirect_dir_sym104
    - open_file -r -a /mnt/a/indirect_dir_sym104 -E EISDIR
    - open_file -r /mnt/a/indirect_dir_sym104
    ***
    *** ./run.sh dir-sym2-weird-open.test
    ***
    umount: /mnt: not mounted
    TEST100: Open(dir symlink) O_RDONLY | O_CREAT
    - open_file -r -c /mnt/a/indirect_dir_sym100 -E EISDIR
    - open_file -r /mnt/a/indirect_dir_sym100
    TEST101: Open(dir symlink) O_RDONLY | O_CREAT | O_EXCL
    - open_file -r -c -e /mnt/a/indirect_dir_sym101 -E EEXIST
    - open_file -r /mnt/a/indirect_dir_sym101
    TEST102: Open(dir symlink) O_RDONLY | O_TRUNC
    - open_file -r -t /mnt/a/indirect_dir_sym102 -E EISDIR
    - open_file -r /mnt/a/indirect_dir_sym102
    TEST103: Open(dir symlink) O_RDONLY | O_TRUNC | O_CREAT
    - open_file -r -t -c /mnt/a/indirect_dir_sym103 -E EISDIR
    - open_file -r /mnt/a/indirect_dir_sym103
    TEST104: Open(dir symlink) O_RDONLY | O_TRUNC | O_CREAT | O_EXCL
    - open_file -r -t -c -e /mnt/a/indirect_dir_sym104 -E EEXIST
    - open_file -r /mnt/a/indirect_dir_sym104
    TEST105: Open(dir symlink) O_WRONLY | O_CREAT
    - open_file -w -c /mnt/a/indirect_dir_sym105 -E EISDIR
    - open_file -r /mnt/a/indirect_dir_sym105
    TEST106: Open(dir symlink) O_WRONLY | O_CREAT | O_EXCL
    - open_file -w -c -e /mnt/a/indirect_dir_sym106 -E EEXIST
    - open_file -r /mnt/a/indirect_dir_sym106
    TEST107: Open(dir symlink) O_WRONLY | O_TRUNC
    - open_file -w -t /mnt/a/indirect_dir_sym107 -E EISDIR
    - open_file -r /mnt/a/indirect_dir_sym107
    TEST108: Open(dir symlink) O_WRONLY | O_TRUNC | O_CREAT
    - open_file -w -t -c /mnt/a/indirect_dir_sym108 -E EISDIR
    - open_file -r /mnt/a/indirect_dir_sym108
    TEST109: Open(dir symlink) O_WRONLY | O_TRUNC | O_CREAT | O_EXCL
    - open_file -w -t -c -e /mnt/a/indirect_dir_sym109 -E EEXIST
    - open_file -r /mnt/a/indirect_dir_sym109
    ***
    *** ./run.sh readlink.test
    ***
    umount: /mnt: not mounted
    Readlink file
    - fs_op readlink /mnt/a/foo100 -E EINVAL
    Readlink direct symlink to file
    - fs_op readlink /mnt/a/direct_sym100 -R ../a/foo100
    Readlink indirect symlink to file
    - fs_op readlink /mnt/a/indirect_sym100 -R direct_sym100
    Readlink dir
    - fs_op readlink /mnt/a/dir100 -E EINVAL
    Readlink direct symlink to dir
    - fs_op readlink /mnt/a/direct_dir_sym100 -R ../a/dir100
    Readlink indirect symlink to dir
    - fs_op readlink /mnt/a/indirect_dir_sym100 -R /mnt/a/direct_dir_sym100
    Readlink absent file
    - fs_op readlink /mnt/a/no_foo100 -E ENOENT
    Readlink broken symlink to absent file
    - fs_op readlink /mnt/a/pointless100 -R no_foo100
    Readlink broken symlink
    - fs_op readlink /mnt/a/pointless101 -R no_foo101
    Readlink absent file pointed to by broken symlink
    - fs_op readlink /mnt/a/no_foo101 -E ENOENT
    ***
    *** ./run.sh impermissible.test
    ***
    umount: /mnt: not mounted
    TEST100: Impermissible open O_TRUNC|O_WRONLY
    - open_file_as_bin -t -w /mnt/a/rootfile100 -E EACCES
    - open_file_as_bin -w /mnt/a/rootfile100 -E EACCES
    - open_file_as_bin -r /mnt/a/rootfile100 -R :xxx:yyy:zzz
    - open_file -r /mnt/a/rootfile100 -R :xxx:yyy:zzz
    - open_file -w /mnt/a/rootfile100 -W shark
    - open_file -r /mnt/a/rootfile100 -R sharkyyy:zzz
    - open_file_as_bin -r /mnt/a/rootfile100 -R sharkyyy:zzz
    TEST101: Impermissible open O_WRONLY
    - open_file_as_bin -w /mnt/a/rootfile101 -E EACCES
    - open_file_as_bin -w /mnt/a/rootfile101 -E EACCES
    - open_file_as_bin -r /mnt/a/rootfile101 -R :xxx:yyy:zzz
    - open_file -r /mnt/a/rootfile101 -R :xxx:yyy:zzz
    - open_file -w /mnt/a/rootfile101 -W shark
    - open_file -r /mnt/a/rootfile101 -R sharkyyy:zzz
    - open_file_as_bin -r /mnt/a/rootfile101 -R sharkyyy:zzz
    TEST102: Impermissible open O_APPEND
    - open_file_as_bin -a /mnt/a/rootfile102 -E EACCES
    - open_file_as_bin -a /mnt/a/rootfile102 -E EACCES
    - open_file_as_bin -r /mnt/a/rootfile102 -R :xxx:yyy:zzz
    - open_file -r /mnt/a/rootfile102 -R :xxx:yyy:zzz
    - open_file -a /mnt/a/rootfile102 -W shark
    - open_file -r /mnt/a/rootfile102 -R :xxx:yyy:zzzshark
    - open_file_as_bin -r /mnt/a/rootfile102 -R :xxx:yyy:zzzshark
    TEST103: Impermissible truncate
    - fs_op_as_bin truncate /mnt/a/rootfile103 4 -E EACCES
    - fs_op_as_bin truncate /mnt/a/rootfile103 4 -E EACCES
    - open_file_as_bin -r /mnt/a/rootfile103 -R :xxx:yyy:zzz
    - open_file -r /mnt/a/rootfile103 -R :xxx:yyy:zzz
    - fs_op truncate /mnt/a/rootfile103 4
    - open_file -r /mnt/a/rootfile103 -R :xxx
    - open_file_as_bin -r /mnt/a/rootfile103 -R :xxx
    TEST104: Impermissible utimes
    - fs_op_as_bin utimes /mnt/a/rootfile104 -E EACCES
    /mnt/a/rootfile104: Test file not on upper filesystem (line 130)
    \
     
     \ /
      Last update: 2014-05-30 07:01    [W:9.191 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site