accept01 | |
Verify that accept() returns the proper errno for various failure cases | |
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 existance of a file if | |
search access is permitted on the pathname of the specified file. | |
access06 | |
EFAULT error testing for access(2). | |
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. | |
asyncio02 | |
Write/close flushes data to the file. | |
bind01 | |
Verify that bind() returns the proper errno for various failure cases | |
brk01 | |
Test the basic functionality of brk. | |
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. | |
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. | |
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). | |
connect01 | |
Verify that connect() returns the proper errno for various failure cases | |
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. | |
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). | |
execl01 | |
Basic test for execl(2). | |
execle01 | |
Basic test for execle(2). | |
execlp01 | |
Basic test for execlp(2). | |
execv01 | |
Basic test for execv(2). | |
execve01 | |
Basic test for execve(2). | |
execve02 | |
Testcase to check whether execve(2) sets errno to EACCES correctly | |
execve03 | |
Testcase to check execve sets the following errnos correctly: | |
1. ENAMETOOLONG | |
2. ENOENT | |
3. ENOTDIR | |
4. EFAULT | |
5. EACCES | |
6. ENOEXEC | |
execve04 | |
Testcase to check execve(2) sets errno to EMFILE correctly | |
execve05 | |
Testcase to check execve sets the following errnos correctly: | |
1. ETXTBSY | |
execve06 | |
This testcase tests the basic functionality of the execve(2) system | |
call. | |
execvp01 | |
Basic test for execvp(2) | |
exit01 | |
Check that exit returns the correct values to the waiting parent | |
exit02 | |
Check that exit flushes output file buffers and closes files upon | |
exitting | |
fchdir01 | |
fchdir01 - create a directory and cd into it. | |
fchdir02 | |
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. | |
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 notifictaion | |
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 | |
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 refering to the same file. | |
fork11 | |
Test that parent gets a pid from each child when doing wait | |
fpathconf | |
Basic test for fpathconf(2) | |
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. | |
fsync01 | |
Basic test for fsync(2) | |
fsync02 | |
Create a sparse file, fsync it, and time the fsync | |
fsync03 | |
Testcase to check that fsync(2) sets errno correctly. | |
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. | |
getcwd01 | |
Testcase to test that getcwd(2) sets errno correctly. | |
getcwd02 | |
Testcase to check the basic functionality of the getcwd(2) system call. | |
getcwd03 | |
Testcase to check the basic functionality of the getcwd(2) system call | |
for symbolically linked directories. | |
getdents01 | |
getdents01 - get a directory entry | |
getdents02 | |
getdents02 - check that we get a failure with a bad file descriptor | |
getdents03 | |
getdents03 - check for an EINVAL error | |
getdents04 | |
getdents04 - check for an ENOTDIR error | |
getdents05 | |
getdents05 - check that we get a failure with a bad dirp address. | |
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(). | |
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. | |
gethostid01 | |
Basic test for gethostid(2) | |
gethostname01 | |
Basic test for gethostname(2) | |
getitimer01 | |
getitimer01 - check that a correct call to getitimer() succeeds | |
getitimer02 | |
getitimer02 - check that a getitimer() call fails as expected | |
with an incorrect second argument. | |
getitimer03 | |
getitimer03 - check that a getitimer() call fails as expected | |
with an incorrect first argument. | |
getpeername01 | |
Verify that getpeername() returns the proper errno for various failure cases | |
getpgid01 | |
Testcase to check the basic functionality of getpgid(). | |
getpgid02 | |
Testcase to check the basic functionality of getpgid(). | |
getpgrp01.c Basic test for getpgrp(2) | |
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. | |
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 | |
getsid01 - call getsid() and make sure it succeeds | |
getsid02 | |
getsid02 - call getsid() with an invalid PID to produce a failure | |
getsockname01 | |
Verify that getsockname() returns the proper errno for various failure cases | |
getsockopt01 | |
Verify that getsockopt() returns the proper errno for various failure cases | |
gettimeofday01 | |
Testcase to check that gettimeofday(2) sets errno to EFAULT. | |
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. | |
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 | |
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-existant 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. | |
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. | |
listen01 | |
Verify that listen() returns the proper errno for various failure cases | |
link02 | |
Basic test for link(2) | |
link03 | |
Multi links tests | |
link04 | |
Negative test cases for link(2) | |
link05 | |
Multi links (EMLINK) negative test | |
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. | |
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. | |
mkdir01 | |
Basic errno test for mkdir(2) | |
mkdir02 | |
This test will verify that new directory created | |
by mkdir(2) inherites 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. | |
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. | |
modify_ldt01 | |
Testcase to check the error conditions for modify_ldt(2) | |
modify_ldt02 | |
Testcase to check the error conditions for modify_ldt(2) | |
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. | |
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 requsted 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. | |
msgctl01 | |
msgctl01 - create a message queue, then issue the IPC_STAT command | |
and RMID commands to test the functionality | |
msgctl02 | |
msgctl02 - create a message queue, then issue the IPC_SET command | |
to lower the msg_qbytes value. | |
msgctl03 | |
msgctl03 - create a message queue, then issue the IPC_RMID command | |
msgctl04 | |
msgctl04 - test for EACCES, EFAULT and EINVAL errors using | |
a variety of incorrect calls. | |
msgctl05 | |
msgctl05 - test for EPERM error | |
msgget01 | |
msgget01 - create a message queue, write a message to it and | |
read it back. | |
msgget02 | |
msgget02 - test for EEXIST and ENOENT errors | |
msgget03 | |
msgget03 - test for an ENOSPC error by using up all available | |
message queues. | |
msgget04 | |
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 | |
msgrcv01 - test that msgrcv() receives the expected message | |
msgrcv02 | |
msgrcv02 - test for EACCES and EFAULT errors | |
msgrcv03 | |
msgrcv03 - test for EINVAL error | |
msgrcv04 | |
msgrcv04 - test for E2BIG and ENOMSG errors | |
msgrcv05 | |
msgrcv05 - test for EINTR error | |
msgrcv06 | |
msgrcv06 - test for EIDRM error | |
msgsnd01 | |
msgsnd01 - test that msgsnd() enqueues a message correctly | |
msgsnd02 | |
msgsnd02 - test for EACCES and EFAULT errors | |
msgsnd03 | |
msgsnd03 - test for EINVAL error | |
msgsnd04 | |
msgsnd04 - test for EAGAIN error | |
msgsnd05 | |
msgsnd05 - test for EINTR error | |
msgsnd06 | |
msgsnd06 - test for EIDRM error | |
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. | |
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 | |
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. | |
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) | |
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 | |
pathconf01 | |
Basic test for pathconf(2) | |
pause01 | |
Basic test for pause(2) | |
pause02 | |
Verify that, pause() returns -1 and sets errno to EINTR after receipt | |
of a signal which is caught by the calling process. Also, verify that | |
the calling process will resume execution from the point of suspension. | |
pause03 | |
Verify that a process is no longer accessible on receipt of SIGKILL | |
signal after being suspended by pause(). | |
personality01 | |
personality01 - Check that we can set the personality for a process. | |
personality02 | |
personality02 - Check that we get EINVAL for a bad personality. | |
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. | |
poll01 | |
Verify that valid open file descriptor must be provided to poll() to | |
succeed. | |
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 aganist 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 aganist 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. | |
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. | |
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. | |
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 | |
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. | |
sbrk01 | |
Basic test for the sbrk(2) system call. | |
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. | |
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. | |
semctl01 | |
semctl01 - test the 10 possible semctl() commands | |
semctl02 | |
semctl02 - test for EACCES error | |
semctl03 | |
semctl03 - test for EINVAL and EFAULT errors | |
semctl04 | |
semctl04 - test for EPERM error | |
semctl05 | |
semctl05 - test for ERANGE error | |
semget01 | |
semget01 - test that semget() correclty creates a semaphore set | |
semget02 | |
semget02 - test for EACCES and EEXIST errors | |
semget03 | |
semget03 - test for ENOENT error | |
semget05 | |
semget05 - test for ENOSPC error | |
semget06 | |
semget06 - test for EINVAL error | |
semop01 | |
semop01 - test that semop() basic functionality is correct | |
semop02 | |
semop02 - test for E2BIG, EACCES, EFAULT and EINVAL errors | |
semop03 | |
semop03 - test for EFBIG error | |
semop04 | |
semop04 - test for EAGAIN error | |
semop05 | |
semop05 - test for EINTR and EIDRM errors | |
send01 | |
Verify that send() returns the proper errno for various failure cases | |
sendfile02 | |
Testcase to test the basic functionality of the sendfile(2) system call. | |
sendfile03 | |
Testcase to test that sendfile(2) system call returns appropriete | |
errnos on error. | |
sendmsg01 | |
Verify that sendmsg() returns the proper errno for various failure cases | |
sendto01 | |
Verify that sendto() returns the proper errno for various failure cases | |
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. | |
setitimer01 | |
setitimer01 - check that a resonable setitimer() call succeeds. | |
setitimer02 | |
setitimer02 - check that a setitimer() call fails as expected | |
with incorrect values. | |
setitimer03 | |
setitimer03 - check that a setitimer() call fails as expected | |
with incorrect values. | |
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 | |
setpgrp01 | |
Basic test for the setpgrp(2) system call. | |
setpgrp02 | |
Testcase to check the basic functionality of the setpgrp(2) syscall. | |
setpriority01 | |
setpriority01 - set the priority for the test process lower. | |
setpriority02 | |
setpriority02 - test for an expected failure by trying to raise | |
the priority for the test process while not having | |
permissions to do so. | |
setpriority03 | |
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 | |
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 attemps 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 unpriviledged user. | |
setreuid04 | |
Test that root can change the real and effective uid to an | |
unpriviledged 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 | |
setsockopt01 | |
Verify that setsockopt() returns the proper errno for various failure cases | |
settimeofday01 | |
Testcase to check the basic functionality of settimeofday(). | |
settimeofday02 | |
Testcase to check that settimeofday() sets errnos correctly. | |
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 | |
shmat01 | |
shmat01 - test that shmat() works correctly | |
shmat02 | |
shmat02 - check for EINVAL and EACCES errors | |
shmat03 | |
shmat03 - test for EACCES error | |
shmctl01 | |
shmctl01 - test the IPC_STAT, IPC_SET and IPC_RMID commands as | |
they are used with shmctl() | |
shmctl02 | |
shmctl02 - check for EACCES, EFAULT and EINVAL errors | |
shmctl03 | |
shmctl03 - check for EACCES, and EPERM errors | |
shmdt01 | |
shmdt01 - check that shared memory is detached correctly | |
shmdt02 | |
shmdt02 - check for EINVAL error | |
shmget01 | |
shmget01 - test that shmget() correctly creates a shared memory segment | |
shmget02 | |
shmget02 - check for ENOENT, EEXIST and EINVAL errors | |
shmget03 | |
shmget03 - test for ENOSPC error | |
shmget04 | |
shmget04 - test for EACCES error | |
shmget05 | |
shmget05 - test for EACCES error | |
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 | |
signal01 - set the signal handler to our own function | |
signal02 | |
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 | |
signal04 - restore signals to default behavior | |
signal05 | |
signal03 - 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. | |
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 | |
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. | |
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. | |
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 creat a symbolic link of an existing | |
object name path. | |
symlink05 | |
Verify that, symlink will succeed to creat a symbolic link of an | |
non-existing object name path. | |
sync01 | |
Basic test for the sync(2) system call. | |
sync02 | |
Open a file for write; modify the file, then do a sync(). | |
Verify that the data has been written to disk by re-opening the file. | |
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. | |
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. | |
ulimit01 | |
Basic test for the ulimit(2) system call. | |
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. | |
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 | |
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. | |
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. | |
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. | |
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) | |
wait02 | |
Basic test for wait(2) system call. | |
wait401 | |
wait401 - check that a call to wait4() correctly waits for a child | |
process to exit | |
wait402 | |
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 unitl 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 | |
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. | |