/* COVERAGE: open close creat */ #define _GNU_SOURCE #include #include #include #include #include #include int main() { int fd1, fd2; fd2 = creat("foobar1",S_IREAD|S_IWRITE); // open ("foobar1", O_WRONLY|O_CREAT|O_TRUNC, 0600) = NNNN fd1 = open("foobar2",O_WRONLY|O_CREAT, S_IRWXU); // open ("foobar2", O_WRONLY|O_CREAT, 0700) = NNNN close(fd1); // close (NNNN) = 0 fd1 = open("foobar2",O_RDONLY); // open ("foobar2", O_RDONLY) = NNNN close(fd1); // close (NNNN) = 0 fd1 = open("foobar2",O_RDWR); // open ("foobar2", O_RDWR) = NNNN close(fd1); // close (NNNN) = 0 fd1 = open("foobar2",O_APPEND|O_WRONLY); // open ("foobar2", O_WRONLY|O_APPEND) = NNNN close(fd1); // close (NNNN) = 0 fd1 = open("foobar2",O_DIRECT|O_RDWR); // open ("foobar2", O_RDWR|O_DIRECT) = NNNN close(fd1); // close (NNNN) = 0 fd1 = open("foobar2",O_NOATIME|O_SYNC|O_RDWR); // open ("foobar2", O_RDWR|O_NOATIME|O_SYNC) = NNNN close(fd1); // close (NNNN) = 0 /* Now test some bad opens */ fd1 = open("/",O_WRONLY); // open ("/", O_WRONLY) = -NNNN (EISDIR) close (fd1); // close (NNNN) = -NNNN (EBADF) fd1 = open("foobar2",O_WRONLY|O_CREAT|O_EXCL, S_IRWXU); // open ("foobar2", O_WRONLY|O_CREAT|O_EXCL, 0700) = -NNNN (EEXIST) return 0; }