OLD | NEW |
| (Empty) |
1 personality01 | |
2 Check that we can set the personality for a process. | |
3 personality02 | |
4 Check that we get EINVAL for a bad personality. | |
5 exit01 | |
6 Check that exit returns the correct values to the waiting parent | |
7 exit02 | |
8 Check that exit flushes output file buffers and closes files upon | |
9 exiting | |
10 wait02 | |
11 Basic test for wait(2) system call. | |
12 wait401 | |
13 check that a call to wait4() correctly waits for a child | |
14 process to exit | |
15 wait402 | |
16 check for ECHILD errno when using an illegal pid value | |
17 | |
18 waitpid01 | |
19 Check that when a child kills itself by generating an alarm | |
20 exception, the waiting parent is correctly notified. | |
21 waitpid02 | |
22 Check that when a child kills itself by generating an integer zero | |
23 divide exception, the waiting parent is correctly notified. | |
24 waitpid03 | |
25 Check that parent waits until specific child has returned. | |
26 waitpid04 | |
27 test to check the error conditions in waitpid sys call | |
28 waitpid05 | |
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. | |
33 waitpid06 | |
34 Tests to see if pid's returned from fork and waitpid are same. | |
35 waitpid07 | |
36 Tests to see if pid's returned from fork and waitpid are same. | |
37 waitpid08 | |
38 Tests to see if pid's returned from fork and waitpid are same | |
39 waitpid09 | |
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. | |
43 waitpid10 | |
44 Tests to see if pid's returned from fork and waitpid are same | |
45 waitpid11 | |
46 Tests to see if pid's returned from fork and waitpid are same | |
47 waitpid12 | |
48 Tests to see if pid's returned from fork and waitpid are same | |
49 waitpid13 | |
50 Tests to see if pid's returned from fork and waitpid are same | |
51 fcntl01 | |
52 Test F_DUPFD, F_SETFL cmds of fcntl | |
53 fcntl02 | |
54 Basic test for fcntl(2) using F_DUPFD argument. | |
55 fcntl03 | |
56 Basic test for fcntl(2) using F_GETFD argument. | |
57 fcntl04 | |
58 Basic test for fcntl(2) using F_GETFL argument. | |
59 fcntl05 | |
60 Basic test for fcntl(2) using F_GETLK argument. | |
61 fcntl06 | |
62 Error checking conditions for remote locking of regions of a file. | |
63 fcntl07 | |
64 Close-On-Exec functional test. | |
65 fcntl07B | |
66 Close-On-Exec of named pipe functional test. | |
67 fcntl08 | |
68 Basic test for fcntl(2) using F_SETFL argument. | |
69 fcntl09 | |
70 Basic test for fcntl(2) using F_SETLK argument. | |
71 fcntl10 | |
72 Basic test for fcntl(2) using F_SETLKW argument. | |
73 fcntl11 | |
74 Testcase to check locking of regions of a file | |
75 | |
76 fcntl12 | |
77 | |
78 Testcase to test that fcntl() sets EMFILE for F_DUPFD command. | |
79 | |
80 fcntl13 | |
81 | |
82 Testcase to test that fcntl() sets errno correctly. | |
83 | |
84 fcntl14 | |
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 | |
90 fcntl15 | |
91 | |
92 Check that file locks are removed when file closed | |
93 | |
94 fcntl16 | |
95 | |
96 Additional file locking test cases for checking proper notification | |
97 of processes on lock change | |
98 | |
99 fcntl17 | |
100 | |
101 Check deadlock detection for file locking | |
102 | |
103 fcntl18 | |
104 | |
105 Test to check the error conditions in fcntl system call | |
106 | |
107 fcntl19 | |
108 | |
109 Testcase to check locking of regions of a file | |
110 | |
111 fcntl20 | |
112 | |
113 Check locking of regions of a file | |
114 | |
115 fcntl21 | |
116 | |
117 Check locking of regions of a file | |
118 | |
119 dup01 | |
120 | |
121 Basic test for dup(2). | |
122 | |
123 dup02 | |
124 | |
125 Negative test for dup(2) with bad fd. | |
126 | |
127 dup03 | |
128 | |
129 Negative test for dup(2) (too many fds). | |
130 | |
131 dup04 | |
132 | |
133 Basic test for dup(2) of a system pipe descriptor. | |
134 | |
135 dup05 | |
136 | |
137 Basic test for dup(2) of a named pipe descriptor. | |
138 | |
139 dup201 | |
140 | |
141 Negative tests for dup2() with bad fd (EBADF), and for "too many | |
142 open files" (EMFILE) | |
143 | |
144 dup202 | |
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 | |
151 dup203 | |
152 | |
153 Testcase to check the basic functionality of dup2(). | |
154 | |
155 dup204 | |
156 | |
157 Testcase to check the basic functionality of dup2(2). | |
158 | |
159 | |
160 msync01 | |
161 | |
162 Verify that, msync() succeeds, when the region to synchronize, is part | |
163 of, or all of a mapped region. | |
164 | |
165 msync02 | |
166 | |
167 Verify that msync() succeeds when the region to synchronize is mapped | |
168 shared and the flags argument is MS_INVALIDATE. | |
169 | |
170 msync03 | |
171 | |
172 Verify that, msync() fails, when the region to synchronize, is outside | |
173 the address space of the process. | |
174 | |
175 msync04 | |
176 | |
177 Verify that, msync() fails, when the region to synchronize, is mapped | |
178 but the flags argument is invalid. | |
179 | |
180 msync05 | |
181 | |
182 Verify that, msync() fails, when the region to synchronize, was not | |
183 mapped. | |
184 | |
185 | |
186 sendfile02 | |
187 | |
188 Testcase to test the basic functionality of the sendfile(2) system call. | |
189 | |
190 sendfile03 | |
191 | |
192 Testcase to test that sendfile(2) system call returns appropriate | |
193 errnos on error. | |
194 | |
195 fork01 | |
196 Basic test for fork(2). | |
197 fork02 | |
198 Test correct operation of fork: | |
199 pid == 0 in child; | |
200 pid > 0 in parent from wait; | |
201 fork03 | |
202 Check that child can use a large text space and do a large | |
203 number of operations. | |
204 fork04 | |
205 Child inheritance of Environment Variables after fork(). | |
206 fork05 | |
207 Make sure LDT is propagated correctly | |
208 fork06 | |
209 Test that a process can fork children a large number of | |
210 times in succession | |
211 fork07 | |
212 Check that all children inherit parent's file descriptor | |
213 fork08 | |
214 Check if the parent's file descriptors are affected by | |
215 actions in the child; they should not be. | |
216 fork09 | |
217 Check that child has access to a full set of files. | |
218 fork10 | |
219 Check inheritance of file descriptor by children, they | |
220 should all be referring to the same file. | |
221 fork11 | |
222 Test that parent gets a pid from each child when doing wait | |
223 vfork01 | |
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. | |
228 vfork02 | |
229 Fork a process using vfork() and verify that, the pending signals in | |
230 the parent are not pending in the child process. | |
231 ioctl01 | |
232 | |
233 Testcase to check the errnos set by the ioctl(2) system call. | |
234 | |
235 ioctl02 | |
236 | |
237 Testcase to test the TCGETA, and TCSETA ioctl implementations for | |
238 the tty driver | |
239 | |
240 sockioctl01 | |
241 | |
242 Verify that ioctl() on sockets returns the proper errno for various | |
243 failure cases | |
244 | |
245 getitimer01 | |
246 check that a correct call to getitimer() succeeds | |
247 | |
248 | |
249 getitimer02 | |
250 check that a getitimer() call fails as expected | |
251 with an incorrect second argument. | |
252 | |
253 getitimer03 | |
254 check that a getitimer() call fails as expected | |
255 with an incorrect first argument. | |
256 | |
257 setitimer01 | |
258 check that a reasonable setitimer() call succeeds. | |
259 | |
260 | |
261 setitimer02 | |
262 check that a setitimer() call fails as expected | |
263 with incorrect values. | |
264 | |
265 setitimer03 | |
266 check that a setitimer() call fails as expected | |
267 with incorrect values. | |
268 | |
269 float_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 | |
274 float_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 | |
280 float_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 | |
285 fload_power | |
286 increase CPUs workload - verify that results of some math functions are
stable | |
287 Computes sqrt, power, fmod | |
288 | |
289 float_iperb | |
290 increase CPUs workload - verify that results of some math functions are
stable | |
291 pth_str01 | |
292 | |
293 Creates a tree of threads | |
294 | |
295 pth_str02 | |
296 | |
297 Creates n threads | |
298 | |
299 pth_str03 | |
300 | |
301 Creates a tree of threads does calculations, and | |
302 returns result to parent | |
303 | |
304 | |
305 asyncio02 | |
306 | |
307 Write/close flushes data to the file. | |
308 | |
309 | |
310 fpathconf | |
311 | |
312 Basic test for fpathconf(2) | |
313 | |
314 gethostid01 | |
315 | |
316 Basic test for gethostid(2) | |
317 | |
318 | |
319 pathconf01 | |
320 | |
321 Basic test for pathconf(2) | |
322 | |
323 setpgrp01 | |
324 | |
325 Basic test for the setpgrp(2) system call. | |
326 | |
327 setpgrp02 | |
328 | |
329 Testcase to check the basic functionality of the setpgrp(2) syscall. | |
330 | |
331 | |
332 ulimit01 | |
333 | |
334 Basic test for the ulimit(2) system call. | |
335 | |
336 mmstress | |
337 | |
338 Performs General Stress with Race conditions | |
339 | |
340 mmap1 | |
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 | |
347 mmap2 | |
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 | |
353 mmap3 | |
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 | |
360 mmap001 | |
361 | |
362 Tests mmapping a big file and writing it once | |
363 | |
364 mmap01 | |
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 | |
372 mmap02 | |
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 | |
378 mmap03 | |
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 | |
390 mmap04 | |
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 | |
403 mmap05 | |
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 | |
414 mmap06 | |
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 | |
424 mmap07 | |
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 | |
434 mmap08 | |
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 | |
440 mremap01 | |
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 | |
446 mremap02 | |
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 | |
453 mremap03 | |
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 | |
461 mremap04 | |
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 | |
468 munmap01 | |
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 | |
475 munmap02 | |
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 | |
482 munmap03 | |
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 | |
489 brk01 | |
490 Test the basic functionality of brk. | |
491 | |
492 sbrk01 | |
493 Basic test for the sbrk(2) system call. | |
494 | |
495 | |
496 mprotect01 | |
497 | |
498 Testcase to check the error conditions for mprotect(2) | |
499 | |
500 mprotect02 | |
501 | |
502 Testcase to check the mprotect(2) system call. | |
503 | |
504 mprotect03 | |
505 | |
506 Testcase to check the mprotect(2) system call. | |
507 | |
508 msgctl01 | |
509 create a message queue, then issue the IPC_STAT command | |
510 and RMID commands to test the functionality | |
511 | |
512 | |
513 msgctl02 | |
514 create a message queue, then issue the IPC_SET command | |
515 to lower the msg_qbytes value. | |
516 | |
517 | |
518 msgctl03 | |
519 create a message queue, then issue the IPC_RMID command | |
520 | |
521 | |
522 | |
523 msgctl04 | |
524 test for EACCES, EFAULT and EINVAL errors using | |
525 a variety of incorrect calls. | |
526 | |
527 | |
528 msgctl05 | |
529 test for EPERM error | |
530 | |
531 | |
532 | |
533 msgget01 | |
534 create a message queue, write a message to it and | |
535 read it back. | |
536 | |
537 | |
538 msgget02 | |
539 test for EEXIST and ENOENT errors | |
540 | |
541 | |
542 msgget03 | |
543 test for an ENOSPC error by using up all available | |
544 message queues. | |
545 | |
546 msgget04 | |
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 | |
551 msgrcv01 | |
552 test that msgrcv() receives the expected message | |
553 | |
554 msgrcv02 | |
555 test for EACCES and EFAULT errors | |
556 | |
557 msgrcv03 | |
558 test for EINVAL error | |
559 | |
560 msgrcv04 | |
561 test for E2BIG and ENOMSG errors | |
562 | |
563 msgrcv05 | |
564 test for EINTR error | |
565 | |
566 msgrcv06 | |
567 test for EIDRM error | |
568 | |
569 msgsnd01 | |
570 test that msgsnd() enqueues a message correctly | |
571 | |
572 msgsnd02 | |
573 test for EACCES and EFAULT errors | |
574 | |
575 msgsnd03 | |
576 test for EINVAL error | |
577 | |
578 msgsnd04 | |
579 test for EAGAIN error | |
580 | |
581 msgsnd05 | |
582 test for EINTR error | |
583 | |
584 | |
585 msgsnd06 | |
586 test for EIDRM error | |
587 | |
588 link02 | |
589 | |
590 Basic test for link(2) | |
591 | |
592 link03 | |
593 | |
594 Multi links tests | |
595 | |
596 link04 | |
597 | |
598 Negative test cases for link(2) | |
599 | |
600 link05 | |
601 | |
602 Multi links (EMLINK) negative test | |
603 | |
604 readlink01 | |
605 | |
606 Verify that, readlink will succeed to read the contents of the symbolic | |
607 link created the process. | |
608 | |
609 readlink02 | |
610 | |
611 Basic test for the readlink(2) system call | |
612 | |
613 readlink03 | |
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 | |
628 readlink04 | |
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 | |
635 symlink01 | |
636 | |
637 Test of various file function calls, such as rename or open, on a symbol
ic | |
638 link file. | |
639 | |
640 symlink02 | |
641 | |
642 Basic test for the symlink(2) system call. | |
643 | |
644 symlink03 | |
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 | |
661 symlink04 | |
662 | |
663 Verify that, symlink will succeed to create a symbolic link of an existi
ng | |
664 object name path. | |
665 | |
666 | |
667 symlink05 | |
668 | |
669 Verify that, symlink will succeed to create a symbolic link of an | |
670 non-existing object name path. | |
671 | |
672 | |
673 unlink05 | |
674 | |
675 Basic test for the unlink(2) system call. | |
676 | |
677 unlink06 | |
678 | |
679 Test for the unlink(2) system call of a FIFO. | |
680 | |
681 unlink07 | |
682 | |
683 Tests for error handling for the unlink(2) system call. | |
684 | |
685 unlink08 | |
686 | |
687 More tests for error handling for the unlink(2) system call. | |
688 | |
689 | |
690 linktest | |
691 | |
692 Regression test for max links per file | |
693 | |
694 rename01 | |
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 | |
699 rename02 | |
700 | |
701 Basic test for the rename(2) system call | |
702 | |
703 rename03 | |
704 | |
705 This test will verify that rename(2) functions correctly | |
706 when the "new" file or directory exists | |
707 | |
708 rename04 | |
709 | |
710 This test will verify that rename(2) failed when newpath is | |
711 a non-empty directory and return EEXIST or ENOTEMPTY | |
712 | |
713 rename05 | |
714 | |
715 This test will verify that rename(2) fails with EISDIR | |
716 | |
717 rename06 | |
718 | |
719 This test will verify that rename(2) failed in EINVAL | |
720 | |
721 rename07 | |
722 | |
723 This test will verify that rename(2) failed in ENOTDIR | |
724 | |
725 rename08 | |
726 | |
727 This test will verify that rename(2) syscall failed in EFAULT | |
728 | |
729 rename09 | |
730 | |
731 check rename() fails with EACCES | |
732 | |
733 rename10 | |
734 | |
735 This test will verify that rename(2) syscall fails with ENAMETOOLONG | |
736 and ENOENT | |
737 | |
738 rename11 | |
739 | |
740 This test will verify that rename(2) failed in EBUSY | |
741 | |
742 rename12 | |
743 | |
744 check rename() fails with EPERM | |
745 | |
746 rename13 | |
747 | |
748 Verify rename() return successfully and performs no other action | |
749 when "old" file and "new" file link to the same file. | |
750 | |
751 rmdir01 | |
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 | |
757 rmdir02 | |
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 | |
768 rmdir03 | |
769 | |
770 check rmdir() fails with EPERM or EACCES | |
771 | |
772 rmdir04 | |
773 | |
774 Basic test for the rmdir(2) system call | |
775 | |
776 rmdir05 | |
777 | |
778 Verify that rmdir(2) returns a value of -1 and sets errno to indicate th
e error. | |
779 | |
780 | |
781 | |
782 mkdir01 | |
783 | |
784 Basic errno test for mkdir(2) | |
785 | |
786 mkdir02 | |
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 | |
793 mkdir03 | |
794 | |
795 Check mkdir() with various error conditions that should produce | |
796 EFAULT, ENAMETOOLONG, EEXIST, ENOENT and ENOTDIR | |
797 | |
798 mkdir04 | |
799 | |
800 Attempt to create a directory in a directory having no permissions. | |
801 | |
802 mkdir05 | |
803 | |
804 This test will verify the mkdir(2) syscall basic functionality | |
805 | |
806 mkdir08 | |
807 | |
808 Basic test for mkdir(2) | |
809 | |
810 | |
811 mknod01 | |
812 | |
813 Basic test for mknod(2) | |
814 | |
815 mknod02 | |
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 s
et. | |
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 | |
822 mknod03 | |
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 | |
829 mknod04 | |
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 | |
836 mknod05 | |
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 | |
844 mknod06 | |
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 | |
858 mknod07 | |
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 | |
866 mknod08 | |
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 | |
876 access01 | |
877 | |
878 Basic test for access(2) using F_OK, R_OK, W_OK, and X_OK arguments. | |
879 | |
880 access02 | |
881 | |
882 Verify that access() succeeds to check the read/write/execute permission
s | |
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 fil
e | |
886 referred to by symbolic link if the pathname points to a symbolic link. | |
887 | |
888 access03 | |
889 | |
890 EFAULT error testing for access(2). | |
891 | |
892 access04 | |
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 | |
908 access05 | |
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 | |
913 access06 | |
914 | |
915 EFAULT error testing for access(2). | |
916 | |
917 chroot01 | |
918 | |
919 Testcase to check the whether chroot sets errno to EPERM. | |
920 | |
921 chroot02 | |
922 | |
923 Test functionality of chroot(2) | |
924 | |
925 chroot03 | |
926 | |
927 Testcase to test whether chroot(2) sets errno correctly. | |
928 | |
929 pipeio | |
930 | |
931 This tool can be used to beat on system or named pipes. | |
932 See the help() function below for user information. | |
933 | |
934 pipe01 | |
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 | |
940 pipe05 | |
941 | |
942 Check what happens when pipe is passed a bad file descriptor. | |
943 | |
944 pipe06 | |
945 | |
946 Check what happens when the system runs out of pipes. | |
947 | |
948 pipe08 | |
949 | |
950 Check that a SIGPIPE signal is generated when a write is | |
951 attempted on an empty pipe. | |
952 | |
953 pipe09 | |
954 | |
955 Check that two processes can use the same pipe at the same time. | |
956 | |
957 pipe10 | |
958 | |
959 Check that parent can open a pipe and have a child read from it | |
960 | |
961 pipe11 | |
962 | |
963 Check if many children can read what is written to a pipe by the | |
964 parent. | |
965 | |
966 | |
967 sem01 | |
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 | |
974 sem02 | |
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 | |
981 semctl01 | |
982 | |
983 test the 10 possible semctl() commands | |
984 | |
985 semctl02 | |
986 | |
987 test for EACCES error | |
988 | |
989 semctl03 | |
990 | |
991 test for EINVAL and EFAULT errors | |
992 | |
993 semctl04 | |
994 | |
995 test for EPERM error | |
996 | |
997 | |
998 semctl05 | |
999 | |
1000 test for ERANGE error | |
1001 | |
1002 semget01 | |
1003 | |
1004 test that semget() correctly creates a semaphore set | |
1005 | |
1006 semget02 | |
1007 | |
1008 test for EACCES and EEXIST errors | |
1009 | |
1010 semget03 | |
1011 | |
1012 test for ENOENT error | |
1013 | |
1014 semget05 | |
1015 | |
1016 test for ENOSPC error | |
1017 | |
1018 semget06 | |
1019 | |
1020 test for EINVAL error | |
1021 | |
1022 semop01 | |
1023 | |
1024 test that semop() basic functionality is correct | |
1025 | |
1026 semop02 | |
1027 | |
1028 test for E2BIG, EACCES, EFAULT and EINVAL errors | |
1029 | |
1030 semop03 | |
1031 | |
1032 test for EFBIG error | |
1033 | |
1034 semop04 | |
1035 | |
1036 test for EAGAIN error | |
1037 | |
1038 semop05 | |
1039 | |
1040 test for EINTR and EIDRM errors | |
1041 | |
1042 | |
1043 | |
1044 msgctl01 | |
1045 create a message queue, then issue the IPC_STAT command | |
1046 and RMID commands to test the functionality | |
1047 | |
1048 | |
1049 msgctl02 | |
1050 create a message queue, then issue the IPC_SET command | |
1051 to lower the msg_qbytes value. | |
1052 | |
1053 | |
1054 msgctl03 | |
1055 create a message queue, then issue the IPC_RMID command | |
1056 | |
1057 | |
1058 | |
1059 msgctl04 | |
1060 test for EACCES, EFAULT and EINVAL errors using | |
1061 a variety of incorrect calls. | |
1062 | |
1063 | |
1064 msgctl05 | |
1065 test for EPERM error | |
1066 | |
1067 | |
1068 | |
1069 msgget01 | |
1070 create a message queue, write a message to it and | |
1071 read it back. | |
1072 | |
1073 | |
1074 msgget02 | |
1075 test for EEXIST and ENOENT errors | |
1076 | |
1077 | |
1078 msgget03 | |
1079 test for an ENOSPC error by using up all available | |
1080 message queues. | |
1081 | |
1082 msgget04 | |
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 | |
1087 msgrcv01 | |
1088 test that msgrcv() receives the expected message | |
1089 | |
1090 msgrcv02 | |
1091 test for EACCES and EFAULT errors | |
1092 | |
1093 msgrcv03 | |
1094 test for EINVAL error | |
1095 | |
1096 msgrcv04 | |
1097 test for E2BIG and ENOMSG errors | |
1098 | |
1099 msgrcv05 | |
1100 test for EINTR error | |
1101 | |
1102 msgrcv06 | |
1103 test for EIDRM error | |
1104 | |
1105 msgsnd01 | |
1106 test that msgsnd() enqueues a message correctly | |
1107 | |
1108 msgsnd02 | |
1109 test for EACCES and EFAULT errors | |
1110 | |
1111 msgsnd03 | |
1112 test for EINVAL error | |
1113 | |
1114 msgsnd04 | |
1115 test for EAGAIN error | |
1116 | |
1117 msgsnd05 | |
1118 test for EINTR error | |
1119 | |
1120 | |
1121 msgsnd06 | |
1122 test for EIDRM error | |
1123 | |
1124 shmat01 | |
1125 test that shmat() works correctly | |
1126 | |
1127 shmat02 | |
1128 check for EINVAL and EACCES errors | |
1129 | |
1130 | |
1131 shmat03 | |
1132 test for EACCES error | |
1133 | |
1134 | |
1135 shmctl01 | |
1136 test the IPC_STAT, IPC_SET and IPC_RMID commands as | |
1137 they are used with shmctl() | |
1138 | |
1139 | |
1140 shmctl02 | |
1141 check for EACCES, EFAULT and EINVAL errors | |
1142 | |
1143 | |
1144 shmctl03 | |
1145 check for EACCES, and EPERM errors | |
1146 | |
1147 | |
1148 shmdt01 | |
1149 check that shared memory is detached correctly | |
1150 | |
1151 | |
1152 shmdt02 | |
1153 check for EINVAL error | |
1154 | |
1155 | |
1156 shmget01 | |
1157 test that shmget() correctly creates a shared memory segment | |
1158 | |
1159 | |
1160 shmget02 | |
1161 check for ENOENT, EEXIST and EINVAL errors | |
1162 | |
1163 | |
1164 shmget03 | |
1165 test for ENOSPC error | |
1166 | |
1167 | |
1168 shmget04 | |
1169 test for EACCES error | |
1170 | |
1171 | |
1172 shmget05 | |
1173 test for EACCES error | |
1174 | |
1175 openfile | |
1176 | |
1177 Creates files and opens simultaneously | |
1178 | |
1179 open01 | |
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 | |
1185 open02 | |
1186 | |
1187 Test if open without O_CREAT returns -1 if a file does not exist. | |
1188 | |
1189 open03 | |
1190 | |
1191 Basic test for open(2) | |
1192 | |
1193 open04 | |
1194 | |
1195 Testcase to check that open(2) sets EMFILE if a process opens files | |
1196 more than its descriptor size | |
1197 | |
1198 open05 | |
1199 | |
1200 Testcase to check open(2) sets errno to EACCES correctly. | |
1201 | |
1202 open06 | |
1203 | |
1204 Testcase to check open(2) sets errno to ENXIO correctly. | |
1205 | |
1206 open07 | |
1207 | |
1208 Test the open(2) system call to ensure that it sets ELOOP correctly. | |
1209 | |
1210 open08 | |
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 | |
1221 openfile | |
1222 | |
1223 Creates files and opens simultaneously | |
1224 | |
1225 | |
1226 chdir01 | |
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 | |
1232 chdir02 | |
1233 | |
1234 Basic test for chdir(2). | |
1235 | |
1236 chdir03 | |
1237 | |
1238 Testcase for testing that chdir(2) sets EACCES errno | |
1239 | |
1240 chdir04 | |
1241 | |
1242 Testcase to test whether chdir(2) sets errno correctly. | |
1243 | |
1244 | |
1245 chmod01 | |
1246 | |
1247 Verify that, chmod(2) succeeds when used to change the mode permissions | |
1248 of a file. | |
1249 | |
1250 chmod02 | |
1251 | |
1252 Basic test for chmod(2). | |
1253 | |
1254 chmod03 | |
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 | |
1263 chmod04 | |
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 | |
1272 chmod05 | |
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 | |
1281 chmod06 | |
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 | |
1298 chmod07 | |
1299 | |
1300 Verify that, chmod(2) will succeed to change the mode of a file/director
y | |
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 | |
1308 chown01 | |
1309 | |
1310 Basic test for chown(2). | |
1311 | |
1312 chown02 | |
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 | |
1320 chown03 | |
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 | |
1329 chown04 | |
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 | |
1346 chown05 | |
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 invok
ed | |
1350 by super-user. | |
1351 | |
1352 | |
1353 close01 | |
1354 | |
1355 Test that closing a regular file and a pipe works correctly | |
1356 | |
1357 close02 | |
1358 | |
1359 Check that an invalid file descriptor returns EBADF | |
1360 | |
1361 close08 | |
1362 | |
1363 Basic test for close(2). | |
1364 | |
1365 | |
1366 fchdir01 | |
1367 | |
1368 create a directory and cd into it. | |
1369 | |
1370 fchdir02 | |
1371 | |
1372 try to cd into a bad directory (bad fd). | |
1373 | |
1374 | |
1375 fchmod01 | |
1376 | |
1377 Basic test for Fchmod(2). | |
1378 | |
1379 fchmod02 | |
1380 | |
1381 Verify that, fchmod(2) will succeed to change the mode of a file/directo
ry | |
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 | |
1388 fchmod03 | |
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 | |
1397 fchmod04 | |
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 | |
1406 fchmod05 | |
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 | |
1415 fchmod06 | |
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 | |
1424 fchmod07 | |
1425 | |
1426 Verify that, fchmod(2) succeeds when used to change the mode permissions | |
1427 of a file specified by file descriptor. | |
1428 | |
1429 | |
1430 fchown01 | |
1431 | |
1432 Basic test for fchown(2). | |
1433 | |
1434 fchown02 | |
1435 | |
1436 Verify that, when fchown(2) invoked by super-user to change the owner an
d | |
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 | |
1442 fchown03 | |
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 | |
1451 fchown04 | |
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 | |
1460 fchown05 | |
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 | |
1466 lchown01 | |
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 invok
ed | |
1470 by super-user. | |
1471 | |
1472 | |
1473 lchown02 | |
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 | |
1491 creat01 | |
1492 | |
1493 Testcase to check the basic functionality of the creat(2) system call. | |
1494 | |
1495 creat03 | |
1496 | |
1497 Testcase to check whether the sticky bit cleared. | |
1498 | |
1499 creat04 | |
1500 | |
1501 Testcase to check creat(2) fails with EACCES | |
1502 | |
1503 creat05 | |
1504 | |
1505 Testcase to check that creat(2) system call returns EMFILE. | |
1506 | |
1507 creat06 | |
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 | |
1517 creat07 | |
1518 | |
1519 Testcase to check creat(2) sets the following errnos correctly: | |
1520 1. ETXTBSY | |
1521 | |
1522 creat09 | |
1523 | |
1524 Basic test for creat(2) using 0700 argument. | |
1525 | |
1526 truncate01 | |
1527 | |
1528 Verify that, truncate(2) succeeds to truncate a file to a specified | |
1529 length. | |
1530 | |
1531 | |
1532 truncate02 | |
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 | |
1538 truncate03 | |
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 componen
t | |
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 | |
1554 ftruncate01 | |
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 | |
1559 ftruncate02 | |
1560 | |
1561 Verify that, ftruncate(2) succeeds to truncate a file to a certain lengt
h, | |
1562 but the attempt to read past the truncated length will fail. | |
1563 | |
1564 ftruncate03 | |
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 descripto
r | |
1570 of the specified file is not valid. | |
1571 | |
1572 vhangup01 | |
1573 | |
1574 Check the return value, and errno of vhangup(2) | |
1575 when a non-root user calls vhangup(). | |
1576 | |
1577 vhangup02 | |
1578 | |
1579 To test the basic functionality of vhangup(2) | |
1580 growfiles | |
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 open
ed. | |
1585 | |
1586 pipe01 | |
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 | |
1592 pipe05 | |
1593 | |
1594 Check what happens when pipe is passed a bad file descriptor. | |
1595 | |
1596 pipe06 | |
1597 | |
1598 Check what happens when the system runs out of pipes. | |
1599 | |
1600 pipe08 | |
1601 | |
1602 Check that a SIGPIPE signal is generated when a write is | |
1603 attempted on an empty pipe. | |
1604 | |
1605 pipe09 | |
1606 | |
1607 Check that two processes can use the same pipe at the same time. | |
1608 | |
1609 pipe10 | |
1610 | |
1611 Check that parent can open a pipe and have a child read from it | |
1612 | |
1613 pipe11 | |
1614 | |
1615 Check if many children can read what is written to a pipe by the | |
1616 parent. | |
1617 | |
1618 pipeio | |
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 | |
1628 proc01 | |
1629 Recursively reads all files within /proc filesystem. | |
1630 | |
1631 lftest | |
1632 The purpose of this test is to verify the file size limitations of a fil
esystem. | |
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 | |
1637 llseek01 | |
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 | |
1643 llseek02 | |
1644 | |
1645 Verify that, | |
1646 1. llseek() returns -1 and sets errno to EINVAL, if the 'Whence' argumen
t | |
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 | |
1651 lseek01 | |
1652 | |
1653 Basic test for lseek(2) | |
1654 | |
1655 lseek02 | |
1656 | |
1657 Negative test for lseek(2) | |
1658 | |
1659 lseek03 | |
1660 | |
1661 Negative test for lseek(2) whence | |
1662 | |
1663 lseek04 | |
1664 | |
1665 Negative test for lseek(2) of a fifo | |
1666 | |
1667 lseek05 | |
1668 | |
1669 Negative test for lseek(2) of a pipe | |
1670 | |
1671 lseek06 | |
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 | |
1677 lseek07 | |
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 | |
1682 lseek08 | |
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 | |
1688 lseek09 | |
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 | |
1695 lseek10 | |
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 | |
1705 rwtest | |
1706 | |
1707 A wrapper for doio and iogen. | |
1708 | |
1709 doio | |
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 | |
1720 iogen | |
1721 A tool for generating file/sds io for a doio process | |
1722 | |
1723 pread01 | |
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 fr
om | |
1727 various specified offsets, comparing the data read against the data | |
1728 written. | |
1729 | |
1730 pread02 | |
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 | |
1737 pwrite01 | |
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 fr
om | |
1741 various specified offsets, comparing the data written against the data | |
1742 read using read(). | |
1743 | |
1744 pwrite02 | |
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 | |
1751 read01 | |
1752 | |
1753 Basic test for the read(2) system call | |
1754 | |
1755 read02 | |
1756 | |
1757 test 1: Does read return -1 if file descriptor is not valid, check for E
BADF | |
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 | |
1763 read03 | |
1764 | |
1765 Testcase to check that read() sets errno to EAGAIN | |
1766 | |
1767 read04 | |
1768 | |
1769 Testcase to check if read returns the number of bytes read correctly. | |
1770 | |
1771 | |
1772 readv01 | |
1773 | |
1774 Testcase to check the basic functionality of the readv(2) system call. | |
1775 | |
1776 readv02 | |
1777 | |
1778 Testcase to check the error conditions of the readv(2) system call. | |
1779 | |
1780 write01 | |
1781 | |
1782 Basic test for write(2) system call. | |
1783 | |
1784 write02 | |
1785 | |
1786 Basic functionality test: does the return from write match the count | |
1787 of the number of bytes written. | |
1788 | |
1789 | |
1790 write03 | |
1791 | |
1792 Testcase to check that write(2) doesn't corrupt a file when it fails | |
1793 | |
1794 write04 | |
1795 | |
1796 Testcase to check that write() sets errno to EAGAIN | |
1797 | |
1798 write05 | |
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 | |
1806 writev01 | |
1807 | |
1808 Testcase to check the basic functionality of writev(2) system call. | |
1809 | |
1810 | |
1811 writev02 | |
1812 | |
1813 In these testcases, writev() is called with partially valid data | |
1814 to be written in a sparse file. | |
1815 | |
1816 | |
1817 writev03 | |
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 | |
1823 writev04 | |
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 | |
1830 writev05 | |
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 | |
1836 disktest | |
1837 | |
1838 Does repeated accesses to a filespec and optionally writes to, reads fro
m, | |
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 c
an | |
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 | |
1848 getdents01 | |
1849 get a directory entry | |
1850 | |
1851 getdents02 | |
1852 check that we get a failure with a bad file descriptor | |
1853 | |
1854 | |
1855 getdents03 | |
1856 check for an EINVAL error | |
1857 | |
1858 | |
1859 getdents04 | |
1860 check for an ENOTDIR error | |
1861 | |
1862 getdents05 | |
1863 check that we get a failure with a bad dirp address. | |
1864 process_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 | |
1880 sched_stress | |
1881 Exports required environment variables and runs sched_driver | |
1882 sched_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 | |
1893 time-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. | |
1898 trace_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 | |
1907 sched_getscheduler01 | |
1908 | |
1909 Testcase to check sched_getscheduler() returns correct return value | |
1910 | |
1911 sched_getscheduler02 | |
1912 | |
1913 To check for the errno ESRCH | |
1914 | |
1915 | |
1916 sched_setscheduler01 | |
1917 | |
1918 Testcase to test whether sched_setscheduler(2) sets the errnos | |
1919 correctly. | |
1920 | |
1921 sched_setscheduler02 | |
1922 | |
1923 Testcase to test whether sched_setscheduler(2) sets the errnos | |
1924 correctly. | |
1925 | |
1926 | |
1927 sched_yield01 | |
1928 | |
1929 Testcase to check that sched_yield returns correct values. | |
1930 | |
1931 | |
1932 nice01 | |
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 | |
1938 nice02 | |
1939 | |
1940 Verify that any user can successfully increase the nice value of | |
1941 the process by passing a higher increment value (> max. applicable limit
s) | |
1942 to nice() system call. | |
1943 | |
1944 nice03 | |
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 | |
1950 nice04 | |
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 | |
1955 nice05 | |
1956 | |
1957 Basic test for nice(2) | |
1958 | |
1959 | |
1960 poll01 | |
1961 | |
1962 Verify that valid open file descriptor must be provided to poll() to | |
1963 succeed. | |
1964 | |
1965 select01 | |
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 | |
1970 select02 | |
1971 | |
1972 Basic test for the select(2) system call to fd of system pipe with no I/
O | |
1973 and small timeout | |
1974 | |
1975 select03 | |
1976 | |
1977 Basic test for the select(2) system call to fd of a named-pipe (FIFO) | |
1978 | |
1979 select04 | |
1980 | |
1981 Verify that select(2) returns immediately (does not block) if the | |
1982 timeout value is zero. | |
1983 | |
1984 select05 | |
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 | |
1989 select06 | |
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 | |
1994 select07 | |
1995 | |
1996 Verify that select(2) fails when an invalid timeout interval is specifie
d. | |
1997 | |
1998 select08 | |
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 | |
2003 select09 | |
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 | |
2008 select10 | |
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. | |
2013 sem01 | |
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 | |
2020 sem02 | |
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 | |
2027 semctl01 | |
2028 | |
2029 test the 10 possible semctl() commands | |
2030 | |
2031 semctl02 | |
2032 | |
2033 test for EACCES error | |
2034 | |
2035 semctl03 | |
2036 | |
2037 test for EINVAL and EFAULT errors | |
2038 | |
2039 semctl04 | |
2040 | |
2041 test for EPERM error | |
2042 | |
2043 | |
2044 semctl05 | |
2045 | |
2046 test for ERANGE error | |
2047 | |
2048 semget01 | |
2049 | |
2050 test that semget() correctly creates a semaphore set | |
2051 | |
2052 semget02 | |
2053 | |
2054 test for EACCES and EEXIST errors | |
2055 | |
2056 semget03 | |
2057 | |
2058 test for ENOENT error | |
2059 | |
2060 semget05 | |
2061 | |
2062 test for ENOSPC error | |
2063 | |
2064 semget06 | |
2065 | |
2066 test for EINVAL error | |
2067 | |
2068 semop01 | |
2069 | |
2070 test that semop() basic functionality is correct | |
2071 | |
2072 semop02 | |
2073 | |
2074 test for E2BIG, EACCES, EFAULT and EINVAL errors | |
2075 | |
2076 semop03 | |
2077 | |
2078 test for EFBIG error | |
2079 | |
2080 semop04 | |
2081 | |
2082 test for EAGAIN error | |
2083 | |
2084 semop05 | |
2085 | |
2086 test for EINTR and EIDRM errors | |
2087 | |
2088 | |
2089 shmat01 | |
2090 test that shmat() works correctly | |
2091 | |
2092 shmat02 | |
2093 check for EINVAL and EACCES errors | |
2094 | |
2095 | |
2096 shmat03 | |
2097 test for EACCES error | |
2098 | |
2099 | |
2100 shmctl01 | |
2101 test the IPC_STAT, IPC_SET and IPC_RMID commands as | |
2102 they are used with shmctl() | |
2103 | |
2104 | |
2105 shmctl02 | |
2106 check for EACCES, EFAULT and EINVAL errors | |
2107 | |
2108 | |
2109 shmctl03 | |
2110 check for EACCES, and EPERM errors | |
2111 | |
2112 | |
2113 shmdt01 | |
2114 check that shared memory is detached correctly | |
2115 | |
2116 | |
2117 shmdt02 | |
2118 check for EINVAL error | |
2119 | |
2120 | |
2121 shmget01 | |
2122 test that shmget() correctly creates a shared memory segment | |
2123 | |
2124 | |
2125 shmget02 | |
2126 check for ENOENT, EEXIST and EINVAL errors | |
2127 | |
2128 | |
2129 shmget03 | |
2130 test for ENOSPC error | |
2131 | |
2132 | |
2133 shmget04 | |
2134 test for EACCES error | |
2135 | |
2136 | |
2137 shmget05 | |
2138 test for EACCES error | |
2139 shmat1 | |
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 | |
2146 shm_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 | |
2154 sigaction01 | |
2155 | |
2156 Test some features of sigaction (see below for more details) | |
2157 | |
2158 | |
2159 sigaction02 | |
2160 | |
2161 Testcase to check the basic errnos set by the sigaction(2) syscall. | |
2162 | |
2163 | |
2164 sigaltstack01 | |
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 | |
2171 sigaltstack02 | |
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 alterna
te | |
2177 stack area is less than MINSIGSTKSZ. | |
2178 | |
2179 sighold02 | |
2180 | |
2181 Basic test for the sighold02(2) system call. | |
2182 | |
2183 | |
2184 signal01 | |
2185 set the signal handler to our own function | |
2186 | |
2187 | |
2188 signal02 | |
2189 Test that we get an error using illegal signals | |
2190 | |
2191 signal03 | |
2192 | |
2193 Boundary value and other invalid value checking of signal setup and sign
al | |
2194 sending. | |
2195 | |
2196 | |
2197 signal04 | |
2198 restore signals to default behavior | |
2199 | |
2200 | |
2201 signal05 | |
2202 set signals to be ignored | |
2203 | |
2204 | |
2205 sigprocmask01 | |
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 | |
2212 sigrelse01 | |
2213 | |
2214 Basic test for the sigrelse(2) system call. | |
2215 | |
2216 sigsuspend01 | |
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. | |
2221 kill01 | |
2222 | |
2223 Test case to check the basic functionality of kill(). | |
2224 | |
2225 kill02 | |
2226 | |
2227 Sending a signal to processes with the same process group ID | |
2228 | |
2229 kill03 | |
2230 | |
2231 Test case to check that kill fails when given an invalid signal. | |
2232 | |
2233 kill04 | |
2234 | |
2235 Test case to check that kill() fails when passed a non-existent pid. | |
2236 | |
2237 kill05 | |
2238 | |
2239 Test case to check that kill() fails when passed a pid owned by another | |
2240 user. | |
2241 | |
2242 kill06 | |
2243 | |
2244 Test case to check the basic functionality of kill() when killing an | |
2245 entire process group with a negative pid. | |
2246 | |
2247 kill07 | |
2248 | |
2249 Test case to check that SIGKILL can not be caught. | |
2250 | |
2251 kill08 | |
2252 | |
2253 Test case to check the basic functionality of kill() when kill an | |
2254 entire process group. | |
2255 | |
2256 kill09 | |
2257 Basic test for kill(2) | |
2258 | |
2259 kill10 | |
2260 Signal flooding test. | |
2261 | |
2262 | |
2263 mtest01 | |
2264 mallocs memory <chunksize> at a time until malloc fails. | |
2265 mallocstress | |
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 | |
2274 clisrv | |
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 | |
2283 socket01 | |
2284 | |
2285 Verify that socket() returns the proper errno for various failure cases | |
2286 | |
2287 | |
2288 socketpair01 | |
2289 | |
2290 Verify that socketpair() returns the proper errno for various failure ca
ses | |
2291 | |
2292 | |
2293 sockioctl01 | |
2294 | |
2295 Verify that ioctl() on sockets returns the proper errno for various | |
2296 failure cases | |
2297 | |
2298 connect01 | |
2299 | |
2300 Verify that connect() returns the proper errno for various failure cases | |
2301 | |
2302 getpeername01 | |
2303 | |
2304 Verify that getpeername() returns the proper errno for various failure c
ases | |
2305 | |
2306 | |
2307 getsockname01 | |
2308 | |
2309 Verify that getsockname() returns the proper errno for various failure c
ases | |
2310 | |
2311 getsockopt01 | |
2312 | |
2313 Verify that getsockopt() returns the proper errno for various failure ca
ses | |
2314 | |
2315 listen01 | |
2316 | |
2317 Verify that listen() returns the proper errno for various failure cases | |
2318 | |
2319 accept01 | |
2320 | |
2321 Verify that accept() returns the proper errno for various failure cases | |
2322 | |
2323 bind01 | |
2324 | |
2325 Verify that bind() returns the proper errno for various failure cases | |
2326 | |
2327 | |
2328 recv01 | |
2329 | |
2330 Verify that recv() returns the proper errno for various failure cases | |
2331 | |
2332 | |
2333 recvfrom01 | |
2334 | |
2335 Verify that recvfrom() returns the proper errno for various failure case
s | |
2336 | |
2337 | |
2338 recvmsg01 | |
2339 | |
2340 Verify that recvmsg() returns the proper errno for various failure cases | |
2341 | |
2342 send01 | |
2343 | |
2344 Verify that send() returns the proper errno for various failure cases | |
2345 | |
2346 sendmsg01 | |
2347 | |
2348 Verify that sendmsg() returns the proper errno for various failure cases | |
2349 sendto01 | |
2350 | |
2351 Verify that sendto() returns the proper errno for various failure cases | |
2352 | |
2353 setsockopt01 | |
2354 | |
2355 Verify that setsockopt() returns the proper errno for various failure ca
ses | |
2356 | |
2357 | |
2358 fstat01 | |
2359 | |
2360 Basic test for fstat(2) | |
2361 | |
2362 fstat02 | |
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 | |
2368 fstat03 | |
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 | |
2373 fstat04 | |
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 | |
2379 fstatfs01 | |
2380 | |
2381 Basic test for fstatfs(2) | |
2382 | |
2383 fstatfs02 | |
2384 | |
2385 Testcase to check fstatfs() sets errno correctly. | |
2386 | |
2387 lstat01 | |
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 | |
2392 lstat02 | |
2393 | |
2394 Basic test for lstat(2) | |
2395 | |
2396 lstat03 | |
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 | |
2410 stat01 | |
2411 | |
2412 Verify that, stat(2) succeeds to get the status of a file and fills the | |
2413 stat structure elements. | |
2414 | |
2415 stat02 | |
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 | |
2422 stat03 | |
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 | |
2436 stat05 | |
2437 | |
2438 Basic test for the stat05(2) system call. | |
2439 | |
2440 statfs01 | |
2441 | |
2442 Basic test for the statfs(2) system call. | |
2443 | |
2444 statfs02 | |
2445 | |
2446 Testcase to check that statfs(2) sets errno correctly. | |
2447 | |
2448 | |
2449 read01 | |
2450 | |
2451 Basic test for the read(2) system call | |
2452 | |
2453 read02 | |
2454 | |
2455 test 1: Does read return -1 if file descriptor is not valid, check for E
BADF | |
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 | |
2461 read03 | |
2462 | |
2463 Testcase to check that read() sets errno to EAGAIN | |
2464 | |
2465 read04 | |
2466 | |
2467 Testcase to check if read returns the number of bytes read correctly. | |
2468 | |
2469 umask01 | |
2470 | |
2471 Basic test for the umask(2) system call. | |
2472 | |
2473 umask02 | |
2474 | |
2475 Check that umask changes the mask, and that the previous | |
2476 value of the mask is returned correctly for each value. | |
2477 | |
2478 umask03 | |
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 | |
2485 getgroups01 | |
2486 | |
2487 Getgroups system call critical test | |
2488 | |
2489 getgroups02 | |
2490 | |
2491 Basic test for getgroups(2) | |
2492 | |
2493 getgroups03 | |
2494 | |
2495 Verify that, getgroups() system call gets the supplementary group IDs | |
2496 of the calling process. | |
2497 | |
2498 getgroups04 | |
2499 | |
2500 Verify that, | |
2501 getgroups() fails with -1 and sets errno to EINVAL if the size | |
2502 argument value is -ve. | |
2503 | |
2504 gethostname01 | |
2505 | |
2506 Basic test for gethostname(2) | |
2507 | |
2508 | |
2509 getpgid01 | |
2510 | |
2511 Testcase to check the basic functionality of getpgid(). | |
2512 | |
2513 getpgid02 | |
2514 | |
2515 Testcase to check the basic functionality of getpgid(). | |
2516 | |
2517 getpgrp01 | |
2518 Basic test for getpgrp(2) | |
2519 | |
2520 | |
2521 getpriority01 | |
2522 | |
2523 Verify that getpriority() succeeds get the scheduling priority of | |
2524 the current process, process group or user. | |
2525 | |
2526 | |
2527 getpriority02 | |
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 | |
2535 getresgid01 | |
2536 | |
2537 Verify that getresgid() will be successful to get the real, effective | |
2538 and saved user id of the calling process. | |
2539 | |
2540 getresgid02 | |
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 | |
2546 getresgid03 | |
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 | |
2553 getresuid01 | |
2554 | |
2555 Verify that getresuid() will be successful to get the real, effective | |
2556 and saved user id of the calling process. | |
2557 | |
2558 getresuid02 | |
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 | |
2564 getresuid03 | |
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 | |
2571 getsid01 | |
2572 | |
2573 call getsid() and make sure it succeeds | |
2574 | |
2575 getsid02 | |
2576 | |
2577 call getsid() with an invalid PID to produce a failure | |
2578 | |
2579 | |
2580 setfsgid01 | |
2581 | |
2582 Testcase to check the basic functionality of setfsgid(2) system | |
2583 call. | |
2584 | |
2585 setfsuid01 | |
2586 | |
2587 Testcase to test the basic functionality of the setfsuid(2) system | |
2588 call. | |
2589 | |
2590 | |
2591 setgid01 | |
2592 | |
2593 Basic test for the setgid(2) system call. | |
2594 | |
2595 setgid02 | |
2596 | |
2597 Testcase to ensure that the setgid() system call sets errno to EPERM | |
2598 | |
2599 | |
2600 setgroups01 | |
2601 | |
2602 Basic test for the setgroups(2) system call. | |
2603 | |
2604 setgroups02 | |
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 | |
2612 setgroups03 | |
2613 | |
2614 Verify that, only root process can invoke setgroups() system call to | |
2615 set the supplementary group IDs of the process. | |
2616 | |
2617 | |
2618 setpgid01 | |
2619 | |
2620 Basic test for setpgid(2) system call. | |
2621 | |
2622 setpgid02 | |
2623 | |
2624 Testcase to check that setpgid() sets errno correctly. | |
2625 | |
2626 setpgid03 | |
2627 | |
2628 Test to check the error and trivial conditions in setpgid system call | |
2629 | |
2630 setpriority01 | |
2631 | |
2632 set the priority for the test process lower. | |
2633 | |
2634 setpriority02 | |
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 | |
2640 setpriority03 | |
2641 | |
2642 test for an expected failure by using an invalid | |
2643 PRIO value | |
2644 setpriority04 | |
2645 | |
2646 setpriority04 | |
2647 test for an expected failure by using an invalid | |
2648 process id | |
2649 | |
2650 | |
2651 setpriority05 | |
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 | |
2656 setregid01 | |
2657 | |
2658 Basic test for the setregid(2) system call. | |
2659 | |
2660 setregid02 | |
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 | |
2666 setregid03 | |
2667 | |
2668 Test setregid() when executed by a non-root user. | |
2669 | |
2670 setregid04 | |
2671 | |
2672 Test setregid() when executed by root. | |
2673 | |
2674 setresuid01 | |
2675 | |
2676 Test setresuid() when executed by root. | |
2677 | |
2678 setresuid02 | |
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 | |
2684 setresuid03 | |
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 | |
2692 setreuid01 | |
2693 | |
2694 Basic test for the setreuid(2) system call. | |
2695 | |
2696 setreuid02 | |
2697 | |
2698 Test setreuid() when executed by root. | |
2699 | |
2700 setreuid03 | |
2701 | |
2702 Test setreuid() when executed by an unprivileged user. | |
2703 | |
2704 | |
2705 setreuid04 | |
2706 | |
2707 Test that root can change the real and effective uid to an | |
2708 unprivileged user. | |
2709 | |
2710 setreuid05 | |
2711 | |
2712 Test the setreuid() feature, verifying the role of the saved-set-uid | |
2713 and setreuid's effect on it. | |
2714 | |
2715 setreuid06 | |
2716 | |
2717 Test that EINVAL is set when setreuid is given an invalid user id. | |
2718 | |
2719 setrlimit01 | |
2720 | |
2721 Testcase to check the basic functionality of the setrlimit system call. | |
2722 | |
2723 | |
2724 setrlimit02 | |
2725 | |
2726 Testcase to test the different errnos set by setrlimit(2) system call. | |
2727 | |
2728 setrlimit03 | |
2729 | |
2730 Test for EPERM when the super-user tries to increase RLIMIT_NOFILE | |
2731 beyond the system limit. | |
2732 | |
2733 setsid01 | |
2734 | |
2735 Test to check the error and trivial conditions in setsid system call | |
2736 | |
2737 setuid01 | |
2738 | |
2739 Basic test for the setuid(2) system call. | |
2740 | |
2741 setuid02 | |
2742 | |
2743 Basic test for the setuid(2) system call as root. | |
2744 | |
2745 setuid03 | |
2746 | |
2747 Test to check the error and trivial conditions in setuid | |
2748 | |
2749 fs_perms | |
2750 | |
2751 Regression test for Linux filesystem permissions. | |
2752 uname01 | |
2753 | |
2754 Basic test for the uname(2) system call. | |
2755 | |
2756 uname02 | |
2757 | |
2758 Call uname() with an invalid address to produce a failure | |
2759 | |
2760 uname03 | |
2761 | |
2762 Call uname() and make sure it succeeds | |
2763 sysctl01 | |
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 | |
2770 sysctl03 | |
2771 | |
2772 Testcase to check that sysctl(2) sets errno to EPERM correctly. | |
2773 | |
2774 | |
2775 sysctl04 | |
2776 | |
2777 Testcase to check that sysctl(2) sets errno to ENOTDIR | |
2778 | |
2779 | |
2780 sysctl05 | |
2781 | |
2782 Testcase to check that sysctl(2) sets errno to EFAULT | |
2783 | |
2784 time01 | |
2785 | |
2786 Basic test for the time(2) system call. | |
2787 | |
2788 | |
2789 time02 | |
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 paramete
r. | |
2793 | |
2794 times01 | |
2795 | |
2796 Basic test for the times(2) system call. | |
2797 | |
2798 times02 | |
2799 | |
2800 Testcase to test that times() sets errno correctly | |
2801 | |
2802 times03 | |
2803 | |
2804 Testcase to check the basic functionality of the times() system call. | |
2805 | |
2806 utime01 | |
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 | |
2812 utime02 | |
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 | |
2821 utime03 | |
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 | |
2832 utime04 | |
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 | |
2839 utime05 | |
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 | |
2849 utime06 | |
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 | |
2862 settimeofday01 | |
2863 | |
2864 Testcase to check the basic functionality of settimeofday(). | |
2865 | |
2866 | |
2867 settimeofday02 | |
2868 | |
2869 Testcase to check that settimeofday() sets errnos correctly. | |
2870 | |
2871 stime01 | |
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 | |
2876 stime02 | |
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 | |
2881 gettimeofday01 | |
2882 | |
2883 Testcase to check that gettimeofday(2) sets errno to EFAULT. | |
2884 | |
2885 | |
2886 | |
2887 alarm01 | |
2888 | |
2889 Basic test for alarm(2). | |
2890 | |
2891 alarm02 | |
2892 | |
2893 Boundary Value Test for alarm(2). | |
2894 | |
2895 alarm03 | |
2896 | |
2897 Alarm(2) cleared by a fork. | |
2898 | |
2899 alarm04 | |
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 | |
2904 alarm05 | |
2905 | |
2906 Check the functionality of the Alarm system call when the time input | |
2907 parameter is non zero. | |
2908 | |
2909 alarm06 | |
2910 | |
2911 Check the functionality of the Alarm system call when the time input | |
2912 parameter is zero. | |
2913 | |
2914 alarm07 | |
2915 | |
2916 Check the functionality of the alarm() when the time input | |
2917 parameter is non-zero and the process does a fork. | |
2918 | |
2919 getegid01 | |
2920 | |
2921 Basic test for getegid(2) | |
2922 | |
2923 | |
2924 geteuid01 | |
2925 | |
2926 Basic test for geteuid(2) | |
2927 | |
2928 | |
2929 getgid01 | |
2930 | |
2931 Basic test for getgid(2) | |
2932 | |
2933 getgid02 | |
2934 | |
2935 Testcase to check the basic functionality of getgid(). | |
2936 | |
2937 getgid03 | |
2938 | |
2939 Testcase to check the basic functionality of getegid(). | |
2940 | |
2941 | |
2942 getpid01 | |
2943 | |
2944 Basic test for getpid(2) | |
2945 | |
2946 | |
2947 getpid02 | |
2948 | |
2949 Verify that getpid() system call gets the process ID of the of the | |
2950 calling process. | |
2951 | |
2952 | |
2953 getppid01 | |
2954 | |
2955 Testcase to check the basic functionality of the getppid() syscall. | |
2956 | |
2957 | |
2958 getuid01 | |
2959 | |
2960 Basic test for getuid(2) | |
2961 | |
2962 getuid02 | |
2963 | |
2964 Testcase to check the basic functionality of the geteuid() system call. | |
2965 | |
2966 getuid03 | |
2967 | |
2968 Testcase to check the basic functionality of the getuid() system call. | |
2969 | |
2970 nanosleep01 | |
2971 | |
2972 Verify that nanosleep() will be successful to suspend the execution | |
2973 of a process for a specified time. | |
2974 | |
2975 nanosleep02 | |
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 | |
2981 nanosleep03 | |
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 | |
2986 nanosleep04 | |
2987 | |
2988 Verify that nanosleep() will fail to suspend the execution | |
2989 of a process if the specified pause time is invalid. | |
2990 | |
OLD | NEW |