1personality01  
2	Check that we can set the personality for a process.
3personality02  
4	Check that we get EINVAL for a bad personality.
5exit01  
6	Check that exit returns the correct values to the waiting parent
7exit02  
8	Check that exit flushes output file buffers and closes files upon
9	exiting
10wait02
11	Basic test for wait(2) system call. 
12wait401  
13	check that a call to wait4() correctly waits for a child
14	process to exit
15wait402  
16	check for ECHILD errno when using an illegal pid value
17
18waitpid01  
19	Check that when a child kills itself by generating an alarm
20	exception, the waiting parent is correctly notified.
21waitpid02  
22	Check that when a child kills itself by generating an integer zero
23	divide exception, the waiting parent is correctly notified.
24waitpid03  
25	Check that parent waits until specific child has returned.
26waitpid04  
27	test to check the error conditions in waitpid sys call
28waitpid05  
29	Check that when a child kills itself with a kill statement after
30	determining its process id by using getpid, the parent receives a
31	correct report of the cause of its death. This also indirectly
32	checks that getpid returns the correct process id.
33waitpid06  
34	Tests to see if pid's returned from fork and waitpid are same.
35waitpid07  
36	Tests to see if pid's returned from fork and waitpid are same.
37waitpid08  
38	Tests to see if pid's returned from fork and waitpid are same
39waitpid09  
40	Check ability of parent to wait until child returns, and that the
41	child's process id is returned through the waitpid. Check that
42	waitpid returns immediately if no child is present.
43waitpid10  
44	Tests to see if pid's returned from fork and waitpid are same
45waitpid11  
46	Tests to see if pid's returned from fork and waitpid are same
47waitpid12  
48	Tests to see if pid's returned from fork and waitpid are same
49waitpid13  
50	Tests to see if pid's returned from fork and waitpid are same
51fcntl01  
52	Test F_DUPFD, F_SETFL cmds of fcntl
53fcntl02
54	Basic test for fcntl(2) using F_DUPFD argument.
55fcntl03
56	Basic test for fcntl(2) using F_GETFD argument.
57fcntl04
58	Basic test for fcntl(2) using F_GETFL argument. 
59fcntl05
60	Basic test for fcntl(2) using F_GETLK argument. 
61fcntl06  
62	Error checking conditions for remote locking of regions of a file.
63fcntl07
64	Close-On-Exec functional test. 
65fcntl07B
66	Close-On-Exec of named pipe functional test. 
67fcntl08
68	Basic test for fcntl(2) using F_SETFL argument. 
69fcntl09
70	Basic test for fcntl(2) using F_SETLK argument. 
71fcntl10
72	Basic test for fcntl(2) using F_SETLKW argument. 
73fcntl11  
74	Testcase to check locking of regions of a file
75
76fcntl12  
77
78	Testcase to test that fcntl() sets EMFILE for F_DUPFD command.
79
80fcntl13  
81
82	Testcase to test that fcntl() sets errno correctly.
83
84fcntl14  
85
86	File locking test cases for fcntl. In Linux, S_ENFMT is not implemented
87	in the kernel. However all standard Unix kernels define S_ENFMT as
88	S_ISGID. So this test defines S_ENFMT as S_ISGID.
89
90fcntl15  
91
92	Check that file locks are removed when file closed
93
94fcntl16  
95
96	Additional file locking test cases for checking proper notification
97	of processes on lock change
98
99fcntl17  
100
101	Check deadlock detection for file locking
102
103fcntl18  
104
105	Test to check the error conditions in fcntl system call
106
107fcntl19  
108
109	Testcase to check locking of regions of a file
110
111fcntl20  
112
113	Check locking of regions of a file
114
115fcntl21  
116
117	Check locking of regions of a file
118
119dup01		
120
121	Basic test for dup(2).
122
123dup02		 	
124
125	Negative test for dup(2) with bad fd.
126
127dup03
128
129	Negative test for dup(2) (too many fds).
130
131dup04
132
133	Basic test for dup(2) of a system pipe descriptor.
134
135dup05
136
137	Basic test for dup(2) of a named pipe descriptor. 
138
139dup201  
140
141	Negative tests for dup2() with bad fd (EBADF), and for "too many
142	open files" (EMFILE)
143
144dup202  
145
146	Is the access mode the same for both file descriptors?
147	0: read only ?	"0444"
148	1: write only ? "0222"
149	2: read/write ? "0666"
150
151dup203  
152
153	Testcase to check the basic functionality of dup2().
154
155dup204  
156
157	Testcase to check the basic functionality of dup2(2).
158
159
160msync01  
161
162	Verify that, msync() succeeds, when the region to synchronize, is part
163	of, or all of a mapped region.
164
165msync02  
166
167	Verify that msync() succeeds when the region to synchronize is mapped
168	shared and the flags argument is MS_INVALIDATE.
169
170msync03  
171
172	Verify that, msync() fails, when the region to synchronize, is outside
173	the address space of the process.
174
175msync04  
176
177	Verify that, msync() fails, when the region to synchronize, is mapped
178	but the flags argument is invalid.
179
180msync05  
181
182	Verify that, msync() fails, when the region to synchronize, was not
183	mapped.
184
185
186sendfile02  
187
188	Testcase to test the basic functionality of the sendfile(2) system call.
189
190sendfile03  
191
192	Testcase to test that sendfile(2) system call returns appropriate
193	errnos on error.
194
195fork01
196	Basic test for fork(2). 
197fork02  
198	Test correct operation of fork:
199	pid == 0 in child;
200	pid > 0 in parent from wait;
201fork03  
202	Check that child can use a large text space and do a large
203	number of operations.	
204fork04
205	Child inheritance of Environment Variables after fork(). 
206fork05
207	Make sure LDT is propagated correctly 
208fork06  
209	Test that a process can fork children a large number of
210	times in succession
211fork07  
212	Check that all children inherit parent's file descriptor
213fork08  
214	Check if the parent's file descriptors are affected by 
215	actions in the child; they should not be.
216fork09  
217	Check that child has access to a full set of files.
218fork10  
219	Check inheritance of file descriptor by children, they
220	should all be referring to the same file.
221fork11  
222	Test that parent gets a pid from each child when doing wait
223vfork01  
224	Fork a process using vfork() and verify that, the attribute values like
225	euid, ruid, suid, egid, rgid, sgid, umask, inode and device number of
226	root and current working directories are same as that of the parent 
227	process.
228vfork02  
229	Fork a process using vfork() and verify that, the pending signals in
230	the parent are not pending in the child process.
231ioctl01  
232
233	Testcase to check the errnos set by the ioctl(2) system call.
234
235ioctl02  
236
237	Testcase to test the TCGETA, and TCSETA ioctl implementations for
238	the tty driver
239
240sockioctl01  
241
242	Verify that ioctl() on sockets returns the proper errno for various
243	failure cases
244
245getitimer01
246	check that a correct call to getitimer() succeeds
247
248
249getitimer02
250	check that a getitimer() call fails as expected
251	with an incorrect second argument.
252
253getitimer03
254	check that a getitimer() call fails as expected
255	with an incorrect first argument.
256
257setitimer01
258	check that a reasonable setitimer() call succeeds.
259
260
261setitimer02
262	check that a setitimer() call fails as expected
263	with incorrect values.
264
265setitimer03
266	check that a setitimer() call fails as expected
267	with incorrect values.
268
269float_trigo
270	increase CPUs workload - verify that results of some math functions are stable
271	trigonometric (acos, asin, atan, atan2, cos, sin, tan),
272	hyperbolic (cosh, sinh, tanh),
273
274float_exp_log
275	increase CPUs workload - verify that results of some math functions are stable
276	exponential and logarithmic functions (exp, log, log10),
277	Functions that manipulate floating-point numbers (modf, ldexp, frexp),
278	Euclidean distance function (hypot),
279
280float_bessel
281	increase CPUs workload - verify that results of some math functions are stable
282	Bessel (j0, j1, y0, y1),
283	Computes the natural logarithm of the gamma function (lgamma),
284
285fload_power
286	increase CPUs workload - verify that results of some math functions are stable
287	Computes sqrt, power, fmod
288
289float_iperb
290	increase CPUs workload - verify that results of some math functions are stable
291pth_str01
292
293	Creates a tree of threads
294
295pth_str02
296
297	Creates n threads
298
299pth_str03
300
301	Creates a tree of threads does calculations, and
302	returns result to parent
303
304
305asyncio02
306
307	Write/close flushes data to the file.
308
309
310fpathconf
311
312	Basic test for fpathconf(2)
313
314gethostid01
315
316	Basic test for gethostid(2) 
317
318
319pathconf01
320
321	Basic test for pathconf(2) 
322
323setpgrp01
324
325	Basic test for the setpgrp(2) system call.  
326
327setpgrp02  
328
329	Testcase to check the basic functionality of the setpgrp(2) syscall.
330
331
332ulimit01
333
334	Basic test for the ulimit(2) system call. 
335
336mmstress
337
338	Performs General Stress with Race conditions
339
340mmap1
341
342	Test the LINUX memory manager. The program is aimed at
343	stressing the memory manager by simultaneous map/unmap/read
344	by light weight processes, the test is scheduled to run for
345	a minimum of 24 hours.
346
347mmap2
348
349	Test the LINUX memory manager. The program is aimed at
350	stressing the memory manager by repeated map/write/unmap of a
351	of a large gb size file.
352
353mmap3
354
355	Test the LINUX memory manager. The program is aimed at
356	stressing the memory manager by repeated map/write/unmap
357	of file/memory of random size (maximum 1GB) this is done by
358	multiple processes.
359
360mmap001
361
362	Tests mmapping a big file and writing it once 
363
364mmap01  
365
366	Verify that, mmap() succeeds when used to map a file where size of the
367	file is not a multiple of the page size, the memory area beyond the end
368	of the file to the end of the page is accessible. Also, verify that
369	this area is all zeroed and the modifications done to this area are
370	not written to the file.
371
372mmap02  
373
374	Call mmap() with prot parameter set to PROT_READ and with the file
375	descriptor being open for read, to  map a file creating mapped memory
376	with read access. The minimum file permissions should be 0444.
377
378mmap03  
379
380	Call mmap() to map a file creating a mapped region with execute access
381	under the following conditions -
382	- The prot parameter is set to PROT_EXE
383	- The file descriptor is open for read
384	- The file being mapped has execute permission bit set.
385	- The minimum file permissions should be 0555.
386
387	The call should succeed to map the file creating mapped memory with the
388	required attributes.
389
390mmap04  
391
392	Call mmap() to map a file creating a mapped region with read/exec access
393	under the following conditions -
394	- The prot parameter is set to PROT_READ|PROT_EXEC
395	- The file descriptor is open for read
396	- The file being mapped has read and execute permission bit set.
397	- The minimum file permissions should be 0555.
398
399	The call should succeed to map the file creating mapped memory with the
400	required attributes.
401
402
403mmap05  
404
405	Call mmap() to map a file creating mapped memory with no access under
406	the following conditions -
407	- The prot parameter is set to PROT_NONE
408	- The file descriptor is open for read(any mode other than write)
409	- The minimum file permissions should be 0444.
410
411	The call should succeed to map the file creating mapped memory with the
412	required attributes.
413
414mmap06  
415
416	Call mmap() to map a file creating a mapped region with read access
417	under the following conditions -
418	- The prot parameter is set to PROT_READ
419	- The file descriptor is open for writing.
420
421	The call should fail to map the file.
422
423
424mmap07  
425
426	Call mmap() to map a file creating a mapped region with read access
427	under the following conditions -
428	- The prot parameter is set to PROT_WRITE
429	- The file descriptor is open for writing.
430	- The flags parameter has MAP_PRIVATE set.
431
432	The call should fail to map the file.
433
434mmap08  
435
436	Verify that mmap() fails to map a file creating a mapped region 
437	when the file specified by file descriptor is not valid.
438
439
440mremap01  
441
442	Verify that, mremap() succeeds when used to expand the existing
443	virtual memory mapped region to the requested size where the
444	virtual memory area was previously mapped to a file using mmap().
445
446mremap02  
447
448	Verify that, 
449	mremap() fails when used to expand the existing virtual memory mapped 
450	region to the requested size, if the virtual memory area previously 
451	mapped was not page aligned or invalid argument specified.
452
453mremap03  
454
455	Verify that, 
456	mremap() fails when used to expand the existing virtual memory mapped 
457	region to the requested size, if there already exists mappings that
458	cover the whole address space requested or the old address specified was
459	not mapped.
460
461mremap04  
462
463	Verify that, 
464	mremap() fails when used to expand the existing virtual memory mapped 
465	region to the requested size, if the memory area cannot be expanded at
466	the current virtual address and MREMAP_MAYMOVE flag not set.
467
468munmap01  
469
470	Verify that, munmap call will succeed to unmap a mapped file or
471	anonymous shared memory region from the calling process's address space
472	and after successful completion of munmap, the unmapped region is no
473	longer accessible.
474
475munmap02  
476
477	Verify that, munmap call will succeed to unmap a mapped file or
478	anonymous shared memory region from the calling process's address space
479	if the region specified by the address and the length is part or all of
480	the mapped region.
481
482munmap03  
483
484	Verify that, munmap call will fail to unmap a mapped file or anonymous
485	shared memory region from the calling process's address space if the
486	address and the length of the region to be unmapped points outside the
487	calling process's address space
488
489brk01
490	Test the basic functionality of brk.
491
492sbrk01
493	Basic test for the sbrk(2) system call.
494
495
496mprotect01  
497
498	Testcase to check the error conditions for mprotect(2)
499
500mprotect02  
501
502	Testcase to check the mprotect(2) system call.
503
504mprotect03  
505
506	Testcase to check the mprotect(2) system call.
507
508msgctl01 
509	create a message queue, then issue the IPC_STAT command
510	and RMID commands to test the functionality
511
512
513msgctl02 
514	create a message queue, then issue the IPC_SET command
515	to lower the msg_qbytes value.
516
517
518msgctl03
519	create a message queue, then issue the IPC_RMID command
520
521
522
523msgctl04 
524	test for EACCES, EFAULT and EINVAL errors using
525	a variety of incorrect calls.
526
527
528msgctl05 
529	test for EPERM error
530
531
532
533msgget01 
534	create a message queue, write a message to it and
535	read it back.
536
537
538msgget02 
539	test for EEXIST and ENOENT errors
540
541
542msgget03 
543	test for an ENOSPC error by using up all available
544	message queues.
545
546msgget04 
547	test for an EACCES error by creating a message queue
548	with no read or write permission and then attempting
549	to access it with various permissions.
550
551msgrcv01 
552	test that msgrcv() receives the expected message
553
554msgrcv02
555	test for EACCES and EFAULT errors
556
557msgrcv03
558	test for EINVAL error
559
560msgrcv04
561	test for E2BIG and ENOMSG errors
562
563msgrcv05
564	test for EINTR error
565
566msgrcv06
567	test for EIDRM error
568
569msgsnd01
570	test that msgsnd() enqueues a message correctly
571
572msgsnd02
573	test for EACCES and EFAULT errors
574
575msgsnd03
576	test for EINVAL error
577
578msgsnd04
579	test for EAGAIN error
580
581msgsnd05
582	test for EINTR error
583
584
585msgsnd06
586	test for EIDRM error
587
588link02
589
590	Basic test for link(2) 
591
592link03
593
594	Multi links tests
595
596link04
597
598	Negative test cases for link(2)
599
600link05
601
602	Multi links (EMLINK) negative test 
603
604readlink01  
605
606	Verify that, readlink will succeed to read the contents of the symbolic
607	link created the process.
608
609readlink02
610
611	Basic test for the readlink(2) system call 
612
613readlink03  
614
615	Verify that,
616	1) readlink(2) returns -1 and sets errno to EACCES if search/write
617	permission is denied in the directory where the symbolic link
618	resides.
619	2) readlink(2) returns -1 and sets errno to EINVAL if the buffer size
620	is not positive.
621	3) readlink(2) returns -1 and sets errno to EINVAL if the specified
622	file is not a symbolic link file.
623	4) readlink(2) returns -1 and sets errno to ENAMETOOLONG if the 
624	pathname component of symbolic link is too long (ie, > PATH_MAX).
625	5) readlink(2) returns -1 and sets errno to ENOENT if the component of
626	symbolic link points to an empty string.
627
628readlink04  
629
630	Verify that, readlink call will succeed to read the contents of the
631	symbolic link if invoked by non-root user who is not the owner of the
632	symbolic link.
633
634
635symlink01
636
637	Test of various file function calls, such as rename or open, on a symbolic 
638	link file. 
639
640symlink02
641
642	Basic test for the symlink(2) system call. 
643
644symlink03  
645
646	Verify that,
647	1) symlink(2) returns -1 and sets errno to EACCES if search/write
648	permission is denied in the directory where the symbolic link is
649	being created.
650	2) symlink(2) returns -1 and sets errno to EEXIST if the specified 
651	symbolic link already exists.
652	3) symlink(2) returns -1 and sets errno to EFAULT if the specified
653	file or symbolic link points to invalid address.
654	4) symlink(2) returns -1 and sets errno to ENAMETOOLONG if the 
655	pathname component of symbolic link is too long (ie, > PATH_MAX).
656	5) symlink(2) returns -1 and sets errno to ENOTDIR if the directory
657	component in pathname of symbolic link is not a directory.
658	6) symlink(2) returns -1 and sets errno to ENOENT if the component of
659	symbolic link points to an empty string.
660
661symlink04  
662
663	Verify that, symlink will succeed to create a symbolic link of an existing
664	object name path.
665
666
667symlink05  
668
669	Verify that, symlink will succeed to create a symbolic link of an
670	non-existing object name path.
671
672
673unlink05
674
675	Basic test for the unlink(2) system call. 
676
677unlink06
678
679	Test for the unlink(2) system call of a FIFO. 
680
681unlink07
682
683	Tests for error handling for the unlink(2) system call. 
684
685unlink08
686
687	More tests for error handling for the unlink(2) system call.
688
689
690linktest
691
692	Regression test for max links per file
693
694rename01  
695
696	This test will verify the rename(2) syscall basic functionality.
697	Verify rename() works when the "new" file or directory does not exist.
698
699rename02
700
701	Basic test for the rename(2) system call
702
703rename03  
704
705	This test will verify that rename(2) functions correctly
706	when the "new" file or directory exists
707
708rename04  
709
710	This test will verify that rename(2) failed when newpath is 
711	a non-empty directory and return EEXIST or ENOTEMPTY
712
713rename05  
714
715	This test will verify that rename(2) fails with EISDIR
716
717rename06  
718
719	This test will verify that rename(2) failed in EINVAL
720
721rename07  
722
723	This test will verify that rename(2) failed in ENOTDIR
724
725rename08  
726
727	This test will verify that rename(2) syscall failed in EFAULT
728
729rename09  
730
731	check rename() fails with EACCES
732
733rename10  
734
735	This test will verify that rename(2) syscall fails with ENAMETOOLONG
736	and ENOENT
737
738rename11  
739
740	This test will verify that rename(2) failed in EBUSY
741
742rename12  
743
744	check rename() fails with EPERM
745
746rename13  
747
748	Verify rename() return successfully and performs no other action
749	when "old" file and "new" file link to the same file.
750
751rmdir01  
752
753	This test will verify that rmdir(2) syscall basic functionality.
754	verify rmdir(2) returns a value of 0 and the directory being
755	removed 
756
757rmdir02  
758
759	This test will verify that rmdir(2) fail in 
760	1. ENOTEMPTY
761	2. EBUSY
762	3. ENAMETOOLONG
763	4. ENOENT
764	5. ENOTDIR
765	6. EFAULT
766	7. EFAULT
767
768rmdir03  
769
770	check rmdir() fails with EPERM or EACCES
771
772rmdir04
773
774	Basic test for the rmdir(2) system call 
775
776rmdir05
777
778	Verify that rmdir(2) returns a value of -1 and sets errno to indicate the error.
779
780
781
782mkdir01
783
784	Basic errno test for mkdir(2) 
785
786mkdir02  
787
788	This test will verify that new directory created
789	by mkdir(2) inherits the group ID from the parent
790	directory and S_ISGID bit, if the S_ISGID bit is set
791	in the parent directory.
792
793mkdir03  
794
795	Check mkdir() with various error conditions that should produce
796	EFAULT, ENAMETOOLONG, EEXIST, ENOENT and ENOTDIR
797
798mkdir04  
799
800	Attempt to create a directory in a directory having no permissions. 
801
802mkdir05  
803
804	This test will verify the mkdir(2) syscall basic functionality
805
806mkdir08
807
808	Basic test for mkdir(2)
809
810
811mknod01
812
813	Basic test for mknod(2) 
814
815mknod02  
816
817	Verify that mknod(2) succeeds when used to create a filesystem 
818	node with set group-ID bit set on a directory without set group-ID bit set.
819	The node created should have set group-ID bit set and its gid should be 
820	equal to that of its parent directory.
821
822mknod03  
823
824	Verify that mknod(2) succeeds when used to create a filesystem 
825	node with set group-ID bit set on a directory with set group-ID bit set.
826	The node created should have set group-ID bit set and its gid should be 
827	equal to the effective gid of the process.
828
829mknod04  
830
831	Verify that mknod(2) succeeds when used to create a filesystem 
832	node on a directory with set group-ID bit set.
833	The node created should not have group-ID bit set and its gid should be 
834	equal to the effective gid of the process.
835
836mknod05  
837
838	Verify that mknod(2) succeeds when used by root to create a filesystem 
839	node with set group-ID bit set on a directory with set group-ID bit set.
840	The node created should have set group-ID bit set and its gid should be 
841	equal to that of its parent directory.
842
843
844mknod06  
845
846	Verify that,
847	1) mknod(2) returns -1 and sets errno to EEXIST if specified path
848	already exists.
849	2) mknod(2) returns -1 and sets errno to EFAULT if pathname points
850	outside user's accessible address space.
851	3) mknod(2) returns -1 and sets errno to ENOENT if the directory 
852	component in pathname does not exist.
853	4) mknod(2) returns -1 and sets errno to ENAMETOOLONG if the pathname
854	component was too long.
855	5) mknod(2) returns -1 and sets errno to ENOTDIR if the directory
856	component in pathname is not a directory.
857
858mknod07  
859
860	Verify that,
861	1) mknod(2) returns -1 and sets errno to EPERM if the process id of
862	the caller is not super-user.
863	2) mknod(2) returns -1 and sets errno to EACCES if parent directory
864	does not allow  write  permission  to  the process.
865
866mknod08  
867
868	Verify that mknod(2) succeeds when used to create a filesystem 
869	node on a directory without set group-ID bit set. The node created
870	should not have set group-ID bit set and its gid should be equal to that
871	of its parent directory.
872
873
874
875
876access01
877
878	Basic test for access(2) using F_OK, R_OK, W_OK, and X_OK  arguments.
879
880access02  
881
882	Verify that access() succeeds to check the read/write/execute permissions
883	on a file if the mode argument passed was R_OK/W_OK/X_OK.
884
885	Also verify that, access() succeeds to test the accessibility of the file
886	referred to by symbolic link if the pathname points to a symbolic link.
887
888access03
889
890	EFAULT error testing for access(2).
891
892access04  
893
894	Verify that,
895	1. access() fails with -1 return value and sets errno to EACCES
896	if the permission bits of the file mode do not permit the
897	requested (Read/Write/Execute) access.
898	2. access() fails with -1 return value and sets errno to EINVAL
899	if the specified access mode argument is invalid.
900	3. access() fails with -1 return value and sets errno to EFAULT
901	if the pathname points outside allocate address space for the
902	process.
903	4. access() fails with -1 return value and sets errno to ENOENT
904	if the specified file doesn't exist (or pathname is NULL).
905	5. access() fails with -1 return value and sets errno to ENAMETOOLONG
906	if the pathname size is > PATH_MAX characters.
907
908access05  
909
910	Verify that access() succeeds to check the existence of a file if
911	search access is permitted on the pathname of the specified file.
912
913access06
914
915	EFAULT error testing for access(2).
916
917chroot01  
918
919	Testcase to check the whether chroot sets errno to EPERM.
920
921chroot02  
922
923	Test functionality of chroot(2)
924
925chroot03  
926
927	Testcase to test whether chroot(2) sets errno correctly.
928
929pipeio
930
931	This tool can be used to beat on system or named pipes.
932	See the help() function below for user information.
933
934pipe01  
935
936	Testcase to check the basic functionality of the pipe(2) syscall:
937	Check that both ends of the pipe (both file descriptors) are
938	available to a process opening the pipe.
939
940pipe05  
941
942	Check what happens when pipe is passed a bad file descriptor.
943
944pipe06  
945
946	Check what happens when the system runs out of pipes.
947
948pipe08  
949
950	Check that a SIGPIPE signal is generated when a write is
951	attempted on an empty pipe.
952
953pipe09  
954
955	Check that two processes can use the same pipe at the same time.
956
957pipe10  
958
959	Check that parent can open a pipe and have a child read from it
960
961pipe11  
962
963	Check if many children can read what is written to a pipe by the
964	parent.
965
966
967sem01
968
969	Creates a semaphore and two processes.  The processes
970	each go through a loop where they semdown, delay for a
971	random amount of time, and semup, so they will almost
972	always be fighting for control of the semaphore.
973
974sem02
975	The application creates several threads using pthread_create().
976	One thread performs a semop() with the SEM_UNDO flag set. The
977	change in semaphore value performed by that semop should be
978	"undone" only when the last pthread exits.
979
980
981semctl01  
982
983	test the 10 possible semctl() commands
984
985semctl02  
986
987	test for EACCES error
988
989semctl03  
990
991	test for EINVAL and EFAULT errors
992
993semctl04 
994
995	test for EPERM error
996
997
998semctl05
999
1000	test for ERANGE error
1001
1002semget01
1003
1004	test that semget() correctly creates a semaphore set
1005
1006semget02 
1007
1008	test for EACCES and EEXIST errors
1009
1010semget03 
1011
1012	test for ENOENT error
1013
1014semget05 
1015
1016	test for ENOSPC error
1017
1018semget06
1019
1020	test for EINVAL error
1021
1022semop01 
1023
1024	test that semop() basic functionality is correct
1025
1026semop02
1027
1028	test for E2BIG, EACCES, EFAULT and EINVAL errors
1029
1030semop03
1031
1032	test for EFBIG error
1033
1034semop04
1035
1036	test for EAGAIN error
1037
1038semop05
1039
1040	test for EINTR and EIDRM errors
1041
1042
1043
1044msgctl01 
1045	create a message queue, then issue the IPC_STAT command
1046	and RMID commands to test the functionality
1047
1048
1049msgctl02 
1050	create a message queue, then issue the IPC_SET command
1051	to lower the msg_qbytes value.
1052
1053
1054msgctl03
1055	create a message queue, then issue the IPC_RMID command
1056
1057
1058
1059msgctl04 
1060	test for EACCES, EFAULT and EINVAL errors using
1061	a variety of incorrect calls.
1062
1063
1064msgctl05 
1065	test for EPERM error
1066
1067
1068
1069msgget01 
1070	create a message queue, write a message to it and
1071	read it back.
1072
1073
1074msgget02 
1075	test for EEXIST and ENOENT errors
1076
1077
1078msgget03 
1079	test for an ENOSPC error by using up all available
1080	message queues.
1081
1082msgget04 
1083	test for an EACCES error by creating a message queue
1084	with no read or write permission and then attempting
1085	to access it with various permissions.
1086
1087msgrcv01 
1088	test that msgrcv() receives the expected message
1089
1090msgrcv02
1091	test for EACCES and EFAULT errors
1092
1093msgrcv03
1094	test for EINVAL error
1095
1096msgrcv04
1097	test for E2BIG and ENOMSG errors
1098
1099msgrcv05
1100	test for EINTR error
1101
1102msgrcv06
1103	test for EIDRM error
1104
1105msgsnd01
1106	test that msgsnd() enqueues a message correctly
1107
1108msgsnd02
1109	test for EACCES and EFAULT errors
1110
1111msgsnd03
1112	test for EINVAL error
1113
1114msgsnd04
1115	test for EAGAIN error
1116
1117msgsnd05
1118	test for EINTR error
1119
1120
1121msgsnd06
1122	test for EIDRM error
1123
1124shmat01
1125	test that shmat() works correctly
1126
1127shmat02
1128	check for EINVAL and EACCES errors
1129
1130
1131shmat03
1132	test for EACCES error
1133
1134
1135shmctl01
1136	test the IPC_STAT, IPC_SET and IPC_RMID commands as
1137	they are used with shmctl()
1138
1139
1140shmctl02
1141	check for EACCES, EFAULT and EINVAL errors
1142
1143
1144shmctl03
1145	check for EACCES, and EPERM errors
1146
1147
1148shmdt01
1149	check that shared memory is detached correctly
1150
1151
1152shmdt02
1153	check for EINVAL error
1154
1155
1156shmget01
1157	test that shmget() correctly creates a shared memory segment
1158
1159
1160shmget02
1161	check for ENOENT, EEXIST and EINVAL errors
1162
1163
1164shmget03
1165	test for ENOSPC error
1166
1167
1168shmget04
1169	test for EACCES error
1170
1171
1172shmget05
1173	test for EACCES error
1174
1175openfile
1176
1177	Creates files and opens simultaneously
1178
1179open01  
1180
1181	Open a file with oflag = O_CREAT set, does it set the sticky bit off?
1182
1183	Open "/tmp" with O_DIRECTORY, does it set the S_IFDIR bit on?
1184
1185open02  
1186
1187	Test if open without O_CREAT returns -1 if a file does not exist.
1188
1189open03
1190
1191	Basic test for open(2)  
1192
1193open04  
1194
1195	Testcase to check that open(2) sets EMFILE if a process opens files
1196	more than its descriptor size
1197
1198open05  
1199
1200	Testcase to check open(2) sets errno to EACCES correctly.
1201
1202open06  
1203
1204	Testcase to check open(2) sets errno to ENXIO correctly.
1205
1206open07  
1207
1208	Test the open(2) system call to ensure that it sets ELOOP correctly.
1209
1210open08  
1211
1212	Check for the following errors:
1213	1.	EEXIST
1214	2.	EISDIR
1215	3.	ENOTDIR
1216	4.	ENAMETOOLONG
1217	5.	EFAULT
1218	6.	ETXTBSY
1219
1220
1221openfile
1222
1223	Creates files and opens simultaneously
1224
1225
1226chdir01  
1227
1228	Check proper operation of chdir(): tests whether the
1229	system call can it change the current, working directory, and find a
1230	file there? Will it fail on a non-directory entry ?
1231
1232chdir02	 	
1233
1234	Basic test for chdir(2).
1235
1236chdir03  
1237
1238	Testcase for testing that chdir(2) sets EACCES errno
1239
1240chdir04  
1241
1242	Testcase to test whether chdir(2) sets errno correctly.
1243
1244
1245chmod01  
1246
1247	Verify that, chmod(2) succeeds when used to change the mode permissions
1248	of a file. 
1249
1250chmod02
1251
1252	Basic test for chmod(2).
1253
1254chmod03  
1255
1256	Verify that, chmod(2) will succeed to change the mode of a file
1257	and set the sticky bit on it if invoked by non-root (uid != 0)
1258	process with the following constraints,
1259	- the process is the owner of the file.
1260	- the effective group ID or one of the supplementary group ID's of the
1261	process is equal to the group ID of the file.
1262
1263chmod04  
1264
1265	Verify that, chmod(2) will succeed to change the mode of a directory
1266	and set the sticky bit on it if invoked by non-root (uid != 0) process
1267	with the following constraints,
1268	- the process is the owner of the directory.
1269	- the effective group ID or one of the supplementary group ID's of the
1270	process is equal to the group ID of the directory.
1271
1272chmod05  
1273
1274	Verify that, chmod(2) will succeed to change the mode of a directory
1275	but fails to set the setgid bit on it if invoked by non-root (uid != 0)
1276	process with the following constraints,
1277	- the process is the owner of the directory.
1278	- the effective group ID or one of the supplementary group ID's of the
1279	process is not equal to the group ID of the directory.
1280
1281chmod06  
1282
1283	Verify that,
1284	1) chmod(2) returns -1 and sets errno to EPERM if the effective user id
1285	of process does not match the owner of the file and the process is
1286	not super user.
1287	2) chmod(2) returns -1 and sets errno to EACCES if search permission is
1288	denied on a component of the path prefix.
1289	3) chmod(2) returns -1 and sets errno to EFAULT if pathname points
1290	outside user's accessible address space.
1291	4) chmod(2) returns -1 and sets errno to ENAMETOOLONG if the pathname
1292	component is too long.
1293	5) chmod(2) returns -1 and sets errno to ENOTDIR if the directory
1294	component in pathname is not a directory.
1295	6) chmod(2) returns -1 and sets errno to ENOENT if the specified file
1296	does not exists.
1297
1298chmod07  
1299
1300	Verify that, chmod(2) will succeed to change the mode of a file/directory
1301	and sets the sticky bit on it if invoked by root (uid = 0) process with
1302	the following constraints,
1303	- the process is not the owner of the file/directory.
1304	- the effective group ID or one of the supplementary group ID's of the
1305	process is equal to the group ID of the file/directory.
1306
1307
1308chown01
1309
1310	Basic test for chown(2).
1311
1312chown02  
1313
1314	Verify that, when chown(2) invoked by super-user to change the owner and
1315	group of a file specified by path to any numeric owner(uid)/group(gid)
1316	values,
1317	- clears setuid and setgid bits set on an executable file.
1318	- preserves setgid bit set on a non-group-executable file.
1319
1320chown03  
1321
1322	Verify that, chown(2) succeeds to change the group of a file specified
1323	by path when called by non-root user with the following constraints,
1324	- euid of the process is equal to the owner of the file.	 
1325	- the intended gid is either egid, or one of the supplementary gids
1326	of the process.
1327	Also, verify that chown() clears the setuid/setgid bits set on the file.
1328
1329chown04  
1330
1331	Verify that,
1332	1) chown(2) returns -1 and sets errno to EPERM if the effective user id
1333	of process does not match the owner of the file and the process is
1334	not super user.
1335	2) chown(2) returns -1 and sets errno to EACCES if search permission is
1336	denied on a component of the path prefix.
1337	3) chown(2) returns -1 and sets errno to EFAULT if pathname points
1338	outside user's accessible address space.
1339	4) chown(2) returns -1 and sets errno to ENAMETOOLONG if the pathname
1340	component is too long.
1341	5) chown(2) returns -1 and sets errno to ENOTDIR if the directory
1342	component in pathname is not a directory.
1343	6) chown(2) returns -1 and sets errno to ENOENT if the specified file
1344	does not exists.
1345
1346chown05  
1347
1348	Verify that, chown(2) succeeds to change the owner and group of a file
1349	specified by path to any numeric owner(uid)/group(gid) values when invoked 
1350	by super-user.
1351
1352
1353close01  
1354
1355	Test that closing a regular file and a pipe works correctly
1356
1357close02  
1358
1359	Check that an invalid file descriptor returns EBADF
1360
1361close08
1362
1363	Basic test for close(2).
1364
1365
1366fchdir01  
1367
1368	create a directory and cd into it.
1369
1370fchdir02  
1371
1372	try to cd into a bad directory (bad fd).
1373
1374
1375fchmod01
1376
1377	Basic test for Fchmod(2).
1378
1379fchmod02  
1380
1381	Verify that, fchmod(2) will succeed to change the mode of a file/directory
1382	set the sticky bit on it if invoked by root (uid = 0) process with
1383	the following constraints,
1384	- the process is not the owner of the file/directory.
1385	- the effective group ID or one of the supplementary group ID's of the
1386	process is equal to the group ID of the file/directory.
1387
1388fchmod03  
1389
1390	Verify that, fchmod(2) will succeed to change the mode of a file
1391	and set the sticky bit on it if invoked by non-root (uid != 0)
1392	process with the following constraints,
1393	- the process is the owner of the file.
1394	- the effective group ID or one of the supplementary group ID's of the
1395	process is equal to the group ID of the file.
1396
1397fchmod04  
1398
1399	Verify that, fchmod(2) will succeed to change the mode of a directory
1400	and set the sticky bit on it if invoked by non-root (uid != 0) process
1401	with the following constraints,
1402	- the process is the owner of the directory.
1403	- the effective group ID or one of the supplementary group ID's of the
1404	process is equal to the group ID of the directory.
1405
1406fchmod05  
1407
1408	Verify that, fchmod(2) will succeed to change the mode of a directory
1409	but fails to set the setgid bit on it if invoked by non-root (uid != 0)
1410	process with the following constraints,
1411	- the process is the owner of the directory.
1412	- the effective group ID or one of the supplementary group ID's of the
1413	process is not equal to the group ID of the directory.
1414
1415fchmod06  
1416
1417	Verify that,
1418	1) fchmod(2) returns -1 and sets errno to EPERM if the effective user id
1419	of process does not match the owner of the file and the process is
1420	not super user.
1421	2) fchmod(2) returns -1 and sets errno to EBADF if the file descriptor
1422	of the specified file is not valid.
1423
1424fchmod07  
1425
1426	Verify that, fchmod(2) succeeds when used to change the mode permissions
1427	of a file specified by file descriptor. 
1428
1429
1430fchown01
1431
1432	Basic test for fchown(2).
1433
1434fchown02  
1435
1436	Verify that, when fchown(2) invoked by super-user to change the owner and
1437	group of a file specified by file descriptor to any numeric 
1438	owner(uid)/group(gid) values,
1439	- clears setuid and setgid bits set on an executable file.
1440	- preserves setgid bit set on a non-group-executable file.
1441
1442fchown03  
1443
1444	Verify that, fchown(2) succeeds to change the group of a file specified
1445	by path when called by non-root user with the following constraints,
1446	- euid of the process is equal to the owner of the file.	 
1447	- the intended gid is either egid, or one of the supplementary gids
1448	of the process.
1449	Also, verify that fchown() clears the setuid/setgid bits set on the file.
1450
1451fchown04  
1452
1453	Verify that,
1454	1) fchown(2) returns -1 and sets errno to EPERM if the effective user id
1455	of process does not match the owner of the file and the process is
1456	not super user.
1457	2) fchown(2) returns -1 and sets errno to EBADF if the file descriptor
1458	of the specified file is not valid.
1459
1460fchown05  
1461
1462	Verify that, fchown(2) succeeds to change the owner and group of a file
1463	specified by file descriptor to any numeric owner(uid)/group(gid) values 
1464	when invoked by super-user.
1465
1466lchown01  
1467
1468	Verify that, lchown(2) succeeds to change the owner and group of a file
1469	specified by path to any numeric owner(uid)/group(gid) values when invoked 
1470	by super-user.
1471
1472
1473lchown02  
1474
1475	Verify that,
1476	1) lchown(2) returns -1 and sets errno to EPERM if the effective user id
1477	of process does not match the owner of the file and the process is
1478	not super user.
1479	2) lchown(2) returns -1 and sets errno to EACCES if search permission is
1480	denied on a component of the path prefix.
1481	3) lchown(2) returns -1 and sets errno to EFAULT if pathname points
1482	outside user's accessible address space.
1483	4) lchown(2) returns -1 and sets errno to ENAMETOOLONG if the pathname
1484	component is too long.
1485	5) lchown(2) returns -1 and sets errno to ENOTDIR if the directory
1486	component in pathname is not a directory.
1487	6) lchown(2) returns -1 and sets errno to ENOENT if the specified file
1488	does not exists.
1489
1490
1491creat01  
1492
1493	Testcase to check the basic functionality of the creat(2) system call.
1494
1495creat03  
1496
1497	Testcase to check whether the sticky bit cleared.
1498
1499creat04  
1500
1501	Testcase to check creat(2) fails with EACCES
1502
1503creat05  
1504
1505	Testcase to check that creat(2) system call returns EMFILE.
1506
1507creat06  
1508
1509	Testcase to check creat(2) sets the following errnos correctly:
1510	1.	EISDIR
1511	2.	ENAMETOOLONG
1512	3.	ENOENT
1513	4.	ENOTDIR
1514	5.	EFAULT
1515	6.	EACCES
1516
1517creat07  
1518
1519	Testcase to check creat(2) sets the following errnos correctly:
1520	1.	ETXTBSY
1521
1522creat09
1523
1524	Basic test for creat(2) using 0700 argument.
1525
1526truncate01  
1527
1528	Verify that, truncate(2) succeeds to truncate a file to a specified
1529	length.
1530
1531
1532truncate02  
1533
1534	Verify that, truncate(2) succeeds to truncate a file to a certain length,
1535	but the attempt to read past the truncated length will fail.  
1536
1537
1538truncate03  
1539
1540	Verify that,
1541	1) truncate(2) returns -1 and sets errno to EACCES if search/write
1542	permission denied for the process on the component of the path prefix
1543		or named file.
1544	2) truncate(2) returns -1 and sets errno to ENOTDIR if the component of
1545	the path prefix is not a directory.
1546	3) truncate(2) returns -1 and sets errno to EFAULT if pathname points
1547	outside user's accessible address space.
1548	4) truncate(2) returns -1 and sets errno to ENAMETOOLONG if the component
1549	of a pathname exceeded 255 characters or entire pathname exceeds 1023
1550	characters.
1551	5) truncate(2) returns -1 and sets errno to ENOENT if the named file
1552	does not exist.
1553
1554ftruncate01  
1555
1556	Verify that, ftruncate(2) succeeds to truncate a file to a specified
1557	length if the file indicated by file descriptor opened for writing.
1558
1559ftruncate02  
1560
1561	Verify that, ftruncate(2) succeeds to truncate a file to a certain length,
1562	but the attempt to read past the truncated length will fail.  
1563
1564ftruncate03  
1565
1566	Verify that,
1567	1) ftruncate(2) returns -1 and sets errno to EINVAL if the specified
1568	truncate length is less than 0.
1569	2) ftruncate(2) returns -1 and sets errno to EBADF if the file descriptor
1570	of the specified file is not valid.
1571
1572vhangup01  
1573
1574	Check the return value, and errno of vhangup(2)
1575	when a non-root user calls vhangup().
1576
1577vhangup02  
1578
1579	To test the basic functionality of vhangup(2)
1580growfiles
1581
1582	This program will grow a list of files.
1583	Each file will grow by grow_incr before the same
1584	file grows twice.  Each file is open and closed before next file is opened.
1585
1586pipe01  
1587
1588	Testcase to check the basic functionality of the pipe(2) syscall:
1589	Check that both ends of the pipe (both file descriptors) are
1590	available to a process opening the pipe.
1591
1592pipe05  
1593
1594	Check what happens when pipe is passed a bad file descriptor.
1595
1596pipe06  
1597
1598	Check what happens when the system runs out of pipes.
1599
1600pipe08  
1601
1602	Check that a SIGPIPE signal is generated when a write is
1603	attempted on an empty pipe.
1604
1605pipe09  
1606
1607	Check that two processes can use the same pipe at the same time.
1608
1609pipe10  
1610
1611	Check that parent can open a pipe and have a child read from it
1612
1613pipe11  
1614
1615	Check if many children can read what is written to a pipe by the
1616	parent.
1617
1618pipeio
1619
1620	This tool can be used to beat on system or named pipes.
1621	See the help() function below for user information.
1622
1623	/ipc_stress/message_queue_test_01.c
1624	/ipc_stress/pipe_test_01.c
1625	/ipc_stress/semaphore_test_01.c
1626	/ipc_stress/single_test_01.c
1627
1628proc01
1629	Recursively reads all files within /proc filesystem.
1630
1631lftest
1632	The purpose of this test is to verify the file size limitations of a filesystem.
1633	It writes one buffer at a time and lseeks from the beginning of the file to the
1634	end of the last write position.  The intent is to test lseek64.
1635
1636
1637llseek01  
1638
1639	Verify that, llseek() call succeeds to set the file pointer position 
1640	to an offset larger than file size. Also, verify that any attempt
1641	to write to this location fails.
1642
1643llseek02  
1644
1645	Verify that,
1646	1. llseek() returns -1 and sets errno to EINVAL, if the 'Whence' argument
1647	is not a proper value.
1648	2. llseek() returns -1 and sets errno to EBADF, if the file handle of
1649	the specified file is not valid.
1650
1651lseek01
1652
1653	Basic test for lseek(2) 
1654
1655lseek02
1656
1657	Negative test for lseek(2) 
1658
1659lseek03
1660
1661	Negative test for lseek(2) whence
1662
1663lseek04
1664
1665	Negative test for lseek(2) of a fifo 
1666
1667lseek05
1668
1669	Negative test for lseek(2) of a pipe
1670
1671lseek06  
1672
1673	Verify that, lseek() call succeeds to set the file pointer position 
1674	to less  than  or equal to the file size, when a file is opened for
1675	read or write.
1676
1677lseek07  
1678
1679	Verify that, lseek() call succeeds to set the file pointer position
1680	to more than the file size, when a file is opened for reading/writing.
1681
1682lseek08  
1683
1684	Verify that, lseek() call succeeds to set the file pointer position 
1685	to the end of the file when 'whence' value set to SEEK_END and any
1686	attempts to read from that position should fail.
1687
1688lseek09  
1689
1690	Verify that, lseek() call succeeds to set the file pointer position 
1691	to the current specified location, when 'whence' value is set to
1692	SEEK_CUR and the data read from the specified location should match
1693	the expected data.
1694
1695lseek10  
1696
1697	Verify that,
1698	1. lseek() returns -1 and sets errno to ESPIPE, if the file handle of
1699	the specified file is associated with a pipe, socket, or  FIFO.	
1700	2. lseek() returns -1 and sets errno to EINVAL, if the 'Whence' argument
1701	is not a proper value.
1702	3. lseek() returns -1 and sets errno to EBADF, if the file handle of
1703	the specified file is not valid.
1704
1705rwtest
1706
1707	A wrapper for doio and iogen.
1708
1709doio 
1710	a general purpose io initiator with system call and
1711	write logging.  See doio.h for the structure which defines
1712	what doio requests should look like.
1713
1714	Currently doio can handle read,write,reada,writea,ssread,
1715	sswrite, and many varieties of listio requests.
1716	For disk io, if the O_SSD flag is set doio will allocate
1717	the appropriate amount of ssd and do the transfer - thus, doio
1718	can handle all of the primitive types of file io.
1719
1720iogen 
1721	A tool for generating file/sds io for a doio process
1722
1723pread01  
1724
1725	Verify the functionality of pread() by writing known data using pwrite()
1726	to the file at various specified offsets and later read from the file from
1727	various specified offsets, comparing the data read against the data 
1728	written.
1729
1730pread02  
1731
1732	Verify that,
1733	1) pread() fails when attempted to read from an unnamed pipe.
1734	2) pread() fails if the specified offset position was invalid.
1735
1736
1737pwrite01  
1738
1739	Verify the functionality of pwrite() by writing known data using pwrite()
1740	to the file at various specified offsets and later read from the file from
1741	various specified offsets, comparing the data written against the data
1742	read using read().
1743
1744pwrite02  
1745
1746	Verify that,
1747	1) pwrite() fails when attempted to write to an unnamed pipe.
1748	2) pwrite() fails if the specified offset position was invalid.
1749
1750
1751read01
1752
1753	Basic test for the read(2) system call
1754
1755read02  
1756
1757	test 1: Does read return -1 if file descriptor is not valid, check for EBADF
1758
1759	test 2: Check if read sets EISDIR, if the fd refers to a directory
1760
1761	test 3: Check if read sets EFAULT, if buf is -1.
1762
1763read03  
1764
1765	Testcase to check that read() sets errno to EAGAIN
1766
1767read04  
1768
1769	Testcase to check if read returns the number of bytes read correctly.
1770
1771
1772readv01  
1773
1774	Testcase to check the basic functionality of the readv(2) system call.
1775
1776readv02  
1777
1778	Testcase to check the error conditions of the readv(2) system call.
1779
1780write01
1781
1782	Basic test for write(2) system call.
1783
1784write02  
1785
1786	Basic functionality test: does the return from write match the count
1787	of the number of bytes written.
1788
1789
1790write03  
1791
1792	Testcase to check that write(2) doesn't corrupt a file when it fails
1793
1794write04  
1795
1796	Testcase to check that write() sets errno to EAGAIN
1797
1798write05  
1799
1800	Check the return value, and errnos of write(2)
1801	- when the file descriptor is invalid - EBADF
1802	- when the buf parameter is invalid - EFAULT
1803	- on an attempt to write to a pipe that is not open for reading - EPIPE
1804
1805
1806writev01  
1807
1808	Testcase to check the basic functionality of writev(2) system call.
1809
1810
1811writev02  
1812
1813	In these testcases, writev() is called with partially valid data 
1814	to be written in a sparse file.
1815
1816
1817writev03  
1818
1819	The testcases are written calling writev() with partially valid data
1820	to overwrite the contents, to write in the beginning and to write in
1821	the end of the file.
1822
1823writev04  
1824
1825	The testcases are written calling writev() with partially valid data
1826	to overwrite the contents, to write in the beginning and to write in
1827	the end of the file. This is same as writev03, but the length of
1828	buffer used here is 8192 bytes.
1829
1830writev05  
1831
1832	These testcases are written to test writev() on sparse files. This
1833	is same as writev02. But the initial write() with valid data is
1834	done at the beginning of the file.
1835
1836disktest
1837
1838	Does repeated accesses to a filespec and optionally writes to, reads from,
1839	and  verifies  the  data.  By default, disktest makes assumptions about
1840	the running environment which allows for a quick start of IO generation.
1841	However, Disktest has  a  large  number  of command line options which can
1842	be used to adapt the test for a variety of uses including data integrity,
1843	medium integrity, performance, and  simple application simulation.
1844
1845
1846
1847
1848getdents01
1849	get a directory entry
1850
1851getdents02
1852	check that we get a failure with a bad file descriptor
1853
1854
1855getdents03
1856	check for an EINVAL error
1857
1858
1859getdents04
1860	check for an ENOTDIR error
1861
1862getdents05
1863	check that we get a failure with a bad dirp address.
1864process_stress
1865	Spawn creates a tree
1866	of processes with Dval depth and Bval breadth.  Each parent will spawn
1867	Bval children.  Each child will store information about themselves
1868	in shared memory.  The leaf nodes will communicate the existence
1869	of one another through message queues, once each leaf node has
1870	received communication from all of her siblings she will reduce
1871	the semaphore count and exit.  Meanwhile all parents are waiting
1872	to hear from their children through the use of semaphores.  When
1873	the semaphore count reaches zero then the parent knows all the
1874	children have talked to one another.  Locking of the connter semaphore
1875	is provided by the use of another (binary) semaphore.
1876
1877
1878
1879
1880sched_stress
1881	Exports required environment variables and runs sched_driver
1882sched_driver
1883	This program uses system calls to change the 
1884	priorities of the throughput measurement testcases.  
1885	When real-time is in effect, priorities 50 through 64
1886	are used.  (MAX_PRI and MIN_PRI)  When user-time     
1887	(normal) is in effect, 0-14 (corresponding to nice()  
1888	calls) is used.  The driver only keeps track of      
1889	values from 50 to 64, and the testcases will scale   
1890	them down to 0 to 14 when needed, to change the      
1891	priority of a user-time process.                       
1892
1893time-schedule
1894	This programme will determine the context switch 
1895	(scheduling) overhead on a system. It takes into 
1896	account SMP machines. True context switches are 
1897	measured.
1898trace_sched
1899	This utility spawns N tasks, each task sets its priority 
1900	by making a system call to the scheduler. The thread 
1901	function reads the priority that the scheduler sets for 
1902	this task and also reads from /proc the processor this 
1903	task last executed on the information that is gathered 
1904	by the thread function may be in real-time. Its only an 
1905	approximation.         
1906
1907sched_getscheduler01  
1908
1909	Testcase to check sched_getscheduler() returns correct return value 
1910
1911sched_getscheduler02  
1912
1913	To check for the errno ESRCH
1914
1915
1916sched_setscheduler01  
1917
1918	Testcase to test whether sched_setscheduler(2) sets the errnos
1919	correctly.
1920
1921sched_setscheduler02  
1922
1923	Testcase to test whether sched_setscheduler(2) sets the errnos
1924	correctly.
1925
1926
1927sched_yield01  
1928
1929	Testcase to check that sched_yield returns correct values.
1930
1931
1932nice01  
1933
1934	Verify that root can provide a negative value  to nice()
1935	and hence root can decrease the nice value of the process
1936	using nice() system call
1937
1938nice02  
1939
1940	Verify that any user can successfully increase the nice value of
1941	the process by passing a higher increment value (> max. applicable limits)
1942	to nice() system call.
1943
1944nice03  
1945
1946	Verify that any user can successfully increase the nice value of
1947	the process by passing an increment value (< max. applicable limits) to 
1948	nice() system call.
1949
1950nice04  
1951
1952	Verify that, nice(2) fails when, a non-root user attempts to increase
1953	the priority of a process by specifying a negative increment value.
1954
1955nice05
1956
1957	Basic test for nice(2) 
1958
1959
1960poll01  
1961
1962	Verify that valid open file descriptor must be provided to poll() to
1963	succeed.
1964
1965select01
1966
1967	Basic test for the select(2) system call to a fd of regular file with no I/O 
1968	and small timeout 
1969
1970select02
1971
1972	Basic test for the select(2) system call to fd of system pipe with no I/O 
1973	and small timeout 
1974
1975select03
1976
1977	Basic test for the select(2) system call to fd of a named-pipe (FIFO) 
1978
1979select04  
1980
1981	Verify that select(2) returns immediately (does not block) if the
1982	timeout value is zero.
1983
1984select05  
1985
1986	Verify that select(2) fails when one or more of the file descriptor sets
1987	specify a file descriptor which is not valid.
1988
1989select06  
1990
1991	Verify that select(2) fails when a signal is delivered before any of the
1992	selected events occur and before the timeout interval expires.
1993
1994select07  
1995
1996	Verify that select(2) fails when an invalid timeout interval is specified.
1997
1998select08  
1999
2000	Verify the functionality of select(2) by passing non-null writefds
2001	which points to a regular file, pipes or FIFO's.
2002
2003select09  
2004
2005	Verify the functionality of select(2) by passing non-null readfds
2006	which points to a regular file, pipes or FIFO's.
2007
2008select10 
2009
2010	Verify that a successful call to select() shall return the desired 
2011	number of modified descriptors for which bits are set in the bit masks, 
2012	where descriptors points to a regular file, pipes or FIFO's.
2013sem01
2014
2015	Creates a semaphore and two processes.  The processes
2016	each go through a loop where they semdown, delay for a
2017	random amount of time, and semup, so they will almost
2018	always be fighting for control of the semaphore.
2019
2020sem02
2021	The application creates several threads using pthread_create().
2022	One thread performs a semop() with the SEM_UNDO flag set. The
2023	change in semaphore value performed by that semop should be
2024	"undone" only when the last pthread exits.
2025
2026
2027semctl01  
2028
2029	test the 10 possible semctl() commands
2030
2031semctl02  
2032
2033	test for EACCES error
2034
2035semctl03  
2036
2037	test for EINVAL and EFAULT errors
2038
2039semctl04 
2040
2041	test for EPERM error
2042
2043
2044semctl05
2045
2046	test for ERANGE error
2047
2048semget01
2049
2050	test that semget() correctly creates a semaphore set
2051
2052semget02 
2053
2054	test for EACCES and EEXIST errors
2055
2056semget03 
2057
2058	test for ENOENT error
2059
2060semget05 
2061
2062	test for ENOSPC error
2063
2064semget06
2065
2066	test for EINVAL error
2067
2068semop01 
2069
2070	test that semop() basic functionality is correct
2071
2072semop02
2073
2074	test for E2BIG, EACCES, EFAULT and EINVAL errors
2075
2076semop03
2077
2078	test for EFBIG error
2079
2080semop04
2081
2082	test for EAGAIN error
2083
2084semop05
2085
2086	test for EINTR and EIDRM errors
2087
2088
2089shmat01
2090	test that shmat() works correctly
2091
2092shmat02
2093	check for EINVAL and EACCES errors
2094
2095
2096shmat03
2097	test for EACCES error
2098
2099
2100shmctl01
2101	test the IPC_STAT, IPC_SET and IPC_RMID commands as
2102	they are used with shmctl()
2103
2104
2105shmctl02
2106	check for EACCES, EFAULT and EINVAL errors
2107
2108
2109shmctl03
2110	check for EACCES, and EPERM errors
2111
2112
2113shmdt01
2114	check that shared memory is detached correctly
2115
2116
2117shmdt02
2118	check for EINVAL error
2119
2120
2121shmget01
2122	test that shmget() correctly creates a shared memory segment
2123
2124
2125shmget02
2126	check for ENOENT, EEXIST and EINVAL errors
2127
2128
2129shmget03
2130	test for ENOSPC error
2131
2132
2133shmget04
2134	test for EACCES error
2135
2136
2137shmget05
2138	test for EACCES error
2139shmat1
2140
2141	Test the LINUX memory manager. The program is aimed at
2142	stressing the memory manager by repeated shmat/write/read/
2143	shmatd of file/memory of random size (maximum 1000 * 4096)
2144	done by multiple processes.
2145
2146shm_test
2147
2148	This program is designed to stress the Memory management sub -
2149	system of Linux. This program will spawn multiple pairs of
2150	reader and writer threads. One thread will create the shared
2151	segment of random size and write to this memory, the other
2152	pair will read from this memory.
2153
2154sigaction01  
2155
2156	Test some features of sigaction (see below for more details)
2157
2158
2159sigaction02  
2160
2161	Testcase to check the basic errnos set by the sigaction(2) syscall.
2162
2163
2164sigaltstack01  
2165
2166	Send a signal using the main stack. While executing the signal handler
2167	compare a variable's address lying on the main stack with the stack
2168	boundaries returned by sigaltstack().
2169
2170
2171sigaltstack02  
2172
2173	Verify that,
2174	1. sigaltstack() fails and sets errno to EINVAL when "ss_flags" field
2175	pointed to by 'ss' contains invalid flags.
2176	2. sigaltstack() fails and sets errno to ENOMEM when the size of alternate
2177	stack area is less than MINSIGSTKSZ.
2178
2179sighold02
2180
2181	Basic test for the sighold02(2) system call. 
2182
2183
2184signal01
2185	set the signal handler to our own function
2186
2187
2188signal02 
2189	Test that we get an error using illegal signals
2190
2191signal03
2192
2193	Boundary value and other invalid value checking of signal setup and signal 
2194	sending. 
2195
2196
2197signal04 
2198	restore signals to default behavior
2199
2200
2201signal05 
2202	set signals to be ignored
2203
2204
2205sigprocmask01  
2206
2207	Verify that sigprocmask() succeeds to examine and change the calling
2208	process's signal mask. 
2209	Also, verify that sigpending() succeeds to store signal mask that are
2210	blocked from delivery and pending for the calling process.
2211
2212sigrelse01
2213
2214	Basic test for the sigrelse(2) system call. 
2215
2216sigsuspend01  
2217
2218	Verify that sigsuspend() succeeds to change process's current signal
2219	mask with the specified signal mask and suspends the process execution
2220	until the delivery of a signal.
2221kill01  
2222
2223	Test case to check the basic functionality of kill().
2224
2225kill02
2226
2227	Sending a signal to processes with the same process group ID
2228
2229kill03  
2230
2231	Test case to check that kill fails when given an invalid signal.
2232
2233kill04  
2234
2235	Test case to check that kill() fails when passed a non-existent pid.
2236
2237kill05  
2238
2239	Test case to check that kill() fails when passed a pid owned by another
2240	user.
2241
2242kill06  
2243
2244	Test case to check the basic functionality of kill() when killing an
2245	entire process group with a negative pid.
2246
2247kill07  
2248
2249	Test case to check that SIGKILL can not be caught.
2250
2251kill08  
2252
2253	Test case to check the basic functionality of kill() when kill an
2254	entire process group.
2255
2256kill09
2257	Basic test for kill(2)
2258
2259kill10
2260	Signal flooding test.
2261
2262
2263mtest01
2264        mallocs memory <chunksize> at a time until malloc fails.
2265mallocstress
2266
2267	This program is designed to stress the VMM by doing repeated  */
2268	mallocs and frees, with out using the swap space. This is     */
2269	achieved by spawning N threads with repeatedly malloc and free*/
2270	a memory of size M. The stress can be increased by increasing */
2271	the number of repetitions over the default number using the   */
2272	-l [num] option.
2273
2274clisrv
2275
2276	Sender: Read contents of data file. Write each line to socket, then
2277	read line back from socket and write to standard output.      
2278	Receiver: Read a stream socket one line at a time and write each line
2279	back to the sender.                                       
2280	Usage:       pthcli [port number]                 
2281			    
2282
2283socket01  
2284
2285	Verify that socket() returns the proper errno for various failure cases
2286
2287
2288socketpair01  
2289
2290	Verify that socketpair() returns the proper errno for various failure cases
2291
2292
2293sockioctl01  
2294
2295	Verify that ioctl() on sockets returns the proper errno for various
2296	failure cases
2297
2298connect01  
2299
2300	Verify that connect() returns the proper errno for various failure cases
2301
2302getpeername01
2303
2304	Verify that getpeername() returns the proper errno for various failure cases
2305
2306
2307getsockname01      
2308
2309	Verify that getsockname() returns the proper errno for various failure cases
2310
2311getsockopt01       
2312
2313	Verify that getsockopt() returns the proper errno for various failure cases
2314
2315listen01
2316
2317	Verify that listen() returns the proper errno for various failure cases
2318
2319accept01
2320
2321	Verify that accept() returns the proper errno for various failure cases
2322
2323bind01
2324
2325	Verify that bind() returns the proper errno for various failure cases
2326
2327
2328recv01  
2329
2330	Verify that recv() returns the proper errno for various failure cases
2331
2332
2333recvfrom01  
2334
2335	Verify that recvfrom() returns the proper errno for various failure cases
2336
2337
2338recvmsg01  
2339
2340	Verify that recvmsg() returns the proper errno for various failure cases
2341
2342send01
2343
2344	Verify that send() returns the proper errno for various failure cases
2345
2346sendmsg01
2347
2348	Verify that sendmsg() returns the proper errno for various failure cases
2349sendto01
2350
2351	Verify that sendto() returns the proper errno for various failure cases
2352
2353setsockopt01  
2354
2355	Verify that setsockopt() returns the proper errno for various failure cases
2356
2357
2358fstat01
2359
2360	Basic test for fstat(2)
2361
2362fstat02  
2363
2364	Verify that, fstat(2) succeeds to get the status of a file and fills
2365	the stat structure elements though file pointed to by file descriptor
2366	not opened for reading.
2367
2368fstat03  
2369
2370	Verify that, fstat(2) returns -1 and sets errno to EBADF if the file 
2371	pointed to by file descriptor is not valid.
2372
2373fstat04
2374
2375	Verify that, fstat(2) succeeds to get the status of a file pointed by
2376	file descriptor and fills the stat structure elements.
2377
2378
2379fstatfs01
2380
2381	Basic test for fstatfs(2)
2382
2383fstatfs02  
2384
2385	Testcase to check fstatfs() sets errno correctly.
2386
2387lstat01  
2388
2389	Verify that, lstat(2) succeeds to get the status of a file pointed to by
2390	symlink and fills the stat structure elements.
2391
2392lstat02
2393
2394	Basic test for lstat(2) 
2395
2396lstat03  
2397
2398	Verify that,
2399	1) lstat(2) returns -1 and sets errno to EACCES if search permission is
2400	denied on a component of the path prefix.
2401	2) lstat(2) returns -1 and sets errno to ENOENT if the specified file
2402	does not exists or empty string.
2403	3) lstat(2) returns -1 and sets errno to EFAULT if pathname points
2404	outside user's accessible address space.
2405	4) lstat(2) returns -1 and sets errno to ENAMETOOLONG if the pathname
2406	component is too long.
2407	5) lstat(2) returns -1 and sets errno to ENOTDIR if the directory
2408	component in pathname is not a directory.
2409
2410stat01  
2411
2412	Verify that, stat(2) succeeds to get the status of a file and fills the
2413	stat structure elements.
2414
2415stat02  
2416
2417	Verify that, stat(2) succeeds to get the status of a file and fills the
2418	stat structure elements though process doesn't have read access to the
2419	file.
2420
2421
2422stat03  
2423
2424	Verify that,
2425	1) stat(2) returns -1 and sets errno to EACCES if search permission is
2426	denied on a component of the path prefix.
2427	2) stat(2) returns -1 and sets errno to ENOENT if the specified file
2428	does not exists or empty string.
2429	3) stat(2) returns -1 and sets errno to EFAULT if pathname points
2430	outside user's accessible address space.
2431	4) stat(2) returns -1 and sets errno to ENAMETOOLONG if the pathname
2432	component is too long.
2433	5) stat(2) returns -1 and sets errno to ENOTDIR if the directory
2434	component in pathname is not a directory.
2435
2436stat05
2437
2438	Basic test for the stat05(2) system call. 
2439
2440statfs01
2441
2442	Basic test for the statfs(2) system call. 
2443
2444statfs02  
2445
2446	Testcase to check that statfs(2) sets errno correctly.
2447
2448
2449read01
2450
2451	Basic test for the read(2) system call
2452
2453read02  
2454
2455	test 1: Does read return -1 if file descriptor is not valid, check for EBADF
2456
2457	test 2: Check if read sets EISDIR, if the fd refers to a directory
2458
2459	test 3: Check if read sets EFAULT, if buf is -1.
2460
2461read03  
2462
2463	Testcase to check that read() sets errno to EAGAIN
2464
2465read04  
2466
2467	Testcase to check if read returns the number of bytes read correctly.
2468
2469umask01
2470
2471	Basic test for the umask(2) system call. 
2472
2473umask02  
2474
2475	Check that umask changes the mask, and that the previous
2476	value of the mask is returned correctly for each value.
2477
2478umask03  
2479
2480	Check that umask changes the mask, and that the previous
2481	value of the mask is returned correctly for each value.
2482
2483
2484
2485getgroups01
2486
2487	Getgroups system call critical test 
2488
2489getgroups02
2490
2491	Basic test for getgroups(2) 
2492
2493getgroups03  
2494
2495	Verify that, getgroups() system call gets the supplementary group IDs
2496	of the calling process.
2497
2498getgroups04  
2499
2500	Verify that,
2501	getgroups() fails with -1 and sets errno to EINVAL if the size
2502	argument value is -ve.
2503
2504gethostname01
2505
2506	Basic test for gethostname(2)
2507
2508
2509getpgid01
2510
2511	Testcase to check the basic functionality of getpgid().
2512
2513getpgid02
2514
2515	Testcase to check the basic functionality of getpgid().
2516
2517getpgrp01
2518	Basic test for getpgrp(2)
2519
2520
2521getpriority01  
2522
2523	Verify that getpriority() succeeds get the scheduling priority of 
2524	the current process, process group or user.
2525
2526
2527getpriority02  
2528
2529	Verify that,
2530	1) getpriority() sets errno to ESRCH  if no process was located
2531	was located for 'which' and 'who' arguments.
2532	2) getpriority() sets errno to EINVAL if 'which' argument was
2533	not one of PRIO_PROCESS, PRIO_PGRP, or PRIO_USER.
2534
2535getresgid01  
2536
2537	Verify that getresgid() will be successful to get the real, effective
2538	and saved user id of the calling process.
2539
2540getresgid02  
2541
2542	Verify that getresgid() will be successful to get the real, effective
2543	and saved user ids after calling process invokes setregid() to change
2544	the effective/saved gids to that of specified user.
2545
2546getresgid03  
2547
2548	Verify that getresgid() will be successful to get the real, effective
2549	and saved user ids after calling process invokes setresgid() to change
2550	the effective gid to that of specified user.
2551
2552
2553getresuid01  
2554
2555	Verify that getresuid() will be successful to get the real, effective
2556	and saved user id of the calling process.
2557
2558getresuid02  
2559
2560	Verify that getresuid() will be successful to get the real, effective
2561	and saved user ids after calling process invokes setreuid() to change
2562	the effective/saved uids to that of specified user.
2563
2564getresuid03  
2565
2566	Verify that getresuid() will be successful to get the real, effective
2567	and saved user ids after calling process invokes setresuid() to change
2568	the effective uid to that of specified user.
2569
2570
2571getsid01  
2572
2573	call getsid() and make sure it succeeds
2574
2575getsid02  
2576
2577	call getsid() with an invalid PID to produce a failure
2578
2579
2580setfsgid01  
2581
2582	Testcase to check the basic functionality of setfsgid(2) system
2583	call.
2584
2585setfsuid01  
2586
2587	Testcase to test the basic functionality of the setfsuid(2) system
2588	call.
2589
2590
2591setgid01
2592
2593	Basic test for the setgid(2) system call. 
2594
2595setgid02
2596
2597	Testcase to ensure that the setgid() system call sets errno to EPERM
2598
2599
2600setgroups01
2601
2602	Basic test for the setgroups(2) system call. 
2603
2604setgroups02  
2605
2606	Verify that,
2607	1. setgroups() fails with -1 and sets errno to EINVAL if the size
2608	argument value is > NGROUPS
2609	2. setgroups() fails with -1 and sets errno to EPERM if the
2610	calling process is not super-user.
2611
2612setgroups03  
2613
2614	Verify that, only root process can invoke setgroups() system call to
2615	set the supplementary group IDs of the process.
2616
2617
2618setpgid01	 	
2619
2620	Basic test for setpgid(2) system call. 
2621
2622setpgid02  
2623
2624	Testcase to check that setpgid() sets errno correctly.
2625
2626setpgid03  
2627
2628	Test to check the error and trivial conditions in setpgid system call
2629
2630setpriority01  
2631
2632	set the priority for the test process lower.
2633
2634setpriority02  
2635
2636	test for an expected failure by trying to raise
2637	the priority for the test process while not having
2638	permissions to do so.
2639
2640setpriority03  
2641
2642	test for an expected failure by using an invalid
2643	PRIO value
2644	setpriority04  
2645
2646setpriority04
2647	test for an expected failure by using an invalid
2648	process id
2649
2650
2651setpriority05 
2652	test for an expected failure by trying to change
2653	a process with an ID that is different from the
2654	test process
2655
2656setregid01	 
2657
2658	Basic test for the setregid(2) system call. 
2659
2660setregid02  
2661
2662	Test that setregid() fails and sets the proper errno values when a
2663	non-root user attempts to change the real or effective group id to a 
2664	value other than the current gid or the current effective gid. 
2665
2666setregid03  
2667
2668	Test setregid() when executed by a non-root user.
2669
2670setregid04  
2671
2672	Test setregid() when executed by root.
2673
2674setresuid01  
2675
2676	Test setresuid() when executed by root.
2677
2678setresuid02  
2679
2680	Test that a non-root user can change the real, effective and saved
2681	uid values through the setresuid system call.
2682
2683
2684setresuid03  
2685
2686	Test that the setresuid system call sets the proper errno
2687	values when a non-root user attempts to change the real, effective or
2688	saved uid to a value other than one of the current uid, the current
2689	effective uid of the current saved uid.  Also verify that setresuid
2690	fails if an invalid uid value is given.
2691
2692setreuid01	 	
2693
2694	Basic test for the setreuid(2) system call. 
2695
2696setreuid02  
2697
2698	Test setreuid() when executed by root.
2699
2700setreuid03  
2701
2702	Test setreuid() when executed by an unprivileged user.
2703
2704
2705setreuid04  
2706
2707	Test that root can change the real and effective uid to an
2708	unprivileged user.
2709
2710setreuid05  
2711
2712	Test the setreuid() feature, verifying the role of the saved-set-uid
2713	and setreuid's effect on it.
2714
2715setreuid06  
2716
2717	Test that EINVAL is set when setreuid is given an invalid user id.
2718
2719setrlimit01  
2720
2721	Testcase to check the basic functionality of the setrlimit system call.
2722
2723
2724setrlimit02  
2725
2726	Testcase to test the different errnos set by setrlimit(2) system call.
2727
2728setrlimit03  
2729
2730	Test for EPERM when the super-user tries to increase RLIMIT_NOFILE
2731	beyond the system limit.
2732
2733setsid01  
2734
2735	Test to check the error and trivial conditions in setsid system call
2736
2737setuid01
2738
2739	Basic test for the setuid(2) system call. 
2740
2741setuid02
2742
2743	Basic test for the setuid(2) system call as root. 
2744
2745setuid03  
2746
2747	Test to check the error and trivial conditions in setuid
2748
2749fs_perms
2750
2751	Regression test for Linux filesystem permissions.
2752uname01
2753
2754	Basic test for the uname(2) system call.  
2755
2756uname02  
2757
2758	Call uname() with an invalid address to produce a failure
2759
2760uname03  
2761
2762	Call uname() and make sure it succeeds
2763sysctl01  
2764
2765	Testcase for testing the basic functionality of sysctl(2) system call.
2766	This testcase attempts to read the kernel parameters using
2767	sysctl({CTL_KERN, KERN_ }, ...) and compares it with the known
2768	values.
2769
2770sysctl03  
2771
2772	Testcase to check that sysctl(2) sets errno to EPERM correctly.
2773
2774
2775sysctl04  
2776
2777	Testcase to check that sysctl(2) sets errno to ENOTDIR
2778
2779
2780sysctl05  
2781
2782	Testcase to check that sysctl(2) sets errno to EFAULT
2783
2784time01
2785
2786	Basic test for the time(2) system call. 
2787
2788
2789time02  
2790
2791	Verify that time(2) returns the value of time in seconds since
2792	the Epoch and stores this value in the memory pointed to by the parameter.
2793
2794times01
2795
2796	Basic test for the times(2) system call. 
2797
2798times02  
2799
2800	Testcase to test that times() sets errno correctly
2801
2802times03  
2803
2804	Testcase to check the basic functionality of the times() system call.
2805
2806utime01  
2807
2808	Verify that the system call utime() successfully sets the modification
2809	and access times of a file to the current time, if the times argument
2810	is null, and the user ID of the process is "root".
2811
2812utime02  
2813
2814	Verify that the system call utime() successfully sets the modification
2815	and access times of a file to the current time, under the following
2816	constraints,
2817	- The times argument is null.
2818	- The user ID of the process is not "root".
2819	- The file is owned by the user ID of the process.
2820
2821utime03  
2822
2823	Verify that the system call utime() successfully sets the modification
2824	and access times of a file to the current time, under the following
2825	constraints,
2826	- The times argument is null.
2827	- The user ID of the process is not "root".
2828	- The file is not owned by the user ID of the process.
2829	- The user ID of the process has write access to the file.
2830
2831
2832utime04  
2833
2834	Verify that the system call utime() successfully sets the modification
2835	and access times of a file to the time specified by times argument, if
2836	the times argument is not null, and the user ID of the process is "root".
2837
2838
2839utime05  
2840
2841	Verify that the system call utime() successfully sets the modification
2842	and access times of a file to the value specified by the times argument
2843	under the following constraints,
2844	- The times argument is not null,
2845	- The user ID of the process is not "root".
2846	- The file is owned by the user ID of the process.
2847
2848
2849utime06  
2850
2851	1. Verify that the system call utime() fails to set the modification
2852	and access times of a file to the current time, under the following
2853	constraints,
2854	- The times argument is null.
2855	- The user ID of the process is not "root".
2856	- The file is not owned by the user ID of the process.
2857	- The user ID of the process does not have write access to the
2858	file.
2859	2. Verify that the system call utime() fails to set the modification
2860	and access times of a file if the specified file doesn't exist.
2861
2862settimeofday01  
2863
2864	Testcase to check the basic functionality of settimeofday().
2865
2866
2867settimeofday02  
2868
2869	Testcase to check that settimeofday() sets errnos correctly.
2870
2871stime01  
2872
2873	Verify that the system call stime() successfully sets the system's idea
2874	of data and time if invoked by "root" user.
2875
2876stime02  
2877
2878	Verify that the system call stime() fails to set the system's idea
2879	of data and time if invoked by "non-root" user.
2880
2881gettimeofday01     
2882
2883	Testcase to check that gettimeofday(2) sets errno to EFAULT.
2884
2885
2886
2887alarm01	 	
2888
2889	Basic test for alarm(2). 
2890
2891alarm02
2892
2893	Boundary Value Test for alarm(2).
2894
2895alarm03
2896
2897	Alarm(2) cleared by a fork.
2898
2899alarm04  
2900
2901	Check that when an alarm request is made, the signal SIGALRM is received
2902	even after the process has done an exec().
2903
2904alarm05  
2905
2906	Check the functionality of the Alarm system call when the time input
2907	parameter is non zero.
2908
2909alarm06  
2910
2911	Check the functionality of the Alarm system call when the time input
2912	parameter is zero.
2913
2914alarm07  
2915
2916	Check the functionality of the alarm() when the time input
2917	parameter is non-zero and the process does a fork.
2918
2919getegid01
2920
2921	Basic test for getegid(2) 
2922
2923
2924geteuid01
2925
2926	Basic test for geteuid(2) 
2927
2928
2929getgid01
2930
2931	Basic test for getgid(2) 
2932
2933getgid02  
2934
2935	Testcase to check the basic functionality of getgid().
2936
2937getgid03  
2938
2939	Testcase to check the basic functionality of getegid().
2940
2941
2942getpid01
2943
2944	Basic test for getpid(2) 
2945
2946
2947getpid02  
2948
2949	Verify that getpid() system call gets the process ID of the of the
2950	calling process.
2951
2952
2953getppid01  
2954
2955	Testcase to check the basic functionality of the getppid() syscall.
2956
2957
2958getuid01
2959
2960	Basic test for getuid(2)
2961
2962getuid02  
2963
2964	Testcase to check the basic functionality of the geteuid() system call.
2965
2966getuid03  
2967
2968	Testcase to check the basic functionality of the getuid() system call.
2969
2970nanosleep01  
2971
2972	Verify that nanosleep() will be successful to suspend the execution
2973	of a process for a specified time.
2974
2975nanosleep02  
2976
2977	Verify that nanosleep() will be successful to suspend the execution
2978	of a process, returns after the receipt of a signal and writes the
2979	remaining sleep time into the structure.
2980
2981nanosleep03  
2982
2983	Verify that nanosleep() will fail to suspend the execution
2984	of a process for a specified time if interrupted by a non-blocked signal.
2985
2986nanosleep04  
2987
2988	Verify that nanosleep() will fail to suspend the execution
2989	of a process if the specified pause time is invalid.
2990
2991