descriptions.tests 69 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990
  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. waitpid01
  18. Check that when a child kills itself by generating an alarm
  19. exception, the waiting parent is correctly notified.
  20. waitpid02
  21. Check that when a child kills itself by generating an integer zero
  22. divide exception, the waiting parent is correctly notified.
  23. waitpid03
  24. Check that parent waits until specific child has returned.
  25. waitpid04
  26. test to check the error conditions in waitpid sys call
  27. waitpid05
  28. Check that when a child kills itself with a kill statement after
  29. determining its process id by using getpid, the parent receives a
  30. correct report of the cause of its death. This also indirectly
  31. checks that getpid returns the correct process id.
  32. waitpid06
  33. Tests to see if pid's returned from fork and waitpid are same.
  34. waitpid07
  35. Tests to see if pid's returned from fork and waitpid are same.
  36. waitpid08
  37. Tests to see if pid's returned from fork and waitpid are same
  38. waitpid09
  39. Check ability of parent to wait until child returns, and that the
  40. child's process id is returned through the waitpid. Check that
  41. waitpid returns immediately if no child is present.
  42. waitpid10
  43. Tests to see if pid's returned from fork and waitpid are same
  44. waitpid11
  45. Tests to see if pid's returned from fork and waitpid are same
  46. waitpid12
  47. Tests to see if pid's returned from fork and waitpid are same
  48. waitpid13
  49. Tests to see if pid's returned from fork and waitpid are same
  50. fcntl01
  51. Test F_DUPFD, F_SETFL cmds of fcntl
  52. fcntl02
  53. Basic test for fcntl(2) using F_DUPFD argument.
  54. fcntl03
  55. Basic test for fcntl(2) using F_GETFD argument.
  56. fcntl04
  57. Basic test for fcntl(2) using F_GETFL argument.
  58. fcntl05
  59. Basic test for fcntl(2) using F_GETLK argument.
  60. fcntl06
  61. Error checking conditions for remote locking of regions of a file.
  62. fcntl07
  63. Close-On-Exec functional test.
  64. fcntl07B
  65. Close-On-Exec of named pipe functional test.
  66. fcntl08
  67. Basic test for fcntl(2) using F_SETFL argument.
  68. fcntl09
  69. Basic test for fcntl(2) using F_SETLK argument.
  70. fcntl10
  71. Basic test for fcntl(2) using F_SETLKW argument.
  72. fcntl11
  73. Testcase to check locking of regions of a file
  74. fcntl12
  75. Testcase to test that fcntl() sets EMFILE for F_DUPFD command.
  76. fcntl13
  77. Testcase to test that fcntl() sets errno correctly.
  78. fcntl14
  79. File locking test cases for fcntl. In Linux, S_ENFMT is not implemented
  80. in the kernel. However all standard Unix kernels define S_ENFMT as
  81. S_ISGID. So this test defines S_ENFMT as S_ISGID.
  82. fcntl15
  83. Check that file locks are removed when file closed
  84. fcntl16
  85. Additional file locking test cases for checking proper notification
  86. of processes on lock change
  87. fcntl17
  88. Check deadlock detection for file locking
  89. fcntl18
  90. Test to check the error conditions in fcntl system call
  91. fcntl19
  92. Testcase to check locking of regions of a file
  93. fcntl20
  94. Check locking of regions of a file
  95. fcntl21
  96. Check locking of regions of a file
  97. dup01
  98. Basic test for dup(2).
  99. dup02
  100. Negative test for dup(2) with bad fd.
  101. dup03
  102. Negative test for dup(2) (too many fds).
  103. dup04
  104. Basic test for dup(2) of a system pipe descriptor.
  105. dup05
  106. Basic test for dup(2) of a named pipe descriptor.
  107. dup201
  108. Negative tests for dup2() with bad fd (EBADF), and for "too many
  109. open files" (EMFILE)
  110. dup202
  111. Is the access mode the same for both file descriptors?
  112. 0: read only ? "0444"
  113. 1: write only ? "0222"
  114. 2: read/write ? "0666"
  115. dup203
  116. Testcase to check the basic functionality of dup2().
  117. dup204
  118. Testcase to check the basic functionality of dup2(2).
  119. msync01
  120. Verify that, msync() succeeds, when the region to synchronize, is part
  121. of, or all of a mapped region.
  122. msync02
  123. Verify that msync() succeeds when the region to synchronize is mapped
  124. shared and the flags argument is MS_INVALIDATE.
  125. msync03
  126. Verify that, msync() fails, when the region to synchronize, is outside
  127. the address space of the process.
  128. msync04
  129. Verify that, msync() fails, when the region to synchronize, is mapped
  130. but the flags argument is invalid.
  131. msync05
  132. Verify that, msync() fails, when the region to synchronize, was not
  133. mapped.
  134. sendfile02
  135. Testcase to test the basic functionality of the sendfile(2) system call.
  136. sendfile03
  137. Testcase to test that sendfile(2) system call returns appropriate
  138. errnos on error.
  139. fork01
  140. Basic test for fork(2).
  141. fork02
  142. Test correct operation of fork:
  143. pid == 0 in child;
  144. pid > 0 in parent from wait;
  145. fork03
  146. Check that child can use a large text space and do a large
  147. number of operations.
  148. fork04
  149. Child inheritance of Environment Variables after fork().
  150. fork05
  151. Make sure LDT is propagated correctly
  152. fork06
  153. Test that a process can fork children a large number of
  154. times in succession
  155. fork07
  156. Check that all children inherit parent's file descriptor
  157. fork08
  158. Check if the parent's file descriptors are affected by
  159. actions in the child; they should not be.
  160. fork09
  161. Check that child has access to a full set of files.
  162. fork10
  163. Check inheritance of file descriptor by children, they
  164. should all be referring to the same file.
  165. fork11
  166. Test that parent gets a pid from each child when doing wait
  167. vfork01
  168. Fork a process using vfork() and verify that, the attribute values like
  169. euid, ruid, suid, egid, rgid, sgid, umask, inode and device number of
  170. root and current working directories are same as that of the parent
  171. process.
  172. vfork02
  173. Fork a process using vfork() and verify that, the pending signals in
  174. the parent are not pending in the child process.
  175. ioctl01
  176. Testcase to check the errnos set by the ioctl(2) system call.
  177. ioctl02
  178. Testcase to test the TCGETA, and TCSETA ioctl implementations for
  179. the tty driver
  180. sockioctl01
  181. Verify that ioctl() on sockets returns the proper errno for various
  182. failure cases
  183. getitimer01
  184. check that a correct call to getitimer() succeeds
  185. getitimer02
  186. check that a getitimer() call fails as expected
  187. with an incorrect second argument.
  188. getitimer03
  189. check that a getitimer() call fails as expected
  190. with an incorrect first argument.
  191. setitimer01
  192. check that a reasonable setitimer() call succeeds.
  193. setitimer02
  194. check that a setitimer() call fails as expected
  195. with incorrect values.
  196. setitimer03
  197. check that a setitimer() call fails as expected
  198. with incorrect values.
  199. float_trigo
  200. increase CPUs workload - verify that results of some math functions are stable
  201. trigonometric (acos, asin, atan, atan2, cos, sin, tan),
  202. hyperbolic (cosh, sinh, tanh),
  203. float_exp_log
  204. increase CPUs workload - verify that results of some math functions are stable
  205. exponential and logarithmic functions (exp, log, log10),
  206. Functions that manipulate floating-point numbers (modf, ldexp, frexp),
  207. Euclidean distance function (hypot),
  208. float_bessel
  209. increase CPUs workload - verify that results of some math functions are stable
  210. Bessel (j0, j1, y0, y1),
  211. Computes the natural logarithm of the gamma function (lgamma),
  212. fload_power
  213. increase CPUs workload - verify that results of some math functions are stable
  214. Computes sqrt, power, fmod
  215. float_iperb
  216. increase CPUs workload - verify that results of some math functions are stable
  217. pth_str01
  218. Creates a tree of threads
  219. pth_str02
  220. Creates n threads
  221. pth_str03
  222. Creates a tree of threads does calculations, and
  223. returns result to parent
  224. asyncio02
  225. Write/close flushes data to the file.
  226. fpathconf
  227. Basic test for fpathconf(2)
  228. gethostid01
  229. Basic test for gethostid(2)
  230. pathconf01
  231. Basic test for pathconf(2)
  232. setpgrp01
  233. Basic test for the setpgrp(2) system call.
  234. setpgrp02
  235. Testcase to check the basic functionality of the setpgrp(2) syscall.
  236. ulimit01
  237. Basic test for the ulimit(2) system call.
  238. mmstress
  239. Performs General Stress with Race conditions
  240. mmap1
  241. Test the LINUX memory manager. The program is aimed at
  242. stressing the memory manager by simultaneous map/unmap/read
  243. by light weight processes, the test is scheduled to run for
  244. a minimum of 24 hours.
  245. mmap2
  246. Test the LINUX memory manager. The program is aimed at
  247. stressing the memory manager by repeated map/write/unmap of a
  248. of a large gb size file.
  249. mmap3
  250. Test the LINUX memory manager. The program is aimed at
  251. stressing the memory manager by repeated map/write/unmap
  252. of file/memory of random size (maximum 1GB) this is done by
  253. multiple processes.
  254. mmap001
  255. Tests mmapping a big file and writing it once
  256. mmap01
  257. Verify that, mmap() succeeds when used to map a file where size of the
  258. file is not a multiple of the page size, the memory area beyond the end
  259. of the file to the end of the page is accessible. Also, verify that
  260. this area is all zeroed and the modifications done to this area are
  261. not written to the file.
  262. mmap02
  263. Call mmap() with prot parameter set to PROT_READ and with the file
  264. descriptor being open for read, to map a file creating mapped memory
  265. with read access. The minimum file permissions should be 0444.
  266. mmap03
  267. Call mmap() to map a file creating a mapped region with execute access
  268. under the following conditions -
  269. - The prot parameter is set to PROT_EXE
  270. - The file descriptor is open for read
  271. - The file being mapped has execute permission bit set.
  272. - The minimum file permissions should be 0555.
  273. The call should succeed to map the file creating mapped memory with the
  274. required attributes.
  275. mmap04
  276. Call mmap() to map a file creating a mapped region with read/exec access
  277. under the following conditions -
  278. - The prot parameter is set to PROT_READ|PROT_EXEC
  279. - The file descriptor is open for read
  280. - The file being mapped has read and execute permission bit set.
  281. - The minimum file permissions should be 0555.
  282. The call should succeed to map the file creating mapped memory with the
  283. required attributes.
  284. mmap05
  285. Call mmap() to map a file creating mapped memory with no access under
  286. the following conditions -
  287. - The prot parameter is set to PROT_NONE
  288. - The file descriptor is open for read(any mode other than write)
  289. - The minimum file permissions should be 0444.
  290. The call should succeed to map the file creating mapped memory with the
  291. required attributes.
  292. mmap06
  293. Call mmap() to map a file creating a mapped region with read access
  294. under the following conditions -
  295. - The prot parameter is set to PROT_READ
  296. - The file descriptor is open for writing.
  297. The call should fail to map the file.
  298. mmap07
  299. Call mmap() to map a file creating a mapped region with read access
  300. under the following conditions -
  301. - The prot parameter is set to PROT_WRITE
  302. - The file descriptor is open for writing.
  303. - The flags parameter has MAP_PRIVATE set.
  304. The call should fail to map the file.
  305. mmap08
  306. Verify that mmap() fails to map a file creating a mapped region
  307. when the file specified by file descriptor is not valid.
  308. mremap01
  309. Verify that, mremap() succeeds when used to expand the existing
  310. virtual memory mapped region to the requested size where the
  311. virtual memory area was previously mapped to a file using mmap().
  312. mremap02
  313. Verify that,
  314. mremap() fails when used to expand the existing virtual memory mapped
  315. region to the requested size, if the virtual memory area previously
  316. mapped was not page aligned or invalid argument specified.
  317. mremap03
  318. Verify that,
  319. mremap() fails when used to expand the existing virtual memory mapped
  320. region to the requested size, if there already exists mappings that
  321. cover the whole address space requested or the old address specified was
  322. not mapped.
  323. mremap04
  324. Verify that,
  325. mremap() fails when used to expand the existing virtual memory mapped
  326. region to the requested size, if the memory area cannot be expanded at
  327. the current virtual address and MREMAP_MAYMOVE flag not set.
  328. munmap01
  329. Verify that, munmap call will succeed to unmap a mapped file or
  330. anonymous shared memory region from the calling process's address space
  331. and after successful completion of munmap, the unmapped region is no
  332. longer accessible.
  333. munmap02
  334. Verify that, munmap call will succeed to unmap a mapped file or
  335. anonymous shared memory region from the calling process's address space
  336. if the region specified by the address and the length is part or all of
  337. the mapped region.
  338. munmap03
  339. Verify that, munmap call will fail to unmap a mapped file or anonymous
  340. shared memory region from the calling process's address space if the
  341. address and the length of the region to be unmapped points outside the
  342. calling process's address space
  343. brk01
  344. Test the basic functionality of brk.
  345. sbrk01
  346. Basic test for the sbrk(2) system call.
  347. mprotect01
  348. Testcase to check the error conditions for mprotect(2)
  349. mprotect02
  350. Testcase to check the mprotect(2) system call.
  351. mprotect03
  352. Testcase to check the mprotect(2) system call.
  353. msgctl01
  354. create a message queue, then issue the IPC_STAT command
  355. and RMID commands to test the functionality
  356. msgctl02
  357. create a message queue, then issue the IPC_SET command
  358. to lower the msg_qbytes value.
  359. msgctl03
  360. create a message queue, then issue the IPC_RMID command
  361. msgctl04
  362. test for EACCES, EFAULT and EINVAL errors using
  363. a variety of incorrect calls.
  364. msgctl05
  365. test for EPERM error
  366. msgget01
  367. create a message queue, write a message to it and
  368. read it back.
  369. msgget02
  370. test for EEXIST and ENOENT errors
  371. msgget03
  372. test for an ENOSPC error by using up all available
  373. message queues.
  374. msgget04
  375. test for an EACCES error by creating a message queue
  376. with no read or write permission and then attempting
  377. to access it with various permissions.
  378. msgrcv01
  379. test that msgrcv() receives the expected message
  380. msgrcv02
  381. test for EACCES and EFAULT errors
  382. msgrcv03
  383. test for EINVAL error
  384. msgrcv04
  385. test for E2BIG and ENOMSG errors
  386. msgrcv05
  387. test for EINTR error
  388. msgrcv06
  389. test for EIDRM error
  390. msgsnd01
  391. test that msgsnd() enqueues a message correctly
  392. msgsnd02
  393. test for EACCES and EFAULT errors
  394. msgsnd03
  395. test for EINVAL error
  396. msgsnd04
  397. test for EAGAIN error
  398. msgsnd05
  399. test for EINTR error
  400. msgsnd06
  401. test for EIDRM error
  402. link02
  403. Basic test for link(2)
  404. link03
  405. Multi links tests
  406. link04
  407. Negative test cases for link(2)
  408. link05
  409. Multi links (EMLINK) negative test
  410. readlink01
  411. Verify that, readlink will succeed to read the contents of the symbolic
  412. link created the process.
  413. readlink02
  414. Basic test for the readlink(2) system call
  415. readlink03
  416. Verify that,
  417. 1) readlink(2) returns -1 and sets errno to EACCES if search/write
  418. permission is denied in the directory where the symbolic link
  419. resides.
  420. 2) readlink(2) returns -1 and sets errno to EINVAL if the buffer size
  421. is not positive.
  422. 3) readlink(2) returns -1 and sets errno to EINVAL if the specified
  423. file is not a symbolic link file.
  424. 4) readlink(2) returns -1 and sets errno to ENAMETOOLONG if the
  425. pathname component of symbolic link is too long (ie, > PATH_MAX).
  426. 5) readlink(2) returns -1 and sets errno to ENOENT if the component of
  427. symbolic link points to an empty string.
  428. readlink04
  429. Verify that, readlink call will succeed to read the contents of the
  430. symbolic link if invoked by non-root user who is not the owner of the
  431. symbolic link.
  432. symlink01
  433. Test of various file function calls, such as rename or open, on a symbolic
  434. link file.
  435. symlink02
  436. Basic test for the symlink(2) system call.
  437. symlink03
  438. Verify that,
  439. 1) symlink(2) returns -1 and sets errno to EACCES if search/write
  440. permission is denied in the directory where the symbolic link is
  441. being created.
  442. 2) symlink(2) returns -1 and sets errno to EEXIST if the specified
  443. symbolic link already exists.
  444. 3) symlink(2) returns -1 and sets errno to EFAULT if the specified
  445. file or symbolic link points to invalid address.
  446. 4) symlink(2) returns -1 and sets errno to ENAMETOOLONG if the
  447. pathname component of symbolic link is too long (ie, > PATH_MAX).
  448. 5) symlink(2) returns -1 and sets errno to ENOTDIR if the directory
  449. component in pathname of symbolic link is not a directory.
  450. 6) symlink(2) returns -1 and sets errno to ENOENT if the component of
  451. symbolic link points to an empty string.
  452. symlink04
  453. Verify that, symlink will succeed to create a symbolic link of an existing
  454. object name path.
  455. symlink05
  456. Verify that, symlink will succeed to create a symbolic link of an
  457. non-existing object name path.
  458. unlink05
  459. Basic test for the unlink(2) system call.
  460. unlink06
  461. Test for the unlink(2) system call of a FIFO.
  462. unlink07
  463. Tests for error handling for the unlink(2) system call.
  464. unlink08
  465. More tests for error handling for the unlink(2) system call.
  466. linktest
  467. Regression test for max links per file
  468. rename01
  469. This test will verify the rename(2) syscall basic functionality.
  470. Verify rename() works when the "new" file or directory does not exist.
  471. rename02
  472. Basic test for the rename(2) system call
  473. rename03
  474. This test will verify that rename(2) functions correctly
  475. when the "new" file or directory exists
  476. rename04
  477. This test will verify that rename(2) failed when newpath is
  478. a non-empty directory and return EEXIST or ENOTEMPTY
  479. rename05
  480. This test will verify that rename(2) fails with EISDIR
  481. rename06
  482. This test will verify that rename(2) failed in EINVAL
  483. rename07
  484. This test will verify that rename(2) failed in ENOTDIR
  485. rename08
  486. This test will verify that rename(2) syscall failed in EFAULT
  487. rename09
  488. check rename() fails with EACCES
  489. rename10
  490. This test will verify that rename(2) syscall fails with ENAMETOOLONG
  491. and ENOENT
  492. rename11
  493. This test will verify that rename(2) failed in EBUSY
  494. rename12
  495. check rename() fails with EPERM
  496. rename13
  497. Verify rename() return successfully and performs no other action
  498. when "old" file and "new" file link to the same file.
  499. rmdir01
  500. This test will verify that rmdir(2) syscall basic functionality.
  501. verify rmdir(2) returns a value of 0 and the directory being
  502. removed
  503. rmdir02
  504. This test will verify that rmdir(2) fail in
  505. 1. ENOTEMPTY
  506. 2. EBUSY
  507. 3. ENAMETOOLONG
  508. 4. ENOENT
  509. 5. ENOTDIR
  510. 6. EFAULT
  511. 7. EFAULT
  512. rmdir03
  513. check rmdir() fails with EPERM or EACCES
  514. rmdir04
  515. Basic test for the rmdir(2) system call
  516. rmdir05
  517. Verify that rmdir(2) returns a value of -1 and sets errno to indicate the error.
  518. mkdir01
  519. Basic errno test for mkdir(2)
  520. mkdir02
  521. This test will verify that new directory created
  522. by mkdir(2) inherits the group ID from the parent
  523. directory and S_ISGID bit, if the S_ISGID bit is set
  524. in the parent directory.
  525. mkdir03
  526. Check mkdir() with various error conditions that should produce
  527. EFAULT, ENAMETOOLONG, EEXIST, ENOENT and ENOTDIR
  528. mkdir04
  529. Attempt to create a directory in a directory having no permissions.
  530. mkdir05
  531. This test will verify the mkdir(2) syscall basic functionality
  532. mkdir08
  533. Basic test for mkdir(2)
  534. mknod01
  535. Basic test for mknod(2)
  536. mknod02
  537. Verify that mknod(2) succeeds when used to create a filesystem
  538. node with set group-ID bit set on a directory without set group-ID bit set.
  539. The node created should have set group-ID bit set and its gid should be
  540. equal to that of its parent directory.
  541. mknod03
  542. Verify that mknod(2) succeeds when used to create a filesystem
  543. node with set group-ID bit set on a directory with set group-ID bit set.
  544. The node created should have set group-ID bit set and its gid should be
  545. equal to the effective gid of the process.
  546. mknod04
  547. Verify that mknod(2) succeeds when used to create a filesystem
  548. node on a directory with set group-ID bit set.
  549. The node created should not have group-ID bit set and its gid should be
  550. equal to the effective gid of the process.
  551. mknod05
  552. Verify that mknod(2) succeeds when used by root to create a filesystem
  553. node with set group-ID bit set on a directory with set group-ID bit set.
  554. The node created should have set group-ID bit set and its gid should be
  555. equal to that of its parent directory.
  556. mknod06
  557. Verify that,
  558. 1) mknod(2) returns -1 and sets errno to EEXIST if specified path
  559. already exists.
  560. 2) mknod(2) returns -1 and sets errno to EFAULT if pathname points
  561. outside user's accessible address space.
  562. 3) mknod(2) returns -1 and sets errno to ENOENT if the directory
  563. component in pathname does not exist.
  564. 4) mknod(2) returns -1 and sets errno to ENAMETOOLONG if the pathname
  565. component was too long.
  566. 5) mknod(2) returns -1 and sets errno to ENOTDIR if the directory
  567. component in pathname is not a directory.
  568. mknod07
  569. Verify that,
  570. 1) mknod(2) returns -1 and sets errno to EPERM if the process id of
  571. the caller is not super-user.
  572. 2) mknod(2) returns -1 and sets errno to EACCES if parent directory
  573. does not allow write permission to the process.
  574. mknod08
  575. Verify that mknod(2) succeeds when used to create a filesystem
  576. node on a directory without set group-ID bit set. The node created
  577. should not have set group-ID bit set and its gid should be equal to that
  578. of its parent directory.
  579. access01
  580. Basic test for access(2) using F_OK, R_OK, W_OK, and X_OK arguments.
  581. access02
  582. Verify that access() succeeds to check the read/write/execute permissions
  583. on a file if the mode argument passed was R_OK/W_OK/X_OK.
  584. Also verify that, access() succeeds to test the accessibility of the file
  585. referred to by symbolic link if the pathname points to a symbolic link.
  586. access03
  587. EFAULT error testing for access(2).
  588. access04
  589. Verify that,
  590. 1. access() fails with -1 return value and sets errno to EACCES
  591. if the permission bits of the file mode do not permit the
  592. requested (Read/Write/Execute) access.
  593. 2. access() fails with -1 return value and sets errno to EINVAL
  594. if the specified access mode argument is invalid.
  595. 3. access() fails with -1 return value and sets errno to EFAULT
  596. if the pathname points outside allocate address space for the
  597. process.
  598. 4. access() fails with -1 return value and sets errno to ENOENT
  599. if the specified file doesn't exist (or pathname is NULL).
  600. 5. access() fails with -1 return value and sets errno to ENAMETOOLONG
  601. if the pathname size is > PATH_MAX characters.
  602. access05
  603. Verify that access() succeeds to check the existence of a file if
  604. search access is permitted on the pathname of the specified file.
  605. access06
  606. EFAULT error testing for access(2).
  607. chroot01
  608. Testcase to check the whether chroot sets errno to EPERM.
  609. chroot02
  610. Test functionality of chroot(2)
  611. chroot03
  612. Testcase to test whether chroot(2) sets errno correctly.
  613. pipeio
  614. This tool can be used to beat on system or named pipes.
  615. See the help() function below for user information.
  616. pipe01
  617. Testcase to check the basic functionality of the pipe(2) syscall:
  618. Check that both ends of the pipe (both file descriptors) are
  619. available to a process opening the pipe.
  620. pipe05
  621. Check what happens when pipe is passed a bad file descriptor.
  622. pipe06
  623. Check what happens when the system runs out of pipes.
  624. pipe08
  625. Check that a SIGPIPE signal is generated when a write is
  626. attempted on an empty pipe.
  627. pipe09
  628. Check that two processes can use the same pipe at the same time.
  629. pipe10
  630. Check that parent can open a pipe and have a child read from it
  631. pipe11
  632. Check if many children can read what is written to a pipe by the
  633. parent.
  634. sem01
  635. Creates a semaphore and two processes. The processes
  636. each go through a loop where they semdown, delay for a
  637. random amount of time, and semup, so they will almost
  638. always be fighting for control of the semaphore.
  639. sem02
  640. The application creates several threads using pthread_create().
  641. One thread performs a semop() with the SEM_UNDO flag set. The
  642. change in semaphore value performed by that semop should be
  643. "undone" only when the last pthread exits.
  644. semctl01
  645. test the 10 possible semctl() commands
  646. semctl02
  647. test for EACCES error
  648. semctl03
  649. test for EINVAL and EFAULT errors
  650. semctl04
  651. test for EPERM error
  652. semctl05
  653. test for ERANGE error
  654. semget01
  655. test that semget() correctly creates a semaphore set
  656. semget02
  657. test for EACCES and EEXIST errors
  658. semget03
  659. test for ENOENT error
  660. semget05
  661. test for ENOSPC error
  662. semget06
  663. test for EINVAL error
  664. semop01
  665. test that semop() basic functionality is correct
  666. semop02
  667. test for E2BIG, EACCES, EFAULT and EINVAL errors
  668. semop03
  669. test for EFBIG error
  670. semop04
  671. test for EAGAIN error
  672. semop05
  673. test for EINTR and EIDRM errors
  674. msgctl01
  675. create a message queue, then issue the IPC_STAT command
  676. and RMID commands to test the functionality
  677. msgctl02
  678. create a message queue, then issue the IPC_SET command
  679. to lower the msg_qbytes value.
  680. msgctl03
  681. create a message queue, then issue the IPC_RMID command
  682. msgctl04
  683. test for EACCES, EFAULT and EINVAL errors using
  684. a variety of incorrect calls.
  685. msgctl05
  686. test for EPERM error
  687. msgget01
  688. create a message queue, write a message to it and
  689. read it back.
  690. msgget02
  691. test for EEXIST and ENOENT errors
  692. msgget03
  693. test for an ENOSPC error by using up all available
  694. message queues.
  695. msgget04
  696. test for an EACCES error by creating a message queue
  697. with no read or write permission and then attempting
  698. to access it with various permissions.
  699. msgrcv01
  700. test that msgrcv() receives the expected message
  701. msgrcv02
  702. test for EACCES and EFAULT errors
  703. msgrcv03
  704. test for EINVAL error
  705. msgrcv04
  706. test for E2BIG and ENOMSG errors
  707. msgrcv05
  708. test for EINTR error
  709. msgrcv06
  710. test for EIDRM error
  711. msgsnd01
  712. test that msgsnd() enqueues a message correctly
  713. msgsnd02
  714. test for EACCES and EFAULT errors
  715. msgsnd03
  716. test for EINVAL error
  717. msgsnd04
  718. test for EAGAIN error
  719. msgsnd05
  720. test for EINTR error
  721. msgsnd06
  722. test for EIDRM error
  723. shmat01
  724. test that shmat() works correctly
  725. shmat02
  726. check for EINVAL and EACCES errors
  727. shmat03
  728. test for EACCES error
  729. shmctl01
  730. test the IPC_STAT, IPC_SET and IPC_RMID commands as
  731. they are used with shmctl()
  732. shmctl02
  733. check for EACCES, EFAULT and EINVAL errors
  734. shmctl03
  735. check for EACCES, and EPERM errors
  736. shmdt01
  737. check that shared memory is detached correctly
  738. shmdt02
  739. check for EINVAL error
  740. shmget01
  741. test that shmget() correctly creates a shared memory segment
  742. shmget02
  743. check for ENOENT, EEXIST and EINVAL errors
  744. shmget03
  745. test for ENOSPC error
  746. shmget04
  747. test for EACCES error
  748. shmget05
  749. test for EACCES error
  750. openfile
  751. Creates files and opens simultaneously
  752. open01
  753. Open a file with oflag = O_CREAT set, does it set the sticky bit off?
  754. Open "/tmp" with O_DIRECTORY, does it set the S_IFDIR bit on?
  755. open02
  756. Test if open without O_CREAT returns -1 if a file does not exist.
  757. open03
  758. Basic test for open(2)
  759. open04
  760. Testcase to check that open(2) sets EMFILE if a process opens files
  761. more than its descriptor size
  762. open05
  763. Testcase to check open(2) sets errno to EACCES correctly.
  764. open06
  765. Testcase to check open(2) sets errno to ENXIO correctly.
  766. open07
  767. Test the open(2) system call to ensure that it sets ELOOP correctly.
  768. open08
  769. Check for the following errors:
  770. 1. EEXIST
  771. 2. EISDIR
  772. 3. ENOTDIR
  773. 4. ENAMETOOLONG
  774. 5. EFAULT
  775. 6. ETXTBSY
  776. openfile
  777. Creates files and opens simultaneously
  778. chdir01
  779. Check proper operation of chdir(): tests whether the
  780. system call can it change the current, working directory, and find a
  781. file there? Will it fail on a non-directory entry ?
  782. chdir02
  783. Basic test for chdir(2).
  784. chdir03
  785. Testcase for testing that chdir(2) sets EACCES errno
  786. chdir04
  787. Testcase to test whether chdir(2) sets errno correctly.
  788. chmod01
  789. Verify that, chmod(2) succeeds when used to change the mode permissions
  790. of a file.
  791. chmod02
  792. Basic test for chmod(2).
  793. chmod03
  794. Verify that, chmod(2) will succeed to change the mode of a file
  795. and set the sticky bit on it if invoked by non-root (uid != 0)
  796. process with the following constraints,
  797. - the process is the owner of the file.
  798. - the effective group ID or one of the supplementary group ID's of the
  799. process is equal to the group ID of the file.
  800. chmod04
  801. Verify that, chmod(2) will succeed to change the mode of a directory
  802. and set the sticky bit on it if invoked by non-root (uid != 0) process
  803. with the following constraints,
  804. - the process is the owner of the directory.
  805. - the effective group ID or one of the supplementary group ID's of the
  806. process is equal to the group ID of the directory.
  807. chmod05
  808. Verify that, chmod(2) will succeed to change the mode of a directory
  809. but fails to set the setgid bit on it if invoked by non-root (uid != 0)
  810. process with the following constraints,
  811. - the process is the owner of the directory.
  812. - the effective group ID or one of the supplementary group ID's of the
  813. process is not equal to the group ID of the directory.
  814. chmod06
  815. Verify that,
  816. 1) chmod(2) returns -1 and sets errno to EPERM if the effective user id
  817. of process does not match the owner of the file and the process is
  818. not super user.
  819. 2) chmod(2) returns -1 and sets errno to EACCES if search permission is
  820. denied on a component of the path prefix.
  821. 3) chmod(2) returns -1 and sets errno to EFAULT if pathname points
  822. outside user's accessible address space.
  823. 4) chmod(2) returns -1 and sets errno to ENAMETOOLONG if the pathname
  824. component is too long.
  825. 5) chmod(2) returns -1 and sets errno to ENOTDIR if the directory
  826. component in pathname is not a directory.
  827. 6) chmod(2) returns -1 and sets errno to ENOENT if the specified file
  828. does not exists.
  829. chmod07
  830. Verify that, chmod(2) will succeed to change the mode of a file/directory
  831. and sets the sticky bit on it if invoked by root (uid = 0) process with
  832. the following constraints,
  833. - the process is not the owner of the file/directory.
  834. - the effective group ID or one of the supplementary group ID's of the
  835. process is equal to the group ID of the file/directory.
  836. chown01
  837. Basic test for chown(2).
  838. chown02
  839. Verify that, when chown(2) invoked by super-user to change the owner and
  840. group of a file specified by path to any numeric owner(uid)/group(gid)
  841. values,
  842. - clears setuid and setgid bits set on an executable file.
  843. - preserves setgid bit set on a non-group-executable file.
  844. chown03
  845. Verify that, chown(2) succeeds to change the group of a file specified
  846. by path when called by non-root user with the following constraints,
  847. - euid of the process is equal to the owner of the file.
  848. - the intended gid is either egid, or one of the supplementary gids
  849. of the process.
  850. Also, verify that chown() clears the setuid/setgid bits set on the file.
  851. chown04
  852. Verify that,
  853. 1) chown(2) returns -1 and sets errno to EPERM if the effective user id
  854. of process does not match the owner of the file and the process is
  855. not super user.
  856. 2) chown(2) returns -1 and sets errno to EACCES if search permission is
  857. denied on a component of the path prefix.
  858. 3) chown(2) returns -1 and sets errno to EFAULT if pathname points
  859. outside user's accessible address space.
  860. 4) chown(2) returns -1 and sets errno to ENAMETOOLONG if the pathname
  861. component is too long.
  862. 5) chown(2) returns -1 and sets errno to ENOTDIR if the directory
  863. component in pathname is not a directory.
  864. 6) chown(2) returns -1 and sets errno to ENOENT if the specified file
  865. does not exists.
  866. chown05
  867. Verify that, chown(2) succeeds to change the owner and group of a file
  868. specified by path to any numeric owner(uid)/group(gid) values when invoked
  869. by super-user.
  870. close01
  871. Test that closing a regular file and a pipe works correctly
  872. close02
  873. Check that an invalid file descriptor returns EBADF
  874. close08
  875. Basic test for close(2).
  876. fchdir01
  877. create a directory and cd into it.
  878. fchdir02
  879. try to cd into a bad directory (bad fd).
  880. fchmod01
  881. Basic test for Fchmod(2).
  882. fchmod02
  883. Verify that, fchmod(2) will succeed to change the mode of a file/directory
  884. set the sticky bit on it if invoked by root (uid = 0) process with
  885. the following constraints,
  886. - the process is not the owner of the file/directory.
  887. - the effective group ID or one of the supplementary group ID's of the
  888. process is equal to the group ID of the file/directory.
  889. fchmod03
  890. Verify that, fchmod(2) will succeed to change the mode of a file
  891. and set the sticky bit on it if invoked by non-root (uid != 0)
  892. process with the following constraints,
  893. - the process is the owner of the file.
  894. - the effective group ID or one of the supplementary group ID's of the
  895. process is equal to the group ID of the file.
  896. fchmod04
  897. Verify that, fchmod(2) will succeed to change the mode of a directory
  898. and set the sticky bit on it if invoked by non-root (uid != 0) process
  899. with the following constraints,
  900. - the process is the owner of the directory.
  901. - the effective group ID or one of the supplementary group ID's of the
  902. process is equal to the group ID of the directory.
  903. fchmod05
  904. Verify that, fchmod(2) will succeed to change the mode of a directory
  905. but fails to set the setgid bit on it if invoked by non-root (uid != 0)
  906. process with the following constraints,
  907. - the process is the owner of the directory.
  908. - the effective group ID or one of the supplementary group ID's of the
  909. process is not equal to the group ID of the directory.
  910. fchmod06
  911. Verify that,
  912. 1) fchmod(2) returns -1 and sets errno to EPERM if the effective user id
  913. of process does not match the owner of the file and the process is
  914. not super user.
  915. 2) fchmod(2) returns -1 and sets errno to EBADF if the file descriptor
  916. of the specified file is not valid.
  917. fchmod07
  918. Verify that, fchmod(2) succeeds when used to change the mode permissions
  919. of a file specified by file descriptor.
  920. fchown01
  921. Basic test for fchown(2).
  922. fchown02
  923. Verify that, when fchown(2) invoked by super-user to change the owner and
  924. group of a file specified by file descriptor to any numeric
  925. owner(uid)/group(gid) values,
  926. - clears setuid and setgid bits set on an executable file.
  927. - preserves setgid bit set on a non-group-executable file.
  928. fchown03
  929. Verify that, fchown(2) succeeds to change the group of a file specified
  930. by path when called by non-root user with the following constraints,
  931. - euid of the process is equal to the owner of the file.
  932. - the intended gid is either egid, or one of the supplementary gids
  933. of the process.
  934. Also, verify that fchown() clears the setuid/setgid bits set on the file.
  935. fchown04
  936. Verify that,
  937. 1) fchown(2) returns -1 and sets errno to EPERM if the effective user id
  938. of process does not match the owner of the file and the process is
  939. not super user.
  940. 2) fchown(2) returns -1 and sets errno to EBADF if the file descriptor
  941. of the specified file is not valid.
  942. fchown05
  943. Verify that, fchown(2) succeeds to change the owner and group of a file
  944. specified by file descriptor to any numeric owner(uid)/group(gid) values
  945. when invoked by super-user.
  946. lchown01
  947. Verify that, lchown(2) succeeds to change the owner and group of a file
  948. specified by path to any numeric owner(uid)/group(gid) values when invoked
  949. by super-user.
  950. lchown02
  951. Verify that,
  952. 1) lchown(2) returns -1 and sets errno to EPERM if the effective user id
  953. of process does not match the owner of the file and the process is
  954. not super user.
  955. 2) lchown(2) returns -1 and sets errno to EACCES if search permission is
  956. denied on a component of the path prefix.
  957. 3) lchown(2) returns -1 and sets errno to EFAULT if pathname points
  958. outside user's accessible address space.
  959. 4) lchown(2) returns -1 and sets errno to ENAMETOOLONG if the pathname
  960. component is too long.
  961. 5) lchown(2) returns -1 and sets errno to ENOTDIR if the directory
  962. component in pathname is not a directory.
  963. 6) lchown(2) returns -1 and sets errno to ENOENT if the specified file
  964. does not exists.
  965. creat01
  966. Testcase to check the basic functionality of the creat(2) system call.
  967. creat03
  968. Testcase to check whether the sticky bit cleared.
  969. creat04
  970. Testcase to check creat(2) fails with EACCES
  971. creat05
  972. Testcase to check that creat(2) system call returns EMFILE.
  973. creat06
  974. Testcase to check creat(2) sets the following errnos correctly:
  975. 1. EISDIR
  976. 2. ENAMETOOLONG
  977. 3. ENOENT
  978. 4. ENOTDIR
  979. 5. EFAULT
  980. 6. EACCES
  981. creat07
  982. Testcase to check creat(2) sets the following errnos correctly:
  983. 1. ETXTBSY
  984. creat09
  985. Basic test for creat(2) using 0700 argument.
  986. truncate01
  987. Verify that, truncate(2) succeeds to truncate a file to a specified
  988. length.
  989. truncate02
  990. Verify that, truncate(2) succeeds to truncate a file to a certain length,
  991. but the attempt to read past the truncated length will fail.
  992. truncate03
  993. Verify that,
  994. 1) truncate(2) returns -1 and sets errno to EACCES if search/write
  995. permission denied for the process on the component of the path prefix
  996. or named file.
  997. 2) truncate(2) returns -1 and sets errno to ENOTDIR if the component of
  998. the path prefix is not a directory.
  999. 3) truncate(2) returns -1 and sets errno to EFAULT if pathname points
  1000. outside user's accessible address space.
  1001. 4) truncate(2) returns -1 and sets errno to ENAMETOOLONG if the component
  1002. of a pathname exceeded 255 characters or entire pathname exceeds 1023
  1003. characters.
  1004. 5) truncate(2) returns -1 and sets errno to ENOENT if the named file
  1005. does not exist.
  1006. ftruncate01
  1007. Verify that, ftruncate(2) succeeds to truncate a file to a specified
  1008. length if the file indicated by file descriptor opened for writing.
  1009. ftruncate02
  1010. Verify that, ftruncate(2) succeeds to truncate a file to a certain length,
  1011. but the attempt to read past the truncated length will fail.
  1012. ftruncate03
  1013. Verify that,
  1014. 1) ftruncate(2) returns -1 and sets errno to EINVAL if the specified
  1015. truncate length is less than 0.
  1016. 2) ftruncate(2) returns -1 and sets errno to EBADF if the file descriptor
  1017. of the specified file is not valid.
  1018. vhangup01
  1019. Check the return value, and errno of vhangup(2)
  1020. when a non-root user calls vhangup().
  1021. vhangup02
  1022. To test the basic functionality of vhangup(2)
  1023. growfiles
  1024. This program will grow a list of files.
  1025. Each file will grow by grow_incr before the same
  1026. file grows twice. Each file is open and closed before next file is opened.
  1027. pipe01
  1028. Testcase to check the basic functionality of the pipe(2) syscall:
  1029. Check that both ends of the pipe (both file descriptors) are
  1030. available to a process opening the pipe.
  1031. pipe05
  1032. Check what happens when pipe is passed a bad file descriptor.
  1033. pipe06
  1034. Check what happens when the system runs out of pipes.
  1035. pipe08
  1036. Check that a SIGPIPE signal is generated when a write is
  1037. attempted on an empty pipe.
  1038. pipe09
  1039. Check that two processes can use the same pipe at the same time.
  1040. pipe10
  1041. Check that parent can open a pipe and have a child read from it
  1042. pipe11
  1043. Check if many children can read what is written to a pipe by the
  1044. parent.
  1045. pipeio
  1046. This tool can be used to beat on system or named pipes.
  1047. See the help() function below for user information.
  1048. /ipc_stress/message_queue_test_01.c
  1049. /ipc_stress/pipe_test_01.c
  1050. /ipc_stress/semaphore_test_01.c
  1051. /ipc_stress/single_test_01.c
  1052. proc01
  1053. Recursively reads all files within /proc filesystem.
  1054. lftest
  1055. The purpose of this test is to verify the file size limitations of a filesystem.
  1056. It writes one buffer at a time and lseeks from the beginning of the file to the
  1057. end of the last write position. The intent is to test lseek64.
  1058. llseek01
  1059. Verify that, llseek() call succeeds to set the file pointer position
  1060. to an offset larger than file size. Also, verify that any attempt
  1061. to write to this location fails.
  1062. llseek02
  1063. Verify that,
  1064. 1. llseek() returns -1 and sets errno to EINVAL, if the 'Whence' argument
  1065. is not a proper value.
  1066. 2. llseek() returns -1 and sets errno to EBADF, if the file handle of
  1067. the specified file is not valid.
  1068. lseek01
  1069. Basic test for lseek(2)
  1070. lseek02
  1071. Negative test for lseek(2)
  1072. lseek03
  1073. Negative test for lseek(2) whence
  1074. lseek04
  1075. Negative test for lseek(2) of a fifo
  1076. lseek05
  1077. Negative test for lseek(2) of a pipe
  1078. lseek06
  1079. Verify that, lseek() call succeeds to set the file pointer position
  1080. to less than or equal to the file size, when a file is opened for
  1081. read or write.
  1082. lseek07
  1083. Verify that, lseek() call succeeds to set the file pointer position
  1084. to more than the file size, when a file is opened for reading/writing.
  1085. lseek08
  1086. Verify that, lseek() call succeeds to set the file pointer position
  1087. to the end of the file when 'whence' value set to SEEK_END and any
  1088. attempts to read from that position should fail.
  1089. lseek09
  1090. Verify that, lseek() call succeeds to set the file pointer position
  1091. to the current specified location, when 'whence' value is set to
  1092. SEEK_CUR and the data read from the specified location should match
  1093. the expected data.
  1094. lseek10
  1095. Verify that,
  1096. 1. lseek() returns -1 and sets errno to ESPIPE, if the file handle of
  1097. the specified file is associated with a pipe, socket, or FIFO.
  1098. 2. lseek() returns -1 and sets errno to EINVAL, if the 'Whence' argument
  1099. is not a proper value.
  1100. 3. lseek() returns -1 and sets errno to EBADF, if the file handle of
  1101. the specified file is not valid.
  1102. rwtest
  1103. A wrapper for doio and iogen.
  1104. doio
  1105. a general purpose io initiator with system call and
  1106. write logging. See doio.h for the structure which defines
  1107. what doio requests should look like.
  1108. Currently doio can handle read,write,reada,writea,ssread,
  1109. sswrite, and many varieties of listio requests.
  1110. For disk io, if the O_SSD flag is set doio will allocate
  1111. the appropriate amount of ssd and do the transfer - thus, doio
  1112. can handle all of the primitive types of file io.
  1113. iogen
  1114. A tool for generating file/sds io for a doio process
  1115. pread01
  1116. Verify the functionality of pread() by writing known data using pwrite()
  1117. to the file at various specified offsets and later read from the file from
  1118. various specified offsets, comparing the data read against the data
  1119. written.
  1120. pread02
  1121. Verify that,
  1122. 1) pread() fails when attempted to read from an unnamed pipe.
  1123. 2) pread() fails if the specified offset position was invalid.
  1124. pwrite01
  1125. Verify the functionality of pwrite() by writing known data using pwrite()
  1126. to the file at various specified offsets and later read from the file from
  1127. various specified offsets, comparing the data written against the data
  1128. read using read().
  1129. pwrite02
  1130. Verify that,
  1131. 1) pwrite() fails when attempted to write to an unnamed pipe.
  1132. 2) pwrite() fails if the specified offset position was invalid.
  1133. read01
  1134. Basic test for the read(2) system call
  1135. read02
  1136. test 1: Does read return -1 if file descriptor is not valid, check for EBADF
  1137. test 2: Check if read sets EISDIR, if the fd refers to a directory
  1138. test 3: Check if read sets EFAULT, if buf is -1.
  1139. read03
  1140. Testcase to check that read() sets errno to EAGAIN
  1141. read04
  1142. Testcase to check if read returns the number of bytes read correctly.
  1143. readv01
  1144. Testcase to check the basic functionality of the readv(2) system call.
  1145. readv02
  1146. Testcase to check the error conditions of the readv(2) system call.
  1147. write01
  1148. Basic test for write(2) system call.
  1149. write02
  1150. Basic functionality test: does the return from write match the count
  1151. of the number of bytes written.
  1152. write03
  1153. Testcase to check that write(2) doesn't corrupt a file when it fails
  1154. write04
  1155. Testcase to check that write() sets errno to EAGAIN
  1156. write05
  1157. Check the return value, and errnos of write(2)
  1158. - when the file descriptor is invalid - EBADF
  1159. - when the buf parameter is invalid - EFAULT
  1160. - on an attempt to write to a pipe that is not open for reading - EPIPE
  1161. writev01
  1162. Testcase to check the basic functionality of writev(2) system call.
  1163. writev02
  1164. In these testcases, writev() is called with partially valid data
  1165. to be written in a sparse file.
  1166. writev03
  1167. The testcases are written calling writev() with partially valid data
  1168. to overwrite the contents, to write in the beginning and to write in
  1169. the end of the file.
  1170. writev04
  1171. The testcases are written calling writev() with partially valid data
  1172. to overwrite the contents, to write in the beginning and to write in
  1173. the end of the file. This is same as writev03, but the length of
  1174. buffer used here is 8192 bytes.
  1175. writev05
  1176. These testcases are written to test writev() on sparse files. This
  1177. is same as writev02. But the initial write() with valid data is
  1178. done at the beginning of the file.
  1179. disktest
  1180. Does repeated accesses to a filespec and optionally writes to, reads from,
  1181. and verifies the data. By default, disktest makes assumptions about
  1182. the running environment which allows for a quick start of IO generation.
  1183. However, Disktest has a large number of command line options which can
  1184. be used to adapt the test for a variety of uses including data integrity,
  1185. medium integrity, performance, and simple application simulation.
  1186. getdents01
  1187. get a directory entry
  1188. getdents02
  1189. check that we get a failure with a bad file descriptor
  1190. getdents03
  1191. check for an EINVAL error
  1192. getdents04
  1193. check for an ENOTDIR error
  1194. getdents05
  1195. check that we get a failure with a bad dirp address.
  1196. process_stress
  1197. Spawn creates a tree
  1198. of processes with Dval depth and Bval breadth. Each parent will spawn
  1199. Bval children. Each child will store information about themselves
  1200. in shared memory. The leaf nodes will communicate the existence
  1201. of one another through message queues, once each leaf node has
  1202. received communication from all of her siblings she will reduce
  1203. the semaphore count and exit. Meanwhile all parents are waiting
  1204. to hear from their children through the use of semaphores. When
  1205. the semaphore count reaches zero then the parent knows all the
  1206. children have talked to one another. Locking of the connter semaphore
  1207. is provided by the use of another (binary) semaphore.
  1208. sched_stress
  1209. Exports required environment variables and runs sched_driver
  1210. sched_driver
  1211. This program uses system calls to change the
  1212. priorities of the throughput measurement testcases.
  1213. When real-time is in effect, priorities 50 through 64
  1214. are used. (MAX_PRI and MIN_PRI) When user-time
  1215. (normal) is in effect, 0-14 (corresponding to nice()
  1216. calls) is used. The driver only keeps track of
  1217. values from 50 to 64, and the testcases will scale
  1218. them down to 0 to 14 when needed, to change the
  1219. priority of a user-time process.
  1220. time-schedule
  1221. This programme will determine the context switch
  1222. (scheduling) overhead on a system. It takes into
  1223. account SMP machines. True context switches are
  1224. measured.
  1225. trace_sched
  1226. This utility spawns N tasks, each task sets its priority
  1227. by making a system call to the scheduler. The thread
  1228. function reads the priority that the scheduler sets for
  1229. this task and also reads from /proc the processor this
  1230. task last executed on the information that is gathered
  1231. by the thread function may be in real-time. Its only an
  1232. approximation.
  1233. sched_getscheduler01
  1234. Testcase to check sched_getscheduler() returns correct return value
  1235. sched_getscheduler02
  1236. To check for the errno ESRCH
  1237. sched_setscheduler01
  1238. Testcase to test whether sched_setscheduler(2) sets the errnos
  1239. correctly.
  1240. sched_setscheduler02
  1241. Testcase to test whether sched_setscheduler(2) sets the errnos
  1242. correctly.
  1243. sched_yield01
  1244. Testcase to check that sched_yield returns correct values.
  1245. nice01
  1246. Verify that root can provide a negative value to nice()
  1247. and hence root can decrease the nice value of the process
  1248. using nice() system call
  1249. nice02
  1250. Verify that any user can successfully increase the nice value of
  1251. the process by passing a higher increment value (> max. applicable limits)
  1252. to nice() system call.
  1253. nice03
  1254. Verify that any user can successfully increase the nice value of
  1255. the process by passing an increment value (< max. applicable limits) to
  1256. nice() system call.
  1257. nice04
  1258. Verify that, nice(2) fails when, a non-root user attempts to increase
  1259. the priority of a process by specifying a negative increment value.
  1260. nice05
  1261. Basic test for nice(2)
  1262. poll01
  1263. Verify that valid open file descriptor must be provided to poll() to
  1264. succeed.
  1265. select01
  1266. Basic test for the select(2) system call to a fd of regular file with no I/O
  1267. and small timeout
  1268. select02
  1269. Basic test for the select(2) system call to fd of system pipe with no I/O
  1270. and small timeout
  1271. select03
  1272. Basic test for the select(2) system call to fd of a named-pipe (FIFO)
  1273. select04
  1274. Verify that select(2) returns immediately (does not block) if the
  1275. timeout value is zero.
  1276. select05
  1277. Verify that select(2) fails when one or more of the file descriptor sets
  1278. specify a file descriptor which is not valid.
  1279. select06
  1280. Verify that select(2) fails when a signal is delivered before any of the
  1281. selected events occur and before the timeout interval expires.
  1282. select07
  1283. Verify that select(2) fails when an invalid timeout interval is specified.
  1284. select08
  1285. Verify the functionality of select(2) by passing non-null writefds
  1286. which points to a regular file, pipes or FIFO's.
  1287. select09
  1288. Verify the functionality of select(2) by passing non-null readfds
  1289. which points to a regular file, pipes or FIFO's.
  1290. select10
  1291. Verify that a successful call to select() shall return the desired
  1292. number of modified descriptors for which bits are set in the bit masks,
  1293. where descriptors points to a regular file, pipes or FIFO's.
  1294. sem01
  1295. Creates a semaphore and two processes. The processes
  1296. each go through a loop where they semdown, delay for a
  1297. random amount of time, and semup, so they will almost
  1298. always be fighting for control of the semaphore.
  1299. sem02
  1300. The application creates several threads using pthread_create().
  1301. One thread performs a semop() with the SEM_UNDO flag set. The
  1302. change in semaphore value performed by that semop should be
  1303. "undone" only when the last pthread exits.
  1304. semctl01
  1305. test the 10 possible semctl() commands
  1306. semctl02
  1307. test for EACCES error
  1308. semctl03
  1309. test for EINVAL and EFAULT errors
  1310. semctl04
  1311. test for EPERM error
  1312. semctl05
  1313. test for ERANGE error
  1314. semget01
  1315. test that semget() correctly creates a semaphore set
  1316. semget02
  1317. test for EACCES and EEXIST errors
  1318. semget03
  1319. test for ENOENT error
  1320. semget05
  1321. test for ENOSPC error
  1322. semget06
  1323. test for EINVAL error
  1324. semop01
  1325. test that semop() basic functionality is correct
  1326. semop02
  1327. test for E2BIG, EACCES, EFAULT and EINVAL errors
  1328. semop03
  1329. test for EFBIG error
  1330. semop04
  1331. test for EAGAIN error
  1332. semop05
  1333. test for EINTR and EIDRM errors
  1334. shmat01
  1335. test that shmat() works correctly
  1336. shmat02
  1337. check for EINVAL and EACCES errors
  1338. shmat03
  1339. test for EACCES error
  1340. shmctl01
  1341. test the IPC_STAT, IPC_SET and IPC_RMID commands as
  1342. they are used with shmctl()
  1343. shmctl02
  1344. check for EACCES, EFAULT and EINVAL errors
  1345. shmctl03
  1346. check for EACCES, and EPERM errors
  1347. shmdt01
  1348. check that shared memory is detached correctly
  1349. shmdt02
  1350. check for EINVAL error
  1351. shmget01
  1352. test that shmget() correctly creates a shared memory segment
  1353. shmget02
  1354. check for ENOENT, EEXIST and EINVAL errors
  1355. shmget03
  1356. test for ENOSPC error
  1357. shmget04
  1358. test for EACCES error
  1359. shmget05
  1360. test for EACCES error
  1361. shmat1
  1362. Test the LINUX memory manager. The program is aimed at
  1363. stressing the memory manager by repeated shmat/write/read/
  1364. shmatd of file/memory of random size (maximum 1000 * 4096)
  1365. done by multiple processes.
  1366. shm_test
  1367. This program is designed to stress the Memory management sub -
  1368. system of Linux. This program will spawn multiple pairs of
  1369. reader and writer threads. One thread will create the shared
  1370. segment of random size and write to this memory, the other
  1371. pair will read from this memory.
  1372. sigaction01
  1373. Test some features of sigaction (see below for more details)
  1374. sigaction02
  1375. Testcase to check the basic errnos set by the sigaction(2) syscall.
  1376. sigaltstack01
  1377. Send a signal using the main stack. While executing the signal handler
  1378. compare a variable's address lying on the main stack with the stack
  1379. boundaries returned by sigaltstack().
  1380. sigaltstack02
  1381. Verify that,
  1382. 1. sigaltstack() fails and sets errno to EINVAL when "ss_flags" field
  1383. pointed to by 'ss' contains invalid flags.
  1384. 2. sigaltstack() fails and sets errno to ENOMEM when the size of alternate
  1385. stack area is less than MINSIGSTKSZ.
  1386. sighold02
  1387. Basic test for the sighold02(2) system call.
  1388. signal01
  1389. set the signal handler to our own function
  1390. signal02
  1391. Test that we get an error using illegal signals
  1392. signal03
  1393. Boundary value and other invalid value checking of signal setup and signal
  1394. sending.
  1395. signal04
  1396. restore signals to default behavior
  1397. signal05
  1398. set signals to be ignored
  1399. sigprocmask01
  1400. Verify that sigprocmask() succeeds to examine and change the calling
  1401. process's signal mask.
  1402. Also, verify that sigpending() succeeds to store signal mask that are
  1403. blocked from delivery and pending for the calling process.
  1404. sigrelse01
  1405. Basic test for the sigrelse(2) system call.
  1406. sigsuspend01
  1407. Verify that sigsuspend() succeeds to change process's current signal
  1408. mask with the specified signal mask and suspends the process execution
  1409. until the delivery of a signal.
  1410. kill01
  1411. Test case to check the basic functionality of kill().
  1412. kill02
  1413. Sending a signal to processes with the same process group ID
  1414. kill03
  1415. Test case to check that kill fails when given an invalid signal.
  1416. kill04
  1417. Test case to check that kill() fails when passed a non-existent pid.
  1418. kill05
  1419. Test case to check that kill() fails when passed a pid owned by another
  1420. user.
  1421. kill06
  1422. Test case to check the basic functionality of kill() when killing an
  1423. entire process group with a negative pid.
  1424. kill07
  1425. Test case to check that SIGKILL can not be caught.
  1426. kill08
  1427. Test case to check the basic functionality of kill() when kill an
  1428. entire process group.
  1429. kill09
  1430. Basic test for kill(2)
  1431. kill10
  1432. Signal flooding test.
  1433. mtest01
  1434. mallocs memory <chunksize> at a time until malloc fails.
  1435. mallocstress
  1436. This program is designed to stress the VMM by doing repeated */
  1437. mallocs and frees, with out using the swap space. This is */
  1438. achieved by spawning N threads with repeatedly malloc and free*/
  1439. a memory of size M. The stress can be increased by increasing */
  1440. the number of repetitions over the default number using the */
  1441. -l [num] option.
  1442. clisrv
  1443. Sender: Read contents of data file. Write each line to socket, then
  1444. read line back from socket and write to standard output.
  1445. Receiver: Read a stream socket one line at a time and write each line
  1446. back to the sender.
  1447. Usage: pthcli [port number]
  1448. socket01
  1449. Verify that socket() returns the proper errno for various failure cases
  1450. socketpair01
  1451. Verify that socketpair() returns the proper errno for various failure cases
  1452. sockioctl01
  1453. Verify that ioctl() on sockets returns the proper errno for various
  1454. failure cases
  1455. connect01
  1456. Verify that connect() returns the proper errno for various failure cases
  1457. getpeername01
  1458. Verify that getpeername() returns the proper errno for various failure cases
  1459. getsockname01
  1460. Verify that getsockname() returns the proper errno for various failure cases
  1461. getsockopt01
  1462. Verify that getsockopt() returns the proper errno for various failure cases
  1463. listen01
  1464. Verify that listen() returns the proper errno for various failure cases
  1465. accept01
  1466. Verify that accept() returns the proper errno for various failure cases
  1467. bind01
  1468. Verify that bind() returns the proper errno for various failure cases
  1469. recv01
  1470. Verify that recv() returns the proper errno for various failure cases
  1471. recvfrom01
  1472. Verify that recvfrom() returns the proper errno for various failure cases
  1473. recvmsg01
  1474. Verify that recvmsg() returns the proper errno for various failure cases
  1475. send01
  1476. Verify that send() returns the proper errno for various failure cases
  1477. sendmsg01
  1478. Verify that sendmsg() returns the proper errno for various failure cases
  1479. sendto01
  1480. Verify that sendto() returns the proper errno for various failure cases
  1481. setsockopt01
  1482. Verify that setsockopt() returns the proper errno for various failure cases
  1483. fstat01
  1484. Basic test for fstat(2)
  1485. fstat02
  1486. Verify that, fstat(2) succeeds to get the status of a file and fills
  1487. the stat structure elements though file pointed to by file descriptor
  1488. not opened for reading.
  1489. fstat03
  1490. Verify that, fstat(2) returns -1 and sets errno to EBADF if the file
  1491. pointed to by file descriptor is not valid.
  1492. fstat04
  1493. Verify that, fstat(2) succeeds to get the status of a file pointed by
  1494. file descriptor and fills the stat structure elements.
  1495. fstatfs01
  1496. Basic test for fstatfs(2)
  1497. fstatfs02
  1498. Testcase to check fstatfs() sets errno correctly.
  1499. lstat01
  1500. Verify that, lstat(2) succeeds to get the status of a file pointed to by
  1501. symlink and fills the stat structure elements.
  1502. lstat02
  1503. Basic test for lstat(2)
  1504. lstat03
  1505. Verify that,
  1506. 1) lstat(2) returns -1 and sets errno to EACCES if search permission is
  1507. denied on a component of the path prefix.
  1508. 2) lstat(2) returns -1 and sets errno to ENOENT if the specified file
  1509. does not exists or empty string.
  1510. 3) lstat(2) returns -1 and sets errno to EFAULT if pathname points
  1511. outside user's accessible address space.
  1512. 4) lstat(2) returns -1 and sets errno to ENAMETOOLONG if the pathname
  1513. component is too long.
  1514. 5) lstat(2) returns -1 and sets errno to ENOTDIR if the directory
  1515. component in pathname is not a directory.
  1516. stat01
  1517. Verify that, stat(2) succeeds to get the status of a file and fills the
  1518. stat structure elements.
  1519. stat02
  1520. Verify that, stat(2) succeeds to get the status of a file and fills the
  1521. stat structure elements though process doesn't have read access to the
  1522. file.
  1523. stat03
  1524. Verify that,
  1525. 1) stat(2) returns -1 and sets errno to EACCES if search permission is
  1526. denied on a component of the path prefix.
  1527. 2) stat(2) returns -1 and sets errno to ENOENT if the specified file
  1528. does not exists or empty string.
  1529. 3) stat(2) returns -1 and sets errno to EFAULT if pathname points
  1530. outside user's accessible address space.
  1531. 4) stat(2) returns -1 and sets errno to ENAMETOOLONG if the pathname
  1532. component is too long.
  1533. 5) stat(2) returns -1 and sets errno to ENOTDIR if the directory
  1534. component in pathname is not a directory.
  1535. stat05
  1536. Basic test for the stat05(2) system call.
  1537. statfs01
  1538. Basic test for the statfs(2) system call.
  1539. statfs02
  1540. Testcase to check that statfs(2) sets errno correctly.
  1541. read01
  1542. Basic test for the read(2) system call
  1543. read02
  1544. test 1: Does read return -1 if file descriptor is not valid, check for EBADF
  1545. test 2: Check if read sets EISDIR, if the fd refers to a directory
  1546. test 3: Check if read sets EFAULT, if buf is -1.
  1547. read03
  1548. Testcase to check that read() sets errno to EAGAIN
  1549. read04
  1550. Testcase to check if read returns the number of bytes read correctly.
  1551. umask01
  1552. Basic test for the umask(2) system call.
  1553. umask02
  1554. Check that umask changes the mask, and that the previous
  1555. value of the mask is returned correctly for each value.
  1556. umask03
  1557. Check that umask changes the mask, and that the previous
  1558. value of the mask is returned correctly for each value.
  1559. getgroups01
  1560. Getgroups system call critical test
  1561. getgroups02
  1562. Basic test for getgroups(2)
  1563. getgroups03
  1564. Verify that, getgroups() system call gets the supplementary group IDs
  1565. of the calling process.
  1566. getgroups04
  1567. Verify that,
  1568. getgroups() fails with -1 and sets errno to EINVAL if the size
  1569. argument value is -ve.
  1570. gethostname01
  1571. Basic test for gethostname(2)
  1572. getpgid01
  1573. Testcase to check the basic functionality of getpgid().
  1574. getpgid02
  1575. Testcase to check the basic functionality of getpgid().
  1576. getpgrp01
  1577. Basic test for getpgrp(2)
  1578. getpriority01
  1579. Verify that getpriority() succeeds get the scheduling priority of
  1580. the current process, process group or user.
  1581. getpriority02
  1582. Verify that,
  1583. 1) getpriority() sets errno to ESRCH if no process was located
  1584. was located for 'which' and 'who' arguments.
  1585. 2) getpriority() sets errno to EINVAL if 'which' argument was
  1586. not one of PRIO_PROCESS, PRIO_PGRP, or PRIO_USER.
  1587. getresgid01
  1588. Verify that getresgid() will be successful to get the real, effective
  1589. and saved user id of the calling process.
  1590. getresgid02
  1591. Verify that getresgid() will be successful to get the real, effective
  1592. and saved user ids after calling process invokes setregid() to change
  1593. the effective/saved gids to that of specified user.
  1594. getresgid03
  1595. Verify that getresgid() will be successful to get the real, effective
  1596. and saved user ids after calling process invokes setresgid() to change
  1597. the effective gid to that of specified user.
  1598. getresuid01
  1599. Verify that getresuid() will be successful to get the real, effective
  1600. and saved user id of the calling process.
  1601. getresuid02
  1602. Verify that getresuid() will be successful to get the real, effective
  1603. and saved user ids after calling process invokes setreuid() to change
  1604. the effective/saved uids to that of specified user.
  1605. getresuid03
  1606. Verify that getresuid() will be successful to get the real, effective
  1607. and saved user ids after calling process invokes setresuid() to change
  1608. the effective uid to that of specified user.
  1609. getsid01
  1610. call getsid() and make sure it succeeds
  1611. getsid02
  1612. call getsid() with an invalid PID to produce a failure
  1613. setfsgid01
  1614. Testcase to check the basic functionality of setfsgid(2) system
  1615. call.
  1616. setfsuid01
  1617. Testcase to test the basic functionality of the setfsuid(2) system
  1618. call.
  1619. setgid01
  1620. Basic test for the setgid(2) system call.
  1621. setgid02
  1622. Testcase to ensure that the setgid() system call sets errno to EPERM
  1623. setgroups01
  1624. Basic test for the setgroups(2) system call.
  1625. setgroups02
  1626. Verify that,
  1627. 1. setgroups() fails with -1 and sets errno to EINVAL if the size
  1628. argument value is > NGROUPS
  1629. 2. setgroups() fails with -1 and sets errno to EPERM if the
  1630. calling process is not super-user.
  1631. setgroups03
  1632. Verify that, only root process can invoke setgroups() system call to
  1633. set the supplementary group IDs of the process.
  1634. setpgid01
  1635. Basic test for setpgid(2) system call.
  1636. setpgid02
  1637. Testcase to check that setpgid() sets errno correctly.
  1638. setpgid03
  1639. Test to check the error and trivial conditions in setpgid system call
  1640. setpriority01
  1641. set the priority for the test process lower.
  1642. setpriority02
  1643. test for an expected failure by trying to raise
  1644. the priority for the test process while not having
  1645. permissions to do so.
  1646. setpriority03
  1647. test for an expected failure by using an invalid
  1648. PRIO value
  1649. setpriority04
  1650. setpriority04
  1651. test for an expected failure by using an invalid
  1652. process id
  1653. setpriority05
  1654. test for an expected failure by trying to change
  1655. a process with an ID that is different from the
  1656. test process
  1657. setregid01
  1658. Basic test for the setregid(2) system call.
  1659. setregid02
  1660. Test that setregid() fails and sets the proper errno values when a
  1661. non-root user attempts to change the real or effective group id to a
  1662. value other than the current gid or the current effective gid.
  1663. setregid03
  1664. Test setregid() when executed by a non-root user.
  1665. setregid04
  1666. Test setregid() when executed by root.
  1667. setresuid01
  1668. Test setresuid() when executed by root.
  1669. setresuid02
  1670. Test that a non-root user can change the real, effective and saved
  1671. uid values through the setresuid system call.
  1672. setresuid03
  1673. Test that the setresuid system call sets the proper errno
  1674. values when a non-root user attempts to change the real, effective or
  1675. saved uid to a value other than one of the current uid, the current
  1676. effective uid of the current saved uid. Also verify that setresuid
  1677. fails if an invalid uid value is given.
  1678. setreuid01
  1679. Basic test for the setreuid(2) system call.
  1680. setreuid02
  1681. Test setreuid() when executed by root.
  1682. setreuid03
  1683. Test setreuid() when executed by an unprivileged user.
  1684. setreuid04
  1685. Test that root can change the real and effective uid to an
  1686. unprivileged user.
  1687. setreuid05
  1688. Test the setreuid() feature, verifying the role of the saved-set-uid
  1689. and setreuid's effect on it.
  1690. setreuid06
  1691. Test that EINVAL is set when setreuid is given an invalid user id.
  1692. setrlimit01
  1693. Testcase to check the basic functionality of the setrlimit system call.
  1694. setrlimit02
  1695. Testcase to test the different errnos set by setrlimit(2) system call.
  1696. setrlimit03
  1697. Test for EPERM when the super-user tries to increase RLIMIT_NOFILE
  1698. beyond the system limit.
  1699. setsid01
  1700. Test to check the error and trivial conditions in setsid system call
  1701. setuid01
  1702. Basic test for the setuid(2) system call.
  1703. setuid02
  1704. Basic test for the setuid(2) system call as root.
  1705. setuid03
  1706. Test to check the error and trivial conditions in setuid
  1707. fs_perms
  1708. Regression test for Linux filesystem permissions.
  1709. uname01
  1710. Basic test for the uname(2) system call.
  1711. uname02
  1712. Call uname() with an invalid address to produce a failure
  1713. uname03
  1714. Call uname() and make sure it succeeds
  1715. sysctl01
  1716. Testcase for testing the basic functionality of sysctl(2) system call.
  1717. This testcase attempts to read the kernel parameters using
  1718. sysctl({CTL_KERN, KERN_ }, ...) and compares it with the known
  1719. values.
  1720. sysctl03
  1721. Testcase to check that sysctl(2) sets errno to EPERM correctly.
  1722. sysctl04
  1723. Testcase to check that sysctl(2) sets errno to ENOTDIR
  1724. sysctl05
  1725. Testcase to check that sysctl(2) sets errno to EFAULT
  1726. time01
  1727. Basic test for the time(2) system call.
  1728. time02
  1729. Verify that time(2) returns the value of time in seconds since
  1730. the Epoch and stores this value in the memory pointed to by the parameter.
  1731. times01
  1732. Basic test for the times(2) system call.
  1733. times02
  1734. Testcase to test that times() sets errno correctly
  1735. times03
  1736. Testcase to check the basic functionality of the times() system call.
  1737. utime01
  1738. Verify that the system call utime() successfully sets the modification
  1739. and access times of a file to the current time, if the times argument
  1740. is null, and the user ID of the process is "root".
  1741. utime02
  1742. Verify that the system call utime() successfully sets the modification
  1743. and access times of a file to the current time, under the following
  1744. constraints,
  1745. - The times argument is null.
  1746. - The user ID of the process is not "root".
  1747. - The file is owned by the user ID of the process.
  1748. utime03
  1749. Verify that the system call utime() successfully sets the modification
  1750. and access times of a file to the current time, under the following
  1751. constraints,
  1752. - The times argument is null.
  1753. - The user ID of the process is not "root".
  1754. - The file is not owned by the user ID of the process.
  1755. - The user ID of the process has write access to the file.
  1756. utime04
  1757. Verify that the system call utime() successfully sets the modification
  1758. and access times of a file to the time specified by times argument, if
  1759. the times argument is not null, and the user ID of the process is "root".
  1760. utime05
  1761. Verify that the system call utime() successfully sets the modification
  1762. and access times of a file to the value specified by the times argument
  1763. under the following constraints,
  1764. - The times argument is not null,
  1765. - The user ID of the process is not "root".
  1766. - The file is owned by the user ID of the process.
  1767. utime06
  1768. 1. Verify that the system call utime() fails to set the modification
  1769. and access times of a file to the current time, under the following
  1770. constraints,
  1771. - The times argument is null.
  1772. - The user ID of the process is not "root".
  1773. - The file is not owned by the user ID of the process.
  1774. - The user ID of the process does not have write access to the
  1775. file.
  1776. 2. Verify that the system call utime() fails to set the modification
  1777. and access times of a file if the specified file doesn't exist.
  1778. settimeofday01
  1779. Testcase to check the basic functionality of settimeofday().
  1780. settimeofday02
  1781. Testcase to check that settimeofday() sets errnos correctly.
  1782. stime01
  1783. Verify that the system call stime() successfully sets the system's idea
  1784. of data and time if invoked by "root" user.
  1785. stime02
  1786. Verify that the system call stime() fails to set the system's idea
  1787. of data and time if invoked by "non-root" user.
  1788. gettimeofday01
  1789. Testcase to check that gettimeofday(2) sets errno to EFAULT.
  1790. alarm01
  1791. Basic test for alarm(2).
  1792. alarm02
  1793. Boundary Value Test for alarm(2).
  1794. alarm03
  1795. Alarm(2) cleared by a fork.
  1796. alarm04
  1797. Check that when an alarm request is made, the signal SIGALRM is received
  1798. even after the process has done an exec().
  1799. alarm05
  1800. Check the functionality of the Alarm system call when the time input
  1801. parameter is non zero.
  1802. alarm06
  1803. Check the functionality of the Alarm system call when the time input
  1804. parameter is zero.
  1805. alarm07
  1806. Check the functionality of the alarm() when the time input
  1807. parameter is non-zero and the process does a fork.
  1808. getegid01
  1809. Basic test for getegid(2)
  1810. geteuid01
  1811. Basic test for geteuid(2)
  1812. getgid01
  1813. Basic test for getgid(2)
  1814. getgid02
  1815. Testcase to check the basic functionality of getgid().
  1816. getgid03
  1817. Testcase to check the basic functionality of getegid().
  1818. getpid01
  1819. Basic test for getpid(2)
  1820. getpid02
  1821. Verify that getpid() system call gets the process ID of the of the
  1822. calling process.
  1823. getppid01
  1824. Testcase to check the basic functionality of the getppid() syscall.
  1825. getuid01
  1826. Basic test for getuid(2)
  1827. getuid02
  1828. Testcase to check the basic functionality of the geteuid() system call.
  1829. getuid03
  1830. Testcase to check the basic functionality of the getuid() system call.
  1831. nanosleep01
  1832. Verify that nanosleep() will be successful to suspend the execution
  1833. of a process for a specified time.
  1834. nanosleep02
  1835. Verify that nanosleep() will be successful to suspend the execution
  1836. of a process, returns after the receipt of a signal and writes the
  1837. remaining sleep time into the structure.
  1838. nanosleep03
  1839. Verify that nanosleep() will fail to suspend the execution
  1840. of a process for a specified time if interrupted by a non-blocked signal.
  1841. nanosleep04
  1842. Verify that nanosleep() will fail to suspend the execution
  1843. of a process if the specified pause time is invalid.