Index: third_party/lcov/descriptions.tests |
=================================================================== |
--- third_party/lcov/descriptions.tests (revision 0) |
+++ third_party/lcov/descriptions.tests (revision 0) |
@@ -0,0 +1,2990 @@ |
+personality01 |
+ Check that we can set the personality for a process. |
+personality02 |
+ Check that we get EINVAL for a bad personality. |
+exit01 |
+ Check that exit returns the correct values to the waiting parent |
+exit02 |
+ Check that exit flushes output file buffers and closes files upon |
+ exiting |
+wait02 |
+ Basic test for wait(2) system call. |
+wait401 |
+ check that a call to wait4() correctly waits for a child |
+ process to exit |
+wait402 |
+ check for ECHILD errno when using an illegal pid value |
+ |
+waitpid01 |
+ Check that when a child kills itself by generating an alarm |
+ exception, the waiting parent is correctly notified. |
+waitpid02 |
+ Check that when a child kills itself by generating an integer zero |
+ divide exception, the waiting parent is correctly notified. |
+waitpid03 |
+ Check that parent waits until specific child has returned. |
+waitpid04 |
+ test to check the error conditions in waitpid sys call |
+waitpid05 |
+ Check that when a child kills itself with a kill statement after |
+ determining its process id by using getpid, the parent receives a |
+ correct report of the cause of its death. This also indirectly |
+ checks that getpid returns the correct process id. |
+waitpid06 |
+ Tests to see if pid's returned from fork and waitpid are same. |
+waitpid07 |
+ Tests to see if pid's returned from fork and waitpid are same. |
+waitpid08 |
+ Tests to see if pid's returned from fork and waitpid are same |
+waitpid09 |
+ Check ability of parent to wait until child returns, and that the |
+ child's process id is returned through the waitpid. Check that |
+ waitpid returns immediately if no child is present. |
+waitpid10 |
+ Tests to see if pid's returned from fork and waitpid are same |
+waitpid11 |
+ Tests to see if pid's returned from fork and waitpid are same |
+waitpid12 |
+ Tests to see if pid's returned from fork and waitpid are same |
+waitpid13 |
+ Tests to see if pid's returned from fork and waitpid are same |
+fcntl01 |
+ Test F_DUPFD, F_SETFL cmds of fcntl |
+fcntl02 |
+ Basic test for fcntl(2) using F_DUPFD argument. |
+fcntl03 |
+ Basic test for fcntl(2) using F_GETFD argument. |
+fcntl04 |
+ Basic test for fcntl(2) using F_GETFL argument. |
+fcntl05 |
+ Basic test for fcntl(2) using F_GETLK argument. |
+fcntl06 |
+ Error checking conditions for remote locking of regions of a file. |
+fcntl07 |
+ Close-On-Exec functional test. |
+fcntl07B |
+ Close-On-Exec of named pipe functional test. |
+fcntl08 |
+ Basic test for fcntl(2) using F_SETFL argument. |
+fcntl09 |
+ Basic test for fcntl(2) using F_SETLK argument. |
+fcntl10 |
+ Basic test for fcntl(2) using F_SETLKW argument. |
+fcntl11 |
+ Testcase to check locking of regions of a file |
+ |
+fcntl12 |
+ |
+ Testcase to test that fcntl() sets EMFILE for F_DUPFD command. |
+ |
+fcntl13 |
+ |
+ Testcase to test that fcntl() sets errno correctly. |
+ |
+fcntl14 |
+ |
+ File locking test cases for fcntl. In Linux, S_ENFMT is not implemented |
+ in the kernel. However all standard Unix kernels define S_ENFMT as |
+ S_ISGID. So this test defines S_ENFMT as S_ISGID. |
+ |
+fcntl15 |
+ |
+ Check that file locks are removed when file closed |
+ |
+fcntl16 |
+ |
+ Additional file locking test cases for checking proper notification |
+ of processes on lock change |
+ |
+fcntl17 |
+ |
+ Check deadlock detection for file locking |
+ |
+fcntl18 |
+ |
+ Test to check the error conditions in fcntl system call |
+ |
+fcntl19 |
+ |
+ Testcase to check locking of regions of a file |
+ |
+fcntl20 |
+ |
+ Check locking of regions of a file |
+ |
+fcntl21 |
+ |
+ Check locking of regions of a file |
+ |
+dup01 |
+ |
+ Basic test for dup(2). |
+ |
+dup02 |
+ |
+ Negative test for dup(2) with bad fd. |
+ |
+dup03 |
+ |
+ Negative test for dup(2) (too many fds). |
+ |
+dup04 |
+ |
+ Basic test for dup(2) of a system pipe descriptor. |
+ |
+dup05 |
+ |
+ Basic test for dup(2) of a named pipe descriptor. |
+ |
+dup201 |
+ |
+ Negative tests for dup2() with bad fd (EBADF), and for "too many |
+ open files" (EMFILE) |
+ |
+dup202 |
+ |
+ Is the access mode the same for both file descriptors? |
+ 0: read only ? "0444" |
+ 1: write only ? "0222" |
+ 2: read/write ? "0666" |
+ |
+dup203 |
+ |
+ Testcase to check the basic functionality of dup2(). |
+ |
+dup204 |
+ |
+ Testcase to check the basic functionality of dup2(2). |
+ |
+ |
+msync01 |
+ |
+ Verify that, msync() succeeds, when the region to synchronize, is part |
+ of, or all of a mapped region. |
+ |
+msync02 |
+ |
+ Verify that msync() succeeds when the region to synchronize is mapped |
+ shared and the flags argument is MS_INVALIDATE. |
+ |
+msync03 |
+ |
+ Verify that, msync() fails, when the region to synchronize, is outside |
+ the address space of the process. |
+ |
+msync04 |
+ |
+ Verify that, msync() fails, when the region to synchronize, is mapped |
+ but the flags argument is invalid. |
+ |
+msync05 |
+ |
+ Verify that, msync() fails, when the region to synchronize, was not |
+ mapped. |
+ |
+ |
+sendfile02 |
+ |
+ Testcase to test the basic functionality of the sendfile(2) system call. |
+ |
+sendfile03 |
+ |
+ Testcase to test that sendfile(2) system call returns appropriate |
+ errnos on error. |
+ |
+fork01 |
+ Basic test for fork(2). |
+fork02 |
+ Test correct operation of fork: |
+ pid == 0 in child; |
+ pid > 0 in parent from wait; |
+fork03 |
+ Check that child can use a large text space and do a large |
+ number of operations. |
+fork04 |
+ Child inheritance of Environment Variables after fork(). |
+fork05 |
+ Make sure LDT is propagated correctly |
+fork06 |
+ Test that a process can fork children a large number of |
+ times in succession |
+fork07 |
+ Check that all children inherit parent's file descriptor |
+fork08 |
+ Check if the parent's file descriptors are affected by |
+ actions in the child; they should not be. |
+fork09 |
+ Check that child has access to a full set of files. |
+fork10 |
+ Check inheritance of file descriptor by children, they |
+ should all be referring to the same file. |
+fork11 |
+ Test that parent gets a pid from each child when doing wait |
+vfork01 |
+ Fork a process using vfork() and verify that, the attribute values like |
+ euid, ruid, suid, egid, rgid, sgid, umask, inode and device number of |
+ root and current working directories are same as that of the parent |
+ process. |
+vfork02 |
+ Fork a process using vfork() and verify that, the pending signals in |
+ the parent are not pending in the child process. |
+ioctl01 |
+ |
+ Testcase to check the errnos set by the ioctl(2) system call. |
+ |
+ioctl02 |
+ |
+ Testcase to test the TCGETA, and TCSETA ioctl implementations for |
+ the tty driver |
+ |
+sockioctl01 |
+ |
+ Verify that ioctl() on sockets returns the proper errno for various |
+ failure cases |
+ |
+getitimer01 |
+ check that a correct call to getitimer() succeeds |
+ |
+ |
+getitimer02 |
+ check that a getitimer() call fails as expected |
+ with an incorrect second argument. |
+ |
+getitimer03 |
+ check that a getitimer() call fails as expected |
+ with an incorrect first argument. |
+ |
+setitimer01 |
+ check that a reasonable setitimer() call succeeds. |
+ |
+ |
+setitimer02 |
+ check that a setitimer() call fails as expected |
+ with incorrect values. |
+ |
+setitimer03 |
+ check that a setitimer() call fails as expected |
+ with incorrect values. |
+ |
+float_trigo |
+ increase CPUs workload - verify that results of some math functions are stable |
+ trigonometric (acos, asin, atan, atan2, cos, sin, tan), |
+ hyperbolic (cosh, sinh, tanh), |
+ |
+float_exp_log |
+ increase CPUs workload - verify that results of some math functions are stable |
+ exponential and logarithmic functions (exp, log, log10), |
+ Functions that manipulate floating-point numbers (modf, ldexp, frexp), |
+ Euclidean distance function (hypot), |
+ |
+float_bessel |
+ increase CPUs workload - verify that results of some math functions are stable |
+ Bessel (j0, j1, y0, y1), |
+ Computes the natural logarithm of the gamma function (lgamma), |
+ |
+fload_power |
+ increase CPUs workload - verify that results of some math functions are stable |
+ Computes sqrt, power, fmod |
+ |
+float_iperb |
+ increase CPUs workload - verify that results of some math functions are stable |
+pth_str01 |
+ |
+ Creates a tree of threads |
+ |
+pth_str02 |
+ |
+ Creates n threads |
+ |
+pth_str03 |
+ |
+ Creates a tree of threads does calculations, and |
+ returns result to parent |
+ |
+ |
+asyncio02 |
+ |
+ Write/close flushes data to the file. |
+ |
+ |
+fpathconf |
+ |
+ Basic test for fpathconf(2) |
+ |
+gethostid01 |
+ |
+ Basic test for gethostid(2) |
+ |
+ |
+pathconf01 |
+ |
+ Basic test for pathconf(2) |
+ |
+setpgrp01 |
+ |
+ Basic test for the setpgrp(2) system call. |
+ |
+setpgrp02 |
+ |
+ Testcase to check the basic functionality of the setpgrp(2) syscall. |
+ |
+ |
+ulimit01 |
+ |
+ Basic test for the ulimit(2) system call. |
+ |
+mmstress |
+ |
+ Performs General Stress with Race conditions |
+ |
+mmap1 |
+ |
+ Test the LINUX memory manager. The program is aimed at |
+ stressing the memory manager by simultaneous map/unmap/read |
+ by light weight processes, the test is scheduled to run for |
+ a minimum of 24 hours. |
+ |
+mmap2 |
+ |
+ Test the LINUX memory manager. The program is aimed at |
+ stressing the memory manager by repeated map/write/unmap of a |
+ of a large gb size file. |
+ |
+mmap3 |
+ |
+ Test the LINUX memory manager. The program is aimed at |
+ stressing the memory manager by repeated map/write/unmap |
+ of file/memory of random size (maximum 1GB) this is done by |
+ multiple processes. |
+ |
+mmap001 |
+ |
+ Tests mmapping a big file and writing it once |
+ |
+mmap01 |
+ |
+ Verify that, mmap() succeeds when used to map a file where size of the |
+ file is not a multiple of the page size, the memory area beyond the end |
+ of the file to the end of the page is accessible. Also, verify that |
+ this area is all zeroed and the modifications done to this area are |
+ not written to the file. |
+ |
+mmap02 |
+ |
+ Call mmap() with prot parameter set to PROT_READ and with the file |
+ descriptor being open for read, to map a file creating mapped memory |
+ with read access. The minimum file permissions should be 0444. |
+ |
+mmap03 |
+ |
+ Call mmap() to map a file creating a mapped region with execute access |
+ under the following conditions - |
+ - The prot parameter is set to PROT_EXE |
+ - The file descriptor is open for read |
+ - The file being mapped has execute permission bit set. |
+ - The minimum file permissions should be 0555. |
+ |
+ The call should succeed to map the file creating mapped memory with the |
+ required attributes. |
+ |
+mmap04 |
+ |
+ Call mmap() to map a file creating a mapped region with read/exec access |
+ under the following conditions - |
+ - The prot parameter is set to PROT_READ|PROT_EXEC |
+ - The file descriptor is open for read |
+ - The file being mapped has read and execute permission bit set. |
+ - The minimum file permissions should be 0555. |
+ |
+ The call should succeed to map the file creating mapped memory with the |
+ required attributes. |
+ |
+ |
+mmap05 |
+ |
+ Call mmap() to map a file creating mapped memory with no access under |
+ the following conditions - |
+ - The prot parameter is set to PROT_NONE |
+ - The file descriptor is open for read(any mode other than write) |
+ - The minimum file permissions should be 0444. |
+ |
+ The call should succeed to map the file creating mapped memory with the |
+ required attributes. |
+ |
+mmap06 |
+ |
+ Call mmap() to map a file creating a mapped region with read access |
+ under the following conditions - |
+ - The prot parameter is set to PROT_READ |
+ - The file descriptor is open for writing. |
+ |
+ The call should fail to map the file. |
+ |
+ |
+mmap07 |
+ |
+ Call mmap() to map a file creating a mapped region with read access |
+ under the following conditions - |
+ - The prot parameter is set to PROT_WRITE |
+ - The file descriptor is open for writing. |
+ - The flags parameter has MAP_PRIVATE set. |
+ |
+ The call should fail to map the file. |
+ |
+mmap08 |
+ |
+ Verify that mmap() fails to map a file creating a mapped region |
+ when the file specified by file descriptor is not valid. |
+ |
+ |
+mremap01 |
+ |
+ Verify that, mremap() succeeds when used to expand the existing |
+ virtual memory mapped region to the requested size where the |
+ virtual memory area was previously mapped to a file using mmap(). |
+ |
+mremap02 |
+ |
+ Verify that, |
+ mremap() fails when used to expand the existing virtual memory mapped |
+ region to the requested size, if the virtual memory area previously |
+ mapped was not page aligned or invalid argument specified. |
+ |
+mremap03 |
+ |
+ Verify that, |
+ mremap() fails when used to expand the existing virtual memory mapped |
+ region to the requested size, if there already exists mappings that |
+ cover the whole address space requested or the old address specified was |
+ not mapped. |
+ |
+mremap04 |
+ |
+ Verify that, |
+ mremap() fails when used to expand the existing virtual memory mapped |
+ region to the requested size, if the memory area cannot be expanded at |
+ the current virtual address and MREMAP_MAYMOVE flag not set. |
+ |
+munmap01 |
+ |
+ Verify that, munmap call will succeed to unmap a mapped file or |
+ anonymous shared memory region from the calling process's address space |
+ and after successful completion of munmap, the unmapped region is no |
+ longer accessible. |
+ |
+munmap02 |
+ |
+ Verify that, munmap call will succeed to unmap a mapped file or |
+ anonymous shared memory region from the calling process's address space |
+ if the region specified by the address and the length is part or all of |
+ the mapped region. |
+ |
+munmap03 |
+ |
+ Verify that, munmap call will fail to unmap a mapped file or anonymous |
+ shared memory region from the calling process's address space if the |
+ address and the length of the region to be unmapped points outside the |
+ calling process's address space |
+ |
+brk01 |
+ Test the basic functionality of brk. |
+ |
+sbrk01 |
+ Basic test for the sbrk(2) system call. |
+ |
+ |
+mprotect01 |
+ |
+ Testcase to check the error conditions for mprotect(2) |
+ |
+mprotect02 |
+ |
+ Testcase to check the mprotect(2) system call. |
+ |
+mprotect03 |
+ |
+ Testcase to check the mprotect(2) system call. |
+ |
+msgctl01 |
+ create a message queue, then issue the IPC_STAT command |
+ and RMID commands to test the functionality |
+ |
+ |
+msgctl02 |
+ create a message queue, then issue the IPC_SET command |
+ to lower the msg_qbytes value. |
+ |
+ |
+msgctl03 |
+ create a message queue, then issue the IPC_RMID command |
+ |
+ |
+ |
+msgctl04 |
+ test for EACCES, EFAULT and EINVAL errors using |
+ a variety of incorrect calls. |
+ |
+ |
+msgctl05 |
+ test for EPERM error |
+ |
+ |
+ |
+msgget01 |
+ create a message queue, write a message to it and |
+ read it back. |
+ |
+ |
+msgget02 |
+ test for EEXIST and ENOENT errors |
+ |
+ |
+msgget03 |
+ test for an ENOSPC error by using up all available |
+ message queues. |
+ |
+msgget04 |
+ test for an EACCES error by creating a message queue |
+ with no read or write permission and then attempting |
+ to access it with various permissions. |
+ |
+msgrcv01 |
+ test that msgrcv() receives the expected message |
+ |
+msgrcv02 |
+ test for EACCES and EFAULT errors |
+ |
+msgrcv03 |
+ test for EINVAL error |
+ |
+msgrcv04 |
+ test for E2BIG and ENOMSG errors |
+ |
+msgrcv05 |
+ test for EINTR error |
+ |
+msgrcv06 |
+ test for EIDRM error |
+ |
+msgsnd01 |
+ test that msgsnd() enqueues a message correctly |
+ |
+msgsnd02 |
+ test for EACCES and EFAULT errors |
+ |
+msgsnd03 |
+ test for EINVAL error |
+ |
+msgsnd04 |
+ test for EAGAIN error |
+ |
+msgsnd05 |
+ test for EINTR error |
+ |
+ |
+msgsnd06 |
+ test for EIDRM error |
+ |
+link02 |
+ |
+ Basic test for link(2) |
+ |
+link03 |
+ |
+ Multi links tests |
+ |
+link04 |
+ |
+ Negative test cases for link(2) |
+ |
+link05 |
+ |
+ Multi links (EMLINK) negative test |
+ |
+readlink01 |
+ |
+ Verify that, readlink will succeed to read the contents of the symbolic |
+ link created the process. |
+ |
+readlink02 |
+ |
+ Basic test for the readlink(2) system call |
+ |
+readlink03 |
+ |
+ Verify that, |
+ 1) readlink(2) returns -1 and sets errno to EACCES if search/write |
+ permission is denied in the directory where the symbolic link |
+ resides. |
+ 2) readlink(2) returns -1 and sets errno to EINVAL if the buffer size |
+ is not positive. |
+ 3) readlink(2) returns -1 and sets errno to EINVAL if the specified |
+ file is not a symbolic link file. |
+ 4) readlink(2) returns -1 and sets errno to ENAMETOOLONG if the |
+ pathname component of symbolic link is too long (ie, > PATH_MAX). |
+ 5) readlink(2) returns -1 and sets errno to ENOENT if the component of |
+ symbolic link points to an empty string. |
+ |
+readlink04 |
+ |
+ Verify that, readlink call will succeed to read the contents of the |
+ symbolic link if invoked by non-root user who is not the owner of the |
+ symbolic link. |
+ |
+ |
+symlink01 |
+ |
+ Test of various file function calls, such as rename or open, on a symbolic |
+ link file. |
+ |
+symlink02 |
+ |
+ Basic test for the symlink(2) system call. |
+ |
+symlink03 |
+ |
+ Verify that, |
+ 1) symlink(2) returns -1 and sets errno to EACCES if search/write |
+ permission is denied in the directory where the symbolic link is |
+ being created. |
+ 2) symlink(2) returns -1 and sets errno to EEXIST if the specified |
+ symbolic link already exists. |
+ 3) symlink(2) returns -1 and sets errno to EFAULT if the specified |
+ file or symbolic link points to invalid address. |
+ 4) symlink(2) returns -1 and sets errno to ENAMETOOLONG if the |
+ pathname component of symbolic link is too long (ie, > PATH_MAX). |
+ 5) symlink(2) returns -1 and sets errno to ENOTDIR if the directory |
+ component in pathname of symbolic link is not a directory. |
+ 6) symlink(2) returns -1 and sets errno to ENOENT if the component of |
+ symbolic link points to an empty string. |
+ |
+symlink04 |
+ |
+ Verify that, symlink will succeed to create a symbolic link of an existing |
+ object name path. |
+ |
+ |
+symlink05 |
+ |
+ Verify that, symlink will succeed to create a symbolic link of an |
+ non-existing object name path. |
+ |
+ |
+unlink05 |
+ |
+ Basic test for the unlink(2) system call. |
+ |
+unlink06 |
+ |
+ Test for the unlink(2) system call of a FIFO. |
+ |
+unlink07 |
+ |
+ Tests for error handling for the unlink(2) system call. |
+ |
+unlink08 |
+ |
+ More tests for error handling for the unlink(2) system call. |
+ |
+ |
+linktest |
+ |
+ Regression test for max links per file |
+ |
+rename01 |
+ |
+ This test will verify the rename(2) syscall basic functionality. |
+ Verify rename() works when the "new" file or directory does not exist. |
+ |
+rename02 |
+ |
+ Basic test for the rename(2) system call |
+ |
+rename03 |
+ |
+ This test will verify that rename(2) functions correctly |
+ when the "new" file or directory exists |
+ |
+rename04 |
+ |
+ This test will verify that rename(2) failed when newpath is |
+ a non-empty directory and return EEXIST or ENOTEMPTY |
+ |
+rename05 |
+ |
+ This test will verify that rename(2) fails with EISDIR |
+ |
+rename06 |
+ |
+ This test will verify that rename(2) failed in EINVAL |
+ |
+rename07 |
+ |
+ This test will verify that rename(2) failed in ENOTDIR |
+ |
+rename08 |
+ |
+ This test will verify that rename(2) syscall failed in EFAULT |
+ |
+rename09 |
+ |
+ check rename() fails with EACCES |
+ |
+rename10 |
+ |
+ This test will verify that rename(2) syscall fails with ENAMETOOLONG |
+ and ENOENT |
+ |
+rename11 |
+ |
+ This test will verify that rename(2) failed in EBUSY |
+ |
+rename12 |
+ |
+ check rename() fails with EPERM |
+ |
+rename13 |
+ |
+ Verify rename() return successfully and performs no other action |
+ when "old" file and "new" file link to the same file. |
+ |
+rmdir01 |
+ |
+ This test will verify that rmdir(2) syscall basic functionality. |
+ verify rmdir(2) returns a value of 0 and the directory being |
+ removed |
+ |
+rmdir02 |
+ |
+ This test will verify that rmdir(2) fail in |
+ 1. ENOTEMPTY |
+ 2. EBUSY |
+ 3. ENAMETOOLONG |
+ 4. ENOENT |
+ 5. ENOTDIR |
+ 6. EFAULT |
+ 7. EFAULT |
+ |
+rmdir03 |
+ |
+ check rmdir() fails with EPERM or EACCES |
+ |
+rmdir04 |
+ |
+ Basic test for the rmdir(2) system call |
+ |
+rmdir05 |
+ |
+ Verify that rmdir(2) returns a value of -1 and sets errno to indicate the error. |
+ |
+ |
+ |
+mkdir01 |
+ |
+ Basic errno test for mkdir(2) |
+ |
+mkdir02 |
+ |
+ This test will verify that new directory created |
+ by mkdir(2) inherits the group ID from the parent |
+ directory and S_ISGID bit, if the S_ISGID bit is set |
+ in the parent directory. |
+ |
+mkdir03 |
+ |
+ Check mkdir() with various error conditions that should produce |
+ EFAULT, ENAMETOOLONG, EEXIST, ENOENT and ENOTDIR |
+ |
+mkdir04 |
+ |
+ Attempt to create a directory in a directory having no permissions. |
+ |
+mkdir05 |
+ |
+ This test will verify the mkdir(2) syscall basic functionality |
+ |
+mkdir08 |
+ |
+ Basic test for mkdir(2) |
+ |
+ |
+mknod01 |
+ |
+ Basic test for mknod(2) |
+ |
+mknod02 |
+ |
+ Verify that mknod(2) succeeds when used to create a filesystem |
+ node with set group-ID bit set on a directory without set group-ID bit set. |
+ The node created should have set group-ID bit set and its gid should be |
+ equal to that of its parent directory. |
+ |
+mknod03 |
+ |
+ Verify that mknod(2) succeeds when used to create a filesystem |
+ node with set group-ID bit set on a directory with set group-ID bit set. |
+ The node created should have set group-ID bit set and its gid should be |
+ equal to the effective gid of the process. |
+ |
+mknod04 |
+ |
+ Verify that mknod(2) succeeds when used to create a filesystem |
+ node on a directory with set group-ID bit set. |
+ The node created should not have group-ID bit set and its gid should be |
+ equal to the effective gid of the process. |
+ |
+mknod05 |
+ |
+ Verify that mknod(2) succeeds when used by root to create a filesystem |
+ node with set group-ID bit set on a directory with set group-ID bit set. |
+ The node created should have set group-ID bit set and its gid should be |
+ equal to that of its parent directory. |
+ |
+ |
+mknod06 |
+ |
+ Verify that, |
+ 1) mknod(2) returns -1 and sets errno to EEXIST if specified path |
+ already exists. |
+ 2) mknod(2) returns -1 and sets errno to EFAULT if pathname points |
+ outside user's accessible address space. |
+ 3) mknod(2) returns -1 and sets errno to ENOENT if the directory |
+ component in pathname does not exist. |
+ 4) mknod(2) returns -1 and sets errno to ENAMETOOLONG if the pathname |
+ component was too long. |
+ 5) mknod(2) returns -1 and sets errno to ENOTDIR if the directory |
+ component in pathname is not a directory. |
+ |
+mknod07 |
+ |
+ Verify that, |
+ 1) mknod(2) returns -1 and sets errno to EPERM if the process id of |
+ the caller is not super-user. |
+ 2) mknod(2) returns -1 and sets errno to EACCES if parent directory |
+ does not allow write permission to the process. |
+ |
+mknod08 |
+ |
+ Verify that mknod(2) succeeds when used to create a filesystem |
+ node on a directory without set group-ID bit set. The node created |
+ should not have set group-ID bit set and its gid should be equal to that |
+ of its parent directory. |
+ |
+ |
+ |
+ |
+access01 |
+ |
+ Basic test for access(2) using F_OK, R_OK, W_OK, and X_OK arguments. |
+ |
+access02 |
+ |
+ Verify that access() succeeds to check the read/write/execute permissions |
+ on a file if the mode argument passed was R_OK/W_OK/X_OK. |
+ |
+ Also verify that, access() succeeds to test the accessibility of the file |
+ referred to by symbolic link if the pathname points to a symbolic link. |
+ |
+access03 |
+ |
+ EFAULT error testing for access(2). |
+ |
+access04 |
+ |
+ Verify that, |
+ 1. access() fails with -1 return value and sets errno to EACCES |
+ if the permission bits of the file mode do not permit the |
+ requested (Read/Write/Execute) access. |
+ 2. access() fails with -1 return value and sets errno to EINVAL |
+ if the specified access mode argument is invalid. |
+ 3. access() fails with -1 return value and sets errno to EFAULT |
+ if the pathname points outside allocate address space for the |
+ process. |
+ 4. access() fails with -1 return value and sets errno to ENOENT |
+ if the specified file doesn't exist (or pathname is NULL). |
+ 5. access() fails with -1 return value and sets errno to ENAMETOOLONG |
+ if the pathname size is > PATH_MAX characters. |
+ |
+access05 |
+ |
+ Verify that access() succeeds to check the existence of a file if |
+ search access is permitted on the pathname of the specified file. |
+ |
+access06 |
+ |
+ EFAULT error testing for access(2). |
+ |
+chroot01 |
+ |
+ Testcase to check the whether chroot sets errno to EPERM. |
+ |
+chroot02 |
+ |
+ Test functionality of chroot(2) |
+ |
+chroot03 |
+ |
+ Testcase to test whether chroot(2) sets errno correctly. |
+ |
+pipeio |
+ |
+ This tool can be used to beat on system or named pipes. |
+ See the help() function below for user information. |
+ |
+pipe01 |
+ |
+ Testcase to check the basic functionality of the pipe(2) syscall: |
+ Check that both ends of the pipe (both file descriptors) are |
+ available to a process opening the pipe. |
+ |
+pipe05 |
+ |
+ Check what happens when pipe is passed a bad file descriptor. |
+ |
+pipe06 |
+ |
+ Check what happens when the system runs out of pipes. |
+ |
+pipe08 |
+ |
+ Check that a SIGPIPE signal is generated when a write is |
+ attempted on an empty pipe. |
+ |
+pipe09 |
+ |
+ Check that two processes can use the same pipe at the same time. |
+ |
+pipe10 |
+ |
+ Check that parent can open a pipe and have a child read from it |
+ |
+pipe11 |
+ |
+ Check if many children can read what is written to a pipe by the |
+ parent. |
+ |
+ |
+sem01 |
+ |
+ Creates a semaphore and two processes. The processes |
+ each go through a loop where they semdown, delay for a |
+ random amount of time, and semup, so they will almost |
+ always be fighting for control of the semaphore. |
+ |
+sem02 |
+ The application creates several threads using pthread_create(). |
+ One thread performs a semop() with the SEM_UNDO flag set. The |
+ change in semaphore value performed by that semop should be |
+ "undone" only when the last pthread exits. |
+ |
+ |
+semctl01 |
+ |
+ test the 10 possible semctl() commands |
+ |
+semctl02 |
+ |
+ test for EACCES error |
+ |
+semctl03 |
+ |
+ test for EINVAL and EFAULT errors |
+ |
+semctl04 |
+ |
+ test for EPERM error |
+ |
+ |
+semctl05 |
+ |
+ test for ERANGE error |
+ |
+semget01 |
+ |
+ test that semget() correctly creates a semaphore set |
+ |
+semget02 |
+ |
+ test for EACCES and EEXIST errors |
+ |
+semget03 |
+ |
+ test for ENOENT error |
+ |
+semget05 |
+ |
+ test for ENOSPC error |
+ |
+semget06 |
+ |
+ test for EINVAL error |
+ |
+semop01 |
+ |
+ test that semop() basic functionality is correct |
+ |
+semop02 |
+ |
+ test for E2BIG, EACCES, EFAULT and EINVAL errors |
+ |
+semop03 |
+ |
+ test for EFBIG error |
+ |
+semop04 |
+ |
+ test for EAGAIN error |
+ |
+semop05 |
+ |
+ test for EINTR and EIDRM errors |
+ |
+ |
+ |
+msgctl01 |
+ create a message queue, then issue the IPC_STAT command |
+ and RMID commands to test the functionality |
+ |
+ |
+msgctl02 |
+ create a message queue, then issue the IPC_SET command |
+ to lower the msg_qbytes value. |
+ |
+ |
+msgctl03 |
+ create a message queue, then issue the IPC_RMID command |
+ |
+ |
+ |
+msgctl04 |
+ test for EACCES, EFAULT and EINVAL errors using |
+ a variety of incorrect calls. |
+ |
+ |
+msgctl05 |
+ test for EPERM error |
+ |
+ |
+ |
+msgget01 |
+ create a message queue, write a message to it and |
+ read it back. |
+ |
+ |
+msgget02 |
+ test for EEXIST and ENOENT errors |
+ |
+ |
+msgget03 |
+ test for an ENOSPC error by using up all available |
+ message queues. |
+ |
+msgget04 |
+ test for an EACCES error by creating a message queue |
+ with no read or write permission and then attempting |
+ to access it with various permissions. |
+ |
+msgrcv01 |
+ test that msgrcv() receives the expected message |
+ |
+msgrcv02 |
+ test for EACCES and EFAULT errors |
+ |
+msgrcv03 |
+ test for EINVAL error |
+ |
+msgrcv04 |
+ test for E2BIG and ENOMSG errors |
+ |
+msgrcv05 |
+ test for EINTR error |
+ |
+msgrcv06 |
+ test for EIDRM error |
+ |
+msgsnd01 |
+ test that msgsnd() enqueues a message correctly |
+ |
+msgsnd02 |
+ test for EACCES and EFAULT errors |
+ |
+msgsnd03 |
+ test for EINVAL error |
+ |
+msgsnd04 |
+ test for EAGAIN error |
+ |
+msgsnd05 |
+ test for EINTR error |
+ |
+ |
+msgsnd06 |
+ test for EIDRM error |
+ |
+shmat01 |
+ test that shmat() works correctly |
+ |
+shmat02 |
+ check for EINVAL and EACCES errors |
+ |
+ |
+shmat03 |
+ test for EACCES error |
+ |
+ |
+shmctl01 |
+ test the IPC_STAT, IPC_SET and IPC_RMID commands as |
+ they are used with shmctl() |
+ |
+ |
+shmctl02 |
+ check for EACCES, EFAULT and EINVAL errors |
+ |
+ |
+shmctl03 |
+ check for EACCES, and EPERM errors |
+ |
+ |
+shmdt01 |
+ check that shared memory is detached correctly |
+ |
+ |
+shmdt02 |
+ check for EINVAL error |
+ |
+ |
+shmget01 |
+ test that shmget() correctly creates a shared memory segment |
+ |
+ |
+shmget02 |
+ check for ENOENT, EEXIST and EINVAL errors |
+ |
+ |
+shmget03 |
+ test for ENOSPC error |
+ |
+ |
+shmget04 |
+ test for EACCES error |
+ |
+ |
+shmget05 |
+ test for EACCES error |
+ |
+openfile |
+ |
+ Creates files and opens simultaneously |
+ |
+open01 |
+ |
+ Open a file with oflag = O_CREAT set, does it set the sticky bit off? |
+ |
+ Open "/tmp" with O_DIRECTORY, does it set the S_IFDIR bit on? |
+ |
+open02 |
+ |
+ Test if open without O_CREAT returns -1 if a file does not exist. |
+ |
+open03 |
+ |
+ Basic test for open(2) |
+ |
+open04 |
+ |
+ Testcase to check that open(2) sets EMFILE if a process opens files |
+ more than its descriptor size |
+ |
+open05 |
+ |
+ Testcase to check open(2) sets errno to EACCES correctly. |
+ |
+open06 |
+ |
+ Testcase to check open(2) sets errno to ENXIO correctly. |
+ |
+open07 |
+ |
+ Test the open(2) system call to ensure that it sets ELOOP correctly. |
+ |
+open08 |
+ |
+ Check for the following errors: |
+ 1. EEXIST |
+ 2. EISDIR |
+ 3. ENOTDIR |
+ 4. ENAMETOOLONG |
+ 5. EFAULT |
+ 6. ETXTBSY |
+ |
+ |
+openfile |
+ |
+ Creates files and opens simultaneously |
+ |
+ |
+chdir01 |
+ |
+ Check proper operation of chdir(): tests whether the |
+ system call can it change the current, working directory, and find a |
+ file there? Will it fail on a non-directory entry ? |
+ |
+chdir02 |
+ |
+ Basic test for chdir(2). |
+ |
+chdir03 |
+ |
+ Testcase for testing that chdir(2) sets EACCES errno |
+ |
+chdir04 |
+ |
+ Testcase to test whether chdir(2) sets errno correctly. |
+ |
+ |
+chmod01 |
+ |
+ Verify that, chmod(2) succeeds when used to change the mode permissions |
+ of a file. |
+ |
+chmod02 |
+ |
+ Basic test for chmod(2). |
+ |
+chmod03 |
+ |
+ Verify that, chmod(2) will succeed to change the mode of a file |
+ and set the sticky bit on it if invoked by non-root (uid != 0) |
+ process with the following constraints, |
+ - the process is the owner of the file. |
+ - the effective group ID or one of the supplementary group ID's of the |
+ process is equal to the group ID of the file. |
+ |
+chmod04 |
+ |
+ Verify that, chmod(2) will succeed to change the mode of a directory |
+ and set the sticky bit on it if invoked by non-root (uid != 0) process |
+ with the following constraints, |
+ - the process is the owner of the directory. |
+ - the effective group ID or one of the supplementary group ID's of the |
+ process is equal to the group ID of the directory. |
+ |
+chmod05 |
+ |
+ Verify that, chmod(2) will succeed to change the mode of a directory |
+ but fails to set the setgid bit on it if invoked by non-root (uid != 0) |
+ process with the following constraints, |
+ - the process is the owner of the directory. |
+ - the effective group ID or one of the supplementary group ID's of the |
+ process is not equal to the group ID of the directory. |
+ |
+chmod06 |
+ |
+ Verify that, |
+ 1) chmod(2) returns -1 and sets errno to EPERM if the effective user id |
+ of process does not match the owner of the file and the process is |
+ not super user. |
+ 2) chmod(2) returns -1 and sets errno to EACCES if search permission is |
+ denied on a component of the path prefix. |
+ 3) chmod(2) returns -1 and sets errno to EFAULT if pathname points |
+ outside user's accessible address space. |
+ 4) chmod(2) returns -1 and sets errno to ENAMETOOLONG if the pathname |
+ component is too long. |
+ 5) chmod(2) returns -1 and sets errno to ENOTDIR if the directory |
+ component in pathname is not a directory. |
+ 6) chmod(2) returns -1 and sets errno to ENOENT if the specified file |
+ does not exists. |
+ |
+chmod07 |
+ |
+ Verify that, chmod(2) will succeed to change the mode of a file/directory |
+ and sets the sticky bit on it if invoked by root (uid = 0) process with |
+ the following constraints, |
+ - the process is not the owner of the file/directory. |
+ - the effective group ID or one of the supplementary group ID's of the |
+ process is equal to the group ID of the file/directory. |
+ |
+ |
+chown01 |
+ |
+ Basic test for chown(2). |
+ |
+chown02 |
+ |
+ Verify that, when chown(2) invoked by super-user to change the owner and |
+ group of a file specified by path to any numeric owner(uid)/group(gid) |
+ values, |
+ - clears setuid and setgid bits set on an executable file. |
+ - preserves setgid bit set on a non-group-executable file. |
+ |
+chown03 |
+ |
+ Verify that, chown(2) succeeds to change the group of a file specified |
+ by path when called by non-root user with the following constraints, |
+ - euid of the process is equal to the owner of the file. |
+ - the intended gid is either egid, or one of the supplementary gids |
+ of the process. |
+ Also, verify that chown() clears the setuid/setgid bits set on the file. |
+ |
+chown04 |
+ |
+ Verify that, |
+ 1) chown(2) returns -1 and sets errno to EPERM if the effective user id |
+ of process does not match the owner of the file and the process is |
+ not super user. |
+ 2) chown(2) returns -1 and sets errno to EACCES if search permission is |
+ denied on a component of the path prefix. |
+ 3) chown(2) returns -1 and sets errno to EFAULT if pathname points |
+ outside user's accessible address space. |
+ 4) chown(2) returns -1 and sets errno to ENAMETOOLONG if the pathname |
+ component is too long. |
+ 5) chown(2) returns -1 and sets errno to ENOTDIR if the directory |
+ component in pathname is not a directory. |
+ 6) chown(2) returns -1 and sets errno to ENOENT if the specified file |
+ does not exists. |
+ |
+chown05 |
+ |
+ Verify that, chown(2) succeeds to change the owner and group of a file |
+ specified by path to any numeric owner(uid)/group(gid) values when invoked |
+ by super-user. |
+ |
+ |
+close01 |
+ |
+ Test that closing a regular file and a pipe works correctly |
+ |
+close02 |
+ |
+ Check that an invalid file descriptor returns EBADF |
+ |
+close08 |
+ |
+ Basic test for close(2). |
+ |
+ |
+fchdir01 |
+ |
+ create a directory and cd into it. |
+ |
+fchdir02 |
+ |
+ try to cd into a bad directory (bad fd). |
+ |
+ |
+fchmod01 |
+ |
+ Basic test for Fchmod(2). |
+ |
+fchmod02 |
+ |
+ Verify that, fchmod(2) will succeed to change the mode of a file/directory |
+ set the sticky bit on it if invoked by root (uid = 0) process with |
+ the following constraints, |
+ - the process is not the owner of the file/directory. |
+ - the effective group ID or one of the supplementary group ID's of the |
+ process is equal to the group ID of the file/directory. |
+ |
+fchmod03 |
+ |
+ Verify that, fchmod(2) will succeed to change the mode of a file |
+ and set the sticky bit on it if invoked by non-root (uid != 0) |
+ process with the following constraints, |
+ - the process is the owner of the file. |
+ - the effective group ID or one of the supplementary group ID's of the |
+ process is equal to the group ID of the file. |
+ |
+fchmod04 |
+ |
+ Verify that, fchmod(2) will succeed to change the mode of a directory |
+ and set the sticky bit on it if invoked by non-root (uid != 0) process |
+ with the following constraints, |
+ - the process is the owner of the directory. |
+ - the effective group ID or one of the supplementary group ID's of the |
+ process is equal to the group ID of the directory. |
+ |
+fchmod05 |
+ |
+ Verify that, fchmod(2) will succeed to change the mode of a directory |
+ but fails to set the setgid bit on it if invoked by non-root (uid != 0) |
+ process with the following constraints, |
+ - the process is the owner of the directory. |
+ - the effective group ID or one of the supplementary group ID's of the |
+ process is not equal to the group ID of the directory. |
+ |
+fchmod06 |
+ |
+ Verify that, |
+ 1) fchmod(2) returns -1 and sets errno to EPERM if the effective user id |
+ of process does not match the owner of the file and the process is |
+ not super user. |
+ 2) fchmod(2) returns -1 and sets errno to EBADF if the file descriptor |
+ of the specified file is not valid. |
+ |
+fchmod07 |
+ |
+ Verify that, fchmod(2) succeeds when used to change the mode permissions |
+ of a file specified by file descriptor. |
+ |
+ |
+fchown01 |
+ |
+ Basic test for fchown(2). |
+ |
+fchown02 |
+ |
+ Verify that, when fchown(2) invoked by super-user to change the owner and |
+ group of a file specified by file descriptor to any numeric |
+ owner(uid)/group(gid) values, |
+ - clears setuid and setgid bits set on an executable file. |
+ - preserves setgid bit set on a non-group-executable file. |
+ |
+fchown03 |
+ |
+ Verify that, fchown(2) succeeds to change the group of a file specified |
+ by path when called by non-root user with the following constraints, |
+ - euid of the process is equal to the owner of the file. |
+ - the intended gid is either egid, or one of the supplementary gids |
+ of the process. |
+ Also, verify that fchown() clears the setuid/setgid bits set on the file. |
+ |
+fchown04 |
+ |
+ Verify that, |
+ 1) fchown(2) returns -1 and sets errno to EPERM if the effective user id |
+ of process does not match the owner of the file and the process is |
+ not super user. |
+ 2) fchown(2) returns -1 and sets errno to EBADF if the file descriptor |
+ of the specified file is not valid. |
+ |
+fchown05 |
+ |
+ Verify that, fchown(2) succeeds to change the owner and group of a file |
+ specified by file descriptor to any numeric owner(uid)/group(gid) values |
+ when invoked by super-user. |
+ |
+lchown01 |
+ |
+ Verify that, lchown(2) succeeds to change the owner and group of a file |
+ specified by path to any numeric owner(uid)/group(gid) values when invoked |
+ by super-user. |
+ |
+ |
+lchown02 |
+ |
+ Verify that, |
+ 1) lchown(2) returns -1 and sets errno to EPERM if the effective user id |
+ of process does not match the owner of the file and the process is |
+ not super user. |
+ 2) lchown(2) returns -1 and sets errno to EACCES if search permission is |
+ denied on a component of the path prefix. |
+ 3) lchown(2) returns -1 and sets errno to EFAULT if pathname points |
+ outside user's accessible address space. |
+ 4) lchown(2) returns -1 and sets errno to ENAMETOOLONG if the pathname |
+ component is too long. |
+ 5) lchown(2) returns -1 and sets errno to ENOTDIR if the directory |
+ component in pathname is not a directory. |
+ 6) lchown(2) returns -1 and sets errno to ENOENT if the specified file |
+ does not exists. |
+ |
+ |
+creat01 |
+ |
+ Testcase to check the basic functionality of the creat(2) system call. |
+ |
+creat03 |
+ |
+ Testcase to check whether the sticky bit cleared. |
+ |
+creat04 |
+ |
+ Testcase to check creat(2) fails with EACCES |
+ |
+creat05 |
+ |
+ Testcase to check that creat(2) system call returns EMFILE. |
+ |
+creat06 |
+ |
+ Testcase to check creat(2) sets the following errnos correctly: |
+ 1. EISDIR |
+ 2. ENAMETOOLONG |
+ 3. ENOENT |
+ 4. ENOTDIR |
+ 5. EFAULT |
+ 6. EACCES |
+ |
+creat07 |
+ |
+ Testcase to check creat(2) sets the following errnos correctly: |
+ 1. ETXTBSY |
+ |
+creat09 |
+ |
+ Basic test for creat(2) using 0700 argument. |
+ |
+truncate01 |
+ |
+ Verify that, truncate(2) succeeds to truncate a file to a specified |
+ length. |
+ |
+ |
+truncate02 |
+ |
+ Verify that, truncate(2) succeeds to truncate a file to a certain length, |
+ but the attempt to read past the truncated length will fail. |
+ |
+ |
+truncate03 |
+ |
+ Verify that, |
+ 1) truncate(2) returns -1 and sets errno to EACCES if search/write |
+ permission denied for the process on the component of the path prefix |
+ or named file. |
+ 2) truncate(2) returns -1 and sets errno to ENOTDIR if the component of |
+ the path prefix is not a directory. |
+ 3) truncate(2) returns -1 and sets errno to EFAULT if pathname points |
+ outside user's accessible address space. |
+ 4) truncate(2) returns -1 and sets errno to ENAMETOOLONG if the component |
+ of a pathname exceeded 255 characters or entire pathname exceeds 1023 |
+ characters. |
+ 5) truncate(2) returns -1 and sets errno to ENOENT if the named file |
+ does not exist. |
+ |
+ftruncate01 |
+ |
+ Verify that, ftruncate(2) succeeds to truncate a file to a specified |
+ length if the file indicated by file descriptor opened for writing. |
+ |
+ftruncate02 |
+ |
+ Verify that, ftruncate(2) succeeds to truncate a file to a certain length, |
+ but the attempt to read past the truncated length will fail. |
+ |
+ftruncate03 |
+ |
+ Verify that, |
+ 1) ftruncate(2) returns -1 and sets errno to EINVAL if the specified |
+ truncate length is less than 0. |
+ 2) ftruncate(2) returns -1 and sets errno to EBADF if the file descriptor |
+ of the specified file is not valid. |
+ |
+vhangup01 |
+ |
+ Check the return value, and errno of vhangup(2) |
+ when a non-root user calls vhangup(). |
+ |
+vhangup02 |
+ |
+ To test the basic functionality of vhangup(2) |
+growfiles |
+ |
+ This program will grow a list of files. |
+ Each file will grow by grow_incr before the same |
+ file grows twice. Each file is open and closed before next file is opened. |
+ |
+pipe01 |
+ |
+ Testcase to check the basic functionality of the pipe(2) syscall: |
+ Check that both ends of the pipe (both file descriptors) are |
+ available to a process opening the pipe. |
+ |
+pipe05 |
+ |
+ Check what happens when pipe is passed a bad file descriptor. |
+ |
+pipe06 |
+ |
+ Check what happens when the system runs out of pipes. |
+ |
+pipe08 |
+ |
+ Check that a SIGPIPE signal is generated when a write is |
+ attempted on an empty pipe. |
+ |
+pipe09 |
+ |
+ Check that two processes can use the same pipe at the same time. |
+ |
+pipe10 |
+ |
+ Check that parent can open a pipe and have a child read from it |
+ |
+pipe11 |
+ |
+ Check if many children can read what is written to a pipe by the |
+ parent. |
+ |
+pipeio |
+ |
+ This tool can be used to beat on system or named pipes. |
+ See the help() function below for user information. |
+ |
+ /ipc_stress/message_queue_test_01.c |
+ /ipc_stress/pipe_test_01.c |
+ /ipc_stress/semaphore_test_01.c |
+ /ipc_stress/single_test_01.c |
+ |
+proc01 |
+ Recursively reads all files within /proc filesystem. |
+ |
+lftest |
+ The purpose of this test is to verify the file size limitations of a filesystem. |
+ It writes one buffer at a time and lseeks from the beginning of the file to the |
+ end of the last write position. The intent is to test lseek64. |
+ |
+ |
+llseek01 |
+ |
+ Verify that, llseek() call succeeds to set the file pointer position |
+ to an offset larger than file size. Also, verify that any attempt |
+ to write to this location fails. |
+ |
+llseek02 |
+ |
+ Verify that, |
+ 1. llseek() returns -1 and sets errno to EINVAL, if the 'Whence' argument |
+ is not a proper value. |
+ 2. llseek() returns -1 and sets errno to EBADF, if the file handle of |
+ the specified file is not valid. |
+ |
+lseek01 |
+ |
+ Basic test for lseek(2) |
+ |
+lseek02 |
+ |
+ Negative test for lseek(2) |
+ |
+lseek03 |
+ |
+ Negative test for lseek(2) whence |
+ |
+lseek04 |
+ |
+ Negative test for lseek(2) of a fifo |
+ |
+lseek05 |
+ |
+ Negative test for lseek(2) of a pipe |
+ |
+lseek06 |
+ |
+ Verify that, lseek() call succeeds to set the file pointer position |
+ to less than or equal to the file size, when a file is opened for |
+ read or write. |
+ |
+lseek07 |
+ |
+ Verify that, lseek() call succeeds to set the file pointer position |
+ to more than the file size, when a file is opened for reading/writing. |
+ |
+lseek08 |
+ |
+ Verify that, lseek() call succeeds to set the file pointer position |
+ to the end of the file when 'whence' value set to SEEK_END and any |
+ attempts to read from that position should fail. |
+ |
+lseek09 |
+ |
+ Verify that, lseek() call succeeds to set the file pointer position |
+ to the current specified location, when 'whence' value is set to |
+ SEEK_CUR and the data read from the specified location should match |
+ the expected data. |
+ |
+lseek10 |
+ |
+ Verify that, |
+ 1. lseek() returns -1 and sets errno to ESPIPE, if the file handle of |
+ the specified file is associated with a pipe, socket, or FIFO. |
+ 2. lseek() returns -1 and sets errno to EINVAL, if the 'Whence' argument |
+ is not a proper value. |
+ 3. lseek() returns -1 and sets errno to EBADF, if the file handle of |
+ the specified file is not valid. |
+ |
+rwtest |
+ |
+ A wrapper for doio and iogen. |
+ |
+doio |
+ a general purpose io initiator with system call and |
+ write logging. See doio.h for the structure which defines |
+ what doio requests should look like. |
+ |
+ Currently doio can handle read,write,reada,writea,ssread, |
+ sswrite, and many varieties of listio requests. |
+ For disk io, if the O_SSD flag is set doio will allocate |
+ the appropriate amount of ssd and do the transfer - thus, doio |
+ can handle all of the primitive types of file io. |
+ |
+iogen |
+ A tool for generating file/sds io for a doio process |
+ |
+pread01 |
+ |
+ Verify the functionality of pread() by writing known data using pwrite() |
+ to the file at various specified offsets and later read from the file from |
+ various specified offsets, comparing the data read against the data |
+ written. |
+ |
+pread02 |
+ |
+ Verify that, |
+ 1) pread() fails when attempted to read from an unnamed pipe. |
+ 2) pread() fails if the specified offset position was invalid. |
+ |
+ |
+pwrite01 |
+ |
+ Verify the functionality of pwrite() by writing known data using pwrite() |
+ to the file at various specified offsets and later read from the file from |
+ various specified offsets, comparing the data written against the data |
+ read using read(). |
+ |
+pwrite02 |
+ |
+ Verify that, |
+ 1) pwrite() fails when attempted to write to an unnamed pipe. |
+ 2) pwrite() fails if the specified offset position was invalid. |
+ |
+ |
+read01 |
+ |
+ Basic test for the read(2) system call |
+ |
+read02 |
+ |
+ test 1: Does read return -1 if file descriptor is not valid, check for EBADF |
+ |
+ test 2: Check if read sets EISDIR, if the fd refers to a directory |
+ |
+ test 3: Check if read sets EFAULT, if buf is -1. |
+ |
+read03 |
+ |
+ Testcase to check that read() sets errno to EAGAIN |
+ |
+read04 |
+ |
+ Testcase to check if read returns the number of bytes read correctly. |
+ |
+ |
+readv01 |
+ |
+ Testcase to check the basic functionality of the readv(2) system call. |
+ |
+readv02 |
+ |
+ Testcase to check the error conditions of the readv(2) system call. |
+ |
+write01 |
+ |
+ Basic test for write(2) system call. |
+ |
+write02 |
+ |
+ Basic functionality test: does the return from write match the count |
+ of the number of bytes written. |
+ |
+ |
+write03 |
+ |
+ Testcase to check that write(2) doesn't corrupt a file when it fails |
+ |
+write04 |
+ |
+ Testcase to check that write() sets errno to EAGAIN |
+ |
+write05 |
+ |
+ Check the return value, and errnos of write(2) |
+ - when the file descriptor is invalid - EBADF |
+ - when the buf parameter is invalid - EFAULT |
+ - on an attempt to write to a pipe that is not open for reading - EPIPE |
+ |
+ |
+writev01 |
+ |
+ Testcase to check the basic functionality of writev(2) system call. |
+ |
+ |
+writev02 |
+ |
+ In these testcases, writev() is called with partially valid data |
+ to be written in a sparse file. |
+ |
+ |
+writev03 |
+ |
+ The testcases are written calling writev() with partially valid data |
+ to overwrite the contents, to write in the beginning and to write in |
+ the end of the file. |
+ |
+writev04 |
+ |
+ The testcases are written calling writev() with partially valid data |
+ to overwrite the contents, to write in the beginning and to write in |
+ the end of the file. This is same as writev03, but the length of |
+ buffer used here is 8192 bytes. |
+ |
+writev05 |
+ |
+ These testcases are written to test writev() on sparse files. This |
+ is same as writev02. But the initial write() with valid data is |
+ done at the beginning of the file. |
+ |
+disktest |
+ |
+ Does repeated accesses to a filespec and optionally writes to, reads from, |
+ and verifies the data. By default, disktest makes assumptions about |
+ the running environment which allows for a quick start of IO generation. |
+ However, Disktest has a large number of command line options which can |
+ be used to adapt the test for a variety of uses including data integrity, |
+ medium integrity, performance, and simple application simulation. |
+ |
+ |
+ |
+ |
+getdents01 |
+ get a directory entry |
+ |
+getdents02 |
+ check that we get a failure with a bad file descriptor |
+ |
+ |
+getdents03 |
+ check for an EINVAL error |
+ |
+ |
+getdents04 |
+ check for an ENOTDIR error |
+ |
+getdents05 |
+ check that we get a failure with a bad dirp address. |
+process_stress |
+ Spawn creates a tree |
+ of processes with Dval depth and Bval breadth. Each parent will spawn |
+ Bval children. Each child will store information about themselves |
+ in shared memory. The leaf nodes will communicate the existence |
+ of one another through message queues, once each leaf node has |
+ received communication from all of her siblings she will reduce |
+ the semaphore count and exit. Meanwhile all parents are waiting |
+ to hear from their children through the use of semaphores. When |
+ the semaphore count reaches zero then the parent knows all the |
+ children have talked to one another. Locking of the connter semaphore |
+ is provided by the use of another (binary) semaphore. |
+ |
+ |
+ |
+ |
+sched_stress |
+ Exports required environment variables and runs sched_driver |
+sched_driver |
+ This program uses system calls to change the |
+ priorities of the throughput measurement testcases. |
+ When real-time is in effect, priorities 50 through 64 |
+ are used. (MAX_PRI and MIN_PRI) When user-time |
+ (normal) is in effect, 0-14 (corresponding to nice() |
+ calls) is used. The driver only keeps track of |
+ values from 50 to 64, and the testcases will scale |
+ them down to 0 to 14 when needed, to change the |
+ priority of a user-time process. |
+ |
+time-schedule |
+ This programme will determine the context switch |
+ (scheduling) overhead on a system. It takes into |
+ account SMP machines. True context switches are |
+ measured. |
+trace_sched |
+ This utility spawns N tasks, each task sets its priority |
+ by making a system call to the scheduler. The thread |
+ function reads the priority that the scheduler sets for |
+ this task and also reads from /proc the processor this |
+ task last executed on the information that is gathered |
+ by the thread function may be in real-time. Its only an |
+ approximation. |
+ |
+sched_getscheduler01 |
+ |
+ Testcase to check sched_getscheduler() returns correct return value |
+ |
+sched_getscheduler02 |
+ |
+ To check for the errno ESRCH |
+ |
+ |
+sched_setscheduler01 |
+ |
+ Testcase to test whether sched_setscheduler(2) sets the errnos |
+ correctly. |
+ |
+sched_setscheduler02 |
+ |
+ Testcase to test whether sched_setscheduler(2) sets the errnos |
+ correctly. |
+ |
+ |
+sched_yield01 |
+ |
+ Testcase to check that sched_yield returns correct values. |
+ |
+ |
+nice01 |
+ |
+ Verify that root can provide a negative value to nice() |
+ and hence root can decrease the nice value of the process |
+ using nice() system call |
+ |
+nice02 |
+ |
+ Verify that any user can successfully increase the nice value of |
+ the process by passing a higher increment value (> max. applicable limits) |
+ to nice() system call. |
+ |
+nice03 |
+ |
+ Verify that any user can successfully increase the nice value of |
+ the process by passing an increment value (< max. applicable limits) to |
+ nice() system call. |
+ |
+nice04 |
+ |
+ Verify that, nice(2) fails when, a non-root user attempts to increase |
+ the priority of a process by specifying a negative increment value. |
+ |
+nice05 |
+ |
+ Basic test for nice(2) |
+ |
+ |
+poll01 |
+ |
+ Verify that valid open file descriptor must be provided to poll() to |
+ succeed. |
+ |
+select01 |
+ |
+ Basic test for the select(2) system call to a fd of regular file with no I/O |
+ and small timeout |
+ |
+select02 |
+ |
+ Basic test for the select(2) system call to fd of system pipe with no I/O |
+ and small timeout |
+ |
+select03 |
+ |
+ Basic test for the select(2) system call to fd of a named-pipe (FIFO) |
+ |
+select04 |
+ |
+ Verify that select(2) returns immediately (does not block) if the |
+ timeout value is zero. |
+ |
+select05 |
+ |
+ Verify that select(2) fails when one or more of the file descriptor sets |
+ specify a file descriptor which is not valid. |
+ |
+select06 |
+ |
+ Verify that select(2) fails when a signal is delivered before any of the |
+ selected events occur and before the timeout interval expires. |
+ |
+select07 |
+ |
+ Verify that select(2) fails when an invalid timeout interval is specified. |
+ |
+select08 |
+ |
+ Verify the functionality of select(2) by passing non-null writefds |
+ which points to a regular file, pipes or FIFO's. |
+ |
+select09 |
+ |
+ Verify the functionality of select(2) by passing non-null readfds |
+ which points to a regular file, pipes or FIFO's. |
+ |
+select10 |
+ |
+ Verify that a successful call to select() shall return the desired |
+ number of modified descriptors for which bits are set in the bit masks, |
+ where descriptors points to a regular file, pipes or FIFO's. |
+sem01 |
+ |
+ Creates a semaphore and two processes. The processes |
+ each go through a loop where they semdown, delay for a |
+ random amount of time, and semup, so they will almost |
+ always be fighting for control of the semaphore. |
+ |
+sem02 |
+ The application creates several threads using pthread_create(). |
+ One thread performs a semop() with the SEM_UNDO flag set. The |
+ change in semaphore value performed by that semop should be |
+ "undone" only when the last pthread exits. |
+ |
+ |
+semctl01 |
+ |
+ test the 10 possible semctl() commands |
+ |
+semctl02 |
+ |
+ test for EACCES error |
+ |
+semctl03 |
+ |
+ test for EINVAL and EFAULT errors |
+ |
+semctl04 |
+ |
+ test for EPERM error |
+ |
+ |
+semctl05 |
+ |
+ test for ERANGE error |
+ |
+semget01 |
+ |
+ test that semget() correctly creates a semaphore set |
+ |
+semget02 |
+ |
+ test for EACCES and EEXIST errors |
+ |
+semget03 |
+ |
+ test for ENOENT error |
+ |
+semget05 |
+ |
+ test for ENOSPC error |
+ |
+semget06 |
+ |
+ test for EINVAL error |
+ |
+semop01 |
+ |
+ test that semop() basic functionality is correct |
+ |
+semop02 |
+ |
+ test for E2BIG, EACCES, EFAULT and EINVAL errors |
+ |
+semop03 |
+ |
+ test for EFBIG error |
+ |
+semop04 |
+ |
+ test for EAGAIN error |
+ |
+semop05 |
+ |
+ test for EINTR and EIDRM errors |
+ |
+ |
+shmat01 |
+ test that shmat() works correctly |
+ |
+shmat02 |
+ check for EINVAL and EACCES errors |
+ |
+ |
+shmat03 |
+ test for EACCES error |
+ |
+ |
+shmctl01 |
+ test the IPC_STAT, IPC_SET and IPC_RMID commands as |
+ they are used with shmctl() |
+ |
+ |
+shmctl02 |
+ check for EACCES, EFAULT and EINVAL errors |
+ |
+ |
+shmctl03 |
+ check for EACCES, and EPERM errors |
+ |
+ |
+shmdt01 |
+ check that shared memory is detached correctly |
+ |
+ |
+shmdt02 |
+ check for EINVAL error |
+ |
+ |
+shmget01 |
+ test that shmget() correctly creates a shared memory segment |
+ |
+ |
+shmget02 |
+ check for ENOENT, EEXIST and EINVAL errors |
+ |
+ |
+shmget03 |
+ test for ENOSPC error |
+ |
+ |
+shmget04 |
+ test for EACCES error |
+ |
+ |
+shmget05 |
+ test for EACCES error |
+shmat1 |
+ |
+ Test the LINUX memory manager. The program is aimed at |
+ stressing the memory manager by repeated shmat/write/read/ |
+ shmatd of file/memory of random size (maximum 1000 * 4096) |
+ done by multiple processes. |
+ |
+shm_test |
+ |
+ This program is designed to stress the Memory management sub - |
+ system of Linux. This program will spawn multiple pairs of |
+ reader and writer threads. One thread will create the shared |
+ segment of random size and write to this memory, the other |
+ pair will read from this memory. |
+ |
+sigaction01 |
+ |
+ Test some features of sigaction (see below for more details) |
+ |
+ |
+sigaction02 |
+ |
+ Testcase to check the basic errnos set by the sigaction(2) syscall. |
+ |
+ |
+sigaltstack01 |
+ |
+ Send a signal using the main stack. While executing the signal handler |
+ compare a variable's address lying on the main stack with the stack |
+ boundaries returned by sigaltstack(). |
+ |
+ |
+sigaltstack02 |
+ |
+ Verify that, |
+ 1. sigaltstack() fails and sets errno to EINVAL when "ss_flags" field |
+ pointed to by 'ss' contains invalid flags. |
+ 2. sigaltstack() fails and sets errno to ENOMEM when the size of alternate |
+ stack area is less than MINSIGSTKSZ. |
+ |
+sighold02 |
+ |
+ Basic test for the sighold02(2) system call. |
+ |
+ |
+signal01 |
+ set the signal handler to our own function |
+ |
+ |
+signal02 |
+ Test that we get an error using illegal signals |
+ |
+signal03 |
+ |
+ Boundary value and other invalid value checking of signal setup and signal |
+ sending. |
+ |
+ |
+signal04 |
+ restore signals to default behavior |
+ |
+ |
+signal05 |
+ set signals to be ignored |
+ |
+ |
+sigprocmask01 |
+ |
+ Verify that sigprocmask() succeeds to examine and change the calling |
+ process's signal mask. |
+ Also, verify that sigpending() succeeds to store signal mask that are |
+ blocked from delivery and pending for the calling process. |
+ |
+sigrelse01 |
+ |
+ Basic test for the sigrelse(2) system call. |
+ |
+sigsuspend01 |
+ |
+ Verify that sigsuspend() succeeds to change process's current signal |
+ mask with the specified signal mask and suspends the process execution |
+ until the delivery of a signal. |
+kill01 |
+ |
+ Test case to check the basic functionality of kill(). |
+ |
+kill02 |
+ |
+ Sending a signal to processes with the same process group ID |
+ |
+kill03 |
+ |
+ Test case to check that kill fails when given an invalid signal. |
+ |
+kill04 |
+ |
+ Test case to check that kill() fails when passed a non-existent pid. |
+ |
+kill05 |
+ |
+ Test case to check that kill() fails when passed a pid owned by another |
+ user. |
+ |
+kill06 |
+ |
+ Test case to check the basic functionality of kill() when killing an |
+ entire process group with a negative pid. |
+ |
+kill07 |
+ |
+ Test case to check that SIGKILL can not be caught. |
+ |
+kill08 |
+ |
+ Test case to check the basic functionality of kill() when kill an |
+ entire process group. |
+ |
+kill09 |
+ Basic test for kill(2) |
+ |
+kill10 |
+ Signal flooding test. |
+ |
+ |
+mtest01 |
+ mallocs memory <chunksize> at a time until malloc fails. |
+mallocstress |
+ |
+ This program is designed to stress the VMM by doing repeated */ |
+ mallocs and frees, with out using the swap space. This is */ |
+ achieved by spawning N threads with repeatedly malloc and free*/ |
+ a memory of size M. The stress can be increased by increasing */ |
+ the number of repetitions over the default number using the */ |
+ -l [num] option. |
+ |
+clisrv |
+ |
+ Sender: Read contents of data file. Write each line to socket, then |
+ read line back from socket and write to standard output. |
+ Receiver: Read a stream socket one line at a time and write each line |
+ back to the sender. |
+ Usage: pthcli [port number] |
+ |
+ |
+socket01 |
+ |
+ Verify that socket() returns the proper errno for various failure cases |
+ |
+ |
+socketpair01 |
+ |
+ Verify that socketpair() returns the proper errno for various failure cases |
+ |
+ |
+sockioctl01 |
+ |
+ Verify that ioctl() on sockets returns the proper errno for various |
+ failure cases |
+ |
+connect01 |
+ |
+ Verify that connect() returns the proper errno for various failure cases |
+ |
+getpeername01 |
+ |
+ Verify that getpeername() returns the proper errno for various failure cases |
+ |
+ |
+getsockname01 |
+ |
+ Verify that getsockname() returns the proper errno for various failure cases |
+ |
+getsockopt01 |
+ |
+ Verify that getsockopt() returns the proper errno for various failure cases |
+ |
+listen01 |
+ |
+ Verify that listen() returns the proper errno for various failure cases |
+ |
+accept01 |
+ |
+ Verify that accept() returns the proper errno for various failure cases |
+ |
+bind01 |
+ |
+ Verify that bind() returns the proper errno for various failure cases |
+ |
+ |
+recv01 |
+ |
+ Verify that recv() returns the proper errno for various failure cases |
+ |
+ |
+recvfrom01 |
+ |
+ Verify that recvfrom() returns the proper errno for various failure cases |
+ |
+ |
+recvmsg01 |
+ |
+ Verify that recvmsg() returns the proper errno for various failure cases |
+ |
+send01 |
+ |
+ Verify that send() returns the proper errno for various failure cases |
+ |
+sendmsg01 |
+ |
+ Verify that sendmsg() returns the proper errno for various failure cases |
+sendto01 |
+ |
+ Verify that sendto() returns the proper errno for various failure cases |
+ |
+setsockopt01 |
+ |
+ Verify that setsockopt() returns the proper errno for various failure cases |
+ |
+ |
+fstat01 |
+ |
+ Basic test for fstat(2) |
+ |
+fstat02 |
+ |
+ Verify that, fstat(2) succeeds to get the status of a file and fills |
+ the stat structure elements though file pointed to by file descriptor |
+ not opened for reading. |
+ |
+fstat03 |
+ |
+ Verify that, fstat(2) returns -1 and sets errno to EBADF if the file |
+ pointed to by file descriptor is not valid. |
+ |
+fstat04 |
+ |
+ Verify that, fstat(2) succeeds to get the status of a file pointed by |
+ file descriptor and fills the stat structure elements. |
+ |
+ |
+fstatfs01 |
+ |
+ Basic test for fstatfs(2) |
+ |
+fstatfs02 |
+ |
+ Testcase to check fstatfs() sets errno correctly. |
+ |
+lstat01 |
+ |
+ Verify that, lstat(2) succeeds to get the status of a file pointed to by |
+ symlink and fills the stat structure elements. |
+ |
+lstat02 |
+ |
+ Basic test for lstat(2) |
+ |
+lstat03 |
+ |
+ Verify that, |
+ 1) lstat(2) returns -1 and sets errno to EACCES if search permission is |
+ denied on a component of the path prefix. |
+ 2) lstat(2) returns -1 and sets errno to ENOENT if the specified file |
+ does not exists or empty string. |
+ 3) lstat(2) returns -1 and sets errno to EFAULT if pathname points |
+ outside user's accessible address space. |
+ 4) lstat(2) returns -1 and sets errno to ENAMETOOLONG if the pathname |
+ component is too long. |
+ 5) lstat(2) returns -1 and sets errno to ENOTDIR if the directory |
+ component in pathname is not a directory. |
+ |
+stat01 |
+ |
+ Verify that, stat(2) succeeds to get the status of a file and fills the |
+ stat structure elements. |
+ |
+stat02 |
+ |
+ Verify that, stat(2) succeeds to get the status of a file and fills the |
+ stat structure elements though process doesn't have read access to the |
+ file. |
+ |
+ |
+stat03 |
+ |
+ Verify that, |
+ 1) stat(2) returns -1 and sets errno to EACCES if search permission is |
+ denied on a component of the path prefix. |
+ 2) stat(2) returns -1 and sets errno to ENOENT if the specified file |
+ does not exists or empty string. |
+ 3) stat(2) returns -1 and sets errno to EFAULT if pathname points |
+ outside user's accessible address space. |
+ 4) stat(2) returns -1 and sets errno to ENAMETOOLONG if the pathname |
+ component is too long. |
+ 5) stat(2) returns -1 and sets errno to ENOTDIR if the directory |
+ component in pathname is not a directory. |
+ |
+stat05 |
+ |
+ Basic test for the stat05(2) system call. |
+ |
+statfs01 |
+ |
+ Basic test for the statfs(2) system call. |
+ |
+statfs02 |
+ |
+ Testcase to check that statfs(2) sets errno correctly. |
+ |
+ |
+read01 |
+ |
+ Basic test for the read(2) system call |
+ |
+read02 |
+ |
+ test 1: Does read return -1 if file descriptor is not valid, check for EBADF |
+ |
+ test 2: Check if read sets EISDIR, if the fd refers to a directory |
+ |
+ test 3: Check if read sets EFAULT, if buf is -1. |
+ |
+read03 |
+ |
+ Testcase to check that read() sets errno to EAGAIN |
+ |
+read04 |
+ |
+ Testcase to check if read returns the number of bytes read correctly. |
+ |
+umask01 |
+ |
+ Basic test for the umask(2) system call. |
+ |
+umask02 |
+ |
+ Check that umask changes the mask, and that the previous |
+ value of the mask is returned correctly for each value. |
+ |
+umask03 |
+ |
+ Check that umask changes the mask, and that the previous |
+ value of the mask is returned correctly for each value. |
+ |
+ |
+ |
+getgroups01 |
+ |
+ Getgroups system call critical test |
+ |
+getgroups02 |
+ |
+ Basic test for getgroups(2) |
+ |
+getgroups03 |
+ |
+ Verify that, getgroups() system call gets the supplementary group IDs |
+ of the calling process. |
+ |
+getgroups04 |
+ |
+ Verify that, |
+ getgroups() fails with -1 and sets errno to EINVAL if the size |
+ argument value is -ve. |
+ |
+gethostname01 |
+ |
+ Basic test for gethostname(2) |
+ |
+ |
+getpgid01 |
+ |
+ Testcase to check the basic functionality of getpgid(). |
+ |
+getpgid02 |
+ |
+ Testcase to check the basic functionality of getpgid(). |
+ |
+getpgrp01 |
+ Basic test for getpgrp(2) |
+ |
+ |
+getpriority01 |
+ |
+ Verify that getpriority() succeeds get the scheduling priority of |
+ the current process, process group or user. |
+ |
+ |
+getpriority02 |
+ |
+ Verify that, |
+ 1) getpriority() sets errno to ESRCH if no process was located |
+ was located for 'which' and 'who' arguments. |
+ 2) getpriority() sets errno to EINVAL if 'which' argument was |
+ not one of PRIO_PROCESS, PRIO_PGRP, or PRIO_USER. |
+ |
+getresgid01 |
+ |
+ Verify that getresgid() will be successful to get the real, effective |
+ and saved user id of the calling process. |
+ |
+getresgid02 |
+ |
+ Verify that getresgid() will be successful to get the real, effective |
+ and saved user ids after calling process invokes setregid() to change |
+ the effective/saved gids to that of specified user. |
+ |
+getresgid03 |
+ |
+ Verify that getresgid() will be successful to get the real, effective |
+ and saved user ids after calling process invokes setresgid() to change |
+ the effective gid to that of specified user. |
+ |
+ |
+getresuid01 |
+ |
+ Verify that getresuid() will be successful to get the real, effective |
+ and saved user id of the calling process. |
+ |
+getresuid02 |
+ |
+ Verify that getresuid() will be successful to get the real, effective |
+ and saved user ids after calling process invokes setreuid() to change |
+ the effective/saved uids to that of specified user. |
+ |
+getresuid03 |
+ |
+ Verify that getresuid() will be successful to get the real, effective |
+ and saved user ids after calling process invokes setresuid() to change |
+ the effective uid to that of specified user. |
+ |
+ |
+getsid01 |
+ |
+ call getsid() and make sure it succeeds |
+ |
+getsid02 |
+ |
+ call getsid() with an invalid PID to produce a failure |
+ |
+ |
+setfsgid01 |
+ |
+ Testcase to check the basic functionality of setfsgid(2) system |
+ call. |
+ |
+setfsuid01 |
+ |
+ Testcase to test the basic functionality of the setfsuid(2) system |
+ call. |
+ |
+ |
+setgid01 |
+ |
+ Basic test for the setgid(2) system call. |
+ |
+setgid02 |
+ |
+ Testcase to ensure that the setgid() system call sets errno to EPERM |
+ |
+ |
+setgroups01 |
+ |
+ Basic test for the setgroups(2) system call. |
+ |
+setgroups02 |
+ |
+ Verify that, |
+ 1. setgroups() fails with -1 and sets errno to EINVAL if the size |
+ argument value is > NGROUPS |
+ 2. setgroups() fails with -1 and sets errno to EPERM if the |
+ calling process is not super-user. |
+ |
+setgroups03 |
+ |
+ Verify that, only root process can invoke setgroups() system call to |
+ set the supplementary group IDs of the process. |
+ |
+ |
+setpgid01 |
+ |
+ Basic test for setpgid(2) system call. |
+ |
+setpgid02 |
+ |
+ Testcase to check that setpgid() sets errno correctly. |
+ |
+setpgid03 |
+ |
+ Test to check the error and trivial conditions in setpgid system call |
+ |
+setpriority01 |
+ |
+ set the priority for the test process lower. |
+ |
+setpriority02 |
+ |
+ test for an expected failure by trying to raise |
+ the priority for the test process while not having |
+ permissions to do so. |
+ |
+setpriority03 |
+ |
+ test for an expected failure by using an invalid |
+ PRIO value |
+ setpriority04 |
+ |
+setpriority04 |
+ test for an expected failure by using an invalid |
+ process id |
+ |
+ |
+setpriority05 |
+ test for an expected failure by trying to change |
+ a process with an ID that is different from the |
+ test process |
+ |
+setregid01 |
+ |
+ Basic test for the setregid(2) system call. |
+ |
+setregid02 |
+ |
+ Test that setregid() fails and sets the proper errno values when a |
+ non-root user attempts to change the real or effective group id to a |
+ value other than the current gid or the current effective gid. |
+ |
+setregid03 |
+ |
+ Test setregid() when executed by a non-root user. |
+ |
+setregid04 |
+ |
+ Test setregid() when executed by root. |
+ |
+setresuid01 |
+ |
+ Test setresuid() when executed by root. |
+ |
+setresuid02 |
+ |
+ Test that a non-root user can change the real, effective and saved |
+ uid values through the setresuid system call. |
+ |
+ |
+setresuid03 |
+ |
+ Test that the setresuid system call sets the proper errno |
+ values when a non-root user attempts to change the real, effective or |
+ saved uid to a value other than one of the current uid, the current |
+ effective uid of the current saved uid. Also verify that setresuid |
+ fails if an invalid uid value is given. |
+ |
+setreuid01 |
+ |
+ Basic test for the setreuid(2) system call. |
+ |
+setreuid02 |
+ |
+ Test setreuid() when executed by root. |
+ |
+setreuid03 |
+ |
+ Test setreuid() when executed by an unprivileged user. |
+ |
+ |
+setreuid04 |
+ |
+ Test that root can change the real and effective uid to an |
+ unprivileged user. |
+ |
+setreuid05 |
+ |
+ Test the setreuid() feature, verifying the role of the saved-set-uid |
+ and setreuid's effect on it. |
+ |
+setreuid06 |
+ |
+ Test that EINVAL is set when setreuid is given an invalid user id. |
+ |
+setrlimit01 |
+ |
+ Testcase to check the basic functionality of the setrlimit system call. |
+ |
+ |
+setrlimit02 |
+ |
+ Testcase to test the different errnos set by setrlimit(2) system call. |
+ |
+setrlimit03 |
+ |
+ Test for EPERM when the super-user tries to increase RLIMIT_NOFILE |
+ beyond the system limit. |
+ |
+setsid01 |
+ |
+ Test to check the error and trivial conditions in setsid system call |
+ |
+setuid01 |
+ |
+ Basic test for the setuid(2) system call. |
+ |
+setuid02 |
+ |
+ Basic test for the setuid(2) system call as root. |
+ |
+setuid03 |
+ |
+ Test to check the error and trivial conditions in setuid |
+ |
+fs_perms |
+ |
+ Regression test for Linux filesystem permissions. |
+uname01 |
+ |
+ Basic test for the uname(2) system call. |
+ |
+uname02 |
+ |
+ Call uname() with an invalid address to produce a failure |
+ |
+uname03 |
+ |
+ Call uname() and make sure it succeeds |
+sysctl01 |
+ |
+ Testcase for testing the basic functionality of sysctl(2) system call. |
+ This testcase attempts to read the kernel parameters using |
+ sysctl({CTL_KERN, KERN_ }, ...) and compares it with the known |
+ values. |
+ |
+sysctl03 |
+ |
+ Testcase to check that sysctl(2) sets errno to EPERM correctly. |
+ |
+ |
+sysctl04 |
+ |
+ Testcase to check that sysctl(2) sets errno to ENOTDIR |
+ |
+ |
+sysctl05 |
+ |
+ Testcase to check that sysctl(2) sets errno to EFAULT |
+ |
+time01 |
+ |
+ Basic test for the time(2) system call. |
+ |
+ |
+time02 |
+ |
+ Verify that time(2) returns the value of time in seconds since |
+ the Epoch and stores this value in the memory pointed to by the parameter. |
+ |
+times01 |
+ |
+ Basic test for the times(2) system call. |
+ |
+times02 |
+ |
+ Testcase to test that times() sets errno correctly |
+ |
+times03 |
+ |
+ Testcase to check the basic functionality of the times() system call. |
+ |
+utime01 |
+ |
+ Verify that the system call utime() successfully sets the modification |
+ and access times of a file to the current time, if the times argument |
+ is null, and the user ID of the process is "root". |
+ |
+utime02 |
+ |
+ Verify that the system call utime() successfully sets the modification |
+ and access times of a file to the current time, under the following |
+ constraints, |
+ - The times argument is null. |
+ - The user ID of the process is not "root". |
+ - The file is owned by the user ID of the process. |
+ |
+utime03 |
+ |
+ Verify that the system call utime() successfully sets the modification |
+ and access times of a file to the current time, under the following |
+ constraints, |
+ - The times argument is null. |
+ - The user ID of the process is not "root". |
+ - The file is not owned by the user ID of the process. |
+ - The user ID of the process has write access to the file. |
+ |
+ |
+utime04 |
+ |
+ Verify that the system call utime() successfully sets the modification |
+ and access times of a file to the time specified by times argument, if |
+ the times argument is not null, and the user ID of the process is "root". |
+ |
+ |
+utime05 |
+ |
+ Verify that the system call utime() successfully sets the modification |
+ and access times of a file to the value specified by the times argument |
+ under the following constraints, |
+ - The times argument is not null, |
+ - The user ID of the process is not "root". |
+ - The file is owned by the user ID of the process. |
+ |
+ |
+utime06 |
+ |
+ 1. Verify that the system call utime() fails to set the modification |
+ and access times of a file to the current time, under the following |
+ constraints, |
+ - The times argument is null. |
+ - The user ID of the process is not "root". |
+ - The file is not owned by the user ID of the process. |
+ - The user ID of the process does not have write access to the |
+ file. |
+ 2. Verify that the system call utime() fails to set the modification |
+ and access times of a file if the specified file doesn't exist. |
+ |
+settimeofday01 |
+ |
+ Testcase to check the basic functionality of settimeofday(). |
+ |
+ |
+settimeofday02 |
+ |
+ Testcase to check that settimeofday() sets errnos correctly. |
+ |
+stime01 |
+ |
+ Verify that the system call stime() successfully sets the system's idea |
+ of data and time if invoked by "root" user. |
+ |
+stime02 |
+ |
+ Verify that the system call stime() fails to set the system's idea |
+ of data and time if invoked by "non-root" user. |
+ |
+gettimeofday01 |
+ |
+ Testcase to check that gettimeofday(2) sets errno to EFAULT. |
+ |
+ |
+ |
+alarm01 |
+ |
+ Basic test for alarm(2). |
+ |
+alarm02 |
+ |
+ Boundary Value Test for alarm(2). |
+ |
+alarm03 |
+ |
+ Alarm(2) cleared by a fork. |
+ |
+alarm04 |
+ |
+ Check that when an alarm request is made, the signal SIGALRM is received |
+ even after the process has done an exec(). |
+ |
+alarm05 |
+ |
+ Check the functionality of the Alarm system call when the time input |
+ parameter is non zero. |
+ |
+alarm06 |
+ |
+ Check the functionality of the Alarm system call when the time input |
+ parameter is zero. |
+ |
+alarm07 |
+ |
+ Check the functionality of the alarm() when the time input |
+ parameter is non-zero and the process does a fork. |
+ |
+getegid01 |
+ |
+ Basic test for getegid(2) |
+ |
+ |
+geteuid01 |
+ |
+ Basic test for geteuid(2) |
+ |
+ |
+getgid01 |
+ |
+ Basic test for getgid(2) |
+ |
+getgid02 |
+ |
+ Testcase to check the basic functionality of getgid(). |
+ |
+getgid03 |
+ |
+ Testcase to check the basic functionality of getegid(). |
+ |
+ |
+getpid01 |
+ |
+ Basic test for getpid(2) |
+ |
+ |
+getpid02 |
+ |
+ Verify that getpid() system call gets the process ID of the of the |
+ calling process. |
+ |
+ |
+getppid01 |
+ |
+ Testcase to check the basic functionality of the getppid() syscall. |
+ |
+ |
+getuid01 |
+ |
+ Basic test for getuid(2) |
+ |
+getuid02 |
+ |
+ Testcase to check the basic functionality of the geteuid() system call. |
+ |
+getuid03 |
+ |
+ Testcase to check the basic functionality of the getuid() system call. |
+ |
+nanosleep01 |
+ |
+ Verify that nanosleep() will be successful to suspend the execution |
+ of a process for a specified time. |
+ |
+nanosleep02 |
+ |
+ Verify that nanosleep() will be successful to suspend the execution |
+ of a process, returns after the receipt of a signal and writes the |
+ remaining sleep time into the structure. |
+ |
+nanosleep03 |
+ |
+ Verify that nanosleep() will fail to suspend the execution |
+ of a process for a specified time if interrupted by a non-blocked signal. |
+ |
+nanosleep04 |
+ |
+ Verify that nanosleep() will fail to suspend the execution |
+ of a process if the specified pause time is invalid. |
+ |